본문으로 건너뛰기

Windows10 업데이트 후 80포트를 사용할 수 없을 때

· 약 1분

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

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

해결

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

Windows10 Anniversary 업데이트 후 작업표시줄 폰트가 검게 보일 때

· 약 1분

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

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

해결

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

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

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

EditPlus 테마 설정

· 약 2분

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

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

다운로드

파일을 다운받는다.

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

설정

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

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

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

imageTTFtext 한글 깨짐 해결

· 약 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 로 말을 할 것 같다.

카카오 og tag 캐시 제거

· 약 1분

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

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

Cache 삭제

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

linkinfo 삭제

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

Vi, Vim에서 줄번호 표시

· 약 1분

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

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

표시하기

:set number

image from hexo

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

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

chkconfig run level 설명

· 약 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 설정이 큰 차이가 없다.

CentOS 버전 및 Bit 확인

· 약 1분

리눅스에 모듈을 설치할 때 항상 버전과 Bit확인이 필요하다.

$ cat /etc/*release*

CentOS release 6.6 (Final)

Bit

$ getconf LONG_BIT

64