backend 119

firefox가 느릴때..

얼마전부터 집에서 쓰는 노트북에서의 파이어폭스 반응속도가 현저하게 느려 블로그에 글을 쓸때 글 한자한자 따라오는 속도도 느리고, CPU점유율도 상당하던데, 도저히 안되겠다 싶어서 해결방법을 찾아보니, How To Speed Up Firefox (Helpful Vanity) 에 나와있는데로 설정을 하였습니다. 해당 글은, Here's something for broadband people that will really speed Firefox up: 1.Type "about:config" into the address bar and hit return. Scroll down and look for the following entries: network.http.pipelining network.http.p..

backend 2007.08.04

Java 성능개선을 위한 Programming 기법

Performance CheckList . 임시로 사용하기 위해 Object를 생성하는 것을 피하라. 특히 Loop에서.. . 빈번하게 호출되는 메소드에서 Object를 생성하는 것을 피하라. . 가능한 Object를 재사용 하라. . 임시 Object의 생성을 줄이기 위해 데이타 타입 컨버전 메소드를 재정의 하는 방법을 고 려하라. . 메소드 설계 시 데이타를 유지하고 있는 Object를 반환하는 메소드보다 데이타로 채워진 재사용 가능한 Object에 접근하는 메소드를 정의하라. . string이나 Object를 integer 로 대치하라. Object 비교를 위해 equal() 메소드를 호출하지 말고 기본 데이타 타입의 == 연산자를 사용하라. . 인스턴스 변수로 기본 데이타 타입을 사용하라. . 단..

backend 2007.06.27

awt와 swing의 차이점

