일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Spring
- Java
- 백엔드개발자
- 내일배움캠프
- baekjoon
- 객체지향
- mysql
- 내일배움카드
- 디자인교육
- UXUIPrimary
- KDT
- 디자인강의
- 부트캠프
- 백엔드 부트캠프
- 오픈패스
- UXUI챌린지
- 백엔드
- Be
- 디자인챌린지
- 환급챌린지
- 국비지원
- 오블완
- 티스토리챌린지
- 국비지원교육
- 국비지원취업
- UXUI기초정복
- OPENPATH
- 백준
- 패스트캠퍼스
- 오픈챌린지
- Today
- Total
목록2025/01 (15)
군만두의 IT 공부 일지
목차 5.2 섹션인 선형 자료 구조 위주로 정리하려고 합니다. 자료 구조를 정확히 이해하면 좋다는 것을 알지만, 자주 헷갈리는 것 같습니다.5장 자료 구조5.1 복잡도5.1.1 시간 복잡도시간 복잡도: 입력 크기에 대해 어떠한 알고리즘이 실행되는 데 걸리는 시간빅오 표기법: 입력 범위 n을 기준으로 해서 로직이 몇 번이나 반복되는지 나타내는 것시간 복잡도는 효율적인 코드로 개선하는 데 쓰이는 척도가 됨.5.1.2 공간 복잡도공간 복잡도: 프로그램을 실행시켰을 때 필요로 하는 자원 공간의 양정적 변수로 선언된 것 외 동적으로 재귀적인 함수로 공간을 계속 필요로 하는 경우도 포함됨.5.1.3 자료 구조에서의 시간 복잡도시간 복잡도를 생각할 때 평균, 최악의 시간 복잡도를 고려해야 함.자료 구조접근탐색삽입삭..
목차 이 책의 2부에서는 저처럼 스프링에 대해서 배운지 얼마 안 된 개발자들이 놓치는 부분을 알려줍니다. 책을 공부하면서, '내가 지금까지 트랜잭션 스크립트 같은 안티패턴을 사용하고 있었구나'하고 반성하게 되는 것 같습니다. 각종 컴포넌트와 DTO 구현에 대한 것도 많이 배워가는 것 같습니다.6. 안티패턴6.1 스마트 UI스마트 UI(User Interface) 패턴: 시스템의 UI 레벨에서 너무 많은 업무를 처리하고 있는 경우스마트 UI는 데이터 입출력을 UI 레벨에서 처리함.스마트 UI는 비즈니스 로직도 UI 레벨에서 처리함.스마트 UI는 데이터베이스와 통신하는 코드도 UI 레벨에서 처리함.→ 백엔드 개발자도 백엔드 개발자의 UI(백엔드 API)를 신경써야 함.컨트롤러(Controller)는 API를..
목차 4.3 섹션인 트랜잭션 위주로 데이터베이스에 대해 정리합니다. 트랜잭션, 인덱스, 조인 모두 공부했던 내용이지만, 계속 복습이 필요한 것 같습니다. 실제 프로젝트에 적용할 때도 유익하니까요.4장 데이터베이스4.3 트랜잭션과 무결성4.3.1 트랜잭션트랜잭션: 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위. 여러 개의 쿼리들을 하나로 묶는 단위ACID: 원자성, 일관성, 독립성, 지속성원자성(atomicity): 트랜잭션과 관련된 일이 모두 수행되었거나 되지 않았거나를 보장하는 특징일관성(consistency): 허용된 방식으로만 데이터를 변경해야 하는 것격리성(isolation): 트랜잭션 수행 시 서로 끼어들지 못하는 것격리 수준은 SERIALIZABLE, REPEATABLE_R..
목차 4.2 섹션 위주로 데이터베이스에 대해 정리하려고 합니다. 데이터베이스 과목을 수강하면서 공부했었는데, 정규화 과정이 헷갈리는 것 같아요.4장 데이터베이스4.1 데이터베이스의 기본데이터베이스(DB: DataBase): 일정한 규칙, 규약을 통해 구조화되어 저장되는 데이터의 모음DBMS(DataBase Management System): 데이터베이스를 제어, 관리하는 통합 시스템데이터베이스 위에 DBMS가 있고, 그 위에 응용 프로그램이 있는 구조로 데이터를 주고 받음.4.1.1 엔터티엔티티(entity): 사람, 장소, 물건, 사건, 개념 등 여러 개의 속성을 지닌 명사예) 회원 - 엔티티 / 속성 - 이름, 아이디, 주소, 전화번호 등A가 혼자서는 존재하지 못하고 B의 존재 여부에 따라 종속적..
1. 뮤텍스(Mutex)와 세마포어(Semaphore)의 차이에 대해 설명해주세요. 뮤텍스와 세마포어 모두 동시성 제어를 위해 사용되지만 기본적인 차이가 있습니다. 뮤텍스는 단일 스레드가 리소스에 대한 접근을 독점적으로 제어할 수 있도록 하는 반면, 세마포어는 리소스에 대한 접근을 여러 스레드가 동시에 할 수 있도록 제한된 수의 키(토큰)를 통해 제어합니다. 즉, 뮤텍스는 '잠금(lock)'을 획득한 단 하나의 스레드만이 리소스를 사용할 수 있고, 세마포어는 설정된 숫자만큼의 스레드가 동시에 리소스를 사용할 수 있습니다. Q. 세마포어를 사용할 때 주의해야 할 점은 무엇인가요? 세마포어 사용시 가장 주의해야 할 점은 세마포어의 키를 정확히 관리하지 못하면 데드락이 발생할 수 있다는 것입니다..
목차 이번에는 3.4 섹션 위주로 운영체제에 대해 정리하겠습니다. 스케줄링 알고리즘은 공부를 계속 해도 어렵게 느껴지는 것 같습니다. 추가적으로 책 하나를 더 참고해서 공부를 진행했습니다.3장 운영체제3.2 메모리3.2.1 메모리 계층메모리 계층: 레지스터, 캐시, 메모리, 저장장치로 구성됨.메모리 계층은 경제성과 캐시 때문에 존재함.구분휘발성 여부속도기억 용량설명예시레지스터휘발성가장 빠름가장 적음CPU 내부에 위치하여 연산에 필요한 데이터를 가장 빠르게 제공함.-캐시휘발성빠름적음CPU와 주기억장치 사이의 데이터 전송 속도 차이를 줄이기 위해 사용됨.L1, L2, L3 캐시주기억장치휘발성보통보통시스템이 실행 중인 프로그램의 데이터와 명령어를 저장, 접근 속도가 캐시보다 느리지만 HDD보다 빠름.RAM보조..
1. 운영 체제(Operating System)에 대해 설명해주세요.운영 체제는 하드웨어 자원을 관리하고, 다양한 응용 프로그램과 사용자 간의 인터페이스 역할을 수행하는 시스템 소프트웨어입니다. 프로그램의 실행을 관리하고, 파일 시스템을 통해 데이터를 저장 및 접근하도록 하며, 입력 장치로부터 입력을 받고 출력 장치를 통해 결과를 전달합니다.Q. 현대 운영 체제에서 보안 기능은 어떻게 구현되나요?현대 운영 체제에서는 사용자 인증, 접근 제어 목록(ACL), 암호화, 샌드박싱과 같은 다양한 보안 기능을 제공합니다. 또한, 정기적인 보안 패치와 업데이트를 통해 시스템을 보호합니다.2. 커널(Kernel)이 무엇인지 설명해주세요.커널은 운영 체제의 핵심 부분으로, 하드웨어와 소프트웨어 리소스 관리, 메모리 관..