CSS 를 이용한 자동 탭 생성기(이미지포함)

CSS 를 이용한 tab 방식의 UI 를 구현하려고 보면 막상 귀찮고 막 그런다. 배경이미지 만들어야 CSS 따붙여야 하지... 어울리는 색 골라야 하지... 뭐 이래 저래 귀찮다.(다시 포토샵으로 뭐 이러고 저러고 하기 정말 귀찮은 때...)

그래서 http://www.highdots.com/css-tab-designer/  이게 필요한 것이다. 더구나 Freeware~~

깔끔하게 준비된 것들 중 입맛에 맞는 디자인을 선택하기만 하면 된다.

by killic | 2008/01/03 17:14 | UI | 트랙백 | 덧글(0)
MS 6억1천300만 달러 벌금
지난 2004년 MS 의 독점행위 관련 시정 명령과 함께 6억1천300만 이란 엄청난 벌금을 부과했고 그에 대한 항소를 진행했었는데...EU 반독점 소송 분쟁 에서 패소함에 따라 벌금과 더블어 불복종에 따른 과징금의 가능성까지 고려해야 할 입장이다. 우리나라의 경우 정부에서 나서서 특정 기업에 목매다는 형편이니(vista 출시 초기 인터넷 뱅킹 관련 activeX 조처 요청)유럽의 행보가 참 멋져 보이는 것은 사실이다. 하지만 그 천문학적인 금액은 어떻게 받을 것이며, 어떻게 사용할 것인가? 독점으로 인해 피해를 본 업체를 지원해 줄것인가 아니면 앞으로 독점을 막기위한 EU 집행위의 운영비로 사용할 것인가? MS 는 벌금에 대한 자원 마련을 위해 유럽에만 특별히 비싼 OS 를 팔진 않을까? 유럽내 불법 사용에 대한 대대적인 단속과 그에 따른 손해 배상 청구가 이어지진 않을까

독점에 대한 제재는 매우 중요한 의미를 갖는 것이지만, 벌금의 금액은 좀 비현실적이란 생각이 든다. 단순히 일벌백계 식의 과중한 벌금은 EU 와 MS 모두에게 불편한 관계만 더할 뿐 실질적 소득은 없는 것이라고 본다. EU 는 앞으로의 독점 관련 처리에 있어서 MS 의 전례로 인해 강경 노선의 짐의 지게 되었고, 독과점 관련 소송에서 패소한 기업들은 유럽의 손해를 만회하기 위한 소비자의 손해로 이어지는 손쉬운 노력을 기울이게 될 것이다.(벌금까지 내고 신규 개발의 투자 여력이 생길까요...^^)
 
우리나라에서도 지난 2005년 12월 공정거래위원회가 324억 과징금의 반독점 관련 소송이 진행되는 것을 안다. 유럽이 전례로 남아 너무 적거나 독점 자체를 부정한다면 많은 반발이 예상되나, MS 의 국내 독점점인 지위로 볼때 유럽처럼 황당한 벌금 사건은 일어나지 않을 것같다(다만, MS 가 살짝 낮추고 들어가는 센스가 필요하지 않을까^^).

독점에 대한 제재, 담합에 대한 제재는 꼭 필요한 것입니다. 우리나라에서도 유럽을 전례삼아 제재의 칼이 필요하다고 생각합니다.
by killic | 2007/09/18 10:39 | 트랙백 | 덧글(0)
누구도 완벽하지는 않다.
프로그래머가 되었던 기획자가 되었건 모두가 완벽할 수는 없습니다. 왠 뜸금 없는 소린지...
기획한 데로, 의도데로 동작하는 어떤 결과물을 만들어 내기 위해서는 완벽하지 않음을 인정하고 그 것을 보완하기위한 일련의 작업을 고려해야 할 것입니다. 하지만, 대부분의 일반적인 프로그램 개발에 일정은 준비된 절차를 밟기 위한 타임 쉬트 역할 외에는 다른 것을 제공하지 못한다는 점입니다. 더구나 소프트웨어의 특성상 재활용 가능성에 대한 문제 때문에라도 많은 일정들이 무시되거나 필요보다 적은 일정을 할당받는 경우도 많습니다.

정말 간단한 프로그램을 만들 수도 있습니다. 간단한 프로그램은 최소한의 경력자라면 정확하게 그 일정을 고려할 수 있습니다. 중간의 해결 가능한 오류나 사고를 포함하여 진행할 수 있는 일정을...하지만, 복잡도가 높고 익숙하지 않은 외부 환경과 인터페이스가 필요하다면 아무리 숙련된 기술자라 해도 정확히 일정을 잡아내기는 어려울 것입니다. 더구나 기획자에게는 복잡한 기능의 시스템이 완성된 모습과 활용의 근거를 만들어 내야 하는데 정말 쉽지 않은 일이라 생각합니다. 문제는 기획자가 되었건 개발자가 되었건 그 부족함을 인정하지 않고 혹은 그 부족함의 서로간의 과실로 치부한다는데 있습니다. 내가 부족한게 맞습니다. 정확히 이해를 못했거나 예상되는 다른 문제를 짚어주지 못한 제가 잘못입니다.

