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 다음 반응형