http://movie.daum.net/moviedetail/moviedetailMain.do?movieId=81163




If you're prepared to adapt and learn, you can transform. I see a young man with the potential.

 

네가 적응하고, 배울 마음만 먹으면, 넌 새사람이 될 수 있어. 난 가능성이 있는 젊은이가 보이네

 



There is nothing noble in being superior to your fellow man; true nobility is being superior to your former self

 

타인보다 우수하다고 해서 고귀한 것은 아니다. 과거의 자신보다 우수한 것이야 말로 진정으로 고귀한 것이다.

Posted by '김용환'
,



http://movie.daum.net/moviedetail/moviedetailMain.do?movieId=85989




농업은 내가 키운 채소의 맛을 보며 보람을 느낄 수 있지만 임업은 아니야. 우리가 한 일의 결과는 죽은 다음에 나와



Posted by '김용환'
,





http://vitess.io/

http://www.mimul.com/pebble/default/2015/03/23/1427120275295.html


- zookeeper와 etcd로 failover처리

- 캐시를 두어 중복 쿼리를 발생하지 않도록 함 

- shard-scaling 지원


아주 짧게 간단히 소스본 내용 정리했으니, 다 틀린 내용일수도 있음

- 개발 언어는 go로 구현, godeps 로 의존성관리함. java client가 있음 

- memcached를 사용하고 있으며, 내부 통신은 protocol buffer / bson 으로 되어 있음

- java client는 mariadb driver대신 jdbc 구현체를 대체할 수 있게 한 것 같음.
- 테스트는 python로 했고, docker 배포툴은 구글 클라우드용 Kubernetes 를 사용. 

-  sharding 정책이 metadata 를 기준으로 되어 있음(topology)

- influxdb를 사용한 모니터링 제공

- ruby언어로 만든 ui (admin) 제공, php언어 api 아주 일부 제공
- vitess.io에서 Nosql과 Mysql 과 비교한 자료 

- zookeeper 관리 프로그램은 go로 되어 있음 
https://github.com/youtube/vitess/blob/c308ca0a7008749609d7ecd461e00aa1245a32bb/doc/VitessOverview.md

- Resharding 

https://github.com/youtube/vitess/blob/master/doc/Resharding.md

- Failover

https://github.com/youtube/vitess/blob/master/doc/Reparenting.md

Posted by '김용환'
,

근래 성능 관련 자료 중 괜찮은 것을 발견했다. 펌질 해둠. 

Netflix의 성능 엔지니어가 쓴 글을 소개. 


http://www.brendangregg.com/blog/2015-03-17/linux-performance-analysis-perf-tools.html

Linux Performance Analysis: New Tools and Old Secrets from Brendan Gregg






http://www.slideshare.net/brendangregg/scale2015-linux-perfprofiling?related=1

Linux Profiling at Netflix from Brendan Gregg





http://www.slideshare.net/brendangregg/linux-performance-tools-2014?related=1

Linux Performance Tools 2014 from Brendan Gregg


Posted by '김용환'
,

Devops 에 대한 불편한 글을 작성한 글.

그리고, 리플로 다양한 의견이 적혀 있다. 


https://lionfacelemonface.wordpress.com/2015/03/08/devops-is-bullshit-why-one-programmer-doesnt-do-it-anymore/

Posted by '김용환'
,

요즘 마이크로 서비스가 유행이다. 한 때는 monolithic (one source)v이 유행이더니, 또 다시 분해한다.

각각 장단점이 있다.


웹에 좋은 자료들이 있어서 공유한다. 



마틴 파울러는 마이크로 서비스의 유용함을 주장한다.

http://martinfowler.com/articles/microservices.html







4단계 tier를 정리했다.  

http://blogs.forrester.com/ted_schadler/13-11-20-mobile_needs_a_four_tier_engagement_platform



nginx는 위에 정리된 4단계 tier를 nginx가 관심있어 한다. 

