PHP 개발자로 지낸 지 4년, 한 언어에 국한되지 말고 다양한 언어를 체험해 보고 싶은 마음이 커질 때 즈음 현 직장에서 JAVA로 Server Engine을 개발해보지 않겠냐는 제안을 받았고 흔쾌히 수락하였습니다. 제 머릿속에 자리 잡고 있는 JAVA는 객체지향 언어의 표본 주자이지만, 다루기 까다롭고 스레드 폴, 병렬 실행 컬렉션 등 강력한 기능들은 존재하였지만 개발자로서 활용하기 어렵고 이해하기 힘든 부분이 많았기에 매우 까다로운 언어라고 생각이 들었습니다. JAVA 8 버전이 지나면서 개발자들이 사용하기 좋은 기능들을 더욱 강력하게 지원해준다는 소식을 듣고, 회사 근처에 있는 교보문고 광화문점으로 나들이 가서 너무 기본적인 문법만 가리키는 정석 느낌에서 벗어난 [모던 자바 인 액션]을 발견하였습..
IT 분야는 너무 포괄적이고, 각 분야별로 파고들면 들수록 세분화되고 그렇기 때문에 개발 및 IT분야 종사자는 스스로 학습을 게을리하는 순간 도태되는 것이라고 생각합니다. 하루가 멀다 하고 새로운 기술들과 새로운 하드웨어들이 쏟아져 나오는 이 시대에서 새로운 것들을 계속 공부하는 현업에 종사하는 저는 얼마 전 한 대학생에게 취업 면접 관련하여 운영체제, 네트워크, 자료구조 등 기본적인 것들에 대해 질문을 받았습니다. 그리고 그 질문들에 대해 명확하게 이야기할 수 없었습니다. 때문에 기본 중의 기본을 쉽게 이해할 수 있게 도와주는 책을 찾아보게 되었고 [면접을 위한 CS 전공지식노트]라는 책을 발견하였습니다. 현업에 종사하며 꼭 필요하다고 생각했던 디자인 패턴에 대한 간략한 설명과 각 패턴을 어떤 상황에서..
객체지향 개발 과정에서 겪는 다양한 이슈를 종합해보면, 각기 다른 문제가 아니라 서로 비슷한 유형의 문제가 됩니다. 개발자들은 서로 자신의 경험을 바탕으로 그 비슷한 유형의 문제들을 각기 다르게 해결해나갔습니다. 이러한 비슷한 유형의 문제를 다르게 해결해 나갈 필요성이 없다고 생각한 GoF는 객체지향 설계 시 발생하는 문제점을 목록화하여 24가지 패턴으로 정리하였고 이를 오늘날 디자인 패턴(Design Patterns)이라고 부르게 되었고, 이는 디자인 패턴 24가지를 학습한다면 소프트웨어 설계에 있어서 공통된 문제들에 대하여 표준적인 해법과 직영 법으로 접근이 쉬워짐을 뜻 하기에 우리는 디자인 패턴을 배워고 이해해야 합니다. 지금 추천하는 책의 예제는 PHP 언어를 기반으로 이루어져 있기 때문에 Jav..
해가 바뀌면 가장 먼저 하는 일은 버킷리스트(Bucket List)를 최신화시키는 것이다. 다이어트, 금연, 월급의 반은 적금하기 등 수많은 리스트들을 적는데 그중 꼭 껴있지만 지켜지지 않는 항목 '한 달에 책 1권 읽기'. 이제서라도 지키기 위해 최근에 책을 읽고 있고 그중, 재미있게 읽은 책을 추천하려고 글을 쓴다. 나는 자기 계발서를 그다지 좋아하지 않는다. 누구나 다 알고 있는 내용을 자신의 지혜인 것처럼 조언의 형식으로 글을 풀어나가 더 노력할 수 있는 독자들에게 '넌 충분히 열심히 했어'라는 자기 위로를 하게 하기 때문이다. 스스로 위로하는 것만큼 나태해지는 마약은 세상에 없다고 생각하기 때문에 몇몇 자기 계발서는 '마음의 마약'이라고 까지 생각이 되었다. 그럼에도 굳이 자기 계발서를 읽는 이..