배치파일 기능 질문좀 드려요..
checking.exe 라는 다른프로그램 상태를 확인해주는 프로그램이 있다고 생각하고
checking.exe status 명령어를 치면 
프로그램이 정상작동중이면
status is "good"을 반환하고
프로그램이 닫혀있으면 
closed 를 반환한다고 하면

이 stutus is "good" 이나 closed를 배치파일에서 변수처럼 받아서 쓸 수 있는 방법이 있을까요?




start checking.exe status

if (status is "good")
    echo "np"
if (closed)
   checking.exe do_start


 첨부 이미지





안녕하세요. 답변이 좀 늦었네요. 
죄송합니다.

아래와같이 해보시면 원하시는 결과가 아닐까 싶습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@ECHO OFF
CD C:\tmp
TASKLIST | FIND "notepad.exe" > NUL
IF NOT ERRORLEVEL 1  (
    ECHO 대상프로그램이 실행중입니다.
    GOTO PGOK
) ELSE (
    ECHO 대상프로그램이 꺼져있습니다.
    GOTO PGNG
)
 
:PGOK
    ECHO 프로그램 기동중
    GOTO END
:PGNG
    ECHO 프로그램이 꺼져있습니다. 새롭게 시작합니다.
    START %SystemRoot%\system32\notepad.exe
    GOTO END
:END
    ECHO 처리종료
cs



카톡의 "소잃고 외양간 고치기" 프로젝트

 

종단간 암호화(End-to-End Encryption) 방식으로 암호화를 하겠다. 라는 기사가 연일 쏟아지고 있다.

 

이것은 무엇인가??

일반인들에게는 생소한 이야기이겠지만, 간단히 설명하면 이렇다.

 

보내는쪽에서 암호를 걸고, 받는쪽에서만 암호를 풀수 있다.

A 사용자가 "안녕" 을 보내면, 도중에 저장된 내용을 카톡측에서 열어보거나 누군가가 해킹했을때는 #%@$!$!@" 로 보이고, B 사용자가 문자를 열어봤을때는 "안녕" 으로 복호화(암호해석)가 된다는것이다.

 

정리하자면, 

 

1. A 라는 유져가 B 라는 유져와 대화를 하기위해서 비밀방을 개설한다.

2. 개설된 비밀방에 유니크한 암호키가 생성된다. (카톡측의 일정한 룰에 의거)

3. A 라는 유져가 "안녕" 이라는 문자를 보내면 B 라는 유져가 받아보기 전까지는 #%@$!$!@" 내용을 알아볼수 없다.

 

간단히 이해하면 이렇다.

 

일반적으로 이렇게 암호화를하면, 중간에서 정보를 빼낸다고 하더라도 정확한 내용을 알아볼수는 없다.

그러나 여기서 다른각도로 생각해보면, 종단간 암호화 방식에서 또 다른출구 "MasterKey" 가 떠오른다.

프로그램이야 정답이 없기에 어떤식으로든 커스터마이즈가 가능하다. 만약, 유져간 유니크한 키를 생성하더라도, 결국엔 카카오 측에서 설정해둔 "MasterKey" 가 존재한다면, 암호화 된 내용이라도 "MasterKey" 로 얼마든지 내용열람이 가능하다.

 

내 프로그래머 인생을 걸고 이야기 하건데 "프로그램에는 정답이 없다" 어떤 방법으로든 구현이 가능하고, 사람이 만든것은 결국 사람이 깨부술수 있도록 되어있다. 즉, 100% 완벽한 보안은 없다는것이다.

뭐, 로직에관한 이야기는 이쯤해두고.....

 

개인적으로 참.. 이해가 안되는 부분은 다른부분인데.....

카카오톡 측에서 정부를 상대로 "이제 종단간 암호화 하기때문에, 절대 데이터 제공은 못합니다!!" 라고 단호하게 말할 수 있을까?? 만약, 카카오측이 공식 대변인을 통해서 이런말을 했다고하면, 이것 또한 큰 화제가 되어서 뉴스화 되었을텐데... 정부와의 친화적 입장은 고수한채... 뭔가 좀 어색한 입장이다.

(*어쩌면 수면화 되지만 않았을뿐, 뭔가 준비하고 있는지도 모른다. 좀 더 지켜보자.)

 

만약, "메신져 망명", "카톡 개인정보제공", "카톡 열람가능" 이라는 사태로 카카오측이 손해를 막대하게 입었다면 정부를 상대로 소송이라도 걸지 않았을까? 차라리 이렇게 했다면, 국민들이 카카오의 입장을 충분히 이해했을지도 모른다.

그러나 지금처럼 "정부", "사용자" 두마리 토끼를 잡으려고 하다가는 둘 다 놓치게 된다는걸 잊어서는 안된다.

 

<<과제>>

1. 빠져나가는 유져를 어떻게 막을것인가?

2. 신규유져는 어떻게 모을것인가?

   - 추후 예정인 소액송금 이라는 카카오뱅크 아이템은 괜찮았으나, 이번 사태(개인정보, 수/발신정보 열람가능 및 제공가능)로 역효과가 되어서, 믿고 쓸수있는 유져가 얼마나 될지 의문이다.

