C++ pointer

我要好好懺悔大學的時候囫圇吞棗,pointer一直覺得有點模糊,今天才恍然大悟。

int n = 8;
cout << n << endl;

int *a = &n;
cout << a << endl;

int x = *a;
cout << x << endl;

依序會印出
8
n的記憶體位置
8

非常重要的重點就是*這個符號,寫在宣告裡面跟寫在等式左右邊完全不同
(1)宣告時寫int *a;
其實意義比較像是int* a;
應該把int和*連在一起當作一種型態(指向整數之指標)
但要注意如果像int* a,b;這種寫法
其實等於 int*a; int b;
只有a是指標
(2)在等式的左邊或右邊用*號時則是取得放在那個位址的變數的值

因此也有經典的swap問題
call by value:
void swap(int a, int b){
int tmp = a;
a = b;
b = tmp;
}
沒有用

必須要call by address(call by pointer)
void swap(int* a, int* b){ //a和b都是位址
int tmp = *a; //*a和*b是指向位址的值
*a = *b;
*b = tmp;
}
swap(&x, &y);

或是call by reference(reference就像是變數的alias別名,連記憶體位置都一樣)
(這裏在宣告時的&跟在等式左右邊的&意思也不一樣)
swap(int &a, int &b){
int tmp = a;
a = b;
b = tmp;
}
swap(x,y);

廣告

PHP | 檔案上傳

(來源: allan的講義ch4)

一、user檔案要傳到哪裡
(1)確認server電腦使用者的身分(SYSTEM or 自己) – 工作管理員(apache.exe/httpd.exe)
(2)在 C:\AppServ\www 下新增一個存放user上傳檔案的目標資料夾,右鍵內容→安全性,看Apache使用者是不是有「寫入」的權限

二、在<form>標籤裡加入 enctype="multipart/form-data" 屬性

三、檔案選擇按鈕(「瀏覽…」)
<input type="file" name="自訂名稱">

四、PHP取得檔案資訊
利用 $_FILES 這個陣列取得使用者上傳的資料(name/type/size/tmp_name)
ex: $_FILES[‘自訂名稱’][‘type’]:文件的 MIME 型別,需要瀏覽器提供該訊息的支援,例如"image/gif"

move_uploaded_file(tmp, path)
tmp: 暫存檔的檔名(tmp_name)
path: 公開資料夾路徑,含完整路徑與檔名

basename(path)
只留下單純的 檔案名稱.副檔名
例:basename(‘C:\test\test.jpg’); → 得到 test.jpg

.JSON 檔

JSON(JavaScript Object Notation)
輕量級的資料交換語言,以文字為基礎,且易於讓人閱讀。
儘管JSON是Javascript的一個子集,但JSON是獨立於語言的文字格式,並且採用了類似於C語言家族的一些習慣。

可以在JavaScript以eval()函式(javascript通過eval()調用解釋器)讀入。
不過這並不代表JSON無法使用於其他語言,事實上幾乎所有與網頁開發相關的語言都有JSON函式庫。

與XML的比較
JSON與XML最大的不同在於XML是一個完整的標記語言,而JSON不是。這使得XML在程式判讀上需要比較多的功夫。主要的原因在於XML的設計理念與JSON不同。XML利用標記語言的特性提供了絕佳的延展性(如XPath),在資料儲存,擴充功能及高階檢索方面具備對JSON的優勢,而JSON則由於比XML更加小巧,以及瀏覽器的內建快速解析支援,使得其更適用於網路資料傳輸領域。

—— Wikipedia

links:
1. 你不可不知的JSON基本介紹
2. 瞭解JSON格式

視覺化

[ 詞頻類 ]
Google N-gram viewer
Bookworm-Arxiv
http://www.hksilicon.com/kb/articles/60499/Bookworm-Arxiv
Highbrow: A Textual Annotation Browser
https://osc.hul.harvard.edu/highbrow/
https://osc.hul.harvard.edu/sites/default/files/Highbrow.pdf

