CodeIgniter MVC CRUD + memcache = Secret Message http://msg.monster.com.tw

這個 idea 是來自這個網站 : https://privnote.com/ , 簡單的說它是一個經由 https 保護傳送內容的網路服務 , user 用這個服務把臨時要給朋友的機密/私人資料譬如 password / URL 之類的 data 存放在這網站上, 然後此系統會給 user 一個唯一網址, 再把這網址給朋友, 開啟這個唯一網址後, 就可以看到這個訊息, 系統同時會把這訊息從系統中刪除… 哈哈! 看懂了嗎?

我的改進是用 memcache 的 expire 機制, 設定 10分鐘後, 若 user 沒讀過此訊息, 訊息會 ‘自動’ 銷毀… 我的站若再去申請 ssl 加密的話就跟那個站功能是類似的了.

codeigniter 的 MVC 架構, 讓我很快的把這個 idea implement 出來了 , 基本上就是一個簡單版的 CRUD

我的 Secret Message 服務長像非常的陽春 😛 , 僅用簡單的 HTML , 若有空再加上 style 美化一下版面, 不過基本功能是有的了, 大家用看看, 有 idea 或意見請再告訴我.

目前 message 不提供 HTML / VBB , 但是有簡單的 skype 版表情符號 ( icon 正在慢慢搜集中 ) ….

Secret Message 網址是: http://msg.monster.com.tw/

 

dc34889242b1d25e1f4c4d477e85c96c

4185a388c19629704edc284514c6cfe5

CI 表情符號改寫例:

0fe1a40bfd47887c51ed60fc2af4a3a0

3a21610697fc7f7b5983a1358a9f7713d5617ad16b86596c9c44642a08193875

ADSL / DDWRT 動態 IP 用 DynDNS 設定 DNS 及 Google Apps

DYNDNS URL :

DynDNS Update Clients : https://www.dyndns.com/support/clients/

command liek this :

/bin/inadyn -u userid -p userpassword -a xxx.blogdns.net --update_period_sec 30 --log_file /tmp/dyn.log --background &

先到 https://www.dyndns.com/ 申請 “Custom DNS Service” (每年USD$29元)

9a0f558b84a2fc2fc37bc48cac6bc8cc

69a4e8e3d3a4b2e669d7a1cebe8c3099

  • The domain is registered elsewhere: You will need to log into your account with the domain’s current registrar, and change the nameserver list to the following:

Custom DNS Nameservers

Server IP Address
ns1.mydyndns.org   (Required) 204.13.248.76
ns2.mydyndns.org   (Required) 204.13.249.76
ns3.mydyndns.org 208.78.69.76
ns4.mydyndns.org 91.198.22.76
ns5.mydyndns.org 203.62.195.76

328bb1a335f9c817287b5d8c2a4790e7

在 router (我的是ddwrt) 設定 DDNS – ADSL 每次換 IP 時 ddwrt 就會通知 dyndns 改 DNS 的 IP address , 其他的 DN 也可以用 CNAME 設成跟這個 host name 一樣.

f277b6d220032cfb73de9035297d66ad

去 google apps 申請一個

361a485a50b729989390eb79680c6764

除了 mail 要設 MX record 比較複雜, 其他的只要設 CNAME record 就可以了, 很簡單!

34dc58a397d612b8f7c90915cc305bb9

mail.monster.tw 是 web mail 界面的網址 跟 收信的 domain 是不同的

ee0ae7e24f93714f64fa2338133b211e

The Expat XML Parser – XML 分析/拆解工具 – C – 這個讚! 用 C 寫 spider 會用到

Expat is an XML parser library written in C. It is a stream-oriented parser in which an application registers handlers for things the parser might find in the XML document (like start tags). An introductory article on using Expat is available on xml.com.

Function reference : http://www.xml.com/pub/a/1999/09/expat/reference.html

www.monster.com.tw server spec

 

Backend_Feature_23_200811061914_2900 8f958fdcdb7ef403e67041157788d14b Backend_23_200811061912_817

