2013. 8. 19. 15:38

1. SFTP(SSH File Transfer Protocol)

정확히 말하면 SFTP 프로토콜은 FTP를 사용하지 않는다. SFTP는 SSH 기반의 새로운 파일 전송 프로토콜이다. SSH 서버가 구축되어 있어야 한다. Telnet을 대체하는 원격관리 프로토콜인 SSH를 이용하기 때문에 구축 및 유지 비용이 적고 다른 보안 FTP 메커니즘에 비해 일반 사용자들이 사용하기에 편리하여 많이 사용된다.

일반 사용자들은 FileZilla, SSH Secure Shell v3.29 또는 pscp, WinSCP 프로그램을 이용한다. 상용S/W로는 VanDyke Software 社에서 나온 SecureFX가 있다.


2. FTP over SSH(Secure FTP)

SSH 연결 위에 일반 FTP로 터널링 연결을 함으로써 접속 시에 계정 정보가 암호화 되어 악의적인 공격자에게 노출되지 않지만 데이터는 암호화 되지 않는다.

이 방법은 ssh를 이용하여 터널링을 구성한 다음, 일반 ftp로 접속하는 방법이기 때문에 일반 사용자들이 사용하기에는 쉽지 않다.


3. FTPS(FTP over SSL)

FTP Secure 또는 FTP-SSL로 알려진 FTPS는 TLS(Transport Layer Security)와 Secure Sockets Layer (SSL) 암호화 프로토콜이 더해진 FTP의 확장판이다. SSL 레이어 위에서 FTP를 수행하는 것으로서 command 와 data 모두 암호화 된다.



Posted by sungwonpekr
2013. 5. 25. 12:31

 


이전 버전을 계속 포스팅 했었는데, br태그가 이상하게 나온다거나.. tistory에서 사용 할 때 불편한 문제점들이 이것저것 있는데.. 아래 처럼 사용하면 좀 더 편하게 사용 할 수 있습니다.

먼저 최신 버전의 SyntaxHighlighter을 다운로드 받습니다. 

압축을 풀면 아래와 같이 보입니다. 
여기서 scripts와 styles 폴더의 내용을 모두, 
관리자 화면 > 스킨 > HTML/CSS편집 > 파일 업로드에서 파일 업로드를 통해서 올려 줍니다.

추가 된 것을 확인 하시면,
관리자 화면 > 스킨 > HTML/CSS편집 > HTML/CSS편집에서 <title> 밑에 아래 코드를 추가해 줍니다.

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript" src="./images/shCore.js"></script>
<script type="text/javascript" src="./images/shLegacy.js"></script>
<script type="text/javascript" src="./images/shBrushAppleScript.js"></script>
<script type="text/javascript" src="./images/shBrushAS3.js"></script>
<script type="text/javascript" src="./images/shBrushBash.js"></script>
<script type="text/javascript" src="./images/shBrushColdFusion.js"></script>
<script type="text/javascript" src="./images/shBrushCpp.js"></script>
<script type="text/javascript" src="./images/shBrushCSharp.js"></script>
<script type="text/javascript" src="./images/shBrushCss.js"></script>
<script type="text/javascript" src="./images/shBrushDelphi.js"></script>
<script type="text/javascript" src="./images/shBrushDiff.js"></script>
<script type="text/javascript" src="./images/shBrushErlang.js"></script>
<script type="text/javascript" src="./images/shBrushGroovy.js"></script>
<script type="text/javascript" src="./images/shBrushJava.js"></script>
<script type="text/javascript" src="./images/shBrushJavaFx.js"></script>
<script type="text/javascript" src="./images/shBrushJScript.js"></script>
<script type="text/javascript" src="./images/shBrushPerl.js"></script>
<script type="text/javascript" src="./images/shBrushPhp.js"></script>
<script type="text/javascript" src="./images/shBrushPlain.js"></script>
<script type="text/javascript" src="./images/shBrushPowerShell.js"></script>
<script type="text/javascript" src="./images/shBrushPython.js"></script>
<script type="text/javascript" src="./images/shBrushRuby.js"></script>
<script type="text/javascript" src="./images/shBrushSass.js"></script>
<script type="text/javascript" src="./images/shBrushScala.js"></script>
<script type="text/javascript" src="./images/shBrushSql.js"></script>
<script type="text/javascript" src="./images/shBrushVb.js"></script>
<script type="text/javascript" src="./images/shBrushXml.js"></script>
<link type="text/css" rel="stylesheet" href="./images/shCore.css"/>
<link type="text/css" rel="stylesheet" href="./images/shThemeDefault.css"/>
<script type="text/javascript">

