http://offree.net/3366

chrome://view-http-cache/

크롬이 캐싱한 모든 url 정보가 표시됨. url 복사해서 받거나, 스트리밍 같은 경우엔 넷트랜스포드 같은 프로그램 사용.
FF의 grease monkey에서 Anti-Disabler for Naver 유저스크립트 쓰기


java에서 replaceAll 함수를 이용하여 문자열 내의 태그 제거하기

    /**
     * 주어진 문자열에서 태그를 모두 제거한다.
     * @param str 원본 문자열
     * @param replacement 대체할 문자열
     * @return
     */
    public static String replaceTag(String str, String replacement) {

        // <로 시작. /가 0번 또는 1번 나옴. (a-zA-Z문자가 0번 이상)이 한 묶음.
        // (\s 공백문자. a-Z문자가 0번 이상. = 나옴. > 제외한 문자 0번 이상.)이 한 묶음으로 0번 또는 1번 나옴. <- 태그 다음 공백부터 > 전까지. ==> 속성
        // 공백 0번 이상. /가 0번 또는 1번. >로 끝.
        // ex) <a href="www.naver.com" title="title" >NAVER</a>
        return str.replaceAll("<(/)?([a-zA-Z]*)(\\s[a-zA-Z]*=[^>]*)?(\\s)*(/)?>", replacement);
    }

    /**
     * 주어진 문자열에서 a 태그를 제외한 태그를 모두 제거한다.
     * @param str 원본 문자열
     * @param replacement 대체할 문자열
     * @return
     */
    public static String replaceTagExceptA(String str, String replacement) {

        // /aA 또는 aA가 아닌 것으로 시작하는 모든 태그
        return str.replaceAll("<(?!(/[aA])|([aA])).([a-zA-Z]*)(\\s[a-zA-Z]*=[^>]*)?(\\s)*(/)?>", replacement);
    }

?! 사용해야 하는 걸 알아내느라 애먹었다.
참고: http://nosyu.pe.kr/1139

(?<=.....) : 긍정형 룩비하인드 - 하위 표현식(..... 부분)이 왼쪽에 매치될 때
(?<!.....) : 부정형 룩비하인드 - 하위 표현식(..... 부분)이 왼쪽에 매치되지 않을 때
(?=.....) : 긍정형 룩어헤드 - 하위 표현식(..... 부분)이 오른쪽에 매치될 때
(?!.....) : 부정형 룩어헤드 - 하위 표현식(..... 부분)이 오른쪽에 매치되지 않을 때

(?!(/[aA])|([aA])). 에서와 같이 /a /A 또는 a A 와 매치하지 않는 것을 찾아내는 정규표현식임.

[ftp] FTP/SFTP/FTPS 의 차이점

프로그래밍/Library 2010. 10. 18. 17:27 Posted by galad
셋 다 다르다!!!

FTP – should be only used for the plain old FTP protocol.

      - 일반적으로 우리가 아는 FTP


SFTP – should be only used for SFTP, the SSH file transfer protocol. However, people often shorten Secure FTP into SFTP - this is not correct, because the S in SFTP does not stand for Secure, but for SSH.

      FTP 프로토콜이 아님!!! 정식명칭은 SSH File Transfer Protocol. 약자로 SFTP로 불림.


Secure FTP – this name is the most confusing, because it is used to refer to either of the two different protocols. Whenever this name is used, it is necessary to specify whether the SSH-based or SSL-based file transfer protocol is meant.

      - FTPS, FTP-Secure 등으로 불림. Plain FTP over TLS/SSL channel. FTP 인데 TLS/SSL 을 거쳐서 안전하게 된 것. 


참고: http://www.zehon.com/index.html

http://en.wikipedia.org/wiki/FTPS

'프로그래밍 > Library' 카테고리의 다른 글

[ETC] 네이버에서 오른쪽 클릭 방지 풀기  (0) 2010.11.29
[정규표현식] 태그 제거하기  (0) 2010.10.19
[eclipse] plug-ins  (0) 2010.08.17
[browser] MS Expension Web SuperView  (0) 2010.04.08
[program] 프로파일러  (0) 2009.12.03

[eclipse] plug-ins

프로그래밍/Library 2010. 8. 17. 14:21 Posted by galad
AnyEdit Tools   http://andrei.gmxhome.de/eclipse/   공백문자 표시 등 에디팅 편의 기능 -> 이건 쓸만한 듯
Checkstyle Plug-in   http://eclipse-cs.sf.net/update/   Source Code Analyzer -> 이건 모르겠음 ㅡ.ㅡ;;

