반응형 Programming/Computer Science17 [리팩토링 개정판] 01. 리팩터링: 첫 번째 예시 프로그램이 새로운 기능을 추가하기에 편한 구조가 아니라면, 먼저 기능을 추가하기쉬운 형태로 리팩터링하고 나서 원하는 기능을 추가한다. -p.27 리팩터링하기 전에 제대로 된 테스트부터 마련한다. 테스트는 반드시 자가진단하도록 만든다. -p.28 아무리 간단한 수정이라도 리팩터링 후에는 항상 테스트하는 습관을 들이는 것이 바람직하다. -p.32 나는 함수의 반환 값에는 항상 result라는 이름을 쓴다. 그러면 그 변수의 역할을 쉽게 알 수 있다. -p.34 자바스크립트와 같은 동적 타입 언어를 사용할 때는 타입이 드러나게 작성하면 도움된다. 그래서 나는 매개변수 이름에 접두어로 타입 이름을 적는데, 지금처럼 매개변수의 역할이 뚜렷하지 않을 때는 부정 관사(a/an)를 붙인다. 변수 인라인(외부에 두지 않.. Programming/Computer Science 2023. 5. 9. class / React의 class형 컴포넌트 / JS에서의 class(prototype 기반) 코딩교육 티씨피스쿨 4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등 tcpschool.com 함수형 프로그래밍 vs 객체지향 프로그래밍 함수형 프로그래밍 - Functional programming (FP) 객체지향 프로그래밍 - Object oriented programming (OOP) 개발자라면 이 둘에 대해 한번쯤은 들어봤을 개발 패턴이다. FP 든 OOP 든 개발 방식의 차이일뿐, 뭐가 kwangsunny.tistory.com 자바스크립트는 왜 프로토타입을 선택했을까 프로토타입으로 검색하면 으레 나오는 서두처럼 저 또한 자바스크립트를 처음 접했을 때 가장 당황스러웠던 게 프로토타입이었습니다. medium.com Prototype, 그리고 Class Pr.. Programming/Computer Science 2023. 3. 19. [혼공학습단 9기] 혼.공.컴.운. - 14. 가상 메모리(필수미션 포함) 운영체제의 가장 핵심적인 두 역할: 프로세스 관리와 메모리 관리.지금까지 프로세스 관리 기법에 대해 알아봤으니 이제 메모리 관리 기법에 대해 알아보자. 기본 미션문제 1. 메모리 할당 방식에 대한 설명으로 올바른 것을 다음 보기에서 찾아써 보세요.보기:최초 적합, 최적 적합, 최악 적합(1): 최초로 발견한 적재 가능한 빈 공간에 츠로세스를 배치하는 방식(2):프로세스가 적재되룻 있는 가장 큰 공간에프로세스를 배치하는 방식(3): 프로세스가 적재될 수 있는 가장 작은 공간에 프로세스를 배치하는 방식 정답 최초 적합최악 적합최적 적합 14-1 연속 메모리 할당연속 메모리 할당: 프로세스에 연속적인 메모리 주소를 할당하는 것스와핑 스와핑(swapping): 메모리에 적재된 프로세스들 중 현재 실행되지 않는 .. Programming/Computer Science 2023. 2. 20. [혼공학습단 9기] 혼.공.컴.운. - 13. 교착상태 13-1 교착상태란 교착 상태란 무엇이며, 그를 표현하는 자원 할당 그래프와 교착 상태의 발생 원인을 예시를 통해 알아보겠습니다. 프로세스를 실행하기 위해 자원이 필요한데, 두 개 이상의 프로세스가 각자 가지고 있는 자원을 무작정 기다린다면 그 어떤 프로세스도 더 이상 진행할 수 없는 교착 상태가 된다. 식사하는 철학자 문제 식사하는 철학자 문제: 교착 상태를 설명하기 위한 아주 고전적이고 재미있는 문제 상황. 만약 원탁에 다섯 명의 철학자가 앉아 있고 서로의 사이사이에 총 다섯 개의 포크가 있고, 모두가 동시에 빈 포크가 어떤 것인지 생각하고 동시에 포크를 집어 식사를 해야 한다면, 영원히 아무도 식사할 수 없는 상황이 벌어질 수 있다. 교착 상태: 이렇게 일어나지 않을 사건을 기다리며 진행이 멈춰 버.. Programming/Computer Science 2023. 2. 20. [네트워크] SSL이란? Programming/Computer Science 2023. 2. 14. [혼공스터디 9기] 혼.공.컴.운. - 12. 프로세스 동기화(필수, 선택 미션 포함) 필수미션 1. 뮤텍스 락과 세마포에 대한 설명으로 옳지 않은 것을 고르세요. 뮤텍스 락은 임계 구역을 잠근 뒤 임계 구역에 진입함으로써 상호 배제를 위한 동기화를 이룹니다. 세마포는 공유 자원이 여러 개 있는 상황에서도 이용할 수 있습니다. 세마포를 이용해 프로세스 실행 순서 제어를 위한 동기화도 이룰 수 있습니다. 세마포를 이용하면 반드시 바쁜 대기를 해야 합니다. 답: 4 해설: 세마포는 공유 자원이 여러 개 있는 상황에 적용이 가능한 동기화 도구다. 바쁜 대기는 반복적으로 lock을 확인하는 것인데, 이는 자물쇠 방식을 활용하는 뮤텍스 락에 적용된다. 12-1 동기화란 프로세스들은 서로 협력하여 실행되기도 한다. 이런 프로세스들의 실행 순서와 자원의 일관성을 보장하기 위해 반드시 동기화되어야 한다... Programming/Computer Science 2023. 2. 13. [혼공스터디 9기] 혼.공.컴.운. - 11. CPU 스케줄링(선택 미션 포함) 11-1 CPU 스케줄링 개요 운영체제는 CPU를 어떻게 프로세스에 배분할까? CPU 스케줄링: 운영체제가 프로세스들에게 공정하고 합리적으로 CPU 자원을 배분하는 것. 이는 컴퓨터 성능과도 직결되는 중요한 문제다. 프로세스 우선순위 입출력 집중 프로세스: 비디오 재생 등 입출력 작업이 많은 프로세스. 실행 상태보다는 대기 상태에 많이 머무른다. CPU 집중 프로세스: 복잡한 수학 연산, 컴파일 등 CPU 작업이 많은 프로세스. 대기 상태보다는 실행 상태에 더 많이 머무른다. CPU 버스트: CPU를 이용하는 작업 입출력 버스트: 입출력장치를 기다리는 작업 운영체제는 각 프로세스의 PCB에 우선순위를 명시하고, PCB에 적힌 우선순위를 기준으로 먼저 처리할 프로세스를 결정한다. 그렇게 자연스레 우선순위가.. Programming/Computer Science 2023. 2. 5. 이전 1 2 3 다음