java로 응용프로그램을 만들어본게 손에 꼽을 정도라서 awt와 swing의 확실한 차이점을 몰랐습니다. 오늘 배운내용을 이번기회에 확실히 알고 넘어가기 위해서,, AWT는 Abstract Windows Toolkit의 약자로 '추상 윈도우 개발 도구'라는 뜻으로 운영체제의 자원을 이용하여 control의 외형을 형성합니다. 즉 MS의 윈도우와 유닉스계열에서 GUI가 비슷하게는 나타나지만 같게 보이지는 않습니다. 그래서 'abstract'인거지요. 예로 button component를 생성하면 운영체제마다 그 버튼의 모양과 크기는 조금씩 다르게 나타납니다. 이것이 peer를 통한 component의 생성으로 나타나는 문제입니다. (현재 운영제체의 각 component를 peer component라고 합니..

backend 2007.06.19

[디자인패턴] bridge & adapter & mediator pattern

bridge pattern : 기능의 계층과 구현의 계층을 분리한다 '기능의 클래스 계층' 과 '구현의 클래스 계층' 사이에 다리를 놓는다. 클래스 계층의 두 가지 역할새로운 '기능'을 추가하고 싶을 때something|----- somethingGood|------- somethingBetter새로운 기능을 추가하고 싶을 때 클래스 계층 안에서 새로 만들려고 하는 클래스와 유사한 클래스를찾아내 하위 클래스를 만들어 기능을 추가 ps. 일반적으로 클래스 계층은 너무 깊게 하지 않는 것이 좋다 새로운 '구현'을 추가하고 싶을 때AbstractClass | ------ ConcreateClass|-------- AnotherConcreateClass 두개로 클래스 계층을 나눠두면 각각의 클래스 계층을 독립적..

backend 2007.06.13

[디자인패턴] State, Strategy Pattern

/*************************************** ***** Design Pattern 정리 - flyburi.com 버리**** ***************************************/ State Pattern - Design Pattern Problem 1. How can you change the class of an object at run-time? 2. How can you model a finite state machine using OO techniques? Example 1. 스타크래프트에서 플레이어가 테란 유닛들 중에서 마린, 벌처, 탱크에게 임의의 공격명령을 내렸을 때 자신의 상태에 따라 행위가 달라질 때 적용가능? 공격(abstract clas..

backend 2007.05.30

고슴도치플러스의 서비스 홍보...

고슴도치플러스에서 이벤트를 진행중이네요.. 밑의 글처럼 홍보글 3줄만 쓰면 이벤트에 참여할 수 있습니다. 1. Pumfit은 공유하고 싶은 모든 것을 함께 평가하는 (토론)플랫폼을 지향합니다. 2. IDtail이란 OpenID를 기반으로 한 (아이덴티티) 서비스입니다. 3. Pumfit은 기존 ID 외 (오픈아이디) 로도 로그인이 가능합니다. 특히 Pumfi은 관심에 두고 있던 서비스인데요 바로 가입했는데 아직 글은 못남겼습니다.. 지금은 댓글놀이부터 시작하지만, 점차 토론문화가 활성화 되면 의사표현을 충분히 하고 공감할 수 있는 서비스가 될 것 같습니다.

backend 2007.05.22

Rss 주소 바꾸었습니다~

저도 피치 못할 사정(?)이 있어서 rss 주소를 feedburner로 쓰게 되었습니다 여러모로 이사를 해도 종속적이 되지 않을것 같고 유용할 것 같아서 저도 쓰게 되었습니다. 등록시 참고했던 글은 피드버너 등록과정 정리 :: 번역하는 몽상철학가의 주간번역 피드버너 - 종속적이지 않은 RSS 피드 주소 만들기 글을 참고 하였습니다. 제 RSS 주소는, http://feeds.feedburner.com/buri 입니다. 등록안되있으셨던 분들 추가해주세요~^^

backend 2007.05.16

저도 Mac!을 씁니다.

사실, Mac 을 쓰고 싶습니다. 저는 LG와 IBM이 친할때 노트북을 구매하여서 지금까지 쓰고 있습니다. 당근 XP이구요. 열을 많이 받는지, 어제는 노트북이 뻗어버렸습니다. 열이 식고 나니, 좀 안정이 되었는지 다시 부팅이 되더군요 쿨링패드를 구입하긴 하여야하는데 좀처럼 손이 안가는 터라, 그러나 이건 핑계이고, 발열이 더 심하다는 Mac 노트북에.. 자꾸 눈이 갑니다. 너무 사고는 싶지만 지금 있는 노트북을 어찌하지 못할것같고 그럼 핑계거리도 없어서 돈을 충당하기도 만만치 않기 때문에 참고 쓰고 있습니다. Mac의 화려한 몸놀림에 반해 노트북을 사기엔 통장이 훤히 비어있기에 그나마 위로하기 위해 FlyakiteOSX를 깔았습니다. 정말 아이콘과 배경화면이 다 Mac과 같이 바뀌어 정말 Mac을 쓰는..

backend 2007.05.13

객체지향 프로그래밍.

한빛미디어의 책 자바 디자인 패턴과 리팩토링 공부를 시작하였습니다. 1장부터 제가 객체지향에 대해 모르고 있었단 생각이 확 들었습니다. 절차지향적인 C와 객체지향적인 Java의 코드를 비교해주니, 쏙! 들어옵니다. 책의 내용 발취. 객체 지향 방식에는 데이터와 함수가 객체안으로 함께 캡슐화된다는 특징이 있다. 데이터는 속성이 되고 그것을 다루는 함수는 메소드가 된다. 속성에 있는 데이터만으로 제대로 작업을 해내지 못하면 필요한 데이터를 메소드의 인자값으로 받는다. 프로그램은 객체로 구성되며 그들의 내부 데이터인 속성은 외부에 직접적으로 노출되지 않는다. 객체들은 서로의 메소드를 호출하며 원하는 기능을 수행한다. 각 객체는 자기가 수행하는 작업에 책임을 지며 다른 객체의 작업을 돕는 서비스를 한다. 객체지..

backend 2007.05.13

JAVA DB - Derby

이번에 Derby에 대해 접해볼 기회가 생겨서 조금씩 알아가고 있는데, 왠지 깜찍(?)하다는 느낌이 듭니다. 이 글을 쓰는 목적은 순전~히 버리의 이기적인 내용정리라고 할까요~ 이렇게 쓰면서 제 자신이 정리하고자 하는 목적입니다. 제가 이해가 잘못된곳도 있을지도 몰라요~ Derby는 2005년 말에 Apache DB sub project로 제작되었는데 Embed와 Network Server를 둘다 지원해주는 순수 자바로 제작된 DB입니다. 서버로 띄우거나 어플리케이션에 내장하는 것이 가능하기 때문에 따로 DB를 띄우지 않고도 자바 어플리케이션 작성하는 것이 가능합니다. 이것이 큰 장점~ 이 아이는, JVM만 설치되어 있으면 인스톨없이 작동되고 프로그램짤때 jar파일만 추가시켜 주면 됩니다. java 5...

backend/DataBase 2007.05.12

[java] java.util.Properties 클래스

java.util.Properties 클래스 * 환경설정 정보를 하드코딩하지 않고 외부파일을 이용하여 설정할때 사용한다. InputStream is = ... Properties props = new Properties(); try { props.load(is); } ....이와 같이 사용한다. * 좀더 효율적인 방안 org.apache.commons.configuration.AbstractFileConfiguration.FileChangedReloadingStrategy org.apache.commons.configuration.reloading.FileChangedReloadingStrategy props = new PropertiesConfiguration(CONFIG_NAME); props.set..

backend/Java 2007.05.10

Huffman algorithm(호프만 알고리즘)

저는 C/C++에 많은 관심을 가져보지도 않고, 특히나 응용 프로그램은 많이 안해봐서 작년에 압축은 어떻게 되는것일까, 의문이 든적이 있었습니다. 그때 아는분께 여쭈었더니, 가장 빈도수가 높은 기호를 가장 적은 비트로 표현하여 압축을 한다고 대충 들었습니다. 그땐 이 알고리즘인지 몰랐는데, 그 알고리즘이 호프만 알고리즘이었는지 이제 알았습니다. 쉬워보이는듯 하면서 트리로 가니깐 복잡해 보이는 알고리즘. 이번에 자바로 한번 짜볼려고 하는데 C/C++ 자료는 많은데 자바는 없네요.. 저에겐 마냥 어렵네요..ㅎㅎ 자주 사용되는 문자는 짧은 코드를, 자주 사용하지 않는 문자는 긴 코드를 지정 실제 평균 문자 코드 길이를 줄여 압축하는 방법 Making binary codes from probabilities W..

backend 2007.05.07

OpenID 서버가,, 죽으면,,

졸린 눈을 비비며 다양한 정보를 찾고 스프링노트에 쓸려고 하는순간, 로그인이 안됩니다. 스프링노트에 공부하고 있는 내용들이 잔뜩 있는데,,,ㅠㅠ 스프링노트는 OpenID를 지원하고 있어서 반드시 OpenID를 이용해 접근을 해야하는데, 전 myid.net을 사용하고 있습니다. OpenID를 제공하는 myid.net에서 500 Error가 나버리니, OpenID를 이용하여 접속하는 서비스인 스프링노트와 Me2Day의 서비스를 이용할 수 없는 사태가 발생되는 군요. OpenID하나만 있으면 회원가입없이 OpenID를 지원해주는 사이트에 로그인을 할 수 있다는 장점때문에 각광을 받고 이미 해외에서도 많이 쓰이고 있고, 우리나라에서의 포털에서도 관심을 갖기 시작하고 점점 늘어나는 추세인데, OpenID서버가 오..

backend 2007.05.04

firefox에서 원격 블로깅하기

firefox에서 퍼포먼싱닷컴의 Performancing 확장기능을 이용하여 원격블로깅을 할 수가 있습니다. 제가 참고한 블로그는 여우@보금자리님의 글을 참고하였습니다. 너무 자세한 설명이라 금방 뚝딱! 블로깅을 할 블로그 설정을 하고 에디터에 글을 쓰면 됩니다 블로그에서는 [관리자] - [환경설정] - '기타 설정' 메뉴에 있는 'Blog API 사용 여부'를 체크해서 원격 블로깅을 이용할 수 있게 설정하셔야 합니다. Performancing에서는 설정하실때 주의하실 점은 해당 블로그에 로그인되어있으면 로그아웃 한 후에 설정하시구, 태터툴스 사용하시는 분은 blog service는 - custom blog 를 선택하시구 blog system type - MetaWeblog API 선택후 자신의 블로그주..

backend 2007.04.15

SOA와 Web Service

아직은 아키텍쳐에 관심이 많이는 없었지만 특별한 기회에 접하게 되었다. SOA란 말, SOAP, REST, WEB SERVICE에 대해 세미나에서 듣기만 해보았고, 정확히 어떤 말인지 잘은 몰랐지만, 한번 정리해보려고 한다. 1) SOA의 기본 개념 표준화, 공용화, 재사용성 강화(One Build, Many Use) Business Agility SOA => Design Paradiam SOA의 기대효과 Loosely Coupled, Re-Usable, Interoperable, composited. 2) Service란? 기업의 업무를 표현한 SW Component. 규약을 받은 후에 service consumer와 service provider사이에서 메세지 교환 서비스의 종류 - Business ..

backend 2007.03.25

[프로그램] 웹서버 간단하게 설치하는 오토셋

APMSETUP을 주로 이용해 왔는데 우연히, 알게 되었다. 아직 써보진 않았는데 기회가 된다면 테스트를 해봐야겠다. 오토셋(AutoSet)은 아파치 웹 서버(Apache HTTP Server, 이하 아파치(Apache)라 표기함)의 관리에 있어 그래픽 유저 인터페이스(GUI)를 지원하는 프로그램입니다. 오토셋을 이용하면, 전세계의 70% 이상이 웹 서버 소프트웨어로 사용하고 있는 아파치를 여러분의 컴퓨터에 쉽고 간편하게 설치하고 관리 할 수 있습니다. 인터넷 정보 서비스(IIS - Internet Information Service)에 익숙한 사용자와 아파치 고유의 설정 파일의 사용방법을 모르는 사용자도 오토셋을 이용하면 쉽고 간편하게 아파치 웹 서버를 이용할 수 있습니다. 주요기능구성 패키지 Apac..

backend 2007.03.09

프로젝트 환경 설정

프로젝트 환경설정 apache-tomcat-5.5.20 tomcatPluginV32beta3 이클립스 WTP 프로젝트 사용(wtp-all-in-one-sdk-R-1.5.3-win32) JDK 6.0 tomcat 6.0 설치했다가, Document Context가 연결이 잘 안되는 탓인지, 계속 페이지를 찾을수 없다고 400 에러가 나서 삽질했다 결국 이클립스 WTP를 깔고 보니 tomcat 5.5까지밖에 지원을 안한다. 그래서 다시 tomcat 5.5.20으로. 프로젝트명에서 오른쪽 버튼 클릭! -> Tomcat Project -> update Context definition 하니 이제야 server.xml이 매핑이 되는것인가. 화면에 Hello란 글자가 찍힌다. 허무함을 금치않을수가.. tomcat ..

