2013年12月16日 星期一

Mac初期化

之前幫李董做一些程式優化的部份,但已經習慣了在Mac的電腦下作業,家裡的筆電上灌的也是Windows7的作業系統,又不想像之前在VMWare Player下安裝Ubuntu來coding,所以就跟李董借了一台MacBook Pro來用。

優化的部份做的差不多了,所以向人家借來的筆電也該還了。在公司用了這麼久的Mac,下一台筆電我想應該就是一台surface pro加上一台MacBook Pro或Air的組合了吧。畢竟原本想買台筆電來工作和打Game兩用的作法,經過漫長的時光後證實我連玩PC Game的時間都沒有了,更何況用筆電呢。每次都堅持要買有獨顯的14吋筆電,最後在上面玩Game的時間屈指可數。

2013年3月19日 星期二

MacBook Pro外接HDMI色差問題

現在的這間公司,所有的程式人員都是使用Mac做為一般工作的開發環境。所以在我剛報到的時候,公司就發了一台MacBook Pro 13"給我。但只有MacBook2的螢幕寫程式實在太痛苦了,所以公司又很貼心的幫每個使用筆電的同仁準備了一個27吋的外接螢幕與Mini DisplayPort to HDMI Adapter。

2013年2月21日 星期四

在Apache2中同時設定static file與uwsgi

今天有一個需求是要在網站內加入crossdomain.xml。但是在原本的網頁伺服器上已經將/根目錄全部pass給uwsgi做處理。之前在Nginx上的做法是加入下列的code即可

    location /crossdomain.xml {
        alias /home/webapps/static/crossdomain.xml;
    }

    location / {
        include        uwsgi_params;
        uwsgi_pass     127.0.0.1:9001;
    }


2012年10月11日 星期四

任天堂Code Puzzle

今天發現了一個有趣的網站,是由任天堂公司所製作的Code Puzzle網站。由於我本身對Python這個程式語言就情有獨鍾,所以在網站上看到這樣的問題當然就覺得很興奮想試著做看看摟。

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是如下寫的:

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__屬性。