전체 글 144

스프링 부트와 AWS로 혼자 구현하는 웹 서비스 TIL - 2장 테스트 코드

✍학습 키워드 TDD와 단위 테스트 ( Unit Test )는 다른 이야기다. TDD는 테스트가 주도하는 개발 ⇒ 테스트 코드를 먼저 작성한다. 단위테스트는 TDD의 첫 번째 단계인 기능 단위의 테스트 코드를 작성하는 것이다. 테스트 코드를 작성하면 빠르게 피드백 해서 sout으로 찍어보거나 굳이 톰캣을 내렸다 올렸다 할 필요가 없다! 테스트 코드로 검증 후, 못믿겠으면 수동으로 검증하는 것이다. 일반적으로 테스트 클래스틑 대상 클래스 이름에 Test를 붙인다. 📝새로 배운 개념 @SpringBootApplication 이 어노테이션으로 스프링 부트의 자동 설정, 스프링 Bean 일긱와 생성을 모두 자동으로 생성해 준다. 여기서부터 설정을 읽어가기 때문에 항상 프로젝트의 최상단에 위치해야만 한다! 롬복 ..

4. 나는 장사의 신이다

유튜버 장사의 신 채널을 원래 알고 있었다. 여기 나온 고깃집도 집 근처라서 여러번 갔었다. 맛도 좋았다. 그냥 불현듯이 생각나서 빌려 읽어 보았는데, 결국 나도 언젠가는 인생 2막을 펼칠 수 있을거 같아서 노하우? 라던가 저자가 살아온 삶을 간접적으로 체험해보면서 역시 잘되는 사람은 이유가 있구나 라고 생각했다. 나도 열심히 백엔드 공부해야지

IntelliJ 단축키 - 꿀팁 정리

순수 자바 어플리케이션을 개발할 떄는 Maven 이나 Gradle으로 개발하는게 낫다. (어차피 필요하기 때문) GroupId : 스프링, 스프링부트등 그룹 ArtifactId : 그룹의 하위 모듈(스프링 시큐리티, 스프링 MVC) Ctrl + Shift + F10: 이 단축키는 현재 포커스가 위치한 클래스나 메소드를 실행합니다. Shift + F10: 이 단축키는 가장 최근에 실행했던 실행 구성(Run Configuration)을 다시 실행합니다. 따라서, 첫번째는 현재 포커스가 있는 위치의 실행 가능한 코드를 실행하는 것이며, 두번째는 가장 최근에 실행했던 코드를 다시 실행하는 것입니다. 이런 차이가 있다. 추가 단축키 생성 단축키 ⇒ Alt + Ins 라인 복제 ⇒ Ctrl + D Redo or D..

카테고리 없음 2023.10.24

스프링 부트 3로 백엔드 입문하기 TIL - 5장 : ORM (JPA)

✍학습 키워드 ORM이란? ORM(object-relational mapping)은 자바의 객체와 데이터베이스를 연결하는 프로그래밍 기법이다. 즉, 객체와 데이터베이스를 연결해 자바 언어로만 데이터베이스를 다룰 수 있게 하는 도구 ORM이 있다면 데이터베이스의 값을 마치 객체처럼 사용할 수 있다. 데이터베이스에 대한 종속성이 줄어드나, 복잡하고 무거운 쿼리는 ORM으로 해결하기 불가능한 경우가 있다. JPA와 하이버네이트 자바에서는 JPA를 ORM의 표준으로 사용한다. JPA는 자바에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스이다. 하이버네이트는 JPA 인터페이스를 구현한 구현체이자 자바용 ORM 프레임워크이다. 자바 객체를 통해 데이터베이스 종류에 상관없이 데이터베이스를 자유자재로 사용할..

스프링 부트 3로 백엔드 입문하기 TIL - 4장 : 스프링 부트 3와 테스트

✍학습 키워드 테스트 코드 개념 익히기 테스트 코드는 작성한 코드가 의도대로 잘 동작하고 예상치 못한 문제가 없는지 확인할 목적으로 작성하는 코드이다. test 디렉터리에서 작업한다 다양한 패턴이 존재하는데, given-when-then 패턴을 주로 사용한다 given-when-then 패턴은 테스트 코드를 세 단계로 구분해 작성하는 방식을 말한다. given은 테스트 실행을 준비하는 단계 when은 테스트를 진행하는 단계 then은 테스트 결과를 검증하는 단계 준비하는 과정, 저장하는 과정(테스트), 검증하는 과정 이여서 세단계로 나뉘는 것이다. @SpringBootTest 메인 애플리케이션 클래스에 추가하는 애너테이션인 @SpirngBootApplication이 있는 클래스를 찾고 그 클래스에 포함되..

스프링 부트 3로 백엔드 입문하기 TIL - 3장 : 스프링 부트 3 구조 이해하기

