作者kloer (測試..)
看板Soft_Job
標題Re: [請益] 如何增進自己程式的實力?
時間Mon Oct 12 10:50:25 2020
我也是台科資工的, 畢業不久
分享一下我從大一開始的學習方法
我跟一般人建議方式不一樣, 我絕對不建議去刷題
我的建議方式是你要先找出興趣, 然後從興趣做寫程式
而不是去刷題腦袋再想一些自己都沒興趣的演算法
如果你對遊戲有興趣, 那你就去研究一下怎麼去破解一個遊戲
寫寫外掛, 有的沒的, 網路上很多資源, 尤其是對岸
例如說, 找個踩地雷, 思索一下如何破解, 用一些工具觀察
然後你就會發現原來分數/地雷位置是這樣存在 memory 裡面
然後嘗試用 C/C++ 寫一個外掛工具, 即時顯示地雷位置或竄改分數
如果你對網頁有興趣, 就去研究一下大家的 web server 上的 script 大致上都怎麼寫
有什麼可能的漏洞, 如何避免等等
然後親身去實驗一下, 黑幾個網站, 上傳一下 web shell
把對岸有漏洞的首頁改了, 放個國旗順便撥國歌, 驗證自己的思路慢慢進步
以上的原則就是: 做壞事永遠是進步的最大動力
至於選課部分就我所知, 可以多選賴教授的課程
程式上可能會略有進步比起其他人開的課
※ 引述《camry2009 (camry)》之銘言:
: 我是台科的資工系 (原本是高中生)
: 大一剛從機械轉過來,在一下有修過C#
: 目前直接銜接資工大二的課程
: 現在學的東西的確讓我比較有興趣,但一方面也覺得有點挫折
: 現在學到的資料結構 ,數位邏輯等課程的功課都花費我大量的時間...
: 我暑假因為怕跟不上大家,有先去台大暑假開設的C語言設計課程,希望至少不要差的這
: 麼多
: 但我資料結構想了10天...別人一個小時就輕鬆解決..還是讓我有點對自己失望,
: 甚至會有點害怕打code...
: 大一的課程---C語言程式設計目前都還可以,但資結有點讓我失去信心的感覺
: 我想讓自己趕快跟上大家...想要趕快進步
: 有先去爬過tinlans大大的文章了...要先搞清楚自己要幹嘛,我原本想說想成為寫遊戲的
: 工程師,但感覺離夢好像越來越遠了,也不確定會不會繼續這個想法
: 這樣會有礙我的進步嗎?
: 然後我想問一下,程式不會的話是不是不要問人比較好?
: 我想很久之後,越靠近繳交期限,就會很想把作業交出去...就會去請教別人,這樣是不
: 是錯誤的學習方式?
: 還有一點是我現在身邊的用書是:absolutely c++,是原文的
: 最近在想要不要買C++ primer 因為好像大家都推這一本
: 然後我朋友跟我說買中文就好了...看比較快,學程式知道他講甚麼就好了。可是我看ptt
: 大家好像還是推原文,因為意思比較不會跑掉? 請問該怎麼選擇?
: 然後我該怎麼增進自己實力比較好? 一直刷題嗎?如果要,題目該刷哪一種的?
: 有點迷惘的感覺...希望前輩們可以給我一點方向 感謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.36.19.220 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1602471027.A.F0F.html
1F:推 dream1124: 呃… 你這樣人家是可以告的… 不用那麼激進吧 10/12 10:57
2F:→ dream1124: 不過我也不推高中那種一課一課讀的念法 10/12 10:57
3F:→ dream1124: 最好找些演算法普及的書來看,現在國內外教材很多元 10/12 10:57
4F:→ dream1124: 有些概念明明不是真的難懂,但是被CLRS一寫就變天書 10/12 10:58
5F:→ testPtt: 現在線上遊戲很多都有驗證資料的 只會浪費很多時間 10/12 10:59
所以我說找對岸的, 我高中時代換了幾十個對岸 gov.cn 首頁, 連 proxy 都懶的掛了 ..
怕的話掛個 proxy
※ 編輯: kloer (114.36.19.220 臺灣), 10/12/2020 11:00:55
6F:→ dream1124: 有些人很喜歡用數學符號表達一堆概念,但那未必好懂 10/12 11:00
7F:→ dream1124: 數學符號實際上是一門比程式語言設計爛超多的語言 10/12 11:00
把簡單的東西用數學符號組成難以閱讀的式子
這是大師級通常都會幹的 XD
※ 編輯: kloer (114.36.19.220 臺灣), 10/12/2020 11:18:09
8F:→ dream1124: 對啊,他能融會貫通但身為教科書作者卻不見得教得好 10/12 11:23
9F:推 Apache: 大師 10/12 11:37
10F:→ camry2009: 謝謝學長 賴x吉的課應該二下會再去修...聽修過的同學 10/12 11:39
11F:→ camry2009: 說很地獄XD 10/12 11:39
我修過不少, 其實沒這麼地獄
但是程式功力會提升, 這是少數實作上可能會寫 10k+ LoC 的課
很多人聽到很地獄就不去修了反而可惜
12F:推 TheOneisNEO: 可以舉一些簡單概念但用數學符號很難閱讀的例子嗎? 10/12 11:41
13F:→ ckvir: 還是學Leetcode 打基礎吧,你講的那些對寫code 沒什麼幫助 10/12 11:49
14F:推 james732: 我個人也不支持刷題 10/12 11:54
15F:→ dream1124: @TheOne 有些人看數學式學得快,但我則是看長文學得快 10/12 11:57
16F:→ awwseed: GGC 擠房程式跟破解反開圖該不會就是你寫的!? 10/12 12:15
17F:→ zhuzii: 刷題目的很簡單 就是面試 不是給你學程式的 當然有人是當 10/12 12:21
18F:→ zhuzii: 興趣 不在討論範圍 10/12 12:21
19F:推 aidansky0989: 推,亞洲人學東西就喜歡搞套路,學不出興趣也學不久 10/12 12:36
20F:→ keke0421: ..搞一堆 結果就業還是要刷題 zzz 10/12 12:43
老實說我就業到現在沒在刷題的, 就連 leetcode 介面長什麼鳥樣都不知道
只能靠 leetcode 就把面試者刷掉我反而覺得可惜
有些人是有潛力的, 實作上很強很肯做, 但不代表他很會刷題
21F:→ Apache: 不過我覺得平衡一下 10/12 12:46
22F:→ cplusplus426: 好強喔 都不會去破解踩地雷欸 10/12 12:48
23F:→ Apache: 原PO光是DS和數電就搞很久了 這兩科難謂不重要 10/12 12:48
24F:→ Apache: 而且在日後系統編程或是其他OS Arch Net之類的科目也會用 10/12 12:50
25F:→ Apache: 你提的當然很好 但是我覺得並沒有解決原PO實質面臨的問題 10/12 12:51
26F:推 energyy1104: 我反而覺得新人不要直接刷題 先做一點能動的東西增 10/12 12:53
27F:→ energyy1104: 加成就感 但肯定不是寫外掛 或是去搞別人的server 10/12 12:53
28F:→ energyy1104: 能動的東西 像爬蟲 聊天機器人什麼的 10/12 12:53
我的想法也是這樣的, 文中的範例只是我個人經歷
29F:推 camry2009: 還是很謝謝你們的意見 !我打算先做好份內的 學長太厲 10/12 12:58
30F:→ camry2009: 害了哈哈 10/12 12:58
另外你提到的你花 10 天才解決
別人一小時輕鬆解決, 這沒什麼好挫折的
這只是起跑點不同的問題, 有些人可能國高中就在寫了
現在上大一的東西他根本隨便寫隨便過
當然寫程式有天份問題
但是以大學程度的東西來說
沒什麼東西是需要天份才能解決的
我當初也是你眼中的輕鬆解決的那群
不過這真的沒什麼, 不要放棄, 因此放棄就輸了
※ 編輯: kloer (114.36.19.220 臺灣), 10/12/2020 13:21:41
31F:→ zhuzii: 同意本文 先做會動的東西 培養興趣 有必要等哪天需要再刷 10/12 13:32
32F:→ zhuzii: 題 所以刷題不是學習的方法 10/12 13:32
※ 編輯: kloer (114.36.19.220 臺灣), 10/12/2020 13:41:37
33F:推 camry2009: 太優秀了 謝謝學長 10/12 14:12
34F:→ casd82: 對遊戲有興趣就寫遊戲啊,寫外掛跟寫遊戲差很多 10/12 19:05
35F:推 Csongs: 最近才在寫自動解數讀和踩地雷XD 10/12 19:47
36F:推 splitline: 等等,這不叫對遊戲、網頁有興趣吧是對資安有興趣XD 10/12 22:51
也不太算, 我的中心思想是做壞事比較容易有興趣
37F:推 aszx4510: 我同意從有興趣的地方開始練習寫程式 但不要教人家做一 10/13 06:48
38F:→ aszx4510: 些犯法的事情好嗎 10/13 06:48
其實我說的事情都不犯法
舉個例子
殺人犯法對吧, 但是殺敵軍的人其實是不犯法的
所以同一個事情要看作用的目標是誰
※ 編輯: kloer (114.36.19.220 臺灣), 10/13/2020 10:29:32
39F:推 Apache: 你好中二喔 10/13 10:56
40F:推 wulouise: 就做有興趣的事情吧 只是不要犯法比較好XD 10/13 20:36
41F:推 b85040312: 我是從寫遊戲外掛入門的 真的很有成就感 會寫 code 後 10/13 23:01
42F:→ b85040312: 回去看自己之前的遊戲外掛都覺得是糞 code 10/13 23:01
43F:推 love99067333: 一開始也是玩遊戲漏洞自己爽 只能說黑客駭客一線之 10/14 01:46
44F:→ love99067333: 隔 但卻有巨大的差異 想清楚 不限於程式 10/14 01:46
45F:推 casd82: 還有就是非法程式有時候不適合列在履歷上 所以要想清楚 10/14 16:29
46F:推 wesley234: 下次只要改口說是資安研究就好了 10/14 19:16
47F:→ ILYY: 當白帽也可以啊 10/16 02:38