/* jQuery 부분  */
jQuery.noConflict();  // 다른 라이브러리와 충돌을 방지한다.
jQuery(document).ready(function(){  // 문서가 모두 읽힌 후에 다음을 실행
    jQuery("blockquote").each( function() {  //blokquote가 사용한 태그
        if (jQuery(this).attr('class').substr(0,5)=='brush') 
        // 그중 클래스명이 brush로 시작하는 것을 찾아 적용
        {
            var temp = jQuery(this).html(); //  내용 복사
            temp = temp.replace(/\n/gi, "");
            temp = temp.replace(/<BR>/gi, "\n");
            temp = temp.replace(/<BR \/>/gi, "\n");
            //temp = '<pre class="'+ jQuery(this).attr('class') + '">'+temp+'</pre>'
            temp = '<script type="syntaxhighlighter" class="'+ jQuery(this).attr('class') + '"><![CDATA['+temp+']]><\/script>'
            jQuery(this).after(temp);   // 뒤에 새 작성된 pre 또는 script태그로 붙인다.
            jQuery(this).remove();         //  기존의 인용태그 삭제
        }
    });

    /* SyntaxHighlighter 부분 */
    SyntaxHighlighter.defaults['toolbar'] = false;    // 툴바 안 보기
    SyntaxHighlighter.all();
});
</script>



jQuery는 구글의 apis에서 가져다 오도록 했습니다. 현재 최신 버전이 1.4.4입니다.
그리고, 41번과 42번 줄에 보시면, pre태그와 script태그를 둘중 하나를 선택해서 사용 하시면 되는데..
여기를 참고 하시고 선택해서 사용하세요.
저 같은 경우에는 script 태그를 선택 했습니다.
그리고 사용하는 방법은 매우 간단해 졌습니다.

텍스트 모드에서 붙여 넣기를 한 후,
인용구<Ctrl+Q>를 선택 하시면 됩니다.

그리고 HTML 편집 모드로 들어 가셔서 blockquote를 찾으셔서, 태그에 적당한 brush를 넣어 주시면, 코드가 깔끔하게 들어 갑니다.

<blockquote class="brush:html">
...
</blockquote>
그리고, 줄에 하일라이트를 넣고 싶거나, 상세 설정은 
  • http://alexgorbatchev.com/SyntaxHighlighter/manual/configuration/
이 페이지를 참고 하시면 됩니다. 


지원 문법

Brush nameBrush aliasesFile name
ActionScript3as3, actionscript3shBrushAS3.js
Bash/shellbash, shellshBrushBash.js
ColdFusioncf, coldfusionshBrushColdFusion.js
C#c-sharp, csharpshBrushCSharp.js
C++cpp, cshBrushCpp.js
CSScssshBrushCss.js
Delphidelphi, pas, pascalshBrushDelphi.js
Diffdiff, patchshBrushDiff.js
Erlangerl, erlangshBrushErlang.js
GroovygroovyshBrushGroovy.js
JavaScriptjs, jscript, javascriptshBrushJScript.js
JavajavashBrushJava.js
JavaFXjfx, javafxshBrushJavaFX.js
Perlperl, plshBrushPerl.js
PHPphpshBrushPhp.js
Plain Textplain, textshBrushPlain.js
PowerShellps, powershellshBrushPowerShell.js
Pythonpy, pythonshBrushPython.js
Rubyrails, ror, rubyshBrushRuby.js
ScalascalashBrushScala.js
SQLsqlshBrushSql.js
Visual Basicvb, vbnetshBrushVb.js
XMLxml, xhtml, xslt, html, xhtmlshBrushXml.js


참고 사이트

이 포스팅에 사용된 버전


Posted by sungwonpekr
2013. 5. 22. 10:14

오픈소스 라이센스 종류와 간단요약

The Code Project Open License (CPOL)

저작권 보호 기능을 제공합니다: True-
상용 소프트웨어에서 사용 가능: True-
버그 패치 및 기능 확장 공개의 의무: False-아니오
명시적 특허권 행사 가능 여부: True-
독점 프로그램(비공개 소스에서) 에서 사용할 수있다: True-
라이센스 전파 여부: False-아니오

The Common Development and Distribution License (CDDL)

저작권 보호 기능을 제공합니다: True
상용 소프트웨어에서 사용 가능: True
버그 패치 및 기능 확장 공개의 의무: True
명시적 특허권 행사 가능 여부: True
독점 프로그램(비공개 소스에서) 에서 사용할 수있다: True
라이센스 전파 여부: False

