전체 글 446

[파이썬 알고리즘 인터뷰][연결리스트] 역순 연결 리스트

이 글은 "파이썬 알고리즘 인터뷰 (박상길 지음)"을 읽고 주관적으로 요약한 글입니다. 문제 정의 연결 리스트 뒤집기 책에서 구현된 코드 # 재귀 def reverseList(self, head: ListNode) -> ListNode: def reverse(node: ListNode, prev: ListNode = None): if not node: return prev next, node.next = node.next, prev return reverse(next, node) return reverse(head) # 반복 def reverseList(self, head: ListNode) -> ListNode: node, prev = head, None while node: next, node.nex..

책읽기 2021.07.23

[파이썬 알고리즘 인터뷰][연결리스트] 두 정렬 리스트의 병합

이 글은 "파이썬 알고리즘 인터뷰 (박상길 지음)"을 읽고 주관적으로 요약한 글입니다. 문제 정의 정렬된 두 연결 리스트를 오름차순으로 합치기 책에서 구현된 코드 def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode: if (not l1) or (l2 and l1.val > l2.val): l1, l2 = l2, l1 if l1: l1.next = self.mergeTwoLists(l1.next, l2) return l1 기억해야할 기법 병합 정렬 (17장에서 나온다고 함) 재귀를 이용 두 리스트의 포인터가 가리키는 값 중 더 작은 값을 선택 하나씩 소거한 후 재귀의 결과로 결과 연결 리스트가 만들어짐 내가 구현한 코드 None 또 low le..

책읽기 2021.07.22

[파이썬 알고리즘 인터뷰][연결리스트] 팰린드롬 연결 리스트

이 글은 "파이썬 알고리즘 인터뷰 (박상길 지음)"을 읽고 주관적으로 요약한 글입니다. 문제 정의 단일 연결 리스트의 팰린드롬 판별 책에서 구현된 코드 def isPalindrome(self, head: ListNode) -> bool: rev = None slow = fast = head while fast and fast.next: fast = fast.next.next # 단일 연결리스트 reverse rev, rev.next, slow = slow, rev, slow.next if fast: slow = slow.next while slow and slow.val == rev.val: slow, rev = slow.next, rev.next return not rev 기억해야할 기법 Runner ..

책읽기 2021.07.22

[쉽게 배우는 운영체제](요약)[Part-2][Ch-5] 프로세스 동기화

이 글은 "쉽게 배우는 운영체제 (조성호 지음)"을 읽고 주관적으로 작성된 글입니다. ※ 요약 프로세스 간 통신 개념 프로세스가 다른 프로세스와 데이터를 주고받는 것 데이터를 주고받는 방법 프로세스 내부 데이터 통신 프로세스 간 데이터 통신 네트워크를 이용한 데이터 통신 프로세스 간 통신의 분류 분류 방식 종류 예 통신 방향에 따른 분류 양방향 통신 일반적 통신, 소켓 반양방향 통신 무전기 단방향 통신 전역 변수, 파일, 파이프 통신 구현 방식에 따른 분류 동기화 통신 (대기가 있음) 파이프, 소켓 비동기화 통신 (대기가 없음) 전역 변수, 파일 프로세스 간 통신의 종류 전역 변수를 이용한 통신 - 공동으로 관리하는 메모리를 사용하여 데이터를 주고받는 것 파일을 이용한 통신 - 저장장치에 파일을 읽고 쓰..

책읽기 2021.07.22

[쉽게 배우는 운영체제](요약)[Part-2][Ch-4] CPU 스케줄링

이 글은 "쉽게 배우는 운영체제 (조성호 지음)"을 읽고 주관적으로 작성된 글입니다. ※ 요약 CPU 스케줄링 CPU 스케줄러가 프로세스가 생성된 후 종료될 때까지 모든 상태 변호를 조정하는 일 스케줄링의 단계 CPU 스케줄링의 규모에 따른 분류 고수준 스케줄링 - 시스템 내의 전체 프로세스 수를 조절 중간 수준 스케줄링 - 과부하를 막기 위해 활성화된 프로세스 수를 조절 저수준 스케줄링 - CPU에 할당하고 대기 상태로 보낼 프로세스를 결정 스케줄링 목적 공평성 - 모든 프로세스가 자원을 공평하게 나누고, 자원을 받지 못하는 프로세스가 없어야 함 효율성 - 자원의 유휴 시간을 없애고, 자원 사용을 원하는 프로세스에게 우선권을 줌 안정성 - 중요한 프로세스에 우선순위를 주고 자원을 점유/손상하려는 프로세..

