180514-180520

2018년 05월 14일 ~ 2018년 05월 20일 주간 회고


180514-180520

Weekly Review

  • 아침 6시에 기상 후 출근해서 업무 시작 전까지 한 주 동안 비트코인, 블록체인과 금융의 혁신을 읽었다. 항상 뜬구름 잡던 블록체인의 개념이 조금씩 그려지는 느낌이다.
  • 5월 19일에 오라클에서 진행하는 카프카(Kafka) 제대로 이해하기 Meetup 참여하였다. 세션을 진행해주신 고승범 님의 발표도 너무 재미있었고 카프카가 무엇인지 알게 된 유익한 Meetup이었다. 간단하게 후기를 작성 해보았다.

책 읽기

  • 자바 성능을 결정짓는 코딩 습관과 튜닝 이야기 - 이상민
  • 만화로 배우는 리눅스 시스템 관리 1 - Piro
  • 비트코인, 블록체인과 금융의 혁신 - 안드레아스 M. 안토노풀로스

Devlopment

  • AWS ec2 업그레이드로 서버 재기동 시 환경설정 작업과 각종 Application을 재기동을 어떻게 해야 하는지 배울 수 있었다.
  • 최근에 로그를 많이 보는 일이 생겼는데, 매번 Grep으로 분석하는게 너무 피곤한 일인 것 같다. 따라서 로그 시각화 작업을 ELK 스택으로 구축해보는게 어떨까 생각하고 있다.
  • java, Spring만 해도 시간이 턱없이 부족한데 자꾸 새로운 것이 눈이 간다. 좋은 현상은 아닌 것 같다. 현재 하고 있는 것에 집중하자!

