'웹'에 해당되는 글 5건

  1. 2012.08.10 vi 에디터 찾기/바꾸기
  2. 2012.08.10 mysql 사용자계정 초기화
  3. 2012.02.07 해외 호스팅 게시판 시간 조정하기
  4. 2012.01.30 https 보안 설정하기
  5. 2012.01.27 웹폰트

vi 에디터 찾기/바꾸기

2012. 8. 10. 14:14

vi 에디터에서 원하는 문자열을 찾고  찿은 문자열을 바꾸고 하는 작업에 대하여 살펴 보도록 하겠습니다.

 

특히 윈도우 시스템에서 파일을 저장 하였을때 라인의 맨 마지막에 "^ M" 문자열이 포함되어 리눅스의 vi에서는  "^ M" 문자열이 보이는 경우가 있습니다.

 

이와 같은 경우, "^ M" 문자열을 일일히 하나씩 지우는 것은 매우 귀찮은 일이라 생각 됩니다.

 

vi에서 원하는 문자열을 찿는 방법을 먼저 알아 보고, 바꾸는 것도 해보도록 하겠습니다.

 

vi에서는 모드가 있습니다. 즉 편집(입력) 모드와 명령 모드로 구분이 됩니다.

 

알려드릴 내용은 편집(입력)  모드가 아닌 명령 모드에서 실행을 합니다.

 

기본적으로 vi를 이용하여 파일을 열게 되면 명령 모드로 실행을 합니다.

 

명령 모드에서 원하는 문자열을 찾기 위해서는 "/" 를 누릅니다. 그러면 vi에서 화면의 맨 마지막에 "/"가 보입니다.

이때 자신이 찾으려는 문자열을 입력한후 엔터를 치면 파일의 맨 처음 부터 문자열을 찾게 됩니다.

 

문자열을 찾은후 "n"을 누르면 순차적으로 찾으려는 문자열을 매칭해 가며 찿을 수 있습니다.

역방향으로 찾기위해서는 "N"을 누르면 역방향으로 찾으려는 문자열을 매칭하여 찾을 수 있습니다.

 

 자 이제 원하는 문자열을 찾고  찿은 문자열을 바꾸고 하는 작업을 해보도록 하겠습니다. 

마찬가지로 명령 모드에서 ":"을 입력하면 vi에서 화면의 맨 마지막에 ":"이 보입니다.

이제 아래와 같이 사용을 하면 문자열을 바꾸는 작업을 수행 할 수 있습니다.

 

:s/old/new<엔터> 현재 줄의 처음 old를 new로 교체 
:s/old/new/g<엔터> 현재 줄의 모든 old를 new로 교체 
:%s/old/new/g<엔터> 문서 전체에서 old를 new로 교체 

문저 전체 에서 위에서 예로든 "^M" 을 찾고 그 문자열을 없애는 예제를 해보도록 하겠습니다.

:%s/<Ctrl+v><Ctrl+M>//g<엔터>

 문서 전체에서 "^M" 를 없앨 수 있습니다.

 

이상으로 vi에서 문자열을 찾고  찿은 문자열을 바꾸고 하는 작업에 대하여 알아 보았습니다.

'' 카테고리의 다른 글

mysql 사용자계정 초기화  (0) 2012.08.10
해외 호스팅 게시판 시간 조정하기  (0) 2012.02.07
https 보안 설정하기  (0) 2012.01.30
웹폰트  (0) 2012.01.27
:

mysql 사용자계정 초기화

2012. 8. 10. 12:02


'' 카테고리의 다른 글

vi 에디터 찾기/바꾸기  (0) 2012.08.10
해외 호스팅 게시판 시간 조정하기  (0) 2012.02.07
https 보안 설정하기  (0) 2012.01.30
웹폰트  (0) 2012.01.27
:

해외 호스팅 게시판 시간 조정하기

