'전체 글'에 해당되는 글 171건

  1. 2012.04.15 구글에서 제시한 C++ 코딩 가이드
  2. 2012.02.16 Google Code Jam Korea 2012 - 올해부터는 한글로
  3. 2012.02.15 [DB] DB Sharding은 무엇이고, 적용 전략은? ( 적용시 고려사항 ) 1
  4. 2012.02.14 [K팝스타] 이미쉘의 성대결절과 프로페셔널
  5. 2012.02.10 세력의 기법 - 단주매매

구글에서 제시한 C++ 코딩 가이드

개발 2012. 4. 15. 14:14

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

구굴에서 제시한 C++ 코딩 가이드

한글버전 :

http://aronze.com/wiki/index.php?title=Google_C%2B%2B_Style_Guide

영문 원본 :

http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml

 

사내에 C++ 코딩 가이드가 없다면, 이것을 그대로 사용해도 될듯..

 

더 많은 정보를 원한다면 여길르 방문..

http://code.google.com/p/google-styleguide/

 



:

Google Code Jam Korea 2012 - 올해부터는 한글로

개발 2012. 2. 16. 16:22

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

구글 코드 잼이 2003년 부터 시작되었는데, 항상 영어로 문제가 나와서 참여하기를 망설였던..
2012년에는 한국 거주자면서, 한국어를 사용하는 참자가를 대상으로  대회가 열린다고합니다.

영어 울렁증 땜에 망설였던분들 얼렁 참가신청 하세요.

문제는 ACM이나 TopCoder 같은 알고리즘 유형의 문제들이다.
여기서 1등하면 구글코리아에 들어가나? ㅋㅋ



일정

날짜 시간 (한국표준시)* 일정
2월 15일 (수요일) 14:00 KST 등록 시작
2월 25일 (토요일) 14:00 KST 예선 라운드 시작 (온라인, 6시간)
2월 25일 (토요일) 20:00 KST 등록 및 예선 라운드 종료
대회 종료 전까지 등록을 하셔야 합니다.
3월 3일 (토요일) 14:00 KST 본선 라운드 시작 (온라인, 3시간)
4월 7일 (토요일) 미정 결선 라운드 시작 (4시간)


자사한 내용은 아래 참고

http://code.google.com/codejam/korea




:

[DB] DB Sharding은 무엇이고, 적용 전략은? ( 적용시 고려사항 )

개발 2012. 2. 15. 17:44

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

작성자 : hanburn

작성일 : 2012-01-17

 

1. 샤딩 ( sharding ) 이란 무엇인가?

2. 샤딩 및 전략

 2.1 vertical partitioning

 2.2 Range Based Partitioning

 2.3 Key or Hash Based Partitioning

 2.4 Directory Based Partitioning

3. 샤딩 적용시 고려사항

  

 

 

1. 샤딩 ( sharding ) 이란 무엇인가?

관계형 데이터베이스에서 대량의 데이터를 처리하기 위해서 데이터를 파티셔닝하는 기술이다. 파티셔닝은 DBMS에서 지원하기도 하는데, 일부 DBMS ( MySQL 5.1 미만에서는 지원 안함) 에서는 지원안하기도 한다. 샤딩은 DBMS 레벨에서 데이터를 나누는 것이 아니고 데이터베이스 자체를 분할하는 방식이다. 따라서 어플리레이션 레벨에서 구현해야 한다.

간단하게 예를 들면, 전 세계의 고객 데이터를 저장하는 대형 데이터베이스를 분산한다고 할때, 미국 고객의 경우는 샤드A, 아시아 고객의 경우는 샤드B, 유럽 고객의 경우는 샤드C로 분할해서 저장할수 있다.  

 

 

2. 샤딩 및 전략

샤딩에서 데이터베이스를 분할하는 방법에 대해서 살펴본다. 각 방법마다 장단점과 주의할 점이 있으므로 서비스에 맞게 적절하게 선택하거나 조합하여 사용 한다.

 

2.1 Vertical Partitioning

    테이블 별로 서버를 분할하는 방식이다. 예를들면 사용자 프로필정보용 서버, 사용자 친구리스트용 서버, 사용자가 만든 컨텐츠( 사진같은것 ) 용 서버등으로 분할하는 방식이다.

    장점 : 구현이 간단하고, 전체 시스템에 큰변화가 필요 없다.

    단점 : 각 서버의 데이터가 점점 거대해지면 추가 샤딩이 필요해진다. ( 1천만명이 1000장의 사진을 생성한다면 컨텐츠 서버에 또 샤딩이 필요할 것이다. )

 

  2.2 Range Based Partitioning

    하나의 feature(또는 table)가 점점 거대해지는 경우 서버를 분리하는 방식이다. 예를들면 사용자가 많은경우 사용자의 지역정보를 이용해서 user 별로 서버를 분리하거나, 일정데이터라면 년도별로 분리, 거래정보라면 우편번호를 이용하는 방식이다.

    주의점 : 데이터를 분할하는 방법이 예측가능해야 한다.

 

  2.3 Key or Hash Based Partitioning

    이방식은 웹2.0 사이트에서 기본 파티셔닝 방식으로 알려져있다. 엔티티를 해쉬함수에 넣어서 나오는 값을 이용해서 서버를 정하는 방식이다. 사용자ID가 숫자일 경우 나머지연산( module operation)을 이용하는 방법이다.

    주의점 : 해쉬결과 데이터가 균등하게 분포되도록 해쉬함수를 정하는게 중요하다.

    단점 : 서버의 수를 늘리기 위해서 해쉬함수를 변경하는 작업이 무지무지 비싼 작업이다.

 

  2.4 Directory Based Partitioning

    파티셔닝 메커니즘을 제공하는 추상화된 서비스를 만드는 것이다.(데이터베이스 액세스 코드와는 떨어져 있는)  샤드키를 look-up 할수 있으면 되므로, 구현은 DB cach를 적절히 조합해서 만들수 있다.

 

 

3. 샤딩 적용시 문제점들 및 고려사항

 3.1 데이터 재분배 ( Rebalancing data )

  Sharding DB의 물리적인 용량한계나 성능한계에 다르면 shard의 수를 늘리는 scale-up 작업이 필요하다. 서비스 정지 없이 scale-up 할수 있도록 설계방향을 잡아야 한다.

 

 3.2 샤딩으로부터 데이터 조인하기 ( Joining data from multiple shards )

   Sharding-db 간에 조인이 불가능 하기에 처음부터 역정규화를 어느정도 감수해야 한다. Shard의 목정이 대용량 데이터 처리이므로, 대용량처리시 수행성능을 위해서 데이터 중복은 trade-off 관계 임을 이미 알고 있다.

 

 3.3 샤드에 데이터를 파티션하는 방법 ( How do you partition your data in shards? )

  shard 해쉬함수를 잘 설계해야 한다.

 

 3.4 샤드간의 트랜잭션 문제

  Global Transaction을 사용하면 shard DB간의 트랜잭션도 가능하다. 그 유명한 XA인데, 성능저하의 문제가 있다.

 

 3.5 Global Unique Key

  DBMS 에서 제공하는 auto-increament를 사용하면 key가 중복될수 있기 때문에, application 레벨에서 Key 생성을 담당해야 한다.

 

 3.6 데이터는 작게

  Table의 단위를 가능한 작게 만들어야 한다.

 

 

참고

http://www.ibm.com/developerworks/kr/library/j-javadev2-11/

http://highscalability.com/unorthodox-approach-database-design-coming-shard

http://www.25hoursaday.com/weblog/2009/01/16/BuildingScalableDatabasesProsAndConsOfVariousDatabaseShardingSchemes.aspx



:

[K팝스타] 이미쉘의 성대결절과 프로페셔널

사회&문화 2012. 2. 14. 14:13

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

K팝스타 오디션중 백아현, 이미쉘, 나머지하나는 누군지 기억이..

3명이서 배틀을 벌이고 심사평이 나옵니다.

 

박진영 :

"*프로의 자질 중 하나는 철저한 자기관리이다. 목 상태가 안좋으면 무조건 말을 하지 말았어야 했다. 심지어는 인사할때도 말을 아껴야

했다. 자기관리에 실패했다면 프로로서 실격이다.*"

 

양현석 : 박진영의 의견에 공감한다.

보아 : “실망을 많이 했다면서녹음실에서 봤을 때가 일주일 전이다. 그 때도 목이 안 좋았다. 근데 이미쉘이 녹음실에서 떠드는 모습을 보고 걱정이 됐다자기 관리도 실력이다

 

여기서 대부분의 사람들은 심사평에 공감을 하고, 프로페셔널이란 이런거다 라고 생각하기도 한다. ( http://groups.google.com/group/ksug/browse_thread/thread/5c061ff6863df5bd )

 

다른 방향에서 생각해보면,

이미쉘을 캐스팅해서 트레이닝을 담당한 SM과 보아는 무엇을 한 것일까?

1주일 전에 이미 목상태가 않좋은것을 알았으면, 미리 주의를 주고 보호장치를 했어야 하는게 아닌가라는 생각이 든다. 가수로써 미쉘이 프로페셔널 부족이었다면, 소속사와 트레이너로써 SM과 보아도 마찬가지로 프로페셔널 부족인 것이다.

혹시, 내막은 보아가 어떤 주의와 방향을 제시했는데 이미쉘양이 정말로 목 관리를 안해서 방송에서 직접적으로 깐걸지도..






:

세력의 기법 - 단주매매

정치&경제 2012. 2. 10. 01:00

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


증권 거래소에서는 매매 단위가 10주 단위이다. 그런데 5만원 이상인 주식에 한해서 1주 단위로 매매가 가능하다.  (참고로 코스닥은 1주 단위로 매매가 가능하다. )
단주매매란 바로 1주 단위로 매매를 하는 것을 말한다.

이 단주매매를 이용해서 세력들이 시세를 올린다고 해서 최근 단주매매 금지를 검토한다고 한다.
http://news.mk.co.kr/newsRead.php?year=2012&no=1455

그럼 세력들은 단주매매를 이용해서 어떻게 시세를 조정하는 것일까? 궁금해서 조사해 봤다.

일던 전제조건은, 사회적인 이슈가 있는 주식 또는 테마주를 위주로 이용한다고 한다.
요즘같으면 안철수 연구소나 문재인 테마주인 바른손 같은 경우임.


세력은 1~3주 단위의 작은 매수 주문을 초단위로 주문한다. ( 호가는 시장가보다 높게 )
동시에 매도 주문도 같이한다. 
그러면 해당 주식이 1초에 2~3건씩 체결되면서 HTS 에서  깜빡깜빡거리면,
이걸보고 개미들이 모여들어서 같이 매수를 해서 상한가에 도달한다고한다.

그러고 보니 이런 비슷한 현상을 몇번 본것 같네..
세력의 기법을들 좀금더 찾아보고 싶어 지네요~



: