1. 토이프로젝트CSV 관리 기능을 작성하다 문득, 빅쿼리 인터페이스가 떠올랐다. 많은 서비스들이 파일관리, CSV 처리 등의 기능들을 동반하게 되는데 이 작업을 처리하는 별도 VM을 만드는것도 유의미하다는 생각이 들었다. (이것도 MSA에 속하나..?)오늘 아침에 든 생각은 크게 두 기능이다. 파일관리, 파일처리..파일 관리는 upload, backup, logging을 수행하고, 파일처리는 우선 CSV를 대상으로 할 건데 read, write를 수행한다. 기능 세부기능 대상 파일관리 upload web backup local s3 gcs logging local mysql email s3 slack 파일처리 read (scheme o / x) web mysql write web mysql 우선, 파일..
1. 책 정리휴일이라 책 정리하던 중 최근 민중주의나 선거전문가 정당에 대해 이런저런 생각을 하던 터라 다시 읽어보았다. 예전에는 이런 책을 읽었었구나.. ㅡ.ㅡ... 입헌주의의 관점에서 본다면 정치권력의 임의적 행사는 설사 그 권력이 민주적 집합의지를 충실히 따르고, 권력행사의 결과가 공익에 부합한다고 할지라도 '예외없이' 정당성을 결여하게 된다. 궁극적으로 로크는 민주주의와 입헌주의 모두를 안고 갈 수는 없었던 것이다.... 단순화시키면 아리스토텔레스는 합법성을 (민주적) 정당성보다 우위에 놓는 입헌주의의 관점에서 민주주의를 거부했다고 할 수 있다.... 칸트의 공화주의 역시 아리스토텔레스의 결론을 같은 논리로 긍정하고 있다. "민주주의라는 국가형태는 엄격히 따져볼 때 필연적으로 '폭정'이 될 수밖에..
4 / 23 (월) ~ 29 (일)1. 독서"우리가 가끔 습관화되다시피 한 맥빠지는 냉소주의에서 벗어나고 싶기 때문이 아닐까?"다양한 프레임으로 읽힐 수 있다는건 아마 좋은 책이라는 의미겠지. 이전의 나는 무엇을 보았을까어둑한 초침의 그늘을 삶의 광학으로 바라보는 시점에 이르러 곧 이것은 허상, 포장 전 위선임을 깨닫는다. 2. 공연실험적인 곡들은 신선했지만, 바흐 파르티타 제 2번 샤콘느는 전혀 처음 듣는 느낌이었다. 오랫만에 찾아서 듣다보니 연조용 악보가 50본이 넘고 특히 아르페지오 부분에 대한 해석의 차이가 크다는 글을 읽었다. 요새의 아티스트들은 표현력에도 좋아서 시각적 감수성도 충만하고.. 더블베이스 연주가 여러모로 좋았던 시간3. 운동자전거를 타기 시작했고(소래 생태습지공원 - 인천대공원),..
3 / 19 (월) ~ 25 (일)1. 면접 회고간간이 진행되던 면접 일정이 이번주엔 정점에 달했다. 주중 내내 약속이 잡혔고, 월요일에 AWS 자격증 워크샵, 수요일에 2개의 회의, 목요일 삼성 SDS에서 진행되었던 TDD 및 리팩토링 세미나, 토요일 2개의 스터디까지 고려하면 꽤 빡빡한 일정이었다. (다음달 부턴 1개 더 늘텐데 가능한건가 ㅡㅡ.) 면접이 진행되면서 지금 내 현주소를 파악할 수 있었고 간단히 반성해보자면, 우선 나는 아직 개발자로서의 기본 소양이 많이 부족한듯 하다. 합격시켜주려는 질문들에 횡설수설하는 내 자신이 참 한심스러운 시간들이었다. 물론 최근 다른 여러가지에 흥미가 많았던 것도 사실이고, 처음에 C언어 배울때에 자료구조를 쉽게 접근하여 그동안 우선순위에서 미뤄뒀던 것도 있지만..
3 / 14 (수) ~ 18 (일)1. 복잡성 측정시간복잡성(Big-O, Big-오메가, Big-세타), 공간복잡성 측정을 위한 도구들을 찾아보는데, codility 처럼 깔끔하게 나오는게 없다. github과 codacy가 바로 연동되어서 편하기는 한데 lint 등을 체크하기엔 용이하나 복잡성 관련 지표는 적다. sonarqube는 설치형이고(중간에 로그보니 elasticsearch도 사용하는 듯) 뽑는 데이터도 다양하다(기술부채도 수치화하고, Code Smell이나, 보안 취약성, 버그, Coverage 등도 체크하며 그에 따른 이후 작업을 매니징할 수 있어 현업 인프라에서 사용하기엔 유용할듯 싶다. 물론 잘 관리될때에 한해서..). 다만 복잡성과 관련해서는 cyclomatic complexity만 ..
3 / 09 (금) ~ 11 (일)1. NodeJS기존 프로젝트의 API 서버를 node로 개발해보았다. 보일러플레이팅 투성이고, Validation 허점도 많고 아직 인증쪽은 세션 형태로 임시 처리해두었고, 이래저래 불안불안한 코드지만, 생각보다 빨리 구축되었고, api 문서도 깔끔하게 빠진거 같아 만족스럽다.일요일엔 mongodb 모델링 수정을 좀 해보았다. 처음엔 RDBMS 짜듯이 Model을 ORM으로 그대로 연동하였는데, 조건 검색 기능을 붙이다보니 참조를 넣는 것도 일이고, populate 기능을 중첩하여 쓰는 부분들에 대해 성능 이슈와 관련하여 지양하는 글들을 보게되어, 최상위 객체(Academy)에 내장해두었는데.. 다 만들고 보니 분리할 부분(Course) 들이 보인다.(조건 검색과 관련..
3 / 03 (토)1. 장고걸스 튜토리얼Django 스터디로 하기로 했던 인강을 듣기에 앞서 이진석님께서 장고걸스 튜토리얼을 영상으로 만드셨기에, 이를 해보았다. 이전에도 파이썬을 접해보긴했으나, 누군가 만들어놓은 플러그인 수정이나, 간단한 데몬 및 웹서버를 만들어봤던지라, Django는 처음 접해보았다. 확실히 ORM이나 모델링이 자바에 비해서는 굉장히 효율적인거 같고, 다양한 함수들, 그리고 Restful api 작업도 수월하였다. 물론 어떤 언어든 서비스가 고도화되면 프로그램의 복잡성이 올라가겠지만, 흐음..123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585..
2 / 24 (토) (Korea Community Day 2018)1. 차곡차곡 쉽게 알아가는 ElasticSearch와 Node.JS (관련 SlideShare)ElasticSearch란, 분산형 RESTful 검색 및 분석 엔진으로, 정형/비정형/위치정보/메트릭 등 원하는 방법으로 다양한 유형의 검색을 수행하고 결합이 가능하며, 초당 엄청난 양의 이벤트를 처리할 수 있도록 수평적 확장이 가능한 서비스이다.(JAVA 8 이상, 메모리 4G 이상) ElasticSearch 색인과정은, Tokenizer가 문자열을 단어 단위로 잘라서 토큰을 만든 후 TokenFilter가 이를 변형(대문자-> 소문자화, a/the 등 삭제)하고, 토큰과 토큰에 관한 정보를 가지고 있는 자료구조로 저장하는 절차(역색인)를 ..
2 / 16 (금) ~ 15 (일) 1. React JS + Express JS + MongoDB간단한 토이 프로젝트를 해보았다.(branch : node/step02/express-react/codelab) Back-End 작업 - API 만들기 (src/routes/memo.js)Front-End 작업 - 스타일 추가 (src/style.css) - Component 작성 - Index.js에서 라우트 추가 - action type 만들기 - action creator 만들기 - reducer 만들기 - 컴포넌트에서 사용 기능 추가 시에 대략 이런 작업이 반복되는 듯 한데(세부적으로는 많이 상이하긴하지만), 로그인/회원가입, memo 작성, 유저 검색(담벼락), 좋아요 기능 정도의 간단한 웹인데.. ..
1 / 22 (월) ~ 2 / 03 (토)1. 요새의 기분'인간은 노력하는 한 방황한다.' , '인간은 노력하는 한 실수하기 마련이다.' 역시 텍스트는 그 외부의 주름인건지.. '틀에 박힌, 지루한 일상을 견디는 힘이 뭔가?' 라는 질문에 최근의 나는 답을 할 수가 없다. 징징거리는 것을 굉장히 싫어하지만, 이런저런 이유와 핑계를 대본들 제대로 설명되는 것도 없다.분명 지금 가해지는 삶의 중력은 지난 시간들에 비하면 참 미미한 수준인데, 도대체 무엇이 나를 괴롭히는 것일까. 무언가 소중한 것을 잃어버린 듯하다. "사유의 호흡은 짧아져 고립된 사실의 획득에만 머물게되고, 사유를 통해 이리저리 연관 관계를 만들어보는 것은 아무 쓸모없고 불편한 수고로만 여겨진다. 사유속에 있는 발전의 계기나 생성의 계기나 함..