본문 바로가기

전체 글45

[묘공단] 6주차 (2) 이 글은 골든래빗 《Tucker의 Go 언어 프로그래밍》의 29, 30장 써머리입니다. 29장과 30장은 Golang으로 http server를 만드는 전형적인 back-end 개발자가 상식으로 알고 있어야 하는 내용을 다루고 있다. 29장은 Golang의 내장 api로 만드는 방법을 알려주고 30장은 RESTful 이론의 설명과 외부 라이브러리를 사용해 http server를 만드는 내용을 알려준다. 책에서 나오는 내용 중 아쉬운 내용은 많으나 숙제라 생각하고 봐주면 좋을 것 같다. 더보기 29. Go 언어로 만드는 웹 서버 29.1 HTTP 웹 서버 만들기 29.2 HTTP 동작 원리 29.3 HTTP 쿼리 인수 사용하기 29.4 ServeMux 인스턴스 이용하기 29.5 파일 서버 29.6 웹 서버.. 2023. 11. 12.
[묘공단] 6주차 (1) 이 글은 골든래빗 《Tucker의 Go 언어 프로그래밍》의 27~8장 써머리입니다. 27장은 객체지향 설계 5가지 원칙인 SOLID을 설명하며, 필수는 아니지만 프로젝트를 만들 때 어떤 원칙들을 기반으로 설계하면 좋을지에 대한 청사진을 제시한다. SOLID는 원칙들의 첫 단어들로 구성한 축약어이다. Golang에서만 활용할 수 있는 원칙들이 아닌 OOP 패러다임을 지원하는 여러 프로그래밍 언어들에서 적용할 수 있다. 28장은 Golang에서 지원하는 단위 테스트 도구와 단위 테스트를 코딩할 때 유용한 라이브러리를 소개한다. 또한 TDD(Test Driven Domain)에 대한 내용도 소개한다. 더보기 27 객체지향 설계 원칙 SOLID 27.1 객체지향 설계 5가지 원칙 SOLID 27.2 단일 책임 .. 2023. 11. 5.
[묘공단] 5주차 (3) 이 글은 골든래빗 《Tucker의 Go 언어 프로그래밍》의 25~6장 써머리입니다. 이전에는 Golang의 삼신기 중 goroutine을 알아봤고 이제 남은 두 개에 대해 알아볼 차례이다. channel과 select인데 25 챕터에는 context도 포함돼 있다. 26 챕터는 지금까지 배운 내용을 사용해 단어 검색 프로그램을 만든다. 더보기 25 채널과 컨텍스트 25.1 채널 사용하기 25.2 컨텍스트 사용하기 26 단어 검색 프로그램 만들기 26.1 해법 26.2 사전지식 26.3 실행 인수 읽고 파일 목록 가져오기 26.4 파일을 열어서 라인 읽기 26.5 파일 검색 프로그램 완성하기 26.6 개선하기 25 채널과 컨텍스트 본인 경우에는 Golang에서 처음으로 멀티스레딩 코딩을 해봤다. 그래서 채.. 2023. 10. 29.
[묘공단] 5주차 (2) 이 글은 골든래빗 《Tucker의 Go 언어 프로그래밍》의 24장 써머리입니다. 24장은 Golang의 장점인 고루틴인과 동시성 프로그래밍이다. 책에서 설명하는 고루틴도 좋지만 이번주는 본인이 리뷰하기 때문에 본인의 방식대로 설명해 보겠다. 더보기 24 고루틴과 동시성 프로그래밍 24.1 스레드란? 24.2 고루틴 사용 24.3 고루틴의 동작 방법 24.4 동시성 프로그래밍 주의점 24.5 뮤텍스를 이용한 동시성 문제 해결 24.6 뮤텍스와 데드락 24.7 또 다른 자원 관리 기법 고루틴을 이해하기 앞서 프로세스를 이해하면 좋을 것 같다. 프로세스는 보조기억장치에 저장된 프로그램 즉 개발자가 코딩한 파일을 주기억장치(memory) 영역에 올린 후 CPU를 점유를 기다리는 것을 프로세스라 한다. 이제 스레.. 2023. 10. 29.