http://nginx.com/blog/time-to-move-to-a-four-tier-application-architecture/



보통은.. 글로벌하게 퍼져서 데이터를 연결하는 부분인 Delivery tier는 통신과 CDN을 담당한다.

Aggegration tier 는 API (또는 Private API)를 정의하고 Service Tier간의 중간 Proxy역할을 한다.

Service tier는 외부 연동, 스토리지/캐쉬 연동한다. 


nginx/netflix에서 좋은 practice를 소개했다. 

http://nginx.com/blog/microservices-at-netflix-architectural-best-practices/

http://nginx.com/blog/adopting-microservices-at-netflix-lessons-for-team-and-process-design/




OODA 분석 방법론 적용했다고 한다.

Posted by '김용환'
,


웹 게시판에서 글을 작성하고 스페이스가 들어간 것을 바로 ;nbsp로 DB(mysq)로 저장하면,


유니코드 00A0으로 저장된다. 이를 '줄 바꿈 없는 공백' (no break whitespace)이라 한다. 


space가 아니기 때문에 의도된 프로그래밍에 실패할 수 있다. 



아래 예제는 단순히 공백으로 보이지만, 사실 유니코드 00A0 가 들어있는 String이다.  

String s = " "

String x = s.replaceAll("\\s", "");

System.out.println(x.length());


결과는 1이다. 00A0는 정규표현식의 space가 아니기 때문에 replace되지 않는다.


String s = " ";

String x = s.trim();

System.out.println(x.length());


재미있는 것은 trim()을 써도 되지 않는다. trim()의 구현이 단순히 whitespace만 정리해주는 코드로 되어 있다.


따라서, 00A0를 replace하기 위해서는 아래와 같이 반드시 unicode를 써야 한다. 



String s = " ";

String x = s.replaceAll("\\u00A0", "");

System.out.println(x.length());



결과는 0이다. 



출처 : 


http://ko.wikipedia.org/wiki/%EC%A4%84_%EB%B0%94%EA%BF%88_%EC%97%86%EB%8A%94_%EA%B3%B5%EB%B0%B1


http://www.fileformat.info/info/unicode/char/00a0/index.htm

'scribbling' 카테고리의 다른 글

(펌질) Devops 관련 다른 측면 글  (0) 2015.03.14
(펌질) micro service rebuilding  (0) 2015.03.14
골판지 장난감(rukuten-howay) 유행 될듯..  (0) 2015.03.05
HTTP/2.0  (0) 2015.02.27
스크랩 - Linux Profiling at Netflix  (0) 2015.02.24
Posted by '김용환'
,


일본 동경에서 열린 국제 gitf show 2014에서 재미있는 아이템들이 소개되었다.

http://w.hankyung.com/board/view.php?id=_column_445_1&no=7


골판지로 만든 가구와 장난감 주택 


그중에 골판지 장난감이 요즘 꽤나 유행중이다. 일부가 한국에 수입중인데.

아이디어 차원에서 공유해본다.


아래 싸이트에서 살펴보면 괜찮을 것 같다. 

http://www.rakuten.ne.jp/gold/howay/






Posted by '김용환'
,

HTTP/2.0

scribbling 2015. 2. 27. 13:36

SPDY를 기반으로 했던 HTTP/2.0 스펙이 완성되었다. GRPC 라는 오픈 소스프 프레임이 가장 먼저 출시되었다. 


spdy 설명

http://helloworld.naver.com/helloworld/textyle/140351


http2 규격

https://http2.github.io/


http://blog.chromium.org/2015/02/hello-http2-goodbye-spdy-http-is_9.html


http 2.0 지원 IDL 

https://github.com/grpc/grpc

Posted by '김용환'
,


Brendan Gregg이 쓴 성능 관련 자료들은 다 볼만하다. 



http://www.slideshare.net/brendangregg/scale2015-linux-perfprofiling

Linux Profiling at Netflix from Brendan Gregg



Posted by '김용환'
,