真的就是亂寫用的筆記

雖然 CPython 裡頭的 module,在 IronPython 裡頭都有一份,不過還是有一些地方有點殘缺,像是如果用了 minidom 來 parse XML,就會發現少了 expat.py ,需要用 http://ironpython.codeplex.com/workitem/20023 裡頭提到的方式修正。

事實上,如果用了 IronPython,感覺起來全部使用 .Net 的東西,會比呼叫 C:\Program Files\IronPython\Lib 裡頭的東西好。如果你想要將 IronPython 寫出的 script 編譯成 .Net 的 .dll 或 .exe 的時候,就會發現要把用到 CPython 的東西包進來,不是什麼容易的事情,那麼還不如都呼叫 .Net 提供的 class 使用—直接就在寫一個 .Net 程式,只是語言換成 Python。

那這樣其實跟寫 VB 差不多嘛。

iOS 5.0b7: API Validation

cocoaheads:

NEW: Starting in iOS 5.0 development tools beta 7, it is possible to extract APIs used by an application and have them checked for private APIs usage. This option will be offered at Validation time.

(via Improvements in Windows Explorer - Building Windows 8 - Site Home - MSDN Blogs)

一點都不會讓人覺得比較好用啊!

(via Improvements in Windows Explorer - Building Windows 8 - Site Home - MSDN Blogs)

一點都不會讓人覺得比較好用啊!

IronPython 的字串處理

簡單筆記一下。

CPython 當中的字串,基本上就是當成一串 C 的 char[],但是 IronPython 裡頭,字串裡頭的每個字,都是一個 Unicode 字元—IronPython 的字串,其實是用 .Net 裡頭的字串實作的,基本上我們只要把 IronPython 的字串當成 System.String 處理就好。於是我前兩天遇到一個問題:我有一段程式,基本上是要取出一段字串裡頭的每個 char,然後把每個 char 根據一定的規則換掉,在 CPython 裡頭,基本上就像這樣:

length = len(originalString)
for i in range(0, length):
    c = ord(originalString[i])

這樣的程式在 IronPython 裡頭的結果會完全不一樣。同樣呼叫 len(“中文”),在 CPython 裡頭會得到 6,在 IronPython 裡頭會得到 2。要得到跟 CPython 一樣的結果,我們在 IronPython 裡頭,需要先把 Unicode 字串轉成 ASCII 處理,而這時候…看來要用點 .Net 的東西

import clr
clr.AddReference("System")
import System
originalData = System.Text.Encoding.UTF8.GetBytes(originalString)
convertedData = System.Text.Encoding.Convert(System.Text.Encoding.UTF8,
System.Text.Encoding.ASCII, originalData)
length = len(convertedData)

for i in range(0, length):
    c = System.Convert.ToInt32(convertedData[i])

真囉唆。

[Update] 對,Python 3 的字串也都已經換成 Unicode 了,但是手上這些東西要換成 Python 3 還是有點麻煩啊(搔頭)。尤其是我經常會呼叫 PyObjC,而這就會牽涉到 Mac OS X 給的 Python.Framework 裡頭,給的 Python 是那個版本。

順手一貼。

順手一貼。

本餐廳經理之前在經營餐館時,因常陪客人應酬,而導致身體不適,經常住院。在住院期間,感受到了白衣天使的細心照顧以及醫生的專業、親切,發覺到這不正是餐飲業同時應具備的要素,因而興起了D.S主題餐廳的構想。

DS餐廳 — DS介紹

這裡會有白衣天使跟你應酬讓你身體不適。

滑動。

滑動。

CoreText example: Column Layout (correctly inverted text) | foobarpig.com

真討厭,預設是反過來的。

8 months ago

案情並不單純 :p

NSLog(@”[NSString superclass] %@”, NSStringFromClass([NSString superclass]));

NSLog(@”[[NSString string] class] %@”, [[NSString string] class]);

NSLog(@”[[NSString string] superclass] %@”, NSStringFromClass([[NSString string] superclass]));

NSLog(@”[NSMutableString superclass] %@”, NSStringFromClass([NSMutableString superclass]));

NSLog(@”[[NSMutableString string] class] %@”, NSStringFromClass([[NSMutableString string] class]));

NSLog(@”[[NSMutableString string] superclass] %@”, NSStringFromClass([[NSMutableString string] superclass]));

NSLog(@”[NSValue superclass] %@”, NSStringFromClass([NSValue superclass]));

NSLog(@”[[NSValue valueWithRange:] class] %@”, [[NSValue valueWithRange:NSMakeRange(0, 0)] class]);

NSLog(@”[[NSValue valueWithRange:] superclass] %@”, NSStringFromClass([[NSValue valueWithRange:NSMakeRange(0, 0)] superclass]));

NSLog(@”[NSNumber superclass] %@”, NSStringFromClass([NSNumber superclass]));

NSLog(@”[[NSNumber numberWithInt] class] %@”, [[NSNumber numberWithInt:1] class]);

NSLog(@”[[NSNumber numberWithInt] superclass] %@”, NSStringFromClass([[NSNumber numberWithInt:1] superclass]));

NSLog(@”[NSArray superclass] %@”, NSStringFromClass([NSArray superclass]));