이번 주에 읽었던 좋은 글

  • 사이드 프로젝트가 개 중요한 이유(Why side projects are so damn important) 이름만 들어도 아는 성공한 회사들, 그 회사들의 서비스가 사이드 프로젝트로부터 시작되었다. 그러나 우리나라의 회사에서 사이드 프로젝트의 시간을 확보해줄 회사가 있을지는 모르겠다(?).
    이 글은 사이드 프로젝트가 왜 중요한지에 대해 설명하고 시작하는 방법을 소개한다.
    • 작게시작한다. 
      • 가장 쉬운 방법은 재미있는 흥미로운 작은 프로젝트를 선택하거나 문제를 해결하는 것이다. 그 중 하나가 쉽게 구현 될 때까지 작은 컴포넌트로 나누는 것이다.
    • 단순함을 유지한다.
      • 나중에 새로운 것을 추가 할 수는 있지만, 시작하기 직전에 기능을 최소한으로 줄여야한다.
    • 압박을 받지 말아야 한다.
      • 실패하더라도 문제가되지 않는다는 것을 말하는 것이다.
  • 현재의 HTTPS의 차단과 앞으로의 차단방법으로? 최근 불법 웹툰으로 인해 한국 웹툰 시장이 위험해지다 보니 통신사 측에서 불법 사이트를 차단하고 있다. HTTPS의 경우 패킷의 내용이 암호화되어 있어 HTTP처럼 일부 값을 확인해서 패킷을 차단하지 못한다. 따라서 어떠한 방식으로 HTTPS를 차단하고 있는지, 그리고 앞으로 어떤 방식이 도입될지에 대한 글이다.
  • 도메인 주도 설계의 본질 이 자료를 보고 최근 나 자신이 너무 기술에만 집중하고 있다는 것을 느끼게 해주었다. 조만간 시간을 내서 DDD에 대해서 공부를 하고 싶다는 생각이 들었다. 인상 깊었던 말을 간단하게 정리.
    • 소프트웨어의 본질 : 해당 소프트웨어의 사용자를 위해 도메인에 관련된 문제를 해결하는 능력
    • 대부분의 프로그래머들은 기술에 매혹
      • 소프트웨어의 본질은 기술이 아니다.
    • 핵심은 도메인의 복잡성
    • 도메인에 집중하고 도메인의 개념을 커뮤니케이션과 코드로 부드럽게 연결시키려는 과정이 도메인-주도 설계의 핵심
    • 기술이 아닌 도메인의 소리에 귀 기울여라
  • 훌륭한 소프트웨어 엔지니어란? 답: 카멜레온 개발자 제목에서처럼 훌륭한 개발자가 되려면 카멜레온 개발자가 되어야 한다는 말에 동의한다. 하드 스킬에만 치우치지 않고 소프트 스킬에도 신경 쓰며 빠르게 학습해서 써먹을 수 있는 능력 그것이 중요한 시대에 살고 있는 건 팩트이니깐.
    • 훌륭한 개발자를 정의한다는 것 자체가 말이 안된다
    • 코드 한줄을 짜더래도 장인정신을 가지고 버그를 만들지 않는 개발자. 어떤 아이디어든 2–3 일 이면 순식간에 프로토타입을 뚝딱거리고 만드는 개발자. 문제가 있으면 방안에 틀어박혀 며칠이고 문제가 풀릴때까지 파고드는 개발자. 개인의 역량보다는 팀을 이끌어 문제를 해결하는 개발자. 각자의 취향과 성향에 따라서 선호하는 개발자의 모습이 있다.
    • 소프트웨어 엔지니어의 본질은 특정 문제를 수치화하고 세분화해서 해결책을 제시하고 적용하는 사람. 가장 좋은 해결책은 코드를 한줄도 안짜는 것이다.
    • 개발자들이 풀어야할 문제의 시작은 어떻게 코드로 구현을 하느냐가 아니라 애초부터 이것을 만들 필요가 있나라는 것에 대한 고민이다.
    • 결국 훌륭한 소프트웨어 엔지니어는 특정문제에 가장 좋은 해결책을 파악하여 그 해결을 위해 최적화된 방법을 적용하는 사람이다.
    • 어떤 문제는 뛰어난 개발능력으로 코딩을 잘해야 풀수 있다. 어떤 문제는 탁월한 커뮤니케이션 능력으로 다른팀과의 협력을 잘해야 풀수 있다. 어떤 문제는 협상의 기술을 이용해 설득을 잘해야 풀수 있다. 어떤 문제는 장인정신으로 체계적인 설계를 해야 풀수 있다. 어떤 문제는 재치있게 빠른 프로토타입을 만들어야 풀수 있다. 위와 같이 각각의 상황들에서 적용해야 하는 개발자의 특징은 전혀 다르다. 
    • 탁월한 개발자는 주어진 문제에 최상의 해결책을 파악하고 그 해결책이 커뮤니케이션이든 개발이든 리더십이든 단시간내에 부족한 부분은 빨리 배우고 익히며 자신을 변화시켜 그 상황에 최적화된 모습을 갖춘다. 이 글의 제목처럼 카멜레온같은 개발자가 되야 한다.
    • 그럼 어떻게 해야하나?
      • 개발자들의 상당수는 기술을 공부하고 익히는데 대부분의 시간을 쏟는다. 오픈소스 프로젝트, 개발관련 강의보기 등등… 이런것도 좋지만 회사업무이외에 남는시간은 기술공부만큼 리더십, 커뮤니케이션등의 공부에도 시간을 쏟는 것이 중요하다. 개발자들이 이런 능력들을 골고루 갖출수 있다면 그야말로 슈퍼맨이 될수 있다고 생각한다.
  • 40대 이후에도 개발자로 살아남으려면 … 40대 이후에도 개발자로 살아남으려면 해야 할 것들과 하지 말아야 할 것들을 각각 열 개씩 나열해주는 글. 언제나 한 분야의 최고가 되기 위해 공부하고 노력을 해야 하지만 그래도 언제나 제일 중요한 건 사람 간의 관계.
  • (생각정리) 소프트웨어 개발의 지혜 서비스 또는 소프트웨어보다 더 중요한 것은 바로 “개발자로서의 본질적인 가치”이다. 라는 말에 공감하며 아래 Eddy Kim 님이 생각하는 개발자의 가치에 대해 정리를 해보았다.
    • 가치1.블로그 주도형 개발자
    • 가치2.주변 개발자의 말에 귀를 기울이고, 배우고, 공유해라
    • 가치3.일일커밋
    • 가치4.건강
    • {“input” : “learn”, “output” : “share”}
  • Hello, Geo-fence! 배민에서 배달 가능 여부를 판단하기 위해 지도위에 가상의 도형들의 영역을 올리고 그것들을 판단하여 가능 여부를 전달하게 되는데, 그때 사용하는 알고리즘을 설명한다. 내가 원하는 개발은 이렇게 조금씩 파고들어 내부를 들여다보는 방식인데 좋은 리소스가 될 것 같다. 또한, 대상이 같지는 않지만 유사한 알고리즘을 사내에서도 사용 중에 있어 나중에 참고하게 될 일이 생길 수도 있어 기록으로 남긴다.
  • 조직 문화를 소프트웨어 개발 조직답게 만들어가기 
    • 바로 소프트웨어를 만들어가는 사람들이 시스템과 도구의 경계를 허물고 바람직한 내용을 퍼뜨려나가는 행위를 할 때 그 모습은 흡사 호르몬과 같다. 그래서, 경계를 허물어 경직성을 혁파하고 기존의 유산(Legacy)을 풍요로운 방향으로 키워가는 선순환을 만드는 일이 바로 소프트웨어 세상에 어울리는 변화 관리(혹은 생태계 적응) 실천법이다. 지금 바로 시작하시라.
  • REST 아키텍처를 훌륭하게 적용하기 위한 몇가지 디자인 팁 사내 프로젝트를 개발하면서 최대한 RESTful 하도록 설계를 하고 있으나 생각보다 여러 부분에서 막히고 있었는다. 여러 문서를 읽고 있지만, 이 글에서는 Form이나 Ajax를 어떻게 REST 하게 구현할지에 대한 방향을 제시해줘서 많은 도움이 되었다.
  • Quokka 플러그인 소개! 창천향로님 덕분에 인텔리제이에서 엄청나게 강력한 플러그인을 사용할 수 있게 되었다. javascript 뿐만 아니라 다양한 언어를 지원한다 !, 참고로 나는 윈도우에서 사용하는데 처음에 createProcess 에러가 나서 찾아보니 node.js가 설치 안되있어서 그런 거였다.
  • 하얗게 불태웠다. 트레바리 홈페이지 리라이팅 후기 정말 대단하다는 생각밖에 안 든다. 혼자서 어떻게 프로젝트를 리딩했을까.. 하나하나 신경 쓴 노력들을 느낄 수 있다. 비슷한 상황에 놓여있는 나로서 자극이 될 수 있는 좋은 글이었다. 
facebook share twitter share
0%