2012. 2. 7. 00:39
홈페이지 호스팅이 미국 go daddy로 되어 있기 때문에 서버에 시간을 저장시키면 미국 시간으로 표시되고 있었다.
제로보드나 그누보드를 쓴다면 간단하게 관리자 메뉴에서 시간대를 조정할 수 있지만
그렇지 못한 경우에는 직접 수정해 줘야 한다.

내 경우는 생초짜기 때문에 javascript를 손봐야 하는지, php를 손봐야 하는지, sql을 만져야 하는지조차 감이 오질 않았다.

고대디에 문의한 결과 독립 서버를 신청하지 않으면 서버시간 변경은 불가능하다고 했다.
뭐 그냥 시간에 15시간만 더하면 맞겠거니 싶어서 그냥 해보려 했는데 이게 사나흘이나 붙잡아야 하는 문제인 줄은
몰랐었다.

템플릿이 smarty로 만들어져 있기 때문에  명령어가 또 달랐고 이것저것 들쑤실 수 있는 부분은 다 들쑤시느라 나름 공부도 한 셈이지만 이런 걸 하나 못고치고 있다는 생각에 스트레스가 심했다.

일단 홈페이지의 어느 부분을 만져야하는지조차 몰랐으니.

어쨌거나 각종 시간 관련 함수는 언어를 초월하여 다 접해보게 되었다.

결국 방법은 sql 함수였다.

내 경우는 module 부분에 sql관련 명령어들이 모여있었고, 

$sql = 'insert into board ( XXX, XXX, XXX, ) values ( XXX, XXX, XXX)'

부분이 DB에 입력시키는 명령어라는 걸 알게 되었다.

앞부분이 필드명이고 values 부분이 값이었다.

제목이나 내용 같은 부분은 ? 로 되어 있었고
게시물 작성 시간은 register_date 필드 value 가 now()로 되어 있었다.

now()에 + 15*60*60 이런 식으로 쓰면 되겠거니 싶어서 바꾸고 업로드를 했는데

첨엔 지금 시간이 잘 나오는 것 같더니 시간이 계속 변했다. 계속 지금 시간으로.
그것 때문에 phpmyadmin에 들어가서 register_date 형식을
datetime에서 timestamp, date, time 으로 막 바꿔보다가 등록된 글 작성시간이 다 날라가는 참사도 벌어지고.


그래서 다른 시간을 입렸했더니 엉뚱한 시간이 나왔다. 곱셈이 잘못되었나 싶어 정수를 넣으면 또 다른 시간이 나오고.
변하긴 변하는 걸 보니 뭔가 변환비율이 있을 것 같아 비율을 찾으려고

일단 1000을 넣었더니 10분이 바뀌더라.

그냥 HHMMSS형식이었던 거다.

그래서 now()+150000으로 해결.


요약.

게시판 시간 조정을 하기 위해서는

$sql = 'insert into board ( XXX, XXX, XXX, ) values ( XXX, XXX, XXX)'

에서 등록시간 값을 now()에서 now() + HHMMSS 으로 바꿔 주면 된다.


2.15 수정

now() + 로 하면 첨엔 잘 됐는데
원래 now() 함수가 yy-mm-dd-hh-mm-ss 형식이라 오류가 났다.
그래서 FROM_UNIXTIME(UNIX_TIMESTAMP() + 16*60*60)로 수정.
 

'' 카테고리의 다른 글

vi 에디터 찾기/바꾸기  (0) 2012.08.10
mysql 사용자계정 초기화  (0) 2012.08.10
https 보안 설정하기  (0) 2012.01.30
웹폰트  (0) 2012.01.27
:

https 보안 설정하기

2012. 1. 30. 23:09
http와 https의 자세한 차이점이라거나 아파치를 통한 설정, 인증서 발급 이런 걸 설명하려는 건 아니고
그냥 https로 보내는 방법을 설명하려고 한다.

SSL 인증서 발급은 호스팅 업체에 돈을 내면 대행해 준다. 발급이 되면 https://~~
를 통해 들어갔을 때 자물쇠 마크를 볼 수가 있다.

