전체 글

숨어 보는 IT

    [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(제어의 역전) 객체가 자신이 사용할 객체를 스스로 선택하지 않고, 스스로 생성하지 않는 것이다. 제어의 권한이 객체 자신에게 없고 프레임워크에 있는 것이다. 개발자는 프레임워크에 필요한 부분을 개발해 끼워 넣기 형태로 개발하고 실행하게 된다. 이처럼, 프레임워크 기반 애플리케이션은 코드가 프레임워크에 짜..

    [TIL] DAY 13 & 14

    오늘 할 일 과제 리뷰 수정 마무리 토스 코딩 테스트 객체지향, 함수형 인터페이스 복습 디자인 패턴 수정 실전 자바 책 읽기 TIL 작성 TIL 1. Procedure MySQL 서버에 저장되는 쿼리 함수처럼 인자를 넘겨서 사용이 가능하다. 반환값은 SELECT문의 결과이다. if문과 loop를 사용한 프로그래밍이 가능하다. 디버깅이 힘들고, 서버의 부하를 증가시킬 수도 있다. CREATE PROCEDURE name(parameter list) BEGIN select * from table; END 2. Trigger INSERT, DELETE, UPDATE 실행 전이나 후에 원하는 작업을 수행하도록 한다. 실행 시점을 지정해 해당 테이블에 위 작업이 진행되면 실행되도록 한다! create trigger..

    [TIL] DAY 12

    오늘 할 일 강의 듣기 강의 정리하기 SQL 고득점 KIT 다 풀고 PR 하기 과제 피드백 수정 TIL 작성하기 집 천장 수리하기..(기사분이 안 오셨다ㅠ) TIL 1. 트랜잭션 한 번의 작업으로 실행되어야 하는 SQL들을 묶어서 처리하는 방법으로 DDL이나 DML에서 사용된다. SELECT에서는 사용할 이유가 없다. Ex) 계좌이체 과정에서 인출이 성공했지만 입금이 실패한다면?! -> 한쪽은 굉장히 억울할 것이다... -> 이러한 과정은 한 번에 처리하도록 트랜잭션을 걸어야 한다! 2. autocommit (1) True : 트랜잭션 사용 가능 모든 레코드 작업이 바로 DB에 쓰인다. -> commit 한다 (2) False : 트랜잭션 사용 불가능 모든 레코드 작업이 commit이 호출될 때까지 호출..