3. 앞으로 정부와는 어떤 구도로 갈 것인가?

   - 친화적 입장을 고수할것인가?

   - 트위터의 미국정부상대 소송 (참고 : http://www.hani.co.kr/arti/international/america/658945.html) 처럼 정부와 대립할 것인가?

 

일본에서 살다보니 우리나라와 비교를 자주하게 되는데,

우리나라 물가도 어느덧 일본에 크게 뒤지지 않을정도가 되었다.

 

우리나라가 일본보다 비싼것.. 뭐가 있을까??

대부분은 물론 일본이 조금씩 비싸긴 하지만..

 

그것은 바로 검은물

 

 

 

기름(OIL)이다.

 

 

 

아이러니 하게도 이 검은물에는 콜라(COKE)도 들어간다.

 

기름은...

1900원 팔아서 47원 남고, 카드사랑 이윤 반띵하면 남는게 없지...
폐업으로 가는 지름길...

기름팔아서 생긴 이윤은 다 어디로 갔는가??

주유소들이 다 죽어가고 폐업을 한다고하니... 물론, 세금으로 들어갔을것이다.

요즘이 어떤시대인가??

1가구 1차량 시대인데, 1차적 원료값을 휘어잡고 흔들어대니
중소기업과 서민은 죽는소리를 할수밖에없다.

 

여기서 가격비교를 해보자.

<<오늘시점 기름값>>
일본 : 152엔 (환율계산, 1581.06원)
한국 : 1900원

차액 = * 319원

한국이 319원 더 비싸다. (환율계산)

 

콜라는 일본에서 1.5리터를 140엔이면 살수있다. (환율계산, 약 1400원)

한국에서는 2000원가량 주고 사먹었다. (1월달 집앞슈퍼에서..)

한국이 대략 600원이 비싸다.

 

 

기본 통화가 지원되지않는 모델이기에

데이터지원 유심칩을 신청하였고, 도착했다. (* IIJMIO D-SIM )

일본의 NTT DOCOMO 통신사를 경유하여 사용하는 데이터 전용 모델이기에 카카오톡을 사용할수가 없다.

SMS 문자수신이 되지 않는것이 그 이유이다.

 

이런경우 어떻게 사용하는가....

1. 다른전화로 SMS 인증을 받아서 설치한다.

2. 전화인증을 사용한다. (하지만, 전화도 넥서스는 기본지원되는것이 아니다.)

3. 050 전화를 설치해두고 해당번호로 인증을 받아 사용한다.

 

본인은 3의 방법을 선택하였다.

 

시작해보자.

1. 050 for NTT 에서 월 315엔에 서비스를 신청하고 카드정보를 입력한후, 가입한다.

2. 전화번호에 050 전화번호를 넣어도 안되고, 전화인증을 통한 인증을 선택한다.

3. 통과가되면 그대로 사용하면 된다.

 

넥서스7의 경우는 통신사 SMS 가 기본지원 되지 않으므로,

일본의 경우는 월 940엔의 IIJMIO Simcard 를 사용하면, 월 940엔 (약 1만원)의 저렴한 정액요금으로

패킷은 무제한에, 속도는 200k 정도된다.

다른 심카드에 비해서 가장 빠른 속도이며,

현재 본인이 스카이프 등을 이용해서 테스트해본결과,

메세지, 통화 등의 여러 테스트에서 평점 ★★★★☆ 되겠다.

 

통화 : ★★★★★

메세지 : ★★★★★

해상도 : ★★★★★ ( nDrive 등을 통해 클라우드 매체에 저장해둔 동영상을 돌려본 결과, 스트리밍도 아주 굿이다. )

밧데리 : ★★★☆☆

 

밧데리 소모가 좀 큰편이라, 전체적으로는 별 4개만 주도록 하겠다.

조만간 surface Pro 구입을 검토하고 있으므로,

휴대용으로는 넥서스7을 가지고 다니면서 사용할까 한다.

서브용으로는 참 괜찮은 조합인것 같다.

아이폰3G - 3GS - 4 - 4S 줄기차게 아이폰만 사용해온

애플빠? 까지는 아니고... 어쩌다보니....

그러나 Android App 개발은 에뮬레이터로 해서 배포까지 해봤으나...

정작 휴대폰을 사용해본적은 없다는....

그래서 더 도태되기전에 Android 휴대폰을 사기로 결심!!

"Nexus 7 32GB 日本版 simフリー Wi-Fi+W-CDMA モバイル通信対応モデル"
エレクトロニクス; 32,980

"Google Nexus 7レザーケース スリープ機能  (ブラック)"
エレクトロニクス; 451

"Nexus7/Xperia arc/ray/acro HD/GX/SX Galaxy S2S3Note 対応 L字タイプ USBホストケーブル(USBメモリ、マウス、キーボード使"
エレクトロニクス; 464

"minisuitGoogle Nexus 7 アルミ加工 ワイヤレス キーボード スタンド カバー シルバー シルバー"
Personal Computers;
2,328

"iBUFFALO Nexus7専用】 気泡が消える液晶保護フィルム スムースタッチタイプ BSTPNX7FT"
Personal Computers;
509

NEXUS 7 Simfree 32Gb 3G / Wifi 질렀습니다.

소프트뱅크 아이폰 4S 유심으로 그대로 사용가능하다고 하더군요.

해상도도 좋고, 쿼드이고...

성능은 따로 말할필요 없을듯...

아마존에서 마지막 하나라고 나오는걸 구매했는데.. 사실인지는 모르겠네요. -_-;

내친김에 블루투스 키보드도 구매..

이제 한달간은 손가락 빨고 사는거다. ;;;

PC 에 설치된 윈도우 혹은 오피스의 씨디키를 확인해야 하는 경우가 있다.

※ 씨디키를 분실하거나.. PC 를 구매하였는데, 정품인지 확인해보려할때에...

 

이번에 소개해드릴 소프트웨어는 프리웨어로써 nirsoft 에서 개발한 툴 입니다.

사용법은 무척 간단합니다.

파일을 다운받아서, 해당 피씨에 내려받은후에 실행 시키면 됩니다.

 

 

 

 

ProduKey.exe

 

 

운영체제 : 윈도우7, 일본어판 / 가상머신 XP 모드 사용중

일판에다가 nProdect 를 깔아서 그런걸까??

금융기관 모듈과 충돌해서 오피스가 실행되지 않는 불상사가 발생했다. (XP 모드에서는 사용가능)

 

1. 충돌이 염려되는 써드파티를 모두 시작프로그램에서 제거하였다.

2. 오피스 씨디를 가져와서 복구를 시도하였다. (시간만 엄청걸리고 진행이 되지않는다. 레지스트리 문제인가..)

 

우선은 업무를 봐야하므로 outlook.pst 파일을 xp 모드로 옮겨서 설정하였다.

 

C:\Users\유져명\AppData\Local\Microsoft\Outlook\Outlook.pst

 

 

위의 파일을 복사해서 다른 매채의 아웃룩을 실행하여,

[파일] - [임포트 혹은 익스포트] - [다른어플리케이션 혹은 파일로부터 임포트] 를 선택하고 [다음]

 

개인용 폴더 파일 (.pst) 를 선택하고 다음을 선택하면, 병합작업이 진행된다.

아래의 문서는 참고용....

 

---------------------------------------------------------------------------------------------------------

 

 

컴퓨터에 Microsoft Outlook® 데이터를 보관할 경우 개인 폴더 파일(.pst)이나 오프라인 폴더 파일(.ost)을 사용하게 됩니다. 데이터의 손실을 방지하려면 이러한 파일의 복구 방법을 알아야 합니다.

Outlook에는 .pst 파일이 손상될 경우 백업 복사본으로 전환하지 않고 문제를 수정할 수 있는 도구가 포함되어 있습니다. 이것을 받은 편지함 오류 수정 도구라고 하며, Outlook 설치 시 하드 디스크에 설치됩니다.

Outlook에는 .ost 파일이 손상될 경우 문제를 수정할 수 있는 도구가 포함되어 있습니다. 이것을 OST 통합 도구라고 하며 .ost 파일을 검사 및 복구할 수 있습니다. 이 도구로 문제를 완전히 해결할 수 없다면 해당 .ost 파일을 사용하지 않고 새 파일을 만들 수 있습니다.

개인 폴더 파일(.pst) 복구

Outlook .pst 파일을 열었을 때 다음과 같은 메시지가 나타나면 받은 편지함 오류 수정 도구를 사용해야 합니다.

폴더를 확장할 없습니다. 폴더 집합을 없습니다. drive:\Documents and Settings\user\Local Settings\Application Data\Microsoft\Outlook\Outlook.pst 파일에서 오류가 발생했습니다. 메일을 사용하는 응용 프로그램을 모두 닫고 받은 편지함 오류 수정 도구를 실행시켜 오류를 고치십시오.

참고 메시지에 지정된 파일 경로는 사용 중인 운영 체제에 따라 다릅니다.

 

.pst 파일을 복구하려면

  1. 시작 메뉴에서 실행을 클릭합니다.
  2. 열기 상자에

drive:\Program Files\Common Files\System\Mapi\LocaleID\scanpst.exe를 입력합니다.

LocaleID는 설치된 Microsoft Office 버전의 로케일 식별자(LCID)입니다. 예를 들어, 한국어 버전의 LCID는 1042입니다. LCID 목록은 Microsoft Office 도움말을 참고하십시오.

  1. 확인을 클릭합니다.
  2. 검사할 파일 이름을 입력하십시오 상자에 위의 오류 메시지에 지정된 경로와 파일 이름을 입력합니다.

참고 이 파일은 숨겨진 폴더에 있으므로 찾아보기 단추를 사용할 수 없습니다.

  1. 검사 시 오류 로그 옵션을 변경하려면 옵션을 클릭합니다. 로그 바꾸로그 파일에 붙여쓰기를 선택하면 로그 파일이 같은 디렉터리에 .pst 파일로 저장됩니다.
  2. 시작을 클릭합니다.
  3. 파일 검사가 끝나면 검사한 파일의 오류 수정 전에 백업하기 확인란을 선택합니다.
  4. 복구를 클릭합니다.

파일이 성공적으로 복구되면 오류 수정을 완료했습니다.라는 메시지가 나타납니다. 받은 편지함 오류 수정 도구로 파일을 복구할 수 없을 경우에는 백업 파일을 사용해야 합니다.

 

백업 파일을 새로운 주 파일로 사용하려면

  1. Outlook을 시작합니다.
  2. 파일 메뉴에서 데이터 파일 관리를 클릭합니다.
  3. 손상된 .pst를 선택하고 제거를 클릭합니다.
  4. 추가를 클릭하고 개인 폴더 파일(.pst)을 선택한 다음 확인을 클릭하고 새 주 파일로 사용할 .pst 파일을 선택합니다.
  5. 확인을 클릭합니다.

중요 오류 복구 시 받은 편지함 오류 수정 도구에만 의존해서는 안되며 데이터 손실을 방지하려면 .pst 파일의 정기적인 백업이 중요합니다.

오프라인 폴더 파일(.ost) 복구

다음과 같은 경우 .ost 파일을 검사 및 복구해야 합니다.

  • 여러 개의 충돌 항목이 발생한 경우
  • 오프라인 시 특정 Outlook 항목을 열 수 없는 경우
  • 예기치 않은 동기화 오류 메시지를 받은 경우(지운 편지함 폴더의 동기화 로그에 표시)
  • 다음 메시지가 나타나는 경우

폴더를 확장할 없습니다. 폴더 집합을 없습니다. drive:\Documents and Settings\user\Local Settings\Application Data\Microsoft\Outlook\Outlook.ost 파일에서 오류가 발생했습니다. 메일을 사용하는 응용 프로그램을 모두 닫고 받은 편지함 오류 수정 도구를 실행시켜 오류를 고치십시오.

참고 메시지에 지정된 파일 경로는 사용 중인 운영 체제에 따라 다릅니다.

.ost에서 폴더를 열 수는 있지만 동기화 오류 메시지가 계속 나타날 수 있습니다. 이것은 특정 전자 메일 메시지가 손상되고 동기화 프로세스에서 이를 수정할 수 없을 경우 발생합니다. OST 통합 도구를 사용하여 손상된 메시지를 수정하거나 이동하면 성공적으로 동기화할 수 있습니다.

중요 OST 통합 도구로 .ost 파일을 열 수 없을 경우 scanpst.exe(위의 첫 번째 절차 참고)를 실행해야 합니다.

 

ost 파일을 검사 및 복구하려면

  1. Outlook을 닫습니다.
  2. 시작 메뉴에서 실행을 클릭합니다.
  3. 열기 상자에

drive:\Program Files\Common Files\System\Mapi\LocaleID\scanost.exe를 입력합니다.

LocaleID는 설치된 Microsoft Office 버전의 로케일 식별자(LCID)입니다. 예를 들어, 한국어 버전의 LCID는 1042입니다. LCID 목록은 Microsoft Office 도움말을 참고하십시오.

  1. 확인을 클릭합니다.
  2. 모든 폴더 검사검사할 폴더 선택을 클릭합니다. 모든 폴더 검사를 클릭하면 검사 시간이 오래 걸립니다.
  3. 오류 복구 확인란을 선택합니다.
  4. 검사 시작을 클릭합니다.

검사 및 복구 시 수행된 작업에 대한 세부 정보가 Outlook 지운 편지함 폴더에 "OST 통합 확인"이라는 제목의 메시지로 저장됩니다.

오프라인 폴더 파일을 복구할 수 없으면 해당 파일을 사용하지 않고 새 파일을 만듭니다.

 

.ost 파일을 사용하지 않고 새 파일을 만들려면

  1. 도구 메뉴에서 전자 메일 계정을 클릭하고 기존의 전자 메일 계정 보기 또는 변경을 클릭한 다음 다음을 클릭합니다.
  2. 목록에서 Microsoft Exchange Server를 클릭하고 변경을 클릭합니다.
  3. 기타 설정을 클릭합니다.
  4. 고급 탭을 클릭하고 오프라인 폴더 파일 설정을 클릭합니다.
  5. 오프라인 사용 안 함을 클릭합니다.
  6. 파일 상자에 새 .ost 파일로 사용할 파일의 경로를 입력합니다. 기본 파일 이름은 outlook.ost입니다. 해당 파일 이름이 이미 존재할 경우 새 이름을 입력하라는 메시지가 나타납니다.

 

출처 : http://office.microsoft.com/ko-kr/outlook-help/HA001056300.aspx

인터넷 익스플로어(5.5~8) 크로스 브라우저 테스터:
http://www.my-debugbar.com/wiki/IETester/HomePage

 

더미 텍스트 생성:
http://lipsum.com/

 

정규식 테스트 툴:
http://gskinner.com/RegExr

 

공짜 아이콘:
http://net.tutsplus.com/freebies/icons-freebies/2500-free-icons/

 

아이콘 찾기:
http://www.iconfinder.net/

 

공짜 폰트:
http://www.dafont.com/

 

font-face 생성기:
http://www.fontsquirrel.com/fontface/generator

 

로딩 이미지 생성:
http://ajaxload.info/

 

컬러 테마 생성:
http://kuler.adobe.com/

 

최고의 위지위그에디터(WYSIWYG: What You See Is What You Get):
http://tinymce.moxiecode.com/

 

웹 트래픽 및 마케팅 효과에 대한 상세한 정보를 제공하는 엔터프라이즈급 웹 분석 솔루션:
http://www.google.com/analytics/index.html

 

쉐어 및 북마크:
http://www.addthis.com

 

자바스크립트 압축기:
http://javascriptcompressor.com/
http://developer.yahoo.com/yui/compressor/

 

css 압축기:
http://www.cssdrive.com/index.php/main/csscompressor/

 

css 프레임워크:
http://960.gs/

 

Embed할 수 있는 PDF 뷰어:
http://googlesystem.blogspot.com/2009/09/embeddable-google-document-viewer.html

 

인기있는 코드 에디터:
Mac Lovers————-
Coda
Espresso
TextMate
Aptana
DreamWeaver CS4
PC Lovers————–
InType
E-Text Editor
Notepad++
Aptana
DreamWeaver CS4

 

코드구문 하이라이트:
http://alexgorbatchev.com/wiki/SyntaxHighlighter

 

글로벌 아바타(무버블타입, 워드프레스 등에서 자신의 아바타를 자동으로 인식):
http://en.gravatar.com/

 

텍스처:
http://www.texturelovers.com/

 

 

출처 : http://urlless.com/%ec%9b%b9%eb%94%94%ec%9e%90%ec%9d%b4%eb%84%88-%ec%9b%b9%ea%b0%9c%eb%b0%9c%ec%9e%90%eb%93%a4%ec%97%90%ea%b2%8c-%ec%9c%a0%ec%9a%a9%ed%95%9c-%ec%82%ac%ec%9d%b4%ed%8a%b8%eb%93%a4/

구글, 유튜브 등이 2010년부터 인터넷익스플로어6를 더이상 지원하지 않는다고 발표했고, 심지어 IE6의 장례까지 치루었지만, 크로스 브라우저 테스트시 광란의 CSS 버그마저 그냥 지나치는 웹디자이너/개발자는 없을 것입니다.

이 포스트는 ie의 시각적인 버그들을 잘 정리하고 있는 positioniseverything.net를 토대로 간략히 정리하면서 일부 수정하고 추가한 것입니다. 하지만 개인적인 필요에 의해 정리해둔 거라서 내용이 친절하지 않으므로, 자세한 내용은 위 사이트를 참고하시길…

IE 버그 원인과 해결책을 찾기위해 시간을 보내는 일은 매우 스트레스 받는 일이며, 궁극적인 해결이 아닌 버그 회피인지라 머릿속에 잘 남지도 않습니다. 때문에 굳이 아래 내용을 다 읽고 숙지할 필요는 없습니다. 레이아웃이 뭔가 이상하다 싶을때, 대충 height:1%, display:inline, position:relative, width:100% 중 하나를 쳐넣어보세요. 그래도 해결되지않을때 아래 내용을 참고하세요.

 

——

Doubled Float-Margin Bug
버전: IE6
문제: float 요소에 margin을 적용했을 경우, margin이 이중으로 표현되는 문제
해결: float 요소에 display:inline 적용
참고: http://positioniseverything.net/explorer/doubled-margin.html

——

Peekaboo Bug
버전: IE6, IE7
문제: float 요소 안의 내용이 나오지 않다가, 브라우저 창 크기를 조절하거나 스크롤했을때에만 가끔 내용이 나타나는 문제
해결: float 요소와 그 요소를 감싸는 요소 모두 적용
position: relative; /* IE6 bugfix */
min-width: 0; /* IE7 bugfix */
참고: http://positioniseverything.net/explorer/peekaboo.html
참고: http://www.brownbatterystudios.com/sixthings/2007/01/06/css-first-aid-for-ie-peekaboo-bug/

——

Duplicate Characters Bug
버전: IE6
문제: float 요소가 1개 이상 연속될때 마지막 float 요소의 문자 끝부분이 중복 출력되는 문제로, float 요소 내부에 <!– comment –>, <input type=”hidden” />, { display:none; } 와 같은 요소들이 포함되어있을때 발생.
해결: float 요소에 display:inline 적용
참고: http://positioniseverything.net/explorer/dup-characters.html

——

Expanding Box Problem
버전: IE6
문제: 레이아웃 요소의 크기를 지정했음에도 불구하고, 지정한 크기보다 큰 텍스트(띄어쓰기가 없는 긴 텍스트)를 포함할 경우 요소의 크기가 늘어나버리는 문제
해결: 해당 요소에 word-wrap:break-word; overflow: hidden; 적용
참고: http://positioniseverything.net/explorer/expandingboxbug.html

——

Guillotine Bug
버전: IE6, IE7
문제: float 요소의 하단이 잘리거나(IE6), float 요소를 포함하는 컨테이너 요소의 크기가 늘어나버리는(IE7) 문제
해결: float 요소를 포함하는 컨테이너 요소 바로 뒤에 clear해주는 요소를 삽입(예: <div style=”clear: both”></div>)
참고: http://positioniseverything.net/explorer/guillotine.html

——

IE6 Float Model Problem
버전: IE6
문제: float 요소 다음에 width가 선언되지 않은 non-floated 요소가 위치하면, 두 요소의 바운더리는 겹쳐야 한다. 하지만 non-floated 요소의 width가 선언되면, non-floated 요소가 float 요소 옆으로 나란히 위치하는 문제.
해결: 없다. 두 요소의 바운더리가 겹쳐져야 하는 상황을 아예 만들지 말거나, 꼭 겹쳐져야한다면 position을 사용하는 등의 다른 방법을 구사.
참고: http://positioniseverything.net/explorer/floatmodel.html

——

Three Pixel Text-Jog
버전: IE6
문제: float 요소 다음에 non-floated 요소가 위치하면, non-floated 요소의 텍스트가 3 pixel 밀리는 문제.
해결: float 요소에 {margin-right:-3px}, non-floated 요소에 {height:1%; margin-left:0} 적용
참고: http://positioniseverything.net/explorer/threepxtest.html

——

Inherited margins on form elements
버전: IE6, IE7
문제: form을 포함하는 컨테이너 요소에 margin이 적용되어있을때, 특정 input 요소들이 컨테이너의 margin을 상속받는 오류.
해결: input 요소 앞에 inline 요소를 삽입하거나, span, label 등의 컨테이너 요소로 input 요소를 감싼다.
참고: http://positioniseverything.net/explorer/inherited_margin.html

——

Line-height Bug
버전: IE6
문제: plain text 중간에 inline으로 img, input, textarea, select, object가 삽입되어있을 경우 line-height 제대로 표현하지 못하는(collapse됨) 문제.
해결: inline으로 삽입된 img, input… 요소의 상하 margin을 교정 (예: {margin:45px 0; vertical-align:middle;})
참고: http://positioniseverything.net/explorer/lineheightbug.html

——

Border Chaos
버전: IE6
상황: block 요소가 두개 있다. 두번째 요소의
문제: 연속되는 block 요소중 두번째 이후 요소들의 margin-top이 음수이고, border가 적용되어있을때, 나타나는 광란의 버그
해결: 연속되는 block 요소들의 컨테이너(parent)에 {position: relative;} 적용
참고: http://positioniseverything.net/explorer/border-chaos.html

——

Disappearing List-Background Bug
버전: IE6
문제: 리스트(ol, ul, dl)를 감싸는 div의 position이 relative이고 float되어있으며, 리스트요소(li, dt)에 background가 사라지는 문제(background를 적용했을때).
해결: 리스트요소(li, dt)에 {display:inline} 적용
참고: http://positioniseverything.net/explorer/ie-listbug.html

——

Unscrollable Content Bug
버전: IE6
문제: position이 relative이고 크기가 지정되지않은 컨테이너 요소가, position이 absolute이고 크기가 페이지보다 큰 컨텐츠를 포함하고 있다면 스크롤바가 나타나야 하지만 그렇지않은 문제.
해결: 컨테이너 요소에 {height:1%} 적용
참고: http://positioniseverything.net/explorer/unscrollable.html

——

Duplicate Indent Bug
버전: IE6
문제: float요소가 padding 또는 margin이 적용된 컨테이너에 위치하고 있다면, 이중으로 적용되는 문제.
해결: 경우의 수가 워낙 많지만, 대부분의 경우 {display:inline} 으로 해결 가능.
참고: http://positioniseverything.net/explorer/floatIndent.html

——

Escaping Floats Bug
버전: IE6
문제: 크기를 지정하지 않은 컨테이너가 float요소 여러개를 포함하고 있는데(clear 요소로 float 해제했음), 컨테이너 영역이 제대로 표현되지 못하는 문제.
해결: 컨테이너에 {height:1%} 적용
참고: http://positioniseverything.net/explorer/escape-floats.html

——

Creeping Text Bug
버전: IE6
문제: block요소가 또 다른 block요소를 포함하고 있고, border-left, padding-bottom이 적용되어있을때, 내부의 block요소가 1px씩 좌측으로 기어들어가는 문제
해결: 외부 block요소에 {height:1%;} 적용
참고: http://positioniseverything.net/explorer/creep.html

——

기타
문제: a를 block으로 지정하면, 블록 전체가 마우스에 반응해야하는데 여전히 텍스트에만 반응하는 문제
해결: height:1%

문제: 리스트요소(li)간 간격이 발생하는 문제
해결: display: inline

문제: {position:absolute; bottom:0; right:0}인 요소가 relative인 부모의 우측하단에 위치하지 않고 전체 화면의 우측하단에 위치하는 문제
해결: height:1%

——

FireFox의 버그
문제: 배경 이미지의 위치를 bottom으로 했을 경우, 브라우저 크기보다 컨텐츠의 크기가 짧다면, 배경이미지가 컨텐츠 하단에 위치하는 버그
해결: html {height:100%}

 

출처 : http://urlless.com/internet-explorer-css-bug-fixes/

 

 

개발에 지쳐 잠도 못자는 개발자 후배에게 요령을 드립니다.

 

1. 오너가 말한 기능'만' 만든다.

오너는 중간 관리자일 수도 있고, 사장님일 수도 있습니다. 개발자에게 며칠까지 만들어! 하고 말을 합니다. 어떻게 만들건 얼마나 잘 만들건 동작하기만 하는 것을 원하는 것입니다.

예를 들어, 주민번호를 입력하는 입력창을 만들고자 할때, 실무적으로 사용된다면 문자를 입력하는 실수를 한다거나, SQL에서 오동작하는 코드를 입력하는 것을 막아야 하는 기능들을 넣어야 합니다. 그런데 이런걸 만들어 넣지 말아야 합니다.

테스트 과정이나 필드 테스트 과정에서 문제가 나올 것이며, 이때 다시 작성하는 방법으로 개발일정을 추가할 수 있습니다.

오너가 오동작하는 것을 눈으로 '보고'서야 개발에는 부가 기능이 필요하다는 '사실'을 직시하게 됩니다.

 

2. 주석을 작성하지 않는다.

소스 코드에 주석을 다느라 잠잘시간을 줄이지 말아야 합니다. 개발자는 잠도 잘 시간을 줄여가면서 개발하라고 시키는 사장이라면 직원의 복지에 대하여 신경쓰지 않습니다. 잠은 자야 하고, 피곤하면 정신적으로도 문제가 생깁니다.

제품이 나오기만 바라며, 버그를 수정하는데 사람이 필요하면 또 사람을 채용한다는 생각 뿐입니다.

다른 사람을 채용하여 수정을 하게될때, 주석이 잘 달려 있다면 쉽게 수정할 것이고, '나'는 능력이 없던 사람이었다고 보이는 것이며, 새로온 사람이 능력이 많은 사람이 됩니다. 오너는 개발자가 아니므로 수정 시간이 짧은 사람이 능력이 많다고 봅니다.

 

3. 오너가 출몰한 시간에만 개발을 한다.

나머지 시간엔 자기 발전을 위한 공부를 합니다. 오너도 사람인지라, 자러 가면서 개발자는 일하라 시키는 경우가 많습니다. 그러니 오너가 자러간 후에는 인터넷을 통해 새로운 정보를 읽고, 새로운 지식을 습득하는 시간을 가지세요. 요즘 회사 사장들 지원들 학원보내지 않거든요. 공부하지 않으면 도태됩니다.

 

4. 양심의 가책을 받지 말라.

오너가 사람을 채용해서 일시키는 방법에 대하여, '경영'이라는 이름으로 공부를 합니다. 사람을 얼마의 돈을 주고 얼마나 일을 시키는게 좋은지. 어떻게 하면 오래 일 시킬 수 있는지 연구하는 것입니다. 잠시 쉬는 시간에 커피를 마시는 것도 비용으로 계산 하는 것들이 경영인들입니다.

개발자가 야근 수당도 없이 일주일에 하루 이틀 밤샘을 하는게 일상이라면, 이것은 혹사당하고 있는 것입니다. 건강이 나빠져 일을 못하게 되면 회사는 해고할 것입니다. 인간의 뇌는 몇 시간 일을 하면 쉬어야 다시 일할 수 있는 것입니다. 정확히 쉬어야 스트레스가 풀리고 계속적인 일이 가능하게 됩니다.

'나'는 일이 좋아서 밤샘하면서 즐길 수 있지만, 나의 '가족'은 내가 없는 동안에 외롭다는 것을 잊지마세요. 회사는 나의 '가족'을 책임져 주지 않을 뿐 아니라 '나'의 건강도 책임지지 않으며, 개발을 못하게 되는 45세 이후의 정년에 대하여도 신경쓰지 않습니다.

그러니 정당방위입니다. 월급장이는 내몸의 건강을 지키도록 충분한 휴식을 스스로 창출하시기 바랍니다.

 

5. 물은 자주 마셔라

물 마시는것 까지 테클을 거는 사람은 없습니다. 물을 자주 마시는 것은 모니터를 쳐다보지 않게 되어 눈의 근육을 풀어주고 이곳 저곳을 바라보게 되면서 목을 움직이게 되어 긴장된 근육을 풀어주는 효과가 있습니다. 옆사람들이 일하는데 운동을 하면 쪽팔리죠. 물은 소변을 나오게 해서 신장 결석을 방지하는 효과가 있습니다.

 

6. 누가 봐도 애매한 버그를 만들어라.

오너가 부당한 일정을 만들어서 강요했다 & 버그가 있으면 욕을 먹는다면.

메모리를 침범할 수 있도록 배열을 적게 선언하여 오동작을 유발시킨다. 가끔 오동작하는 제품으로 인하여 회사는 크래임을 먹을 것이고, 회사는 이를 수정하도록 개발자에게 시간을 부여할 것입니다.

심지어, 제품을 사용하는 고객도 아무런 문제가 없는 시스템에 대하여는 유지보수 계약을 맺으려 하지 않습니다. 회사가 존재하려면 고객이 회사를 필요하게 하여야 하며, 이는 매우 작은 확률로 오동작해서 회사 없이는 고객이 스스로 해결하지 못해야 합니다.

 

7. 아부를 잘 해라.

아부는 사람을 기쁘게 합니다. 오만한 오너의 감정을 이용하는 것입니다.

사장님의 생일을 기억했다가 몰래 내미는 쪽지는 사장을 기쁘게 합니다.

회사에서는 능력 없는 사람은 생존해도, 미운놈은 생존할 수 없습니다.

 

8. 오너의 결정에 '일단' 따른다.

오너는 시간이 갈수록 내가 결정하면 모두가 따라야 한다는 오만함에 쪄들어 살게 됩니다.

이에 반기를 들면 눈에 가시가 되어 진급은 커녕 짤리기 쉽습니다.

오너도 사람인지라 실수를 하게 되어 있습니다. 배를 산으로 보내라는 명령도 내리게 됩니다.

이럴때도 '일단' 따르는 겁니다. 부당한 명령이라 하더라도 오너는 나의 밥줄이요 나를 살게하는 신입니다.

일단 해보고 안된다고 말하는 겁니다. 오너가 밤샘하는 직원을 높이 평가하는 성향이면 밤샘하는 척이라도 하고나서 오너에게 이유를 대야 합니다. 서로 WIN, WIN하는 대화로.

고생은 엄청나게 하고서 "사장님의 계획은 전혀 안되던데요" 이렇게 말하면 모든 고생이 물거품 됩니다.

열심히 시도해봐도 아직 안되네요. 정도가 좋습니다.


9. 라꾸라꾸 침대에 누워라.

밤샘을 여러번 하다보면 졸립니다. 당연히 능력이 떨어지죠. 길게 1개월이 지속되면 오히려 능률은 떨어집니다.

오너는 납기일을 맞춰야 한다거나, 문제점을 빨리 해결하지 않으면 계속 욕먹는 상황일때 직원을 계속 조지게 됩니다.

접이식 침대를 요구하세요. 회사 사무실 바닥에서 잠을 자다가 입돌아갑니다. 의자에서 자는거도 해보면 몸도 쑤시고요.

침대에서 잠을 자고 있으면 다른 사람들도 그 모습을 보면서 '고생한다'고 생각할 것입니다.

 

10. 충열된 눈으로 사람들을 만나라

안약을 넣거나 해서 눈을 맑게 하지 말고, 라꾸라꾸에서 자다 바로 깨자 마자 눈이 충열된 상태에서 오너를 만나러 가서 밤새 연구한 내용이라며 전문용어를 섞어 가면서 어려운 말로 말을 하고 있으면 '정말 고생 많이 하는구나' 라고 생각합니다.

이와 같은 요령으로 개발자가 열심히 회사를 위해 몸바쳐 뼈를 묻는다는 느낌을 오너가 느끼게 한 후에는

개발자는 개발 일정을 이야기 하면 대체로 그 일정을 확보해 줍니다. 확보가 안되면 며칠 아프다고 결근해도 됩니다.

회사에서 밤샘 많이 하다가 라꾸라꾸에서 쪽잠 자면 병나는건 누구나 사람이면 알죠.

그래도 모르는 오너라면 걍 사표 쓰고 나오는게 답입니다.

 

==========================

// 2012-11-19 11:47 주석 추가

이글은 잠도 못자게 혹사시키는 오너들에게서 살아남는 방법을 아주 '진지'하게 쓴 글입니다.

'농담'할 기분도 아니고요. 그럴 나이도 아니고요. 칼럼 게시판에 '장난글' 올리면 안된다는 것도 잘 알고 있습니다.

오늘도 9시까지 회사에서 야근하다 퇴근하여 이제야 글을 보았습니다. 어느 분은 제가 올린 몇 편의 글을 보고 저를 비난하시는데, 게시판의 목적이 좋은 정보를 서로 제공하는 것이니, 그런 시각으로 봐야 할 것입니다. 서로 생각이 다를 수 있고, 경험도 다르니까요.

저의 글이 말도 안되는 글이라고 느끼시는 분들도 있을 것이며, 그럴 수 있다는 사실을 저는 인정합니다.

성공의 잣대가 '돈을 많이 번' 사람이라면 저는 성공한 사람이 아닙니다. 저는 정정당당하게 일했고, 회사가 어려울때 월급도 못 받으며 일했으며, 비도덕한 오너에게는 적당한 응대를 해왔고, 꾸준히 시간이 나면 온라인 게시판에 저의 경험을 '네이버 지식인'이나 다음 카페, 데브피아에 조금씩 올려서 제 나름 성공한 삶을 살았다고 생각할 뿐입니다.

그래서 영세한 규모지만 내 사업을 하고 있고, '수익'을 위해 '거짓'말을 하지 않고, 내 제품을 쓰기에 적절하지 않으면 안팔고 있습니다. 한번 판 제품은 무상으로 3년째 A/S를 하고 있습니다. 도덕적으로는 성공한 삶이라고 자부합니다. 공짜로 A/S해줘도 지랄하는 고객들도 있습니다.

저의 생각이 틀릴 수 있습니다. 그런데, 이렇게 살다 죽겠습니다. 비난 하지 마시고, 비난할 시간에 다른 사람에게 유익한 글을 써보시길 바랍니다. 저는 무척 고집이 쎄서 그냥 이렇게 살겁니다.

 

출처 : http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=70&MAEULNo=28&no=269

 

개발자 입장에 치우친 내용이지만... 공감도 몇개 가는 재미있는 내용이네요.

+ Recent posts