html 에디터만 추가하기
Go to "Help" > "Install New Software" Choose to work with the site "http://download.eclipse.org/releases/galileo", Expand "Web, XML and Java EE development", Check "Web Page Editor" and click Next to continue with the install

'프로그래밍 > Library' 카테고리의 다른 글

[정규표현식] 태그 제거하기  (0) 2010.10.19
[ftp] FTP/SFTP/FTPS 의 차이점  (0) 2010.10.18
[browser] MS Expension Web SuperView  (0) 2010.04.08
[program] 프로파일러  (0) 2009.12.03
[Eclipse] Aptana Studio  (0) 2009.11.30
http://loved.pe.kr/entry/MS-%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80-%ED%85%8C%EC%8A%A4%ED%8A%B8-%ED%88%B4-Expression-Web-SuperPreview

MS 브라우저 테스트 툴이란다...

http://blogs.msdn.com/xweb/default.aspx

ps. 덴장. 깔려있는 브라우져에 대해서만 테스트 가능한 거군..


http://www.my-debugbar.com/wiki/IETester/HomePage
이건 될려나... IE8이 깔려있어야 하긴 마찬가지인듯...

'프로그래밍 > Library' 카테고리의 다른 글

[ftp] FTP/SFTP/FTPS 의 차이점  (0) 2010.10.18
[eclipse] plug-ins  (0) 2010.08.17
[program] 프로파일러  (0) 2009.12.03
[Eclipse] Aptana Studio  (0) 2009.11.30
[Eclipse] 형상관리 plug-in  (0) 2009.11.30

[program] 프로파일러

프로그래밍/Library 2009. 12. 3. 10:22 Posted by galad

'프로그래밍 > Library' 카테고리의 다른 글

[eclipse] plug-ins  (0) 2010.08.17
[browser] MS Expension Web SuperView  (0) 2010.04.08
[Eclipse] Aptana Studio  (0) 2009.11.30
[Eclipse] 형상관리 plug-in  (0) 2009.11.30
[eclipse] 이클립스 + Mantis  (0) 2009.10.27

[Eclipse] Aptana Studio

프로그래밍/Library 2009. 11. 30. 17:00 Posted by galad
http://download.aptana.org/tools/studio/plugin/install/studio

Ajax and JavaScript Libraries

Get unrivaled support for popular libraries including jQuery, Prototype, YUI, dojo, Ext JS, MooTools, and others.

Ruby on Rails, Python and PHP

Add powerful plugins and ready-to-use runtimes for Ruby on Rails, Python and PHP. Eclipse users can easily add Studio as a plugin.

등등의 개발을 위한 이클립스 플러그인.


http://www.aptana.org/

'프로그래밍 > Library' 카테고리의 다른 글

[browser] MS Expension Web SuperView  (0) 2010.04.08
[program] 프로파일러  (0) 2009.12.03
[Eclipse] 형상관리 plug-in  (0) 2009.11.30
[eclipse] 이클립스 + Mantis  (0) 2009.10.27
[Utils] Paros 사용법  (0) 2009.09.06

[Eclipse] 형상관리 plug-in

프로그래밍/Library 2009. 11. 30. 13:16 Posted by galad
http://downloads.open.collab.net/eclipse/update-site/e3.4

Software Updates 에서 사용하자

'프로그래밍 > Library' 카테고리의 다른 글

[program] 프로파일러  (0) 2009.12.03
[Eclipse] Aptana Studio  (0) 2009.11.30
[eclipse] 이클립스 + Mantis  (0) 2009.10.27
[Utils] Paros 사용법  (0) 2009.09.06
[Subversion] 오리지널 서브버젼 이클립스 플러그인  (0) 2009.08.28

[eclipse] 이클립스 + Mantis

프로그래밍/Library 2009. 10. 27. 11:02 Posted by galad

'프로그래밍 > Library' 카테고리의 다른 글

[Eclipse] Aptana Studio  (0) 2009.11.30
[Eclipse] 형상관리 plug-in  (0) 2009.11.30
[Utils] Paros 사용법  (0) 2009.09.06
[Subversion] 오리지널 서브버젼 이클립스 플러그인  (0) 2009.08.28
[Subclipse] ignore  (0) 2009.04.02

[Utils] Paros 사용법

프로그래밍/Library 2009. 9. 6. 15:20 Posted by galad

'프로그래밍 > Library' 카테고리의 다른 글

[eclipse] 이클립스 + Mantis  (0) 2009.10.27
[Utils] Paros 사용법  (0) 2009.09.06
[Subclipse] ignore  (0) 2009.04.02
[firebug] 파이어버그 가이드  (0) 2009.03.20
[MD5] MD5 암호화  (0) 2009.03.13

