데브 코스

    [TIL] DAY 24

    오늘 할 일 알고리즘 1문제 풀기 과제 계속 진행 김영한 님 강의 수강 TIL 작성 TIL 1. 웹 애플리케이션 계층 구조 컨트롤러 : 웹 MVC에서의 컨트롤러 역할을 담당한다. 서비스 : 핵심 비즈니스 로직을 구현한다. 리포지토리 : DB에 접근하고, 도메인 객체를 DB에 저장하고 관리한다. 도메인 : 비즈니스 도메인 객체(회원, 주문 등 주로 DB에 저장하고 관리된다.) 2. 정적 콘텐츠 vs MVC와 템플릿 엔진, API (1) 정적 컨텐츠 정적 파일 그대로 웹 브라우저에 나타나도록 전달하는 것이다. 파일이 동적이지 않다. 파일 이름을 그대로 주소에 사용하면 해당 파일 내용이 화면에 보인다. (2) MVC와 템플릿 엔진 템플릿 엔진을 Model, View, Controller로 나누고 View를 템..

    [TIL] DAY 23

    오늘 할 일 알고리즘 1문제 풀기 과제 계속 진행 SQL 레벨업 마무리 정리 실전 자바 SW 개발(다음 주로 밀렸다!) W4D2 강의 수강 및 정리 TIL 작성 TIL 1. JDBC 자바 어플리케이션이 RDMBS에 연결되도록 도와주는 역할을 한다. 과거에 Servlet/Jsp 프로젝트를 진행했을 때 JDBC.jar 파일을 직접 등록해서 사용했었는데 pom.xml에 몇 줄만 추가하니 사용이 가능하더라! JDBC의 진행 과정은 다음과 같다.JDBC의 진행 과정은 다음과 같다. * JDBC의 진행 과정은 다음과 같다. (1) DriverManager를 통해서 커넥션 객체를 받아온다. (2) Connection을 통해서 Statement를 가져온다. (3) Satement로 쿼리를 실행해 ResultSet을 가..

    [TIL] DAY 22

    오늘 할 일 알고리즘 1문제 풀기(2문제 풀었다!) 과제 스타트 W4D1 강의 수강 DB 정리 TIL 작성 TIL 1. Test Unit -> Service -> UI 순으로 테스트 빈도가 줄어들어야 한다. 단위 테스트, 통합 테스트 등 있다. (1) 단위(Unit) 테스트 : 백엔드 개발자가 가장 많이 작성하고, 애플리케이션에서 가장 작은 단위(클래스, 메소드)로 테스트한다. (2) 통합(Integration) 테스트 : 테스트하고자 하는 코드를 다른 의존관계와 연동이 잘 되는지 테스트하는데 사용된다. 2. JUnit 매 단위 테스트시마다 테스트 클래스의 인스턴스가 생성되어 독립적인 테스트가 가능하게 된다. 애노테이션을 제공해서 테스트 코드를 간결하게 작성하도록 지원해준다. JUnit4는 툴 개발자에게..

    [TIL] DAY 20 & 21

    주말 할 일 W3D1 ~ D5 총 정리 김영한 님 개념 강의 수강 SQL 레벨업 책 읽기 TIL 작성 TIL 1. Logger 프로그램 개발 중이나 완료 후 발생할 수 있는 오류를 모니터링하기 위해 사용하는 것이 Logging Log도 시스템에 영향을 미치기 때문에 의도에 맞는 Level을 결정해야 한다. (trace, debug, info, warn, error) 각 클래스에 해당하는 logger는 하나뿐이다. 2. Logback Java Logging Framework 중 하나 프레임워크 중 제일 많이 쓴다고 한다. JCL(Java Common Logging)을 사용해서 로그를 남기고 로깅 라이브러리(log4j)를 자주 사용한다고 한다. (1) appender : 어디에 어떻게 로그를 찍을 것인지 설..

    [TIL] DAY 19

    오늘 할 일 W3D4 & W3D5 수강 및 정리 W3D1 ~ D5 총 정리 (시간이 나면) 김영한 님 개념 강의 수강 (주말로!) TIL 작성 TIL 1. Environment 현재 작업하고 있는 애플리케이션의 환경들을 제어하고 이용할 수 있도록 도와주는 기능이다. 모든 applicationContext는 Environment를 가지고 있다. 2. Property .properties 파일이나 .yaml 파일로 만들어진다. key-value로 제공되는 property에 접근이 가능하다. default로 application.properties 파일이 적용된다. 해당 파일에 추가로 속성을 정의하면 스프링에게 읽으라고 property를 알려주어야 한다. @PropertySource("application.p..

    [TIL] DAY 18

    오늘 할 일 W3D3 강의 수강 및 정리 자바 스터디 준비 및 참여 W3D2 과제하기(주말에 할 듯하다..) TIL 작성하기 TIL 1. Circular Dependency A -> B를 참조하고, B -> A를 참조하는 상태이다. 이 상태에서 Bean을 정의할 때 Circular Dependency를 생성하면 Application Context가 생성되지 않는다. 이러한 관계가 성립되면 피하기 어렵기 때문에 상황 자체가 만들어지는 것을 주의해야 한다. 2. 컴포넌트 스캔 스프링이 직접 클래스를 검색해서 Bean을 등록하는 것이다. 해당 파일이 속한 패키지 기준으로 Bean으로 등록될 준비가 된 클래스들을 모두 스캔해 Bean으로 등록한다 3. Autowired 의존성 주입에서 사용되는 어노테이션으로, ..

    [TIL] DAY 17

    오늘 할 일 국취제 상담받기 집수리하기 강의 듣고 정리하기 과제 하기 SQL 레벨업 정리 후 스터디 참여하기 알고리즘 1문제 풀기 TIL 작성하기 TIL 1. Record 데이터를 보유하기 위한 목적으로 사용한다. 일종의 데이터 클래스로 Getter, Setter 대신에 사용 가능하다. 외부에서 접근 시 메소드가 아니라 필드명으로 접근이 가능하다. 2. 이중 중괄호 초기화 트릭 private static final Map map = new HashMap() {{ put(1, "first"); put(2, "second"); put(3, "third"); }}; 일단 사용하지 말자! 코드가 모호해진다. 불필요한 비용이 발생한다. 익명 클래스를 생성하기 때문에 컴파일러가 추가로 클래스 파일을 만들어 JVM에..

    [TIL] DAY 15 & 16

    오늘 할 일 강의 듣고 정리하기 과제 하기 실전 자바 정리, 발표 준비 알고리즘 1문제 풀기 TIL 작성하기 TIL 1. 의존성 어떤 객체가 협력하기 위해서 다른 객체가 필요할 때, 두 객체 사이에 의존성이 생기게 된다. 컴파일 타임 의존성 : 코드를 작성하는 시점에 발생하는 의존성이다. 클래스 사이의 의존성! 런타임 의존성 : 애플리케이션이 실행되는 시점의 의존성이다. 객체 사이의 의존성! 2. IoC(제어의 역전) 객체가 자신이 사용할 객체를 스스로 선택하지 않고, 스스로 생성하지 않는 것이다. 제어의 권한이 객체 자신에게 없고 프레임워크에 있는 것이다. 개발자는 프레임워크에 필요한 부분을 개발해 끼워 넣기 형태로 개발하고 실행하게 된다. 이처럼, 프레임워크 기반 애플리케이션은 코드가 프레임워크에 짜..