프프프

전체보기

54개 발견

jQuery 플러그인 제작 프로세스

0. 영역 내, $ 별칭 보호

(function(global, $){
    'use strict';
    // $ === window.jQuery
})(window, window.jQuery);

1. 플러그인 기본형 쉘 작성

(function(global, $){
    'use strict';

    var plugin_name = '';

    if ( !$.fn[plugin_name] ) {
        $.fn[plugin_name] = function() {
            // 플러그인 코드
        };
    }

})(window, window.jQuery);

2. 체이닝 설정

(function(global, $){
    'use strict';

    var plugin_name = '';

    if ( !$.fn[plugin_name] ) {
        $.fn[plugin_name] = function() {

            // jQuery 체이닝 설정
            return this;
        };
    }

})(window, window.jQuery);

3. $.each() 유틸리티 메소드 활용

(function(global, $){
    'use strict';

    var plugin_name = '';

    if ( !$.fn[plugin_name] ) {
        $.fn[plugin_name] = function() {
            var $this = this;

            return $.each($this, function(index, el){
                var _$item = $this.eq(index); // jQuery 인스턴스 객체

                // 플러그인 코드
            });
        };
    }

})(window, window.jQuery);

4. 객체지향 프로그래밍 설정

(function(global, $){
    'use strict';

    var plugin_name = '';

    // 생성자 함수
    var ConstructorFn = function(el) {
        this.el = el;
    };

    // 생성자 프로토타입 객체
    ConstructorFn.fn = ConstructorFn.prototype = {
        // 초기화 메소드
        init: function() {

        }
    };

    if ( !$.fn[plugin_name] ) {
        $.fn[plugin_name] = function() {
            var $this = this;

            return $.each($this, function(index, el){
                var _$item = $this.eq(index);

                new ConstructorFn(el);
            });
        };
    }

})(window, window.jQuery);

5. 사용자정의/기본 옵션 설정

(function(global, $){
    'use strict';

    var plugin_name = '';

    var ConstructorFn = function(el, options) {
        this.init(el, options)
    };

    ConstructorFn.fn = ConstructorFn.prototype = {
        init: function(el, options) {
            // 사용자 정의 옵션 >> 기본 옵션 = 병합
            options = $.extend({}, $.fn[plugin_name].defaults, options);

            // 이벤트 메소드 실행
            this.events();
        },
        events: function() {

        }
    };

    if ( !$.fn[plugin_name] ) {
        // options - 사용자 정의 옵션 설정
        $.fn[plugin_name] = function(options) {
            var $this = this;

            return $.each($this, function(index, el){
                var _$item = $this.eq(index);

                // 생성자 함수에 options 전달
                new ConstructorFn(el, options);
            });
        };

        // 플러그인 초기 옵션 설정
        $.fn[plugin_name].defaults = {

        };
    }

})(window, window.jQuery);

출처: yamoo9/jQuery-Class

'Front > JavaScript' 카테고리의 다른 글

쿠키 만료 세팅  (0) 2017.02.15
지정한 문자 모두 치환하기 (replaceAll)  (0) 2017.02.15
accordion  (0) 2017.02.09
count elements  (0) 2017.02.06
문자열 존재 확인  (0) 2016.12.12
댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다

1. 벨소리를 만들려는 음원에서 정보 가져오기 클릭



2. 우선 40초 미만으로 설정하기(아이폰 벨소리 길이 제한은 최대 40초)


3. AAC 버전 생성


4. 40초 길이의 AAC 음원이 생성되었다.


5. 40초 AAC파일에서 탐색기에서 보기 클릭


6. m4a 파일이 생성된 걸 볼 수 있다.


7. 확장자를 m4a → m4r 로 변경한다. (컨버팅없이 그냥 파일명 변경)


8. 아이튠즈 소리 탭으로 이동



9. m4r 파일을 드래그 한다. (현재는 40초 길이의 파일) -아직 동기화 하지 않는다.


10. 다시 아이튠즈의 음악 탭으로 이동 후 원래의 음원에서 40초이하가 아닌 원하는 길이로 설정(어떠한 길이도 가능)


11. 원하는 길이로 만든 음원으로 AAC 파일을 만든다.


12. 원하는 길이의 AAC파일의 확장자도 m4r로 변경한다.


13. 원하는 길이의 m4r파일을 기존의 40초 m4r파일과 파일명을 동일하게 한 후 40초 m4r파일에 덮어 씌운다


14. 아이튠즈의 소리탭으로 이동 후 아이폰으로 전송한다.(원하는 길이의 m4r파일은 소리탭에 추가하지 않고 기존에 추가했던 40초 파일을 옮긴다)


소리탭에 링크가 걸려있는 파일은 40초 파일로 전송이 가능한 파일로 인식되지만 위의 과정으로 옮겨지는 파일이 원하는 길이의 파일로 대체가 되어서 실질적으로 원하는 길이의 파일이 전송되게 된다.


*요약

