전체 446

[백준][재귀] Choose Your Own Arithmetic

BAEKJOON Online Judge(BOJ) 문제입니다. https://www.acmicpc.net/ Baekjoon Online Judge Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다. www.acmicpc.net 문제 https://www.acmicpc.net/problem/6772 6772번: Choose Your Own Arithmetic In Waterloo, you probably have seen some geese. How can you see geese with your calculator? Start with 6, add 7, multiply by 6, multiply by 8, add 7, multiply by 8, and m..

코딩테스트 2022.04.01

[Java] 이중 콜론 연산자 (::)

1. 상황 아래와 같이 Optional에서 orElseThrow()를 통해 값이 없으면 발생시킬 exception을 지정하려 했습니다. Optional apiInfo = apiInfoRepository .findAll() .stream() .findFirst() .orElseThrow(() -> new ApiInfoNotExistException()); 그런데 orElseThrow()의 arg로 들어가는 lambda식을 아래와 같이 변경할 수 있었습니다. Optional apiInfo = apiInfoRepository .findAll() .stream() .findFirst() .orElseThrow(ApiInfoNotExistException::new); 2. 이중 콜론 연산자 이중 콜론(::)은 메..

CS/언어 2022.03.31

[운영체제] KOCW 반효경 교수님 강의 - 9. Process Management 2

프로세스 생성 부모가 자식을 복제 생성 문맥을 복제 (메모리, PC 등) 그러나 쓰레드에서 본 것과 같이, 똑같은 내용을 2copy 만드는 것은 메모리 낭비 Copy on Write 이로 인해, 자식 프로세스가 생성되면 부모 프로세스와 메모리를 공유하게됨 자식이 명령어를 수행하면서 내용이 바뀔 때마다 copy 즉, write를 할 때마다 copy 최대한 공유하며 잘게 쪼게진 단위로만 copy fork, exec int main() { int pid; pid = fork(); if (pid == 0) printf("\n Hello, I am child!\n"); else if (pid > 0) printf("\n Hello, I am parent!\n"); } fork() 시스템 콜 자식 프로세스는 for..

CS/운영체제 2022.03.30

[운영체제] KOCW 반효경 교수님 강의 - 8. Process Management 1

프로세스 생성 누가 생성? - 부모 프로세스가 자식 프로세스를 생성 자원 공유 1. 부모 프로세스와 자식 프로세스가 자원을 공유하는 모델 2. 공유하지 않는 모델이 있음 일반적으로 자식 프로세스는 생성 이 후 별도의 프로세스이므로 공유하지 않음 수행 1. 부모와 자식이 공존하는 모델 2. 자식이 종료될 때까지 기다리는 모델(blocked) 생성과정 부모 프로세스의 공간을 복사 (PCB, 메모리 등) - fork() 시스템 콜 자식이 복사된 공간에 새로운 프로그램을 올림 - exec() 시스템 콜 시스템 콜을 통해 운영체제를 통해서 생성해야함 프로세스 종료 프로세스가 마지막 명령을 수행 후 운영체제에게 종료를 알림 - exit 시스템 콜 프로세스는 부모보다 자식이 먼저 종료되야함 자식이 종료될 때 부모에게..

CS/운영체제 2022.03.30

[운영체제] KOCW 반효경 교수님 강의 - 7. Process 3

Thread의 장점 빠른 응답성 자원 절약(공유되는 메모리) -> CPU 수행 관련 정보만 따로 가짐 다중쓰레드의 협력으로 throughput을 높일 수 있음 CPU가 여러 개일 경우 병렬성을 높일 수 있음 Thread의 장점 정리 Responsiveness 웹 브라우저에서 html 문서를 가져옴 렌더링 중에 image가 필요함 image를 요청(blocked) [쓰레드] 하나의 쓰레드가 image를 요청(blocked) [쓰레드] 다른 쓰레드는 이미 가져온 텍스트를 렌더링 [쓰레드] 더 빨리 문서를 볼 수 있음 Resource Sharing 똑같은 작업을 하는 두 쓰레드가 자원을 공유 Economy creating - 프로세스를 생성하는 것보다 쓰레드를 생성하는 cost가 더 적게 소모 - CPU 수행..

CS/운영체제 2022.03.30

[인프런][HTTP] 인터넷 네트워크