익스플로러라면 띠릭 소리가 나면서 보안되지 않은 내용을 포함하고 있다는 경고가 뜨고
크롬에서는 노란 삼각형을 포함한 자물쇠가 뜬다.

뭐냐면 사이트가 포함한 링크 중에 http:// 로 시작하는 링크가 있다는 말이다.

대부분의 사이트에서는 상대경로를 통해 이동하기 때문에 첫 페이지에서 http:// 로 들어온 이용자들을 https://로 한번 보내주면 사이트 내에서 쭉 https를 이용하게 할 수 있다.

그래서 index 페이지에서 https로 리다이렉션을 시키라고들 하던데 대부분 알려주는 코드가 이렇다.


1.  <meta http-equiv='refresh' content='0; url=https://도메인'> 

2.  <script> document.location.href='도메인'; </script>  


이런 식인데 저 방법을 쓰면 안된다.
 
KISA(한국 인터넷 진흥원)에서 만든 자료에서도 저 방법을 쓰라고 하는데 쓰면
안된다.
페이지가 단 한 글자도 뜨지 않고 무한반복되기 때문이다.

그래서 http://로 들어온 사용자만 https://로 보내주는 방법을 써야 하는데 그게 다음과 같다.

<script> 
if(location.href.substr(0, 5) != 'https'){ 
location.replace("https://~~~"); 
</script>

~~ 부분에 도메인을 넣으면 된다.

아래는 KISA에서 만든 보안 서버 구축(SSL 구성) 가이드

http://www.kisa.or.kr/jsp/common/down.jsp?folder=uploadfile&filename=%EC%A0%9C2010-17%ED%98%B8-%EB%B3%B4%EC%95%88%EC%84%9C%EB%B2%84%EA%B5%AC%EC%B6%95%EC%95%88%EB%82%B4%EC%84%9C.pdf
매우 자세하게 나와있다.
 
 

'' 카테고리의 다른 글

vi 에디터 찾기/바꾸기  (0) 2012.08.10
mysql 사용자계정 초기화  (0) 2012.08.10
해외 호스팅 게시판 시간 조정하기  (0) 2012.02.07
웹폰트  (0) 2012.01.27
:

웹폰트

2012. 1. 27. 01:41

홈페이지에 웹폰트를 적용하는 방법

스마트에디터에 웹폰트 추가하는 방법

fontface.kr 이용해서 웹폰트 적용하는 방법

스마트에디터에 fontface.kr의 웹폰트 추가하는 방법




홈페이지는 그 내용에 관계없이 텍스트가 디자인의 팔할을 차지하게 된다.

영문은 폰트 제작이 간편하고 기본 폰트도 선택 폭이 넓은 편이지만

웹상에서 사용할 수 있는 한글로 된 기본 폰트는 3~4개 뿐이다.

그리고 메뉴 버튼은 보통 이쁜 폰트로 만들어서 이미지로 찍어내기 때문에

굴림이나 돋움같은 기본 폰트와 조화되지 않는 경우가 허다하다.
 

그래서 

일반적으로 두가지 방법으로 해결한다.


1.텍스트를 이미지로 변환

2.웹폰트 사용


1. 워드프로세서에서 내용을 작성하고 PDF로 저장해서 포토샵으로 다시 이미지 파일로 전환하는 방법. 워드프로세서에서 편집한 디자인 그대로 올릴 수 있어서 깔끔하지만 내용 수정할때마다 이 과정을 거쳐야 하는 불편함을 겪어야 하고 검색을 포기해야 한다. 문서 내에서 링크를 거는 것도 불편하다.(웹에디터를 통해 이미지 링크를 걸면 가능하기는 하다.)


2.웹폰트 사용

웹폰트를 사용하면 1번의 문제가 대부분 해결 가능하다. 링크 적용, 검색 가능, 수정 간편.

웹폰트에는 3종류가 있다.


1. woff : Web Open Font Format 위키에서 설명 보기
 
2. ttf : True Type Font 위키에서 설명 보기
 
3. eot : Embedded OpenType 위키에서 설명 보기[각주:1]


각 브라우저에 따라 지원하는 웹폰트가 다르다.

간단하게 설명하자면

woff 방식은 웹 표준방식이다. 하지만 한국에서는 별로 중요치 않다.

ttf 는 용량이 크다.

eot는 익스플로러에서 잘 먹힌다.


웹표준을 다 지켜준다면 좋겠지만 그렇지 않기 때문에 사이트 제작하는 입장에서는 모두 고려해야 한다. eot와 woff 모두 표시하도록 하면 대부분의 브라우저에서 가능하다.


  • 일반적인 사용법.


사용하려는 폰트를 받는다. 직접 프로그램을 이용해서 변환하는 방법도 있지만 나눔고딕 같은 폰트는 특이한 폰트가 아니기 때문에 구글링으로 변환된 폰트를 찾는 쪽이 빠르다.

 

<style type="text/css">
@font-face {font-family: 폰트 이름; src:url(폰트 위치);}
body {font-family:폰트 이름; font-size: 12px:}
</style>


폰트를 업로드 하고 CSS에 이상의 코드를 넣어주면 전체 페이지에 적용된다.

특정 부분에 사용하려면 body 부분을 바꿔주면 된다.



  • 스마트 에디터

나는 사이트 페이지 작성에 스마트에디터(smart editor)를 사용했기 때문에 조금 다른 방법을 사용했다.


SEditorSkin.html에서 아래처럼 추가하고요. <option value="ganari" style="font-family:ganari">개나리</option> 

css/style.css에 @font-face { FONT-FAMILY:ganari; src:url('../webfont/ganari.eot');} [각주:2]


스마트 에디터 네이버 개발자 포럼에서 찾았다. '개나리'라는 폰트를 쓴 사례. 이상과 같이 하면 에디터에서 설정할 수 있는 글꼴에 개나리가 추가된다.



크로스 브라우징을 신경쓰지 않으면 이상 두가지 방법만 적용하면 끝.



크로스 브라우징을 위해 많은 사람들이 해결책으로 제시하는 방법이 있다.


fontface.kr 구글 API를 이용해서 뜻있는 분들이 만들어 놓으신 사이트다.

나도 여길 이용해서 나눔고딕체를 스마트 에디터에 적용했다.



<script src="http://www.google.com/jsapi"></script>

<script>

 google.load( "webfont", "1" );

 google.setOnLoadCallback(function() {

  WebFont.load({ custom: {

   families: [ "NanumGothic" ],

   urls: [ "http://fontface.kr/NanumGothic/css" ]

 }});

});

</script>[각주:3]

seditorskin.html을 열어 헤더에 이상의 스크립트를 넣고


<option value="NanumGothic" style="font-family:NanumGothic">나눔고딕</option>


body에 여러 폰트 옵션에 추가해주면 끝.


크로스 브라우징이 분명 된다고 했는데 크롬에서 안보이고 있다.

xp라서 안된다는 듯 하다.


참고 사이트:

http://einmong.egloos.com/5415221 
http://hyunsik.me/wordpress/?p=4386 
http://pangsan.tistory.com/102 
http://fontface.kr/ 
http://dr-choi.kr/archives/4615 
http://dev.naver.com/projects/smarteditor/ 

 
  1. http://hyunsik.me/wordpress/?p=4386 [본문으로]
  2. http://dev.naver.com/tracker/?group_id=30&atid=149&func=detail&aid=3152 [본문으로]
  3. http://fontface.kr/ [본문으로]

'' 카테고리의 다른 글

vi 에디터 찾기/바꾸기  (0) 2012.08.10
mysql 사용자계정 초기화  (0) 2012.08.10
해외 호스팅 게시판 시간 조정하기  (0) 2012.02.07
https 보안 설정하기  (0) 2012.01.30
: