일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- C++
- 딥러닝
- 혼공학습단
- 파이썬
- 나는리뷰어다
- 벌칸
- 한빛미디어
- 혼공컴운
- 불칸
- 혼자공부하는네트워크
- 혼공단5기
- 자바스크립트
- 혼공S
- 혼공
- 머신러닝
- tutorial
- 혼공단
- 데이터분석
- 혼공머신
- 혼공C
- 제이펍
- 혼공스
- 리뷰리뷰
- 혼공네트
- 컴퓨터그래픽스
- 혼자공부하는C언어
- 네트워크
- 책리뷰
- 운영체제
- vulkan
- Today
- Total
목록서평 (82)
Scientia Conditorium
[책리뷰] 헤드퍼스트 디자인 패턴(개정판) 한줄 요약 : 프로그래머라면 반드시 가지고 있어야 할 교과서 디자인 패턴 관련 책으로 가장 유명한 것은 'GoF의 디자인 패턴' 일 것이다. 그러나 회사 선배에게도 들었지만 대부분 '헤드퍼스트 디자인 패턴' 책을 더 추천해주신다. 책의 첫 챕터에서는 디자인 패턴을 왜 배워야하고 알아야 하는지를 상황과 코드를 통해 설명해준다. 디자인 패턴 공부를 위해 이 책을 접했다면 옮긴이의 말을 반드시 읽어야 한다. 프로그래머들 중에서 디자인패턴 공부를 숙제처럼 여기고 반드시 해야되는 숙제처럼 여기는 사람들이 종종 있다. 알아두어야 하기는 하지만 의무감을 가질 필요는 없다. 옮긴이의 말에서는 아래와 같이 설명한다. 디자인 패턴이 만병통치약은 아닙니다! 디자인 패턴은 코드를 재..
[책리뷰] 혼자 공부하는 컴퓨터구조 + 운영체제 컴퓨터 공학과 전공자 필수 과목 중 하나인 컴퓨터 구조와 운영체제. 이 과목들의 혼공 시리즈가 나와서 대단히 기쁘다. 결론은 역시나 혼공 시리즈답게 혼자서 충분히 공부할 수 있도록 기초 개념을 잘 잡아준다. 비전공자들은 구매해서 쭈욱 읽어보는 것을 적극 추천한다. 각 챕터에 대한 간략한 후기를 아래 나열해보는 것으로 이번 리뷰를 해보겠다. Chapter 01 컴퓨터 구조 시작하기 컴퓨터 구조의 큰 그림과 공부해야 하는 이유를 설명해준다. 책에서도 설명되어있지만 컴퓨터 구조는 컴퓨터공학과의 전공 필수과목 중 하나이며 대부분의 채용 공고에서 컴퓨터구조를 중요시 여긴다. 서울대학교 컴퓨터공학과 교과목 정보를 살펴보면 2020입학 기준으로 컴퓨터 구조는 전공필수 ..
[책리뷰] 오준석의 안드로이드 생존코딩 코틀린 편(2판) 아직까지는 모바일이 미래라고 보지는 않는다. 데이터 통신과 전력 충전이 유선보다 빠를수가 없기 때문이다. 그럼에도 불구하고 모바일 앱을 개발해야되는 상황을 마주치게 되었다. 이 책의 좋은 점은 실용 앱 9가지를 개발해볼 수 있다는 점이다. 실질적으로 모바일 앱 개발은 이 책을 통해서 처음으로 해보았다. 무작정 따라하기만 하면 되기 때문에 쉬웠다. 다만 생각보다 안드로이드 스튜디오 설치에 오래걸렸다.(모바일 주제에...) 이 책에서는 코틀린 언어를 사용한다. 구글이 코틀린을 안드리오드 앱 개발의 공식 언어로 선언하고 지원함으로써 코틀린 인기가 상승하고 있으며, 자바보다 배우기 쉽고 더 간결하기 때문이라고 한다. 어떤 언어가 더 쉽고 좋다로 왈가왈부하..
대부분의 아키텍처 책이 그렇듯이 이 책도 해당 분야를 전공한 학부생 3,4학년 혹은 석사과정을 대상으로 한다. 언어의 뉘앙스 차이로 책 제목은 'just'가 '적정'으로 번역되었다. 옮긴이의 말에서도 적혀있지만, just enough 느낌이 제대로 살지 않는 느낌이다. 완벽히 들어맞다고 할 수는 없지만 이보다 좋은 단어는 없다고 생각된다. 이 책은 특정 아키텍처 모델을 설명하는 책이 아니다. 이 책은 다른 저자가 발명한 아키텍처 모델링 접근법을 어떻게 해야 효율적으로 선택할 수 있는지 기준을 제시한다. 그 기준이 바로 리스크(Risk)다. 핵심 아이디어는 소프트웨어 아키텍처를 설계하는 데 드는 노력이 프로젝트의 리스크에 비례해야 한다는 것이다. 이것을 간단하게 저자는 우편함 설치를 예시로 들었다. 기계공..
[책리뷰] 동시성 프로그래밍(Concurrent Programming) 한줄 요약 : 프로그래밍 성능을 끌어올리고 싶은 시니어 프로그래머들이 봐야할 책 그렇다. 이 책은 초보자나 주니어 프로그래머들 보다는 프로그램 성능을 담당하고 있는 시니어 프로그래머 이상급이 봐야되는 책이다. 저자의 말에서 이 책이 다른 책과 다른 점이 무엇이냐 묻는 질문에 저자는 다음과 같이 답했다. "어셈블리에서 알고리즘, 계산 모델에 이르는 광범위한 주제를 총체적으로 다룬 세계 최초의 책입니다." 책의 대부분의 예제 코드는 Rust를 이용한다. Rust 언어를 사용한 이유는 동시성 프로그래밍에서 안정성을 제공하고, 메모리를 고려해 코드를 작성할 수 있으며 async/await 등의 고급 개념을 적용하고 있기 떄문이라고 한다. 저..
WSL이 등장한 것은 2016년부터 였지만, 최근에 들어서야 사용자들이 많아지기 시작했다. 컴퓨터 사용자들 대다수가 윈도우 운영체제를 사용하기 때문에 개발자들도 윈도우 환경에서 테스트가 필요하다. 스택오버플로우 2021 통계에 따르면 개발자들 45% 정도는 윈도우 운영체제를 선호한다고 한다. 그러나 재밌는 점은 2021년도부터 WSL도 하나의 운영체제로 선호도 반열에 올라섰다. 나 역시 윈도우 환경에서 서류 작업과 코드를 짜면서 동시에 리눅스 환경에서 빌드 테스트를 해야할 일이 많다. 보통은 가상머신을 설치하여 리눅스 환경을 별도로 구축하거나, 리눅스 노트북을 이용하여 개발을 진행해왔다. 그러나 WSL 존재를 알고난 이후부터 따로 해도 되지 않아 편리해졌지만, 아직 개선점이 많이 필요하지만 훌륭하게 동작..
[기본 미션] - 포인터의 핵심 내용을 정리하고 공유하기 포인터(Pointer) : 주소를 저장하기 위한 변수형 → 변수인데 속에 담긴 내용은 메모리 주소 즉, 메모리 주소를 저장하는 변수 포인터는 어떤 변수에 저장된 값에 직접적으로 접근하는 것이 아니라 주소를 이용해서 간적접으로 접근하는 방식이다. 포인터의 핵심이라고 하면 메모리 주소와 변수이다. 포인터의 용도 설명 1. 큰 데이터를 매개변수로 사용할 때 const 배열에 오소가 10만개 있다고 하면, 매개변수 복사하느라 메모리와 시간 낭비. 포인터로 첫 번째 요소의 주소만 전달하면 모든게 해결 2. 반환 값이 둘 이상일 때 min, max 코드 참조 포인터로 함수 안에서 원본을 직접 변경하는 반환이랑 마찬가지 3. 동적 메모리 할당 함수의 범위에 상..
비전 시스템을 위한 딥러닝(Deep Learning for Vision Systems) 신경망을 활용한 엔드투엔드 컴퓨터 비전 애플리케이션 구축하기 딥러닝은 컴퓨터 비전 분야에서 엄청난 활약을 하고 있으며 대단한 성능, 결과를 내놓고 있다. 지금껏 여러 딥러닝 책을 봐왔지만 너무 쉽거나 너무 어렵거나 둘 중 하나였다. 보통은 가장 인기 많은 GAN을 집중적으로 다루는 책이 많았다. 그러나 이 책은 비전 시스템을 공부하고자 하는 학생들을 위한 교과서라고 볼 수 있다. 이 책은 컴퓨터 비전을 위한 딥러닝을 직관적으로 가르치는 책이다. 그러나 적어도 머신러닝의 기본적인 개념과 파이썬을 할 줄 아는 사람을 대상으로 한다. 초반부에는 머신러닝의 기초를 가볍게 다루고, 이후 본격적으로 수학 개념을 설명하면서 고급 ..
[기본 미션] - 직접 정리한 키워드 공유하기 [배열(array)] 동일한 자료형을 여럿 담을 수 있는 자료 구조 배열 안에 있는 각 데이터를 요소(element)라고 부름 몇 개의 데이터를 담을지 결정한 뒤에는 그 수를 바꿀 수 없음(단, 내용 변경은 가능) [배열의 색인] 대부분의 프로그래밍 언어에서 배열의 색인은 0부터 시작 -> 첫 번째 = 0, 두 번째 = 1 그 이유는 메모리 때문. 첫 번째 요소(시작)로부터 오프셋(offset) 얼마만큼 떨어져 있는지를 판단 C#과 달리 new를 반드시 사용할 필요가 없음 배열에 접근하는 법은 C#과 동일 모든 기본 자료형 변수(char, int, float)를 new 없이 사용할 수 있었던 이유는 바로 스택 메모리에 할당됐기 때문 기본 자료형을 함수 매개변..
[기본 미션] - 함수의 유형을 정리하여 공유하기 반환형 함수명(매개변수1, 매개변수2, ...) { // 함수 실행 코드 // 반환형에 따른 반환값 } 기본적인 함수의 형태는 위와 같다. 반드시 적어줘야 하는 것은 반환형과 함수명이다. C언어에서 함수는 기본적으로 모두 전역(global) 함수이다. 따라서 어디에서든 접근/호출이 가능하다. 물론 이걸 제한할 수 있는 키워드가 있긴 하다. C언어에서 사람들이 실수하는 부분 중 하나는 함수 오버로딩이 없다는 것이다. 보통 C/C++을 같이 사용하기 때문에 신경을 쓰지 않는다. void print(int score) { printf("Score : %d\n", score); } void print(float gpa) /* 컴파일 오류 */ { printf("..