https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC 모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의 실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., - 강의 소개 | 인프런... www.inflearn.com 인터넷 통신 IP (인터넷 프로토콜) TCP, UDP PORT DNS 인터넷 네트워크 두 대의 컴퓨터가 통신을 한다 케이블로 연결되어 있으면 통신이 어렵지 않다 그러나 우리는 인터넷을 통해 통신을 한다 인터넷은 복잡하다 어떻게 수 많은 노드를 거쳐 통신을 할까? IP (인터넷 프로토콜) 인터넷을 통해 데이터를 전송하기 위한 최소한의 규칙이 필요하다..

CS/웹 2022.03.30

[백준][슬라이딩윈도우] 달려라 홍준

BAEKJOON Online Judge(BOJ) 문제입니다. https://www.acmicpc.net/ Baekjoon Online Judge Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다. www.acmicpc.net 문제 https://www.acmicpc.net/problem/1306 1306번: 달려라 홍준 첫째 줄에는 뛰는 코스의 길이, 즉 칸수 N과 홍준이의 시야의 범위 M이 주어진다. 시야가 M이라고 하면 현재 위치에서 앞뒤로 M-1칸까지 광고판이 보이는 것이다. (1 ≤ M ≤ N ≤ 1,000,000) 두 번째 www.acmicpc.net 내가 작성한 코드 import sys from heapq import heappush, heap..

코딩테스트 2022.03.29

[데이터베이스] KOCW 용환승 교수님 강의 - 1. 관계 대수와 SQL

관계 해석과 관계 대수 관계 데이터 모델에서 지원되는 정형적인 언어 관계 해석(relational calculus) - 원하는 데이터(what)만 명시하는 선언적인 언어 관계 대수(relational algebra) - 원하는 데이터와 어떻게(how) 질의를 수행할 것인지 명시하는 절차적인 언어 대수(algebra)란? 수와 수의 연산 연산자와 피연산자로 구성 관계 대수에서 피연산자는 relation relation을 input으로 relation을 output 2개 relation일수도, 1개 relation일수도 있음 관계 연산자들 필수 연산자 - 바로 사용 가능한 연산자 (primitive) 유도된(derived) 연산자 - 필수 연산자들로 만들 수 있는(유도된) 연산자 카티션 프로덕트 (데카르트 ..

[네트워크] KOCW 이석복 교수님 강의 - 2. 컴퓨터네트워크 기본2

패킷 스위칭을 고속도로에 비유 패킷 스위칭은 링크에서 빛의 속도로 도달 패킷 스위칭은 패킷의 모든 데이터가 라우터에 도착해야 다음 라우터로 진행 (패킷 단위로) 네트워크 애플리케이션 네트워크 edge 서버/클라이언트에서 동작하는 애플리케이션 서버 웹서버 서버는 24시간 동작해야함 인터넷 상에 존재하는 컴퓨터는 IP라는 고정된 주소를 가지고 있어야함 (요청을 받아야 하기 때문) 클라이언트 웹브라우저 클라이언트는 고정되지 않은 IP를 가져도 상관없음 소켓 프로세스끼리 통신(IPC)를 위해 OS가 system call을 통해 인터페이스를 만들어놓음 네트워크도 똑같음 : 두 프로세스가 다른 컴퓨터에 있을 뿐 OS가 인터페이스를 제공 이 인터페이스를 소켓이라고 함 소켓을 식별하기 위해 IP와 port를 사용 IP..

CS/네트워크 2022.03.28

[네트워크] KOCW 이석복 교수님 강의 - 1. 컴퓨터네트워크 기본1

Network Edge laptop/desktop : 웹 브라우저에 해당 Network core 라우터 Edge의 종류 서버 클라이언트 데이터 통신 서비스 1. connection-oriented service : TCP 신뢰성 - 손실 없이 내 데이터가 도착 순서 - 내가 보낸 순서대로 도착 flow control - reciever가 받을 수 있는 속도에 맞춰 sender가 보내는 것 congestion control - 네트워크 상황에 맞춰서 네트웤이 받을 수 있는 능력에 맞춰서 보내는 것 2. connectionless service : UDP TCP의 반대 : 신뢰성 x, 순서 x, flow control x, congestion control x 왜 필요할까? -> 신뢰성이 필요하면 TCP, ..

CS/네트워크 2022.03.28