본문 바로가기 메뉴 바로가기

엘키의 주절 주절

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

엘키의 주절 주절

검색하기 폼
  • 분류 전체보기 (360)
    • BlahBlah (40)
    • Book review (44)
    • C++ (62)
      • boost (2)
      • General (41)
      • network (0)
      • Debugging (9)
      • Rendering (5)
      • Visual Studio (5)
    • Java (0)
    • C# (2)
      • Unity (1)
      • General (1)
      • Winform (0)
    • Web (15)
      • General (1)
      • Django (3)
      • Ruby on Rails (10)
      • Node.js (1)
    • Network (23)
    • Scripts (13)
      • Python (1)
      • Ruby (9)
      • JavaScript (2)
      • Batch (1)
    • General (43)
      • Parerell (8)
      • Algorithm (0)
      • DataStructure (0)
      • AI (1)
      • Multimedia (1)
      • XML (1)
      • Profiling (2)
      • Environment (8)
      • Hardware (1)
      • Utility (18)
      • Etc (3)
    • OS (14)
      • Windows (7)
      • Linux (7)
    • Software Engineering (46)
      • Unittest (4)
      • Design Pattern (19)
      • Develop Theory (9)
      • Knowhow (14)
    • Database (19)
      • General (7)
      • PostgreSQL (2)
      • MS-SQL (8)
      • MySQL (0)
      • SQLite (2)
      • Redis (0)
    • Reverse Engineering (14)
    • Open source (25)
      • Game (9)
      • EzShortcut (11)
      • Libraries (5)
      • Light (0)
  • 방명록

General (43)
Thread design #02 잠금을 고민하지 않는 프로그래밍

Thread design에 대한 이해는, 기본적으로 잠금 정책에 over head를 이해하고 있느냐에서 출발한다고 생각합니다. 잠금 기반 프로그래밍은, 자주 사용하는 코드가 잠기게 될수록 성능이 수직 하향합니다.대기 하느라, 제대로 된 퍼포먼스를 낼 수 없다는 얘기죠. 그렇게 하지 않기 위해, 객체 간에 잠금에 신경쓰지 않게끔, 객체 간 접점을 줄여주어야 합니다. 좋은 Thread design의 목표는 어떻게 잡아야 할까요? 접점 최소화손쉬운 비동기 처리의도한 대로 순차 처리 (순서가 중요한 동작의 순서 보장) 디테일하게 나열하자면 얼마든지 많겠지만, 저는 위 세가지 목표가 보장된 기반 코드는, 컨텐츠 구현 시에 필요한 요구 사항을 다수 충족 시킬 수 있습니다. 이런 문제가 현세대 멀티스레드 프로그래밍의..

General/Parerell 2016. 7. 9. 21:13
nssm 콘솔 프로그램 서비스화

https://nssm.cc/ nssm-2.24.zip rails 서비스화에 사용한 배치 파일 예제입니다. 아주 간단해요.윈도우 서버의 경우 권한 문제에 빠질 수 있는데, 이 경우 아래 링크처럼 대처하세요.http://elky.tistory.com/561 pushd %~dp0@echo off %cd%\nssm.exe install %1 C:\RailsInstaller\Ruby2.1.0\bin\rails.bat "s -p 8000 -e production"%cd%\nssm.exe set %1 AppDirectory %cd% pushd %~dp0@echo off net start %1 pushd %~dp0@echo off net stop %1 pushd %~dp0@echo off net stop %1 nss..

General/Utility 2015. 6. 4. 12:51
service_wrapper 유틸리티

콘솔 프로그램을 service로 등록해주는 instsrv, srvany의 wrapping batch 파일입니다. 사용법은 install.bat "서비스명" "실행파일경로" "인자" uninstall.bat "서비스명" 입니다.

General/Utility 2015. 6. 4. 12:10
Thread design - #01 우리는 이미 알고 있었다

