본문으로 건너뛰기

· 약 2분

서브라임 텍스트 사용시 쓸만한 패키지를 모아봤다.

NameDescription
additional PHP SnippetsPHP 자동완성
All Autocomplete열려있는 모든 문서의 구문을 가져와 자동완성
Auto RefreshN초마다 자동 파일갱신
AutoFileName파일경로 입력시 자동으로 목록을 보여줌
BracketHighlighter괄호 하이라이터
Color HighlighterHEX 및 색상 하이라이터
ConvertToUTF8UTF8 환경 사용가능
DocBlockr괄호 자동생성
EJS2ejs 사용 가능
GitGit 사용 가능
IMESupport한글 및 기타 문자 사용가능
JavaScript & NodeJS Snippetsjs 및 node 자동완성
Javascript Beautify압축된 js의 아름답게
Javascript Completionsjs 자동완성
Javascript PatternsES5이하에서 최적화된 js패턴 사용
JSHint Gutterjs hint를 gutter 아이콘으로 표시
LESSless 사용 가능
MarkdownEditingmarkdown 사용 가능
Material Theme메테리얼 테마
SFTPftp 사용 가능
SideBarEnhancements기본 우클릭메뉴 강화
SublimeCodeIntelHTML 구문 자동완성
SublimeLinter문법 체크
SublimeLinter-jshintjs 문법체크
SublimeLinter-phpphp 문법체크
SublimeLinter-xmllintxml 문법체크
SyncedSideBar파일 선택시 사이드바의 폴더가 자동으로 열림
Terminal터미널
TortoiseSVNSVN 사용가능
TrailingSpaces빈공간 제거
TypeScriptts 사용 가능
UMD snippetsUMD 모듈패턴 자동완성

진하게 표시가 된 패키지들은 필수로 설치하는걸 추천한다.

· 약 1분

Windows10 Anniversary 업데이트 후에 갑자기 80 포트 또는 Apache 서비스를 사용할 수 없는 경우가 있다.

WWW Publishing service 가 80 포트를 사용해서 충돌이 발생했다.

해결

services.msc 를 실행해 *WWW Publishing 서비스사용안함으로 체크한 뒤 재부팅해주면 된다. (로컬 웹을 돌릴 정도면 서비스창을 띄울 수 있을 것이라 믿는다) image from hexo

· 약 1분

Anniversary 업데이트 후 작업표시줄(taskbar)의 글꼴이 회색? 검정색? 이 되어 보이지가 않는 경우가 있다. image from hexo 이 부분과 날짜 표시 부분이 검게 변한다. 프로그램 제목이 안보이면 여간 불편한게 아니니 직접 변경해보자.

업데이트시 theme 파일이 충돌되었다.

해결

바탕화면 우클릭 > 개인설정 > 테마 > 테마설정에 들어간다. image from hexo

테마를 Windows 기본값 테마로 바꾼 후 내 테마들을 우클릭 해 삭제해준다. image from hexo

그리고 다시 내 테마를 커스터마이징 하면 된다!

· 약 2분

에디트 플러스를 어쩔 수 없이 써야할 상황이 있다. 바로 FTP 에 붙어서 작업해야 될 경우인데, 기본 테마가 메모장이라 아쉽다.

그럴 때 서브라임텍스트 소다테마를 적용하면 된다.

다운로드

파일을 다운받는다.

EditPlus 폴더 안에 theme 폴더를 만들고 그 안에 압출을 풀어주자. image from hexo

설정

도구 > 기본설정 > 일반 > 색상 탭에서 가져오기 버튼을 클릭하고 ini 파일을 읽어들인다. image from hexo

파일 > 설정 & 구문강조 탭에 가서 PHP를 선택 후 구문파일에 다운받은 php.stx 를 등록해준다. image from hexo

이제 예쁜 에디트플러스를 즐길 수 있다.

· 약 2분

텍스트를 이미지로 만드는 경우에 사용하는 imageTTFtext 함수는 한글이 깨지는 문제가 있다.

imageTTFtext 전에 아래 함수로 한글을 컨버팅해준다.

