본문 바로가기

전체 글

(514)
유시민 항소이유서 전문 본 피고인은 1985년 4월 1일 서울지방법원 남부지원에서 폭력행위 등 처벌에 관한 법률 위반으로 징역 1년 6월을 선고 받고 이에 불복, 다음과 같이 항소이유서를 제출합니다. 다음 본 피고인은 우선 이 항소의 목적이 자신의 무죄를 주장하거나 1심 선고형량의 과중함을 호소하는데 있지 않다는 점을 분명히 밝혀두고자 합니다. 이 항소는 다만 도덕적으로 보다 향상된 사회를 갈망하는 진보적 인간으로서의 의무를 다하려는 노력의 소산입니다. 또한 본 피고인은 1심 판결에 어떠한 논란거리가 내포되어 있는지 알지 못하며 알고 싶은 생각도 없습니다. 자신의 행위의 정당성을 판단하는 기준으로서 본 피고인이 관심을 두고 있는 것은 하느님이 주신 양심이라는 척도이지 인간이 만든 법률은 아니기 때문입니다. 법률에 대한 전문지식..
정치와 권모술수. 사람은 정치적이면서도 사실은 정치적인 사람을 싫어한다. 우리가 정치적인 사람이라고 하는 사람들의 유형은 일반적으로 윗사람의 기분을 잘 맞춰준다거나 자신의 이익을 관철하기 위해서 여기저기 영향력을 행사하려 한다던가 온갖 이간질을 일삼는 사람이라고 생각하고 있다. 사람은 정치적인 동물이기때문에 살면서 정치는 반드시 필요하다. 특히 조직의 리더이거나 장(將)의 경우 정치는 더욱 더 필요하다. 자신의 정치력에 의해서 조직의 존재여부가 결정된다. 정치의 원래 의미는 여러 인간 집단들 간의 상이한 의견들을 소통하고 조율해서 본인이 원하는 방향으로 이끌어가는 것을 의미한다. 조직의 리더라면 반드시 해야 하는 의무중에 하나다. 우리가 정치적인 사람이라고 하는 것들은 알고보면 정치가 아니라 권모술수를 의미하는 경우가 많..
트레일화 갈아타기. 아디다스 테렉스에서 아식스 젤-후지트라부코로 갈아 탐. 둘 다 고어텍스 재질에 테렉스는 22만원정도, 후지트라부코는 14.9만원. 15만원 아래로 제대로 된 고어텍스 트래킹화라니 믿을수가 없다. 아디다스 테렉스 시리즈는 밑창에 노브가 큼직하게 달려서 접지력이 좋을듯 한데 의외로 내구성이 약해서 데일리로 신고 다닐 경우 빨리 닳는편이다. 사실 접지력도 썩 마음에 드는건 아니다. 사람 발바닥이 평면이 아니듯이 노브도 시간이 가면서 바닥창 전체가 골고루 닳는것이 아니라 걸을때 바닥에 먼저 닿는 부분부터 닳기 때문에 노브가 큼직하고 내구성이 약한 테렉스 같은 경우는 울퉁불퉁하게 닳아서 보기에도 좋지 않고 걸을때 불편할때도 있다. 반면 젤-후지트라부코는 큼지막한 노브 대신에 잘 설계된 패턴창이 전체적으로 적용되어..
GPKI 라이브러리를 이용한 암복호화 구현하기. 관공서에서 시스템 연계를 위해서는 개인정보 관련 문제때문에 데이터를 GPKI 를 이용해서 암복호화를 해야한다. 주무관을 통해서 요청하면 해당 api 와 도큐먼트를 받을 수 있는데 내용이 좀 부실하다. 구글링을 해도 gpki 성격상 자료가 많지 않거니와 연계 담당자도 처음부터 끝까지 자세히 알려주지 않는다. 어느정도 진행되면 조금 더 알려주고 또 어느정도 개발이 진행되면 조금 더 알려주고.. 하는 식이다. xx행정쪽으로는 미리 우리의 ~.cer, ~.key 파일정보를 보내주었다. xxx시청에서 xx행정시스템과 연계 테스트를 하면서 gpki 를 이용한 암복호화를 테스트했는데 진행 방법을 정리한다. 목적 :xxx시청 xxx 시스템이 xx행정시스템과 연계하기 위해서 데이터를 gpki 로 암복호화. 1. JNI ..
Data 설계와 처리방법의 중요성. 예전에 제품 퍼포먼스에 문제가 심각했었는데 서버쪽에서라도 문제의 일부를 해결해보자고 판단해서 서버를 새로 만들기로 결정했다. 퍼포먼스가 문제라면 차라리 c++ 로 구현할까 아니면 netty 로 구현할까 한참을 고민하다가 netty 의 성능이 꽤 좋다는 의견들이 많고 개발기간이 촉박해서 netty 로 구현했는데 중간중간 테스트에서도 만족할만한 성능을 보여줬다. 하지만 문제의 가장 근본이었던 database 구조를 수정하지 않았고 제품에서는 그 구조의 data 를 그대로 사용하다보니 data 가 커지기 시작하면서 다시 예전의 퍼포먼스 문제가 동일하게 발생했다. database 모델링을 다시하고 구조를 수정하기 위해서는 제품의 컨셉을 재점검 해야할 필요도 있고 이런것들이 사상 자체를 뒤흔들수도 있다. 한마디로..
Erwin 에서 논리모델 <--> 물리모델 컬럼 정렬하기. Erwin 에서 논리모델로 컬럼을 추가한뒤 물리모델로 가서 reset 하면 새로 추가된 컬럼이 논리모델에서의 순서대로 맞춰 보여지는데, 실제 스크립트 파일로 생성하면 논리모델에서 정렬한 컬럼 순서가 아닌 추가된 순서로 정렬되어 있다. Tools > Forwawrd Engineer > Schema Generation 메뉴에서 좌측의 Colmun 을 선택한 뒤 Physical Order 항목의 체크를 해제한다. 다시 스크립트 파일을 생성하면 논리모델에서 정렬한 순서대로 컬럼들이 정렬된 것을 확인할 수 있다.
PayPal 결제 연동 PDT / IPN 정의와 비교. * PDT 방식.(Payment Data Transfer) sync. 결제 완료 후 즉시 실행된다. 1. 쇼핑몰 서버에 접속한 고객이 paypal 을 통해서 결제를 한다. - 결제 버튼을 클릭하면 paypal 사이트로 이동한다. 2. 결제가 완료되면 paypal 에서 쇼핑몰 서버로 transaction id 를 보내준다. - transaction id, amount 등등 몇가지 정보를 보내주지만 transaction id 만 필요하다. 3. 서버에서 받은 transaction id 와 판매자의 auth token 을 다시 paypal 로 보낸다. - paypal 보안설정때문에 서버쪽 jdk 는 최신버전이어야 한다. 4. paypal 에서는 받은 데이터로 결제 상세정보를 다시 서버로 보내준다. - 서버쪽 ..
외부 인터넷이 연결되지 않은 경우 application-context 설정하기. 관공서 등과 같이 외부 인터넷이 안되는 환경인 경우 spring application 을 실행할때 schemaLocation 오류가 발생한다. 이때는 xsd 를 url 이 아닌 classpath 를 통해서 가져오도록 수정한다. 물론 처음 빌드는 인터넷이 되는 환경에서 모든 maven 라이브러리들을 다운로드 받은 상태여야 한다. Intellij 에서는 schemaLocation 의 classpath syntax 를 인식하지 못해서 빨간색의 오류로 출력되지만 정상적으로 빌드되고 실행된다.