backend 2007.03.05

[Ajax] Ajax

자바지기 오픈 스터디 Ajax(Asynchronous JavaScript + XML) 기본 중에 좋은 자료가 있어서... 동기/비동기 통신 매커니즘 기존동기통신 방식(classic web application model - synchronous) 에 대해선 잘 알고 있으리라 생각된다. Browser에서 user에 의해 request가 발생하면, server에서 요청을 처리한 후 reponse를 돌려주고, 이 결과를 Browser에 display하는 방식으로써, 화면이 깜빡이며 처리결과를 출력하게되는데 화면전환을 하지않도록 하기 위해 대체로 을 많이 사용하는 추세이다. Ajax비동기 통신 방식(Ajax web application model - asynchronous) 은 Browser에서 일어난 inpu..

backend 2007.03.04

[Ajax] XMLHttpRequest

AJAX는 'Asynchronous JavaScript and XML'의 머리글자를 딴 것으로, 웹 애플리케이션이 웹 페이지에 대한 사용자 인터랙션을 효율적으로 처리할 수 있도록 하는 수단을 제공한다 (사용자 인터랙션이 이루어질 때마다 페이지를 리프레시(새로 고침)하거나 전체 페이지를 리로드하는 번거로움을 덜어줌). XMLHttpRequest객체의 Internet Explorer 및 기타 브라우저 다루기 참고 : Ajax 소개 및 XMLHttpRequest 객체 사용하기 XMLHttpRequest 메소드 void open(string method, string url, boolean asynch, string username, string password) : 요청을 초기화한다. 파라미터중에서 metho..