[ 常見統計圖表類 ]
Flot – jQuery Plugin – 有簡易API
http://www.flotcharts.org/
http://blakechen.pixnet.net/blog/post/6375842-jquery%E6%87%89%E7%94%A8(1)-flot
http://www.cnblogs.com/lwme/archive/2012/08/18/jquery-flot-plugin.html

[ 整合類 ]
Raphaël – JavaScript Library
使用SVG和VML來畫圖,生成的每個圖形都是一個DOM對象,所以可以透過Javascript來操作這些圖形
http://raphaeljs.com/
http://www.allenj.net/archives/4102
http://pc-coder.blogspot.tw/2010/10/raphaeljavascript-library.html

IBM Many Eyes
http://www-958.ibm.com/software/data/cognos/manyeyes/datasets?tag=elementary&sort=rating
http://meebox.blogspot.tw/2007/01/ibmmany-eyes.html
http://www.guokr.com/post/82137/

[ 地圖類 ]
Google Charts – Geo Map
https://developers.google.com/chart/interactive/docs/gallery/geomap

Gmaps.js
http://hpneo.github.io/gmaps/
http://www.gbin1.com/technology/jquerynews/20120608jquery-plugin-gmaps/
http://head.barepants.com/gmaps-js/

InstantAtlas (有免費試用版)
http://www.instantatlas.com/

[ 時間軸類 ]
Simile Widget Timeline
https://www.openfoundry.org/tw/tech-column/8807-simile-widget-timeline-
http://code.google.com/p/simile-widgets/wiki/Timeline_GettingStarted

Dipity (匯入書?)
http://www.dipity.com/
http://www.skyvee.net/2008/06/dipitytimeline.html

TimelineJS
http://segmentfault.com/a/1190000000368066
http://technews.tw/2014/04/08/old-dogs-can-learn-new-tricks-revolutionary-reporting-on-mobile-device/#more-29749

[ 其它 ]
Wolfram Alpha
visual.ly
http://visual.ly/
http://www.advertisingfan.net/2012/05/infographics-for-dummies-intro.html
http://www.inside.com.tw/2011/04/29/infographic-how-to

Gephi 很多node和線
https://gephi.org/
http://blog.sina.com.cn/s/blog_4766fd440101c70n.html

moqups,線上畫網站雛形設計可分享。
https://moqups.com/


[ g0v ]
政誌 bootsrap – timeline
中央政府總預算


AJAX:
AJAX即「Asynchronous JavaScript and XML」(非同步的JavaScript與XML技術),指的是一套綜合了多項技術的瀏覽器端網頁開發技術。
傳統的Web應用允許使用者端填寫表單(form),當送出表單時就向Web伺服器發送一個請求。伺服器接收並處理傳來的表單,然後送回一個新的網 頁,但這個做法浪費了許多頻寬,因為在前後兩個頁面中的大部分HTML碼往往是相同的。由於每次應用的溝通都需要向伺服器發送請求,應用的回應時間依賴於 伺服器的回應時間。這導致了使用者介面的回應比本機應用慢得多。
與此不同,AJAX應用可以僅向伺服器發送並取回必須的資料,並在客戶端採用JavaScript處理來自伺服器的回應。因為在伺服器和瀏覽器之間交換的資料大量減少(大約只有原來的5%),伺服器回應更快了。同時,很多的處理工作可以在發出請求的客戶端機器上完成,因此Web伺服器的負荷也減少了。
http://zh.wikipedia.org/wiki/AJAX

Responsive Web Design(RWD)
room in/out example: http://punnode.com/archives/11408
談新聞網站在 Mobile 上的設計細節: http://blog.xdite.net/posts/2014/02/24/details-on-news-sites-design/
網路活動到底該不該做手機版? https://marketing.tw.campaign.yahoo.net/emarketing/contentF4.php?main=A01&sub=B02&tri=&literary=1063
自動切換電腦或手機版(PHP、ASPX)
http://www.minwt.com/mobilewebdesign/2501.html

html 5
SVG
DOM