유연성과 의사소통은 어려운 일이 아니라고 생각합니다. 좀더 긴밀한 관계를 가지고 보다 따뜻한 마음으로 서로에게 물어 보시길 바랍니다.
by killic | 2007/08/07 14:41 | methodology | 트랙백 | 덧글(0)
휴먼 스케일
내 전공은 컴퓨터와는 거리가 먼(요즘 컴퓨터 이용하지 않는 분야가 거의 없으니 그리 멀다고 하기도 힘들지만) 조경이다. (미국식 중산층)정원처럼 작은 개인적 공간부터 주거단지, 공원 처럼 공공의 목적을 요구하는 범위까지 다양한 조건과 다양한 요구조건이 필요한 것이 조경이다. 물론 난 학교 졸업 (이미 학창시절부터?) 이후 부터 조경과는 거리가 멀어진 일에 몰두하느라 아직 남아 있는 조경에 대한 지식들은 비교적 열심히 공부했던 설계와 관련된 몇가지가 전부이기는 하지만 배우는 동안 몇가지 중요한 영향을 받은 것이 있는데 그 중 하나가 휴먼 스케일이란 것이다.

내가 지금 하고자 하는 일에서 휴먼스케일을 기준으로 적용되어야 할 거싱 무엇인가?

오늘의 숙제다.
by killic | 2007/08/07 12:17 | UI | 트랙백 | 덧글(0)
서브 버젼 설치 및 설정

얼마 전까지는 누군가 설치해 주는 사람이 있어서 그냥 편하게 사용했었는데 내가 직접 설치해서 사용하려고하니 왜 이리 걸거치는 것이 많은지 직접 해보면 결코 어려운 것은 아니지만, 누구라도 설치에 많은 시간을 빼앗기지 않게 하기 위해 아래와 같은 간단한 예시를 적어 두고자 한다. 이번 설치 예제는 MS 윈도우에 설치로 제한한다...
서브버젼을 윈도우 서버에서 이용하려는 사람이 있다면 아래 설치 방법이 유용하리라 생각된다.
기본적으로 사용할 설치경로와 저장소 경로는 편의에 맞게 고쳐서 사용하시길 다만 고쳐서 사용하면 검정 배경에 흰 글씨로 표시해 놓은 부분(도스창에서 실행될)들도 잘 고쳐서 사용하시길. 파란색 배경 흰글시는 메모장으로 생각하면 좋을 듯...

서브 버젼 설치 경로 : C:\\Program Files\\Subversion\\bin\\svnserve.exe
저장소 경로 : D:\\SVN_work

서브 버젼의 설치
서브버젼 홈피에서 Binary Pack 중에 윈도우 버젼을 받으면 된다. 되도록이면 최신 버젼으로 받고 설치하도록 하자. 윈도우에서 설치하는 모든 프로그램이 그러하듯 그냥 ok 로 일관해주면 끝.

저장소 설치
설치 되었다면 저장소를 설치하자. 저장소는 말 그대로 서버로 전송된 파일들이 저장 관리되는 디렉토리다. 비교적 안전한 곳에 디렉토리를 생성 혹은 지정하고, 특정 디렉토리를 정했으면 아래 2개 중 한개의 명령만 실행한다.
fsfs는 파일시스템(fat32, ntfs 같은)에 그대로 파일을 적는 방식, bdb는 버클리 디비를 이용하는 방식의 저장소(repository) 생성 옵션이다. 차후 유지 관리라던지 여러가지 목적으로 버클리디비 옵션 사용하는 것이 일반적이다. 

Create an FSFS-backed repository

svnadmin create --fs-type fsfs D:\\SVN_work


Berkeley-DB-backed repository

svnadmin create --fs-type bdb D:\\SVN_work


권한 설정
권한 설정은 각 저장소 별로 이뤄진다.
저장소로 지정한 디렉토리로 이동해 보면 conf 란 폴더가 보일 것이며 그 폴더를 열어 보면 확장자가 없는 2개 파일(authz, passwd)과 svnserver.conf 파일이 보이게 된다.

svnserver.conf
파일을 메모장에서 연다 (다른 텍스트 편집기가 있다면 말리진 않는다...)
접속자에 대한 권한 설정이다.
anon-access (순수하게 접속한 사람) 과 auth-access(계정 접속한 사람) 으로 나뉘어져 있고 쓰기, 읽기, 해당없음 으로 구분된 권한을 줄 수 있군... 아래 예시에서는 anon-access 는 아무것도 할 수가 없군요...^^
인증된 사람만 쓸 수 있도록 했으니 인증된 사람에 대한 정보도 필요하군요 password-db 가 그 역할을 해줍니다. passwd 란 파일에서 정보를 얻겠다는 이야기군요. 그 외 authz-db, realm 옵션이 있지만, 간단히 사용할 것이기에 접속자 처리와 계정 정보 두가지만 생각하도록 하죠...

