2011년 9월 13일 화요일

드롭다운메뉴에 운좋게 웹표준이 적용됐다.


<style type="text/css">
#jsddm ,
#jsddm  li,
#jsddm  ul {
 list-style: none;
 margin: 0;
 padding: 0;
}


#jsddm li {float: left; list-style: none; font: 13px 돋움, dotum, Arial; vertical-align: middle; line-height: 1.3em; zoom: 1; }

#jsddm li a {
display: block;
padding: 14px 23 14px 24px;
background: #eeeeee;
text-decoration: none;
color: black;
white-space: nowrap;
display: block;

}

#jsddm li a:hover {background: #9ACD32}

#jsddm li ul {
margin: 0;
padding: 0;
position: absolute;
visibility: hidden;
z-index:2;
}

#jsddm li ul li {

float: none;
display: block;
width: 160px;
background-color: #eeeeee;
}

#jsddm li ul li a {
width: 100%;
background: #eeeeee;
color: #24313C}

#jsddm li ul li a:hover{
background: #9ACD32}
</style>

<script src="/js/jquery-1.4.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
var timeout         = 500;
var closetimer    = 0;
var ddmenuitem      = 0;

function jsddm_open()
{  jsddm_canceltimer();
   jsddm_close();
   ddmenuitem = $(this).find('ul').eq(0).css('visibility', 'visible');}