# 新一代低功耗的省電技術
浩鑫 X27D特別採用Intel專為Net Top型桌上電腦所設計的Atom330,主要訴求「效能恰到好處」,極盡所能降低耗電,提升電腦運作時的續航力。X27D在待機時消耗功率僅僅只有 25W左右,至於在全速運轉時也只需38W的耗電量,在現今物價持續高漲的時代,選用一台智慧型節能迷你電腦將是最佳的選擇。
# 精美機身.雅緻美學新體驗
浩鑫X27D外型採用獨特質感的黑色鋼琴鏡面烤漆,體積僅僅只有3公升容量,創造更大的工作使用空間,讓人感受到亮眼的X27D簡約格調質感加倍,美學設計上兼具簡潔線條與操作介面,增加科技產品的美觀及實用性。
# 化繁為簡的現代技術趨勢
浩鑫X27D創造一個簡易操作.輕鬆使用的電腦娛樂環境,超乎你的想像,盡情享受全新X27帶來的便利性,上網搜尋資料、接受電子郵件、應用於辦公作業之中,讓你體驗嶄新的數位娛樂美學生活。
# 節能減碳.綠能革新
不必再擔心吵雜的電腦風扇噪音!浩鑫X27D不論是在閒置時或在全速運轉時,噪音值都不超過23分貝
。現今科技產品都講求節能減碳,因應綠能環保生態之重要議題。所有X27D零組件均符合歐盟限用有害物質指令(RoHS)及嚴格的綠能標準規範,結合現代節能環保的產品,更洋溢著清新時尚的氣息,詮釋最完美的專業設計潮流。
# 全日系固態電容主機板
採用全日系固態電容主機板,具有高效能、低耗電、耐高壓及高信賴等優越特點,最大優勢為延長使用壽命、產品效能更穩定,有效提升產品耐用度。
# 支援DVI與D-Sub雙介面
後面板I/O具有DVI+D-Sub雙介面,螢幕訊號線選擇具有彈性,DVI介面較傳統傳輸訊號更具穩定性,數位訊號無干擾或失真等問題,即可享受更清晰的影像及更高等級的顯示效果。

X27D

Backend_23_200811061912_817

時尚簡約風

浩鑫細緻美型PC X27D整體散發出簡約、流暢、精美的設計感,完全符合現代型男靚女對3C科技產品的嚴格要求,極具典雅的黑色鋼琴鏡面外型及簡約靈巧尺寸,更加適合現在講求便利性及行動力的科技新美學生活。浩鑫X27D強調雅緻而不失科技時尚的獨特氛圍,採用3公升容量的整體機身,大小只有傳統電腦的1/10,機構設計更是善加利用每一寸空間,更加注重節能表現,媲美北歐當代簡約設計風之代表作。

規格說明

款式
Mini ITX Form Factor

中央處理器
Intel Atom 330 CPU
CPU on board

晶片組
Intel 945GC + ICH7

記憶體
1 x 240 pin DDR2 DIMM Slots, 2GB per DIMM (Max 2GB)
DDR2 533MHz supported

顯示介面
Intel GMA 950 256bit 3D engine with a powerful 400MHz core and DirectX 9 3D hardware acceleration
Dynamic Video Memory Technology(DVMT)3.0 supports up to 224MB of Video memory

音效介面
Realtek ALC662 5.1 Channel High Definition audio

網路介面
Realtek 8111C
IEEE 802.3u 100Base-T specification compliant
10MB/s,100MB/s,1GB/s
Support Wake-On-LAN function

儲存介面
(1) UltraDMA100 IDE channel Master from ICH7
(2) On-board SATA connector

ONBOARD CONNECTORS
(2) SATA connector
(1) ATA100 bus master IDE connector
(1) ATX main power connector
(1) ATX 12V power connector
(3) 4pin fan connectors

前面板
Power-On button

後面板
(1) PS/2 keyboard
(1) PS/2 Mouse
(1) Gigabit LAN port
(1) Serial port
(1) D-sub port
(1) DVI port
(4) USB 2.0 ports
(1) Line in connector
(1) Line out connector
(1) MIC in connector

磁碟機擴充槽
(1) 2.5′ bay
(1) Slim ODD bay

尺寸
250(L)x185(W)x70(H) mm

電源供應器
60W Adapter
Input:100- 240V AC

周邊配備
Quick Gudie
CD Driver(32/64bit)
(1) SATA cable
Other:
Screws

裝新的 www.monster.com.tw 過程記錄

2009.0724 emerge 這些 packages:

time emerge -av gentoo-sources lilo vim bind vixie-cron syslog-ng dhcpcd xfsprogs openssh samba net-fs/nfs-utils portmap postfix screen ntp cronolog  net-mail/mpack app-arch/sharutils unzip net-dns/bind net-dns/bind-tools net-ftp/ftp net-misc/netkit-telnetd net-analyzer/trafshow net-analyzer/tcpdump net-analyzer/traceroute

kernel compile options

<*> Serial ATA (prod) and Parallel ATA (experimental) drivers  —>
<*>     Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support

CONFIG_ATA_PIIX:
This option enables support for ICH5/6/7/8 Serial ATA
and support for PATA on the Intel ESB/ICH/PIIX3/PIIX4 series
host controllers.

[*]   Ethernet (1000 Mbit)  —>
<*>   Realtek 8169 gigabit ethernet support

oasis ~ # uname -a
Linux oasis 2.6.29-gentoo-r5 #3 SMP PREEMPT Mon Jul 27 11:39:51 CST 2009 x86_64 Intel(R) Atom(TM) CPU 330 @ 1.60GHz GenuineIntel GNU/Linux