backend 2007.03.03

[Oracle] Introduction to Oracle 9i : SQL

/*****************************************Introduction to Oracle 9i : SQL작성일 : 2007.02.06작성자 : 버리 (www.flyburi.com)*****************************************/ 1. SQL구문select distinct * column alias(빈칸,AS,””)from table_namewhere column, 표현식, value, 비교연산자(비교,select문, 논리연산자)order by Asc(default), descè Distinct와 order by를 쓰면 내부 그룹화가 발생한다. è Distinct는 그룹내 정렬이 이루어진다. 2. SQL함수함수 : 하나 또는 여러 개의 인수를 받아들여 ..

backend/DataBase 2007.02.11

[디자인패턴] 디자인패턴을 왜 쓰는가?

나만의 Think! 공감 안하면 말구~ 디자인패턴을 시작하며, 현업 SI에서는 아주 PM이 유능해서 업무가 밀린다거나, 전혀 애로사항이 없다면 몰라도, 요구정의와 분석, 설계하는데 많은 부분이 프로젝트 기간중에 소요가 된다. 막상 개발자들은 실제 코딩을 하는 기간은 매우 짧다. 개발자들이 무슨 죄가 있는지, 프로젝트 오픈일이 다가 올수록 개발자가 못해서 프로젝트가 길어지는양, 위에서는 억압(?)을 하며 마감일 엄수를 외친다. PM의 심정을 모르는것도 아니고, PL의 심정을 모르는 것도 아니겠지만, 개발기간이 짧아 무조건 우선 코드의 생김새보다는, 돌아가게끔만이라도 해야할 때가 있다. 이럴 때 언제 패턴을 따지며, 프로그램을 짤수있을까? 란 의문이 항상 든다.하지만, 이렇게 생각하는 사람이 나혼자 있는 것..

backend 2007.01.21

"프로그래머를 위해 필요한 글"

라빅님의 블로그 에서 본 "프로그래머를 위한 공부론" 현재 읽고 있는 "실용주의 프로그래머"의 한글판 번역자 김창준씨가 쓴 글이다. 마소에 실렸던 글, 명심하고 또 명심하자!! 벌레 덮친 병아리님의 블로그 에서 본 "성공하는 프로그래머들의 9가지 코딩 습관" 코딩스타일에 대해 한번 더 생각하게 하는 글~ 노이나무님의 블로그 에서 본 "IT 전문가가 되기 위해 갖추어야 할 3가지 덕목 3가지 덕목 중에 나한테 해당되는게 멀까,,,

backend 2006.11.02

대용량 데이터베이스 솔루션 책을 보다가,

대용량 데이터베이스 솔루션 책 중, 이화식 님(?)께서 남기신 "저자서문 중.." 우리는 알게 모르게 얕은 물만 전전하고 있다. 조금만 복잡해지면 일단 시도를 해 보고, 아니면 또 다른 방법을 찾아 시도를 한다. 은근과 끈기가 있어 밤을 세워서라도 끝장을 보고야 만다. 그러나 과연 무엇을 얻었는가? 그렇게 노력하면서 보내온 세월만큼 누구에게나 내세울 만한 전문가가 되었는가? 만약 그렇지 않다면 자신의 피와 땀을 값싸게 만든 이유는 도대체 무엇이었을까? 필자는 이런 면에서는 남다르기 위해 노력해 왔다고 자부하고 싶다. 때로는 당장 급한 일을 제쳐두면서까지 미련스러울 만큼 원리를 찾는데 몰두했다. 고기를 못 잡으면 당장은 배가 고플지는 모르지만, 그래도 역시 더 중요한 것은 고기를 잡는 법이라는 확신 때문이..

backend 2006.10.23

디지털 타임캡슐 프로젝트

