본문 바로가기

DevStory

AWS migration 프로젝트를 진행하며.. 얼마전부터 회사에서 기존 production 환경의 서비스를 AWS로 이관하는 프로젝트를 하고 있다. 그리고 지금도 하고 있다. 담당하고 있는 도메인이 api provider로써의 도메인과 api consumer로써의 도메인, 서로 다른 두 도메인을 담당하고 있는지라 양쪽의 관점에서 판단하고 결정해야 할 부분들이 사뭇 달랐던 것은 또 다른 이야기이지만.... 아무튼 이 커다란 프로젝트에서 AWS 서비스들을 이해하는 것도 중요하였지만 결국은 '요구사항 및 dependency 분석', '실행', '테스트', '배포계획 작성 및 배포'를 준비하고 실행하는 것이 가장 중요하였으며 이러한 것들은 프로젝트의 일정과 critical path 관리에 직결되는 것이었다. 결국은 이런 것들이 이 프로젝트를 성공적으로 끝내.. 더보기
[Working with Shanghai office] Communications 팀이 한국/중국 개발자로 이루어져있고실제로 사무실도 따로따로 떨어져 있어서 출장으로 오가며 같이 일을 하다보니사실 communication이 힘든 경우가 종종 있다. 팀원들도 중국인/한국인이 거의 반반.. 그러다보니 당연히 모든 의사소통은 영어로 이루어진다. 물론... 작년에 팀으로 온 우리 뉴 쿠키는 중국어가 네이티브 수준이라..이 녀석은 예외로 친다.... 아무튼... 보통 큰 프로젝트를 할 때는 출장을 가서 논의하고 개발하고 오픈을 같이 하는데어쩌다가 이 과정을 같은 공간에서 하지 못 할 때가 있다. 그럼 mail / slack / conference call등을 이용하여 디자인/설계/리뷰등을 진행해야 하고 업무 분장까지 이루어져야 한다.face to face로 이야기하는거에 비해 컨퍼런스 콜로 회.. 더보기
Ubuntu 설치 우분투 설치 관련 link항상 설치 할 때마다 찾아보게 되는 것들...-- create install usb on OSXhttp://computers.tutsplus.com/tutorials/how-to-create-a-bootable-ubuntu-usb-drive-for-pc-on-a-mac--cms-21187http://www.ubuntu.com/download/desktop/create-a-usb-stick-on-mac-osx -- 한영전환http://blog.daum.net/bagjunggyu/154 -- install vmware horizon clienthttp://vdisage.blogspot.kr/2015/01/installing-horizon-view-320-client-on.html -.. 더보기
코드에서의 빈줄 나는 개발할때 메서드의 길이와 상관없이 빈줄을 곧 잘 넣는 편이다. 시각적으로 읽기 편하기 때문에... 어쩌면 블로그 포스팅하던 습관이 코드에 그대로 들어가버린듯 하기도하고.... 객체 생성부분 사용부분 이런것들을 문단을 나누듯이 좀 나누는 편이다. 그런데 이번에 같은 팀 후배 저스틴이랑 페어를 하는데 이 친구는 빈칸을 모두 없애버린다. ㅎㅎ. '다른코드를 넣기전에 한번 더 생각하게 된다. 그리고 강하게 묶여있는 듯한 느낌을 준다.'라는 의견이었다. 함께 페어를 하면서 만들어낸 메서드가 길지 않게 리팩터링 된 상황이라 나 역시 오케이하고 넘어갔었는데 오늘 "이펙티브 유닛테스팅" 책에 살짝 언급 된 부분을 발견하여 반가워서 현욱이에게 "저스틴 여기 니 얘기 나왔다."라고 알려줌 ㅋㅋ 책에서는 아래와 같이 .. 더보기
[펌] Java Multithreading Interview 페북에서 유명환 대표님께서 공유해 주신 링크입니다. http://javarevisited.blogspot.kr/2011/07/java-multi-threading-interview.html#.UpVjzUptx1I.facebook 아래는 간단한 발번역 질문과 답변에 걸려있는 링크들..읽어보면 참 좋을듯 합니다. 1. 스레드 T1,T2,T3가 있을때, T1 -> T2 -> T3 순으로 스레드가 실행되는 것을 보장하는 방법? - join 2. Lock interface가 synchronized block에 비해 advantage가 무엇? - reading / writing에 대해 각각의 Lock을 사용 할 수 있다. -> high performance 3. wait 과 sleep의 차이 - wait은 lock.. 더보기
[회사이야기] CMD 1회. 회고. CMD회고. 1주일간 누구의 허락도.. 기획도 필요없이 전사적으로 올라온 아이디어와 개발자가 하고 싶은 것들을 아무거나 골라 개발하는 기간이 주어졌었다.그리고 오늘은 그것을 대표님을 포함한 경영진 그리고 같은 개발자들과 현업들 앞에서 발표를 하는 날이었다. 모바일/프론트/백오피스등으로 나누어져 발표가 진행되었고..예상외로.. 정말 예상외로 반응이 무척 뜨거웠다. 첫 발표를 진행하였던 맨하탄/퀸즈팀에서 화려하게~~~~ 첫발을 너무 잘 떼어주었다.! 처음에 관심을 확 끌어주니 그 뒤에 이어지는 오후 세션들까지 힘을 계속 받은 느낌! 회고! 0. 레깅썸 The Begnning. -전설의 시작- 1. 개발자에게 이런 기간을 주어진다는 것은, 개발자들에게 큰 cheer up이 되는 것 같다. 만들어진 성과물들이 .. 더보기
[사내 세미나 목록]지난 3개월한 진행한 사내 세미나 리스트 1. Git 과 Github 소개 2. Mybatis 소개 및 Proxy 패턴을 사용한 Mybatis의 Mapper 인터페이스 구현, Proxy 패턴으로 구현한 11번가 SearchAPI 소개 3. Annotation을 활용한 테스트 프레임웍 만들어보기 4. 자바를 이루는 핵심. Object의 4개 메서드. equals, clone, toString, hashCode 5. Class.class란? Enum을 활용한 Legacy코드 리팩토링 전략 6. Freemarker를 사용한 메일 템플릿 시스템(A-Mail 같은) 개발 7. Service Provider Interface 알아보기 8. Annotation을 활용한 MVC Framework 구현 9. List와 Map으로 검색엔진 구현해보기. Gener.. 더보기
로그 분석기를 Oracle+Lucene에서 Hadoop+MySQL로 변경하면서 처음 이 회사에 입사하여 매일 손으로 작업하던 업무들을 정리해가던 중 개인적인 시간을 내어개발을 했던 것이 검색 로그분석기이다. 단순히, 인기검색어등의 분석만이 아니라쿼리별 평균응답시간부터, remote client ip, 호출 클래스, 정렬조건, 페이지, 색인시간등 검색 운영에 필요한 전반적인 정보들을 모두 분석해서 웹으로 보려고 했던 것이 이 개인 프로젝트 시작이었다. 제일 초기버전은 로그를 분석 할 파서를 개발하고이렇게 분석된 정보들을 Java Programm에서 Map을 사용하여 일별로 집계하는 방식이었다.그리고, 이렇게 집계된 데이터는 Lucene으로 색인하여 저장하고, 조회 또한 Lucene으로 검색하여조회하는 방식이었다. 이렇게 약 1년을 사용하다보니 이 프로그램을 유지보수해야하는 다른 파트.. 더보기
공개소프트웨어 대회 두번째 참가를 마치며. Crescent : http://ec2-54-248-115-161.ap-northeast-1.compute.amazonaws.com/adminMain.devys 강한구님 덕분에 일취월장한 UI -_-b 올해 두번째로 참가하였던 공개소프트웨어 개발자대회에1차 심사를 통과 후 2차 심사에서 또다시 낙방하였다. 올해도 두손에 참가확인증을 꼬옥~~ 쥐게 되었다. 작년에 떨어지고 "볼륨이 너무 작았나..그러고보니 보여 줄 화면이 하나도 없었네..." 라는 생각을 하면서 다시 도전하였는데 아무래도 비슷한 실수(?)를 또 하지 않았나싶다. 검색엔진이라는 것을 만들고.. 이것을 PR을 해야하는데..이번에 완성된 버전으로는 보여줄게 참 없었구나.. 싶은 생각이 들었다. 검색엔진이 색인/검색만 되면 되지.. 이게 아니라... 더보기
ZERO WIDTH NO-BREAK SPACE 며칠전부터 영 디버깅이 안되는 부분이 있었다.. 파일에서 읽어오는 "nbsp"라는 String과사용자가 입력한 "nbsp"라는 String이 equals를 하면 false가 나오는 것이었다. 공백이 있나? 로직이 잘못되었나? 해서 이래저래 막 디버깅해보고 바꿔보고 해봐도..도무지 모르겠었다. 그래서 혹시나해서 파일에 직접 "nbsp"라고 한줄을 더 넣었다. 그랬더니, Map의 키에 nbsp가 두개가 생겼다.!뭐여 이게..?? 혹시나해서 원래있던 nbsp를 지우고 새로 입력해 넣었더니 정상작동을 한다. 뭔 상황인지도 모르고 상황이 해결되어버려서 그냥 놔둘까하다가..문득, 혹시..? 해서 각 char의 유니코드 값을 찍어보았다. D : 65279 더보기