Skip to main content

무료 인증서 사용하기

서버에서 https 환경을 테스트 해볼 일이 있어 SSL 인증서가 필요해서 알아보니

lets encrypt 라는 곳에서 무료로 설치할수 있다고 합니다.

발급 사이트는 다음과 같습니다.
https://letsencrypt.org/
(사이트에 접속해서 발급받는게 아니고 리눅스에서 커멘드로 다 해결됩니다. -_- 맨날 사서 쓰기만 하다보니..;; )

우분투에 설치할 예정임으로 letsencrypt를 패키지로 설치합니다. 다른 패키지도 다 비슷하지 않을까요

apt-get install letsencrypt 

조건이 있습니다. 인증서를 만들 도메인으로 접속이 되어야합니다.
그리고 로컬에 경로도 알아야 합니다.

전 개인 도메인인 jusun.org를 통해서 발급 받아보았습니다. (www 붙은 도메인도 함께 발급 받습니다. )

letsencrypt certonly --webroot --webroot-path=/home/jusun/public_html -d jusun.org -d www.jusun.org

별다른 문제가 없으면 성공하고 그렇지 않으면 refuse 됩니다.
(이메일을 물어보면 넣어주시고 동의 해야지만 발급되는거 같네요…)

Congratulations! Your certificate and chain have been saved at:
    /etc/letsencrypt/live/jusun.org/fullchain.pem
    Your key file has been saved at:
    /etc/letsencrypt/live/jusun.org/privkey.pem
    Your cert will expire on 2019-06-19. To obtain a new or tweaked
    version of this certificate in the future, simply run certbot
    again. To non-interactively renew all of your certificates, run
    "certbot renew"

위 경로에 유효기간이 3개월인 인증서가 저장되게 됩니다.
(계속 쓸려면 3개월이 되기전에 갱신해줘야합니다. )

그다음에 웹서버에 세팅이 필요합니다.
ssl은 443포트를 사용함으로 기존의 VirtualHost와는 별개의 세팅을 해줘야합니다. <VirturalHost *:80>세팅 밑에 SSL 세팅이 포함된 것을 하나더 만들어줬습니다.

<VirtualHost *:443>
    ServerAdmin sun@myhost
    DocumentRoot /home/경로/public_html
    ServerName  www.myhost.com
    ServerAlias myhost.com

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/myhost.com/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/myhost.com/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/myhost.com/chain.pem

    SSLProtocol all -SSLv2 -SSLv3
</VirtualHost>

이정도 세팅이면 무난하게 되지 않을까 싶습니다.
443포트가 방화벽으로 막혀있으면 우분투기준 ufw allow 443/tcp 으로 포트를 열어야합니다.

이정도면 간단하게 다 세팅될거 같네요… ^^

인증서를 자동으로 갱신하고 싶은데 클론탭을 3개월에 한번씩 실행할려면 어떻게 해야 하는지 고민좀 해봐야겠네요……

-ㅅ-)b

[배포] 안드로이드에서 특정기기에만 배포하기

안드로이드 개발 완료 후 갤럭시 노트 시리즈에만 배포해야할 일이 생겼습니다.

다음은 특별한 설정없이 기본적으로 기기의 permission 또는 버전으로 필터링된 경우의 “지원되는 기기”입니다.

이전에는 각각의 모델을 제조사 또는 기기모델별로 한번에 해제 하는게 있었던거 같은데 -_- 하나하나 클릭하기도 힘들어보이고

특정한 모델에만 배포해야 할 경우 Google Play Console에서 모든 기기의 체크박스를 해제 해야하는 경우가 생깁니다.

(하나하나 체크 해제 하는건 너무 무모한거 같에요 ㅋㅋㅋ)

 

이런 경우 앱의 AndroidManifest.xml을 수정하여 출시되는 기기에 대한 필터링을 걸 수 있습니다.

해당기기를 Play Console의 기기 카탈로그에서 검색해봅니다.

 

그리고 해당기기(노트 시리즈)에 특정한 기능을 확인합니다.  s-pen의 기능은 com.sec.feature.spen_usp 입니다.

(얼굴 관련된것도 보이고 카메라 등등 여러가지가 있습니다. 다 뭐하는건진 모르겠지만요 -ㅅ-… )

 

해당하는 기능을 확인했으니  AndroidManifest.xml를 편집해봅시다.

 
 <uses-feature android:name="com.sec.feature.spen_usp" android:required="true"/>

이렇게 추가하고 빌드 후 APK를 다시 업로드 해봅니다.

 

 

 