[Subclipse] ignore

프로그래밍/Library 2009. 4. 2. 15:38 Posted by galad
출처: http://www.powerjava.net/blog/soulcarta/entry/%EC%9D%B4%ED%81%B4%EB%A6%BD%EC%8A%A4-Subversion%EC%97%90%EC%84%9C-svnignore-%ED%99%9C%EC%9A%A9?TSSESSIONpowerjavanetblog=65e29ee642ab6606387be3a96f4dddc0

.classpath와 같은 개인별로 다를 수 밖에 없는 설정파일이라든가 이미지폴더 내의 Thumb.db파일 등을 버전관리에서 제외하기

But, 일단 버전관리가 시작된 프로젝트에서는 설정하기가 어렵다.
Set Property에서 추가해도 안되는 듯?

꼼수로 위의 링크에서와 같이 일단 Repository에서 삭제한 후, Update해서 로컬에서도 지우고,
미리 백업 받아놓은 것을 다시 로컬에 복사해 넣으면 신규 파일로 인식되면서 우클릭->Add to ignore가 활성화된다.
여기서 추가하면됨.

'프로그래밍 > Library' 카테고리의 다른 글

[Utils] Paros 사용법  (0) 2009.09.06
[Subversion] 오리지널 서브버젼 이클립스 플러그인  (0) 2009.08.28
[firebug] 파이어버그 가이드  (0) 2009.03.20
[MD5] MD5 암호화  (0) 2009.03.13
[BASE64] BASE64 인코딩  (0) 2009.02.27

[MD5] MD5 암호화

프로그래밍/Library 2009. 3. 13. 16:52 Posted by galad
출처: http://edit.tistory.com/tag/MD5%EC%95%94%ED%98%B8%ED%99%94
        http://www.javapattern.info/50

MD5 는 해시 함수의 일종입니다..
해시 함수는.. 기본적으로 복호화를 목적으로 하지 않습니다.

http://ko.wikipedia.org/wiki/%ED%95%B4%EC%8B%9C_%ED%95%A8%EC%88%98

복호화는 불가능하다고 생각하시는게 편할 겁니다.

복호화는 안된단다... 원래 그렇게 만들어진게 아니라네...
그럼 ID/PW를 암호화할 필요가 있나?

▶ SecurityUtil.java

import java.security.*;

public class  SecurityUtil {

    /**
     * byte[] ret = HashUtil.digest("MD5", "abcd".getBytes());
     *  처럼 호출
     */
    public static byte[] digest(String alg, byte[] input) throws NoSuchAlgorithmException {
        MessageDigest md = MessageDigest.getInstance(alg);
        return md.digest(input);
    }

    public static String getCryptoMD5String(String inputValue) throws Exception {
        if( inputValue == null ) throw new Exception("Can't conver to Message Digest 5 String value!!");
        byte[] ret = digest("MD5", inputValue.getBytes());
        String result = Base64Util.encode(ret);  
        return result;
    }
}


위 의 클래스에 해당 스트링값을 던지게 되면 실제 digest된 결과 문자열을 되돌려 줄수 있도록 처리하였는데 이것이 끝이냐~ 아닙니다. 실제 던져진 해쉬함수에 의한 결과를 System.out으로 찍게 되면 찌그러진 코드형태로 나오게 되는데 이것을 우리 눈으로 비교하여 String문자비교를 통하여 추후 사용할 수 있도록 하려면 Base64 인코딩을 시도해야 합니다.

그 유틸리티 클래스는 아래와 같습니다.

▶ Base64Util.java

import sun.misc.*;
import java.io.*;

/**
*

* Filename  : Base64Util.java

* Class     : Base64Util   

* Function  : Base64 Encoding/Decoding을 수행하는 클래스

* Comment   :

* History    : 2000-08-16 2:48오후                    

*


* @version  1.0
* @author carouser
*/
public class Base64Util {

    public Base64Util() {}

    /**
     * Base64Encoding을 수행한다. binany in ascii out
     *
     * @param encodeBytes encoding할 byte array
     * @return encoding 된 String
     */
    public static String encode(byte[] encodeBytes) {
      
        BASE64Encoder base64Encoder = new BASE64Encoder();
        ByteArrayInputStream bin = new ByteArrayInputStream(encodeBytes);
        ByteArrayOutputStream bout = new ByteArrayOutputStream();
        byte[] buf = null;

        try{
            base64Encoder.encodeBuffer(bin, bout);
        } catch(Exception e) {
            System.out.println("Exception");
            e.printStackTrace();
        }
        buf = bout.toByteArray();
        return new String(buf).trim();
    }