NSLog(@”[[NSArray array] class] %@”, NSStringFromClass([[NSArray array] class]));

NSLog(@”[[NSArray array] superclass] %@”, NSStringFromClass([[NSArray array] superclass]));

NSLog(@”[NSMutableArray superclass] %@”, NSStringFromClass([NSMutableArray superclass]));

NSLog(@”[[NSMutableArray array] class] %@”, NSStringFromClass([[NSMutableArray array] class]));

NSLog(@”[[NSMutableArray array] superclass] %@”, NSStringFromClass([[NSMutableArray array] superclass]));

NSLog(@”[NSDictionary superclass] %@”, NSStringFromClass([NSDictionary superclass]));

NSLog(@”[[NSDictionary dictionary] class] %@”, NSStringFromClass([[NSDictionary dictionary] class]));

NSLog(@”[[NSDictionary dictionary] superclass] %@”, NSStringFromClass([[NSDictionary dictionary] superclass]));

NSLog(@”[NSMutableDictionary superclass] %@”, NSStringFromClass([NSMutableDictionary superclass]));

NSLog(@”[[NSMutableDictionary dictionary] class] %@”, NSStringFromClass([[NSMutableDictionary dictionary] class]));

NSLog(@”[[NSMutableDictionary dictionary] superclass] %@”, NSStringFromClass([[NSMutableDictionary dictionary] superclass]));

NSLog(@”[NSData superclass] %@”, NSStringFromClass([NSData superclass]));

NSLog(@”[[NSData data] class] %@”, NSStringFromClass([[NSData data] class]));

NSLog(@”[[NSData data] superclass] %@”, NSStringFromClass([[NSData data] superclass]));

NSLog(@”[NSMutableData superclass] %@”, NSStringFromClass([NSMutableData superclass]));

NSLog(@”[[NSMutableData data] class] %@”, NSStringFromClass([[NSMutableData data] class]));

NSLog(@”[[NSMutableData data] superclass] %@”, NSStringFromClass([[NSMutableData data] superclass]));

NSLog(@”[NSSet superclass] %@”, NSStringFromClass([NSSet superclass]));

NSLog(@”[[NSSet set] class] %@”, NSStringFromClass([[NSSet set] class]));

NSLog(@”[[NSSet set] superclass] %@”, NSStringFromClass([[NSSet set] superclass]));

NSLog(@”[NSMutableSet superclass] %@”, NSStringFromClass([NSMutableSet superclass]));

NSLog(@”[[NSMutableSet set] class] %@”, NSStringFromClass([[NSMutableSet set] class]));

NSLog(@”[[NSMutableSet set] superclass] %@”, NSStringFromClass([[NSMutableSet set] superclass]));

結果是:

[NSString superclass] NSObject

[[NSString string] class] NSCFString

[[NSString string] superclass] NSMutableString

[NSMutableString superclass] NSString

[[NSMutableString string] class] NSCFString

[[NSMutableString string] superclass] NSMutableString

[NSValue superclass] NSObject

[[NSValue valueWithRange:] class] NSConcreteValue

[[NSValue valueWithRange:] superclass] NSValue

[NSNumber superclass] NSValue

[[NSNumber numberWithInt] class] NSCFNumber

[[NSNumber numberWithInt] superclass] NSNumber

[NSArray superclass] NSObject

[[NSArray array] class] __NSArrayI

[[NSArray array] superclass] NSArray

[NSMutableArray superclass] NSArray

[[NSMutableArray array] class] __NSArrayM

[[NSMutableArray array] superclass] NSMutableArray

[NSDictionary superclass] NSObject

[[NSDictionary dictionary] class] __NSDictionary0

[[NSDictionary dictionary] superclass] NSDictionary

[NSMutableDictionary superclass] NSDictionary

[[NSMutableDictionary dictionary] class] __NSCFDictionary

[[NSMutableDictionary dictionary] superclass] NSMutableDictionary

[NSData superclass] NSObject

[[NSData data] class] NSConcreteData

[[NSData data] superclass] NSData

[NSMutableData superclass] NSData

[[NSMutableData data] class] NSConcreteMutableData

[[NSMutableData data] superclass] NSMutableData

[NSSet superclass] NSObject

[[NSSet set] class] __NSSet0

[[NSSet set] superclass] NSSet

[NSMutableSet superclass] NSSet

[[NSMutableSet set] class] __NSCFSet

[[NSMutableSet set] superclass] NSMutableSet

名侦探柯南中最牛逼的受害者,笑死我了,谁翻译的 (by undergradmonk)

好厲害的鐵頭功啊…。

可是就算鐵頭再硬,遇到天煞孤星科南,也是直接被活活剋死。

奮鬥吧!系統工程師SE 兩週內即可上手?SE入門 1
這是怎樣的書啊(歪頭)
(via 博客來書籍館>奮鬥吧!系統工程師SE 兩週內即可上手?SE入門 1)

奮鬥吧!系統工程師SE 兩週內即可上手?SE入門 1

這是怎樣的書啊(歪頭)

(via 博客來書籍館>奮鬥吧!系統工程師SE 兩週內即可上手?SE入門 1)