전체 글67 한 장으로 보는 GO 기초 GO 처음 설치하면 /(local)user/go 폴더를 생성한다. go 프로젝트는 무조건 이 디렉터리 안에만 넣을 수 있다. 다운받는 패키지들도 npm 같은 패키지 관리자를 쓰는 것이 아니다. 따라서 다운받은 경로에 따라 go/src 폴더 안에 정리해서 패키지를 관리한다. github.com, golang.org, google.golang.org 등 Package Main Package 컴파일이 필요한 경우, main package가 필요하다. 컴파일이 필요없는 경우(라이브러리 생성하는 등)에는 Main Package가 필요하지 않을 수 있다. 컴파일러는 main 패키지 먼저 찾아서 컴파일한다. Import 패키지 내에서 대문자로 시작하는 메서드들은 public, 즉 export된 메서드로 볼 수 있다... 2023. 8. 22. [클린코드] 10장 클래스 책에서 기억하고 싶은 내용을 써보세요. 클래스 체계에서 추상화 단계는 순차적으로 내려간다. 캡슐화를 풀어주는 결정은 언제나 최후의 수단이다. 클래스는 작아야한다. 함수가 물리적인 행 수 크기를 측정했다면 클래스는 클래스가 맡은 책임을 센다. 클래스 이름은 해당 클래스 책임을 기술해야 한다. 단일 책임 원칙(Single Responsibility Principle). 클래스나 모듈을 변경할 이유는 하나뿐이어야 한다. 응집도를 높인다. 클래스에 속한 메서드와 변수가 서로 의존하며 논리적인 단위로 묶일 수록 응집도가 높아진다. 큰 함수를 작은 함수 여럿으로 쪼개면서 작은 클래스 여럿으로 쪼개며 응집도를 높인다. 클래스는 확장에 개방적이고 수정에 폐쇄적이어야 한다. OCP(Open Closed Principle.. 2022. 3. 10. [클린코드] 6장 객체와 자료구조 책에서 기억하고 싶은 내용을 써보세요. 개발자들이 변수에 의존하지 않게 만들기 위해 변수를 비공개로 설정한다. 자료 추상화 적합한 추상 인터페이스를 제공하여 구현을 감추고 추상화한다. 자료를 세세하게 공개하기보다는 추상적인 개념으로 표현한다. 인터페이스나 get/set 함수만으로는 추상화가 이루어지지 않는다. 개발자는 객체가 포함하는 자료를 표현할 가장 좋은 방법을 고민해야 한다. 객체와 자료구조 객체는 추상화 뒤로 자료를 숨긴 채 자료를 다루는 함수만 공개한다. 자료구조는 자료를 그대로 공개하며 별다른 함수는 제공하지 않는다. (자료구조를 사용하는)절차적 코드는 기존 자료구조를 변경하지 않으면서 새 함수를 추가하기 쉽다. 반면, 객체지향 코드는 기존 함수를 변경하지 않으면서 새 클래스를 추가하기 쉽다... 2022. 3. 2. [클린코드] 5장 형식 맞추기 책에서 기억하고 싶은 내용을 써보세요. 코드의 전체적인 형식을 맞춰서 코드의 가독성을 높인다. 코드가 수정되어서 이전 코드의 흔적을 찾아보기 힘들게 되어도 처음 잡아두었던 구현 스타일과 가독성 수준은 계속 영향을 미친다. 개념과 개념 사이를 빈 행으로 분리한다. 서로 밀접한 개념은 세로로 가까이 둔다. 함수 호출 종속성은 세로로 유지한다. 호출하는 함수 먼저, 호출되는 함수 나중(고차원 -> 저차원 순으로) 가로로는 공백을 이용해 밀접한 개념과 느슨한 개념을 표현한다. 들여쓰기를 통해 소스 코드의 계층을 구분한다. 팀으로 협업한다면 팀마다 미리 정한 규칙대로 스타일을 맞춘다. 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요. 코드가 수정되어서 이전 코드의 흔적을 찾아보기 힘들어도 구현 스타일은 계속.. 2022. 2. 28. 이전 1 2 3 4 5 ··· 17 다음