function jsddm_close()
{  if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');}

function jsddm_timer()
{  closetimer = window.setTimeout(jsddm_close, timeout);}

function jsddm_canceltimer()
{  if(closetimer)
   {  window.clearTimeout(closetimer);
      closetimer = null;}}

$(document).ready(function()
{  $('#jsddm > li').bind('mouseover', jsddm_open);
   $('#jsddm > li').bind('mouseout',  jsddm_timer);});

document.onclick = jsddm_close;
</script>
<ul id="jsddm">
        <li><a href="<?=$g4[path]?>/?pid=01_01">진흥회소개</a>
                <ul>
                        <li><a href="<?=$g4[path]?>/?pid=01_01">인사말</a></li>
                        <li><a href="<?=$g4[path]?>/?pid=01_02">설립목적 및 연혁</a></li>
                        <li><a href="<?=$g4[path]?>/?pid=01_03">주요사업</a></li>
                        <li><a href="<?=$g4[path]?>/?pid=01_04">조직도</a></li>
                        <li><a href="<?=$g4[path]?>/?pid=01_05">찾아오시는 길</a></li>
                </ul>
        </li>
        <li><a href="<?=$g4[path]?>/bbs/board.php?bo_table=board_05_01">정보자료실</a>
                <ul>
                        <li><a href="<?=$g4[path]?>/bbs/board.php?bo_table=board_05_01">화학뉴스</a></li>
                        <li><a href="<?=$g4[path]?>/?pid=02_02">화학산업관련통계</a></li>
                        <li><a href="<?=$g4[path]?>/?pid=02_03">발간자료</a></li>
                </ul>
        </li>
        <li><a href="<?=$g4[path]?>/?pid=03_01">자금지원</a>
                <ul>
                        <li><a href="<?=$g4[path]?>/?pid=03_01">특정물질사용합리화기금</a></li>
                </ul>
        </li>
        <li><a href="<?=$g4[path]?>/?pid=04_01">회원사</a>
                <ul>
                        <li><a href="<?=$g4[path]?>/?pid=04_01">회원사현황</a></li>
                        <li><a href="<?=$g4[path]?>/?pid=04_02">회원가입안내</a></li>
                </ul>
        </li>
        <li><a href="<?=$g4[path]?>/bbs/board.php?bo_table=board_02_01">공지사항</a>
                <ul>
                        <li><a href="<?=$g4[path]?>/bbs/board.php?bo_table=board_02_01">게시판</a></li>
                </ul>
        </li>
        <li><a href="<?=$g4[path]?>/?pid=06_01">제품안전정보</a>
                <ul>
                        <li><a href="<?=$g4[path]?>/?pid=06_01">사업소개</a></li>
                        <li><a href="<?=$g4[path]?>/?pid=06_02">PSDS자료</a></li>
                        <li><a href="<?=$g4[path]?>/?pid=06_03">관련정보 및 사이트</a></li>
                </ul>
        </li>
</ul>


그러나 #jsddm li ul li 에서 문자 길이가 늘어나면 width도 늘려야 한다.

홈페이지 디자인시 배경컬러를 적용하면 편하다.

홈페이지 디자인시 처음부터 끝까지 배경컬러를 적용하면 편하다.
red, yellow가 검정 글자가 대비되어 가독성이 좋은 것 같다.

스팸 문자 차단 목록

capital
릴껨
c0m
무_료
카_지노
바다 이야기
선거정보
선거운동본부
성인온라인
대박게임
바^둑이
포^커
비*아
무료머니
그ㄹr
초고속인터넷
실머니
금.융
현금행사
지금가입
무방문
대*출
대^출
대/출
대_출
대.출
080
벳팅
하나금융
릴겜
고^래
상^어
無
애인대행
$
여대생
연^타
↘
◑
◐
㉳
㉸
/
비아
연타
잭팟
최저
♠
이벤
카라
거부
↗
☜
당일
신규
◆
□
①
②
③
④
⑤
⑥
⑦
⑧
⑨
⑩
☆
◈
★
♣
♨
▶
☞
☎
정보료
국내최대

스팸문자 차단 목록
사행성 게임, 성, 대출과 관련 상품들이 대부분 이었다.
KT를 사용중이라 올레 모바일 사이트에서 스팸문자등록을 하였다.

2011년 9월 11일 일요일

크로스 브라우징 테스팅 툴

Tool Number of browser versions supported IE? Interactive testing? Side-by-side testing? Pricing
Adobe BrowserLab 13 IE6+ No Yes Free
Browsershots 60+ IE6+ No No Free
SuperPreview Varies IE6+ Yes Yes Free
Lunascape 3 IE6+ Yes Yes Free
IETester 6 versions of IE IE5.5+ Yes Yes Free
IE NetRenderer 5 versions of IE IE5.5+ No No Free
Spoon 16+ no IE Yes No Free
Sauce Labs 40+ IE6+ Yes No Free — $499 per month
Browsera 9 IE6+ No Yes Free – $99/month
Browserling 9 IE5.5+ No No Free – $20/month
Mogotest 7+ IE6+ No Yes $15 – $4,499/month
Cloud Testing 4+ IE6+ Yes Yes Not specified
BrowserCam 90+ IE5.2+ Yes Yes $19.95 – $89.95/month
Multi-Browser Viewer 80+ IE6+ For some browsers Yes $139.95
CrossBrowserTesting 100+ IE6+ Yes Yes $29.95 – $199.95/month

다양한 브라우저를 지원하고 인터렉티브와 라이센싱이 자유로운 툴을 추리면
Lunascape, SuperPreview이다.
그러나 둘다 .exe포멧 설치형이라 리눅스에서는 무리이다. 개인적으로 무설치, 속도, 로그인이 필요치 않은 점으로 불때 IE NetRenderer 가 가장 편하다.

data source : www.smashingmagazine.com
크로스 브라우징 테스팅 툴

kate 에디터 단축키

F11 : 줄 번호 표시

ctrl + G : 줄 번호 찾기

ctrl + F : 문자열 찾기

ctrl + R : 바꾸기

ctrl + D : 주석 적용

2011년 9월 9일 금요일

접속 통계

구글 Analytics를 이용하여 방문자수, PV, 검색유입사이트 등의 통계를 보기도 하고, 기업에 따라서는 소셜미디어 키워드 분석 툴을 도입하기도 합니다.


출처: http://xenerdo.com/706#.TmoQ4qWfk1I

홈페이지에 다음지도 달기


http://dna.daum.net/apis/maps/v3
https://apis.daum.net/register/myapi.daum


<!DOCTYPE html>
<html>
<head>
<title>Hello, World!</title>
<meta name="viewport" content="initial-scale=1.0,user-scalable=no">
<style type="text/css">
html { height: 100% }
body { height: 100%; margin: 0; padding: 0 }
#map { width: 100%; height: 100% }
</style>
<script type="text/javascript" src="http://apis.daum.net/maps/maps3.js?apikey=다음 API서버에서 받은 인증키" charset="utf-8"></script>
<script type="text/javascript">

window.onload = function() {
  var position = new daum.maps.LatLng(사용자 위도값, 사용자 경도값);
  var map = new daum.maps.Map(document.getElementById('map'), {
    center: position,
    level: 4,
    mapTypeId: daum.maps.MapTypeId.ROADMAP
  });

/*기본마커*/
  var marker = new daum.maps.Marker({
    position: position
  });
  marker.setMap(map);
  var zoomControl = new daum.maps.ZoomControl();
      map.addControl(zoomControl, daum.maps.ControlPosition.RIGHT);
      var mapTypeControl = new daum.maps.MapTypeControl();
      map.addControl(mapTypeControl, daum.maps.ControlPosition.TOPRIGHT);
   
/*인포윈도우*/
   var infowindow = new daum.maps.InfoWindow({
         content: '<p style="margin:7px 12px;font-size:12px">인포윈도우만 띄울 수도 있습니다.</p>'
      });
 
      daum.maps.event.addListener(marker, "click", function() {
         infowindow.open(map, marker);
      });
 
      daum.maps.event.addListener(map, "click", function() {
         infowindow.close();
      });
};
</script>
</head>
<body>
<div id="map" style="width:600px;height:600px;"></div>
</body>
</html>

홈페이지에 트위터 달기

http://www.readwriteweb.com/archives/10_twitter_list_widgets_you_can_grab_embed_right_n.php

테이블에서 table-layout:fixed 적용시 td가 동일한 크기로 나눠질 때

파이어폭스 브라우저 사용시

테이블 table-layout:fixed와 <td>의 속성값인 colspan 혹은 rowspan을  동시 적용했을 때
개별 <td>가 동일한 크기로 나눠진다. 아무리 개별 <td>에 <td width="300"><td width="100">으로 적용해봐도 width값이 변하지 않는다.

그럴 땐, <col width="300"><col width="100">을 적용해야 한다.
<html>
<body>
<table width="400px" cellpadding="0" cellspacing="0" style="table-layout:fixed">
<tr>
   <td colspan="2" bgcolor="red">ABCDEFG</td>
</tr>
<tr><col width="300"><col width="100">
   <td bgcolor="yellow">ABCDEFG</td>
   <td bgcolor="blue">ABCDEFG</td>
</tr>
</table>
</body>
</html>

2011년 9월 8일 목요일

구독 블로그

호스트잇 Story
지오닷컴
제너시스템즈
Metabrain
Channy's Blog
NARADESIGN
이미지존

도구: 파이어폭스 Brief

오픈 폰트/ 오픈 글꼴

함초롱체 (글꼴 출처 표기 권장)
http://www.hancom.co.kr/downLoad.downView.do?targetRow=1&seqno=3136&mcd_save=005

나눔글꼴, 나눔글꼴코딩
http://hangeul.naver.com/share.nhn

렉시굴림
http://kldp.net/projects/linuxlexifont/

렉시새봄
http://kldp.net/projects/linuxlexifont2

문화부 글꼴 (글꼴 저작권 명시 미확인)
http://faq.ktug.or.kr/faq/%B9%AE%C8%AD%BA%CE%B1%DB%B2%C3

리눅스용 백묵폰트
http://kldp.net/projects/baekmuk/download

한양굴림
(구하지 못함)

은글꼴
http://kldp.net/projects/unfonts/kle.kldp.org/main/UnFonts

은진체
http://minicube.tistory.com/130

조선일보 명조체 (글꼴 저작권 명시 미확인)
http://mylord.kr/2460458

※ TTF는 일반 사용자용, ODF는 그래픽 디자인 전문가용

※상기 폰트 모음
http://www.mediafire.com/?uwyu6fo1y65w7su


※ 기타 공개글꼴
http://ko.wikipedia.org/wiki/%EC%88%9C%EC%B2%9C%ED%96%A5%EC%B2%B4

※도움 받은 곳
http://www.ubuntu.or.kr/viewtopic.php?f=6&t=8239&sid=6b12aa90502c3595795253d3f38a3a91&start=20

2011년 9월 4일 일요일

qmail설치

centOS
http://huikyun.tistory.com/279

우분투 qmail + vpopmail + qmailadmin + ezmlm 설치 

http://embeddedandroid.tistory.com/20




qmail 컴파일 make: *** [qmail-remote.o] 오류 1


root@server:/usr/local/src/qmail/netqmail-1.05/netqmail-1.05# make
./compile qmail-remote.c
In file included from qmail-remote.c:53:
tls.h:4:25: error: openssl/ssl.h: No such file or directory
In file included from qmail-remote.c:53:
tls.h:7: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
tls.h:9: error: expected ‘)’ before ‘*’ token
In file included from qmail-remote.c:54:
ssl_timeoutio.h:8:3: error: #error "Need OpenSSL version at least 0.9.6"
In file included from qmail-remote.c:54:
ssl_timeoutio.h:11: error: expected declaration specifiers or ‘...’ before ‘SSL’
ssl_timeoutio.h:12: error: expected declaration specifiers or ‘...’ before ‘SSL’
ssl_timeoutio.h:13: error: expected declaration specifiers or ‘...’ before ‘SSL’
ssl_timeoutio.h:15: error: expected declaration specifiers or ‘...’ before ‘SSL’
ssl_timeoutio.h:16: error: expected declaration specifiers or ‘...’ before ‘SSL’
ssl_timeoutio.h:19: error: expected declaration specifiers or ‘...’ before ‘SSL’
qmail-remote.c:55:29: error: openssl/x509v3.h: No such file or directory
qmail-remote.c: In function ‘saferead’:
qmail-remote.c:128: error: ‘ssl’ undeclared (first use in this function)
qmail-remote.c:128: error: (Each undeclared identifier is reported only once
qmail-remote.c:128: error: for each function it appears in.)
qmail-remote.c:129: warning: passing argument 5 of ‘ssl_timeoutread’ makes integer from pointer without a cast
ssl_timeoutio.h:15: note: expected ‘int’ but argument is of type ‘char *’
qmail-remote.c:129: error: too many arguments to function ‘ssl_timeoutread’
qmail-remote.c: In function ‘safewrite’:
qmail-remote.c:141: error: ‘ssl’ undeclared (first use in this function)
qmail-remote.c:142: warning: passing argument 5 of ‘ssl_timeoutwrite’ makes integer from pointer without a cast
ssl_timeoutio.h:16: note: expected ‘int’ but argument is of type ‘char *’
qmail-remote.c:142: error: too many arguments to function ‘ssl_timeoutwrite’
qmail-remote.c: In function ‘quit’:
qmail-remote.c:269: error: ‘ssl’ undeclared (first use in this function)
qmail-remote.c:269: error: ‘SSL_ST_BEFORE’ undeclared (first use in this function)
qmail-remote.c:270: error: ‘SSL_ST_OK’ undeclared (first use in this function)
qmail-remote.c: In function ‘tls_quit’:
qmail-remote.c:337: error: ‘ssl’ undeclared (first use in this function)
qmail-remote.c: At top level:
qmail-remote.c:353: error: expected declaration specifiers or ‘...’ before ‘X509_STORE_CTX’
qmail-remote.c: In function ‘tls_init’:
qmail-remote.c:358: error: ‘SSL’ undeclared (first use in this function)
qmail-remote.c:358: error: ‘myssl’ undeclared (first use in this function)
qmail-remote.c:359: error: ‘SSL_CTX’ undeclared (first use in this function)
qmail-remote.c:359: error: ‘ctx’ undeclared (first use in this function)
qmail-remote.c:392: error: ‘ssl’ undeclared (first use in this function)
qmail-remote.c:405: error: ‘NULL’ undeclared (first use in this function)
qmail-remote.c:411: error: ‘SSL_VERIFY_PEER’ undeclared (first use in this function)
qmail-remote.c:417: error: ‘SSL_FILETYPE_PEM’ undeclared (first use in this function)
qmail-remote.c:457: error: too many arguments to function ‘ssl_timeoutconn’
qmail-remote.c:461: error: ‘X509’ undeclared (first use in this function)
qmail-remote.c:461: error: ‘peercert’ undeclared (first use in this function)
qmail-remote.c:462: error: ‘GENERAL_NAME’ undeclared (first use in this function)
qmail-remote.c:462: error: ‘gens’ undeclared (first use in this function)
qmail-remote.c:465: error: ‘X509_V_OK’ undeclared (first use in this function)
qmail-remote.c:467: warning: passing argument 2 of ‘tls_quit’ makes pointer from integer without a cast
qmail-remote.c:335: note: expected ‘const char *’ but argument is of type ‘int’
qmail-remote.c:479: error: ‘NID_subject_alt_name’ undeclared (first use in this function)
qmail-remote.c:483: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
qmail-remote.c:483: error: ‘gn’ undeclared (first use in this function)
qmail-remote.c:484: error: ‘GEN_DNS’ undeclared (first use in this function)
qmail-remote.c:487: error: ‘GENERAL_NAME_free’ undeclared (first use in this function)
qmail-remote.c:493: error: ‘X509_NAME’ undeclared (first use in this function)
qmail-remote.c:493: error: ‘subj’ undeclared (first use in this function)
qmail-remote.c:494: error: ‘NID_commonName’ undeclared (first use in this function)
qmail-remote.c:496: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
qmail-remote.c:496: error: ‘s’ undeclared (first use in this function)
make: *** [qmail-remote.o] 오류 1


libssl-dev를 설치해준다.
sudo apt-get install libssl-dev

출처: http://ubuntuforums.org/showthread.php?t=423314