[投稿隱藏表單]
名 稱
標 題
內 文
附加圖檔[] []
  • 可附加圖檔類型:GIF, JPG, JPEG, PNG,瀏覽器才能正常附加圖檔
  • 附加圖檔最大上傳資料量為 4096 KB。
  • 當檔案超過寬 250 像素、高 250 像素時會自動縮小尺寸顯示
  • AA可使用 [aa][/aa] 防止變形
  • 回覆時程式碼縮排會被trim消掉,請善用[code][/code]標色或貼到ideone等網站
  • LaTeX記法可以用「$$」或「\( \)」包起來,例如「$\sum_{k=1}^{k=n} k^2 = \frac{n(n+1)(n+2)}{6}$」

題名一覽
12493: 無標題 (9)12432: 人工AI (6)
12488: 網址列編碼 (2)12425: 無標題 (18)
12487: 無標題 (0)12399: 無標題 (6)
12478: 無標題 (3)12358: 大外行求指點 (3)
12471: IIS的Session (0)12345: 新手入門一問,關於職涯發展。 (5)
12469: 無標題 (7)12309: 無標題 (47)
12457: 無標題 (0)12303: 自動練功程式 (20)
12455: 網遊跟手遊的成本 (1)12297: 無標題 (10)
12449: Android上的BluetoothSocket Connect (0)12294: 關於 JAVA 函數覆寫的問題 (2)
12442: 無法解決 (5)12287: 無標題 (0)
檔名:1465649023526.png-(154 KB, 818x567)
154 KB
App製作請益無名氏16/06/11(六)20:43 ID:vQ4B1cuQNo.11319[回應]
最近暑假有時間跟需求,所以想從零開始學做App

目前短期目標是希望可以學做到把App的UI跟功能都刻出來

然後再架伺服器處理通訊(先試做出一款聊天App)

不過我對這兩方面的了解不多,所以希望可以上來找些開幹前的建議QQ


我對App製作的了解大概就只是,用java在android studio上面刻

然後架設伺服器是一無所知(只知道架構好像很多,php,python,js,ruby似乎都可以)


所以想請問各位島民有沒有這兩方面的學習建議可以提供,不管是淺是深,或是丟個網站叫我自己讀也可以QQ


(補充,我會C++跟python,所以學習上有點跳級的建議應該也可以)
無名氏16/06/12(日)01:26 ID:gdb/kKT6No.11320
會python的話可以用來做backend service阿
自己去google一下關鍵字下python web services
關於製作app 建議你可以先了解一下目前app的分類
有所謂的Native ,Hybrid等的差別
總之加油吧
原Po: 感謝你的回應> < (Ng6UE2OU 16/06/12 05:15)
原Po: 我有去看了一些資料, (Ng6UE2OU 16/06/12 05:22)
原Po: 簡單來說,要做手機遊戲可以用Unity3D,這樣來做會比直接用Java刻來的要快 (Ng6UE2OU 16/06/12 05:22)
原Po: 其他程式語言或IDE也常常有可以把程式碼轉成Java放在手機上面跑的功能 (Ng6UE2OU 16/06/12 05:28)
原Po: 這樣就叫作Hybrid(混合),優點是你可以用你熟悉的語言,框架。要跨裝置平台 (Ng6UE2OU 16/06/12 05:32)
原Po: 也相對方便。Native的優點則是你用Java寫,效能,能掌握的範圍也比較大 (Ng6UE2OU 16/06/12 05:34)
原Po: 大概了解到這樣,再次感謝> < (Ng6UE2OU 16/06/12 05:35)
無名氏: native還有一種,就是直接用c或c++寫 (GXARYL7g 16/07/23 17:14)
原Po16/06/21(二)01:54 ID:10gFUORsNo.11330
檔名:1466445255047.jpg-(244 KB, 1920x1080)
244 KB
島萌們好,我是原Po。

之前就已經找到一個有興趣的同學想一起做了,預計下星期一開始正式開幹!

後來看了資料,跟問其他人最後還是決定先用原生的Java來開發。

所以目前正在邊看Java基礎教學跟邊摸android studio中!

檔名:1465779922637.jpg-(44 KB, 600x450)
44 KB
最近看到的格言無名氏16/06/13(一)09:05 ID:Re9mI.xINo.11321[回應]
無論是程式還是系統,都應該是以能幫助社會或使用者為最終目的。

只要能達到上面的目的,就可以獲得好的程式・好的系統・好的程式設計師評分要素的 99.9%。

