How to become a real programmer/Back-End(18)
-
Kotlin + Ktor + React 프로젝트를 Java + Spring + React 프로젝트로(2 - MVC 패턴 먹이고 게시판 가져오자)
Spring Boot 기반의 프로젝트는 MVC 패턴을 따르면 코드의 구조화 및 유지보수성을 향상시킬 수 있다고 말을 하며 이전 포스팅을 마쳤다. 이번에도 해당 패턴을 적용할 것이다.아 근데 좀 말투가 너무 딱딱한가요? 아까 쓴 글을 보니 뭔가 너무 딱딱한 사람 같아서 뭐 네 그냥 존댓말로 하도록 하겠습니다. 각 패키지들이 MVC 패턴에서 무슨 역할을 하느냐를 간단히 짚어보겠습니다controllerController클라이언트의 HTTP 요청을 처리하고, 적절한 서비스 호출 및 응답 반환.entityModel (Entity)데이터베이스 테이블과 매핑되는 클래스 정의 (ORM 엔티티).modelModel (DTO/VO)데이터 전달 객체(Data Transfer Object) 또는 값 객체(Value Objec..
2025.01.13 -
Kotlin + Ktor + React 프로젝트를 Java + Spring + React 프로젝트로(1 - 구조)
동계 방학 중 현장실습을 하며 짬짬히 본인의 주식 포트폴리오를 구성하면, 보유한 주식들과 관련한 뉴스 정보들을 불러와주는 서비스를 간단하게 만들어봤다._(https://github.com/Mseunghwan/Ktor) 실습 기업에서 사용하던 Kotlin + Ktor 연습용으로 만든 프로젝트였는데, Java + Spring으로 그대로 카피한 프로젝트를 만들수 있을까? 하고 도전해보는 과정을 글로 작성한다. 여담으로, 주식 정보(이름, 가격, 시장 등)들을 가져오는 API는 처음엔 AlphaVantage를 활용하려 했으나 하루 호출량에 제한이 있어, FinanceDateReader(https://github.com/FinanceData/FinanceDataReader)를 활용했다. 제공해주신 개발자님께 ..
2025.01.12 -
Node.js, React 익히기 - 3
Bcrypt를 이용해 사용자정보 암호화하기 클라이언트로 부터 제공받은 정보들 중, 민감한 정보들은 암호화를 거쳐 데이터베이스에 저장되어야 한다. 보안 상 문제가 생길 때 사용자의 계정이 해킹당할 수 있다는 우려때문인데 이를 위해서 Node.js에서는 Bcrypt라는 모듈이 있다. npm install bcrypt --save 해주면 설치가 시작된다. 현재 register route를 확인해보면, app.post('/register', (req, res) => { // 회원 가입 시 필요한 정보들을 클라이언트에서 가져오면, 그것들을 DB에 넣어준다 // 그래서 유저 모델을 가져와야 const user = new User(req.body) user.save((err, userInfo) => { //저장시 에..
2022.11.15 -
Node.js, React 익히기 - 2
계속 이어서, Node.js(Server) - HTML(Client) 소통설정(회원가입 예) Node.js는 클라이언트 측의 정보를 BodyParser을 통해서 가져오는데, 그냥 쉽게 얘기하면 HTML에서 사용자가 볼수 있는 Body부분에 정보를 입력하면 그 정보가 서버에 요청되고, 이러한 Body의 정보를 Parsing 해주는 뭐 그런거라고 생각하면 될 것 같다. node.js의 모듈로, body내 파라미터를 편리하게 가져오는데 도움을 준다. 더 자세한 내용은 아래 블로거분의 글이 명료하니 좋은 것 같다. https://medium.com/@chullino/1%EB%B6%84-%ED%8C%A8%ED%82%A4%EC%A7%80-%EC%86%8C%EA%B0%9C-body-parser%EB%A5%BC-%EC..
2022.11.13 -
Node.js, React 익히기 - 1(시작)
Node.js는 자바스크립트를 서버사이드에서 사용할 수 있게 해주는 플랫폼으로서, 자바스크립트 런타임이다. 그리고 Node.js를 통한 어플리케이션을 도와주는 Express.js가 있다. React는 웹 어플리케이션 개발에 사용되는 프레임워크로, 프론트 엔드 사이드에서 사용된다. 우선 필자도 개발하고 싶은 서비스가 있기에, 이를 만들기 위해서는 리액트를 공부해야할 필요성이 있다고 생각했고 인프런 강의 중 Node.js와 React를 함께 다루는 강의가 있어 같이 공부해보려 한다. https://www.inflearn.com/course/%EB%94%B0%EB%9D%BC%ED%95%98%EB%A9%B0-%EB%B0%B0%EC%9A%B0%EB%8A%94-%EB%85%B8%EB%93%9C-%EB%A6%AC%E..
2022.11.13 -
Python - Django를 이용한 인스타그램 클론 - 8
이전 단계에서 프로필 사진 편집을 누르면 데이터베이스 내 유저의 프로필 이미지를 바꿔 탑재하는 것 까지 했으니, 하드코딩한 부분을 고쳐줘야 한다. 이전에 불러왔던 것과 같이 코드를 넣어주면 될 것 같다. 위와 같이 이미지 소스를 media폴더 내 user.profile_image가 가리키는 이름의 이미지를 적용시켜주면 잘 수정된 이미지가 나타난다. 또한 default_profile로 세팅된 부분의 적용을 위해서 default_profile이 될만한 이미지파일을 저장해 적용시켜주도록 한다. 그리고 main에서도 사용자 프로필 이미지를 하드코딩이 아닌 직접 불러와 적용시켜주었다. 또한 오른쪽 상단 홈 버튼을 누르거나 왼쪽 상단 인스타그램 이미지 버튼을 누르면 main으로 갈 수 있도록 a 태그로 감싸주었다...
2022.11.10