    /**
     * Base64Decoding 수행한다. binany out ascii in
     *
     * @param strDecode decoding할 String
     * @return decoding 된 byte array
     */
    public static byte[] decode(String strDecode) {
      
        BASE64Decoder base64Decoder = new BASE64Decoder();
        ByteArrayInputStream bin = new ByteArrayInputStream(strDecode.getBytes());
        ByteArrayOutputStream bout = new ByteArrayOutputStream();
        byte[] buf = null;

        try {
            base64Decoder.decodeBuffer(bin, bout);
        } catch(Exception e) {
            System.out.println("Exception");
            e.printStackTrace();
        }

        buf = bout.toByteArray();

        return buf;

    }
}


String passwd = SecurityUtil.getCryptoMD5String("Carouser");

'프로그래밍 > Library' 카테고리의 다른 글

[Subclipse] ignore  (0) 2009.04.02
[firebug] 파이어버그 가이드  (0) 2009.03.20
[BASE64] BASE64 인코딩  (0) 2009.02.27
[가니메데] 이클립스 가니메데에서 WTP사용하기  (0) 2009.02.03
[Cognos] 기본개념  (0) 2009.01.29

[BASE64] BASE64 인코딩

프로그래밍/Library 2009. 2. 27. 15:03 Posted by galad
// Encode the bytes of the string
String encoding = new sun.misc.BASE64Encoder().encodeBuffer(userPassword.getBytes());
// Set the "Authorization" request property for the URLConnection
// chuck로 인한 줄바꿈 문자 삭제. PW가 길면 문제.
uc.setRequestProperty("Authorization","Basic " + encoding.substring(0, encoding.length() - 2)); 


import org.apache.commons.codec.binary.Base64;

// false - chunk하지 않는다(chuck하면 76자 단위로 줄바꿈)
String encoding = new String(Base64.encodeBase64(userPassword.getBytes(), false));
uc.setRequestProperty("Authorization","Basic " + encoding);

둘 중에 하나 쓰면 됨.
아래 것은 라이브러리 받아야 한다.
직접 WTP 플러그인을 받아서 복사해 넣었더니 안되더니만,
이클립스 가니메데 버전에서 실행 후,
Help -> Software Updates -> Available Software -> Web and Java EE Development를 전부 업뎃했더니 된다.

아마 가니메데를 코어버전?(클래식버전? - SE용?)을 받아서 그랬던 듯?
EE용으로 받았더라면 문제없었을라나...

'프로그래밍 > Library' 카테고리의 다른 글

[MD5] MD5 암호화  (0) 2009.03.13
[BASE64] BASE64 인코딩  (0) 2009.02.27
[Cognos] 기본개념  (0) 2009.01.29
[EXCEL] 셀 범위로 드롭다운 목록 만들기  (0) 2009.01.29
[log4j] 사용례  (0) 2009.01.08

[Cognos] 기본개념

프로그래밍/Library 2009. 1. 29. 17:03 Posted by galad
Query Explorer에서 DB의 정보를 가져오는 객체들을 만든 다음,
Page Explorer에서 Query Explorer가 관리하는 객체들을 가지고 원하는 형태로 리포트를 작성한다.
그밖의 리포트 생성용 조건은 Prompt Page에서, 특정 조건에 따라 리포트 형태변화 등은 Condition을 이용해서.
http://office.microsoft.com/ko-kr/excel/HP100725991042.aspx

1. 드롭다운 목록용 리스트를 한 열/행에 빈 칸 없이 작성
2. 드롭다운에 사용할 셀 선택 -> 메뉴의 데이타 -> 데이타 유효성 -> 설정 탭 -> 목록 선택 후 작성해 논 리스트를 선택

더 자세한 건 위의 링크 참조

[log4j] 사용례

프로그래밍/Library 2009. 1. 8. 17:12 Posted by galad
패턴에 따른 로그의 예
1.
log4j.appender.stdout.layout.ConversionPattern=%d %-5p [%t] %-17c{2} (%13F:%L) %3x - %m%n

2009-01-08 16:27:37,464 ERROR [main] xml.XMLMain       ( XMLMain.java:165)     - JOURNALREQ03.xml XML 파일 전송 실패

2.
log4j.appender.rolling.layout.ConversionPattern=%d %-5p [%t] %-17c{2} %3x - %m%n

2009-01-08 16:35:14,335 INFO  [main] xml.XMLMain           - ===== 프로그램 종료 =====


로그 레벨 순서

OFF/FATAL/ERROR/WARN/INFO/DEBUG/TRACE/ALL의 순서. 맞나???