✍학습 키워드 스프링 부트 3 구조 살펴보기 스프링 부트에는 프레젠테이션, 비즈니스, 퍼시스턴스 계층이 있으며 이 계층들이 서로 통신하며 프로그램을 구성한다. (계층간에 서로 영향을 끼치지 못하되, 필요에 따라 소통한다) 프레젠테이션 계층은 HTTP 요청을 받고 비즈니스 계층으로 전송 비즈니스 계층은 모든 비즈니스 로직을 처리 퍼시스턴스 계층은 DB에 관련한 스토리지 관련 로직 처리 📝새로 배운 개념 프레젠테이션 계층 HTTP 요청을 받고 이 요청을 비즈니스 계층으로 전송하는 역할을 한다. 컨트롤러가 프레젠테이션 계층의 역할을 하며, 컨트롤러는 여러개가 있을 수 있다. 비즈니스 계층 모든 비즈니스 로직을 처리한다. 서비스가 비즈니스 계층의 역할을 한다. 비즈니스 로직이란 서비스를 만들기 위한 로직 웹 사..

스프링 부트 3로 백엔드 입문하기 TIL - 1~2장 : 스프링 부트 3 시작하기

✍학습 키워드 스프링부트 3.0 IoC? Inversion of Control, 제어의 역전으로, 다른 객체를 직접 생성하거나 제어하는 것이 아니라 외부에서 관리하는 객체를 가져와서 사용하는 것을 말한다. 실제로 스프링은 스프링 컨테이너가 객체를 관리, 제공한다 DI? 제어의 역전을 구현하기 위해 사용하는 방법이 DI이며, 의존성 주입(Dependency Injection) @Autowired 어노테이션은 스프링 컨테이너에 있는 빈이라는 것을 주입하는 역할을 한다. 그럼 빈이 몬데? 스프링 컨테이너는 스프링이 제공하는것, 빈을 생성하고 관리하는것, 빈의 생명주기를 관리하는것 대표적인게 @Autowired 같은 어노테이션 ⇒ 빈은 스프링 컨테이너가 생성하고 관리하는 객체, 빈을 등록하는 방법은 @Compo..

코딩 자율학습 스프링 부트 3 자바 백엔드 개발 입문 TIL - 1장 스프링 부트 시작하기 ~ 2장 MVC 패턴 이해와 실습

✍학습 키워드 스프링 부트 시작하기 스프링 부트는 자바 기반 웹 서비스를 더욱 쉽고 편리하게 만들기 위해 개발된 도구이다. 스프링 부트에는 자바 웹 프로그램을 만들기 위한 기능과 도구가 모여 있다. JDK는 자바 코드의 번역과 실행을 담당하는 자바 개발 도구 스프링 부트의 개발 환경은 JDK 설치하기 → IDE 설치하기 → 프로젝트 만들기 과정을 거쳐 설정한다. MVC의 역할과 실행 흐름 이해하기 서버는 결국 모델, 뷰, 컨트롤러가 유기적으로 역할을 분담해 클라이언트의 요청을 처리한다. 웹페이지를 화면에 보여주고(View), 클라이언트의 요청을 받아 처리하고(Controller), 데이터를 관리하는(Model) 역할을 영역별로 나누어 하는 기법! 컨트롤러가 클라이언트의 요청을 받고, 뷰가 최종 페이지를 ..

[백준] 1292 쉽게 푸는 문제 (Python)

1292번: 쉽게 푸는 문제 첫째 줄에 구간의 시작과 끝을 나타내는 정수 A, B(1 ≤ A ≤ B ≤ 1,000)가 주어진다. 즉, 수열에서 A번째 숫자부터 B번째 숫자까지 합을 구하면 된다. www.acmicpc.net 배열 기본문제 생각나는대로 풀다보니까 코드가 길어진 감이 있다. 문제의 요구사항에 맞게 주욱 늘려쓴 느낌이다. A, B = map(int, input().split()) su = list() cnt = 0 i = 1 total = 0 su.append(0) for idx in range(1001): su.append(i) cnt += 1 if cnt == i: cnt = 0 i += 1 for i in range(A, B + 1): total += su[i] print(total)

3. 하지않는 삶

유튜브에서 책 읽을때 듣기 좋은 음악 플리를 찾아서 들었는데, 영상에 있던 책이 이 책이었다. 표지라던가 책긁귀라던가 그런게 좋아서 사보았는데, 이럴수가 플리 올린 유튜버 본인이 쓴 책이었던 것이었던 것이었다. 홍보를 참 신박하게 잘 하신거 같다는 생각이 들었다. ㅎㅎ 아무튼, 책 내용은 무엇인가를 하기 위해선 하지말아야 할 것을 먼저 정해야하고, 뭐 인생에도 시적허용을 할 수 있는 시간을 주어야 한다는 이야기와, 자신의 일기를 보여주는듯한 에세이 같은 글이 주를이루었던것 같다. 요새 이런 책이 유행이었던것 같은데, 처음읽어본다. 내 취향과는 조금 거리가 있었지만, 새로운 방향의 책이었던거 같고, 글이 정갈해서 편하게 죽 읽었던것 같다. 커피한잔 홀짝이면서 가볍게 읽기에 좋았던 책인것 같다.