Topic/Think 11

3.5 hdd -> 2.5 hdd 로 시스템을 갈아엎었다

3.5 hdd의 소음이 너무 심해서 -_-; 2.5 hdd 로 시스템을 완전 갈아엎었다. 사전에 성능상의 다운그레이드인지 옆그레이든지 확인하려고 HddTune 이나 HddDiskInfo 같은 툴로 성능 모니터링을 해봤는데 3.5인치 7200 rpm 64Mb 버퍼의 도시바 2tb hdd 를 100% 성능으로 기준잡앗을 때 2.5 인치 5400 rpm 128mb 버퍼의 시게이트 2tb hdd 는 미미한 성능하락 수준이었다. 이정도면 감안하고 쓸만하다고 생각이 들었기에 과감히 바꾸었는데 굉장히 만족중이다, 성능 하락도 별 차이를 못 느끼겠고 무엇보다 read/write 할 때의 엑세스 소음( 끼릭끼릭) 하는 부분이 아얘 안들린다. 만세 아래는 모니터링했던 자료이다. 직접 찍은건데, 도시바만 UI가 다른 것은 ..

Topic/Think 2017.05.13

리액트에 대한 생각 (vs AngularJS)

내가 리액트를 쓰려는 이유는 단순하다. 벡엔드 개발자이면서 또 직장인으로서 SPA기반의 개발을 편하다고 생각하지만, 다른 한편으로 데이터 엔지니어 관점으로 봤을 때 시멘틱하지 못한 웹은 끔찍하다고 생각한다.(SPA: Single Page Application, 서버 의존도가 낮은 (웹) 어플리케이션을 뜻 한다. 여기서 의존도란 (웹) 어플리케이션의 큰 뼈대를 이루는 모든 Function을 서버에서 처리하는 것이 아니라, 일부의 기능(거의 대부분 화면 컨트롤, 데이터 동기) 를 서버에 의존하지 않고 분활 한다, 는다는 의미이다.)실제로 프록시를 통해 SPA로 구현된 웹앱의 패킷을 열어보면, 껍데기만 오고 데이터는 텅 빈 것을 볼 수 있는데, 이걸 어떻게 처리해야하는가 하는 생각이 먼저 나온다.이를 다른 사..

Topic/Think 2017.03.28

프로비저닝 이란

#프로비저닝(provisioning) 위키에 따르면 프로비저닝을 아래와 같이 정의하고 있다."프로비저닝은 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요 시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것을 말한다."내가 프로비저닝의 의미를 처음 접한 것이 올해 초에 있던 회사사업 때문에 클라우드 관련해서 알아볼 시절이었다.각 클라우드 벤더사 마다 프로비저닝~ 프로비저닝~ 이란 용어를 많이 쓰고 있었는 데, 그 뜻의 정확한 의미는 알지 못해서 파악하는 데 힘든 기억이 있다.프로비저닝은 거창한 뜻은 아니고 근본 적인 의미로 어떤 서비스를 제공하기 위해서 준비하는 일련의 절차의 과정을 모두 통틀어서 얘기를 한다고 한다.쉽게 얘기해서 서비스를 제공하기 위해, 네트워크, 저장공..

Topic/Think 2016.12.07

아비투스 에 관한 생각

#Habitus 사람 마다 고유의 취향이 있을 텐데, 이는 사회적 문화적 환경에 결정된다는 뜻의 용어다.사회학자 피에르 부르디외가 만들었는 데, 원어는 'Habitus' 라고 한다. 하비투스는 고유의 습관이나 취향이라 보면 된다. 어떻게 보면 성향이라고도 볼 수도 있다. 부르디외는 사람마다 비슷한 하비투스는 집단을 형성하게 된다고 한다. 예를 들면 이런 거다. 뚱뚱한 사람이 있다면, 가족들이나 주변 친구들 중에 뚱뚱한 사람이 많거나, 먹는 것을 좋아하는 사람이 무리로 형성되어 있을 가능성이 높고, 또한 이러한 하비투스 집단은 그 사람으로 하여금 다이어트를 하기 힘들 수 있다는 것이다. (끼리끼리 논다, 닮아 간다 이런 말이다) 좀 더 확장해서 사회적인 측면으로 보면, 물질적인 사회층의 분단이 나뉘는 것이..

Topic/Think 2016.12.07

ELK를 도입하게 된 이유

#왜 ELK를 썼는가mysql 5.6부터 Innodb에도 FULLTEXT 인덱싱이 되는 데, 현재 시스템의 mysql 버전은 5.4의 innodb 여서 불가능하다.쉽게 버전을 올리기도 불안하고 잘 돌아가는 시스템을 갈아 엎기도 부담스러웠다.데이터 양이 억대로 많거나 복잡도가 높은 구조가 아니어서 미러 서버를 하나 새로 팔까 해보았지만,생각 외로 손이 많이 갈 거 같아서 조금 더 찾아보고 결정하기로 했다.인덱싱에 대한 방법적인 것은 많이 나와있지만 경험이 없고 최적화된 담당자도 없기 때문에, 엘라스틱서치 로 인덱싱을 하기로 하였다. (정확히는 로그스태시가 jdbc로 긁어올 예정이지만)그에 관한 내용을 좀 담을까 한다. 이러한 연유로 루씬 기반의 여러 검색엔진들을 찾아보다가, 가장 포럼이 큰 엘라스틱서치를 ..