1. 40초 벨소리 만들기

2. 40초 벨소리 아이튠즈 소리탭에 옮겨 놓기 (아직 동기화 시키면 안된다)

3. 원하는 길이의 벨소리 만들기

4. 원하는 길이의 벨소리를 40초 벨소리 실제 파일에 덮어씌운다

5. 동기화


댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다

#macOS


~ $ gem install jekyll

~ $ jekyll new myblog

~ $ cd myblog

~/myblog $ bundle exec jekyll serve

=> Now browse to http://locallhost:4000


bundler 관련 에러가 나면 bundler를 설치해준다.

$ sudo gem install bundler



# 테마 적용

~ $ gem install jekyll

~ $ jekyll new myblog  이부분은 없어도 될 것 같다.

테마파일 받아서 themeblog 폴더에 넣기 (자신에게 해당하는 폴더)

~ $ cd themeblog  #해당 폴더로 이동

~ $ bundle install   #번들 인스톨하기 - 의존성파일들

~/myblog $ bundle exec jekyll serve  #로컬서버구동


테마들은 세팅이 http:// 와 같은 절대경로로 되어있을 수 있으니 상대경로로 바꿔줘야 로컬에서 제대로 된 화면을 볼 수 있다.

_post 폴더, 즉 자신이 진짜 포스팅했던 파일들만 백업하고 다른테마에 옮긴뒤 테마자체를 반영하면 될 것 같다.


깃허브에 push하면 자신의 블로그가 디플로이 된다.

댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다

출처: http://gent.tistory.com/4

'Front > JavaScript' 카테고리의 다른 글

jQuery 플러그인 만들기  (0) 2017.03.19
지정한 문자 모두 치환하기 (replaceAll)  (0) 2017.02.15
accordion  (0) 2017.02.09
count elements  (0) 2017.02.06
문자열 존재 확인  (0) 2016.12.12
댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다

출처: http://gent.tistory.com/18

'Front > JavaScript' 카테고리의 다른 글

jQuery 플러그인 만들기  (0) 2017.03.19
쿠키 만료 세팅  (0) 2017.02.15
accordion  (0) 2017.02.09
count elements  (0) 2017.02.06
문자열 존재 확인  (0) 2016.12.12
댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다

See the Pen WRaGYY by parkjinhyung (@gutmate) on CodePen.


'Front > JavaScript' 카테고리의 다른 글

쿠키 만료 세팅  (0) 2017.02.15
지정한 문자 모두 치환하기 (replaceAll)  (0) 2017.02.15
count elements  (0) 2017.02.06
문자열 존재 확인  (0) 2016.12.12
최대값, 최소값 구하기 (arr sort)  (0) 2016.11.15
댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다


'Front > JavaScript' 카테고리의 다른 글

지정한 문자 모두 치환하기 (replaceAll)  (0) 2017.02.15
accordion  (0) 2017.02.09
문자열 존재 확인  (0) 2016.12.12
최대값, 최소값 구하기 (arr sort)  (0) 2016.11.15
HTML5 TABLE 접근성  (0) 2016.11.11
댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다

1. 포터블 경로 추가 (Sublime Text 3)


SublimeLinter.sublime-setting.json (SublimeLinter setting)


"paths": {

    "linux": [],

    "osx": [],

    "windows": [

        "/NodeJSPortable/Data",  //현재 npm package 가 설치되어 있는 경로

        "/NodeJSPortable/App/NodeJS"  //현재 NodeJS.exe 가 존재하는 경로

    ]

}



2. 사용자 변수 추가 (윈도우)


시스템 >고급 시스템 설정 > 환경변수


Path

C:\NodeJSPortable\App\NodeJS //현재 NodeJS.exe 가 존재하는 경로



SublimeLinter setting 에서 복수 경로 입력이 가능 하니 사용자 변수를 추가적으로 설정해줄 필요는 없다.


'Tool' 카테고리의 다른 글

Markdown 문법  (0) 2016.12.08
댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다


오픈라이센스 이름

 저작권 보호

상용 소프트웨어에서 사용 가능 

버그 패치 및 기능확장 제공의 의무 

명시적 특허권 행사 가능 여부 

사유 프로그램(소스 비공개 프로그램)에서 사용가능 여부 

 라이센스 전파 여부

The Apache License, Version 2.0

O

O

 

O

O

X

 The Common Public License Version 1.0 (CPL)

O

O

O

O

O

X

 The MIT License

O

O

X

X

O

X

 The BSD License

O

O

X

X

O

X

 The Mozilla Public License 1.1 (MPL 1.1)

O

O

O

O

O

X

 The Creative Commons Attribution-ShareAlike 2.5 License

O

O

X

X

X

O

 The zlib/libpng License

O

O

X

X

O

X

 The GNU Lesser General Public License (LGPL)

O

O

O

X

O

O

 The GNU General Public License (GPL)

O

O

O

X

X

O

 The Code Project Open License (CPOL)

O

O

X

O

O

