owned this note changed 6 years ago
Linked with GitHub

SITCON 2019 R1 共筆

當我遊走在程式的初學路上

新手缺的不是資源,而是方向

​​​​我該學什麼語言?
​​​​有沒有推薦的資源?
​​​​etc.

第一站:模仿

  • 先拿一本
    • 可是沒有書
    • 想想怎麼學母語的
  • 先會模仿
    • 找簡單能衍伸變化的範例
    • 好像似懂非懂,期待又害怕
    • 重點:熟悉大方向
    • 嘗試將模仿的範例加點變化

第二站:變化

  • 遭遇越來越多問題
    • 切分問題
      • 前後順序
      • 怎麼下邏輯判斷
    • 問題情境
    • 相關語法
  • 不斷的練習從想法到語言的轉換
    • 問題→想法→語言
  • 在變化的過程中
    • 感覺:勸退時期、依賴心理
    • 重點:問題帶觀念,適時犯錯

第三站:改善

  • 換位思考
    • 使用者的角度(防呆,易用安全)
    • 工程師角度 (coding style,易維護、易閱讀)
  • 運用資料結構、演算法處理複雜的問題
  • 程式的設計原理讓你的 code 不會粗糙(撰寫習慣)
  • 改善的過程中
    • 感覺:越挫越勇、走火入魔(總是覺得還不夠完美)
    • 重點:換位思考

第四站:應用

  • 程式設計本質
    • 幫忙我們處理事情
  • 重要的是
    • 你想開發什麼平台的程式
    • 應用在什麼領域
  • 沒有比較,沒有傷害
  • 除了基本語法,相關領域和框架需要學習
  • 應用的過程
    • 兵來將擋、學無止境
    • 重點:學用落差

很多書有一個狀況,沒有足夠的應用範例

想要加強解題的能力

  • 高中生解題系統

那些 google 的食息日常(Rice)

為什麼去 Google

  • 小米對 Google 說:如果我上了,我就來講在 Google 的實習日常
  • Google 回應:沒關係,你一定會上的

實習做什麼

  • 寫 CODE
  • 寫 Design Docs
  • Email
  • 感受自己英文多弱

建議進去前先學好git

去了做什麼

    • 程式
      • 如果要突飛猛進,去新創可能比較快
    • 溝通
      • 不只你的 host,如果牽扯到其他人也是要會溝通
    • 英文
    • 自我管理

實習流程

  • Spec
  • Document
  • Coding
  • Review
  • Docs
    • 改最多的不是程式語法,是英文語法
  • Demo
  • Maintain

得到了什麼

  • 自信
  • 知道自己和一些神的差距
  • 人脈增加
  • 履歷變好看
  • 難得的機會
    • 去國外的 conf.
  • 一些寶貴的經驗

真正的實習日常

一開始實習在吃和玩,發 FB 貼文,得到的讚變成怒

發現其他人進度很多,自己只有一個 commit

101 不鼓勵加班,所以晚上 8 點沒冷氣,夏天加班頗辛苦

實習後會被 host 給評價,決定能不能再接實習跟成為正職

履歷可以投到4/1喔

怎麼準備實習

  • 流程
    • Google在網頁上開職缺
    • 找人幫忙內推(不一定)
      • 當初怕被台清交刷掉,選擇這條路
    • 投履歷
    • 電話面試
    • 實體面試
    • Offer Get!
  • 履歷怎麼寫
    • One page resume
    • 全英文
    • 不能有照片
    • LaTeX 好用
    • 個資
      • 姓名、信箱、GitHub / GitLab、個人網站
    • 推薦要放
      • 工作、學歷、競賽、專案、技能樹、研討會
    • 留空太多
      • 投遞目標、個人期望

不一定要打競賽,只是面試會考演算法、資料結構,對打競賽的人吃香很多

面試

  • 必備
    • 基本語法、邏輯
    • 資料結構、演算法
    • 問面試官問題
  • 可能
    • 自我介紹(五分鐘左右)
    • 聊天哈啦

臨場反應跟運氣啦!

寒假投履歷,刷 leetcode

電話面試

  • 可能來自國外

當初以為是詐騙電話,第二次再打來才知道是面試

  • 建議
    • 自備耳機
    • 準備一杯水
      • 避免喉嚨爆炸
    • 沒有人的地方
      • 有人在會有點尷尬
      • 面試過程不能公開

實體面試

  • 可選電話或實體
  • 福利
    • 拿飲料
    • 可能可以參觀(有認識的人的話)
  • 建議
    • 提早到,會迷路
    • 準備一些聊天內容

很多人走到購物中心(例如我)

給你問問題的時間很重要,可以了解公司

Q&A

  • 實習機會怎麼取得
    • 除了上述
    • 公開履歷
  • 實習的演算法難度看個人
    • 一開始很難,想通了還好
    • 有人可以一次答六題
  • 英文
    • 跟其他實習生練習
      • 其他實習生表示崩潰
    • 跟 host 做模擬面試
      • 最後變中文了

Project 不會影響你的錢,但是能進大公司,多做幾個多提升自己

多數人上班時間:早上 10 點 ~ 下午 6 點,約有 2 小時休息

自己的經驗是三月投履歷,四月面試

現在不是 Google 員工不能幫內推QQ

會變胖是真的嗎?你看我就知道了(咦

面試正職至少會有一次英文面試

聽說有人去 linkin 找 Google 的人幫內推,然後就成功了

在香港做原住民部落管理系統 484搞錯了什麼?

簡報

  • 合作松
    • 合作社x黑客松
    • 什麼是合作社?

      根據合作原則建立的以優化社員經濟利益為目的的非營利企業形式

  • SRP: Smangus Resources Planning
  • 司馬庫斯合作社
    • 2004建立
    • 成員:八成住民
    • 福利
  • SRP 技術規劃
    • 後端、資料庫:Firebase Function, Hosting, Firestore
    • React Native
  • 計畫過程
    • 通靈
    • 功能追加
    • 繁瑣上架程序
  • 計畫延續
    • 增加更多功能,向外推廣

以「學測五選四」探討如何做出爆紅工具

軟體開發的未來,是大斗內時代?

營隊還在用紙鈔?點數系統開發經驗

  • 實作方法
    • Apache Laravel

黑客、社團、資訊魔法學習大總匯

  • 寫程式跟魔法一樣是有邏輯的

  • 加入社團的優點

    • 增廣人脈
    • 實習機會
    • 學習夥伴
    • 增廣見聞
  • 加入社團的缺點

    • 覺得時間不夠
    • 覺得課業跟不上
    • 覺得太多雜事
    • 先問自己,加入社團的初衷
    • 把妹請離開黑客社,(這裡)你把不到
    • 自己是否好好把握所有學習的機會

    時間只有24小時,想要做的事情有很多,先選一樣事情好好做好,再去做下一樣 feifei

  • 資訊系的學習指南

    • 找一個目標實作
    • 大量練習,打好根基
    • 讀書會,找學伴共同讀書
      • 利用自己的話將所學表達出來
      • 互相分享來進度
      • 不要只仰賴同學的知識,要自己弄懂
  • 怎麼開始資安這條路

    • Google Hacking
    • 撰寫筆記(學習筆記/進度報告/學習心得) -> 部落格分享
    • 基礎知識(網路概論/記憶體)
    • 不著急/不比較
    • 找自己的方向繼續研究
  • 資安是二轉 請先把一轉CS技能點好再衝

  • 公開來源情報(OSINT):

    • 利用公開來源收集情報

      • Facebook
      • Twitter
    • OSINT案例分享

      • 某行公家機關電子信箱系統
        • payload
    st=>start: 蒐集資料
    op1=>operation: 進行嘗試
    op2=>operation: 取得權限
    e=>end: 取得機敏資料
    
    st(right)->op1(right)->op2(right)->e
  • 了解內容 -> 檢核點

  • 資安鐵人賽

  • 經營社團

    • 了解社員/幹部 心態
    • 了解社團發展史
    • 分析社團近況
    • 處理社團事務
    • 推廣社團
      (此處應附圖)
  • 於社團內遇到的狀況

    • 對新手不友善
    • 社團人數下降
    • 跟學長姐有距離感,導致不敢發問
    • 課程太難,新手跟不上
    • 課程太簡單,老手不想來
  • 中部社團困境

    • 研討會多在北部
    • 中部各校距離遠,無法彙整資源
      • 例如亞洲大學/濟南大學
    • 高中大學時間無法配合
      • 高中放假 大學通常在考試
  • 解決方案

    • 社團鏈
      • 大一 社員
      • 大二 幹部
      • 大三 核心幹部
      • 大四 顧問
    • 課程難易度安排
      • 階段性案排課程大綱
      • 透過檢核點,使社員了解自身能力(成就感)
      • 保留社課資料
    • 人數下滑
      • 講師授課台風
      • 分析目標客群
      • 辦理初學/深度講座加深客群參與活動欲望
      • 找出適合宣傳的方式
    • 資源落差大
      • 自行創造並且共享
      • 用資源打造資源
      • 尋求公家機關協助
    • 距離感差異過大
      • 與社員/幹部分享選修課經驗
      • 加深社員幹部間感情

        ex:自動化選課 搶課程式

    • 幹部間溝通問題
      • 避免對立
      • 比社員更多的自學心
    • 學校行政難以掌握
      • 學校要求盡量滿足
      • 善用學校資源
    • (缺)
      • 學校要求盡量滿足
      • 善用學校資源
      • 評鑑無紙化
    • 延續社團
      • 招收儲備幹部,加強技術能力
    • 推廣社團
      • 一個人力量小
      • 但是有其他火案一起拼命
      • 會走很遠
    • 帶領社團參與活動
  • 社團的坑

  • 結論:
    謝謝大家!
    祝福大家都可以在資安、資訊的方面越走越遠。

  • Q&A

    • 想學資安又想認識妹子要去哪?
      • 帶妹子來黑客社 (其實找不到)
    • 可以分享你平常會瀏覽資安議題會參考的網站嗎?
      • 投影片會後會公開
    • How to learn CTF, and how to start it, if i dont have another laptop.
      • Why don't use your PC
      • You need to set a goal, then keep learning to this direction. Chose a way to learn.
    • 黑客社社課程度
      • 程式設計社課 for 超新手入門
      • 資安社課 for 有程設基礎
    • 他校可以參加社課嗎
      • 私底下來, 別讓學校知道 XD
        Image Not Showing Possible Reasons
        • The image file may be corrupted
        • The server hosting the image is unavailable
        • The image path is incorrect
        • The image format is not supported
        Learn More →
    • 怎麼施魔法?
      • 不能公開哦!會後來自己來問
    • 如果未來都採用無密碼認證機制,是否就不會有網路帳號安全問題?
      • 我覺得你想得太遠了。 As long as the development of technology, there would be more and more problems.
      • FIDO發展還有更多的問題,而且技術並不成熟
    • CTF 推薦用什麼系統?
      • If you need to solve the problems on windows, then you use windows.
    • 大三還有沒有救
      • 有,一定有救,畢業了都還有救
    • (今天剛好遇到mono喵)
    • 請問甲甲甲科技現在有開實習缺嗎?
      • 有啊!被我佔走了
    • 要怎麼接洽其他將是或是和政府合作,到社團教學?
      • 參加各式conf,講完議程之後巴著邀請他來講
      • (他不來就巴到他來)
    • 你可以show 你筆電裡常用的工具嗎?
      • 我筆電有點髒
    • 可以分享幫校方些案子的過程嗎?
      • 窗口很重要,預算就算了(學校tm窮)
      • 我遇到了一個案子,他拜託說一個月內幫它趕出來
      • 我說不要
    • 30歲轉職魔法師,60當大賢者
    • Linux VS Windows
      • Linux for the games, and windows for nothing

HackMD 聊天室 [你的審美完美的符合了台灣經濟起飛的年代]
XDD
不要紅底藍字==

這是統戰(X
怕.jpg
紅底藍字,完美設計,眼睛損傷大會
華國美學
刪除縣不是有markdowm語法嗎? asd
[QAQ我落伍了,我第一直覺還是被淘汰的HTML標籤]
更奇怪的的寫法
資安錢很多耶##
以為會有資安技術,結果是社團經驗分享QQ ((XDD +1 +1 +1
我也以為QUQ +1
欸 我在學校推競程也是這樣(你是什麼學校的?
東華大學 剛開始嘗試而已

安安我是台科的(名校哦 捧由
妹油啦妹油 一堆台大的大大在此小的不敢XDDD
選課? 灌爆server阿
灌爆也太暴力,這樣不行啊,選課Bot寫起來

程競的確也很不友善,
意外變成聊天群了(?

<script>alert("歡迎蒞臨聊天")</script>

gan 是不是沒辦法用JS
給樓上參考 http://blog.orange.tw/2019/03/a-wormable-xss-on-hackmd.html

[我當然知道啊XDDD]

怎麼可能不鎖啊
我覺得很合理阿
XD 合理吧 的確很合理啦
傻眼XSS耶
等等 這裡怎麼聊起來了XDD
HackMD 是一款真正的聊天軟體
落差有夠大 第一周都一堆 三週以後大概剩兩個
大家都以為當駭客很簡單之類的,滿心只想著電影情節,遇ㄐㄐㄕˊㄨ
嗚嗚,共筆取暖團
再見拉 兩周仔( 笑死
這邊只是 幹話(?
沒關係 可以放鬆一下www
共筆是一個很好的設計
聽說接下來有(?
你聽誰說的 我怎麼沒聽說
高三生報到 (+1 +1 +1 ++
[高二生在此]
求妹子++
資安一開始好像都會有這些人不斷消失,新手不友善的問題
我覺得應該是大家出發不太對 都想get shell 電影對大家的傳染影響也很大
門檻高
我看過很多資安的書,初級就是幹話無限多,高級就是有字天書
推樓上,真的,現在卡在初級跟高級的瓶頸
完全沒有中間的選項喔?
也許還是有吧,求大大指點

我發現樓上有人在努力耶
辛苦他了(還不去幫忙#

X-Village - 用不到兩個月準備兩個月的課程

極致的懶惰才能造就極致的工程師 LeeW

  • X-Village 是什麼?

    • 給跨領域、非資工背景的 CS+X 課程
  • X-Village 是怎麼開始的?

不要問為何沒有人做,先承認你就是那個「沒有人」 g0v

  1. 程式設計基石

    • 課綱設計的問題

      • 對於目標客群的想像不一致
      • 對於基礎的認知不同
    • 使用工具

      • Jupyter Notebook - slide mode
      • sli.do
      • google classroom
    • 關於回答問題

      • 一開始只是解決學員的問題
      • 跟著學員一起思考
    • 程式設計基石 遇到的一些問題

      • 學員經驗不一
      • 課綱太雜,不好吸收
    • 課程的最後,重新反思為什麼要學習這些工具

  2. 電腦科學基石

    • 一些問題
      • 跟教授溝通不夠,造成課程認知不同
      • 要教得太多,能教的時間太少
    • 一些不錯的做法
      • 理論上完,馬上以應用呈現
  3. 資訊科技合作教學協同學習

    • 加入遊戲性的課程
  4. 跨領域專案實作開發(上)

    • 一些問題
      • 對課程意見的分歧,什麼才是課程目標?
      • 助教或業師不見得適合協助學員提出的專案
    • 不錯的做法
      • 讓資工系助教加入團隊
  5. 跨領域專案實作開發(下)

    • 從「跨領域專案實作開發(上)」遴選出來
  • Be a leader not a boss

Sli.do QA

  • 協同學習感覺很有趣,以前常聽說:「要真正知道自己有沒有搞懂一種東西,直接去教人就知道了」,真的是這樣子嗎?這樣子的安排成效好ㄇ

Wei Lee 以我自己來說,我覺得是這樣子。這也算是我會開始想寫部落格的原因之一。每次寫了一點點我以為我會的東西,才發現還有很多東西要補,就會不知不覺地(或者沒那麼不知不覺)把相關的概念都弄懂了些。
至於在 X-Village 的成果是否好,我看到的部分效果是不錯的,但也有聽到有人說不太好,所以我想應該是好壞參半

  • 整個活動最大的挑戰跟收穫素什麼?

Wei Lee 最大的挑戰大概就是不斷的意外吧(當然行政問題也很惱人ˊˋ),我甚至連自己是要當類似總招的角色都是花了點時間才知道的呢ˊ_>ˋ
還有整個計畫其實還不夠明確。畢竟有點實驗性質,大方向是很模糊的,每個人又想的不一樣。要如何在大家其實也沒什麼共識的情況下,試著找出共識,或者是大家不那麼討厭的方向,帶著大家一起前進
最大的收穫肯定是危機處理能力的提升吧 xD 還有這也是我第一次帶了 1x人的 team,要對 100多人負責(畢竟他們也砸了兩個月在這),對於自己規劃跟執行的能力還是蠻有提升的

  • 招生怎麼評鑑要收誰阿?

Wei Lee 老實說我們今年這點也做得不是太好。但大致上是合議制,只要達到某個數量的助教有共識,就會 錄取 or 不錄取 某位學員。如果還沒辦法就會請業師 李維中 先生 幫我們做最後的審核。大致上看的是兩點,程式的經驗不能太多,不然我們也教不了你什麼。再來是提的專案的完整性,大概能看出這個報名者有多想來跟思考的縝密程度。

  • 學員喜歡教授 or 助教?

Wei Lee 我覺得以最後的回饋來說,雖然幾位教授教得已經很不錯了,但應該是助教對他們比較有幫助

  • 請問以你們的經驗 OOP ,對於初學者會不會太難然後反而沒有成效?

Wei Lee 是的,我覺得的確太難了,成效不高。
但是在我們的其中一場講座,業師的確有辦法把 OOP 的一些基本概念講到學員覺得很清楚很有幫助。
所以也許有經驗的講者,也能讓 OOP 對初學者來說變得簡單。

  • 缺助教嗎

Wei Lee 因為我已經交接出去了,我也不太確定 xD 請洽粉專

  • What's your opinions about APSC?

Wei Lee I guess what you mean is APCS.
To be honest, I'm not that familiar with APCS. It an idea purposed after our X-Village project finished and it's included in X-Village 2019 (now named as Coding-X) not 2018.
After briefly browsing the introduction of APCS, I think it's a good try. It's great for those who are talented in computer science to focus on only what they need and want to learn, but I doubt that we have that much resources to teach it in all high schools. It's possible that APCS enlarge inequality. We'll need more time to solve these kinds of problems and perfect the system.

  • 學員回饋的狀況?

Wei Lee 大致給我們的回饋算正向,有一個極為負向
所以我想整體還算不錯
畢竟我們是第一年嘗試,的確是有很多問題的

  • 如何成為一名python信徒

Wei Lee 現在就開始寫 Python ,虔誠地相信 Python 能解決一切的事情吧(?????

  • 可以現場google一下 你剛才推薦的書嗎~謝謝

Wei Lee https://learning-python.com/about-lp.html

  • 學過一點C/C++ 要入門python 推薦從哪裡下手(直接做題目 或者 把python的書從頭到尾看一遍?)

Wei Lee 如果有寫過一點程式,我覺得可以稍微看一點點語法,把原本C寫過的程式,改成用 Python 寫
大概知道 C
跟 Python 語法上的差別後
你可以再用 Python 做一個小型的專案 (e.g., 爬蟲)
接著就開始可以看 Python 的書,主要是希望能從中學習到 Python 的哲學 (or so-called Pythonic)
在這個過程中,再回去改寫之前的 Python code,不只是命名的不同,或哪裡加個空格而已,最好是能寫法整個改掉
這樣應該就能把 Python 學得還不錯(?

  • 從其他語言(c++/Java)轉python, 要怎麼pythonic?

Wei Lee 就嘗試一個實際的應用做做看,像是爬蟲這類的可能就蠻適合的,因為會碰到蠻多基礎語法,對Python的基礎語法熟悉後,可以開始去看 pep8。使用 pylint, flake8 這類的 linter 也會對寫得更 pythonic 很有幫助。另外,也推薦可以看 Effective Python

  • 要到甚麼程度才能說自己精通python

Wei Lee 我也不敢說我自己精通 Python (笑
推薦一個影片 What Does It Take To Be An Expert At Python?
至少這裡面的概念要弄懂,也知道在什麼情況用得到,也許就能說自己懂一點點 Python 吧 xD

Select a repo