야후가 전세계적으로 디지털 타임캡슐 프로젝트( http://timecapsule.yahoo.com )라는 이벤트를 진행하고 있다. 한국어 서비스는 http://timecapsule.yahoo.com/capsule.php?l=kr 이 이벤트는, 전 세계 네티즌들이 사진이나 글, 동영상, 음성 파일 등을 사랑, 슬픔, 분노, 믿음, 아름다움, 재미, 과거, 희망, 현재 그리고 당신이라는 10가지 주제별로 나눠 자료를 올리고, 댓글을 달면서 평가할 수도 있도록 한 서비스다. 이 블로그를 쓰고 있는 시각, 사랑이라는 주제에 8830개의 자료로 가장 많다 역시 전세계적으로 "사랑"이란 주제는 가장 사랑받는 키워드 인가 싶다 나는, 희망이란 주제에 사진을 올릴것이다(야후를 안쓰다 보니, 비번 까먹었는데, 찾기를 했..

backend 2006.10.17

String클래스의 intern메서드와 constant pool (상수풀)

String클래스의 intern메서드와 constant pool (상수풀)Java에서 쓰이는 모든 String 객체는 상수풀에서 관리됩니다. 상수풀은 클래스와 같은 Heap의 Permanent area(고정 영역)에 생성되어 Java 프로세스의 종료까지 그 생을 함께 합니다. String을 new로 생성하지 않고 "" 리터럴을 사용하여 생성할경우, 내부적으로 new String() 메소드 호출 이후에 String.intern()이라는 메소드가 호출되어 고유의 인스턴스를 공유하도록 interned됩니다. 이것은 생성한 String을 Constant pool에 등록하는(만약 이전에 같은 char sequence의 문자열이 이미 상수풀에 있다면 문자열을 힙에서 해제하고 그 상수풀의 레퍼런스를 반환) 작업을 수..

backend/Java 2006.09.11

XML -> Excel로 변환 (진행중)

1) XML Parsing dom4j와 Xpath를 써서 해당 Element를 추출한다. 요청부와 응답부 두개로 나뉜다. 공통부는 실제 Excel 파일 하나가 있으므로 만드는것은 생략한다. 요청부에서는 List listattr = doc.selectNodes("//conversation-template/request/node()[@xsi:type='basic-message-template']"); 를 이용해 Excel에서 행에 해당하는것만 HashTable에 객체로 저장한다. 2) Excel 쓰기 cf ) Xpath가지고 놀기 너무 잼있다~~

backend 2006.08.08

WebMa

얼마전 알게된 웹마! "왜임마"의 줄임말을 영어식으로 표기한게 "WebMa"가 되었다고 한다. 우리가 흔히 쓰는 웹브라우저를 개발자 위주의 편리함을 강조해서 한 분이 만드셨는데 업데이트하다 보니, 꽤 많은 기능이 있는것같다. 이제 사용하기 시작한 지라, 어떤 기능이 자세히 있는지는 더 알아봐야하겠지만, "웹마는 최대한 키보드로 손이 가지 않도록, 마우스 만으로도 거의 모든 작업을 할 수 있습니다"란 전략(?)으로 나를 사로 잡았다!웹마의 도움말을 따오자면메인메뉴의 모든 항목은 단축키와 제스쳐로 모두 할당이 가능하고, 상태바의 미니툴바의 명령도 바꿀 수 있으며, 심지어 메인메뉴의 아이콘도 사용자가 바꿀 수 있습니다. 메인메뉴의 모든 기능을 툴바에 넣을 수 있고, 이미지도 맘대로 선택가능하고, 캡션이나 드랍..

backend 2006.07.13

BI(EIS/DW) 란?

BI(Business Intelligence) ?BI(Business Intelligence)란 기업이 보유하고 있는 방대한 양의 데이터를 정리하고 분석하여 기업의 생산성 향상, 원가절감, 고객만족, 고객수익성 등의 전략적 의사결정에 활용할 수 있는 가치 있는 정보를 제공해 주는 솔루션을 의미합니다. BI를 통해 기업 내 전 구성원이, 그리고 경우에 따라 이를 필요로 하는 고객 및 파트너들이 각종 인프라시스템에서 추출된 데이터를 빠르게 접근하고, 이를 이용한 다양한 분석 및 그 결과를 공유할 수 있는 기반을 구축하여 신속하고 정확한 의사결정을 통해 최대의 이윤을 창출할 수 있습니다.BI(Business Intelligence) 의 필요성오늘날의 기업 환경은 매우 빠르게 변화하고 있고 한 국가가 아닌 전 ..

backend 2006.05.13