책읽기 2021.07.22

[데이터 분석을 위한 SQL 레시피](작성중)[3장] 데이터 가공을 위한 SQL

이 글은 "데이터분석을 위한 SQL 레시피 (가사키 나가토, 다미야 나오토 지음)"을 읽고 주관적으로 작성된 글입니다. ※ 목차 하나의 값 조작 여러 개의 값 조작 하나의 테이블 조작 여러 개의 테이블 조작 1. 하나의 값 조작 데이터 가공이 필요한 이유 데이터가 분석 용도로 상정되지 않은 경우 업무 데이터는 코드값을 저장하고, 다른 테이블에 코드값의 의미를 관리하는 경우가 있음 - 리포트에서 코드*의 의미를 알 수 없음 (참고) 코드 - 속성에 사용되는 값을 간단하고 알기쉽게 나타낼 수 있도록 약속한 또 다른 값 - 데이터 일관성 / 데이터 구분 목적 + 저장공간 효율 접근 로그는 여러 정보가 하나의 문자열로 저장될 수 있음 연산을 위해 비교 가능 상태로 전처리 + 오류 회피 로그 데이터와 업무 데이터..

책읽기 2021.07.21

[쉽게 배우는 운영체제](요약)[Part-2][Ch-3] 프로세스와 스레드

이 글은 "쉽게 배우는 운영체제 (조성호 지음)"을 읽고 주관적으로 작성된 글입니다. ※ 요약 프로그램과 프로세스 프로그램 - 저장장치에 저장되어 있는 정적인 상태 프로세스 - 실행을 위해 메모리에 올라온 동적인 상태 프로세스의 상태 생성 상태 프로그램을 메모리에 가져온 실행 준비 상태 준비 상태 프로세스가 실행을 기다리는 상태 CPU 스케줄러가 프로세스 선택 실행 상태 프로세스가 타임 슬라이스를 얻어 CPU를 사용하는 상태 프로세스 사이의 문맥 교환이 일어남 대기 상태 실행 상태의 프로세스에서 입출력이 일어나 완료될 때까지 기다리는 상태 입출력 완료시 준비 상태로 변경 완료 상태 프로세스가 종료된 상태 사용 데이터 정리 정상 종료인 exit와 비정상 정료인 abort를 포함 프로세스 제어 블록 프로세스..

책읽기 2021.07.20

[스프링 인 액션][Part-1 스프링 기초][Ch-2] 웹 애플리케이션 개발하기

이 글은 "스프링 인 액션 제5판 (크레이그 윌즈 지음)"을 읽고 주관적으로 작성된 글입니다. ※ 배우는 내용 1) 모델 데이터를 브라우저에서 보여주기 2) 폼 입력 처리하고 검사하기 3) 뷰 템플릿 라이브러리 선택하기 ※ 요약 스프링 MVC란? 강력한 웹 프레임워크 스프링 애플리케이션의 웹 프론트엔드 개발에 사용 스프링 MVC 어노테이션 스프링 MVC는 어노테이션 기반 - @RequestMapping, @GetMapping, @PostMapping 등 - 어노테이션으로 요청 처리 메서드를 선언 요청 메서드의 뷰 이름 반환 대부분 요청 처리 메서드는 마지막에 Thymeleaf 템플릿과 같은 논리 뷰 이름을 반환 모델 데이터와 함께 해당 요청을 전달 유효성 검사 컴포넌트 지원 스프링 MVC는 유효성 검사 ..

책읽기 2021.07.20

[파이썬 알고리즘 인터뷰][배열] 주식을 사고팔기 가장 좋은 시점

이 글은 "파이썬 알고리즘 인터뷰 (박상길 지음)"을 읽고 주관적으로 요약한 글입니다. 문제 정의 한 번의 거래로 낼 수 있는 최대 이익을 산출하라 책에서 구현된 코드 def maxProfit(self, prices: list[int]) -> int: profit = 0 min_price = sys.maxsize for price in prices: min_price = min(min_price, price) profit = max(profit, price - min_price) return profit 기억해야할 기법 최소값을 최대값으로 지정 sys.maxsize 더 작은 값, 더 큰 값으로 업데이트할 경우 if문이 아닌 min / max를 활용하여 가독성을 높일 것 min_price가 현재값(pric..

책읽기 2021.07.19