CS50 Pset8

這是我在CS50最後一個作業了!心裡有莫名感動QQ

剛剛想新增文章,因為筆電一直未修好結果沒有自己blog紀錄,只好google自己的blog,竟意外發現去年的標題:如何使用Stylus編輯CSS?

身為原作者的我一看好陌生?!哈哈哈,不過是我寫的沒錯。

這次很拚命趕做作業除了是因是最後一個作業之外,也是因這次作業有用到Google Map API,而一查發現6月中它要改變一些使用政策,因不想重新了解細節,死也要趕快寫完作業。
這次作業要做成像這樣,這是CS50 staff寫的:http://mashup.cs50.net/

因為一堆作業權限,所以截幾張圖珍藏一下:
https://cs50.me/submissions
圖中是所有在CS50交的作業,截成這樣是因為作業太多畫面擠不下XD



這次寫的mashup app作業:


這次作業規格和影片也是一堆,當然又花了一陣子看完。而這次作業其實要寫的code較之前少很多。重點在看完整個app的程式流程,試圖補上缺少的拼圖、串完沒串好的機制。當然這次app中使用很多libraries,不管是Google Map、Flask JSGlue、typeahead.js或handlebar.js,都需一一去理解這些API的設計架構或使用方式。讓我覺得會寫code是一回事,如何看懂與理解,並試圖擴展或改善別人的code則是更重要的一件事。

CS50作業一直以來都是用sqlite,我還是這次才發現是屬於MySQL語法,因這次用到limit寫法。另外常常sql我寫的都是AND的條件句,這次是我第一次寫到OR的條件句,感覺新鮮^^

過程中其實查很多資料,無法一一列出,以下是幾個不錯連結:
http://thepythonguru.com/python-exception-handling/

https://docs.python.org/3/tutorial/errors.html

https://stackoverflow.com/questions/12410062/check-if-infowindow-is-opened-google-maps-v3/12410385#12410385

https://developer.mozilla.org/en-US/docs/Web/API/Event/returnValue

https://www.w3schools.com/jsref/event_cancelbubble.asp

https://stackoverflow.com/questions/7907596/json-dumps-vs-flask-jsonify


by the way, 查資料發現CS50給的code有錯,console報錯:

scripts.js:160 Uncaught TypeError: event.cancelBubble is not a function
    at HTMLDocument.<anonymous> (scripts.js:160):

我試圖將scripts.js的event.cancelBubble && event.cancelBubble();改為event.cancelBubble && event.cancelBubble = true;,但IDE報錯,我懷疑是另個code的影響:event.returnValue = true;

但又是非標準寫法,因不想管太多,所以最後沒改,但其實最好也不要寫event.returnValue,改為preventDefault()才是正規寫法。


最後,今天寫太晚,明天再寫CS50 完結篇吧,晚安。






留言

熱門文章