The Microsoft Public License (Ms-PL)

저작권 보호 기능을 제공합니다: True
상용 소프트웨어에서 사용 가능: True
버그 패치 및 기능 확장 공개의 의무: False
명시적 특허권 행사 가능 여부: True
독점 프로그램(비공개 소스에서) 에서 사용할 수있다: True
라이센스 전파 여부: False

The Mozilla Public License 1.1 (MPL 1.1)

저작권 보호 기능을 제공합니다: True
상용 소프트웨어에서 사용 가능: True
버그 패치 및 기능 확장 공개의 의무: True
명시적 특허권 행사 가능 여부: True
독점 프로그램(비공개 소스에서) 에서 사용할 수있다: True
라이센스 전파 여부: False

The Common Public License Version 1.0 (CPL)

저작권 보호 기능을 제공합니다: True
상용 소프트웨어에서 사용 가능: True
버그 패치 및 기능 확장 공개의 의무: True
명시적 특허권 행사 가능 여부: True
독점 프로그램(비공개 소스에서) 에서 사용할 수있다: True
라이센스 전파 여부: False

The Eclipse Public License 1.0

저작권 보호 기능을 제공합니다: True
상용 소프트웨어에서 사용 가능: True
버그 패치 및 기능 확장 공개의 의무: True
명시적 특허권 행사 가능 여부: True
독점 프로그램(비공개 소스에서) 에서 사용할 수있다: True
라이센스 전파 여부: False

The MIT License

저작권 보호 기능을 제공합니다: True
상용 소프트웨어에서 사용 가능: True
버그 패치 및 기능 확장 공개의 의무: False
명시적 특허권 행사 가능 여부: False
독점 프로그램(비공개 소스에서) 에서 사용할 수있다: True
라이센스 전파 여부: False

The BSD License

저작권 보호 기능을 제공합니다: True
상용 소프트웨어에서 사용 가능: True
버그 패치 및 기능 확장 공개의 의무: False
명시적 특허권 행사 가능 여부: False
독점 프로그램(비공개 소스에서) 에서 사용할 수있다: True
라이센스 전파 여부: False

The Apache License, Version 2.0

저작권 보호 기능을 제공합니다: True
상용 소프트웨어에서 사용 가능: True
버그 패치 및 기능 확장 공개의 의무: False
명시적 특허권 행사 가능 여부: True
독점 프로그램(비공개 소스에서) 에서 사용할 수있다: True
라이센스 전파 여부: False

The Creative Commons Attribution-ShareAlike 2.5 License

저작권 보호 기능을 제공합니다: True
상용 소프트웨어에서 사용 가능: True
버그 패치 및 기능 확장 공개의 의무: False
명시적 특허권 행사 가능 여부: False
독점 프로그램(비공개 소스에서) 에서 사용할 수있다: False
라이센스 전파 여부: True

The zlib/libpng License

저작권 보호 기능을 제공합니다: True
상용 소프트웨어에서 사용 가능: True
버그 패치 및 기능 확장 공개의 의무: False
명시적 특허권 행사 가능 여부: False
독점 프로그램(비공개 소스에서) 에서 사용할 수있다: True
라이센스 전파 여부: False

A Public Domain dedication

저작권 보호 기능을 제공합니다: False
상용 소프트웨어에서 사용 가능: True
버그 패치 및 기능 확장 공개의 의무: False
명시적 특허권 행사 가능 여부: False
독점 프로그램(비공개 소스에서) 에서 사용할 수있다: True
라이센스 전파 여부: False

The GNU Lesser General Public License

저작권 보호 기능을 제공합니다: True
상용 소프트웨어에서 사용 가능: True
버그 패치 및 기능 확장 공개의 의무: True
명시적 특허권 행사 가능 여부: False
독점 프로그램(비공개 소스에서) 에서 사용할 수있다: True
라이센스 전파 여부: True

The GNU General Public License (GPL)

저작권 보호 기능을 제공합니다: True
상용 소프트웨어에서 사용 가능: True
버그 패치 및 기능 확장 공개의 의무: True
명시적 특허권 행사 가능 여부: False
독점 프로그램(비공개 소스에서) 에서 사용할 수있다: False
라 이센스 전파 여부: True

 

 

출 처 : http://www.4ellene.net/tt/1280
원 본 : http://www.codeproject.com/info/Licenses.aspx

Posted by sungwonpekr