- 希望未來能夠讓普世女性都能穿迷你裙上街
- 祝脫團(?)的人快快歸團
- 酒店大師的DLC趕快出完
- 還在當兵的同志們平安地當完兵吧
- 建立後宮
2009年12月31日 星期四
2009年12月27日 星期日
Plurk小圈圈管理程式
最近台灣很紅的Plurk,在前陣子終於發佈了第一版的API,所以我也趁著放假時間寫了一支小程式,這支程式是用來管理Plurk裡的小圈圈。有常在用Plurk小圈圈的網友,應該會覺得Plurk提供的介面實在是很難用,所以我就寫了這支程式,目前還算不上好用,之後希望可以修改的更直覺、好用。
下圖為整個程式的畫面,在登入的部份,除了帳號、密碼,還需要一個API Key,所以在使用之前必須到下列網址申請API Key。
將頁面拉到Get an API key這邊,就會想到申請API Key的欄位,填email並按下申請的按鈕,Plurk就會寄一組API Key到你所填的信箱,之後就可以開始使用本程式。
在開啟程式之後,先填入帳號、密碼以及申請好的API Key。
登入成功後程式會顯示訊息。
之後按下”列出小圈圈”按鈕,就會列出目前的所有群組。
點選其中一個群組,就會列出群組內的所有好友。
如果要將某一位好友從群組中移除,只要對著帳號點兩下。
之後在”好友ID”那個欄示就會顯示剛點選的帳號,之後按下”將好友從群組中移除”按鈕,移除成功就會有訊息提示。
如果要將某個好友加入群組,目前是得自己手動輸入好友的帳號,之後時間充足的話會再修改。
再來是最後一個功能,就是發噗的功能,這個就不多作說明了。
程式下載
2009年12月14日 星期一
2009年12月1日 星期二
VOC@LOID GENERATION~ボカロに代わって歌ってみた~
那天在虎之穴網站逛逛,試聽了一下這一張~
真是驚為天人啊!
這張專輯的特點就是並不是初音唱的
而是請到「いとうかなこ」さん、「加賀美セイラ」さん、「花たん(ユリカ)」さん、「桃井はるこ」さん、「実谷なな」さん等五位實力派歌手來唱初音、巡音、鏡音的歌~
曲目: 曲名/歌い手名/プロデューサー名
Disc 1
- タイムリミット/いとうかなこ/North-T
- *ハロー、プラネット。/桃井はるこ/sasakure.UK(ささくれP)
- ココロ/加賀美セイラ/トラボルタ
- VOiCE/実谷なな/ラヴリーP
- OVER/いとうかなこ/鮭P(Shake Sphere)
- ルカルカ★ナイトフィーバー/桃井はるこ/SAM
- SETSUNA Ver.2/加賀美セイラ/SHIKI
- 1/桃井はるこ/ラマーズP
Disc 2
- 極楽鳥 -bird of paradise-/加賀美セイラ/ゆうゆ
- Melody in the sky/実谷なな/40mp
- 廻紐時計/花たん(ユリカ)/ふゆ
- 悪ノ召使/いとうかなこ/mothy_悪ノP
- Transmit/花たん(ユリカ)/Dios/シグナルP
- Lost Story/花たん(ユリカ)/ゆよゆっぺ
- すべてが終わってしまう前に/実谷なな/arata
- サラリーマンのうた/桃井はるこ/彩音~xi-on~
馬上訂,一個星期不到就送到了,虎之穴效率真高...
這個......
日本人不愧是日本人, 包裝也太大了一點
內容物為 一個CD盒 + 一本小冊子
小冊子裡面是歌詞
打開紙盒, 裡面才是CD... 你到底要包幾層...
2009年11月11日 星期三
C++ TR1 Function實做簡易版
C++ Technical Report 1 (TR1) 是 C++ Standard Template Library的追加項目。TR1自己並非標準,他是一份草稿文件。然而他所提出的項目很有可能成為下次的官方標準。
其中最引人注目的就是Smart Pointer、Polymorphic function wrapper以及Function Object Binder三項。這三項主要都是來自boost這個Library。此次介紹Polymorphic function wrapper,也就是boost::function。
由於C++ 0x才支援Variadic templates語法,想支援不定參數,變成C++98最大的困難點,不同的Library有不同的做法,Loki是使用TypeList技巧。這邊用的只是簡單的Marco。
Function.h
#ifndef _Function_H_
#define _Function_H_
#define Parameters 0
#define FUNCTION_PARAMS // T1 p1, T2 p2
#define TEMPLATE_PARAMS // typename T1, typename T2
#define TEMPLATE_ARGS //T1
#define FUNCTION_ARGS // p1, p2
#include "functor.h"
#undef Parameters
#undef FUNCTION_PARAMS
#undef TEMPLATE_PARAMS
#undef TEMPLATE_ARGS
#undef FUNCTION_ARGS
#define Parameters 1
#define FUNCTION_PARAMS T1 p1
#define TEMPLATE_PARAMS typename T1
#define TEMPLATE_ARGS T1
#define FUNCTION_ARGS p1
#include "functor.h"
#undef Parameters
#undef FUNCTION_PARAMS
#undef TEMPLATE_PARAMS
#undef TEMPLATE_ARGS
#undef FUNCTION_ARGS
#endif
目前為止,可以吃下零至五個參數,需要的話可繼續擴充。看起來沒什麼技巧可言,重複定義Marco,然後重複include同一個檔案,而所有的奧妙都在底下。
Functor.h
#if Parameters == 0
#define COMMA
#else
#define COMMA ,
#endif
#define Concate(X, Y) _Concate(X, Y)
#define _Concate(X, Y) X##Y
template <typename> class Function;
template <typename R COMMA TEMPLATE_PARAMS>
class Concate(FunctionBase, Parameters)
{
public:
virtual ~Concate(FunctionBase, Parameters)() {}
virtual R operator()(FUNCTION_PARAMS) = 0;
};
template <typename R COMMA TEMPLATE_PARAMS, typename TFunctor>
class Concate(StaticFunctionImpl, Parameters) :
public Concate(FunctionBase, Parameters)<R COMMA TEMPLATE_ARGS>
{
TFunctor m_Func;
public:
Concate(StaticFunctionImpl, Parameters)(TFunctor rFunc) : m_Func(rFunc) {}
R operator()(FUNCTION_PARAMS) { return m_Func(FUNCTION_ARGS); }
};
template <typename R COMMA TEMPLATE_PARAMS, typename T>
class Concate(MemberFunctionImpl, Parameters) :
public Concate(FunctionBase, Parameters)<R COMMA TEMPLATE_ARGS>
{
T *m_obj;
typedef R (T::*MemberFunction)(FUNCTION_PARAMS);
typedef R (T::*MemberFunctionConst)(FUNCTION_PARAMS) const;
union
{
MemberFunction m_Func;
MemberFunctionConst m_Func2;
};
public:
Concate(MemberFunctionImpl, Parameters)(T *pobj, MemberFunction pFunc) :
m_obj(pobj), m_Func(pFunc) {}
Concate(MemberFunctionImpl, Parameters)(T *pobj, MemberFunctionConst pFunc) :
m_obj(pobj), m_Func2(pFunc) {}
R operator()(FUNCTION_PARAMS) { return (m_obj->*m_Func)(FUNCTION_ARGS); }
R operator()(FUNCTION_PARAMS) const { return (m_obj->*m_Func2)(FUNCTION_ARGS); }
};
template <typename R COMMA TEMPLATE_PARAMS>
class Function<R (TEMPLATE_ARGS)>
{
Concate(FunctionBase, Parameters)<R COMMA TEMPLATE_ARGS> *m_pImpl;
void _release()
{
if (m_pImpl)
{
delete m_pImpl;
m_pImpl = NULL;
}
}
public:
Function() : m_pImpl(NULL) {}
template <typename TFunctor>
Function(TFunctor pFunc) :
m_pImpl(new Concate(StaticFunctionImpl, Parameters)<R COMMA TEMPLATE_ARGS, TFunctor>(pFunc)) {}
template <typename T COMMA TEMPLATE_PARAMS>
Function(T *obj, R (T::*pFunc)(FUNCTION_PARAMS)) :
m_pImpl(new Concate(MemberFunctionImpl, Parameters)<R COMMA TEMPLATE_ARGS, T>(obj, pFunc)) {}
template <typename T COMMA TEMPLATE_PARAMS>
Function(T *obj, R (T::*pFunc)(FUNCTION_PARAMS) const) :
m_pImpl(new Concate(MemberFunctionImpl, Parameters)<R COMMA TEMPLATE_ARGS, T>(obj, pFunc)) {}
~Function() { _release(); }
R operator()(FUNCTION_PARAMS) { return (*m_pImpl)(FUNCTION_ARGS); }
R operator()(FUNCTION_PARAMS) const { return (*m_pImpl)(FUNCTION_ARGS); }
};
#undef Concate
#undef COMMA
用到的技巧嘛,大概就是Template Partial Specialization。
Demo Program
#include <iostream>
#include "function.h"
void print_1()
{
std::cout << 1 << std::endl;
}
struct print_vplus3
{
void operator()(int v)
{
std::cout << v + 3 << std::endl;
}
};
int main()
{
Function<void ()> func(print_1);
func();
print_vplus3 b;
Function<void (int)> func3(b);
func3(1);
}
雖然不鼓勵自己重新打造輪胎,不過也只有動手做過一次,才能熟練技巧。
2009年11月9日 星期一
2009年11月8日 星期日
Fate/unlimited codes セイバー・リリィ 全て遠き理想郷
Fate/unkimited codes 是由 Capcom 在 2008 年根據 Fate/Stay Night 所改編的大型格鬥電玩。 因為原作的受歡迎程度所以在 2009 年 9 月由 GoodSmile 公司推出了河原隆幸所設計的 1/7 セイバー・リリィ 全て遠き理想郷。透過了兩位好友的協助,也終於在10月的時後將這今年受人注目的 PVC入手,但是因為種種的原因所以拖到現在才開箱。(笑)
是的,這天也是 RX-93-v2 重生的一天,伴隨著重生他在 Amazon 遇見了傳說中純白的騎士姬 セイバー
那高雅的圖像深深的吸引著他,讓他無法離去。這就像是看到了心中的女神一樣。
仔細的觀看了說明之後,他知道他已經不能沒有セイバー,那高雅的造型已經將他擊倒並且就這樣癡癡的看著セイバー。
在掙扎了許久之後,他知道他必須將這囚禁的盒子打開,哪怕這是潘朵拉的盒子也無所懼。隨著光劍的揮下セイバー即將被解放。
內盒拿出後,還有一層包膜保護。腰部,手部和腳部都用著套有膠套的鐵絲捆著。對於 PVC 的保護作的誠意十足。(這時候當然趕緊找工具解放セイバー啊)
底座部分作成黑白的大理石狀,在右下角刻著這作品名稱,金屬質感的上漆方法讓整個底座充滿華麗。
表情和眼神中讓人感覺柔中帶剛,完全表現出セイバー在作品中的個性。頭髮線條刻紋和髮鬢所產生的飄逸感也無可挑剔。
馬尾,セイバー的另一特色,髮絲刻紋分明飄逸自然。
鎧甲上色和墨線處理精緻,金屬光澤的半消光處理得宜,讓整個鎧甲的金屬感完全重現。
裙子作成三層以白色為主色系搭配銀色處理,最上面的蕾絲的透明度大約 40%,中間銀白香間的襯裙和底層的白色底裙制作充滿了立體感也表現出了如百合綻放的感覺。
這作品附有兩把劍和一個劍鞘。看過作品的一定知道,其實セイバー就是亞瑟王。所以傳說的 勝利すべき黄金の剣、Caliburn 也是一定要有的,連刻紋和文字都重現。
另一把是 約束された勝利の剣、Excalibur
劍鞘 全て遠き理想郷、Avalon。也就是這次的副標題。
當然,看完配件和服裝後皮膚的處理也是要觀察一番,背部的肌肉紋路和骨架表現也是自然。
腋下的處理更是無可話說,皮膚光澤滑潤
胸部當然更不可放過,外鎧甲內藏著誘人的可愛雙峰,雖然有灌水嫌疑但是卻充滿著吸引人的魅力。
站立在台座上的感覺就是一整個完美!!! 這的確是歷代セイバー裡面的最高傑作!!
最後要感謝Mandyliao和greenfinger55的大方贈送和 RX-93-v2 的客串演出,沒有他們就沒有這開箱文啊。(菸)
等一下!!!! 很像還有重要的東西還沒介紹!! (推)
以下是大人時間,這裙間的蕾絲吊帶襪邊緣透明的設計和白中帶粉的膚色處理也是絕景,吊帶還穿透過小褲連上腰間讓人敬佩設計的細膩。
裙間的大全開讓小褲的設計也能充分表現,皺摺處理也細心。士郎看不到的就在這次完全公開吧!感謝ケロロ軍曹帶來的福利!!