X

 The Common Development and Distribution License (CDDL)

O

O

O

O

O

X

 The Microsoft Public License (Ms-PL)

O

O

X

O

O

X

 The Eclipse Public License 1.0

O

O

O

O

O

 X

 공개커뮤니티에 대한 공헌

(라이센스는 아님)

X

O

X

X

O

X


http://wizardee.tistory.com/157

http://www.bloter.net/archives/209318

'TIP' 카테고리의 다른 글

아이폰 벨소리 길이 제한없이 넣기  (5) 2017.02.25
ZEPA UHD TV KSP-401 모니터용 설정 방법  (4) 2016.04.25
댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다

'Front > JavaScript' 카테고리의 다른 글

accordion  (0) 2017.02.09
count elements  (0) 2017.02.06
최대값, 최소값 구하기 (arr sort)  (0) 2016.11.15
HTML5 TABLE 접근성  (0) 2016.11.11
변수 추가하기  (0) 2016.11.09
댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다

iOS10 viewport user-scalable 적용 불가 문제

애플은 iOS10의 사파리 브라우저에서 더이상 viewport user-scalable을 사용할 수 없도록 만들었다. 공식적으로 접근성을 위해서 적용시키지 않겠다고 발표했다.

To imporve accessibility on websites in Safari, users can now pinch-to-zoom even when a website sets user-scalable=no in the viewport.

Safari의 웹 사이트에 대한 접근성을 높이기 위해 웹 사이트에서 뷰어에 사용자 확장 가능 = 아니오를 설정 한 경우에도 사용자가 손가락으로 확대 / 축소 할 수 있습니다.

그럼에도 확대를 막고 싶다면 아래의 스크립트를 적용해주면 된다.



댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다
1
div {top:20px; right:40px}


위와 같이 좌표값을 지정한 상태에서 

1
div{bottom:40px; left:20px}


이런 유형으로 고치려 하면 미리 지정해둔 좌표값을

1
div {top:initial; right:initial; bottom:40px; left:20px}


이렇게 초기화 시켜줘야 한다.

그러나 역시 IE에서 되지 않았다.


*IE를 위한 해결 방법

1
div {top:auto; right:auto; top:initial; right:initial; bottom:40px; left:20px}
cs

auto값을 추가적으로 주면 해결이 된다.



댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다

Markdown 문법

2016. 12. 8. 10:32 - 진징
  • 제목
    # 텍스트
    #을 하나 쓰면 HTML의 <h1> 태그를, #을 두개 쓰면 <h2>태그를 의미한다. 즉, #은 하나에서 여섯개까지 쓸 수 있고, #이 늘어날때마다 제목의 수준은 내려간다.(보통 글씨 크기가 작아진다.)
  • 번호 없는 리스트
    -/+/* 텍스트
  • 번호 있는 리스트
    숫자. 리스트
  • 기울인 글씨 (html의 <em>태그)
    *텍스트* or _텍스트_
  • 굵은 글씨 (html의 <strong>태그)
    **텍스트** or __텍스트__
  • 인용
    > 텍스트
    인용문안에 인용문을 넣으려면 >를 더 추가해주면 된다.
  • 인라인 링크
    [텍스트](링크주소)
  • 참조 링크
    [텍스트][참조명]
    [참조명]: 링크주소
  • 이미지
    ![텍스트](이미지링크)
  • 수평선
    -, *, _을 세개 이상 나열
  • 코드
    \`코드 내용\`
  • 코드 블럭
    앞에 스페이스 4개 이상 삽입


'Tool' 카테고리의 다른 글

NodeJS portable SublimeLinter 연결 설정  (0) 2017.01.24
댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다


'Tool > Atom' 카테고리의 다른 글

Atom 단축키 변경하기  (0) 2016.12.03
Atom emmet tab 활성화 (jsp, php 등)  (0) 2016.11.24
댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다
  • Chrome 브라우저에서 box-sizing: border-box 를 사용했을 때 브라우저 줌 레벨이 100%보다 작다면, select 엘리먼트를 사용한 선택 옵션을 사용하는 데 문제가 발생한다.
  • IE 8은 min/max-width/height가 사용되었을 때 box-sizing : border-box 설정을 무시한다.
  • Safari 6.0.x에서는 display: table 로 설정된 요소에 box-sizing 속성이 적용되지 않는다.
  • IE 9는 해당 요소의 position : absolute | fixed일 때나, overflow: auto | overflow-y: scroll일 때, 스크롤바의 가로를 줄여버린다. (IE 9 will subtract the width of the scrollbar to the width of the element when set to position : abosolute/fixed, overflow: auto/ overflow-y: scroll)
  • Android 브라우저는 HTML select element의 가로, 세로 면적을 정확히 계산하지 못한다.
  • IE 8에서 min-width 속성은 해당 요소의 box-sizing 값이 border-box로 설정이 되어있어도, content-box에 적용이 된다.

출처: http://ccuram.tistory.com/27

댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다