전체 글
-
운영체제Computer Science 2024. 4. 25. 20:39
목차운영체제와 컴퓨터메모리프로세스와 스레드3.1 운영체제와 컴퓨터운영체제는 사용자가 컴퓨터를 쉽게 다룰 수 있게 해주는 인터페이스입니다. 한정된 메모리나 시스템 자원을 효율적으로 분배해줍니다.3.1.1 운영체제의 역할과 구조컴퓨터는 하드웨어와 소프트웨어(유저 프로그램)를 관리하는 일꾼인 운영체제와 CPU, 메모리 등으로 이루어져 있습니다. 운영체제의 역할과 구조는 다음과 같습니다.운영체제의 역할CPU 스케줄링과 프로세스 관리CPU 소유권을 어떤 프로세스에 할당할지프로세스의 생성과 삭제자원 할당 및 반환을 관리메모리 관리한정된 메모리를 어떤 프로세스에 얼만큼 할당해야 하는지 관리디스크 파일 관리디스크 파일을 어떠한 방법으로 보관할지 관리I/O 디바이..
-
네트워크 (2)Computer Science 2024. 4. 19. 21:07
목차 네트워크 기기 IP 주소 HTTP 2.3 네트워크 기기 2.3.1 네트워크 기기의 처리 범위 네트워크 기기는 계층별로 처리 범위를 나눌 수 있습니다. 물리 계층을 처리할 수 있는 기기 데이터 링크 계층을 처리할 수 있는 기기 상위 계층을 처리하는 기기는 하위 계층을 처리할 수 있지만 그 반대는 불가능합니다. 애플리케이션 계층: L7 스위치 인터넷 계층: 라우터, L3 스위치 데이터 링크 계층: L2 스위치, 브리지 물리 계층: NIC (Network Interface Card), 리피터, AP(Access Point) 예를 들어 L7 스위치는 애플리케이션 계층을 처리하는 기기로, 그 밑의 모든 계층의 프로토콜을 처리할 수 있습니다. 하지만 AP는 물리 계층밖에 처리하지 못합니다. 2.3.2 애플리케..
-
네트워크 (1)Computer Science 2024. 4. 18. 22:03
목차 네트워크 기초 TCP/IP 4계층 모델 2.1 네트워크의 기초 네트워크란 노드와 링크가 서로 연결되어 있으며 리소스를 공유하는 집합을 의미합니다. 여기서 노드란 서버, 라우터, 스위치 등 네트워크 장치를 의미하고 링크는 유선 또는 무선을 의미합니다. 2.1.1 처리량과 지연 시간 처리량(throughput)이란 링크를 통해 전달되는 단위 시간당 데이터양을 말합니다. 단위로는 bps(bits per second)를 씁니다. 초당 전송 또는 수신되는 비트 수를 의미합니다. 처리량은 다음과 같은 상황에 영향을 받습니다. 사용자들이 많이 접속할 때마다 커지는 트래픽 네트워크 장치 간의 대역폭 네트워크 중간에 발생하는 에러 장치의 하드웨어 스펙 지연시간(latency)이란 요청이 처리되는 시간을 말하며 어떤..
-
프론트엔드 테스트 코드 작성하기 - 기초편React.js, Next.js 2024. 3. 28. 23:19
목차 prerequisites Project Basic Code Test Code Explain each test codes Results 마치며 1) Prerequisites 이번 장에서는 vs code의 extension인 Jest Runner를 사용합니다. 이전 장에서 다룬 레포지토리를 확장하여 사용합니다 2) Project 코드는 해당 레포지토리에서 다운로드하실 수 있습니다. https://github.com/junh0328/react-test GitHub - junh0328/react-test Contribute to junh0328/react-test development by creating an account on GitHub. github.com 기본적인 UI를 위해, styled-in-..
-
프론트엔드 테스트 코드 시작하기 - 개념편React.js, Next.js 2024. 3. 26. 20:13
목차 Goal What do you want to test Types of tests End to End test Integration test Unit test Static test Project Prerequisites Init Installation jest ts-node set the config Add script on package.json Initialize the test jsdom environment Sumaary results etc 레퍼런스 1) Goal 정확성 및 신뢰성 확보 테스팅의 주요 목적은 코드가 올바르게 작동하는지 확인하는 것 다양한 조건 및 입력에서 리액트 컴포넌트가 예상대로 동작하는지 확인하는 것 수월한 리팩터링 프로젝트가 성장하면 리팩터링이 필요함 코드 품질, 성능개..
-
실용주의 프로그래머 8장 - 프로젝트 전에Book Study 2024. 3. 4. 20:35
나의 키워드 요구 사항의 구렁텅이 불가능한 퍼즐 풀기 함께 일하기 애자일의 핵심 여러분 그리고 여러분의 팀은 프로젝트를 시작할 때 요구 사항을 파악해야 한다 (p.349) 요구 사항의 구렁텅이 완성이라는 것은 더 이상 더할 것이 없을 때가 아니라, 더 이상 뺄 것이 없을 때 달성되는 것이다. - 앙투안 드 생텍쥐페리 많은 책과 튜토리얼에 따르면 ‘요구 사항 수집’은 프로젝트의 초기에 이뤄진다. 수집이라는 말은 왠지 베토벤의 전원 교향곡이 배경 음악으로 부드럽게 울려 퍼지는 가운데 행복한 분석가들이 주변에 널려 있는 지식 덩어리를 주워 담는 장면을 연상케 한다 (p.350) 요구 사항이 이미 널려 있다는, 고로 그것들을 쉽게 찾아서 바구니에 주워 담고 행복하게 가던 길을 계속 갈 수 있다는 느낌을 풍긴다...
-
실용주의 프로그래머 9장 - 실용주의 프로젝트Book Study 2024. 2. 29. 20:41
나의 키워드 실용주의 팀 코코넛만으로는 부족하다 사용자를 기쁘게 하라 오만과 편견 소프트웨어 개발 방법론의 목표는 사람들이 함께 일하는 것을 돕는 것이다. (p.377) 실용주의 팀 우리가 말하는 팀은 작고 보통은 그 자체로 안정적인 존재다. 50명은 팀이 아니다. 큰 무리다. 구성원이 계속 다른 업무에 끌려가고, 아무도 서로를 모르는 팀도 사실 팀이 아니다. (p.379) 실용주의 팀은 작다. 구성원이 대략 10 ~ 12명 이하여야 하고, 구성원이 추가되거나 빠지는 일은 드물어야 한다. 모두가 서로를 잘 알고, 신뢰하며, 의존해야 한다. (p.379) 품질은 팀의 문제다. 아무리 부지런한 개발자라 해도 품질에 무심한 팀에 배치된다면, 자질구례하게 계속되는 문제를 고치는 데 필요한 열정을 유지하긴 어려울..
-
나를 살려준 깃 커맨드, git reflog끄적끄적 2024. 2. 27. 20:54
레퍼런스 Git - git-reflog Documentation Git - git-reflog Documentation git-reflog - Manage reflog information git-scm.com 상황 오늘 작업한 작업물을 리베이스하는 도중에 예상치 못한 packages 관련된 충돌이 발생하였다. 따라서 기존 브랜치에서 conflict을 해결하고 리베이스하기 위해 해당 리베이스를 abort했다. 문제는 브랜치의 origin에 푸쉬하지 않은 local commit이 지워졌는데, 동료의 도움으로 git reflog 를 통해 회생시킬 수 있었다. $ git reflog reflog에 대한 가벼운 설명 This command manages the information recorded in the ..