본문 바로가기

Backend7

CI/CD 란? 개발자들은 어떻게 하면 더 좋은 코드를 만들어낼 수 있을지에 대해서 고민한다. 그리고 개발하는 과정에서는 localhost를 이용해서 개발자만 서비스를 이용할 수 있다. 그러나 우리가 궁극적으로 하고 싶은 것은 사용자에게 우리가 만든 서비스를 결과물로 보여주는 것이다. 어떻게 하면 사용자에게 우리의 서비스를 제공할 수 있을까? 1. 컴파일 첫번째로 우리가 만든 코드를 컴파일 한다. 컴파일이란 우리가 만든 프로그래밍 언어를 기계가 이해할 수 있는 기계어로 번역하는 것이다. 우리가 서비스 제작을 위해서 사용한 java, c++과 같은 프로그래밍 언어는 기계가 이해할 수 없다. 이렇게 개발자의 편의를 위해 작성된 프로그래밍 언어를 컴파일러가 컴파일 해서 기계가 이해할 수 있는 기계어로 번역한다. 2. 빌드 다.. 2023. 7. 12.
JPA vs MyBatis 도입 프로젝트를 새롭게 시작하면서, 둘 중 어떠한 기술 스펙을 정하는 것이 더 효율적인가에 대해서 고민하게 되었다. JPA는 1년 전쯤 백엔드 프로젝트를 하면서 다뤄본 적이 있었고, MyBatis는 SSAFY 교육 과정에 포함되어 있어서 새롭게 배웠었다. 그러나 막상 정확하게 어떤 점이 다르고 어떤 점에서 이점이 있는지 설명하려고 하니 입이 턱 막혔다. 팀원들에게 해당 공유하고 제대로된 의사결정을 하기 위해서, 제대로 알아보고 내용을 정리하려고 한다. JPA, MyBatis 등장 배경 기존에 JDBC를 사용했을 때는 sql문이 코드에 섞여 있었고 만들어 요청하는 과정에서 sql문 생성시 String을 붙이고 자르는 등의 작업이 필요해서 sql문이 조금만 길어져도 번거롭고 관리도 힘들었다. 따라서 코드와 .. 2023. 7. 9.
[Spring] 회원 관리 예제 - 웹MVC 개발 이 게시글은 [인프런]스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 강의를 기반으로 작성되었으며 강의를 기억하기 위한 기록물입니다. 순수하게 복습하기 위한 용도로 작성되었음을 미리 밝힙니다. 회원 웹 기능 - 홈 화면 추가 • 컨트롤러가 정적파일보다 우선순위가 높아서 index.html이 존재해도 homeController가 먼저 실행됩니다. //src\main\java\eyijin\hellospring\controller\HomeController.java package eyijin.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.. 2022. 7. 2.
[Spring] 스프링 빈과 의존관계 이 게시글은 [인프런]스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 강의를 기반으로 작성되었으며 강의를 기억하기 위한 기록물입니다. 순수하게 복습하기 위한 용도로 작성되었음을 미리 밝힙니다. 컴포넌트 스캔과 자동 의존관계 설정 회원 컨트롤러가 회원 서비스와 회원 리포지토리를 사용할 수 있게 의존관계를 준비하자 정형화된 패턴 Controller: 외부 요청을 받음 Repository: 데이터 저장 Service: 비즈니스 로직 만들기 스프링 빈을 등록하는 2가지 방법 컴포넌트 스캔과 자동 의존관계 설정 자바 코드로 직접 스프링 빈 등록하기 ⇒ 2가지 방법 모두 알아야 한다! 컴포넌트 스캔의 원리 @Component 애노테이션이 있으면 스프링 빈으로 자동 등록된다. @Control.. 2022. 7. 1.
[Spring] 회원 관리 예제 - 백엔드 개발 이 게시글은 [인프런]스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 강의를 기반으로 작성되었으며 강의를 기억하기 위한 기록물입니다. 순수하게 복습하기 위한 용도로 작성되었음을 미리 밝힙니다. 회원 관리 예제 - 백엔드 개발 비즈니스 요구사항 정리 회원 도메인과 리포지토리 만들기 회원 리포지토리 테스트 케이스 작성 회원 서비스 개발 회원 서비스 테스트 비즈니스 요구사항 정리 학습을 위한 것이므로 단순한 비즈니스 요구사항을 전제로 한다. 데이터 : 회원ID, 이름 기능 : 회원 등록, 조회 데이터 저장소(DB)가 선정되지 않은 가상의 시나리오 일반적인 웹 애플리케이션 계층구조 컨트롤러 : 웹 MVC의 컨트롤러 역할 서비스 : 핵심 비즈니스 로직 구현 리포지토리 : 데이터베이스에 접.. 2022. 6. 26.
[Spring] 스프링 웹 개발 기초 이 게시글은 [인프런]스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 강의를 기반으로 작성되었으며 강의를 기억하기 위한 기록물입니다. 순수하게 복습하기 위한 용도로 작성되었음을 미리 밝힙니다. 정적 컨텐츠 MVC와 템플릿 엔진 API 정적 컨텐츠 URL로 접속하면 서버가 파일을 브라우저로 바로 내려주는 방식 예시 // src > main > resources > static > hello-static.html 정적 컨텐츠 입니다. http://localhost:8080/hello-static.html 접속해서 확인 원리 이미지 우선순위 1) hello-static 관련 컨트롤러 2) resources내부 파일 MVC와 템플릿 엔진 MVC: Model, View, Controlle.. 2022. 6. 25.