[general]
### These options control access to the repository for unauthenticated
### and authenticated users.  Valid values are "write", "read",
### and "none".  The sample settings below are the defaults.
anon-access = none
auth-access = write

password-db = passwd

passwd
계정/비번을 정의하고 관리하는 디비(?) 네요. 메모장에서 간단히 열리는 것으로 봐서는 그냥 파일일 뿐인데 디비로 정의해 놓았군요...소스관리라는 명제 하에 누가 어떤 일을 했는지 알고자 한다면 계정 설정은 필수라고 생각하는데 여러분은? 설정도 간단하네요... 단 패스워드 전송방식이 암호화가 아니라 좀 그렇죠... 비번은 간단히...
계정 : test1
비번 : pass
추가는 줄만 추가하시면 되고 계정 적을 때 줄 시작에 스페이스가 들어가지 않도록 조절하시는 센스가 필요합니다.
[user]
test1 = pass
test2 = pass

위 두개 파일은 메모장에서도 깔끔히 처리됩니다. 저는 메모장을 이용했더랬죠...

윈도우 서비스로 등록하기(데몬 돌리기)
설치하고 저장소만 만들었다고 서버로 동작하는 것은 아닙니다. 데몬을 띄워 줘야 외부에서 SVN 으로 접속도 하고 파일도 전송, 저장 시킬 수 있습니다. 데몬을 실행시키는 명령어는 간단하지만, 도스창에서 실행 후 그 도스창을 닫아 버리면 또 멈춰 버리기 때문에 서비스에 등록하여 서비스로 운영하시는게 편합니다(지금 여러분이 활용하시려는 OS는 윈도우 입니다. 까만 도스창(터미널)에서 타이핑 몇자 한다고 백그라운드 서비스가 도는게 아니라는 거죠...). 1.4 버젼 부터는 sc.exe 를 이용한 서비스 등록이 가능하다고 하네요... 이전 버전을 이용할 때는 서비스 등록 인터페이스가 된 껍질에 쉘 커맨드로 데몬을 띄우는 프로그램을 구해서 사용했는데... SVN 도 발전하는 군요.
sc.exe 명령이 가능하다면...(sc.exe 명령에 대한 추가 정보 언제지워질지모르는 한글정보)
sc create [실행명] binpath= "[설치경로]--service -r [저장소위치]" displayname= "[서비스항목 표시이름]" depend= Tcpip start= auto
실 사용 예
sc create svn binpath= "C:\\Program Files\\Subversion\\bin\\svnserve.exe --service -r D:\\SVN_work" displayname= "Subversion Server" depend= Tcpip start= auto
등록된 내용 확인하기 및 서비스 실행시키기( 서비스에 등록되었으니 net 명령을 이용해서 서비스를 실행하고 중지시키고가 가능합니다.)
C:\> net stop svn
C:\> net start svn


SVN 서버에 접속하기
일반적인 윈도우 환경이라면 당연히 TortoiseSVN 을 사용하시는게 좋습니다. 다운 받으셔서 설치하시고 필요하신분은 한국어 언어팩도 받으셔서 설치하시면 금상첨화죠.


탐색기를 여시고 폴더를 하나 만드신 후(소스를 위치시키려는 폴더를 지정하셔도 됩니다.)
폴더에서 마우스 우클릭 > SVN CheckOut
Checkout Dialog 가 등장합니다.
URL of repository 에 지정할 서버 주소를 입력하시면 됩니다.

svn://localhost/SVN_work
locahost 대신 IP 를 적으셔도 됩니다. localhost 의 경우는 127.0.0.1 이 되겠군요. 중요한것은 인식할 수 있는 serverName 이나 IP 가 필요하다는 점입니다. 211.211.211.211  을 할당받은 서버에 설치하셨다면 svn://211.211.211.211/SVN_work 가 되겠군요...
맨뒤의 SVN_work 는 그냥 옵션입니다. 실제 적용시에는 입력란 우측 끝에 있는 ... 을 클릭하시어서 Repository Browser 를 이용하셔도 됩니다. 물론 거기서 url 입력은 위와 동일하게...

약간의 Tip
현재 진행하는 프로젝트의 경우 기존 프로젝트에서 신규 추가인 경우인데... 개발시 수정하거나 신규 생성하는 폴더만 SVN과 연결해서 사용하고 있네요... 기존 소스의 경우 소스 세이프를 이용하나 신규 개발이 끝나기 전까진 공용 모듈 쪽에 check in 을 못하므로 소스세이프를 끊어 버리고 그렇게 이용하고 있습니다.(물론 스토리지에 처음 올릴때는 기존 소스를 몽땅 올리고 연결만 폴더 단위로 줄여서 사용하고 있는 상태죠...)
by killic | 2007/07/10 18:12 | methodology | 트랙백 | 덧글(1)
< 이전페이지 다음페이지 >