분류 전체보기
-
나는 나로 살기로 했다Review 2017. 7. 30.
나는 나로 살기로 했다 - 김수현 지음/마음의숲 어느날 문득 내 자신이 초라하고 무력하게 느껴졌다. 애매한 나이에 애매한 경력과 애매한 실력. 나는 제대로 갖춘것도 보장된 것도 없는 애매한 사람이었다. 어쩌다, 이렇게 애매한 어른으로 자라버렸을까. . . . 나는 나를 존중하고, 나로서 당당하게 살아가도 되는 거였다. 이 책은 내가 느꼈던 초라함의 이유이자, 나를 초라하게 했던 모든 것들에 대한 나의 답변이다. 나는 점심을 먹고 근처 책방 근처를 서성이면서 가볍게 산책하는 일을 즐긴다. 여름이 시작하려고 할 때 나는 우연히 "나는 나로 살기로 했다" 책이 눈에 들어왔다. 책 옆는 "언어의 온도", "베리 심플"이 함께 놓여 있었다. 책들을 살펴보다가 이 책의 표지를 보니 가장 쉽게 읽을 수 있을꺼 같아 ..
-
제품 이슈를 관리하고 해결하는 노하우 #2Think 2017. 7. 12.
2017/06/10 - [Think] - 제품 이슈를 관리하고 해결하는 노하우 이전 글에 이어서 이슈 관리 관련하여 추가 글을 적어본다. 버그 수정 관리가 중요하다 이슈 관리에 있어 알아야할 전제는 "일반적으로 코드가 수정되면 버그가 생길 확률이 높아진다"는 점이다. 예를 들어 신규 기능이나 기능 개선건이 merge되면 그 위치에서 버그가 발생할 확률이 자연스럽게 높아진다. 여기까지는 흔하게 예상할 수 있는 범위인데 중요하게 생각해야할 부분은 버그 수정건이다. 버그를 수정했는데 그 수정사항 때문에 또 다른 버그가 나타날수 있다는 점이다. 특히 이전에 수정된 문제점이 다시 나온다면 제품 완성도면에서 타격을 입을 수도 있어 버그 수정에 대한 관리가 꽤 중요하다고 생각한다. 버그를 수정할 때에는 아래 목적을 ..
-
Elastic Search, Kibana를 사용하여 이슈 관리하기Daily 2017. 7. 11.
올해의 목표 올해 새롭게 꾸려진 우리 팀은 Stable 버전의 유지보수(버그 수정)를 담당하고 있다. 개인적으로 오랫동안 유지보수 일도 해왔고 그 동안 쌓인 노하우를 실험해보고 싶었다. 이런 저런 이유로 새로운 목표를 계획했는데, 목표를 그대로 적기에는 배경 설명이 길어지니 요약하면 "적은 인원으로 최대한의 유지보수 효과내기" 또는 "유지보수 비용 줄이기"라 말할 수 있다. 아래는 목표를 달성하기 위한 일부 내용들이다. 문제 재현을 빨리 할수 있는 테스트 도구를 만들거나 현실적으로 고치기 기존에 만들기 어려워했던 유닛테스트에 대해서 mock을 활용하여 기본 틀 제공하기 이전에 발생한 주요 이슈들을 추적해서 유닛테스트가 있는지 검토하고 없으면 신규로 작성하기 주요 모듈에서 발생한 이슈는 유닛테스트 작성을 ..
-
보안을 시작할 수 있도록 도와줄 생활 보안 첫걸음Review 2017. 6. 28.
손으로 익히며 배우는 생활 보안 첫걸음 - 마스이 토시가츠 지음, 손정도 옮김/한빛미디어 일반적으로 "보안은 어려울거야" 인식이 있다. 옛날 바이러스만 있었던 시절, 안철수연구소의 V3 백신만 알면 되었던 수준에서 이제는 스파이웨어, 랜섬웨어와 같이 다양한 종류의 공격들이 생겨났고 개인에게 돈을 목적으로 광범위하게 공격을 하고 있어서 단순히 넘기기엔 어려운 상황이다. 주변 지인들의 랜섬웨어 사례들도 있어 다른 사람의 이야기로만 치부하기도 어려워졌다. 하지만 보안을 고려하거나 학습하려면 컴퓨터 전반적인 지식을 가지고 있어야 한다. IT 시스템을 네트워크, 운영체제, 어플리케이션 이렇게 크게 3가지로 추상화하여 나눌 수 있는데 이를 이해하기 위해서는 전공자가 받는 교육이 필요하다고 생각한다. 물론 웹을 잘 ..
-
설정 파일은 어떤 포맷을 사용할까?IT/101 2017. 6. 23.
이번 글에서는 설정 파일에 대한 이야기를 하려고 한다. 개발을 할 때 설정 파일 포맷을 직접 만들어서 개발하는 경우가 있는데 사실 아래와 같은 경우가 아니라면 이미 잘 만들어진 포맷들을 이용하는 것이 좋다. 잘 알려진 설정 포맷들이 내가 원하는 기능을 지원하지 않을 때 다양한 멀티 플랫폼을 고려해야할 때 원하는 기능을 제공하지 않는 경우는 할 이야기가 없지만, 멀티 플랫폼 고려에 대해서는 apache와 nginx를 소개하려 한다. apache, nginx 웹 서버에서 사용하는 설정 포맷은 ini 스타일과 비슷하지만 독자 스펙으로 개발되었다. 왜냐하면 다양한 플랫폼을 고려해야하기 때문이다. 그도 그런 것이 다양한 플랫폼에서 설정 포맷 라이브러리가 모두 지원되리라는 법이 없기 때문에 이런 경우는 만들어서 사..
-
제품 이슈를 관리하고 해결하는 노하우Think 2017. 6. 10.
팀 동료들과 이슈에 대한 이야기를 하면서 갑자기 이런 생각이 문득 들었다. 이슈를 분석하는 절차나 노하우를 정리하면 어떨까? 정리를 잘해놓으면 체크리스트처럼 이슈 분석시 시간을 많이 줄여줄 수 있지 않을까? 그래서 그 동안 사람들에게 배운 지식과 경험하면서 알게된 것을 토대로 정리를 하려고 한다. 물론 절대적인 기준이 있을거라 생각하지는 않지만 말이다. 여러가지 이유로 신규 개발건보다 제품 이슈 해결을 꽤나 오랫동안 해결해왔고 지금도 그 굴레에서 벗어나고 있지 못하고 있다. 어떤 면에서 재미도 있다. 문제의 원인을 찾았을 때의 짜릿함과 성취감이 크기 때문이다. 이슈 해결은 참 재미있는 문제 풀이지만 해결하지 못하면 야근의 요정을 만나는 지름길이다. 서론이 길었지만 이슈 해결을 하려면 일단 준비 단계가 필..
-
Effective PythonReview 2017. 5. 30.
Effective Python 이펙티브 파이썬 : 파이썬 코딩의 기술 - 브렛 슬라킨 지음, 김형철 옮김/길벗 Python은 매력적인 언어이다. 언어가 주는 간결함 그리고 동적 타이핑, 다양한 내장 기능과 오픈소스 패키지들은 사용하지 않을 수 없게 한다. 하지만 알면 알수록 어려워지는 언어임은 틀림 없다. 모든 개발 언어가 그렇듯이 그 언어의 특성을 이해하고 코드를 "잘" 작성하기 위해서는 몰입과 경험이 필요하다. 어떻게 하면 그 언어스럽게 코드를 잘 작성할 수 있을까? 이에 대한 좋은 답은 Effective 시리즈의 책이라고 생각한다. 나에게 있어 Effective 시리즈의 책들은 그 언어를 더 깊게 이해하게 도와주는 경험의 모음집이다. 그래서 사용 언어에 있어서 Effective 시리즈 책이 새로 나..
-
그림으로 개념을 이해하는 알고리즘Review 2017. 5. 3.
Hello Coding 그림으로 개념을 이해하는 알고리즘 - 아디트야 바르가바 지음, 김도형 옮김/한빛미디어 컴퓨터 개발을 하면서 알고리즘을 학습하는 것은 매우 중요하다. 너무 오래전에 배워서 이미 잊혀진 것들이 있을 수 있지만 개발을 하다보면 다시 알고리즘을 학습해야하는 순간은 종종 찾아온다. 앱을 통해서 택시와 나를 연결해주고 싶다. 어떻게 현재 위치에서 가까운 기사들에게 알림을 보낼 수 있을까? 웹 브라우저의 뒤로가기/앞으로가기는 어떻게 구현해야 하는 걸까? 영화 추천 서비스는 어떻게 나에게 영화를 추천해주는 걸까? 이렇듯 꾸준히 학습을 해야하는 알고리즘은 시중에 책들이 많이 나와 있다. C/C++로 된 책부터 Java, Python까지 다양한 언어로 알고리즘에 대한 학습 서적이 이미 나와있다. 하..