學會最新的語言
學會最新的環境
資訊工程・系統工程

這些雖然都是達成手段的其中一個選擇,但其實只佔一個好的程式設計師評價要素的0.1%而已。

剩下的99.9%應該是「能幫助社會或使用者,也就是一個好的程式設計師要能看出社會或使用者正在追求的,並提供解決策」
無名氏16/06/13(一)09:57 ID:WvRyk7VANo.11322
我覺得這種鬼話還是別當真的好

這些話的意思我幫你們翻譯好了:

"程式都是用來解決問題的,所以能解決問題的才是好程式"

這不是屁話嗎...,你寫出來的東西當然會有某種用途

不然你是寫一個while(1){}放著等當機?
無名氏: 你家while(1)會當機啊 真厲害(棒讀 (jJYYiuEM 16/06/13 15:13)
無名氏: 放著等當機跟會當機是兩回事(?)我想他是想表示寫個沒用的東西出來除了等他莫名其妙當機之外還能幹嘛呢 (OCPuclKo 16/06/14 00:29)
無名氏16/06/19(日)17:40 ID:vDCnTF7oNo.11327
>>No.11322
原PO講的沒什麼好質疑的,本來就是這樣

其實我一直覺得很多寫程式的人都有莫名其妙的自尊心
整天沉浸在技術跟電腦的世界裡就很容易忘記這種基本原則

可以想想你寫出來的是不是有很多只能拿來炫耀技術的垃圾?
寫了半天沒有任何人想用,也沒有人在意
就跟你的人生一樣
無名氏: 那麼你參加了open source陣營了嗎? 還是假日打卡打game? (WYCe1oiM 16/06/19 21:07)
無名氏: 身為一個生活健康的工程師假日打卡(?)打game哪裡錯了嗎 (5Q3GPL1g 16/06/20 15:08)
無名氏: 說真的也不用拿open source來壓別人, open source的垃圾一堆 (5Q3GPL1g 16/06/20 15:09)
無名氏: 熱門的open source你commit別人還嫌咧 (5Q3GPL1g 16/06/20 15:10)
無名氏: 把open source講得很高尚一樣的是根本沒出社會或工作過的吧= = (5Q3GPL1g 16/06/20 15:15)

無標題無名氏16/06/10(五)15:06 ID:t2XCzR5sNo.11317[回應]
寫cuda code的時候出了點問題
題目是要把黑白bmp的顏色反白
可是我的code雖然成功轉出圖片 卻和原圖一樣根本沒轉到
找不出問題在哪... 拜託島民了...
#include <stdio.h>
#include <stdlib.h>
#include <cuda.h>
__global__ void change(char *pixeld,int start)
{
int tx = threadIdx.x; //thread的x軸id
int bx = blockIdx.x; //block的x軸id
int bn = blockDim.x; //block的x軸有幾個thread
int id = bx*bn+tx; //計算矩陣座標
char a;

if(id>=start)
{
a=255-pixeld[id];
pixeld[id]=a;
}

}

int main( int argc, char** argv)
{
FILE *input = fopen("in.bmp", "rb");
FILE *output = fopen("out.bmp", "wb");
int height,width,start;
int count=0;
char *pixelh,*pixeld;
if(!input){printf("\nfail IN\n");return 0;}

fseek(input,0x0A,SEEK_SET);
fread(&start,4,1,input);
fseek(input,0x12,SEEK_SET);
fread(&width,4,1,input);
fseek(input,0x16,SEEK_SET);
fread(&height,4,1,input);
printf("WIDTH %d * HEIGTHT %d\n",width,height);
printf("Bitmap Data start at %d\n",start);

pixelh=(char*)malloc((width*height+start)*sizeof(char));//配置記憶體
cudaMalloc((void**)&pixeld, (width*height+start)*sizeof(char));

dim3 block((width*height+start), 1, 1); //配置 thread維度、大小
dim3 grid(1, 1, 1); //配置 block 維度、大小

fseek(input,0x00,SEEK_SET);//讀取資料
while(count<=(width*height+start))
{
fread(&(pixelh[count]),1,1,input);
count++;
}

cudaMemcpy(pixeld, pixelh, (width*height+start)*sizeof(char), cudaMemcpyHostToDevice); //複製資料到GPU
change <<< grid, block >>> (pixeld,start);//呼叫
cudaMemcpy(pixeld, pixelh, (width*height+start)*sizeof(char), cudaMemcpyDeviceToHost); //複製資料回CPU

printf("\n");

fseek(output,0,SEEK_SET);//寫回資料
count=0;
while(count<=(width*height+start))
{
fwrite(&(pixelh[count]),1,1,output);
count++;
}

if(!output){printf("\nfail OUT\n");return 0;}
fclose(input);
fclose(output);
cudaFree(pixeld);
free(pixelh);
return 0;
}


NVIDIA K40: Maximum number of threads per block: 1024 (PmBC/IR. 16/06/10 16:35)
無名氏: 你確定你的kernel有成功launch嗎 (PmBC/IR. 16/06/10 16:35)
無名氏: 多塞幾個cudaGetLastError來檢查吧 (PmBC/IR. 16/06/10 16:36)
無名氏: 用的是學校的server 硬體用什麼不知道 不過最大thead數應該沒問題 我都是用2x2來測 (t2XCzR5s 16/06/10 19:06)
無名氏: kernel應該有動 塞printf進去有印出來 (t2XCzR5s 16/06/10 19:07)
無名氏: 喔喔看到問題了 53行cudaMemcpy前兩個Argument放反 (PmBC/IR. 16/06/10 21:28)
無名氏: 另外thread per block目前應該很少(或沒有)能大於1024的 (PmBC/IR. 16/06/10 21:30)
無名氏: 你block跟 (PmBC/IR. 16/06/10 21:31)
無名氏: grid dimension還是改一改比較好 (PmBC/IR. 16/06/10 21:31)
無名氏: 好...我再研究看看... (t2XCzR5s 16/06/10 21:50)
無名氏16/06/10(五)21:45 ID:t2XCzR5sNo.11318
檔名:1465566355528.jpg-(422 KB, 700x884)
422 KB
成功惹 感謝
附上祭品

檔名:1465212972707.jpg-(274 KB, 1514x1460)
274 KB
無標題無名氏16/06/06(一)19:36 ID:6raJZZDYNo.11308[回應]
島民救救我行動裝置程式設計...為什麼result的值會是-1......
明明data time title explanation的值都有丟給他啊Log看過了值也有傳過去
但為什麼result就是讀不到......

拜託島民...這個做不出來我就要延畢了
無名氏16/06/06(一)21:55 ID:6raJZZDYNo.11309
無名氏16/06/06(一)21:56 ID:6raJZZDYNo.11310
檔名:1465221379777.png-(1006 KB, 700x967)
1006 KB
補上祭品
無名氏16/06/06(一)22:14 ID:RH1qNvtUNo.11311
無名氏16/06/06(一)22:27 ID:6raJZZDYNo.11312
檔名:1465223262282.jpg-(528 KB, 780x1200)
528 KB
請問要在哪裡刪除Datebase?
無名氏16/07/03(日)00:09 ID:WgZOvQ3wNo.11338
values.put(DATE_FIELD, date);
第一個參數是你要放的"值"
第二個參數是你的"欄位名稱"

檔名:1465108008680.jpg-(283 KB, 744x612)
283 KB
如何抓開發時程?無名氏16/06/05(日)14:26 ID:55z2DTh2No.11305[回應]
這問題很少被提出來討論
但是我覺得這是工程師們的要害
在工作上我最怕被問到的問題就是:什麼時候會完成?
沒做過的事情很難估時程
唯有已經做過的的才能估的準

如果開出一個時間充裕保險的時程肯定會被要求檢討、殺價的
尤其是完全沒寫過程式的人會非常非常非常低估開發時程
而且最後真正花費的時間可能常常還是超乎工程師自己的想像
(而且會跑來問你時程的人通常都是心裡有定案了,只等你發誓而已,不是真的想聽你的意見)


我現在的做法是開一個上頭滿意的時程
然後按部就班的delay
不過通常在delay之前就會生出一個很多bug的雛形出來
而這東西會被當作成品交出去
看看客戶買不買單

這樣很糟
但是業界競爭也真的就是在跟時間賽跑
我也是願意盡量的快

不知道各位估時程的時候會有什麼技巧?
估計要寫的code行數?
用API文件的難度來評估?(學習曲線)
依客戶spec的頁數字量?
評估修改幅度?(有舊專案可用時)
無名氏: 設定一個一至兩周可完成prototype Goal ,完成後review功能跟需求 (ESmcrL4E 16/06/05 19:40)
無名氏: 這樣至少是持續有output,有東西出來就可以有更多材料跟需求方溝通 (ESmcrL4E 16/06/05 19:41)
無名氏: 小型專案大概兩至三輪goal-review(大約半個月到一個月)可以完成 (ESmcrL4E 16/06/05 19:42)
無名氏: 大型的盡人事天聽命了 (ESmcrL4E 16/06/05 19:44)
無名氏: 時程這東西不是客戶在決定的嗎,rd只能視情況而定要交出咖哩還是大便而已啦 (MwtOGDIE 16/06/05 23:12)

檔名:1465105847647.jpg-(57 KB, 600x476)
57 KB
回頭是岸無名氏16/06/05(日)13:50 ID:PF7qorS6No.11304[回應]
無內文
無名氏: 有趣 (aoRIAA5. 16/06/06 22:59)

中國駭客單挑「匿名者」 好冏!立馬被駭無名氏16/06/05(日)12:44 ID:X112qJAgNo.11303[回應]

檔名:1464935902594.jpg-(55 KB, 762x375)
55 KB
ODBC連接oracle資料庫問題無名氏16/06/03(五)14:38 ID:eyYsB/v2No.11300[回應]
我用Visual Studio 2013寫一個程式
我的電腦是Win8.1,64位元
開發過程沒問題
直到要給其他人使用的時候才發現32位元的XP沒辦法使用
執行會出現"不是正確的win32應用程式"的訊息
這時候我就在專案的屬性中
把目標Framework 改成.NET Framework 3.5

編譯後可以執行
但是執行到用ODBC連接資料庫的部分就跳出錯誤訊息
出現
[IM014] [MICROSOFT] odbc 驅動程式管理員 指定之 dsn 中的驅動程式和應用程式架構不相符

我的ODBC連接是用32位元連接到Oracle資料庫

執行到用ODBC連接的程式碼如下
System.Environment.SetEnvironmentVariable("NLS_LANG", "AMERICAN_AMERICA.AL32UTF8");//設定環境變數
OdbcConnection conn0 = new OdbcConnection("dsn=TIPTOP;UID=帳號;PWD=密碼;");
string selectcmd0 = @"SELECT * FROM 指定的資料表";
OdbcCommand cmd0 = new OdbcCommand(selectcmd0, conn0);
OdbcDataReader dr0 = cmd0.ExecuteReader();
if (dr0.HasRows)
{要執行的內容
}

但是這個時候給32位元的XP的電腦使用卻能夠正常執行

原本.NET Framework 4.5自己的電腦可以正常執行
改成.NET Framework 3.5後自己的就不能執行了
之後我嘗試再改回.NET Framework 4.5,也一樣會出現
[IM014] [MICROSOFT] odbc 驅動程式管理員 指定之 dsn 中的驅動程式和應用程式架構不相符
這個訊息

但是原本有先備份過的專案(還沒修改成3.5)
執行卻能夠正常
有人知道是什麼原因嗎
拜託各位了
無名氏: 也許是跟你編譯時的平台有關係 http://blog.darkthread.net/post-201 (v8jdV/nQ 16/06/03 21:12)
無名氏: 也同時注意一下你電腦/對方電腦的odbc,是32位元還是64位元 (v8jdV/nQ 16/06/03 21:15)

檔名:1464272775421.jpg-(27 KB, 420x720)
27 KB
無標題無名氏16/05/26(四)22:26 ID:krEh8oeINo.11291[回應]
請問一程式如何去自行編譯另一程式?
有什麼函式或指令或是方法?
……
無名氏: https://zh.wikipedia.org/wiki/%E5%85%83%E7%BC%96%E (0zGoPb5E 16/05/28 19:01)
無名氏: yP1OAh3k只是舉template為例吧,TMP本來就是metaprograming的一種 (cY9imEXs 16/05/28 21:37)
無名氏: 如果是想在程式中用system呼叫, 你就把平常在Bash中會打的編譯指令放到system("")裡 (LSQrRqtg 16/05/29 23:42)
無名氏: >>cY9imEXs 只是舉例怎麼會說"概念完全不一樣"ww (wiup60r. 16/05/30 22:30)
無名氏: 哪裡一樣?原po是要問system這類系統呼叫,你回metaprogramming這一點幫助也沒有的 (2AG9zqwA 16/05/30 23:00)
無名氏: 答案,一看就是自以為很懂裝大濕(還叫人去看wiki咧XD (2AG9zqwA 16/05/30 23:00)
無名氏: acm.nudt.edu.cn/~twcourse/Metaprogramming.html (2Apmcsvg 16/05/31 10:26)
無名氏: 自己找不到答案還硬扯template metaprograming,哀 (2Apmcsvg 16/05/31 10:27)
無名氏: meta programming指的是fout那幾行,原PO問的是system,當然不一樣 (RIL4HB0k 16/06/01 04:09)
無名氏: 各位不要這樣火氣大啦...我想主要是原PO的語句真的有點不明瞭,會想到一些複雜的東西去也是正常的 (YalF3G5. 16/06/01 04:38)
無名氏16/06/01(三)21:02 ID:/4C2ViWoNo.11298
檔名:1464786157477.jpg-(34 KB, 424x600)
34 KB
我覺得原PO真正想要的是讓程式修改自己的邏輯行為
自製編譯器或者去改現有的編譯器都不切實際
比較有機會的是讓程式自己寫腳本語言讓自己或其他程式讀
無名氏16/06/03(五)01:52 ID:0OgHrmNENo.11299
根本無法判斷原po要幹嘛,能不能說的清楚一點?

檔名:1464367874853.png-(198 KB, 512x724)
198 KB
無標題無名氏16/05/28(六)00:51 ID:83X1q3LcNo.11292[回應]
問一下,Github的專案想將其修改成別的專案要如何做?

我知道在 Github 中,如果只是想要為某專案做出修正之類等貢獻,可以用 Fork + pull request

但我想問的是利用別人的專案做出修改成一個新的專案

例如Google&Adobe之前有個思源黑體的專案,後來有人將其修改成別的字體--「思源柔黑體(源柔ゴシック)」這樣的。
Github有提供功能來做這種事嗎?
還是說只能開新專案將別人的code複製過來再修改?
無名氏16/05/28(六)01:30 ID:y2Kl9bL.No.11293
Fork 之後 clone 下來 開新分支..
無名氏: 換句話說,只要不要 pull request 就好了嗎? (tVVeTUCA 16/05/28 11:54)
無名氏16/05/28(六)22:22 ID:CD7ZpNpoNo.11294
>>還是說只能開新專案將別人的code複製過來再修改?
你已經說出答案了
Github才不會去管這些
別想得太複雜
Open source只要遵守人家的License就夠了
無名氏: 了解。謝謝。 (ILOarF/g 16/05/28 22:34)

Big5難字無名氏16/05/24(二)15:41 ID:YZkbmTpcNo.11287[回應]
想問一下
我想要判斷一串字裡是否含有難字
我可以朝什麼方向去做...?
無名氏: 難字的定義是什麼? 先想好定義在來問吧 (P5sM5LBc 16/05/24 17:43)
無名氏: 就是需要造字程式才顯示出來的字 (YtjsyCac 16/05/25 08:06)
無名氏16/05/25(三)10:32 ID:DFiQPUl.No.11290
正體中文版 Windows 的內碼是 Big5,它的造字區如下:
FA40-FEFE:
這一區有 1215 個碼位,但有 15 個碼位被保留,所以可以用來造字的碼位有 1200 個。
8E40-A0FE:
這一區有 4799 個碼位,但有 57 個碼位被保留,所以可以用來造字的碼位有 4742 個。
8140-8DFE:
這一區有 3263 個碼位,但有 39 個碼位被保留,所以可以用來造字的碼位有 3224 個。
C6A1-C8FE:
這一區有 606 個碼位,但有 8 個碼位被保留,所以可以用來造字的碼位有 598 個。
四區合計可用來造字的碼位共有 9764 個。
無名氏: 感謝~ 我朝這個方向去研究 (saWS.vs. 16/05/26 13:44)

檔名:1463018608491.jpg-(156 KB, 920x1197)
156 KB
無標題無名氏16/05/12(四)10:03 ID:G2FT3N3INo.11283[回應]
請問現在鑽研APP到底值不值得?
最近在學著使用Swift寫iOS APP
第一款APP也上架了

但出去找工作人家還是要Objective-C
回去看了Objective-C和iOS框架的部份
感覺又是一個大坑
而且這坑是靠著Apple

又聽說APP已經在走下坡了
請問現在花了時間繼續研究Objective-C和框架值得嗎?
會不會過個幾年Apple失勢
學的東西又沒用了?
無名氏: Objective C會淘汰 (UneJarYs 16/05/12 10:58)
無名氏: Swift 3 要大改版,又要重學了 (eoQXc/1I 16/05/12 12:05)
無名氏: 若不是iPhone的話,鬼才想用Objective-C (8LEUcXPk 16/05/12 19:28)
無名氏: 我原PO 我知道會被淘汰 但台灣外面90%都還是O-C阿... (Pyl3.cZE 16/05/12 23:58)
無名氏: (゚∀゚)那你就好好學啊,接下來你 以及那90% 都會被淘汰w (Lwbcmy22 16/05/13 14:30)
無名氏: 台灣90%沒啥參考性,不重要 (AJDDVtwI 16/05/13 19:55)
無名氏: 台灣90%沒啥參考性,不重要+1 (NjmdV5zI 16/05/14 01:32)
無名氏: K島反指標,又不是不知道 (ya8l/d.Y 16/05/15 16:54)
無名氏16/05/24(二)16:23 ID:t3fIZwScNo.11288
個人認為還是看工作上的需求
舊系統需要舊語言來維護
就算舊語言被市場淘汰了
如果你維護的系統需要用舊語言的話你還是得用
如果想找的工作是開發新專案
那麼新語言就會是個好選擇
至於apple會不會走下坡
我想應該不是當下需要煩惱的
與其煩惱這些不如先找個穩定的工作
每天再找點時間接觸不同語言充實自己
也為自己留點後路
無名氏16/05/25(三)10:30 ID:fUYGlbTkNo.11289
重點是你打算要做什麼
再去看有那些做法...

檔名:1463751029569.png-(46 KB, 251x235)
46 KB
無標題無名氏16/05/20(五)21:30 ID:cnx0Gb2.No.11285[回應]
最近想要接觸演算法
請教島民,有推薦的書籍嗎?
無名氏: 如果要看CLRS,最好是看原文的 (YwFqQppU 16/05/21 18:12)
無名氏: 再推 劉汝佳系列,也是用原文較好,不用去買繁體翻譯 (YwFqQppU 16/05/21 18:14)
無名氏: 剛接觸如果沒計算理論的基礎直接看CLRS會吐出來吧... (P5sM5LBc 16/05/24 17:38)
無名氏: 我覺得ICPC系列的書蠻簡潔的,簡略看過一次應該還不錯 (P5sM5LBc 16/05/24 17:39)
無名氏: 像這種 http://goo.gl/Gb3jjJ (P5sM5LBc 16/05/24 17:41)

檔名:1462363417940.jpg-(124 KB, 664x642)
124 KB
如何防止sql injection?無名氏16/05/04(三)20:03 ID:9dhMKwrMNo.11272[回應]
我想做一個網頁A,點下元素B,會跳轉到網頁C,顯示B的查詢結果
想請問一下怎麼做可以做到完全沒有SQL INJECTION的空間?

因為別人看到元素B,就會知道怎麼POST給網頁C (應該吧不確定..
而我沒有創新的SQL使用者的權限
想請問一下大家通常都怎麼防止sql injection的呢?
因為那台主機上的SQL不是只有我在用,怕我一個沒寫好把全部人的資料庫弄爆...
無名氏16/05/06(五)05:06 ID:dHG4cCqUNo.11274
「不要相信使用者輸入進來的資料」

資料進來別直接塞進SQL查詢

簡單一點作法會把特殊字元做轉換

進階一點基本上都依靠ORM之類的DAO來跟資料庫溝通
避免手動進行SQL操作
無名氏16/05/06(五)13:04 ID:SkefthogNo.11275
https://www.owasp.org/index.php/Main_Page
拿owasp作一遍弱掃,常見的弱點理論上都掃得出來
無名氏16/05/06(五)14:51 ID:kxHjlZ62No.11276
不要用字串連接做出SQL查詢字串
無名氏16/05/07(六)04:09 ID:FMyy6n/QNo.11278
找個好庫,必須支援bind value這項功能
可以杜絕sql injection
不過做網頁要考慮的可不只是sql injection

通訊資料被竊取(用ssl加密啦)
Cross-Site Scripting (XSS)
Cross-site Request Forgery (CSRF)
Session hijacking mitigatio
DoS mitigation等

檔名:1461150185849.jpg-(236 KB, 1000x1406)
236 KB
Effective Modern C++: 42 Specific Ways讀後心得無名氏16/04/20(三)19:03 ID:EMWZytfwNo.11253[回應]
趕在中文本上市一個禮拜前看完了,本書大量貫穿著Template,如果工作上沒用到或對此沒興趣,這本其實可以跳過了,本書分析C++11跟C++14語法跟組件的好處是什麼,以及衍生的問題又是什麼,如何改善....書中的每個Item只是初學者的指南而已,並不是鐵則,作者除了給讀者方向外,也讓讀者了解每個Item裡的背後運作原理(這才是作者真正的用意),讓讀者使用現代C++時能運用自如,而不是死記著準則

作者用簡潔的表達方式解釋了複雜的語言標準,像開頭的Teamplate的推導規則,作者做了很詳細又簡單的分類(勘誤表修正後更簡潔了),它跟auto哪裡一樣,又哪裡不同,了解這些後,對於後面何謂universal references又跟rvalue references有何不同,以及universal references會在什麼狀況下變成lvalue還是rvalue references是易如反掌

本書也舉著很多應該是真實的例子來講解組件跟語法的優劣來說服讀者,像std::sharted_ptr使用在Observer模式時會有什麼問題,來導出另一個組件如何來輔助

本書對於對於標準並行API著墨並不多,但跟The C++ Standard Library: A Tutorial and Reference書一樣 ,可以當作學習標準並行API的出發點
作者雖然沒有把全部C++11跟14的功能給講述出來,但在這單單的300頁裡,就講了非常非常多東西了,而且幾乎都很好懂,前提是你要對Template有些基本認識

國外談論C++技術的blog文章,大多數都跟Template脫不了關係,不知道國內業界有沒有在用Template ???

目前正在閱讀
有回應 1 篇被省略。要閱讀所有回應請按下回應連結。
無名氏16/04/21(四)07:35 ID:mrSS/qHUNo.11255
>不知道國內業界有沒有在用Template ???
台灣用c++的不多,就算你的工作環境用的是c++
職場同時(尤其老人家)大概會跟你說
c才是王道,c++是邪魔外道
然後以一知半解的知識跟你述說各種c++機制的缺點

這種時候,你到底該相信誰的呢?一群不更新知識的老人?
或者是在國際上廣受尊敬的c++專家們的話呢?
我的經驗是在職場上就算那些老人有萬般不對
你也不能公然忤逆他們,直接指出甚至親自示範他們的
說法有哪裡不對,但是你私底下可以照自己的做法來
反正台灣的公司一般都很講求“開發效率”,對程式
的審閱下的功夫接近零分,只要你的程式能動,他們
不會在乎你用的是什麼技巧,當他們發現你的程式
包含一堆template,tmp,stl以及他們看都沒看過的
技巧時,通常都來不及修改了

如果你的表現確實不錯(效率很高,錯誤非常少)
他們會開始注意你,問你為何開發速度會這麼快
比較有上進心的還會來向你請教
不過根據我的經驗,真的能擺脫c with classes的老人,一個都沒有
……
無名氏: 模板有不少有名的,高品質的c++庫都會大量的應用,例如mlpack,dlib,poco,boost (is2XF9qI 16/05/07 03:58)
無名氏: armadillo,eigen,rapidjson等族繁不及備載,為何人家有能力維護 (is2XF9qI 16/05/07 04:00)
無名氏: 台灣卻有一堆人會找藉口逃避,這到底是模板真的很難,還是台灣人不思進取? (is2XF9qI 16/05/07 04:00)
無名氏: 為何人家能善用模板開發出高品質的庫,台灣的公司卻連基本的模板運用都搞不懂? (is2XF9qI 16/05/07 04:02)
無名氏: 是模板一無是處?還是台灣人太無能?從各大著名庫的表現來看,明顯是後者 (is2XF9qI 16/05/07 04:02)
無名氏: 台灣人不思進取? 那閣下是開發不用錢免費授權強力好用庫的外國強人囉? (NxxSMQfw 16/05/07 15:23)
無名氏: 不是台灣人無能,是你看不到有能的台灣人 (pvSFub32 16/05/07 16:21)
無名氏: 我不是外國人,不過我有參與免費授權強力好用庫的開發 (OAMkPP0M 16/05/10 19:48)
無名氏: 還因此而得到了國外的工作機會,待遇雖然不是頂尖,但相比台灣卻似置身天堂 (OAMkPP0M 16/05/10 19:49)
無名氏: 你在台灣寫軟體寫十年,還不如參與開放原始碼,多認識一些人,爭取國外工作的機會 (OAMkPP0M 16/05/10 19:51)
無名氏16/04/23(六)22:40 ID:f9PhzRN.No.11257
>>不知道國內業界有沒有在用Template ???
Template真的有點少用
因為STL跟boost已經體現樣版的價值了
你不需要親自搞樣版
樣版適合建造泛用型的工具
而這方面已經有人做好給你了

我自己實作過boost::bind 跟 boost::function
也寫過類似luabind的東西
但是這些技巧我在實戰上幾乎沒用過

況且假如我用了
同事肯定對我寫的東西敬而遠之XD
(主管很怕我使用這些花招,怕其他人難接手)
無名氏: 非常感謝!! (iLXnE07I 16/04/24 07:16)
無名氏: 所以業界用Template只用在通用的涵式上而已? (iLXnE07I 16/04/24 10:25)
無名氏: 台灣的業界,你會用stl和boost就驚為天人了,至於擴充stl和boost?難得一見 (j4ZTSlyg 16/04/24 11:26)
無名氏: 利用模板設計出泛用的工具?抱歉,你還是出國比較快 (j4ZTSlyg 16/04/24 11:27)
無名氏: 不過外國的公司,上下關係不見得會像台灣這麼看重 (j4ZTSlyg 16/04/24 11:29)
無名氏: 你如果實力不達標,很可能時間到了就請你滾,不會像台灣這樣,養一堆老屁股 (j4ZTSlyg 16/04/24 11:30)
無名氏: 如果你沒有持續學習的動力,只想靠人際關係和年資混吃,留在台灣 (j4ZTSlyg 16/04/24 11:31)
無名氏: 如果你對這行充滿熱誠,出國接受挑戰吧,但你要記得人家要的是一個十年,不是是個一年 (j4ZTSlyg 16/04/24 11:31)
無名氏: 出國前,記得國外難免會有種族歧視,盡量不要和那些人起衝突 (kUMLzQls 16/04/24 12:10)
無名氏16/04/24(日)13:04 ID:NX58eVP2No.11258
又要考古C,C++的大戰了嗎? 哈哈哈 賺錢比較實在啦
搞這種宗教戰爭一樣的東西有夠浪費時間的
C++這麼棒, 拿來做Web雲端呀?
就只是一個工具而已
沒必要一副懷才不遇的樣子
題外話 澳洲這邊 早就沒有人在寫C++了
……
無名氏: 還是不要浪費時間在不正經的人身上好了 (6ACh2vDA 16/05/01 05:32)
無名氏: java等語言,底下會呼叫一堆c,c++寫的函數,所以沒有多少程式是靠java寫的 (6cgJb43c 16/05/02 20:19)
無名氏: c,c++的程式,編譯後都會成為一堆0和1,所以沒有程式是靠c,c++寫的 (6cgJb43c 16/05/02 20:20)
無名氏: 真正的程式,都是0和1而已,而要讓這些0和1工作,我們需要硬體 (6cgJb43c 16/05/02 20:21)
無名氏: 所以硬體才是主角,而製造出硬體的又是人類,所以人類最偉大 (6cgJb43c 16/05/02 20:22)
無名氏: 電子零件要有電學才能運作,電學來自馬克斯威爾方程式,而馬克斯威爾方程式就是光的體現 (ij5DaKSo 16/05/02 22:48)
無名氏: 上帝說要有光,就有了光,所以最偉大的是上帝 (ij5DaKSo 16/05/02 22:48)
無名氏: 喔 (oYNhNask 16/05/03 02:52)
無名氏: 你們亂跳,應該是->電磁->半導體->彙編語言->高階語言(C)->腳本(Python, VB) (yJUt2sUE 16/05/03 13:52)
無名氏: C和彙語之間自己寫object但這個object不是指小屁孩眼中的class(template)。 (yJUt2sUE 16/05/03 13:59)
無名氏16/05/03(二)13:13 ID:nQP4uZSQNo.11270
用啥lib都好... 記得一定要攪懂授權方式 =A=||||||||
無名氏: 簡單,Apache,BSD,MIT等直接爽爽用,LGPL用動態連結,其他就乖乖買商業授權 (pvSFub32 16/05/07 16:34)
無名氏: GPL授權不用買啊,如果你的程式只是在自家機器上跑的話,適合開發server,例如wt (jFyvZAkE 16/05/09 23:04)
無名氏16/05/08(日)08:55 ID:nySAFXxkNo.11281
這本中文本在翻譯時並沒有對照作者的勘誤表

在條款一裡的Template型別推導規則有些錯誤了
當ParamType是指標型別時,這類參數的傳遞過程跟傳值參數其實是一樣的(指標就是以by value方式來傳遞所擁有的位址)

所以條款一裡的狀況1~3要刪減成:

狀況一:ParamType是參考,但不是Universal Reference

狀況二:ParamType是Universal Reference

狀況三:ParamType不是參考

所以變成單純兩種狀況(參考參數跟非參考參數),所以指標參數推導就納入在狀況三裡面

【刪除文章】[]
刪除用密碼:
[0] [...][5] [6] [7] [8] [] [10] [11] [...][14]