oasis ~ # file /bin/bash
/bin/bash: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), stripped

make.conf

CFLAGS="-O2 -pipe"
CXXFLAGS="-O2 -pipe"

CHOST="x86_64-pc-linux-gnu"

USE="mmx sse sse2 -cups -ipv6 ssl apache2 berkdb cjk cli crypt curl gd gdbm iconv mysql mysqli ncurses nls pcre readline reflection session spell spl truetype unicode xml zlib ssl hash calendar json simplexml"

hdparm -tT /dev/sda

/dev/sda:

Timing cached reads:   1080 MB in  2.00 seconds = 539.97 MB/sec

Timing buffered disk reads:  196 MB in  3.01 seconds =  65.19 MB/sec

processor       : 3
vendor_id       : GenuineIntel
cpu family      : 6
model           : 28
model name      : Intel(R) Atom(TM) CPU  330   @ 1.60GHz
stepping        : 2
cpu MHz         : 1596.135
cache size      : 512 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 2
apicid          : 1
initial apicid  : 1
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl tm2 ssse3 cx16 xtpr pdcm lahf_lm
bogomips        : 3192.15
clflush size    : 64
cache_alignment : 64
address sizes   : 32 bits physical, 48 bits virtual
power management:
gcc --version gcc (Gentoo 4.3.2-r3 p1.6, pie-10.1.5) 4.3.2 

php --version
PHP 5.2.10-pl0-gentoo (cli) (built: Aug  7 2009 19:23:18)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies

mysql --version
mysql  Ver 14.12 Distrib 5.0.67, for unknown-linux-gnu (x86_64) using readline 5.1
with
senna-1.1.4.tar.gz
tritonn-1.0.12-mysql-5.0.67.tar.gz

裝 dev-php5/pecl-memcache 有點問題

9d15a8d72725c3ef7655c96adb685696

解決:

在 /etc/portage/package.keywords 加上

dev-php5/pecl-memcache

Linux , /proc/cpuinfo , 參考表

硬體/廠牌/規格 /proc/cpuinfo , /proc/scsi/scsi
lazy.monster.tw
processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Intel(R) Xeon(R) CPU           E5420  @ 2.50GHz
stepping        : 8
cpu MHz         : 2491.990
cache size      : 6144 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss nx constant_tsc arch_perfmon pebs bts pni ssse3 sse4_1
bogomips        : 4989.02
clflush size    : 64
power management:

Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: VMware   Model: Virtual disk     Rev: 1.0
  Type:   Direct-Access                    ANSI  SCSI revision: 02
DELL 1950 , MEMORY 16G

(dbs)

processor       : 7
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Intel(R) Xeon(R) CPU           E5420  @ 2.50GHz
stepping        : 10
cpu MHz         : 2493.759
cache size      : 6144 KB
physical id     : 1
siblings        : 4
core id         : 7
cpu cores       : 4
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm pni monitor ds_cpl est tm2 cx16 xtpr lahf_lm
bogomips        : 4987.52
clflush size    : 64
cache_alignment : 64
address sizes   : 38 bits physical, 48 bits virtual
power management:

Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: Dell     Model: Virtual  CDROM   Rev: 123
  Type:   CD-ROM                           ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: Dell     Model: Virtual  Floppy  Rev: 123
  Type:   Direct-Access                    ANSI SCSI revision: 02
Host: scsi2 Channel: 00 Id: 32 Lun: 00
  Vendor: DP       Model: BACKPLANE        Rev: 1.05
  Type:   Enclosure                        ANSI SCSI revision: 05
Host: scsi2 Channel: 02 Id: 00 Lun: 00
  Vendor: DELL     Model: PERC 6/i         Rev: 1.21
  Type:   Direct-Access                    ANSI SCSI revision: 05
DELL OPTIPLEX 330

CORE 2 DUO

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Core(TM)2 Duo CPU     E4400  @ 2.00GHz
stepping        : 8
cpu MHz         : 1993.777
cache size      : 2048 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss nx constant_tsc up arch_perfmon pebs bts pni ssse3
bogomips        : 3997.16
clflush size    : 64
dev
processor       : 7
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Xeon(R) CPU           E5310  @ 1.60GHz
stepping        : 7
cpu MHz         : 1596.157
cache size      : 4096 KB
physical id     : 1
siblings        : 4
core id         : 3
cpu cores       : 4
apicid          : 7
initial apicid  : 7
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl vmx tm2 ssse3 cx16 xtpr pdcm dca lahf_lm tpr_shadow
bogomips        : 3192.12
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

$ cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 08 Lun: 00
  Vendor: DP       Model: BACKPLANE        Rev: 1.00
  Type:   Enclosure                        ANSI  SCSI revision: 05
