2015년 회고 2015년에는 국내 통신사 솔루션과 SK하이닉스 프로젝트를 진행하였다. 통신사 솔루션은 Nexcore BigData라는 명칭으로 4개의 제품군을 개발하여 출시하였다. 그중에 제가 맡은 프로젝트는 BigData Analysis이며 R언어를 통해 데이터 분석과 시각화를 목적을 두고 제품을 만들었다. 프로젝트 기간은 4개월... 이 부분이 가장 아쉬움이 남는다. 프로젝트 기간을 조금 더 늘려 설계와 분석에 더 투자를 했다면 분명 더 좋은 결과가 나왔을 것이다. SI는 늘 그렇듯이 시간에 쫓기며 개발하고 프로젝트 종료와 함께 SK하이닉스로 프로젝트를 하게 되었다. 경기도이지만 멀게만 느껴지는 이유는 무엇일까... SK하이닉스는 통근버스가 있다. 6시 15분에 버스를 타야 했고 8시 이전에 SK하..
2014년 회고 2014년에는 운영 업무 위주로 프로젝트가 진행되었다. 지금도 많은 곳에 빅데이터가 사용되지만 2014년 당시에는 대기업 위주 또는 선구적인 기업에서 빅데이터 프로젝트가 진행되었다. 진행했던 프로젝트는 통신사 가입자의 빅데이터 분석 및 운영 업무였는데 간단한 관리자 화면과 관련 API를 고치면서 주 업무는 Hadoop 운영이었다. 50여 대의 데이터 노드를 관리하였다. 데이터 노드들이 죽기도 하고 또는 새로운 데이터 노드를 추가하기도 하고 데이터 문제로 replication까지 운영 업무를 하면서 하둡의 기본지식과 설정 방법들을 알게 되었다. 하둡과 더불어 모니터링에 필요한 nagios, ganglia를 사용하였으며, Tajo, Hive, Pig와 같은 에코시스템을 사용하여 개발이 진행되..
2013년 상반기 회고 2012년 하반기 회고에서 밝혔듯이 첫 직장은 짧은 재직 생활이 되었다. 2012년 12월 31일 폐업 신고가 예정되어 있었고, 교수님이 왜 이런 곳을 추천해 주셨을까 라는 생각도 들었던 적이 있었다. 하지만 교수님 잘못이 될 수가 없다. 선택에 따른 책임은 본인이 지어야 하기 때문이다. 회사가 폐업 신고를 할 거라고 그 어떤 누구도 예상하지 못했기 때문이다. 오랜 기간 경리직을 맡아오신 과장님께서 들어온 지 얼마 되지 않은 신입 개발자부터 살리자고 하셨고, 신입 개발자에 나도 포함이 되어 있었다. NET 이력서를 작성하고 면접을 보면서 느낀 거지만 해당 분야는 상당한 경력자를 원했고 신입 개발자를 잘 뽑지 않았다. 그에 비해 JAVA는 신입 개발자든 경력자든 정말 많은 회사에서 ..
2012년 회고 2012년 당시에는 대학교 4학년 재학 중 일 때이다. 4학년 1학기 기말고사가 끝나고 교수님 추천으로 삼성역 모처 회사에 입사하게 되었다. 해당 교수님은 C, C++, MFC 계통의 영상처리를 가르치셨고 취업한 회사 역시 윈도우애플리케이션 기반의 Visual Basic, MFC, C++ 등을 다루는 회사였다. 2012년 6월부터 그해 12월까지 짧은 재직 생활을 하게 된다. 짧은 재직 생활의 이유는.... 바로 회사 폐업이다. 그 당시 재직했던 회사 규모는 작았지만 2000년대 초 중반만 해도 임직원이 200~300여명 규모의 알만한 중소기업이었다고 들었다. 점차 사람은 줄고 제가 입사할 당시에는 작은 회사였다. 하지만 첫 회사인 만큼 열정 또한 가득했었기에 회사 규모는 중요하지 않았다..
프로그래머가 정신을 집중해서 양질의 코드를 만들어 낼 수 있는 시간의 최대치는 2~3시간이라는 것이 정설이다. 일반적으로 오전 9시에 출근하여 오후 6시에 퇴근한다. 여기서 점심시간을 빼면 하루에 8시간을 컴퓨터 앞에 앉아있는 셈이다. 하지만 컴퓨터 앞에만 앉아 있을 수는 없다. 회의, 고객과 미팅, 커피, 잡담, 개인적인 업무도 해야 한다. 위와 같은 시간을 제외하고 코드를 만들어 낼 수 있는 시간의 최대치는 5시간을 넘지 않는다. 5시간 제대로 집중해서 코드를 만들어 내면 내가 할 수 있는 일을 모두 한 것이다. 그럼 야근을 오후 10~11시까지 하면서 책상에 앉아 있으면 코드를 만들어 낼 수 있는 시간이 2배로 늘어나는 것인가? 생산성도 2배인가? 바로 이것이 프로그래머의 본질을 이해하지 못하는 사..
아래 글은 Top 10 Mistakes Java Developers Make 번역본이며 일부 첨언을 하였다. 4. Hashtable VS HashMap Map 인터페이스에 HashMap, TreeMap, Hashtable, LinkedHashMap이 정의되어 있다. Hashtable은 알고리즘 규칙에 의한 자료구조 이름이다. 그러나 자바(Java)에서는 HashMap으로 정의되었다. Hashtable과 HashMap의 주요 차이점 중 하나는 Hashtable은 동기화(synchronized)가 된다는 것이다. HashMap : Hashtable로 구현되었으며, key 또는 value에 대한 정렬은 없다. TreeMap : red-black tree(이진트리의 특수한 형태) 구조를 기반으로 구현되었으며 키..
아래 글은 Top 10 Mistakes Java Developers Make 번역본이며 일부 첨언을 하였다. 1. Convert Array to ArrayList 개발을 하다 보면 배열을 ArrayList로 변환이 필요할 때가 있다. 대부분의 개발자분들이 아주 자연스럽게 아래와 같이 사용을 한다. java.util에는 Arrays 클래스가 존재하며 Array.asList는 배열을 리스트로 반환해 주기 때문이다. List list = Arrays.asList(arr); Arrays.asList 이 메소드는 손 쉽게 배열을 컬렉션 관련 유틸을 사용해 캐스팅하여 사용할수는 있지만 제약사항이 있다. Java API 문서를 참조하면 다음과 같은 설명이 있다. Returns a fixed-size list back..
- 정렬 알고리즘
- 오라클
- 리액트
- Collection
- SQL
- 프로그래머
- Linux 명령어
- Java
- Maven
- 프로그래머스
- spring
- Eclipse
- 경력관리
- javascript
- 리눅스 명령어
- 이직
- 소프트웨어공학
- sort algorithm
- 성능분석
- 제주도 여행
- React
- 오라클 내장 함수
- 리액트 16
- 제주도 3박4일 일정
- effective java
- 자바
- 자바스크립트
- 개발환경
- 회고
- Tomcat
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |