網頁

2013/08/20

[Batch] 取得相對目錄清單

setlocal EnableDelayedExpansion
for /L %%n in (1 1 500) do if "!__cd__:~%%n,1!" neq "" set /a "len=%%n+1"
setlocal DisableDelayedExpansion
for /r . %%g in (*.log) do (
  set "absPath=%%g"
  setlocal EnableDelayedExpansion
  set "relPath=!absPath:~%len%!"
  echo(!relPath!
  endlocal
)

2012/11/18

git小筆記

好久以前就在為使用git做一些前置作業,買了一本《git权威指南》來研究,也打算用在新的Saboteur專案上。無奈Saboteur一直在紙上談兵的階段,專案遲遲未繼續推進,在bitbucket上建好的repository轉眼也快屆滿一年了──「沒有變化,就只是個空repository。」
一直到最近工作上,因為cowork的前輩有在使用git管理他的專案,才算真的開始接觸,也看到git和傳統version control system的差異。其中我最欣賞的一點,大概就屬分散式架構(離線式)設計了,我可以很方便地在任何地方工作,即使沒有網路,也可以commit、開branch、……,等到有網路可連線時再push上server即可。

2012/09/09

在AD伺服器以外的工作站使用AD使用者帳號進行RDP登入

AD工作站上必須注意群組原則設定:
電腦設定/Windows設定/本機原則/使用者權利指派/允許透過終端機服務登入必須加入群組或使用者。一般來說,加入群組在管理上比較方便,可以將Remote Desktop Users群組加進來。

2012/04/03

[Java EE] Apache Tomcat 6 JNDI Configuration for MySQL

為了進行新專案開發,這幾天都在規畫資料表,schema 弄得差不多了,就來做 server 端的建置。server 端是採用 Linux,跑輕量級 Apache Tomcat 6──這次的案子要用 Java EE 進行開發!花了半小時,大概摸清楚怎麼在 Tomcat 下設定 JNDI 資源,簡單做個筆記。

2012/04/01

[AJAX] COMET on Apache

昨天和 hikaru 大大聊了一些桌遊,恰好聊到他最近想再用 web 來開發 DnD 這套遊戲,就討論起一些 web 技術。其中談到之前 dylan 大大說過的 COMET 技術,於是把我手上一些資料丟給 hikaru 大大參考:
  1. Browser 與 Server 持續同步的作法介紹 (Polling, Comet, Long Polling, WebSocket)
  2. How to implement COMET with PHP
今天 hikaru 大大用 PHP 在 Apache 上面實驗試做了一支聊天室,沒想到就遇上了問題:POST 之後,並不會馬上更新畫面。他推斷是 Apache request handling 機制(排隊 or something)造成的,我去 stackoverflow 一找,沒想到還真的是 request handling 問題~ XD

解決方法好像是要把 Apache MPM event module 掛上去。
  1. Using comet with PHP?
  2. Apache MPM event
再等 hikaru 大大實驗看看了~

2012/03/20

[MFC] 為按鈕加上圖示

使用 CButton::SetIcon() 為按鈕加上圖示:

CButton* button = (CButton*)GetDlgItem(IDC_BUTTON1);
button->SetIcon(AfxGetApp()->LoadIcon(IDR_ICON1));

[MFC] 對話盒應用程式使用 Toolbar

今天無聊練習了一下 MFC 的對話盒應用程式,想在對話盒上加個工具列 (CToolBar),腦袋裡浮現的卻一直是 CFrameWnd 使用的方法:EnableDocking();對一個身為 CDialog 資料成員的 CToolBar instance 來說,自然在 CDialog::OnInitDialog() 裡就炸裂了~XD