Host: scsi0 Channel: 02 Id: 00 Lun: 00
  Vendor: DELL     Model: PERC 5/i         Rev: 1.00
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Jack大的桌機之一

Intel Atom 330 @ 1.60GHz
現在變成我的 oasis
可以裝 OS X

processor	: 3
vendor_id	: GenuineIntel
cpu family	: 6
model		: 28
model name	: Intel(R) Atom(TM) CPU  330   @ 1.60GHz
stepping	: 2
cpu MHz		: 1596.052
cache size	: 512 KB
physical id	: 0
siblings	: 4
core id		: 1
cpu cores	: 2
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 10
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl tm2 ssse3 cx16 xtpr lahf_lm
bogomips	: 3192.11

scsi0 : ata_piix
scsi1 : ata_piix
scsi 0:0:0:0: Direct-Access     ATA      WDC WD1200BEVS-6 04.0 PQ: 0 ANSI: 5
sd 0:0:0:0: Attached scsi disk sda
sd 0:0:0:0: Attached scsi generic sg0 type 0

eth0: RTL8168b/8111b at 0xf8c26000, 00:30:1b:82:b8:xx, IRQ 16
monster
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 8
model name      : Pentium III (Coppermine)
stepping        : 1
cpu MHz         : 600.052
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr sse
bogomips        : 1200.94
clflush size    : 32
阿毛的
processor       : 0
vendor_id       : CentaurHauls
cpu family      : 6
model           : 9
model name      : VIA Nehemiah
stepping        : 5
cpu MHz         : 733.194
cache size      : 64 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu de pse tsc msr cx8 mtrr pge cmov mmx fxsr sse rng rng_en
bogomips        : 1466.38
clflush size    : 32
power management:
new mysql db
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 26
model name      : Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz
stepping        : 5
cpu MHz         : 2261.096
cache size      : 8192 KB
physical id     : 1
siblings        : 8
core id         : 0
cpu cores       : 4
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx rdtscp lm constant_tsc ida pni monitor ds_cpl vmx est tm2 cx16 xtpr popcnt lahf_lm
bogomips        : 4525.40
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:
dell 2950 dbs
processor       : 7
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Intel(R) Xeon(R) CPU           E5420  @ 2.50GHz
stepping        : 10
cpu MHz         : 2493.748
cache size      : 6144 KB
physical id     : 1
siblings        : 4
core id         : 3
cpu cores       : 4
apicid          : 7
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx est tm2 cx16 xtpr lahf_lm
bogomips        : 4987.44
clflush size    : 64
cache_alignment : 64
address sizes   : 38 bits physical, 48 bits virtual
power management:


eth0: Broadcom NetXtreme II BCM5708 1000Base-T (B2) PCI-X 64-bit 133MHz found at mem f8000000, IRQ 169, node addr 0024e877c5d2


scsi5 : LSI SAS based MegaRAID driver
  Vendor: SEAGATE   Model: ST3146356SS       Rev: HS09
  Type:   Direct-Access                      ANSI SCSI revision: 05
  Vendor: SEAGATE   Model: ST3146356SS       Rev: HS09
  Type:   Direct-Access                      ANSI SCSI revision: 05
  Vendor: SEAGATE   Model: ST3146356SS       Rev: HS09
  Type:   Direct-Access                      ANSI SCSI revision: 05
  Vendor: SEAGATE   Model: ST3146356SS       Rev: HS09
  Type:   Direct-Access                      ANSI SCSI revision: 05
  Vendor: SEAGATE   Model: ST3146356SS       Rev: HS09
  Type:   Direct-Access                      ANSI SCSI revision: 05
  Vendor: SEAGATE   Model: ST3146356SS       Rev: HS09
  Type:   Direct-Access                      ANSI SCSI revision: 05
  Vendor: DP        Model: BACKPLANE         Rev: 1.05
  Type:   Enclosure                          ANSI SCSI revision: 05
scsi 5:0:32:0: Attached scsi generic sg4 type 13
  Vendor: DELL      Model: PERC 6/i          Rev: 1.21
  Type:   Direct-Access                      ANSI SCSI revision: 05

gentoo emerge php options

2009.0630 Monster LAMP Pack:

取消 :
ncurses pdo readline spell

增加 :
ctype json sockets
berkdb gdbm
xmlreader xmlwriter
oci8-instant-client

USE="apache2 berkdb bzip2 calendar cjk cli crypt ctype curl gd gdbm hash iconv json mysql mysqli nls oci8-instant-client pcre reflection session simplexml sockets spl ssl tokenizer truetype unicode xml xmlreader xmlwriter zlib" emerge -av php

2009.0630 發現 wordpress code 裡面有用到 token_get_all ( tokenizer 所以不能取消)