<?php
/**
* @author http://php.net/manual/en/function.imagettftext.php#57416
*/
function foxy_utf8_to_nce($utf = '') {
if (empty($utf)) {
return($utf);
}

$max_count = 5; // flag-bits in $max_mark ( 1111 1000 == 5 times 1)
$max_mark = 248; // marker for a (theoretical ;-)) 5-byte-char and mask for a 4-byte-char;

$html = "";
for ($str_pos = 0; $str_pos < strlen($utf); $str_pos++) {
$old_chr = $utf{$str_pos};
$old_val = ord( $utf{$str_pos} );
$new_val = 0;

$utf8_marker = 0;

// skip non-utf-8-chars
if ( $old_val > 127 ) {
$mark = $max_mark;
for($byte_ctr = $max_count; $byte_ctr > 2; $byte_ctr--) {
// actual byte is utf-8-marker?
if( ( $old_val &; $mark ) == ( ($mark << 1) &; 255 ) ) {
$utf8_marker = $byte_ctr - 1;
break;
}
$mark = ($mark << 1) & 255;
}
}

// marker found: collect following bytes
if ($utf8_marker > 1 && isset( $utf{$str_pos + 1} ) ) {
$str_off = 0;
$new_val = $old_val &; (127 >> $utf8_marker);
for($byte_ctr = $utf8_marker; $byte_ctr > 1; $byte_ctr--) {

// check if following chars are UTF8 additional data blocks
// UTF8 and ord() > 127
if( (ord($utf{$str_pos + 1}) & 192) == 128 ) {
$new_val = $new_val << 6;
$str_off++;
// no need for Addition, bitwise OR is sufficient
// 63: more UTF8-bytes; 0011 1111
$new_val = $new_val | ( ord( $utf{$str_pos + $str_off} ) & 63 );
}
// no UTF8, but ord() > 127
// nevertheless convert first char to NCE
else {
$new_val = $old_val;
}
}
// build NCE-Code
$html .= '&#'.$new_val.';';
// Skip additional UTF-8-Bytes
$str_pos = $str_pos + $str_off;
} else {
$html .= chr($old_val);
$new_val = $old_val;
}
}
return($html);
}

여담

원작자를 못 찾겠다.. 이걸 만든 사람은 binary 로 말을 할 것 같다.

· 약 1분

og image 또는 og tag 를 변경하면 페북, 네이버는 시간이 지나면 갱신되나 카카오는 캐싱되어서 바뀌지 않는다. (Description 같은 경우 반영이 되나, Image 는 캐시를 지울 때까지 반영이 안 되는 것 같다)

Kakao Developers에서 캐시를 삭제하여 해결이 가능하다.

Cache 삭제

Cache Tool에서 URL 을 입력하고 캐시를 삭제한다. image from hexo

linkinfo 삭제

카카오 스토리 링크 캐시삭제에서 내 앱으로 인증한 뒤 캐시삭제를 요청한다. image from hexo

· 약 1분

Vi Editor의 줄번호를 표시해보자

파일을 연 다음 아래 명령어를 입력한다.

표시하기

:set number

image from hexo

추가적으로 라인이동에 필요한 단축키

  • G (shift+g) 문서 맨 끝으로 이동
  • gg (1G) 문서 처음으로 이동
  • {{number}} + G number 번째의 라인으로 이동 (예시 : 300G)

· 약 2분

chkconfig 로 부팅시 자동실행 서비스를 등록할 수 있다.

$ chkconfig service on

이 명령어를 사용하면 2345 레벨이 활성화 된다. 그렇다면 레벨은 뭘까?

Run Level 은 서비스의 실행을 단계별로 구분하여 적용하는 것을 말한다.

  • 0 - halt (Do NOT set init default to this)

  • 1 - Single user mode

  • 2 - Multiuser, without NFS (The same as 3, if you do not have networking)

  • 3 - Full multiuser mode

  • 4 - unused

  • 5 - X11

  • 6 - reboot (Do NOT set init default to this)

  • 0 : 시스템 종료시

  • 1 : 싱글 유저 모드 (시스템 복원모드, 기본적으로 관리자 권한의 쉘을 얻게 된다)

  • 2 : NFS가 지원되지 않는 다중 사용자 모드 (네트워크를 사용하지 않는 텍스트 유저 모드)

  • 3 : 완전 다중 사용자 모드 (일반적인 로그인 시, CLI 환경)

  • 4 : 미지정 (사용안함, 임의로 정할 수 있음)

  • 5 : 3번과 같으나 GUI (X11) 환경

  • 6 : 재부팅

모듈 설치시에는 on 또는 345 설정이 큰 차이가 없다.