그러면 해당 기기만 배포할 수 있습니다.

 

라이브러리가 없어서 오류가 나거나 하진 않겠죠 ^^

 

(오랜만에 글을 적었네요 -_- )

3자리마다 콤마를 찍어주는 플러그인

이 플러그인도 jquery용입니다.

별도의 파일로 만들어서 script src로 불러다 쓰시면 편리합니다.

몇가지 타입이 있는데요… 통합할려다가 그때 그때 필요한 것을 추가하다보니 함수가 3개나 되었네요 -_-

$(function($){

    //NumberFormat -_-a 딱히 이름이 안 떠오름
    // 3자리 마다 콤마를 찍어줌
    $.DNumberFormat = function(value) {
        var data = value + "";
        var arrResult = data.split("");
        var startIndex = arrResult.length - 3;
        for (var i = startIndex; i > 0; i -= 3) {
            arrResult.splice(i, 0, ","); // 0은 기존 배열을 삭제하지 않고 삽입만 하겠다는 의미
        }
        return arrResult.join(''); // 공백없이 문자열로 변환
    };



    //객체를 지정해서 찍는것도 ...
    $.fn.DNumberFormatInput = function() {
        var value = $(this).val();

        var data = value + "";
        var arrResult = data.split("");
        var startIndex = arrResult.length - 3;
        for (var i = startIndex; i > 0; i -= 3) {
            arrResult.splice(i, 0, ","); // 0은 기존 배열을 삭제하지 않고 삽입만 하겠다는 의미
        }
        $(this).val(arrResult.join('')); // 공백없이 문자열로 변환
    };

    //html용 (try_catch가 필요할듯...)
    $.fn.DNumberFormatHtml = function() {
        var value = $(this).html();

        var data = value + "";
        var arrResult = data.split("");
        var startIndex = arrResult.length - 3;
        for (var i = startIndex; i > 0; i -= 3) {
            arrResult.splice(i, 0, ","); // 0은 기존 배열을 삭제하지 않고 삽입만 하겠다는 의미
        }
        $(this).html(arrResult.join('')); // 공백없이 문자열로 변환
    };

});

사용하는 방법은 여타의 플러그인들과 마찬가지로 …

$("#객체").DNumberFormat();

 

용도에 따라 함수를 바꿔주면 됩니다. …

(누군가 하나로 통합해줬으면.. -ㅅ- .. 내가 잘쓸텐데…   class도 처리되게 해줬으면….  )

 

…. 이라고 하기에 누가 만들어 놓지 않았을까요 -ㅅ-)!!

HTML DOM 요소를 섞어 주는 플러그인?

jquery를 이용하여 객체를 랜덤으로 출력할 일이 있어서 만들어 보았습니다.

(만든게 아닌가 -_- 어딘가 스텍에서 따온건가 …  가물가물하군욥… 어쨌든 잘 쓰고 있습니다.)

 

당연한 이야기지만 jquery를 불러놓고 써야합니다.

 

(function($){

    $.fn.DShuffle = function() {

        var allElems = this.get(),
            getRandom = function(max) {
                return Math.floor(Math.random() * max);
            },
            shuffled = $.map(allElems, function(){
                var random = getRandom(allElems.length),
                    randEl = $(allElems[random]).clone(true)[0];
                allElems.splice(random, 1);
                return randEl;
            });

        this.each(function(i){
            $(this).replaceWith($(shuffled[i]));
        });

        return $(shuffled);

    };

})(jQuery);

 

사용법은….

$('ul#list li').shuffle();

Android Studio, IntelliJ 에디터 계열 복사 갯수 늘리기

복붙…. 그렇다 복사해서 붙여넣기…..

Android Studio, PyCharm 등 IntelliJ 계열 툴에서 클립보드 기능을 활용해 보았습니다.

-ㅅ-) ..

복사는 Ctrl + C 이고 여러번 복사 해보면 툴 자체의 클립보드에 누적되게 됩니다.

Ctrl + V 했을 때는 최근 것이 붙여 넣어지지만

Ctrl + Shift + V 하게되면 그동안 복사 했던 것을 선택해서 붙여넣기를 할 수 있습니다.

기본적으로  5개 밖에 안되고 Ctrl + C 할 때마다 갱신됩니다.

물론 세팅에서 바꿀 수는 있습니다.

메뉴에서 File > Settings > Editor > General > Limits > Maximum number of contents keep in clipboard

갯수를 조정하시면 됩니다. +ㅁ+)

 

굿잡 -ㅅ-)b