1. 코딩 테스트 입문
문자 반복 출력하기
String/ StringBuffer/ StringBuilder 공부
https://junior-datalist.tistory.com/232
배열 자르기
특정 문자 제거하기
배열의 유사도
문자열안에 문자열
2. 팀 프로젝트 발표 및 회고
스프링 시큐리티를 적용한 게시판 백엔드 서버 구현 및 실제 작동해보기
** API 명세를 작성할 때..
데이터의 타입이 중요하다.
Usecase, Sequence 다이어그램을 사용해보자
Sequence 다이어그램 : 사용자- 사용자 서버 - DB 등의 관계를 요청 순서를 볼 수 있는 다이어그램
백엔드 개발자는 ERD, Sequence 다이어그램을 많이 사용하므로 더 익숙해져야 한다.
3. CS 특강
메모리 : 프로그램과 데이터를 구분없이 저장
용량과 속도 부문에서 CPU 레지스터, L1, L2, L3 캐시, 메모리, 디스크의 각 역할이 나눠진다.
* 디스크는 메모리에 비해 I/O(입출력) 속도가 매우 느리므로 이 속도를 줄이는 것이 프로그램 성능 최적화에 도움이 된다
SRAM vs DRAM
SRAM : 캐시 ~ 트랜지스터 개수도 많다
DRAM : 메모리 ~ SRAM에 비교해서 느리지만 비트당 가격이 저렴하다.
프로세스 ~ 실행 중인 프로그램 : 실행하는 순간 메모리에 프로세스라는 형태가 된다
스택 : 함수 스코프의 데이터를 담는 곳 ~ 무한 호출의 예외가 발생할 수 있음
힙 : Js에서 변수와 객체를 저장하는 곳
데이터 : 전역 스코프에 해당되는 데이터를 담는 곳
텍스트 : 실행 코드 및 함수
메모리는 프로세서의 연산결과로 상태가 변할 수 있다.
가상 메모리 : 물리 메모리 용량보다 더 많은 용량을 사용하기 위해 디스크를 쓴다.
프로세스는 가상 주소로 메모리 영역을 관리
페이지 : 가상 메모리의 메모리 영역을 나눈 블록
프레임 : 물리 메모리의 메모리 영역을 나눈 블록
페이지는 물리 메모리 영역(프레임)에 저장이 된다. 다만 어디에 저장되는 지는 페이지 테이블이 그 정보를 갖고 있다.
사용하지 않는 페이지는 디스크로 간다. ~ 디스크는 쓰이지 않는 페이지를 위한 공간
그 쓰이지 않는 페이지가 다시 쓰일 경우
1. 특정 프로세스의 페이지가 페이지 테이블에 매핑규칙이 있는 지 확인
2. 매핑 규칙이 없다면, page fault. OS는 프로그램을 정지한 후 새로운 프레임을 확보하기 위한 알고리즘을 사용 : 대표적으로 LRU 알고리즘이 있다
LRU : 가장 오랫동안 사용되지 않은 페이지의 프레임 영역을 선택
3. 새로운 프레임 영역이 확보되면 그 프레임과 페이지가 매핑된다. page swap. 중단된 부분부터 재실행한다.
~ 잦은 page swap 시 발생하는 현상 : thrashing
4. 개인 과제 수행
https://tecoble.techcourse.co.kr/post/2021-04-25-dto-layer-scope/
비즈니스 로직을 다루는 서비스 클래스에서 Dto 타입 및 Dto를 반환하는 이유 공부
댓글 수정 메서드에 Dto로 반환하여 수정된 내용과 좋아요를 모두 반환하기
5. 독서
클린코드 - 깨끗한 코드
'내일배움캠프 4기 스프링 > 내배캠 TIL📘' 카테고리의 다른 글
01. 10 TIL (0) | 2023.01.10 |
---|---|
01. 09 코딩 테스트 입문/ SQL 강의/ 개인 과제 수행/ 자바 기초 수업 (0) | 2023.01.09 |
01. 05 코딩 테스트 입문/ 팀 프로젝트/ 개인 과제 수행/ 자바 기초 수업 (0) | 2023.01.06 |
01. 04 개인 과제 수행/ 팀 프로젝트/ 코딩 테스트 입문 (0) | 2023.01.04 |
01. 03 코딩 테스트 입문/ 팀 프로젝트/ 개인 과제 수행 (0) | 2023.01.03 |