제가 프로그래밍을 처음 배울 때의 CLI 프로그래밍과 WIN32 프로그래밍으로 넘어왔을 때 큰 괴리를 느꼈습니다.그 이유는 바로 EVENT-DRIVEN(message based)프로그래밍 때문이었죠.현재는 reactor라는 패턴이란 이름으로 더 알려진 이 메시지 기반 프로그래밍은, DOS 시절의 동기 프로그래밍에 익숙한 많은 프로그래머를 괴롭게 했습니다. message라는걸 왜 굳이 만들어 처리하는가….에 대해 저는 그 당시 이해하기 어려웠습니다.당시만해도, 윈도우 메시지를 굳이 처리하지 않고도 여러 작업이 가능했기 때문이죠. 예를 들어 GetAsyncKeyState (http://msdn.microsoft.com/ko-kr/library/windows/desktop/ms646293(v=vs.85).as..

General/Parerell 2014. 12. 9. 22:55
non-blocking multithread programming

클럭도 물론 중요하지만, 코어가 몇갠지 부터 보는 일이 자연스러워진지도 몇년. 다들 병렬 프로그래밍 잘 하고 계시나요? 서버 프로그래밍을 시작한 2006년부터 지금까지... 멀티 스레드를 다뤄오며, 느낀 것에 대해 이야기해보고자 한다. lock 말그대로 잠금. 이 데이터 unlock 될때 까지 쓰지말라는 거다. - non-blocking non-blocking이 뭐냐고? 대기하는 상황(blocking) 없이 코드가 수행되는 것을 말한다. - lock is blocking. lock이라는 것 자체가 blocking을 위한 녀석이다. 멀티스레드에 적합한 녀석 일리 없다. - lock-free container나 데이터에 접근할 때에 lock 객체에 대한 고민없이 사용해도 되는 자료구조나 스레드 모델을 loc..

General/Parerell 2014. 12. 9. 22:11
멀티스레드 동기화

1.Critical Section - 유저 레벨의 동기화 방법 중, 유일하게 커널 객체를 사용하지 않음. - 내부 구조가 단순하여 동기화 처리에 대한 속도가 빠르다. - 동일한 프로세스 내에서만 사용. - 커널 객체를 사용하지 않기 때문에 핸들을 사용하지 않고, CRITICAL_SECTION 이라는 타입을 정의하여 사용. ?12345678910111213141516// 크리티컬 섹션을 초기화한다. // 파라메터는 여러 개의 쓰레드에 참조되어야 하므로 전역으로 선언하도록 한다.void InitializeCriticalSection(LPCRITICAL_SECTION lpCriticalSection); // 생성된 크리티컬 섹션을 삭제한다. void DeleteCriticalSection(LPCRITICAL_..

General/Parerell 2014. 10. 1. 12:38
상사와 부하의 상관관계

IT 얘기는 아닌거 같은데... 크게 공감되네요.

General/Etc 2013. 11. 22. 11:32
XML 특수 문자 정리

XML 예약문자, &는 XML tag 표시와 entity를 표시하는 XML 예약문자로, XML 문서에 그대로 사용할 수 없다. (greater-than sign)>& (ampersand)& 그리스문자그리스 문자는 풀어서 사용한다.αalphaβbetaγgammaδ,Δdeltaεepsilonζzetaηetaθthetaιiotaκkappaλlambdaμmicronνnuξxiοomicronπpiρrhoσ, Σsigmaτtauυupsilonφphiχchiψpsiω, Ωomega 기호 & 부호≤ or =±+/-˚degrees℃degrees C→-->㎍, μGmicrogram㎕, μLmicroliter㎛, μMmicrometer®(R)™(TM)χ2chi─square ..

General/XML 2013. 10. 10. 12:34
이전 1 2 3 4 ··· 6 다음
이전 다음
공지사항
  • 나에 대해서~
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
  • I am Not Okay
  • Jacking
  • Flexible Gameserver
  • 아름다운 네트웍 세상 since 1996.
  • 애자일 이야기
  • 류광의 번역 이야기
  • Joel on software
  • B-612
  • 디지털 보단 아날로그
TAG
  • NDC2013
  • 리버스 엔지니어링
  • MS-SQL
  • perfmon
  • SDL
  • c언어
  • 임백준
  • 엘키
  • svn
  • EzShortcut
  • 바로가기 프로그램
  • Ruby on Rails
  • RoR
  • SQLite Spy
  • EasyExec
  • 멀티스레드
  • 디자인 패턴
  • 좋은 프로그래머
  • 조엘 온 소프트웨어
  • 루비
  • 게임개발포에버
  • ftp
  • TraceRoute
  • 게임데브포에버
  • CppSQLite
  • 루비 온 레일즈
  • Rails
  • ruby
  • 디버깅
  • TDD
more
«   2025/07   »
일 월 화 수 목 금 토
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
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바