분류 전체보기
-
트랙백 기능 상실홈페이지 2009. 10. 15. 22:59
처음 JSP로 블로그를 구성했을 때 만든 트랙백 기능... jdbc를 쓰던 데이터베이스를 iBatis로 재구성 했을 때 그 기능을 빼놨었다. 처음 사용하는 기술이라 좀 낮설었고, 또 당장 구현해야 할 기본기능들이 많았기 때문이었다. 그상태로 시간이 계속 흘러 이번엔 JSP를 spring framework 로 전환하기 시작했다. 그러면서 다시 디비는 iBatis에서 jdbc로 롤백해버렸다. 스프링과 iBatis와의 연동보다는 스프링 구현에 좀 더 신경을 써야했기 때문이었다. 그리고 오늘... 미루어왔던 트랙백 기능을 다시 구현하려는데... 방법을 잊어버렸다... 개발시 참조했던 사이트도 어디인지 잊어버렸다.... 난감하다. 그리하여 트랙백 기능은 잠시 보류다...
-
댓글 및 RSS 기능 추가홈페이지 2009. 10. 11. 10:12
홈페이지에 스프링을 적용하면서 껍데기로만 댓글기능을 붙여놨었는데, 오늘은 정식으로 그 기능을 구현하였습니다. 이전의 내용과 비교해서는 차이가 없는데, 디비를 확인해보는데 비밀번호를 입력하는 필드가 없었습니다. 그러면 다른 사람이 댓글을 입력한 후에는 그 사람임을 인증하는 값이 없기 때문에 댓글을 수정하거나 삭제할 수 없었을텐데 왜 그랬을까요? 생각해보니 댓글은 나만이 수정하고 삭제할 수 있는 구조로 구성을 했었습니다. 뭐 다른 사람이 글을 남길일이 없거니와 초기 구현시 귀찮아서 넣지 않았던 것 같습니다. 또, 허울뿐이던 비밀글 기능도 수정을 하였습니다. 댓글에 비밀글을 체크해도 기존에는 별다른 차이가 없었죠. 이번에는 '비밀글입니다'라는 메세지로 내용을 대처하였습니다. 그리고 임의 값을 생성하여 바이트 ..
-
커피이야기 2009. 10. 9. 12:52
식당에서 식사를 마친 후... 나 : (자판기에서 커피를 꺼내면서) OOO님 커피 드실래요? OOO 님 : 아니, 여기 커피는 맛이 없어! 나는 커피마심의 여부를 맛으로 결정하지 않는다. 그냥 커피니까 마신다. 일종의 각성제로써. 사실 여기 커피는 맛이 없었다. 몇번 마시려다가 그냥 지나간 경우도 있었다. 그런데 오늘은 그냥 다시 먹으려고 했던 것이다. 생각해보니 커피를 마시는 용도가 그냥이었다면, 그냥 맛있는 커피를 먹는게 어떨까라는 생각이 들었다. 내가 마신 커피가 위장에서 얼마나 차지하는지는 몰라도 이왕이면 맛 좋은걸 넣어주고 싶어졌다. 회사에 들어가면 맛있는 일회용 커피가 있다. 봉지를 뜯어서 물을 붓는 것이 귀찮아서 그냥 자판기의 버튼을 눌러버리고 만걸까? 이런 생각이면 커피의 양도 줄일 수 있..
-
insertAdjacentHTML()개발 2009. 10. 7. 20:35
돔구조에 노드를 추가할 경우 document.createElement() 를 이용하여 노드를 만들고 appendChild()를 이용하여 노드를 추가한다. 간단한 구조라면 별로 문제가 없지만, 노드 안에 또 노드가 들어가고 그 안에 또 노드가 들어가는 중첩구조라고 하면 위와 같은 방법으로는 상당히 골치가 아파진다. 이때는 insertAdjacentHTML() 를 이용해보자. insertAdjacentHTML() 는 하나의 태그를 만들어 그안에 새로운 노드를 끼워넣는것이 아니라 이미 만들어진 태그덩어리를 단번에 넣을 수 있다. 예를 들어보자. var text = '굿잡!!< ..
-
ssl 을 이용한 에코 서버 클라이언트 예제개발 2009. 10. 1. 17:04
[서버] import javax.net.ssl.*; import javax.net.*; import java.io.*; import java.net.*; public class EchoServer { private static final int PORT_NUM = 6789; public static void main(String args[]) { ServerSocketFactory serverSocketFactory = SSLServerSocketFactory.getDefault(); ServerSocket serverSocket = null; try { serverSocket = serverSocketFactory.createServerSocket(PORT_NUM); } catch (IOExceptio..
-
openssl 을 이용하여 인증서 받기개발 2009. 10. 1. 13:12
1. 랜덤키 생성을 위해 임의의 파일 a.txt, b.txt 를 만든다. 각각의 파일안에는 임의의 값들을 넣는다. 2. 랜덤값을 저장하는 rand.dat 파일을 생성한다. # openssl md5 a.txt b.txt > rand.dat (rand.txt 파일이 생성된 것을 확인할 수 있다.) 3. 개인키를 생성한다. # openssl genrsa -rand rand.dat -des3 1024 > private.pem 4. 위에서 생성한 개인키를 이용하여 csr 파일을 만든다. # openssl req -new -key private.pem > csr-req.pem 5. 생성된 csr-req.pem 파일을 가지고 인증기관에 신청하면 인증서를 메일로 보내준다.
-
keytool 을 이용하여 인증서 받기개발 2009. 10. 1. 13:10
1. 먼저 keytool을 이용하여 key를 생성한다. keytool -genkey -keystore keystore -keyalg RSA - getkey : 키를 생성한다. - keystore : 키를 저장할 파일을 지정한다. 지정하지 않을 경우 계정디렉토리의 .keystore 파일이 생성된다. - keyalg : 생성 알고리즘을 정한다. 명령이 실행되면 여러가지 입력요청을 받는다. 하나하나 넣어주자. 그러면 여기에서는 키값인 keystore 파일이 생성된다. 2. 생성된 이 키값으로도 SSL서버가 구현되고 클라이언트와 통신도 가능하다. 하지만 여기에 인증서를 추가해보자. 인증서를 신청하기 위해서는 csr 파일을 만들어야 한다. csr 파일을 추출해보자. keytool -certreq -keyalg R..
-
Ant 사용기개발 2009. 10. 1. 13:05
이번에 블로그를 스프링으로 적용시키면서 처음으로 Ant 를 이용해봤습니다. 자동으로 빌드를 해 주는 툴이라고만 들었는데, 실제로 써보니 상당히 편하네요. 밑에는 간단한 소스입니다. 자세한 내용은 http://ant.apache.org/manual/index.html 에서 확인 할 수 있습니다. 사용방법 ant 현재 디렉토리의 build.xml 파일을 default target 으로 실행합니다. ant -buildfile test.xml 현재 디렉토리의 test.xml 파일을 default target 으로 실행합니다. ant -buildfile test.xml dist 현재 디렉토리의 test.xml 파일을 타겟으로 dist 을 실행합니다..