Mark Wu 發表於 2009/10/06 10:50
·
靜態連結網址
It is really bad that CodeIgniter does not support password protection in scaffolding. I just go thorugh most scaffolding related posts in CodeIgniter forum, it seems no easy and clear solution for it. So, I just come out my own based on hooks function.
Here comes the code. Just follow it, and you will get a simple password protection for scaffolding:
1. Enable hook in your CodeIgniter application
application/config.php
[...]
$config['enable_hooks'] = TRUE;
[...]
2. Add a hook setting for pre-controller
application/hooks.php
[...]
$hook['pre_controller'][] = array(
'class' => 'SimpleHttpAuth',
'function' => 'authenticate',
'filename' => 'SimpleHttpAuth.php',
'filepath' => 'hooks/SimpleHttpAuth',
'params' => array()
);
[...]
(閱讀全文)
文章分類:
可以做人幹嘛寫程式
Mark Wu 發表於 2008/11/14 15:49
·
靜態連結網址
我們真的都那麼容易被煽動嗎?。對!真的就有那麼容易。
最近有消息說到 Yahoo 不準用帳號裡面有 taiwan 或是 taipei 等字眼來註冊,很多人就開始磨刀霍霍向 Yahoo,開始說 Yahoo 不尊重台灣人云云。我無法證實 Yahoo 到底有沒有這樣的想法,但是從程式角度來說,這純粹是 Yahoo 的 bug 吧(或說是把規格定的太嚴謹了)。
(閱讀全文)
文章分類:
可以做人幹嘛寫程式
Mark Wu 發表於 2008/11/02 17:35
·
靜態連結網址
最近遇到一個跨網域的 Flash 文件存取網站資料問題。透過 Google 找了一些資料,發現基本上 Flash 文件是不允許你跨網域(甚至是次網域)存取網站資料的。如果你希望 Flash 能夠跨網域存取網站資料,唯一的方式是在 Flash 文件存放的目錄中,加上一個原則檔 crossdomain.xml,裡面可以描述對這個 Flash 的存取原則:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*.abc.com" />
<allow-access-from domain="*.def.com" />
</cross-domain-policy>
這表示 *.abc.com 與 *.def.com 都可以透過這個 Flash 文件來存取網站資料。
更詳細的資料請參考:允許跨網域資料載入。
文章分類:
可以做人幹嘛寫程式
Mark Wu 發表於 2008/11/02 17:11
·
靜態連結網址
在使用 Samba 前,請先記得 K 一下鳥哥的 Linux 私房菜中有關 Samba 伺服器的章節,除了使用手冊外,大概找不到更清楚的文件了。
在 Ubuntu 8.10 的 Server 安裝當中,可以事先將 Samba Server 裝上,免除還要再安裝 Samba Server。如果忘了裝,直接透過 apt-get 也可以很簡單的安裝:
$sudo apt-get install samba (透過 apt-get 安裝 Samba)
(閱讀全文)
文章分類:
可以做人幹嘛寫程式
Mark Wu 發表於 2008/11/01 15:46
·
靜態連結網址
在 VMware 中的 Ubuntu 新增硬碟的方式這一篇文章中,描述了如何為 Ubuntu 新增新的硬碟。透過 VMware 的 Hard disk mapping 功能,我們則可以把這顆新增的硬碟對應成 Windows XP 的一台新硬碟,然後直接對這顆硬碟的資料作處理。
如果我們將新增的硬碟格式化成 Ext3 的格式,則我們可以在 Windows XP 中安裝 Ext2/3 的驅動程式,讓 Windows XP 可以辨認並且讀取 Ext2/3 的硬碟,目前有下面幾項選擇:
(閱讀全文)
文章分類:
可以做人幹嘛寫程式
Mark Wu 發表於 2008/10/31 17:06
·
靜態連結網址
通常在 VMWare 中預設的 Ubuntu 安裝應該只會有 8G 的硬碟,每次我都會為了如何擴充在煩惱。而每次 Clone 一個新的環境,總是要把之前 /home 目錄下的資料與程式備份下來,這也是件很煩惱的事。
後來想一想,乾脆新增一個硬碟,然後把這個新硬碟 mount 到 /home,從此再也沒有這些煩惱。 更好的是,我還可以把 Apache 與 MySQL 的資料與設定目錄都指定到這個新的硬碟中,到時候只要重新 ln 回去就可以了。
(閱讀全文)
文章分類:
可以做人幹嘛寫程式
Mark Wu 發表於 2008/10/31 09:07
·
靜態連結網址
最近需要一些環境來測試 Server 的一些設定,VMware 是用的最主要的工具。但是每 Clone 一次,虛擬主機網路卡的 Mac Address 就被改掉一次,而 Host Name 也需要做相對應的修改。以下是需要修改的部分做個記錄(免得自己忘記):
(閱讀全文)
文章分類:
可以做人幹嘛寫程式
Mark Wu 發表於 2008/03/18 11:35
·
靜態連結網址
剛剛試了一堆方法,要在不知道對方 Store Procedure 的內部參數名稱下去取用他的執行結果。但是找了半天,網路上找到的資料儘是要你透過 mssql_init() 去指定 Store Procedure,然後透過 mssql_bind() 設定輸入參數與輸出結果,最後透過 mssql_execute() 來執行這個 Store Procedure,實在有夠複雜。
到 PHP 的使用手冊上找了一下,原來最簡單的方法早就在哪!有種『眾裡尋他千百度﹐幕然回首﹐那人卻在燈火闌珊處』的 fu。下次記得要先看手冊。
(閱讀全文)
文章分類:
可以做人幹嘛寫程式
Mark Wu 發表於 2008/03/16 14:15
·
靜態連結網址
最近剛好需要整合不同系統使用者帳號認證,我預備採用的方式是 SOAP,兩邊軟體一邊必須實作 SOAP Server 來提供帳號認證,另一邊需要實作 SOAP Client 來使用帳號認證。
SOAP Client 的部份會送傳下列資料到 Server 端,並且透過 Server 端所實作的 getUserInfo,來取回使用者認證資料,傳送資料如下:
- loginId:使用者帳號
- password:使用者密碼(傳送時先透過 MD5 編碼)
SOAP Server 則會實作一個 User 的 WSDL 提供給 Client 端讀取,並且實作一個 getUserInfo 的方法,用來將認證的資料 userInfo 傳回給 Client 端,userInfo 包含:
- validUser:是否為系統中的使用者
- userName:使用者全名
- eMail :使用者的電子郵件信箱
我試過 PHP 內建的 SOAP、PEAR::SOAP 與 NuSOAP,其中 NuSOAP用起來最方便。在 0.72 以前,因為 Class 命名跟內建的 SOAP 衝突,所以需要修改 Class 名稱,但是在 0.73 後則已經沒有問題。所以建議使用 0.72 的都升級到 0.73。
(閱讀全文)
文章分類:
可以做人幹嘛寫程式
Mark Wu 發表於 2008/03/03 19:27
·
靜態連結網址
其實我還是搞不懂,為什麼 Google Gadget 要搞個雞肋出來,這個雞肋就是 _IG_FetchFeedAsJSON()。為什麼說他是雞肋?因為:
- Cache 功能不足,到現在還是無法定義 Cache Interval。怪的是 _IG_FetchXmlContent() 與 _IG_FetchContent()都可以。
- 沒辦法取用 RSS Feed 中的其他資料屬性。所以如果真的要在 Google Gadget 中,完整利用 RSS Feed 中的各項屬性資料,或是外加 (Extra) 的資料,還是得用 _IG_FetchXmlContent() 來抓。
原本要將 DZone 的推噓數字也加到『愛D爽』(請用台語念),可是用 _IG_FetchFeedAsJSON 就是沒有一個屬性可以拿的到~殘念。
雞肋!雞肋!食之無味,棄之可惜!
文章分類:
可以做人幹嘛寫程式
Mark Wu 發表於 2007/11/11 15:40
·
靜態連結網址
PHP 不僅沒有 iteractive shell,甚至在 xmlrpc 上的支援也是亂七八糟的。亂七八糟,不是說 PHP 對 XMLRPC 支援的亂七八糟,而是在 XMLRPC 的支援上有太多的選擇,有官方的 XMLRPC,有 PEAR 的 XML_RPC,還有 SourceForge 上的 XML-RPC for PHP,實在令人無所適從。甚至,LifeType 本身用的是 IXR XML_RPC,根本還不再上述的程式中。
這裡的例子是用 PEAR 的 XML_RPC,所以必須透過 PEAR 安裝 XML_RPC 的支援。另外,也因為沒有 interactive shell,所以必須把測試檔案放在 web server 中測試,程式碼如下:
<?php
include_once( "XML/RPC.php" );
$client = new XML_RPC_Client( '/1.2/xmlrpc.php', 'lifetype', 80 );
$params = new XML_RPC_Value( array( new XML_RPC_Value( 1, 'int' ),
new XML_RPC_Value( 'admin', 'string' ),
new XML_RPC_Value( 'passwd', 'string' ),
new XML_RPC_Value( 5, 'int' )
), "array" );
$msg = new XML_RPC_Message( 'metaWeblog.getRecentPosts', array( $params ) );
$response = $client->send( $msg );
print_r( $response );
?>
(閱讀全文)
文章分類:
可以做人幹嘛寫程式
Mark Wu 發表於 2007/11/09 12:34
·
靜態連結網址
繼上一篇的 用 Python 來測試 LifeType 的 xmlrpc.php,這一次要用 Ruby 來測試。Ruby 也是有一個好用的 interactive shell,叫做 irb。下面是使用 irb 來測試 LifeType 的步驟:
irb(main):001:0> require 'xmlrpc/client'
irb(main):002:0> server = XMLRPC::Client.new( 'lifetype',
'/1.2/xmlrpc.php',
80)
irb(main):003:0> blog = server.call( 'metaWeblog.getRecentPosts',
1, 'admin', 'passwd', 5)
(閱讀全文)
文章分類:
可以做人幹嘛寫程式
Mark Wu 發表於 2007/11/09 12:14
·
靜態連結網址
Python 真的是好用的 scripting language,比起 Ruby,其實我更愛 Python 一些。
今天剛好有人來寫信問到 LifeType xmlrpc.php 的一些問題,所以需要一個可以馬上上手的測試工具,最好還要有 interactive 的 shell。所以想說用 Python 來測試,下面是測是的 script:
>>> import xmlrpclib
>>> from pprint import pprint
>>> server = xmlrpclib.ServerProxy(http://localhost/lifetype/1.2/xmlrpc.php)
>>> blogs = server.metaWeblog.getRecentPosts(1,'admin','passwd',5)
>>> pprint(blogs)
(閱讀全文)
文章分類:
可以做人幹嘛寫程式
Mark Wu 發表於 2007/11/05 03:47
·
靜態連結網址
Subversion 的 post-commit hook 是個很方便的功能,可以讓你在 commit 程式到 Repository 後,自動去做一些事。其中最有用的就是把 commit log 寄給相關的 developer。
在人人都有 Gmail 且 Gmail 也支援 SMTP 寄信的情況下,透過 Gmail 來寄出 commit log 應該是個好 idea。只不過, 目前的 mailer.py 並不支援 Gmail 的 TLS,所以下面的修改,就是要要將 mailer.py 修改成支援 TLS。
(閱讀全文)
文章分類:
可以做人幹嘛寫程式
Mark Wu 發表於 2006/11/28 05:02
·
靜態連結網址
這是在 Hemidemi 看到的,原文在: Top 20 replies by Programmers to Testers when their programs don't work。翻譯如下:
第 20 名:這很奇怪喔。
第 19 名:以前從來不會這樣啊!
第 18 名:昨天明明會動的啊!
第 17 名:怎麼可能~
第 16 名:這一定是機器的問題。
第 15 名:你到底是打了什麼才讓程式當掉的?
第 14 名:一定是你的資料有問題。
第 13 名:我已經好幾個禮拜沒碰那一段程式了。
第 12 名:你一定是用到舊版了。
第 11 名:一定是巧合!為什麼這種壞運氣只讓你碰上。
(閱讀全文)
文章分類:
可以做人幹嘛寫程式