Topic/Think 2016.10.27

Virustotal Api license (Public vs Private)

#들어가는 말 Virustotal은 비단 국,외를 망론하고 보안 관련 종사자라면 한번은 들어봤거나 사용해 봤을 정도로 엄청난 영향력을 발휘하고 있는 서비스 플랫폼이다.나 역시 이 플랫폼에서 많은 것을 얻었는 데, 보안 회사에 종사하면서 여러 프로젝트에 사용한적도 있고, 개인적인 플젝에서도 사용하고 있다.일반적인 User의 사용환경에서는 큰 고민 없이 사용할 수 있으나, 프로젝트에 사용하기 위한 API Key의 라이센스 정책이 조금 까다롭게 되어있다.API 사용에 대해서는 국,외 커뮤니티에서 정보 교류가 활발하지만 라이센스에 대해서는 정보를 얻기가 어렵다. 나와 같이 정보를 얻는 데 고생하여 관련 플젝이나 공부를 하는 데에 장애가 있을 사람들을 위해 관련 포스팅을 해본다.어디까지나 이 정보는 과거 회사에서..

Topic/Think 2016.08.02

스프링 탄생에 대한 잡담

스프링 관련 포스팅을 보다가 몇 가지 재밌는 걸 알게 되어 포스팅 해본다.스프링은 오픈소스 프레임워크지만, 우분투처럼 주 개발인력이 따로 구성되어 있는 구조이고, 회사에서 관리를 하고 있다고 한다.이 회사는 스프링의 창시자인 로드 존슨이 '인터페이스21' 이라는 이름으로 설립을 했었는 데..벤처 캐피탈로 어느정도 자금력을 확보한 이후로 '스프링소스' 라는 이름으로 사명을 변경했다스프링소스는 스프링 자체로만 회사를 운영하는 것은 아니고, 몇몇 회사를 기술합병하면서 여러가지 프로젝트를 추가적으로 진행하고 있다. 예를 들면 Tomcat이나 Apache Http 서버에서 사용되는 지원 서비스인 ASF(Apache SoftWware Foundation) 를 제공하는 Covalent Techonologies 라던지..

Topic/Think 2016.05.10

빅데이터 공부를 하면서

한 일주일동안 책만 읽고 읽어서 이제서야 감이 잡히기 시작 했다. 사실 별거 아닌 데 왤케 어렵게 생각한걸까 싶다. 현재 Mysql 로 운영중인 DB의 Full TEXT로 들어가는 컬럼에 대해 select 시에 100만 로우 기준 3분정도 걸린다. 이는 퍼포먼스상에서 심각한 문제이다. 이를 해결하고자 관심을 가졌던 것이 빅데이터니 하둡이니 맵리듀스니 키밸류니 뭐니 한거였는 데, 이는 나의 무지함에 일어난 삽질의 시작이었다. 회사 내에 구비된 책이란 책은 다 보아도 관련 플랫폼이 너무 다양해서 한참을 헤맸다. 보면 볼수록 뭔지는 알겠는데, 이게 나랑 연관이 있나? 그래서 어떻게 사용해야하는데? 왜 써야하지? 란 의문들이 더욱 더 헤매게 했던 거 같다. 처음에는 mysql(rdb)를 -> mongodb(my..

Topic/Think 2016.04.06

Selenium 의 정책

동적 크롤러로 Selenium 을 쓰고 있다. 최근에 이 놈때문에 골머리를 앓고 있는 데, selenium은 정책상 Http header 정보에 대한 정보를 알려주지 않는 다고 명시 되어있다. http 응답 정보로 로직을 헨들링 하려 하는데, 다른 수를 생각 해봐도 답이 안나오더라. 카여 상태체크를 해야해서 필요한 것인지라, 포럼에 직접 글을 남겨서 물어보았고, 돌아온 회신에서 이 뻑킹 selenium은 보안상 문제로 제공하지 않는 것을 알게 된 것. 흠 좀무..

Topic/Think 2016.02.12

Ajax 와 WebSocket 에 대해

# 웹과 비동기 I/O에 대한 이해 AJAX는 HTTP의 한계성(지속적인 연결(persistent connection)의 불가능)을 극복하고자 나타난 기술(개념)이다. 일반적으로 웹의 프로토콜은(HTTP,HTTPS) 클라이언트(웹 브라우저)에서 서버에 요청을 요구해야지 서버에서 반응하여 응답을 통해 화면이 출력이 되는데, 이 방법은 실시간으로 데이터를 갱신하거나 인터렉티브한 동적인 웹서비스를 구현하기엔 불가능한 요소로 작용된다. 예를 들면 실시간으로 정보를 확인해야하는 대시보드(예: 스포츠 중계, 보안 관제서비스)의 경우 실시간으로 데이터가 재갱신(Refresh,Reload)가 자주 일어나야 하므로 기존의 방법으로는 많은 문제들에 부딪치게 된다. 이러한 문제를 해결하고자 세계각지의 개발자들은 여러가지 방..

Topic/Think 2016.02.12