MySQL Replication Backup Script

Ubuntu, MyISAM의 경우

바로바로 백업을 위한 스크립트

master, slave 서버 셋팅

master, slave - my.cnf 수정
[code]# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address           = 127.0.0.1[/code]

master - my.cnf 수정
[code]server-id               = 1
log_bin                 = /var/log/mysql/mysql-bin.log
expire_logs_days        = 10
max_binlog_size         = 100M
binlog_do_db            = exampledb[/code]

slave - my.cnf수정
[code]server-id=2
master-connect-retry=60
replicate-do-db=exampledb[/code]

master 에 기본 접근권한 설정
[code]GRANT REPLICATION SLAVE ON *.* TO 'master_user'@'%' IDENTIFIED BY 'master_password';
FLUSH PRIVILEGES;[/code]

master script

중간에 주석은 dump형식의 백업
[code]#!/bin/sh
# usage : replicate-master.sh
# setting zone : start
ROOT_ID=[입력]
ROOT_PASSWORD=[입력]
TARGET_DB=[입력] #ex) exampledb
TARGET_PATH=[입력] #ex) /var/lib/mysql/exampledb
SLAVE_SSH_ID=[입력] #ex) ssh account id
SLAVE_IP=[입력]
# setting zone : end
mysql -u$ROOT_ID -p$ROOT_PASSWORD $TARGET_DB -e "FLUSH TABLES WITH READ LOCK"
mysql -u$ROOT_ID -p$ROOT_PASSWORD $TARGET_DB -e "SHOW MASTER STATUS"
sudo tar cvfPz mysql-snapshot.tar.gz $TARGET_PATH
scp ~/mysql-snapshot.tar.gz $SLAVE_ID@$SLAVE_IP:~
#mysqldump -u$ROOT_ID -p$ROOT_PASSWORD --opt $TARGET_DB > ~/.snapshot.sql
#scp ~/.snapshot.sql $SLAVE_SSH_ID@$SLAVE_IP:~
mysql -u$ROOT_ID -p$ROOT_PASSWORD $TARGET_DB -e "UNLOCK TABLES"
#rm .snapshot.sql
sudo rm ~/mysql-snapshot.tar.gz[/code]

slave script

중간에 주석은 dump형식의 백업
[code]#!/bin/sh
# usage : replicate-slave.sh [master_log_file] [master_log_pos]
#if [ ! -e ~/.snapshot.sql ]; then
if [ ! -e ~/mysql-snapshot.tar.gz ]; then
        echo "Usage: excute master-server's 'replicate-master.sh' script"
        exit 1
elif [ -z $1 ] || [ -z $2 ]; then
        echo "Usage: $0 [master_log_file] [master_log_pos]" 1>&2
        exit 1
fi
# setting zone : start
ROOT_ID=[입력]
ROOT_PASSWORD=[입력]
TARGET_DB=[입력] #ex) exampledb
TARGET_PATH=[입력] #ex) /var/lib/mysql/exampledb
MASTER_IP=[입력]
MASTER_ID=[입력] #ex) master_user
MASTER_PASSWORD=[입력] #ex) master_password
# setting zone : end
MASTER_LOG_FILE=$1
MASTER_LOG_POS=$2
mysqladmin -u$ROOT_ID -p$ROOT_PASSWORD stop-slave
#mysql -u$ROOT_ID -p$ROOT_PASSWORD $TARGET_DB < ~/.snapshot.sql
sudo rm -rf $TARGET_PATH
sudo tar xvfPz ~/mysql-snapshot.tar.gz
#rm .snapshot.sql
rm mysql-snapshot.tar.gz
mysql -u$ROOT_ID -p$ROOT_PASSWORD $TARGET_DB -e "CHANGE MASTER TO MASTER_HOST='$MASTER_IP', MASTER_USER='$MASTER_ID', MASTER_PASSWORD='$MASTER_PASSWORD', MASTER_LOG_FILE='$MASTER_LOG_FILE', MASTER_LOG_POS=$MASTER_LOG_POS"
mysqladmin -u$ROOT_ID -p$ROOT_PASSWORD start-slave
mysql -u$ROOT_ID -p$ROOT_PASSWORD $TARGET_DB -e "SHOW SLAVE STATUS \G[/code]

적용하기

master, slave mysql 리스타팅 한뒤

master에서 실행
[code]./replicate-master.sh[/code]
File, Position이 나오면

slave 에서 실행
[code]./replicate-slave.sh [File] [Position][/code]


Writer profile
test

Posted by 엽기민원

2010/08/02 17:55 2010/08/02 17:55
,
Response
No Trackback , No Comment
RSS :
http://yupmin.com/rss/response/185


사용자 삽입 이미지

'다음 블로그뉴스'가 '다음 View'로 개편함에 따라, 그전에 있던 설치형 Textcube '다음 블로그 뉴스플러그인'을 'Daum View 플러그인'으로 개편/개발 했습니다.

Textcube 1.7.8-9 버젼과 1.8이상 버젼만 지원 할 예정입니다. 그래서 1.7버젼과 1.8버젼을 나눠서 배포하겠습니다. 요번 버젼 대부터 한가지가 크게 이전과 다릅니다.  글을 발행해야지만 다음뷰에 발행이 됩니다. 이 점 유의하시길 바랍니다. 그래서 이번 Textcube 1.8 버젼(1.2.0)에서는 이올린싱크가 사용하는 Syndicate이벤트를 사용합니다. (아마 믹시도 바꾸는게 좋지 않을까 하는데요. 같은 발행 플러그인으로써...ㅋ)

1.1.1

  • DB 쿼리 오류 하나 수정했습니다.

1.1.0-1.2.0

  • 전체 소스를 축약했습니다. (일반인들이 보기 쉽게..)
  • 다음뷰 새로운 api규약에 맞췄습니다.(상반기내 다음뷰 api교체됨, 그전 플러그인 사용불가능)
  • 1.1 -> Textcube 1.7.8-9버젼, 1.2 -> Textcube 1.8이상 버젼(홀수는 1.7버젼 짝수는 1.8버젼) 그리고 아마 1.1버젼(Textcube 1.7버젼)은 앞으로 버그 수정 정도만 할 것입니다.
  • 발행 트랙백을 보낼때 썸네일 이미지를 생성하여 보냅니다. 여기 보시면 어떤건지 알듯 합니다.
  • 새로 글작성시 트랙백이 잘못 보내지는 문제해결
  • My DaumView 위젯의 경우 링크 형식을 1. 내 블로그 퍼머링크 2. DaumView 정보링크 3. DaumView 퍼머링크 로 3가지 선택이 가능합니다.

1.0.2

  • http://[도메인]/tc 이런식의 블로그 주소일경우 에러가 있었슴다. 이부분 수정했습니다. (http://gowoonyou.kr 블로그를 통해서 알았슴다. 감사^^)

1.0.1

  • 문제 없으신 분들은 업데이트 안해도 됩니다. 단 이 버젼으로 업데이트 시, '플러그인 데이타 관리'에서 DaumView 삭제, 플러그인 off후 on을 해주세요.
  • 사소한 오류 부분 수정
  • 필요없는코드 삭제

Textcube용 Daum View 뉴스 주요 플러그인 기능(1.0)

  • 트랙백 보내는 방법 개선
  • 다음 뷰용으로 마이그레이션
  • 플래쉬 위젯만 사용(위젯 HTML 디자인이 없더군요.)

주의!!

  • 이전에 사용하시던 다음블로그뉴스 플러그인은 과감히 버리시길 바랍니다. (플러그인 비활성화, 다음블로그뉴스 플러그인 폴더, 관련 테이블도 삭제 해도 됩니다. 이전 위젯들은 자동으로 복구됩니다.) 두 플러그인이 충돌함으로써 생기는 문제는 저도 모르겠습니다. ^^
  • 다음 'View'서비스에서 RSS로 기사를 발행되서 저장되는 '문자셋'방식과 트랙백으로 기사를 보내는 '문자셋'방식을 일치했습니다. 이전버젼에서는 문자퍼머링크 트랙백을 보내는 것이 문제가 있었다는 것이지요. 이전 다음 블로그뉴스 플러그인 포스트에서 주의사항을 공고한적 있습니다.

    이전까지 문자 퍼머링크로 기사를 보냈던 분들에게는 죄송하지만, 방법이 없습니다. -_-; 다음 기준안을 맞출수 밖에요.
  • 몇몇 들이 저의 소스를 변형해서 사용하시는데, 이 것까지 답변을 드리기에는 힘듭니다. 버젼에 맞게 다운 받아서 사용하시길 바랍니다. 

다운로드


YP_DaumView_1.1.1.zip

1.1.1 textcube 1.7.8 이상용

YP_DaumView_1.2.0.zip

1.2.0 textcube 1.8이상용




Writer profile
test

Posted by 엽기민원

2010/02/26 17:31 2010/02/26 17:31
, ,
Response
4 Trackbacks , 50 Comments
RSS :
http://yupmin.com/rss/response/157

0.문제 풀이 - 구글 인터뷰 관련

좋은 경험이라고 해야 하나, "구글" 인터뷰 때문에 했던 각종 문제 풀이를 포스팅 해놨는데 공개하지 않았었다. 뭐 시간도 많이 지났고 하니 그 당시 풀었던 문제를 공개해본다.
양의 정수 n에 대해서 1과 n 사이에 1이 나오는 횟수를 나타내는 함수를 f(n)이라고 한다. 예를 들어 f(13)=6이다. f(n)=n이 되는 첫번째 양수는 1이다. 두번째 양수는 무엇인가?
저도 한번 풀어봤습니다.
먼저 다음과 같이 규칙이 있더군요.

f(n) : 1에서 n까지의 1의 갯수의 합 일때
An은 n의 첫번째 자리라고 하고, n의 자릿수를 k라고 하면

case1 : An == 1
예를 들어 f(1*100 + a ) (첫번째 예는 199, 또 다른 예를 들면 f(134) 암튼)는 f(99) + '100~100+a (99 or 34) 사이의  1의 갯수' 입니다. 누적값이므로 당연한 결과겠죠?
그리고 100~199(or 23) 에서의 1의 갯수는 f(99) + 100(or 34)와 같습니다.

예 1)
f(199) = f(99) + 100 + f(99)
f(134) = f(99) + 35 + f(35)
이러면 일종의 재귀호출이 가능해집니다. 여기서 중간의 정수는 0~99까지이므로 100입니다. ^^ 이정도만 하고...

case2 :  An != 1
f(b*100 + a) b는 1보다 크다고 했을때 , f(234), f(299)로 예를 들죠
f(234 or 99)는 f(199)의 1의 갯수와 200~234(or 99)의 1의 갯수의 합입니다. 중요한점은 첫번째 자리의 수와 관계없이 바로 다음자리 부터의 1의 갯수는 첫번째 자리의 수와 관계없이 수가 같습니다. 왜냐면 첫번째 자리가 1이상이니깐요.
예 2)
f(299) = f(199) + f(99)
f(234) = f(199) + f(34)
여기서 첫번째 케이스를 이용해 응용이 가능해집니다.
f(299) = f(99) + 100 + f(99) + f(99) = 2*f(99) + 100 + f(99)
f(234) = f(99) + 100 + f(99) + f(34) = 2*f(99) + 100 + f(34)


아 대충 보이지요 ^^ 정리해보겠습니다.

f(n)  라고 정의 하고,  n = a * 10 ** c + b, a는 첫번째 자리의 숫자, c는 기수, b는 그외의 나머지 숫자라고 합시다.
case1 : a == 1일때
f(a * 10 ** (c-1) + b) = f(10 **(c-1) -1) + b + 1 + f(b)
case2 : a != 1 일때
f(a * 10 ** (c-1) + b) =a * f(a * 10 ** (c-1) - 1) +  10 ** (c-1) + f(b)

자 이제 함수가 대충 완료되었습니다. 재귀함수로 쉽게 만들수 있습니다.
[code]def sum_one(num)
  num_string = num.to_s
  c = num_string.length
  a = num_string[0] - 48 # 'a'->48
  b = num_string[1..(num_string.length - 1)].to_i

  if(num == 0)
    sum = 0
  elsif(num < 10)
    sum = 1
  else
    if a == 1
      sum = sum_one(10 ** (c - 1) - 1)
      sum += b + 1
      sum += sum_one(b)
    else
      sum = a * sum_one(10 ** (c - 1) - 1)
      sum += 10 ** (c - 1)
      sum += sum_one(b)
    end
  end
  sum
end[/code]
자 함수는 구현되었습니다. 재귀함수로 자릿수에 비례해서 재귀를 하게됩니다. 이게 계산속도 저하를 가져오는데요. 재귀를 하기 때문이죠. 근데 재미있는 건, 재귀하는 인수들의 모습이 대략 f(9), f(99), f(999)의 형식입니다. 왜냐면 10 ** (c - 1) - 1의 형식이깐요.
낚시광준초리 님이 여기서 언급한거 처럼 그 함수는 f(10 ** (c -1) -1) = c * 10 ** (c-1)입니다.
이런 것들은 첫자리수가 1이 아니므로 두번째 케이스를 풀어내면 나오는 식입니다.
다시 풀어보면 n = 10 ** (c -1) -1 이라고 할때..
f(n) = (n-1)log 1o (n-1) / 10 입니다. 아무튼 이런 값들은 재귀를 보내지 말고 그냥 계산해도 될껍니다. ^^ 그래서 추가해줍니다.

[code]def sum_one(num)
  num_string = num.to_s
  c = num_string.length
  a = num_string[0] - 48 # 'a'->48
  b = num_string[1..(num_string.length - 1)].to_i

  if(num == 0)
   sum = 0
  elsif(num < 10)
   sum = 1
  elsif(10 ** (c-1) - 1 == num)
    sum = num.length * (10 ** c )
  else
   if a == 1
     sum = sum_one(10 ** (c - 1) - 1)
     sum += b + 1
     sum += sum_one(b)
   else
     sum = a * sum_one(10 ** (c - 1) - 1)
     sum += 10 ** (c - 1)
     sum += sum_one(b)
   end
  end
  sum
end[/code]

이렇게 되면 재귀한두번 만에 거의 답이 나옵니다. 이제 첫번째 조건에 맞는 양의 정수를 찾아봅시다.

좀더 무조건 돌려보는 것도 일종의 방법이 될수 있으나, 몇가지 고려로 수를 찾는 방법을 옵티마이즈 해봅시다.
이것은 먼저 N(n) = n의 함수와 F(n)의 그래프 추이를 보면 대충 보면 수를 찾을수 있는 방법이 나옵니다.

[code](1..100).each do |c|
  ((10**(c-1))..(2*10**(c-1) -1)).each do |m|
    if sum_one(m) == m
      puts m
    end
  end
end[/code]
Writer profile
test

Posted by 엽기민원

2010/02/08 00:33 2010/02/08 00:33
, , ,
Response
No Trackback , No Comment
RSS :
http://yupmin.com/rss/response/116

TextCube 1.7.9-backport용 DracoCounter 3.52

블로그 카운터로 DracoCounter를 자주 사용하는데, 1.7.9-backport로 수정했습니다. 1.8용으로도 쓸수 있을듯 합니다. ^^

1.7.9-backport 이하의 버젼은 사용못합니다. Draco 님이 만드신 3.02버젼에서 그전 버젼과의 차이를 위해 0.5를 높였습니다.

(현재 1.7.9-backport 확장 배포본 플러그인 오류 수정중입니다. 그래서 잠깐 작업해봤습니다. ^^)
사용자 삽입 이미지


Writer profile
test

Posted by 엽기민원

2009/11/29 20:38 2009/11/29 20:38
, ,
Response
No Trackback , 3 Comments
RSS :
http://yupmin.com/rss/response/173

Postfix 셋팅하기

imap/pop3 서비스를 쓰지 않는다면, sendmail보다는 postfix를 쓰는게 좋다.

게다가 요즘 대부분 gmail을 베이스로 쓰니..  간단한 셋팅에 다양한 매쉬업들이 가능하다.

(물론 centos기준)

[code]yum remove sendmail
yum install postfix[/code]
/etc/postfix/main.cf 수정
[code]myhostname = test.com
mydomain = test.com
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, $mydomain
mynetworks = 127.0.0.0/8
[/code]

도메인 별 alias 설정은 http://www.postfix.org/VIRTUAL_README.html 참조
스팸체크 및 한글설명서는 http://wiki.kldp.org/wiki.php/Postfix-SASL-HOWTO 참조

외부로 smtp 서버를 열었을 경우 스팸들의 습격을 받을수도 있으니..
malware urls를 참고 해서 /etc에 다음과 같은 스크립트를 만든다
[code]vi /etc/fetch.postfixmalware.sh[/code]
[code]#!/bin/bash
# Script to update malware urls
/usr/bin/wget -O - http://www.malware.com.br/cgi/submit?action=list_postfix > /etc/postfix/mbl-body-deny
/usr/sbin/postmap /etc/postfix/mbl-body-deny
/etc/init.d/postfix reload[/code]
crontab에 다음과 같은 구문을 추가하면 보통의 스팸들은 막을수 있다
[code]40 4 * * * /etc/fetch.postfixmalware.sh >/dev/null 2>&1[/code]
더해서 스팸을 막는 다양한 방법들은 다음 링크 참조 : http://www.howtoforge.com/virtual_postfix_antispam

Writer profile
test

Posted by 엽기민원

2009/11/25 12:25 2009/11/25 12:25
Response
No Trackback , No Comment
RSS :
http://yupmin.com/rss/response/171

monit 부활

죽어있었던 monit사이트가 부활했다. (약 6~7개월전 죽었던걸로 기억함.)
centos에 rpm으로 설치했을때는 잘작동하지 않았는데, 이번에는 작동할지?
[code]yum install flex bison openssl-devel
wget http://mmonit.com/monit/dist/monit-5.0.3.tar.gz
tar xvfz monit-5.0.3.tar.gz
cd monit-5.0.3
./configure
make; make install
[/code]
설정 파일은 다음과 같이(/etc/monitrc)
[code]set daemon 60
set logfile syslog facility LOG_daemon
set mailserver localhost
set alert admin@abc.com
set httpd port 8080 address localhost
        allow localhost


check process apache with pidfile "/var/run/httpd.pid"
        start = "/etc/init.d/httpd start"
        stop = "/etc/init.d/httpd stop"
        if failed host 127.0.0.1 port 80 and protocol http
                and request "/abc.txt" then restart
        if cpu usage is greater than 60 percent for 2 cycles then alert
        if cpu usage > 98% for 5 cycles then restart
        if 2 restarts within 3 cycles then timeout
        alert admin@abc.com

check process mysql with pidfile "/var/run/mysqld/mysqld.pid"
        group database
        start program = "/etc/init.d/mysqld start"
        stop program = "/etc/init.d/mysqld stop"
        if failed host 127.0.0.1 port 3306 then restart
        if cpu usage > 98% for 5 cycles then restart
        if 5 restarts within 5 cycles then timeout[/code]

initscript는 다음을 다운받아서


가끔씩 httpd pid를 먹어버리거나...(httpd 자체 문제인지 모르겠음)  문제가 약간 있는듯 하다

http://mmonit.com/ m/monit를 써보고 싶지만 싶지만, 너무 비싸다. (스텐다드 타입이 €99...15만원선..프로페셔널 타입은 €499...76만원선 ㅎㄷㄷ )
Writer profile
test

Posted by 엽기민원

2009/11/06 18:57 2009/11/06 18:57
, ,
Response
No Trackback , No Comment
RSS :
http://yupmin.com/rss/response/160

centos php5.2 업그레이드

centos 에서 php의 버젼은 고질적인 문제다. php5.1인데 yum을 이용해 업그레이드 할 수 있는 안전한 방법은 custom repository를 이용하는 것인데, 이 방법에는 문제가 있다. 문제는 바로 php배포본뿐만 아니라 여타 다른 배포본까지 업데이트 해야 하는 문제가 있다. 만일 다시 원래 repo로 돌아가려면 영향받는 mysql 등까지도 다시 깔아야 하는데 이건 도통 귀찮은 방법이다.

그래서 방법을 찾던 중 제일 간편하고, 다시 원래 배포본으로 돌아갈 수 있는 방법이 있었으니 다음과 같다. ^^

참조 : http://www.somegate.com/topic_new.php?topic_uid=3973
[code]wget http://dev.centos.org/centos/5/CentOS-Testing.repo
mv CentOS-Testing.repo /etc/yum.repos.d/
yum --enablerepo=c5-testing update php[/code]
그리고 eaccelerator, memcache(php-pecl-memcache 이 작동안함)를 다시 깔아야함.
[code]yum --enablerepo=c5-testing install php-mcrypt php-tidy php-mbstring[/code]
그외 필요한 php모듈은 버젼에 맞게 다시 깔면 된다.

새로 깔리는 패키지
php
php-cli
php-common
php-devel
php-gd
php-mysql
php-pdo
php-xml
php-tidy
php-mcrypt
libtidy mysql-libs

이것만 지우고 다시 깔면 원복이 될듯..
xdebug, json 등은 pear로 깔면 되니
[code]yum install --enablerepo=c5-testing php-pear
pear install pecl/json
pear install Xdebug[/code]
Writer profile
test

Posted by 엽기민원

2009/11/06 18:45 2009/11/06 18:45
, ,
Response
No Trackback , No Comment
RSS :
http://yupmin.com/rss/response/168

eAccelerator php 설치

정작 php를 깔아놓고 옵티마이저등을 안까는건 바보 같은일...

참조 : http://www.codeway.co.kr/board/bbs/board.php?bo_table=WEB_Lecture&wr_id=132

[code]yum install php-devel
wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2
tar xvfj eaccelerator-0.9.5.3.tar.bz2
cd eaccelerator-0.9.5.3
phpize
./configure
make;make install
mkdir -p /var/cache/eaccelerator
chmod 0777 /var/cache/eaccelerator
vi /etc/php.d/eaccelerator.ini[/code]
[code]extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/var/cache/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"[/code]


Writer profile
test

Posted by 엽기민원

2009/06/30 23:52 2009/06/30 23:52
,
Response
No Trackback , No Comment
RSS :
http://yupmin.com/rss/response/164

XpressEngine(제로보드) 개발 어렵다.

회사일이 있어. zeroboard 개발건이 생겼는데...

생각보다 힘들다. T-T

첫번째 DB 추상화

[code]<query id="getBoardList" action="select">
    <tables>
        <table name="modules" />
    </tables>
    <columns>
        <column name="*" />
    </columns>
    <conditions>
        <condition operation="in" column="module" default="'board','guestbook','blog'" />
        <group pipe="and">
            <condition operation="like" column="mid" var="s_mid" pipe="or" />
            <condition operation="like" column="title" var="s_title" pipe="or" />
            <condition operation="like" column="comment" var="s_comment" pipe="or" />
            <condition operation="equal" column="module" var="s_module" pipe="or" />
            <condition operation="equal" column="module_category_srl" var="s_module_category_srl" pipe="or" />
        </group>
    </conditions>
    <navigation>
        <index var="sort_index" default="module_srl" order="desc" />
        <list_count var="list_count" default="20" />
        <page_count var="page_count" default="10" />
        <page var="page" default="1" />
    </navigation>
</query>[/code]
위의 코드는 db쿼리문이다. 일종의 DB쿼리 추상화문인데...

다양한 DB지원을 위해 코드 추상화를 하는 건 알겠다만. 이건 배보다 배꼽이 큰게 아닐런지?
한줄 두줄이면 나오는 쿼리를 이렇게 따로 따로 각각 쿼리문을 추상화해서 코드에 넣고, 관리한다는 건 좀 문제가 있지 않을까 싶다.

문득 Rails의 간편한 추상화 문법들이 그리웠다. T-T

두번재 OOP도 알맞게

오픈 소스라고 한다면, 어느정도 일반사람들도 구문을 이해하고, 수정/개발이 쉬워야 한다고 생각한다. 특히 OOP의 경우 상속이 2~3 level만 가도 난공불락의 요새가 되어버린다.
예전인가? python 소스 overriding 된 함수 하나 해석하는데  많은 시간을 소비했던걸 기억한다.
XpressEngine 소스를 살펴보니 예전 Visual C++, MFC, ActiveX, ATL 프로그램 하는 것 같더라. 소스의 세부사항은 모르면서 이럴때에는 이걸 써야 하고, 저럴때에는 이걸 써야 하고... 에휴...

[code]class simplepiexeAdminView extends simplepiexe {
    /**
     * @brief 초기화
     **/
    function init() {
        // module_srl이 있으면 미리 체크하여 존재하는 모듈이면 module_info 세팅
        $module_srl = Context::get('module_srl');
        if(!$module_srl && $this->module_srl) {
            $module_srl = $this->module_srl;
            Context::set('module_srl', $module_srl);
        }
        // module model 객체 생성
        $oModuleModel = &getModel('module');

        // module_srl이 넘어오면 해당 모듈의 정보를 미리 구해 놓음
        if($module_srl) {
            $module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
            if(!$module_info) {
                Context::set('module_srl','');
                $this->act = 'dispSimplepiexeAdminIndex';
            } else {
                ModuleModel::syncModuleToSite($module_info);
                $this->module_info = $module_info;
                Context::set('module_info',$module_info);
            }
        }

        if($module_info && $module_info->module != 'simplepie') return $this->stop("msg_invalid_request");
        // 모듈 카테고리 목록을 구함
        $module_category = $oModuleModel->getModuleCategories();
        Context::set('module_category', $module_category);

        $template_path = sprintf("%stpl/",$this->module_path);
        $this->setTemplatePath($template_path);
    }
}[/code]

문득 이런 XpressEngine의 코딩을 해야하는 내가 이런 잡다한 코딩 스타일로 시간을 죽이고 있는게 아닌지 회의가 든다.
Writer profile
test

Posted by 엽기민원

2009/06/19 13:11 2009/06/19 13:11
,
Response
No Trackback , 3 Comments
RSS :
http://yupmin.com/rss/response/163

서버마다 메일서버를 구축할 필요가 없다.
하나의 메일서버를 사용하고, ssmtp로 연결할수 있다.

소스 패키지 : http://packages.debian.org/source/sid/ssmtp

[code]wget http://ftp.de.debian.org/debian/pool/main/s/ssmtp/ssmtp_2.64.orig.tar.bz2
tar xvfj ssmtp_2.64.orig.tar.bz2
cd ssmtp-2.64
./configure --sysconfdir=/etc
make; make install[/code]
[code]wget http://ftp.de.debian.org/debian/pool/main/s/ssmtp/ssmtp_2.62.orig.tar.gz
wget http://ftp.de.debian.org/debian/pool/main/s/ssmtp/ssmtp_2.62-3.diff.gz
tar xvfz ssmtp_2.62.orig.tar.gz
gunzip ssmtp_2.62-3.diff.gz
mv ssmtp-2.62 ssmtp
patch -p0 < ssmtp_2.62-3.diff
mv ssmtp ssmtp-2.62
cd ssmtp-2.62/ssmtp
./configure --sysconfdir=/etc
make; make install[/code]
그리고 sendmail을 대치한다. 만일 sendmail을 지우지 않았다면 다음과 같이 대치 한다.
아니면 /etc/alternatives 가서 mta관련 링크를 수정해야 한다. (근데 sendmail 지워주고 깔면 알아서 셋팅된다.)
참고 : http://linux.com/archive/feature/132006

[code]sudo mv /usr/sbin/sendmail /usr/sbin/sendmail.orig
sudo ln -s /usr/local/sbin/ssmtp /usr/sbin/sendmail[/code]
/etc/ssmtp/ssmtp.conf 수정
[code]#
# /etc/ssmtp.conf -- a config file for sSMTP sendmail.
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=postmaster
# The place where the mail goes. The actual machine name is required
# no MX records are consulted. Commonly mailhosts are named mail.domain.com
# The example will fit if you are in domain.com and you mailhub is so named.
mailhub=mail ← 바꾸려는 메일서버 주소
# Where will the mail seem to come from?
#rewriteDomain=
# The full hostname
hostname=localhost ← 서버 hostname
fromlineoverride=yes ← php등에서 메일 보낼때 from을 오버라이딩 가능하게[/code]

수정 끝.

gmail서버로도 연결이 가능하니 꼭 메일 서버를 가지지 않아도 될듯 하다.
Using SSMTP to Replace Sendmail (Gmail Config)

위 방법과 적절히 사용하면, 간단히 replace가 될듯 하다. 보안에 관해 물론 메일서버에는 셋팅을 해놔야겠지만, ^^
Writer profile
test

Posted by 엽기민원

2009/06/10 14:35 2009/06/10 14:35
Response
No Trackback , No Comment
RSS :
http://yupmin.com/rss/response/161

memcached 설치 / 사용

CentOS 의 경우

source : http://www.danga.com/memcached/dist/

[code]yum install libevent libevent-devel
wget http://www.danga.com/memcached/dist/memcached-1.4.0.tar.gz
tar -xvzf memcached-1.4.0.tar.gz
cd memcached-1.4.0
./configure --with-libevent=/usr/lib/
make; make install[/code]
php 라이브러리 추가
[code]yum install php-pecl-memcache[/code]
혹은 버젼이 안되면, 직접 컴파일
[code]wget http://pecl.php.net/get/memcache-2.2.5.tgz
tar xvfz memcache-2.2.5.tgz
cd memcache-2.2.5
phpize
./configure --enable-memcache
make
cp modules/memcache.so /usr/lib/php/modules[/code]
PHP 관련 설정도 해주고..
[code]vi /etc/php.d/memache.ini [/code]
[code]extension=memcache.so[/code]
기본 설정 파일도 만들어주고..
[code]vi /etc/memcached.conf[/code]
[code]#Memory a usar
-m 16
# default port
-p 11211
# user to run daemon nobody/apache/www-data
-u nobody
# only listen locally
-l 127.0.0.1[/code]
다음의 실행 스크립트 및 데몬 스크립트를 생성한다.
daemon script : http://www.vbseo.com/blogs/danny-bembibre/daemon-scripts-memcached-44/, http://www.dev411.com/wiki/Memcached_startup_files_for_Red_Hat_(RHEL)
[code]wget http://yupmin.com/attachment/1246298963.xxx
mv 1246298963.xxx /usr/local/bin/start-memcached
chmod 755 /usr/local/bin/start-memcached[/code][code]wget http://yupmin.com/attachment/1314503238.xxx
mv 1314503238.xxx /etc/init.d/memcached
chmod 755 /etc/init.d/memcached[/code]
php-test : http://dorkage.net/2009/02/memcached-test/

그외 Sun에서 했던 MySQL 컨퍼런스에 봤던 강사의 키노트
http://download.tangent.org/talks/Memcached%20Study.pdf

memcached wow!!
Writer profile
test

Posted by 엽기민원

2009/05/25 11:33 2009/05/25 11:33
,
Response
No Trackback , 2 Comments
RSS :
http://yupmin.com/rss/response/159

유용한 mysql 관리툴 : mytop

mytop
http://jeremy.zawodny.com/mysql/mytop/
필요 라이브러리
http://search.cpan.org/~jstowe/

centos의 경우
[code]wget http://search.cpan.org/CPAN/authors/id/J/JS/JSTOWE/TermReadKey-2.30.tar.gz
tar xvfz TermReadKey-2.30.tar.gz
cd TermReadKey-2.30
perl Makefile.PL
make;make install

wget http://jeremy.zawodny.com/mysql/mytop/mytop-1.6.tar.gz
tar xvfz mytop-1.6.tar.gz
cd mytop-1.6
perl Makefile.PL
make;make install[/code]
혹시 설치시 'Warning: prerequisite DBD::mysql 1 not found.'에러가 난다면
[code]yum install perl-DBD-mysql[/code]

만일 s/// 식으로 에러가 나올때는 fix.455901.diff 로 패치
아하 좋쿠나..

사용자 삽입 이미지
Writer profile
test

Posted by 엽기민원

2009/05/15 16:11 2009/05/15 16:11
,
Response
No Trackback , No Comment
RSS :
http://yupmin.com/rss/response/158

우연한 계기로 경기 민언련 강좌(2강 블로그 설치,운영, 관리)를 하게 되었습니다. ^^

사용자 삽입 이미지

Writer profile
test

Posted by 엽기민원

2009/02/17 00:29 2009/02/17 00:29
,
Response
A trackback , No Comment
RSS :
http://yupmin.com/rss/response/153

문제 발생!!
현재 다음블로그 뉴스 플러그인에 큰 결함이 나왔습니다. 현재 트랙백을 보낼때 숫자 퍼머링크로 강제로 보내는데요. 아마 다음 블로그뉴스의 "내 글 보내기" 부분과 충돌이 나는 것 같습니다.
그래서 숫자 퍼머링크를 사용하시는 분들만 현재로썬 사용하는게 최선일듯 싶습니다. 아니면 다음블로그뉴스 플러그인으로만 보내시던가요. -_-a

가까운 시일내에 이부분 수정하도록하겠습니다.

Textcube용 다음 블로그 뉴스 플러그인이 새로 업데이트 되었습니다. ^^
외부 블로거들을 위한 다음블로그뉴스 api정책이 갑작스레 바뀌는 관계로, 정책결정에 따른 시간이 좀 걸렸습니다. 소스등을 정리하고, 거기에다가 자동복구 기능을 좀더 강화시켰습니다. Textcube 1.7이상에만 적용됩니다. 제가 하위 버젼을 개발 할수 있는 시간이 없습니다. -_-;

몇몇분들이 블로거뉴스 카테고리가 이상하게 보이고 있습니다. 수정본을 새로 다운받거나 다음 부분을 수정해주세요.

419줄 수정 ($service['encoding'] = > 'EUC-KR')
[code]    $xmls = new XMLStruct();
    if ($xmls->open($xml, 'EUC-KR')) {
        ob_start();
[/code]
277줄 수정 ($service['encoding'] = > 'EUC-KR')
[code]    $xmls = new XMLStruct();
    if (!$xmls->open($xml, 'EUC-KR'))
        return false;
[/code]

Textcube용 다음블로그 뉴스 주요 플러그인 기능

  • 다음블로그뉴스 자동 발행/예약 발행도 가능
  • 다음블로그뉴스 테이블 손상시 자동복구
  • 추천위젯 선택 가능
  • 나의 블로거 뉴스 사이드바 지원
  • 베스트 블로거 뉴스 사이드바 지원
  • 다음블로거뉴스 배너 지원

변경사항(0.9.7.3, 20081113)

  • 블로그 뉴스 채널 찾기 오류 수정 및 보완(위즈님 감사^^)
  • 집단의 지성이 다음블로그뉴스 플러그인을 발전시키는 군요. 와우~ (코드 수정할 부분있으면 알려주세요. ^^)

변경사항(0.9.7.2, 20081111)

  • 다음 카테고리 채널 api 정책 변경에 따른 수정(도아님 감사^^)
  • DB관련 함수 정리

변경사항(0.9.7, 20081022)

  • 카테고리가 이상하게 나오는 오류

변경사항(0.9.7, 20081020)

  • 버젼 업그레이드에 따른 자동 Table 마이그레이션
    꼭 한 번은 하셔야 합니다. 방법은 환경설정을 한번 누르고 저장을 눌러주세요.
  • textcube 1.7이상 버젼만 지원(꼭 1.7이상 업그레이드 하시길 바랍니다.)
  • 다음블로거뉴스 api 변경에 따른 수정
  • 데이타 손실에 따른 자동복구
  • 무슨 문제가 있으면, 연락/댓글주세요. 문제가 심각하면, TC_DaumBloggerNews 테이블을 삭제 하고, 플러그인을 비활성화->활성화 해주세요. 페이지를 로딩할때 자동 복구됩니다. ^^

변경사항(0.9.5, 20080627)

  • 위젯안나오는 오류 진짜 수정(인코딩 오류였습니다. -_-a)
  • 과거 위젯 다시 추가
  • 글쓰기 페이지 카테고리 캐쉬타임 하루로 늘림
  • 아마 그전에 위젯 안나오신 분들은 아마 데이타 초큼이 지워졌을 가능성이 농후합니다. 이거 복구됩니다.(어떻게? 글수정 페이지 한번만 들어가시면)
  • 그리고 이시간 시청앞 천막은 철수되는 군요. 이명박 개새!!

변경사항(0.9.4, 20080620)

  • 위젯안나오는 오류 수정
  • 글쓰기 페이지에 로딩 속도 개선
  • 추천 위젯 플래쉬(새로운 버젼)로 업데이트
사용자 삽입 이미지

변경사항(0.9.3, 20080613)

  • 위젯안나오는 오류 수정

변경사항(0.9.3, 20080609)

  • 1.7 업데이트 버젼 인코딩 에러 해결
  • ChangeVisibility, DeletePost 이벤트 처리(예약 공개시 자동 다음 블로그 뉴스 발행) : TC 1.6.4에선 적용되지 않습니다.
  • 삭제된(만의 하나의 경우) 카테고리 정보 자동 복원 : 다음블로그 뉴스 정보를 가지고 entryid중심으로(entryid만 같다면 알아서) 자동 복원
  • 비공개된 글의 경우 임시적으로 카테고리가 저장됩니다. 공개된 글의 경우 다음블로그뉴스쪽의 글을 삭제하면 자동으로 리셋이됩니다.

주의사항

  • 플러그인을 제대로 사용하기 위해선 "다음 블로거 뉴스 기자단"에 가입하셔야 합니다.
  • 이 플러그인으로 인한 트래픽증가에 대한 문제(Textcube에 관한 문제 포함)는 책임지지 않습니다. -_-a
  • 다운받으시는 분은 꼭 리흘을 흘려주세요. ^^

버그 리포팅

  • 가끔식 디자인이 안 맞는 수가 있슴다. 알맞게 수정해서 쓰길 바랍니다. (제 스킨 css가 안맞네요.)
  • TC1.7인 분은 꼭 1.7용으로 다운받으세요. 새버젼인 다음블로그뉴스 플러그인 0.9.3은 1.6.3이하 버젼에서 테스트 해보지 못했읍니다만, 먼저 사용해보시고 작동 안하실때에는 구버젼(0.9.2)을 사용해주시고, 혹시 사용하다 에러나면 꼭 리포팅해주세요. ^^

다운로드(last update 20081113)

Writer profile
test

Posted by 엽기민원

2008/11/26 17:02 2008/11/26 17:02
, , ,
Response
4 Trackbacks , 72 Comments
RSS :
http://yupmin.com/rss/response/127

뭐 이런 게시판의 좋고 나쁘고 여부를 떠나...

게시판 : http://tw.naver.com/nboard2/list/1000003343

사용자 삽입 이미지
왜 파이어 폭스에서 스크립트 에러가 뜨는 것이냐? -_-a

에러가 나는 방법은 브라우저 "파이어폭스"에서 마우스를 클릭하지 말고 A 링크태그에(예를 들자면 클릭하는 제목, 하위 페이지 네이게이션) 클릭하지 말고 마구 갖다대면 난다. 아마 간략글을 보여주는 스크립트가 딜레이 되는 것 같다. 오래 기둘리면, 벗어나긴 하는데...

천하의 네입허가...장난하삼?
Writer profile
test

Posted by 엽기민원

2008/06/13 18:26 2008/06/13 18:26
,
Response
No Trackback , No Comment
RSS :
http://yupmin.com/rss/response/141

우연히 5초만에 개발(-_- 업그레이드, 변경)한 플러그입니다.
커버페이지에 배너를 삽입할수 있습니다.

수정된 부분

  • 커버페이지에 html, 이미지를 배너를 넣을수 있습니다.
  • 커버페이지에 빈줄을 넣을수 있습니다.
  • 커버페이지에서는 간혹 float, 전체div margin를 쓰는데 그에 대비한 clear:both, margin: 0 처리


Writer profile
test

Posted by 엽기민원

2008/03/28 12:47 2008/03/28 12:47
, ,
Response
No Trackback , 4 Comments
RSS :
http://yupmin.com/rss/response/136

 

http://onoffmix.com에서 참가신청을 받는데 좀 다른 식으로 받는 갑다.

트랙백을 던져줘야 확정이 되는...-_-a

내가 이번 행사에 참가하려는 이유는 "다양한 주제의 다양한 블로그 달인들이 얼마나 분포하고 있으며 어떤 내용, 생각, 사고들을 가지고 블로그를 하는 지 알고 싶어서이다"

더불어 나는 그 전날 하는 행사 "좌충우돌! 블로그! 영화와 놀다 2008" 기획자이기때문에 꼭 가야겠다. ^^
Writer profile
test

Posted by 엽기민원

2008/02/27 17:22 2008/02/27 17:22

2008 Future of the Internet Economy Confenrence 유감

화요일(2008년 1월 28일) Future of the Internet Economy Confenrence 2008를 다녀왔다. 제목만큼이나 거창하게 인터넷 비지니스의 '미래'를 얘기하는 10만원 이상인 컨퍼런스임에도 불구하고, 많은 부분들이 어의 없는 지경이었다. 그에 대해 멘트를 남겨두려고 한다.

플래티넘 스폰서로 KT, NHN의 1부행사의 keynote는 참담했다. 그들의 키노트를 공개해서 개쪽을 주고 싶지만, 내 블로그에 그런 내용조차 올리는게 아깝다.

박제된 IT의 맏형 KT

KT의 The age of diversity란 주제의 강연은 보통 유비쿼터스니 하면서 했던 얘기의 종합판일뿐 전혀 새롭지 못했다. KT가 커다란 돈을 들이면서 이 컨퍼런스에 그런 종합판적인 얘기를 하고 싶어서 온 것은 절대 아닐 것이다. 대안이 뭔가? KT?!

보수화의 일로를 걷는 NHN

NHN의 "WEB 2.0과서비스 패러다임의 변화" 주제인데 강의 내용이 수준이 낮다. 참여와 공유 다 아는 내용아닌가?
게다가 NHN은 웹2.0 컨퍼런스에 참가하면서도 조금만 있으면 웹2.0의 거품이 꺼질꺼라고 회의까지 한다.(이 내용은 강연내용에는 빠졌으나, 자료집에는 들어가 얼마나 강연자가 준비부족인지를 보여줬다. 아마 회사내에서 강연식으로 준비했던 것을 퇴고 한번 안한 거라는게 확연했다.) 그러면서 웹2.0의 정신을 '참여와 공유'라며 강의한다. 강연하다 시간이 남았는지, "스타워즈보이"에 관한 유투브 동영상 6개을 틀어주며 시간을 잡아 먹고, 끝내 지내들 홍보영상까지 튼다.
시바 진짜 키노트를 공개하고 싶다. T-T

안드로메다 SEMANTICS

웹3.0개념들이라 칭해지는 것들이 우후죽순처럼 나오고 있고, 웹3.0을 시맨틱 검색이라는 단어로 치환해 버린 대표적인 어이없는 키노트.
시맨틱 웹이든, 시맨틱 기반이던, 주요개념은 웹2.0하에서 벗어나질 않는다. 탁까놓고 말해보자. SEMANTICS의 '검색엔진(http://Qrobo.com)'은 의미론적 기반이기 보단 좀 다른 데이타 마이닝 이상 이하도 아니다. ActiveX의 막장 넷피아가 웹3.0개념 가지고 장난질 하더만 이 회사까지 동참하고 있다. -_-

우리가 post WEB2.0시대는 분명 특정한 기술, 단독적인 성향이 아닐 것이다. 그것을 자신들의 상품 기술로 치환하는 이들은, 웹2.0이란 의미조차 이해하지 못한 일종의 웹2.0 지진아들이다. web3.0은 분명 특정기술이나 기업에 한정적인 개념이 아니라, 지금과 다른 시대의 웹 시대, 트렌드를 말하는 것일 것이다.
참고글 : 웹2.0 시대에 말하는 웹3.0 꿰뚫기 - 웹3.0? 너 맞아? , 웹3.0 아직은 뜬구름이다.

ps1. 웹2.0의 기업/상품인가로 판단하는 근거로 치사한 방법이지만, 얼만큼 웹표준화를 준수했는가의 척도로 가끔씩 소스를 열어본다. 미안하다 Qrobo 너는 아니다.

주요 키노트가 이정도니...캐안습이지 않는가?

겨우 2개의 기업의 발표내용 만이 나에게 다가왔는데...
오픈마루는 한국 상황 안에서 최저 기반부터 천천히 방향석에 따라 자신들의 플랫폼을 만들고 있고, 그리고 충실한 로드맵이 있다. Yahoo는 다양한 오픈API제공으로 포탈의 지위와 위상을 제시한다. 그런 이번에 두 업체의 협력은 커다란 지각변동이라 생각했다.

한국 IT의 한나라당 LG CNS

그러던 중 강적을 만났으니 바로 LG CNS의 "Web2.0을 활용한 신규 금융서비스 구현"이라는 것이었는데, LG CNS와 삼성 SDS는 국내 최대 SI업체이면서 정부의 꿀떡같은 사업들을 꼴랑 다 독식하는 업체들이다. 그런 SI의 업체가 웹2.0의 활용한 신규 금융서비스라...궁금했다. 그래도 내가 인터넷뱅킹회사를 다녔다는 경험이 있기 때문에 어떤 얘기를 할까 궁금했다.

그 결과는...
LG CNS는 웹2.0이란 변화의 조짐 내지는 그 가치들을 부정하고 싶어한다. 웃기지 않는가? 신규 금융서비스 구현이라면서 발표하면서도 잘 모르겠단다. 명확히 몰랐노라고 시인까지 한다. -_- 보여주는 내용이라곤 웹기획자 신입이 만든 것 같은 ppt쪼까리...

내가 보는 국내 결재/인터넷 금융시장의 문제는 윈도우 ActiveX사용 및 은행 금융사이트들의 전형적인 비표준화가 문제가 대표적이다.

쉽게 예를 들면, 우리나라의 특이한 요소의 하나인 개인인증서에 의존한 농협이랑, 신한의 금융플랫폼은 서로 천차만별하다. 2000년쯤도부터 만들어진 ActiveX중심의 결재, 뱅킹 솔루션들이 지금까지도 뭐 하나 발전한 예를 보여주지 못한다. 비슷한 업무와 프로세스를 가진 것들을 통합 내지는 개발할 수 있는 플랫폼정도는 고민해야 되지 않겠니?

차라리 LG CNS는 일종의 '인터넷 금융 플랫폼'으로써의 금용서비스에 대한 전반적인 고민과 내용들을 얘기해야 되는 거 아닌가? 통합솔루션으로 전반적인 openssl의 사용 및 개인인증의 새로운 솔루션(공인인증서의 웹서비스)등의 방향성 정도는 얘기해야 되지 않겠니? 아놔...

차라리 이니시스의 inip2p 같은 솔루션같은 것이 차라리 웹2.0에 가깝겠다.

이런 기업에게 왜 컨퍼런스 시간을 주었을까? 이외 다른 기업들의 발표도 자신의 제품 홍보에 여념이 없다. 참 민망하기도 하여라. 시간이 아까워서 마지막까지 듣지 않고 중간에 나와버렸다.

차라리 돈도 별로 안들이고 공짜인 barcamp seoul 2등이 더 의미깊었다는 생각이 들었다.
Writer profile
test

Posted by 엽기민원

2008/02/01 17:23 2008/02/01 17:23

Textcube 1.5.4 빠르게 하는 패치

텍스트 큐브 1.6(아마) 나올껀데, 텍스트 큐브의 속도저하를 만드는 요인중의 하나가 Feed Reader기라고 합니다. 그러다가 한가지 실험을 하고 TC의 전설이라 불리는 신정규님(현재 Textcube 메인터너이십니다.)에게 문의를 드렸지요.

질의 링크 : http://forum.tattersite.com/ko/viewtopic.php?id=4434

그래서 어제 TC1.6beta에 리더기를 뺄수 있는 패치가 들어갔습니다. 얼핏 테스트를 해보니 체감이 다르다는 것을 느낄수 있을 정도였습니다. 그래서 TC 1.5.4분들에게 간단하게 수정하는 방법을 알려드리겠습니다. 아 이 패치는 신정규님이 고친 것을 TC 1.5.4에 적용한것 뿐입니다.
(단, Feed Reader기를 포기하셔야 함과 동시에, Reader관련 플러그인은 사용불가 함다. 그리고 블로그를 분양하신 분들은 분양받으신 분들이 리더기를 다 안쓴다는 전제하에 진행하세요.)

  • /config.php에 다음과 같이 삽입하세요.
[code]$service['reader'] = false;[/code]
  • /lib/config.php에 다음과 같이 삽입하세요.
[code]$service['reader'] = true;[/code]
  • 다음의 첨부파일을 덮어쓰시면 되겠습니다.

Writer profile
test

Posted by 엽기민원

2008/01/18 11:19 2008/01/18 11:19
,
Response
No Trackback , 10 Comments
RSS :
http://yupmin.com/rss/response/131

Wingz 1.1.1 패치 : update 080117

Wingz의 주 개발자 라지엘님이 군대 4주 훈련을 가심으로 해서 현재 발표된 1.1.1 Phanuel (2007.11.21) 이 에러가 많습니다. 특히 DB모듈이 Textcube처럼 캐슁을 하는 구조라 이전 버젼과 많은 부분의 쿼리가 달라졌는데, 그것이 전체적인 문제를 일으킨겁니다.

제가 소스를 들쳐 본 관계로는 바뀐 DB 모듈의 코딩 방식이 있는데 제대로 안쓰고 있는 문제가 몇개 보였습니다. 그리하여 새로운 소스 업데이트 후 나타나는 문제중의 하나는 '새로운 글 업데이트가 이뤄지지 않고 있는 것'이죠. 특히나, 강제로 어드민으로 로그인후 업데이트 할때 안되는데요. 몇가지 수정하니 제대로 돌아갑니다. ^^

그래서 시간나는데로 1.1.1의 소스를 수정해서 이 포스트에 업데이트 해두겠습니다. 원 소스에 덮어쓰셔서 사용하시면 되겠슴다.

혹시 패치후 나타나는 에러에 대해 리포팅해주시면 고쳐보도록 하겠슴다. ^^

희소식!!! php5(5.2)에서의 로그인 에러 잡았슴다. ^^b 그리고 패치 다운 받으신 분들 잘 적용되는지 리플좀 달아주세요.

수정된 부분

  • 어드민 강제 업데이트 안되는 문제(/admin/update)
  • Feeder부분 DB모듈 제대로 사용하기
  • euc-kr RSS 파싱 하기
    원래 RSS는 utf-8의 인코딩을 기본적으로 지켜야 하지만, 국내 포탈 몇군데에서는 아직도 euc-kr RSS를 사용하고 있습니다.
    예) 프레시안 영화섹션 RSS : http://www.pressian.com/rss/movie.xml
  • 메인화면의 updateRandomFeed 함수 에러 수정(피드가 업데이트 안되던 문제 수정) : 20071220
  • php5에서 세션 global DB객체가 넘어가지 않는 오류 : 20071224


MYSQL 3.XX버젼대이신분!!

mysql이 3.XX버젼대 이신분은 다음 파일을 다운 받아 적용하세요.(단 일시적 땜빵입니다. wing 1.2버젼을 기다려주세요. )



Writer profile
test

Posted by 엽기민원

2008/01/17 18:25 2008/01/17 18:25
, ,
Response
A trackback , 18 Comments
RSS :
http://yupmin.com/rss/response/126


블로그 이미지

엽기민원의 옴팡진 공간

- 엽기민원

Notices

Archives

Calendar

«   2012/05   »
    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 31    

Site Stats

Total hits:
225537
Today:
37
Yesterday:
209