일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Linux
- hbase
- Python
- web
- psychology
- management
- django
- RFID
- program
- Software Engineering
- Italy
- erlang
- Programming
- leadership
- Kuala Lumpur
- ubuntu
- QT
- France
- hadoop
- programming_book
- essay
- history
- Book
- comic agile
- Book review
- Java
- Spain
- agile
- MySQL
- Malaysia
- Today
- Total
목록Programming (38)
쿡북 형식으로 다양한 프로그래밍 언어를 통해 실용적인 코드 작성법을 제안한다. 이론을 깊게 파고들거나, 학문적인 수준으로 설명을 하는 게 아님에도 불구하고, 책의 부피나(이 정도면 두께보다는 부피라고 말하는 게 적절할 거 같다), 각 장별 내용이 마냥 쉽게 읽고 이해하기는 어렵다. 로버트 마틴의 클린 코드를 알고 있다면 오히려 더 어려워할 지도 모르겠다.이 부담감만 잠시 내려놓을 수 있다면 수백개의 code snippet을 통해 세분화된 주제별로 나눠서 하나씩 살펴볼 수 있기에, 자신이 작성하는 코드의 품질을 고민하는 개발자라면 누구에게나 도움이 될 책이다. 언어도 하나만이 아니라, java, javascript, python, c, c++ 등 여러가지를 사용했는데, 하나의 언어로 제한하지 않고 대부분의..
좋은 점 Java를 배우는 초보자에게 적합 하나의 주제별로 code와 함께 볼 수 있어 좋은 code를 작성하기 위한 기술을 나눠서 습득 가능 code 관련 기술에 대해 주로 다루지만, software engineering에 대한 부분도 조금이라도 다루면서 전반적인 설계 관련된 영역을 제목처럼 '입문'하는데 충실하려고 노력 아쉬운 점 저자는 Java를 사용했지만 다른 언어에도 적용이 가능할 거라고 하는데, 꼭 그렇지는 않음 e.g. 'static 메서드 오용', 당연히 static keyword가 Java와 일치하는 경우가 아니면 다른 언어에 적용할 수 없음 e.g. '인터페이스를 통한 조건 분기 해소', interface를 통해 OOP의 다형성을 구현하는 부분 자체는 좋지만 다른 언어에서 이에 일치하는..
건축 사이에 유사점... 마틴 파울러... 가장 해로운 비유... 프로그래밍은 건축이 아닌여러 단계의 커뮤니케이션 프로그래밍은 문학과 훨씬 더 많은 공통점 데이터 구조는 시간이 정지된 알고리즘이다. 코드는 꾸준히 이자를 내야 하는 부채... 필요한 기능을 얻기 위해 함께 살아가야 하는 것을 필요악 시간이나 노력을 들였기 때문에 어떤 것에 가치를 부여하는 것을 매몰 비용의 오류(sunk-cost fallacy) 코드에 너무 집착하면 원래 문제에서 초점을 잃고 결국 문제를 수동으로 해결하는 데 걸리는 것보다 문제를 자동화하는 데 더 많은 시간을 소비 적은 것이 더 낫다 Less is better: when low‐value options are valued more highly than high‐value ..
세계적인 경영컨설턴트이자 미래학자인 니콜라스카는 '띄어쓰기'에 주목했습니다. 글로 생각을 전달할 때, 띄어쓰기는 글을 읽는 방식에 중요한 변화를 주기 때문인데요. 니콜라스 카는 띄어쓰기가 가져오는 글 읽기의 변화가 결국 뇌를 개선하는 역할을 했다고 보고 있습니다. 바로 뒤에서 이야기하지만 중국어나 일본어도 그렇고 띄어쓰기가 이런 지적인 발전에 연결된다는 건 바로 와닿지는 않음. 버마어도 띄어쓰기가 없으며 띄어쓰기가 단어 기준이 아닌 베트남어도 있기도 하기 때문에 아마 서구 중심의 시각으로 이야기하는게 아닐까 싶음 orthography - Is there a long list of languages whose writing systems don't use spaces? - Linguistics Stack ..
static typed language가 dynamic typed language에 비해 더 안전하다는 주장에 대한 반박 협력적 멀티태스크 선점적 멀티태스크 - 일정 시간에 교대한다 경합 상태의 3가지 조건 공유하지 않는다 - 프로세스와 액터 모델 변경하지 않는다 - const, val, Immutable 끼어들지 않는다 10.5 락의 문제점과 해결책 트랜잭션 메모리 (Transactional memory) Alan Kay '객체 지향'이란 용어에 대해 질문을 받은 그는 '형에 반대하지는 않지만, 고생하지 않는 형 시스템을 본적이 없다' 'Simula의 상속 방법은 좋지 않다' '객체 지향이란 상태를 가진 객체가 메시지를 주고 받아서 커뮤니케이션하는 프로그램이다' 형이나 상속에 대한 부정적인 입장 클래스..
저자가 java 전문가라 약간 치우친 경향도 있고, 또 기술적인 내용은 java에 관계된 게 대부분이나, 전반적인 부분은 기술이나 특정 언어와 무관하게 적용할 수 있는 이야기이고, 읽기 쉽게 쓰려고 노력한 점이 엿보인다. 표지에도 썼지만 신입으로 지원하거나 경력이라도 junior인 개발자들에게 적합한 책이다. 면접관들은 당신들을 뽑아주기 위한 사람이다. 회사에서 면접을 보는 이유는 그 분야에 사람이 필요하기 때문이다… 사람이 긴장하는 이유는 자기능력보다 잘보이려고, 잘하려고 하기 때문이다. 하지만, 긴장을 하게 되면 알고 있는 것도 제대로 대답을 못한다… 그 회사에 떨어지면 좀 어떤가? … 그래야 내가 부족한 것이 무엇인지 내가 얼마나 성장을 하고 있는지, 얼마나 가치를 인정받을 수 있는지를 무료로 컨설..
크게 봐서는 좋지만, 뭔가 좀 애매한 부분이 있다. ‘프로그래밍 심리학’을 기반으로 우리나라에 없다시피 한 프로그래밍 + 심리 분야를 개척하다시피 하는 (걸로 보이는) 분이 쓴 책이다. 심리학을 통해 (직급 무관하게) 종사자들의 심리적인 문제 해결을 위해 여러가지 도구들을 통해 해결할 수 있는 방법들을 제시하는 부분들이 좋다. 요즘은 누구나 아는 MBTI를 바탕으로 유명한 리더들이 어떤 스타일인지 이야기하며 어떤 업무에는 맞고 또 다른 경우는 좀 부족할지를 논하는 등 심리적인 부분과 업무의 방향을 정하는 데 있어 도움을 얻거나, 최소한 재미있게 읽을 만한 내용이 포함되어 있다. pair programming 등의 실질적인 기법에 대해서도, 어느 정도 설명이 있기 때문에 이런 부분에 관심을 갖는 경우 도움..
개인적으로 시간을 낼 수도 없고, 회사도 기회를 제공하지 않은 상태로 시간만 보내게 되는 겁니다. (지금 이 문제로 내가 싸우고 있어서 정말 와닿는다) 소프트웨어 개발 프로젝트의 복잡도는 크게 두 가지 변수의 영향을 받습니다. 그것은 바로 ‘사용자 요구사항’과 ‘개발기술’인데요. 먼저 ‘사용자 요구사항’ 의 경우를 보죠. 폭포수개발방식은 프로젝트 초기에 요구사항을 고정시킵니다. 사용자와 철저한 인터뷰를 하고 문서를 만들며, 여기에 확인 서명을 받기도 하죠. 이에 반해, 애자일 방식은 요구사항의 변화를 그대로 수용합니다. 다만 반복적인 프로세스를 돌려서, 각 프로세스(이터레이션 또는 스프린트) 안에서는 요구사항이 변하지 않도록 보호하는 조치를 합니다. 그럼 기술의 변화는 어떻게 수용할까요? 프로젝트 초반에..
프로그래밍과 직접 연관된 부분은 거의 없지만, 여러가지 시사점을 제공하며, 좀 더 나은 프로그래밍을 하는 데 많은 도움을 줄 수 있는 주제들을 다룬다. 프로그래밍, 소프트웨어 공학이 발전하면서 세부적인 주제들, 일견 관련이 없어 보이는 부분들을 다루는 쪽으로도 나아가는데, 이 책 역시 그런 종류의 책이다. 예를 들어, 코드를 작성하는 것만큼, 어쩌면 그보다 더 코드를 읽는 게 중요하다는 사실은 최소한 경력이 있는 개발자들에겐 잘 알려진 사실이다. 하지만 이런 작업이 뇌와 어떻게 연결되고, 어떻게 동작하는지에 대해 쓴 책이 아마 이 책이 최초가 아닐까? 개인적으로는 비개발자들에게 개발자의 작업을 이해시키는데 유용하게 쓸만한 근거 자료들을 찾을 수 있어서 당장 직접적인 도움도 되었고, 프로그래밍을 이해하고 ..
제목에서 알 수 있듯 이 책은 초보자가 독학으로 알고리즘을 배우는 걸 목표로 하며 C와 java로 설명한다. 최근에는 대부분의 초보자가 접근하기 좀 더 쉬운 python같은 언어를 사용하기 때문에 C와 java같은 컴파일이 필요한 언어는 잘 안 쓰는 거 같다(우리 회사나 주변 분들 회사를 봐도 이미 일하는 사람들이나 지원을 하는 사람들 보면 비전공자, 부트 캠프 출신이 많아졌는데 하나같이 python으로 crawling이나 간단한 ML/DL project를 이력서에 기술한다). 개인적으로 python을 좋아하기는 하지만 static typed, compiler를 사용하는 언어를 배우는 건 실력 향상을 위해서도 좋은 일이기 때문에 이렇게 여전히 C나 java를 사용하는 초보자용 책이 나오는 건 의미있는 일..