달력

12026  이전 다음

  • 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

메세지 큐?

devel 2010. 1. 31. 21:22
이번에 프로젝트 하면서 팀내에서 메세지 큐에 대한 중요성을 토로하는 분위기가 나오고 있다.

나는 솔직히 뭐지? 스러운데... 요컨데 의아한 부분은 메세지 큐를 필요로 하는 용도가 뭐냐는 점이다.

나도 예전에 메세지 큐를 도입해보려고 고민해본적이 있었는데, 그당시 내 상황에는 맞지 않아서 간단히 내부 큐를 구현하는 것으로 일단락 지었던 기억이 있다.( 그당시에는 그냥 막연히 필요하지 않나 생각했던거 같다.)

그때는 들어온 요청에 대한 안정성 때문에 필요하다고 생각했다. 

요청을 받아놓고 죽어버리면 날아가니까. 그렇다고 DB에 넣으면 느려질테고...

최근 팀원이 이야기하는 내용도 대략 그런 맥락이라 이해하고 있긴 한데...

과연 메세지 큐는 원래 그럴 용도로 나온건가?

해서 검색을 좀 해보니까... 이런(http://neojjang.egloos.com/1907005) 글도 있더라...

이경우는 DB에 대한 버퍼 용도로 메세지 큐를 사용하는 것.

흠. 메시지 큐의 용도에 대한 고찰을 한번 정리해봐야겠다.




Posted by 2d
|
입사한지 얼마 지나지 않아 웹질로 시간을 보내는게 처량해 보였던 팀장님이 아주 간단한 웹 개발을 맡겨왔다.

Linux + Apache + MySQL + PHP 의 속칭 LAMP 환경에서의 개발이었는데,

사실 제대로 Linux를 세팅해본적이 없기때문에 상당히 걱정했지만, 요즘은 yum이 잘 되어 있는 덕분에 yum install으로 별 어려움없이 환경을 세팅하고 슥슥 만들어 놨었는데...

얼마 지나서 보니까 에? 왜 갑자기 DB연결이 안되는겨?

갑자기 MySQL 권한 설정을 다시해보고 껐다 켜보고 쌩쑈를 다했는데...

아뿔싸... 첨에 설치할때 안되길래 에러메세지 검색해서 나오는대로 그냥 했던게 잘못이었다.

몇번하다가 잘 안되니까 레드헷 계열 리눅스의 selinux설정을 꺼버렸던것이다.. (setenforce 0)

아마도 서버 관리자가 설정이 이상한걸 보고 다시 켰을것이고 거기에서 부터 문제는 시작되었다.

이래서 보통 개발 환경에서는 selinux설정을 껐었는데...

찾아보니 selinux에서는 주요 데몬의 실행 관련 사항도 제어하는 모냥이더라...

root 계정으로 setsebool -p httpd_can_network_connect_db on 해서 해결...

참고 URL : http://arcy.org/tc/entry/SELinux-설정


Posted by 2d
|

2008 JCO 컨퍼런스

devel 2008. 1. 29. 23:39
올해는 간다 +ㅁ+

Posted by 2d
|

Json

devel 2008. 1. 7. 13:49
http://cafe.naver.com/nyloper/969

JSON에 대해 정리가 필요합니다...
Posted by 2d
|

[python]idle 설정..

devel 2007. 3. 23. 10:53
idle 창 좀 키워보려고 이것저것 설정 만지다가...

안켜진다...-ㅁ-;;

아무래도 크기 설정할때 숫자가 아닌 걸 써넣은거 같은데...

이거야원..

설정파일은 어디에 있는거냐? ...

레지스트리도 뒤져보고.... 설치 폴더도 뒤져봐도 소득이 없던중...

RTFM...

제길... 메녈에 써있다..

Idle의 설정 파일은 윈도우의 경우
 Documents and Settings\<username>\.idlerc
에 위치한다...


메...메...메..

메녈을 읽읍시다..+ㅁ+
Posted by 2d
|
간단해... 스크립트 읽는 형식이 다르기 때문이지....

파이선 만들때 맨첨에 써놓을 것!

# -*- coding: EUC-KR -*-

간단하잖아...-ㅁ-;;
Posted by 2d
|

Fn... 네이놈...

devel 2007. 1. 12. 23:12


파일몬 쫌 뒤적거려보구선 우쭐해서

희원이 횽아가 하던 키보드 필터 드라이버 해준다고 떵떵 거렸는데..

이제서야 좀 해볼라구 끄적끄적 거려봤는데...

아웅-ㅁ-;;

희원이 형이 전에 봤다는 Ctrl2Cap을 대강 돌려봤는데..

그냥 \\Device\\KeyboardClass0 를 열어서 필터를 갖다 붙이는 스타일 이었는데..

희원이 형 말대로 FN은 스캔코드가 안들어 오더라...-ㅁ-;;

주루룩 발견되는 문제 상황..

1. 나는 LowerFilter로 설치하는 법을 모른다...

 >> IoAttachDevice 말고 뭐가 더 있던거야?!!

2. 나는 WDM 기반 드라이버 생성법을 모른다...
 >> 파일몬 기반으로 짜다보니... StartService 식의 방법만 써왔다.. AddDevice라니;;;

3. 나는 BusDriver에 필터를 설치하는 법을 모른다...
 >> Device Tree로 보니까 KeyboardClass0가 i8042port에 필터로설치된건 알겠는데..
      그놈은 unnamed 잖아...어떻게 하면 해당 디바이스에 필터를 설치할 수 있는거지?

4. 나는 SCM을 이용하는 설치 방법 밖에 모른다...
 >> INF 파일 등을 이용하는 방법은 뭐가 있는 거지?

모르는 것 뿐이로군... 이거 가능하긴 하나? -ㅁ-;;

프로그램이 안되는게 어딨어..=ㅁ=;;;
Posted by 2d
|


그하하하!!!

이놈이 없었으면 얼마나 더 긴긴 시간을 보냈어야 했는고...

 

ㅋㅋㅋㅋ

Posted by 2d
|

wow 엄청난 링크들..

devel 2006. 10. 13. 10:11
왜... 붙여넣기가 안되는 거지?
-ㅁ-




reverser.htm
Posted by 2d
|

CHAP?

devel 2006. 9. 1. 09:31
난 또 무슨 Chapter 설명이라고...

또 새로운 용어를 배웠습니다..

텀즈에 물어보니..


CHAP (Challenge-Handshake Authentication Protocol)

CHAP은 PAP에 비해, 시스템에 보다 안전하게 접속하기 위한 절차이다. 아래에 CHAP이 어떻게 동작하는지를 설명하였다.

  1. 서버는 링크가 확립된 후에, 접속 요청자에게 유효성 확인 메시지를 보낸다. 접속 요청자는 단방향 해시 함수를 사용하여 획득된 값으로 응답한다.
  2. 서버는 해시 값을 나름대로 계산한 결과와 요청자가 응답한 값을 비교, 확인한다.
  3. 만약 두 값이 서로 맞으면, 인증이 승인되며, 그렇지 않으면 그 접속은 대개 종료된다.

서버는 언제라도, 접속된 상대방에게 새로운 유효성 확인 메시지를 보낼 것을 주문할 수 있다. CHAP 식별자들이 자주 변화하고, 서버는 접속 요청자에게 언제라도 인증을 요청할 수 있기 때문에, PAP에 비해 CHAP이 더 안전하다. RFC1334에 CHAP과 PAP 모두가 정의되어 있다.

참고 URL:

http://www.terms.co.kr/CHAP.htm

http://blog.naver.com/ohpowel/80026739948

http://www.ietf.org/rfc/rfc1334.txt

음...

근데 이게 보안상 문제가 있다고?(rfc1994.txt)

좀 공부를 해봐야...+ㅁ+



 

 

 


 

Posted by 2d
|
자이스 님의 네이버 블로그 에서 가져왔습니다
http://blog.naver.com/terran444?Redirect=Log&logNo=40025493308

와우...

Tab~ Tab~
Posted by 2d
|

영상처리관련 자료...

devel 2006. 7. 19. 11:11
와우..

공부합시다...

영상처리 관련 노트들..
Posted by 2d
|
Windows NT 시스템 콜은 어떻게 동작하는가?

콜 게이트의 특권 검사


와우!

레지스터에 관해서 많은 도움이!


나이스 나이스!

역시 인터넷엔 기진이사가 가득...+ㅁ+
Posted by 2d
|

개발자 로드맵...

devel 2006. 7. 10. 09:08
나는 어디로 갈까?..






Posted by 2d
|

Spiral Array

devel 2006. 7. 10. 01:32
 표준 입력으로 자연수 row, col을 입력받으면
 표준 출력으로 row*col 크기의 나선형 배열을 출력하는 프로그램을 작성하시오.

실행예:

6 6

   0   1   2    3   4   5  

 19  20  21  22  23   6  

 18  31  32  33  24   7

 17  30  35  34  25   8

 16  29  28  27  26   9

 15  14  13  12  11  10 

----------------------------------------------------
 c++ 버전 : SpiralArray.cpp
  -> 소요시간 2시간 -ㅁ-;
  로직자체는 단순한데.. 엄한데서 해맴..=ㅁ=..
  배운점
  1. int로 잡을때도 memset 으로 초기화 할라믄 배열을 1크게 잡아라. 안그름 delete할때 뻥난다..
  2. log10()하면 그 숫자의 자릿수가 나온다...
----------------------------------------------------
Posted by 2d
|

리마 시험...

devel 2006. 6. 18. 20:31


 

두번이나 옮긴 PC가 다운먹은 것도...(결국 세번째 PC도 다운..)

시험장에 늦게 도착한 것도...

사실은 변명거리라고 할 수 없던게..

 

정말 아는 문제가 없었다.. .-ㅁ-;;;

 

이정도면 되겠지 하고 얕본 댓가인가? =ㅁ=;;

제길...6만원이나 날리다니..

결국 커트라인 60점에... 46점...

훗.._ㅁ_

Posted by 2d
|

[fedora]mysql 설치..

devel 2006. 6. 15. 23:34
철성님의 네이버 블로그 의 MySql 설치 안내

리마 준비로 연습중...

rpm or yum 으로 설치하는 건 이제 식상해서...

소스 컴파일을 해서 설치해보려고 시도...

정말...

정말정말..

오래걸림-ㅁ-..

근데...

이건 service 명령으로 관리할수 없는건가?

방법 검토중...

나이스...

찾았다...

네이버 리눅스 포유 카페
Posted by 2d
|
fedora를 깔면서부터..

그냥 묻혀뒀던 건데..

이상하게 ssh로 접속하면 한글이 깨져대는 것이었다..

수상해서...

인터넷을 뒤적뒤적해서... 다음과 같은 내용을 알아냈는데..

/etc/sysconfig/i18n 파일을

LANG="ko_KR.eucKR"

SUPPORTED="ko_KR.eucKR:ko_KR:ko"

SYSFONT="lat0-sun16"

SYSFONTACM="8859-15"


이렇게 바꾸라는 얘기...

요컨데 UTF-8 설정을 없애라는 건데...

( 어째서 UTF-8 설정이 문제가 되는걸까? 원래 유니코드는 한글같은거 깨지지 않게 쓰라고 만든거 아닌가? -ㅁ-;; )

바꿔도 별볼일이 없더라..-ㅁ-;;

다른 글을 더 찾아봐도.. 터미널 프로그램을 바꿔보라는 이야기 정도...

아아... 이대로는 어쩌란 말인가....

라는 생각과 함께..

생각만...

생각만..

생각..

새...ㅇ...

어라 무슨일이 있었나? -ㅁ- (already, deleted...=ㅁ=)

그런데...

오늘 vncserver깔다가 뭔가 수상해서... 다시 한번 봤더니...

터미널 프로그램에 출력 설정이 UTF-8로 되어있더라...

(어쩐지.. 맨첨에 쓸때 글자가 깨지는게 아니라 %붙어서 나오더라...-ㅁ-)



 

이렇게... 아름답게..+ㅁ+

man ls의 결과가... 오늘의 날짜가... 오오..오오..+ㅁ+

Posted by 2d
|

스팸정책...

devel 2006. 4. 26. 18:20
일전에 사내 solaris 서버가 사망한 관계로..

일단 개발용 solaris 서버는 남는 서버를 세팅해서 충당하고..

웹이랑 메일서버로 사용하려고 windows 2003 서버를 세팅하게 되었다...

(이유는 내가 퇴사하면서 더이상 유닉스 계열 관리할 사람이 없어져서...관리하기 쉬운 윈도우로 가자는 대장님의 엄명..+ㅁ+)

웹이야... 일전에 몇번 해본 적도 있고..

IIS에 PHP + Mysql 깔아서 간단히 해결을 봤는데...

메일서버 세팅이라니...-ㅁ-

유닉스에서도 해본적이 없는데;;;

버벅버벅 거리면서 어케어케 DNS 세팅하고... smtp, pop3 세팅을 했는데...

웬걸.... 메일이 외부에서 들어는 오는데..

나가질 않는 것이 아닌가! -ㅁ-;;

스마트 릴레이로 사내에서 사용하는 isp 업체의 smtp 서버 주소를 써버려서 대강 때울라고 그랬더니..

몇일 있으니 스팸이 많이 넘어와서 막혔다는 연락을 받아버렸다..-ㅁ-;;

(메일 릴레이 필터 설정을 안해줘서 그랬다는 걸 나중에야 알았다)

로그를 뒤적뒤적 조사해보니..

원인은..

IIS6.0 에 기본탑제 되어있는 smtp 서버의 문제..-ㅁ-

이놈은 기본적으로 접속시 Helo 보낼때 도메인명 대신 PC이름을 보낸다=ㅁ=;;;

근데...

그게 스팸정책에 걸려서... 다음같이 좀 큰 smtp 서버에서는 거부를 하는 모냥이다..


일반적으로 스팸정책은 다음과 같단다..

(1) 동시에 여러 커넥션을 맺어 메일을 쏠 경우
(2) 주어진 시간 내에 지정된 수 이상의 메일을 쏠 경우
(3) 발신자 HELO 도메인이 A, MX 레코드의 IP가 발신자의 IP와 일치하지 않을 경우
(4) 발신자 메일 주소의 존재 유무
(5) 발송 서버가 RBL(Realtime Blackhole List)에 등록되어 있는지 여부
(6) ......

이쯤에서 포기할라구 그랬는데..

대장의 "다음 따위가 MS님을 막을리가 없잖아! 방법이 있을꺼야!" 라는 말에..

다음에 전화해봤더니...

smtp 서버 로그 팩스로 보내주면 생각해 보겠덴다..

팩스 보낼라고 그러니까 6시... 근무시간 종료라서 낼보내달라는데..-ㅁ-..

내일은 내가 안나오는걸..+ㅁ+..

무야무야... 넘어가는 듯....

아마도...  smtp 서버로 다른걸 설치하겠지...


아마도... 싸알에서의 마지막 삽질이었으리라...
Posted by 2d
|
사내 solaris 서버가 몇일 간격으로 툭하면 'I/O에러' 나 'nroff: 임시 파일을 생성할수 없음.'

등의 힘들다는 말은 자꾸 한다..

그래 나도 네 맘은 아는데...

암것도 모르는 나한테 그러면 어쩌겠니..

형인데...

오해하지 말고 들어..

그냥 혼자서 해결해주면 안되겠니?...=ㅁ=;;


http://blog.naver.com/ksungsoo/40016522114

http://blog.naver.com/exgis100?Redirect=Log&logNo=80003205690


위는 불법 링크..-ㅁ-;;

소집해제까지 13일...

나가기 전에 마지막으로 솔라리스를 경험해보고 나가야 하겠다..

뭐 일단은 오늘은... 부팅시 ok 모드를 이용해서 boot -s 해서 싱글유저모드로 띄우는 걸 배웠다..

이를테면 안전모드..같은거 같은데...

흠..

흥미롭군..

요새 리눅스 공부에도 재미가 붙었었는데..

하는김에 이것저것 건드려 보세~
Posted by 2d
|
뭔가... 정리가 안되어있지만...

일단 무단 펌질..=ㅁ=;;;

살려주세요;;;
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[펌]각종 DBMS JDBC 드라이버 셋팅법 정리 | Java Jsp 2004/08/24 15:07 

http://blog.naver.com/btchae/80005156583

//********** 각 경우별 드라이버 연동하기 **************/
** DB2 **
연결 URL : "jdbc:db2:Catalog된 DB명"
드라이버 클래스 : COM.ibm.db2.jdbc.app.DB2Driver
** JDK jdbc-odbc driver (Type1) **
연결 URL : "jdbc:odbc:"
드라이버 클래스 : sun.jdbc.odbc.JdbcOdbcDriver
** Oracle thin driver (Type4) **
연결 URL : "jdbc:oracle:thin:@:port:"
드라이버 클래스 : oracle.jdbc.driver.OracleDriver
** Oracle oci driver (Type2) **
연결 URL : "jdbc:oracle:oci:@"
드라이버 클래스 : oracle.jdbc.driver.OracleDriver
** Sybase jConnect driver (Type2) **
연결 URL : "jdbc:sybase:Tds::"
드라이버 클래스 : com.sybase.jdbc2.jdbc.SybDriver
** Informix JC1 driver (Type4) **
연결 URL : "jdbc:informix-sql://:/:INFORMIXSERVER"
드라이버 클래스 : com.informix.jdbc.IfxDriver
** mSQL Imaginary JDBC driver (Type4) **
연결 URL : "jdbc:msql://:/"
드라이버 클래스 : com.imaginary.sql.msql.MsqlDriver
** Postgres driver (Type4) **
연결 URL : "jdbc:postgresql://:/"
드라이버 클래스 : postgresql.driver
** MM MySQL driver (Type4) **
연결 URL : "jdbc:mysql://:/"
드라이버 클래스 : org.git.mm.mysql.Driver

** Access **
연결 URL : jdbc:odbc:설정한 odbc명
드라이버 클래스 : sun.jdbc.odbc.JdbcOdbcDriver

mysql은 JConnector 3.0 부터는 com.mysql.jdbc.Driver
연결 URL 은 jdbc:mysql://localhost/dbname?Unicode=true&characterEncoding=EUC_KR
같이 인코딩 타입을 직접 줌으로써 한글 변환문제에 좀더 쉽게 해결할 수 있음.

// ******************************Connected To IBM AS/400
Class.forName("com.ibm.as400.access.AS400JDBCDriver");
com = Driver.Manager.getConnection("jdbc:as400://10.20.30.40/testlib;user=user;password=pass");
// ******************************Connected To Unisql
Class.forName("unisql.jdbc.driver.UniSQLDriver");
con = Driver.Manager.getConnection("jdbc:unisql:10.20.30.40:43300:demodb:::", "user","pass");

// ******************************Connected To Jdbc-Odbc Type - 1 Driver
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// con = DriverManager.getConnection("Jdbc:Odbc:dsnname","userid","password");
con = DriverManager.getConnection("jdbc:odbc:Driver={SQL Server};Server=servername;Database=pubs","userid","password");
// ******************************Connected To Ms-Access JDBC ODBC Driver .
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("Jdbc:Odbc:dsnname","","");
// con = DriverManager.getConnection("jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=G:/admin.mdb","","");
// ******************************Connected To Ms-Access Type-3 Driver.
Class.forName ("acs.jdbc.Driver");
String url = "jdbc:atinav:servername:5000:C:\admin.mdb";
String username="Admin";
String password="";
Connection con = DriverManager.getConnection(url,username,password);
// ******************************Connected To Microsoft SQL.
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://servername:1433","userid","password");
// ******************************Connected To Merant.
Class.forName("com.merant.datadirect.jdbc.sqlserver.SQLServerDriver");
con = DriverManager.getConnection("jdbc:merant:sqlserver://servername:1433;User=userid;Password=password");
// ******************************Connected To Atinav SqlServer.
Class.forName ("net.avenir.jdbc2.Driver");
con= DriverManager.getConnection("jdbc:AvenirDriver://servername:1433/pubs","userid","password");
// ******************************Connected To J-Turbo.
String server="servername";
String database="pubs";
String user="userid";
String password="password";
Class.forName("com.ashna.jturbo.driver.Driver");
con= DriverManager.getConnection("jdbc:JTurbo://"+server+"/"+database,user,password);
// ******************************Connected To jk Jdbc Driver.
String url= "jdbc:jk:server@pubs:1433";
Properties prop = new Properties();
prop.put("user","userid");//Set the user name
prop.put("password","password");//Set the password
Class.forName ("com.jk.jdbc.Driver").newInstance();
con = DriverManager.getConnection (url, prop);*/
// ******************************Connected To jNetDirect Type - 4 Driver
String sConnect = "jdbc:JSQLConnect://127.0.0.1/database=pubs&user=userid&password=password";
Class.forName ("com.jnetdirect.jsql.JSQLDriver").newInstance();
Connection con= DriverManager.getConnection(sConnect);
// ******************************Connected To AvenirDriver Type - 4 Driver
// String url= "jdbc: AvenirDriver: //servername:1433/pubs";
// java.util.Properties prop = new java.util.Properties ();
// prop.put("user","userid");
// prop.put("password","password");
Class.forName ("net.avenir.jdbc2.Driver");
System.out.println(" Connected To AvenirDriver Type - 4 Driver");
con= DriverManager.getConnection("jdbc:AvenirDriver://servername:1433/pubs","userid","password");
// ******************************Connected To iNet Sprinta2000 Type - 4 Driver
String url="jdbc:inetdae7:servername:1433";
String login="userid";
String password="password";
Class.forName("com.inet.tds.TdsDriver");
System.out.println(" Connected To iNet Sprinta2000 Type - 4 Driver");
con=DriverManager.getConnection(url,login,password);
// ******************************Connected To iNet Opta2000 Type - 4 Driver
String url="jdbc:inetdae7:servername:1433";
String login="sagar";
String password="sagar";
Class.forName("com.inet.tds.TdsDriver").newInstance();
System.out.println(" Connected To iNet Opta2000 Type - 4 Driver");
con=DriverManager.getConnection(url,login,password);
Posted by 2d
|
대출서버를 인수받고...

제일 인상깊었던 건...

각 함수마다

int Function_1(...)
{
  char me[]="Function_1";

   ...

}

이런식으로 코딩이 되어있더라..

로그를 찍을때 어느 함수를 실행중 이었는지 같이 찍으려고 사용한 방법 같은데...

얼마 지나지 않아

컴파일러에 정의된 상수에 대해 알게 된다..

실행중인 function 명을 알려면


역시 갱장하군...!

근데..

vc에서는..__LINE__정도가 한계인건가?

유용한 녀석들은 전혀 지원하지 않잖나...-ㅁ-;;;

땡스빌...
Posted by 2d
|
실수로...

solaris 머신에 윈도우 CD를 넣어버렸다...

꺼내려고 이것저것 해보았는데..

웬걸.. 버튼을 눌러도 나오지가 않잖아 !!!

헉...

어쩌지...

-ㅁ-;;

언마운트니 뭐니 할줄 아는건 다 동원해봤지만 안되더라-ㅁ-;;

결국... 팀장님에게 헬프를 쳤는데..

한마디로 해결이 되더이다...

reject cdrom
 
저런...

=ㅁ=;;
Posted by 2d
|
어딘가의 링크를 타고..

앤디정님의 카페 에서 최적화에 관한 글을 읽어보았습니다.

정리가 깔끔하게 되어있어 보기에 편했습니다. (영어만 아니었다면;;;)

학교에서 이미 배웠던 내용 같지만..

다 까먹은 관계로 재밌게 읽을 수 있었군요..

정리하자면 다음과 같은 내용이군요..

근데..


아직까지 경험과 실력이 부족해서인지..

고수들은 코딩과 동시에 최적화가 이루어 진다고 하는데...


저는 최적화보다는 구현에 급급하군요...

갈길이 멀어요...

정리하자면..

결국 폰노이만 방식의 특징인 "메모리 <-> 연산장치" 의 I/O에 따른 오버헤드를 줄이는 방법이 최적화가 되는것이군요.

제시된 방법으로는..

Cache - 자주 쓰는 데이터는 미리 가져다 두어라.
        
         -> I/O 횟수를 줄일 확률이 높다.

Locality - 같이 사용되거나 유사한 데이터는 근처에 모아두어라.
       
           -> 데이터 검색시간을 줄일 수 있고, 미리 가져다 둘 확률이 높다.

Alignment - 데이터를 정리(정렬)해 두어라.

             -> 데이터 검색시간을 줄일 수 있다.

Usage Share - 동일한 데이터는 공유하라.

                  -> I/O 횟수를 줄일 확률이 높다.

크게는 이정도 원칙이 존재하는 듯 하고...

그 외에는

Mispredicated branch - 불필요한 분기를 줄여라
     
                               -> 알고리즘의 개선에도 해당되는 내용인듯...

Using Special Instructions - 최적화를 위해 지원되는 특수 명령어를 사용하라..
   
                                     -> 특수한..;;;

흠....

코딩레벨에서 체득해 두도록 해야하려나...-ㅁ-;;
Posted by 2d
|

ACE...

devel 2006. 3. 21. 13:13
승호형뉨 카페에 질문올리러 갔다가...

서버 클라이언트의 연결에 관한 질문입니다.. 라는 글의 Zeebas 님의 덧글을 보다가 발견..

오오... 이런...

지금껏 고민하던...

서버클라이언트 설계 관해서는 현존하는 최고의 공개 라이브러리 란다..

서점에서도 지나가다 얼핏 봤다 했더니...

공부하세요~ +ㅁ+
 
ACE 프로젝트 홈페이지

redpixel 님의 ACE관련 위키

네이버의 프리님의 ACE 관련 포스트 
Posted by 2d
|

포트에 대한 상식...

devel 2006. 3. 15. 17:06
심심해서...

일반적으로 알려진 사용되는 포트 넘버에 관한 문서를 읽어보고 있었는데..

mysql-cluster   1186/tcp   MySQL Cluster Manager
mysql-cluster   1186/udp   MySQL Cluster Manager
 
에?

어째서 한 포트에 tcp랑 udp가 동시에 할당 되어 있지?

평소에 netstat 좀 친다고 생각했는데...

알고보니 이런 기초적인것도 모르고 있었다-ㅁ-;;

후다닥 마침 켜고 있던 이클립스로 테스트를 해보니..

(자바에서 UDP로 서버 만들어 본적이 없어서... JAVA UDP 예제 를 참고했다..-ㅁ-;;)
 
다른 방식의 연결이라서 인지...

서로 잘 된다..-ㅁ-;;

어쩐지... 이런걸 이용했던게로구나..

(저번에 UDP연결에 쓸 포트하나 더 열어달라 그럴라고 그랬는데.. 무식이 탄로날뻔했다..+ㅁ+)
Posted by 2d
|

루트킷!

devel 2006. 3. 15. 16:50
쌍부라 님의 ...... =ㅠ=  을 읽고 새로운 것을 알게 되어 글을 남깁니다.




역시나 아직 가야할 길은 멀고도 험난하군요...

이런 것도 모르고 있었다니...

네이버 지식인에서 뒤져온 루트킷의 정의 를 읽어보니...

대강 '트로이' 비슷한 류의 바이러스를 말하는 모양이군요...
Posted by 2d
|

서블릿의 로딩순서.

devel 2006. 3. 14. 11:06
요즈음은 한참 인수인계를 하고 있다..

(그간 별로 한 건 없지만... 이것저것 자질구래한 것들이 많다...-ㅁ-;;)

C서버 쪽은 어찌어찌 넘어가는 듯 한데..

서블릿 쪽을 넘겨주려고 하다가...

Flow chart 를 그리는데...

뭔가 이해되지 않는 부분이 발견되었다..

그건...

아아아악!!!
 
어째서 소스내에 명시적으로 로딩되는 순서가 씌여있지 않은거지?!!! -ㅁ-;;
 
그러나 역시 지식인 즐은 무적...

바간나 님의 서블릿 로딩 관련 문서 관련 포스팅을 보고...

겨우 이해했다...

결론은 ...

각 context 내의 서블릿 설정안에 들어있는.. 

<load-on-startup>0</load-on-startup>



이녀석이 범인...

이 속성은 각 서블릿의 로딩 순서를 지정한다...

뭔가....

뭐랄까..

여태 이것도 모르고 있었단 말이야? -ㅁ-;;;

반성하자..
Posted by 2d
|

CMOS checksum error ...

devel 2006. 2. 23. 19:44
CMOS checksum error

놀라지 말아요..

다음과 같은 경우.

1. cmos 설정시간이 잘못된경우
->시간설정을 다시해준다
2. 메인보드 수은전지가 다된경우
->수은전지 교체
3. 메인보드가 쇼트난 경우
->보드 수리/교체
자꾸 죽어나가는 세진씨 컴을 어떻게 살려보고저...

바이오스 업데이트를 하게 되었는데..

업데이트를 마치고 나니..

부팅시 저 멘트가 나오는게 아닌가?-ㅁ-;;


내 경우는... 간단히 1번으로 해결..+ㅁ+...

다행이야...
Posted by 2d
|

웹 프로그래머...

devel 2006. 2. 23. 19:39
세련된 웹 프로그래머 되기

역시나...

가장 빠른길은 정석이다...




 
정말이지 알수없는 position의 일을 하고 있지만...

돌이켜 보면 싸알에서  내 첫 position은 웹프로그래머였던 듯 하다..

정확히는..

html 코더..=ㅁ=;;;

javascript 와 applet 떡칠...

+ㅁ+

그땐 급하다고 일단 해결하고 본다고 마구마구 저질렀던 일이지만..

결국 시간이 많아도 특별히 옳은 방법을 따르지는 않았다.


사실...

표준을 익힌다는게 가장 어려운 일인거 같다
Posted by 2d
|