나름대로 구상해 보았던 시나리오 ( http://coolengineer.com/tt/378 )를 구현하였습니다. 이로써, 익명사용자로 접근하여 OpenID 사용자로 로그인할 수 있게 되었습니다. 설치는 1.1.1 에만 가능한데, 그 이유는 1.1.1부터 플러그인이 자체 DB Table을 가질 수 있는 구조이기 때문입니다. 자체 DB Table은 댓글에 대한 OpenID 소유자를 기록하며, 인증된 사용자에 대해 수정/삭제권한을 확인하는 용도로 사용하며, 추후에는 OpenID를 통해 관리자 로그인도 가능하도록 할 예정입니다. 덧붙여, 전 현재 TNF에 소속되어 태터툴즈 일부 코드(API관련)를 개발하고 있지만, 제가 만드는 시나리오가 TNF의 방향을 결정하는 것이 아닙니다. 아직, TNF에서는 OpenID를..
흔히들... "소설을 쓰네~", "소설을 잘 써놔야 근사해 보이지." 등의 말을 비아냥 혹은 업적을 포장하기 위해 표현하는 단어로 "소설"이라는 말을 쓴다. 소설이란, 누구나 다 알겠지만 이것은 단편의 몇가지 현상을 근사한 이야기로 해석하는 방법을 말하는데, 단순히 말하면, "알기쉬운 설명" 정도라 할 수 있겠다. "알기쉬운 설명을 쓰네~", "알기 쉬운 설명을 잘 써놔야 근사해 보이지." 소설에 대해 소설을 좀 썼는데, 알기 쉽지 않은가? 자 본격적인 소설을 이야기 하기 위해 간단한 소설로 소설을 시작했다. 1. 소설이란 대의 명분을 얻고자함이다. 소설의 어두운 면은 핑계이지만, 밝은 면은 거대한 일의 일부임을 증명하는 지도와 같은 것이다. 내가 지금 이 아무 문제 없이 돌아가는 지저분(!)한 코드를 ..
무선랜과 해상도를 조절하는 것이다. 무선랜은 "ipw2200: Intel(R) PRO/Wireless 2200" 제품인데, firmware가 독점기업의 제품이라 패키지에 들어 있지 않으므로 intel의 홈페이지에서 받아야한다. 오늘 찾아보니, ipw2200-firmware-3.0-1.lvn6.rpm을 설치하면 된다. 구글로 ipw2200 firmware를 검색하자. 해상도는 비디오 칩셋은 "Intel 915GM Chipset" 인데, xorg에서 공식적으로 지원하지 않으므로, 발견되어 선택된i810 드라이버의 해상도를 속여야한다. 이것은 # yum install 915resolution 이상 컴팩 B1800 에 리눅스를 쓰는 사람들을 위한 조언 끝
애드센스 기술을 잘 이용한 스패머가 나타나지 않을까 싶어 재미로 기술해보면, 1. 이들은 효과적으로 댓글 스팸을 다는 것으로 정평이 나있기 때문에 많은(롱테일의!) 광고주(?)들을 고객으로한다. 2. 이들은 광고주들의 효과를 극대화하기 위해 광고의 키워드를 자동으로 추출하는 형태소 분석기반 스패머들이다. 혹은 키워드 추출 알바를 고용한다. 3. 이들은 분석한 키워드로 검색되는 사이트, 블로그, 미니홈피 등을 정리하는 로봇이 있다. 4. 이렇게 정리된 페이지의 구조를 분석하여 종류별로 댓글을 달 수 있는 방법을 자동화한다. 5. 즉, 광고문구->키워드 추출->사이트 검색->사이트 댓글구조 분석->광고문구 쓰기 과정을 통해서 사이트에 아주 적절한 광고 댓글을 달아 준다. 관리자도 의심스러울 정도로 내용과 관..
위와 같은 폼이 있다고 하면, PHP 는 openid.mode 라는 이름을 $_GET ["openid_mode"] 로 접근할 수 있도록 해준다. 왜 변수명을 배열로 접근이 가능함에도 변수명을 구성할 수 없는 문자를 쓰게 되면 "_"로 바꿀까, 혹시 옵션이 있어서 저런 변환이 안일어나도록 할 수는 없을까 했는데, 저것이 PHP의 스펙인가 보다. http://www.google.co.kr/search?&q=%22PHP+imports+GET+and+POST%22 그리고 소스를 받아 확인해보니, php-5.2.0/main/php_variables.c 에서 다음과 같은 코드를 발견하였다. 60 PHPAPI void php_register_variable_ex(char *var, zval *val, zval *tr..
요새 잠을 많이 못자고 있다. 뭔가 일에 빠져들었을 때 나타나는 전형적인 증상이다. 회사일과 개인적인 일이 모두 신날 때, 건강문제를 조금 뒤로 하면 빠른 시간에 가시적인 결과가 나와서 좋은 것 아닌가. CakePHP를 통해 MVC 구조화된 웹 어플리케이션을 개발하면서, 반은 해킹, 반은 고상한 설계를 생각하면서, 조금씩 아주 조금씩 만들어가고 있다. 조금씩이라고 말하는 이유는 한 두시간 공부해서 고작 열 몇줄 작성하는 정도이기 때문인데, 그 열 몇 줄로 MVC 프레임웍이 제공하는 재밌는 기능들을 쉽게 사용하는 것이다. 알량한 MVC 프레임웍...
1. 사용자는 OpenID로 로그인할 수 있다. 2. 태터툴즈는 내부에 세 가지 단계의 인증 상태가 있다. 1) 관리자, 2) 블로그 관리자가 아닌 다중사용자 중 하나, 3) 손님 3. OpenID로 로그인하면, 1), 2), 3) 의 구분은 유지되나, 손님을 익명 사용자와 OpenID 사용자로 구별 할 수 있게된다. 1), 2)의 경우 OpenID 로 로그인하여도 의미가 없게 된다. 4. 글에 대한 댓글이 달리게 되면, OpenID 사용자는 익명 사용자와 달리 댓글에 대한 소유기록이 남게 된다. (다른 테이블에) 5. OpenID 사용자가 남기는 댓글의 비밀번호는 저장되어도 추후에 무시 된다. 6. 댓글에 대한 댓글을 남길 경우 같은 방법으로 남게 된다. 단, 팝업창에서 비밀번호는 묻지 않게된다. 7...
2006년 11월 28일에 심은 구근들의 싹이 몇주전부터 조금씩 올라왔다. 한달 반만에 올라온것인데, 아직은 겨울이라 요놈들이 베란다 추운곳에서 잘 버텨줬으면 하는 바램뿐이다. 몇 개의 사진들을 공개하자면, 직사각형 화분에는 두 주씩 심었으니, 아래 사진들중 가로 긴 것들은 좌우에 올라오는 것이 모두 있다. 수선화 히야신스 튤립 튤립 튤립이라 씌어 있는 것은 사실 그것이 튤립인지 캄파뉼라인지 까먹었다. 이런! 꽃이 필때까지 기다려야한다니..! 튤립도 빨강과 노랑이 있는데, 구별안함. 으... 3월쯤 봄에 봅시다! 여러 구근들!
myopenid.com으로 플러그인 테스트를 하다가 삽질끝에 발견한 것은, 별명이 한글일 경우 최종 인증이 실패한다는 것이다. 플러그인은 OpenID를 인증하기 위해, 두 번 ID 발급자에게 접속한다. 처음은 사용자가 제출한 ID에 대한 인증을 수행해달라는 것이고, 두번째는 사용자가 인증끝에 ID 발급자로부터 받은 인증 토큰에 대한 것이 맞는지 검증해달라는 요청을 한다. 두 번째 접속시도할 때, nickname 등 발급자가 사용자에게 인증 종료시에 넘겨줬을 것이라 생각되는 데이터를 검증하고자 ID 발급자에게 확인하는데, nickname이 한글일 경우 제대로 확인을 안해주는 것이다. myid.net 은 잘*되*더*이*다*마는...! 삽질 몇시간 후에 해당 사이트에 피드백을 보냈는데, 고쳐졌으면 한다.
단어 세 개를 나열하고 공통점을 얘기하자면, 저들은 기존 삶의 방식을 그대로 유지해 보이지만, 그 하부구조는 완전 또 다른 세계를 가지고 있는 체계들이다. 1. proc 파일 시스템은 리눅스가 가지고 있는 프로세스, 네트웍, 메모리, 인터럽트, 디바이스 등 커널 내부 데이터를 디렉토리 및 파일로 접근 가능하도록 해주는 것이다. 예를 들어 프로세스를 보는 명령인 전통적인 ps 라는 명령은 단지 /proc 디렉토리를 뒤져서 전통적인 포맷에 맞게 다시 보여주는 역할을 한다. 커널과 통신하는 특별한 방법이 존재하는 것이 아니라 단지 디렉토리를 뒤져서 재가공한다는 것이다. 쉽게 말하면, 메모장으로 현재 OS 내부 정보를 열어 볼 수 있다는 말이다. 이렇게 일반 파일인듯보이는 접근은 상당히 많은 어플리케이션의 입력..
- Total
- Today
- Yesterday
- 덴드롱
- 식물
- tattertools
- 벤자민
- 구근
- 수선화
- BlogAPI
- 커피
- writely
- TCP/IP
- 대화
- 퀴즈
- 클레로덴드럼
- macosx
- 디버깅
- nodejs
- perl
- JavaScript
- SSO
- url
- Linux
- MySQL
- ssh
- OpenID
- SVN
- 킹벤자민
- Subversion
- 오픈소스
- VIM
- Tattertools plugin
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |