프로그래머의 뇌 - 3. 프로그래밍 문법 빠르게 배우기
·
🤓 기술 학습 & 공부 기록/컴퓨터 일반
프로그래머의 뇌 (펠리너 헤르만스 지음) 📍목차 1장 | 코드 더 잘 읽기 1. 코딩 중 겪는 혼란에 대한 이해 2. 신속한 코드 분석 3. 프로그래밍 문법 빠르게 배우기 📍요약 ✅문법에 대한 지식이 많을 수록 코드를 읽을 때 청킹하여 쉽게 이해할 수 있다 ✅기억이 없어지는 것을 방지하기 위해, 의도적인 인출 연습이 필요 (무심코 검색하는 것보다 떠올리려고 노력해보기) 📍3-1. 문법을 기억하기 위한 팁 ✅업무 중단은 개발자의 생산성을 크게 저하 예) 모르는 메서드를 찾으려 검색하다가 메일 확인 등 다른 내용으로 빠지게 됨 => 작업하던 내용을 잊어버림 - 다시 업무로 돌아가는데 평균 15분 정도 걸림 ⭐따라서, 문법이나 메서드를 암기하고 있는 것은 개발 생산성을 상승시킬 수 있음 (LTM 활용 가능) ..
프로그래머의 뇌 - 2. 신속한 코드 분석
·
🤓 기술 학습 & 공부 기록/컴퓨터 일반
프로그래머의 뇌 (펠리너 헤르만스 지음) 📍목차 1장 | 코드 더 잘 읽기 1. 코딩 중 겪는 혼란에 대한 이해 2. 신속한 코드 분석 📍요약 ✅STM - 저장공간 : 7개 전후 => 크기 제한을 극복하기 위해 LTM과 협업 - 정보는 STM 전 감각 기억 공간을 거쳐서 일부만 STM에 전달됨 ✅청크 - 새로운 정보를 읽을 때, 우리 두뇌는 그 정보를 청크라는 몇 개의 묶음으로 나눔 ✅코드를 읽을 때 인지 과정 - LTM에서 인출할 지식이 없으면, 키워드같은 정보에 의존해야 해서 STM의 공간이 빠르게 소진됨 - LTM에 관련 지식이 많으면, STM에 저장하는 대신, LTM에서 "자바스크립트에서의 for loop" 같은 방식으로 기억을 인출하므로 STM 공간을 절약 ✅코드를 더 잘 읽는 방법 - 디자인 ..
프로그래머의 뇌 - 1. 코딩 중 겪는 혼란에 대한 이해
·
🤓 기술 학습 & 공부 기록/컴퓨터 일반
프로그래머의 뇌 (펠리너 헤르만스 지음) 📍목차 1장 | 코드 더 잘 읽기 1. 코딩 중 겪는 혼란에 대한 이해 📍요약 ✅코드를 읽을 때 혼란이 생기는 이유 3가지 - 지식(LTM) 부족 - 정보(STM) 부족 - 두뇌의 처리 능력(Working Memory) 부족 => 코드 읽을 때 3가지 인지 과정이 모두 발생 ✅인지 과정 1. LTM에서 정보 인출 (키워드의 의미 => 프로그래밍 언어를 알고 있는지) 2. STM에 정보 일시 저장 (메서드나 변수의 이름 => projectName 변수는 프로젝트명을 가리키는 변수... ) 3. Working Memory에서 코드를 읽고 처리 (for loop 의 시작 인덱스가 맞나 틀리나.. ) => 이 3가지 인지 과정은 동시에 발생하며 상호 보완적 작용 예) 처..
ASCII, UTF-8, UTF-16
·
🤓 기술 학습 & 공부 기록/컴퓨터 일반
📍ASCII ✅영문 알파벳을 사용하는 대표적 문자 인코딩 - 전체 128개의 문자가 존재하며, 이 128개는 UTF와 동일 - 0~31, 127번은 출력 불가 (33개) - 33~126번은 출력 가능 - 사용 예시 JavaScript의 String.prototype.charCodeAt("A") 는 대문자A 의 UTF-16 코드 65를 반환 📍UTF-8 ✅가장 보편적인 웹의 문자 인코딩 - 유니코드 가변 길이 문자 인코딩 방식 - Universal Coded Character Set + Transformation Format 8-bit의 약자로 8bit 단위로 문자를 표현 - ASCII code와 0~127번 (U+0000부터 U+007F) 문자가 서로 동일 이 번호의 문자는 1byte(8bit) 크기 -..
코드 없는 알고리즘과 데이터 구조 - 12. 알고리즘 기획과 설계
·
🤓 기술 학습 & 공부 기록/컴퓨터 일반
코드 없는 알고리즘과 데이터 구조 (암스트롱 수베로 지음) 더보기 목차 Part 1 - 데이터 구조 Part 2 - 알고리즘 Part 3 - 알고리즘과 데이터 구조를 이해하는데 필요한 지식들 10. 무작위성 11. 스케줄링 알고리즘 12. 알고리즘 기획과 설계 📍타당한 기획과 설계의 필요성 ✅알고리즘(혹은 프로그램)을 설계할 때는 코더가 아닌 컴퓨터 과학자의 자세를 가져야 한다 ✅코더 - 무턱대고 코드부터 작성 - 논리 구조가 빈약하고 다른 사람이 이해하기 어려운 프로그램이 만들어짐 ✅컴퓨터 과학자 : - 알고리즘 구현 전에 기획하고 설계 특징 1️⃣알고리즘을 모듈식으로 설계 - 다양한 프로그래밍 언어로 구현 가능하고, 쉽게 가져다 쓸 수 있는 알고리즘 탄생 - 다양한 패러다임과 응용 프로그램에 적용 가..
코드 없는 알고리즘과 데이터 구조 - 11. 스케줄링 알고리즘 (2)
·
🤓 기술 학습 & 공부 기록/컴퓨터 일반
코드 없는 알고리즘과 데이터 구조 (암스트롱 수베로 지음) 더보기 목차 Part 1 - 데이터 구조 Part 2 - 알고리즘 Part 3 - 알고리즘과 데이터 구조를 이해하는데 필요한 지식들 10. 무작위성 11. 스케줄링 알고리즘 📍스케줄러와 스케줄링 모든 운영체제 내부에는 프로세스 스케줄러가 존재 ✅역할 - 어떤 태스크가 언제 실행될지 결정 ✅디스패처(dispatcher) - 문맥 전환을 수행하고 프로그램의 실행 흐름을 바꾸는 프로세스 스케줄러의 일부 - 문맥 전환(context switching) : 프로세스 -> 다른 프로세스 혹은 태스크 -> 다른 태스크 ✅스케줄링 큐 - 프로세스가 나열된 큐 - 태스크 큐 : 메인 메모리 할당을 기다리는 모든 프로세스가 나열 - 준비 큐 : 메인 메모리에 상주..