今天發現了一個有趣的網站,是由任天堂公司所製作的Code Puzzle網站。由於我本身對Python這個程式語言就情有獨鍾,所以在網站上看到這樣的問題當然就覺得很興奮想試著做看看摟。
2012年10月11日 星期四
2012年9月27日 星期四
iPhone安裝程式後ICON消失
昨天在安裝新的iPhone App時,發現在桌面並沒有出現ICON的圖案,但是從搜尋又可以找到新安裝的應用程式。不過這樣我就完全沒有辦法透過手機本身去移除應用程式重新安裝。原本很緊張的以為是我在安裝到一半的時候reboot機器,造成iOS系統錯亂,後來想想還是Google看看好了。
2012年9月21日 星期五
Ubuntu 12.04 Python調用SSL的錯誤訊息
這兩天在使用Python介接某個使用OAuth2的網站驗證時,在本地端的機器測試一切都正常,但在遠端的Server上確出現了下面的問題:
<urlopen error [Errno 8] _ssl.c:504: EOF occurred in violation of protocol>
2012年9月13日 星期四
Python動態改變繼承的父類別
最近在研究Trillr的原始碼,發現在其程式中,有一段Code是如下寫的:
透過Object.__bases__+=去改變物件的__bases__屬性。
class UserMixin(object):
"""
Additional methods for users.
"""
def user_timeline(self):
return self.statuses.all().order_by('-created_at')
def friends_timeline(self):
friends = self.get_friends() + [self]
return Status.objects.filter(user__in=friends).order_by('-created_at')
def get_friends(self):
# this was expensive
return [f.target for f in self.friends.select_related('target')]
def get_followers(self):
# this was expensive
return [f.follower for f in self.followers.select_related('follower')]
def get_followers_count(self):
return Following.objects.filter(target=self).exclude(follower=self).count()
if len(User.__bases__) == 1: User.__bases__ += (UserMixin,)
透過Object.__bases__+=去改變物件的__bases__屬性。
2012年8月28日 星期二
Lenovo IdeaPad S10的充電問題
繼上次自己動手換了S10的風扇後,今天又發現S10的電池不充電了,顯示的訊息為『已接上電源 未充電 71%』。
拔掉電源插頭重接,無效,想說不會是電池跟我說掰掰了吧。這台電腦自從借給女王用了半年後,回來感覺電池的蓄電力明顯降低,天曉得發生了什麼事。上一台IBM ThinkPad R40用到最後也是1%的電都充不進去了,只能接著變壓器當桌機用。
拔掉電源插頭重接,無效,想說不會是電池跟我說掰掰了吧。這台電腦自從借給女王用了半年後,回來感覺電池的蓄電力明顯降低,天曉得發生了什麼事。上一台IBM ThinkPad R40用到最後也是1%的電都充不進去了,只能接著變壓器當桌機用。
2012年8月24日 星期五
Mac 妳這個嬌貴的小姐
前兩天公司的iMac的藍芽滑鼠沒電了,可是當天剛好有一個專案急著要Build。很剛好的前幾天iMac的藍芽鍵盤也沒電了,所以我就在家樂福買了特價的EVEREADY永備(俗稱黑貓)的電池回來換。
藍芽鍵盤換了電池之後工作一切正常,所以我也不以為意的把剩下的電池換到滑鼠上。換上電池後iMac就抓到滑鼠了,可是用沒多久就斷線。我想說會不會是買到不良品的電池,可是同樣的電池在鍵盤上工作都很正常。緊急把備用的有線滑鼠找出來,重新連線後就正常了,不過一下子就又斷線了。
在Ubuntu12.04下用gcc編譯Objective-C
最近iOS的開發是一個熱門的話題,不過我本身是Google基本教義派的(疑),所以一直沒有去了解它。不過由於工作的需求,不得以只好開始碰一點iOS開發相關的東西。
Objective-C在目前的主要的應用是在MacOS與iOS Device的開發上面,不過個人對這個語言的感覺並不是那麼喜歡,感覺C++實現的方式優美多了。
要開發Objective-C,有一台Mac是最棒的選擇,在Xcode的IDE下面寫Code方便多了。無奈我們這些窮苦人家,只好想辦法在PC上可以弄出一個可以練習Objective-C的環境。
Objective-C在目前的主要的應用是在MacOS與iOS Device的開發上面,不過個人對這個語言的感覺並不是那麼喜歡,感覺C++實現的方式優美多了。
要開發Objective-C,有一台Mac是最棒的選擇,在Xcode的IDE下面寫Code方便多了。無奈我們這些窮苦人家,只好想辦法在PC上可以弄出一個可以練習Objective-C的環境。
2012年8月10日 星期五
在Python SMTP加入寄件者名稱的做法
由於必需在寄送給用戶的EDM中顯示出寄件者名稱,而不是單純只顯示寄件者的Email Address,故我們需要修改一下MIMEMultipart的['From']欄位中的資料以顯示寄件者名稱。
2012年8月8日 星期三
2012年8月7日 星期二
0gc.me 縮網址服務
大話設計模式(1)—簡單工廠模式
Operation運算類別
# -*- coding: utf-8 -*-
class Operation(object):
def __init__(self):
self._numberA = 0
self._numberB = 0
@property
def numberA(self):
return self._numberA
@numberA.setter
def numberA(self, value):
self._numberA = value
@property
def numberB(self):
return self._numberB
@numberB.setter
def numberB(self, value):
self._numberB = value
def get_result(self):
#result = 0
#return result
raise NotImplementedError
加減乘除類別
# -*- coding: utf-8 -*-
from operation import Operation
class DivZeroException: pass
class OperationAdd(Operation):
def get_result(self):
result = 0
result = self._numberA + self._numberB
return result
class OperationSub(Operation):
def get_result(self):
result = 0
result = self._numberA - self._numberB
return result
class OperationMul(Operation):
def get_result(self):
result = 0
result = self._numberA * self._numberB
return result
class OperationDiv(Operation):
def get_result(self):
result = 0
if self._numberB == 0:
raise DivZeroException
result = self._numberA * 1.0 / self._numberB
return result
簡單運算工廠類別
# -*- coding: utf-8 -*-
from suboperation import OperationAdd, OperationSub, OperationMul, OperationDiv
class OperationFactory:
@staticmethod
def create_operate(operate):
oper = None
if operate:
if operate == '+':
oper = OperationAdd()
elif operate == '-':
oper = OperationSub()
elif operate == '*':
oper = OperationMul()
elif operate == '/':
oper = OperationDiv()
return oper
用戶端程式碼
# -*- coding: utf-8 -*-
from operation import Operation
from operationfactory import OperationFactory
oper = OperationFactory.create_operate('+')
oper.numberA = 1
oper.numberB = 2
result = oper.get_result()
print result
又是新的部落格
原本的Blogger因為插了太多非官方的插件,造成現在連線進去都會有莫名的錯誤發生。
而且Blogger這幾年的改版好大,很多原本沒有的功能現在官方都新增進去了,看起來還算是勘用。原本Blogger的功能感覺有點薄弱,像一般在台灣的BSP中有的功能,用戶都要自己找到適合的插件去增強它。
而且Blogger這幾年的改版好大,很多原本沒有的功能現在官方都新增進去了,看起來還算是勘用。原本Blogger的功能感覺有點薄弱,像一般在台灣的BSP中有的功能,用戶都要自己找到適合的插件去增強它。
訂閱:
文章 (Atom)