안녕하세요! NewCodes입니다!!
토요일에도 여전히 공부를 했습니다!
우연히 주말 활용법에 대해
더 잘 알게 된 날인 것 같습니다!
매번 주말을 어떻게 활용해야 할까
고민이 있었는데 그 갈증이 조금이나마 풀렸습니다!
To do list
- [x] 알고리즘
- [x] 백준 dp 1문제
- [x] 백준 그리디 1문제
- [x] 프로그래머스 카카오 레벨2 1문제
- [x] 백준 투 포인터 1문제
- [x] CS
- [x] 전공지식 노트 한 섹터 ‘네트워크의 기초’ 읽기 20분
- [x] 프로젝트
- [x] 김영한 스프링 입문 강의 한 섹션 정리하기 30분
- [x] 방향 설정
- [x] TIL 작성
오늘은 아침부터 공부한 게 아니라 11시부터 시작했습니다! 그리고 3시 40분에 마쳤습니다!
주말에는 아침부터 하는 게 아니라 충분히 자고 일어나서 공부하는 게 좋을 것 같다고 느낀 날입니다!
덕분에 짧은 시간 동안 집중도 있게 할 일을 처리했습니다!!
1️⃣ 알고리즘
1 - 1) 자바 문법
### [방금그곡]
- s.replaceAll("A#", "H"); (x)
- s = s.replaceAll("A#", "H");
- 할당해줘야해!! 원본을 변경하지 않아!
- "ASDF".indexOf("SD")
- 1
- 문자열에서도 indexOf 메서드 사용가능!
### [ATM]
- 배열 내림차순 정렬 -> Collections:
- Arrays.sort(times, Collections.reverseOrder()); // primitive 적용 불가능
- String to **Integer**:
- Integer.valueOf(st.nextToken()); // parseInt로는 안 됨!
1 - 2) 문제 풀이 태도
- 구현 에러 (시간 많이 잡아먹은)
- '#' 붙은 것 예외 처리를 정확하게 하지 못함.
- 내가 한 방식: indexOf 메서드 이용
- 문제점: 처음에 #붙고 나중에 #이 안 붙는 게 나온다면 대처하지 못함.
- 새로운 방식: 애초에 # 붙은 걸 다른 알파벳으로 대체
- 피드백: 예외 처리 방식 한 번 더 점검하자...!! 예외 처리는 정말 민감하게 해야 한다! 특히 순수 구현에서는!
2️⃣ CS
2 - 1) 네트워크의 기초
__2.1.1 처리량과 지연 시간
__2.1.2 네트워크 토폴로지와 병목 현상
__2.1.3 네트워크 분류
__2.1.4 네트워크 성능 분석 명령어
__2.1.5 네트워크 프로토콜 표준화
3️⃣ 프로젝트
섹션 3: 회원 관리 예제 - 백엔드 개발
<일반적인 웹 애플리케이션 계층 구조>
- 컨트롤러: 웹 MVC의 컨트롤러 역할 (클라이언트의 요청을 받아 서비스 계층을 호출하거나 데이터를 조회하여 클라이언트에게 응답보냄.)
- 서비스: 핵심 비즈니스 로직 구현
- 리포지토리: DB에 접근, 도메인 객체를 DB에 저장하고 관리
- 도메인: 비즈니스 도메인 객체(회원, 주문 쿠폰 등) 주로 DB에 저장하고 관리됨.
섹션 4: 스프링 빈과 의존관계
- 스프링 빈:
- 스프링 컨테이너가 생성, 관리 및 제공하는 객체
- 컨테이너가 스프링 빈 등록할 때 기본으로 싱글톤으로 등록함.
- 스프링 빈을 등록하는 2가지 방법
- 컴포넌트 스캔과 자동 의존관계 설정
- 주요 어노테이션: @Component, @Autowired
- 자바 코드로 직접 스프링 빈 등록
- 주요 어노테이션: @Configuration, @Bean
- 정형화되지 않거나, 상황에 따라 구현 클래스를 변경해야 하면 설정을 통해 스프링 빈 등록
- 실무에서는 주로 정형화된 컨트롤러, 서비스, 리포지토리 같은 코드는 컴포넌트 스캔 사용
- 컴포넌트 스캔과 자동 의존관계 설정
- 스프링은 어노테이션을 인식하고 동작 수행 (컴포넌트 스캔)
- @Controller, @Service, @Repository:
- 어노테이션이 있으면 스프링 컨테이너가 빈 등록해서 관리함.
- 위와 같은 애노테이션 안에 @Component라는 어노테이션 들어있음.
- application 내 패키지만 인식됨.
- @Autowired: 의존 관계 주입해주는 역할
- @Controller, @Service, @Repository:
- DI(Dependency Injection) 방법
- 필드 주입
- setter 주입
- 생성자 주입
- 의존관계가 실행중에 동적으로 변하는 경우 거의 없기에 생성자 주입 권장
https://same-treatment-dcb.notion.site/Spring-901929b9ffb64b1dab12fd70396dba9d?pvs=4
Spring 입문 강의 | Notion
김영한 스프링 입문 강의
same-treatment-dcb.notion.site
3일째 TIL을 작성해봤는데요!
처음에는 무턱대고 시작했지만,
진행하면서 점점 효율적인 방법이 무엇일까 고민했습니다.
이제는 TIL을 이렇게 하려고 합니다!
우선, TIL 글에서는 회고성의 글만을 기재하고자 합니다!
그리고 오늘 배운 내용에 대해서는
따로 각 카테고리에 등록하고자 합니다.
예를 들어 Spring에 관해 배운 내용은 TIL에 작성하는 게 아니라
Spring 카테고리에 글을 따로 업로드하고,
이를 학습하면서 회고할만한 것들을 TIL에 작성하겠습니다!!
그래야 배운 내용들이 파편화되는 걸 막을 수 있을 것 같습니다.
TIL에 배운 내용을 모조리 적어버리면 나중에 찾기가 힘들 것 같습니다.
이상입니다! 읽어주셔서 감사합니다!!
'회고 > TIL' 카테고리의 다른 글
[TIL] 네트워크가 머릿속에 조금씩 들어오기 시작하다! (0) | 2024.04.10 |
---|---|
[TIL] 마음 정돈을 다시 시작하다! (0) | 2024.04.09 |
[TIL] 컨디션이 안 좋아도 할 건 한다! (0) | 2024.04.08 |
[TIL] 깃허브 그라운드 룰을 만들다! (0) | 2024.04.05 |
[TIL] CS 스터디를 시작하다! (0) | 2024.04.04 |