목록전체 글 (96)
Scientia Conditorium
[책리뷰] 오준석의 안드로이드 생존코딩 코틀린 편(2판) 아직까지는 모바일이 미래라고 보지는 않는다. 데이터 통신과 전력 충전이 유선보다 빠를수가 없기 때문이다. 그럼에도 불구하고 모바일 앱을 개발해야되는 상황을 마주치게 되었다. 이 책의 좋은 점은 실용 앱 9가지를 개발해볼 수 있다는 점이다. 실질적으로 모바일 앱 개발은 이 책을 통해서 처음으로 해보았다. 무작정 따라하기만 하면 되기 때문에 쉬웠다. 다만 생각보다 안드로이드 스튜디오 설치에 오래걸렸다.(모바일 주제에...) 이 책에서는 코틀린 언어를 사용한다. 구글이 코틀린을 안드리오드 앱 개발의 공식 언어로 선언하고 지원함으로써 코틀린 인기가 상승하고 있으며, 자바보다 배우기 쉽고 더 간결하기 때문이라고 한다. 어떤 언어가 더 쉽고 좋다로 왈가왈부하..
대부분의 아키텍처 책이 그렇듯이 이 책도 해당 분야를 전공한 학부생 3,4학년 혹은 석사과정을 대상으로 한다. 언어의 뉘앙스 차이로 책 제목은 'just'가 '적정'으로 번역되었다. 옮긴이의 말에서도 적혀있지만, just enough 느낌이 제대로 살지 않는 느낌이다. 완벽히 들어맞다고 할 수는 없지만 이보다 좋은 단어는 없다고 생각된다. 이 책은 특정 아키텍처 모델을 설명하는 책이 아니다. 이 책은 다른 저자가 발명한 아키텍처 모델링 접근법을 어떻게 해야 효율적으로 선택할 수 있는지 기준을 제시한다. 그 기준이 바로 리스크(Risk)다. 핵심 아이디어는 소프트웨어 아키텍처를 설계하는 데 드는 노력이 프로젝트의 리스크에 비례해야 한다는 것이다. 이것을 간단하게 저자는 우편함 설치를 예시로 들었다. 기계공..
원본 링크 : 현재 중소 게임회사 다니며 틈틈히 인디게임 개발하는 개발자입니다. 게임이 만들고 싶어 기획부터 | Peing -질문함- 프로그래머 실력에 대한 자격지심 조언 질문 : 현재 중소 게임회사 다니며 틈틈히 인디게임 개발하는 개발자입니다. 게임이 만들고 싶어 기호기부터 플머까지 다양한 커리어가 섞이다보니 미묘한 제너럴리스트가 되어있었습니다! 물론 가장 오래, 높게 쌓은건 프로그래머쪽 커리어입니다만, 요즘들어 부쩍 무엇 하나 제대로 일인분을 해내지 못하는 듯한 기분이 들어 아.. 내가 캐릭터를 잘못 키웠나! 하는 생각이 듭니다. 이제 곧 서른이 머지 않았는데 지향점이 높은 탓인지 제가 부족한게 무엇인지 나열해보면 마음이 꺾이고 키보드에 얹은 손이 자꾸 굳는 기분을 느낍니다. 이대로 가면 평생 실패만..
원본 링크 : https://j.mearie.org/post/6038530297/advice-from-an-old-programmer 오랜 프로그래머로부터의 조언 여러분은 이 책을 끝냈고 프로그래밍을 계속 하기로 마음먹었습니다. 그게 미래의 직업일 수도 있고, 그냥 취미일 수도 있습니다. 그리고 둘 중 맞는 방향을 찾으려면, 그리고 새로 선택한 취미에서 최대한 즐거움을 얻으려면 약간의 조언이 필요할 겁니다. 저는 지겨울 정도로 프로그래밍을 아주 오랫동안 해 왔습니다. 이 글을 쓰는 시점에서 저는 대략 20개의 프로그래밍 언어를 알고 언어에 따라 차이는 있지만 하루에서 1주면 새로운 언어를 배울 수 있습니다. 물론 새 언어를 이런 식으로 배우는 건 이제 지겹고 더 이상 관심사가 될 수 없었죠. 제가 이 과..
[소켓 프로그래밍001] opencv를 이용한 동영상 이미지 전송 프로그램 우연히 소켓 프로그래밍을 해야할 일이 생겼다. 비전공자 출신으로 네트워크 수업도 들어본 적 없으며 뭐가뭔지 한참을 헤맸지만 조금씩 헤쳐나갔다. 윈도우에서 간단하게 서버/클라이언트를 생성하여 동영상 이미지를 프레임 단위로 전송하는 간단한 프로그램을 만들어보았다. 먼저 서버다. #include #pragma comment(lib, "Ws2_32.lib") #include #include #include #include #include #include #include #include #include #include #include #define FRAME_WIDTH 640 #define FRAME_HEIGHT 480 cv::Mat ca..
[책리뷰] 동시성 프로그래밍(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 없이 사용할 수 있었던 이유는 바로 스택 메모리에 할당됐기 때문 기본 자료형을 함수 매개변..