본문 바로가기

Book

(14)
[혼공컴운] 1주차_Ch.01 ~ 03 📢 1주차🏷️ 범위: Chapter 01 컴퓨터 구조 시작하기 ~ Chapter 03 명령어🖊️ 내용 요약Ch 01. 컴퓨터 구조 시작하기컴퓨터 구조를 왜 알아야 할까? 컴퓨터 구조를 이해하면 복잡한 문제를 신속하게 판단하고 해결할 수 있으며, 성능, 용량, 비용까지 고려한 개발을 할 수 있다. 특히 대규모 서비스의 경우 이 세 가지 요소를 잘 선택하기 위해 단순히 프로그래밍 언어의 문법을 아는 것만으로는 충분하지 않고 컴퓨터 구조를 잘 알아야 한다. 컴퓨터 구조 개요컴퓨터 구조를 이해하려면 컴퓨터가 이해하는 정보와 컴퓨터의 네 가지 핵심 부품을 알면 된다.컴퓨터가 0과 1로 표현된 정보만 이해하며, 데이터와 명령어가 있다. 데이터: 숫자, 문자, 이미지 등 컴퓨터가 이해하는 정적인 정보명령어: 데..
[You Don't Know Js Yet] 1장 👉 챕터의 목표- 자바스크립트의 명세서를 정의할 때 일어난 담론과 배경 알아보기1.1 책에 대하여초보자용 책이 아니다!내용을 다 이해하면서 넘어가라!1.2 Javascript 이름의 유래. Javascript는 Java 친구인가?javascript가 만들어질 때는 당시 유행하던 java를 사용하는 개발자들에게 어필하고, 당시에 가벼운 프로그램이라는 뜻으로 유행하는 script 단어를 합쳐서 java + script 가 된 것이다. 오라클이 소유한 상표가 아닌 TC39에서 지정하고 ECMA 표준 기구에 의해 공식화된 명칭으로 JS를 부르면서 ECMAScript가 된다. 2016년부터는 ECMAScript에 개정 연도를 붙이기 시작했다.1.3 명세서TC39는 JS의 공식 명세를 관리하는 위원회다. TC39..
[코어 자바스크립트] 1장. 데이터 타입 🎯 1장의 목표 - 자바스크립트가 데이터를 처리하는 과정 이해하기 🖊️ 내용 정리 데이터 타입 javascript에는 6개의 기본형 데이터와 1개의 참조형 데이터가 있다. 변수를 선언 및 할당: 메모리 영역에서 어떻게 동작하는지 이해하기 이러한 데이터를 저장하는 공간을 변수라고 하며, 이 데이터를 식별하기 위해 붙이는 이름(식별자)을 변수명이라고 한다. 변수를 선언할 경우 변수명과 데이터는 메모리에 저장된다. 메모리 짧게 이해하기 메모리의 한 조각을 비트라고 하며, 비트는 고유한 식별자를 가진다. 메모리 한 칸은 1byte(8bit)며, 바이트 또한 바이트가 가진 8비트 중 첫 번째 비트의 식별자(메모리 주소값)를 통해 구분할 수 있다. (1) 기본형 변수의 선언 컴퓨터는 메모리에서 비어있는 공간을 확보..
[클린 코드] Assignment #15: 마지막 독후감 🖊️ 책을 읽은 후기 나쁜 코드를 작성하면 생산성이 크게 떨어지며, 프로그래머라면 좋은 코드를 작성하는 의무를 책임져야 한다. 이 책은 처음부터 엄청 공감되는 내용으로 시작됐다. 프로젝트를 진행하면서 코드를 깨끗이 써야한다는 의무는 항상 알고 있었지만, 그 방법을 잘 몰라 막막해져서 내 코드만 하염없이 바란 본 일들이 잦았다. 그러나 이 책을 읽고 나서는 배운 내용을 실제로 적용하면서 내 코드가 조금이라도 깨끗해지는 게 보여서 뿌듯했다. 챌린지를 진행하면서 후반부에 읽었던 테스트 코드 부분은 아직 완벽히 이해하지 못해 실제로 적용 해보지는 못했지만, 앞으로 공부하면서 꼭 실천해보고 싶다는 생각이 들었다. 책에서는 Java를 기준으로 예제를 제공해 내용을 이해하기에는 무리는 없지만, 최근에는 Dart언어를..
[클린 코드] Assignment #12: TIL - 10장. 클래스 📢 DAY 17 ~ 18 🏷️ 오늘 읽은 범위: 10장. 클래스 🖊️ 짧은 내용 요약 🧩 기본 클래스 구조 클래스는 기본적으로 캡슐화를 하고, 깨끗하게 작성한 클래스 내부의 구조는 다음과 같다. 정적 공개 상수 정적 비공개 변수 비공개 인스턴스 공개 합수 비공개 함수 🌟 깨끗한 클래스를 만드는 규칙 작게 만든다. 클래스가 하나의 책임만 가지면, 작은 것으로 판단한다. 클래스의 이름은 해당 클래스의 책임을 기술하기 때문에, 클래스가 하나의 책임만 지고 있는지를 판단하려면 클래스의 이름을 살펴본다. 클래스 명에 모호한 단어나 if, and, or, but과 같은 단어를 사용하지 않고 25자 이내로 작성했는지 확인한다. 클래스의 응집력을 적절히 유지한다. 클래스의 응집력을 유지하려면, 클래스의 인스턴스 변수 ..
[클린 코드] Assignment #11: TIL - 9장. 단위 테스트 + 나의 최애 북틸 📢 DAY 14 ~ 15 🏷️ 오늘 읽은 범위: 9장. 단위 테스트 🖊️ 짧은 내용 요약 🧹 테스트 코드도 깔끔하게 유지해야 하는 이유 요즘은 TDD와 같은 테스트 주도 개발 프로세스를 따라 개발을 진행하면서 많은 테스트 코드를 작성하게 된다. 이때, 테스트 코드를 깔끔하게 작성하지 않으면 테스트 코드가 복잡하고 지저분해지면서, 실제 코드보다 짜는데 시간도 오래 걸리고, 변경도 어려워진다. 그러면 실제 코드를 테스트하기 어려워지기 때문에 실제 코드에서 결함이 발생할 가능성이 높고, 이게 걱정되어 실제 코드를 유연하게 변경하기 어려워진다. 그렇기 때문에 테스트 코드는 실제 코드 못지 않게 깨끗하게 짜야 한다. 💡 깨끗한 테스트 코드의 장점은? 테스트 케이스가 있으면 안정성을 제공해 실제 코드의 변경이 쉬워..
[클린 코드] Assignment #10: TIL - 7장. 오류처리 + 공부법을 서로 공유해요 📢 DAY 12 ~ 13 🏷️ 오늘 읽은 범위: 7장. 오류처리 🖊️ 짧은 내용 요약 프로그램의 안정성을 위해 오류 처리는 필수적이지만, 자칫 잘못하면 오류 처리로 인해 더러운 코드가 만들어질 수 있다. 오류 처리를 프로그램 논리와 분리하면 코드의 유지보수성도 높아지고, 프로그램의 로직을 이해하기가 훨씬 쉬워지면서 깨끗한 코드를 작성할 수 있다. 😊 깨끗한 코드를 만드는 오류 처리 방법! try-catch문과 같은 예외를 사용해 오류 처리하기 try-catch 구조를 사용해 예외처리를 하면, 코드도 깔끔해지고 필수적인 구현 기능의 범위를 잘 구분해 만들게 된다. 이 때, 테스트 케이스를 먼저 작성한 후, 테스트를 통과하도록 코드를 작성하면 try-catch 내부에 필수적인 기능을 구현하기 더욱 쉬워진다...
[클린 코드] Assignment #08: TIL - 6장. 객체와 자료구조 📢 DAY 10 🏷️ 오늘 읽은 범위: 6장. 객체와 자료구조 🖊️ 짧은 내용 요약 추상화하자 클래스 안에 선언하는 변수는 외부에서 직접적으로 접근하지 못하도록 숨기는 게 좋다. 하지만 그렇다고 마냥 get, set 함수를 넣는다고 변수가 숨겨지는 것은 아니다. 이런 변수와 같은 자료를 숨기려면 추상화를 통해 사용자가 자료를 구체적으로 몰라도 자료를 조작할 수 있게 해야 한다. 그래서 메소드를 만들 때도 자료의 사용을 직접적으로 알 수 없는 추상적인 표현을 사용하거나 추상 인터페이스를 사용해 객체를 구현한다. 객체 자료를 추상화로 숨긴 채 자료를 다루는 함수만 공개한 형태 자료 구조 자료를 그대로 공개하면서 별다른 함수는 없는 구조(ex. DTO) 상황에 맞게 사용하자 객체 지향적인 코드와 절차 지향적인..