APCSCamp 2021 活動分享 - 如何學好程式設計,一起來 LINE 實習

前言 大家好,我是 LINE Developer Relations 團隊的資深開發技術推廣工程師 - Evan Lin 。主要的工作項目就是平台技術推廣與技術品牌的建立與溝通。 這是很開心能跟 APCSCamp 2021 (程式設計能力培訓營) 合作,很榮幸能代表公司跟同學們分享如何將程式設計學好,並且如何才能來 LINE 做實習生。 關於 APCSCamp 2021 何謂APCS APCS 為 Advanced Placement Computer Science 的英文縮寫,是指「大學程式設計先修檢測」。其檢測模式乃參考美國大學先修課程(Advanced Placement,AP),與各大學合作命題,並確定檢定用題目經過信效度考驗,以確保檢定結果之公信力。在台灣, APCS 是目前衡量國高中生程式能力最有公信力的一個指標:目前有 31 所大學, 38 個科系,設立了 APCS 組,將 APCS 納入入學的門檻。 緣起 近年來,隨著人工智慧崛起,資工系竄升成一大熱門科系,大家開始關注要進入資工系所需具備的能力,而 APCS 也因此備受家長關注。補教業者更積極把握機會,使 APCS 的補教課程如雨後春筍般設立。然而,我們發現補習班的課程教材品質參差不齊,且其中一些還有不少進步空間,有些題目的解答甚至是錯誤的。除此之外,我們也發現這些 APCS 的課程大多集中在大臺北地區等大都市。 為解決以上問題,我們決定利用我們的專業能力,在 2021 暑假舉辦一個針對初學者,以 APCS 考試大綱規劃課程內容的線上營隊。雖然線上營隊的舉辦較實體多了許多限制,但考量疫情趨勢與我們期望打破地理限制的初衷,我們仍決定線上舉行,期望讓全臺各地想精進程式能力的初學者都能參與。 (相關資訊來自於: APCSCamp 官方網站) 這一次很開心能夠支持 APCSCamp 2021 (程式設計能力培訓營) 並且透過廠商分享議程來跟同學們見面。 演講: 如何學好程式設計,一起來 LINE 實習 投影片: 投影片鏈結 參與同學 主要的參與同學為 APCSCamp 的學員(高中同學),主要有「語法班」與「算法班」兩個班級。並且也有工作團隊的一起共襄盛舉。 關於 LINE 服務的介紹 一開始先跟每一位同學介紹 LINE 服務的發展歷史,從 2011 年在日本啟動 LINE 的服務之後,到了今年( 2021) 也剛好十年了,十年來的成長從溝通的平台,轉變成每一個使用者的生活平台。 LINE TODAY 作為大家天天會用的主流新聞平台,除了日常提供大家許多新聞相關題材外,其實裡面也含有許多不同的內容,如:賽事直播(近期很火紅的 NBA 季後賽也有轉播)、電影訂票、選情專區、泰國限定的樂透、電影…等等,擁有這麼多功能都是為了讓用戶可以在 LINE TODAY 中看到大家最新、最值得關注的內容。擁有這麼多功能的平台,同時也是一個跨國的產品,同時也提供給泰國、印尼以及香港。 更多資訊,大家可以參考 LINE TODAY 。 LINE 購物 / LINE SHOPPING 電商已成為現代人不可或缺的一部份,在本次的議程中很詳細地透過不同的例子(母親節、送禮優惠…)來解釋在 LINE 電商服務中的不同使用情境,讓大家可以更快速的了解透過 LINE 來購買相關東西時的好處以及可用性。 更多資訊,大家可以參考 LINE 購物。 LINE 熱點 / LINE SPOT LINE SPOT 團隊是主要是開發 O2O (Online to Offline) 及活動相關的服務,LINE SPOT 是一個以您所在的位置為起點,讓您可以在上面看到各式店家的優惠資訊,把線下的資訊整合到線上的一個全新的服務。 更多資訊,大家可以參考 LINE 熱點。 如何學習好一門程式語言? (以 Golang 為例子) 因為參與演講的同學們都是高中同學,而且課程主要內容都是以 C++ 為主。 所以我透過學習一門新的程式語言 Golang 作為一個範例。來解釋如何學習一門新的程式語言。 在學習 Golang 程式語言的路途上,我建議每一位朋友都不要去了解太多關於 Golang 的設計理念,也不需要知道語言特色,更不要貿然去了解太多關於運作的原理。 建議很重要的事情就是: 先下去試著寫幾個應用 透過寫一兩個應用,你可以獲得相關的知識: 如何可以順利的完整編譯 (compile) 一次 Golang 的應用。 如何可以設定相關環境,當然有可能是透過 Golang...
繼續閱讀

[TIL] 透過 VSCode 寫 Markdown 貼圖的利器 - Markdown Paste

VSCode Plugin - Markdown Paste : 完整 Github: https://github.com/telesoho/vscode-markdown-paste-image 你是用哪一套工具寫部落格? 之前喜歡使用 Typora (這邊可以看我寫的文章) 。 寫起來雖然很快,但是由於使用 github page 加上後台是 Jekyll 的原因,貼圖的時候總是相當的不方便。 最在查詢筆記軟體的時候,看到了這個 VSCode 的 Plugin - Markdown Paste ,覺得相當好用。 有幾個大家一定會寫歡的功能: 直接貼上剪貼簿圖片 快速鍵:(MacOSX: Command + Option + V ) 這個功能相當好用(主要也是為了這個功能來用的)。有一個比較麻煩的是,下載的圖片位置預設會放在 ./ 這邊可以稍微修改,透過修改設定就可以。 進去去直接修改 MarkdownPaste.path,以我的 case 就是改成 ./../images/2021。這樣一年改一次就好,圖片也可以保留在我的 Github 上面,不怕找不到。 上面這張圖就是透過剪貼簿,馬上貼上。真的很方便,也不用管命名問題。(你之到 RD 很怕叫他取名字,檔案名稱也是一樣 XD)。 其實還有很多功能,大家可以到 Marketplace 網頁去查看。我也會持續研究,慢慢看有哪些習慣的功能。 Typora 沒有嗎? (更新 2021/08/10) 貼完臉書後,看到社群大大們的建議,發現好像 Typora 今年也有相關的更新了。其實今年(2021/02)的版本更新 (0.9.9.32) 更新的 (Typora 更新)。但是實際使用後,發現需要相關的設定如下。 需要修改複製圖片到「自訂資料夾」(注意原本的變數要移除) 因為檔案要放到 github page ,記得要優先使用相對路徑。 相關文章: [TIL][markdown] 好用的編輯器 - typora VSCode Marketplace: Markdown Paste Typora Image Upload
繼續閱讀

[TIL] Apple notes (Apple 備忘錄) 的匯出策略

前言: Apple Notes (也就是 iOS / Mac OSX 上面的「備忘錄」) 是一個強大而且可以快速寫筆記的工具,支援簡單的 markdown 語法跟可以使用剪貼簿來貼圖片,其實對於許多使用者而言是相當的方便。 但是如果不小心上了 iCloud 就會全部將資料上了雲端,對於資安控管而言可就不妙了。 本篇文章記錄一些相關的搬遷方式,可以讓你將 Apple Notes 來匯出。 小心上雲端 首先要先注意,對於 Apple notes 而言本身並沒有分「雲端」與「本地端」的差別。只要你不小心將你的筆電 Apple Notes 連上了 iCloud 就再也無法順利存取到本地端。 有資安疑慮,絕對不要用 Apple Notes 上 iCloud! 有資安疑慮,絕對不要用 Apple Notes 上 iCloud! 有資安疑慮,絕對不要用 Apple Notes 上 iCloud! 不小心上了雲端,怎麼還原為「本地的 Apple Note」 這邊有點麻煩,其實簡單地答案是。「辦不到」。 可能做法有以下幾個: 備份為 PDF 然後刪除文章(無法匯入 Apple Notes) 切斷網路,然後砍掉 iCloud 資訊。 文章不多使用傳送來維持格式。 如果文章不多,可以用傳送。 為了維護格式的問題,可以透過傳送 (Air Drop )來傳送。 使用 iCloud 的手機(砍掉的資訊,會再刪除資料夾) 救回該筆記,然後將該筆記透過 Airdrop 來丟到 MacOSX。 如此重複,一篇一篇來丟。 即便你成功轉移到本地端 Apple Notes 筆電更換的時候,就必須要備份電腦 由於本地端的 Apple notes 存放地點在隱藏的 data 資料夾中,且格式也不好還原。 如果要換電腦得時候,可能就是要使用 Apple 筆電備份跟還原的功能。這樣也有可能會踩到資安控管的領域。 最近另外找到一個方式,就是換到 Bear notes Bear notes App 是一個很強大的筆記軟體,使用 Markdown 作為語法外,使用標籤與相互串連的方式。讓你整理資訊更加的方便。而且他提供一個方式可以將 Apple Notes 搬移到 Bear Notes。 Migrate from Apple Notes 這篇文章教導你透過一個小工具,可以把 Apple Notes 備份出來,然後透過 Bear Notes 強大的 Import 功能可以匯入到他的筆記之內。加上 Bear Notes 如果沒有付費,本身也是將資訊存在本地端。並且可以透過 Backup and Restore Your Notes in Bear 來備份你的 Bear Notes 。(作為電腦更換時候使用)。 目前會朝向這個方向,繼續研究中。 額外: 其實我一開始都使用 Markdown 加上 vscode 來管理筆記,搜尋起來也快也可以放在雲端資料夾控管。但是不能直接從簡貼簿來貼圖片。現在看到這個可能會考慮一下。 https://github.com/telesoho/vscode-markdown-paste-image 這個我也可能會考慮一下。 相關文章: Migrate from Apple Notes Backup and Restore Your Notes in Bear Create local backup of...
繼續閱讀

[學習心得][Golang] 透過 Golang 來做檔案反解析 Macho for Reserve Engineering by golfing

前言: Mach-O (Mach Object file format) 是存在於Darwin, Mac OSX 與 iOS 等系統上的執行檔格式。 如果想要做 Reverse Engineering 或是更深一層的 execution file parsing 。 原本系統上有官方套件 https://pkg.go.dev/debug/macho 可以供使用,但是沒那麼清楚(好用)。 有人寫了一套 https://github.com/blacktop/go-macho 。快速玩了一下,覺得還不錯,可以看看。 Mach-O: Mach-O (Mach object file format) 是一個廣泛被用在Darwin, Mac OSX 與 iOS 上的執行檔格式。如果需要返解析相關資訊,可以過官方的套件: 官方套件 : https://pkg.go.dev/debug/macho 民間開發套件: https://github.com/blacktop/go-macho 優點: 有比較清楚的 summary 如何使用: 檔案開啟可以使用 relative path 或是絕對位置。 絕對為止可以透過 realpath xxx 需要安裝 realpath 可以透過 brew install coreutils 當然也可以使用 relative path 。 範例 for blacktop/go-macho 成果 相關文章: Mach-O 中文 wiki Mach-O 英文 wiki Reverse Engineering Resources
繼續閱讀

[學習心得][Golang] 相關 Trello 應用的相關筆記

Trello API 申請: 幾件事情快速紀錄一下,如果要用 Golang 撰寫 Trello 工具的話 (根據 Trello API Introduction): 申請 Trello API Key Trello API Key 申請 Trello Token https://trello.com/1/authorize?expiration=never&scope=read,write,account&response_type=token&name=Server%20Token&key=YOUR_API_KEY 使用的 Golang Package https://github.com/adlio/trello 如何取得 Trello Board ID https://trello.com/b/aaaaaaa/board_name.json 其中 aaaaaaa 是 Board ID(名稱,顯示在網頁上的) board_name: 是原本 Board 名稱 透過這個方式,可以取得所有關於 Board 的名稱。 透過取得 Trello Board 數字化的 ID 可以有更多可以操作的事項。 {"id":"xxxxx","name":"board_name","desc":"","descData":null,"closed":false,"dateClosed":null, .....} 相關範例程式碼: 相關文章: Trello API Key Authorizing With Trello’s REST API Trello API Introduction
繼續閱讀

[好書分享] 從0到1 - 打開世界運作的未知祕密,在意想不到之處發現價值

從0到1 - 打開世界運作的未知祕密,在意想不到之處發現價值 Zero to One : Notes on Startups, or How to Build the Future 作者: 彼得.提爾 布雷克.馬斯特 原文作者: Peter Thiel Blake Masters 譯者: 季晶晶 出版社:天下雜誌出版 出版日期:2014/10/07 語言:繁體中文 ISBN: 9789862419533 買書推薦網址: 電子書: Readmoo 博客來: 購買網址 前言: 這一本是今年所讀完的第九本書。 作者Peter Thiel 是 PayPal 的共同創辦人,現在是創業基金(Founder Fund) 的合夥人。對於創業有相當多的想法的人。而這一本書則是他在史丹佛大學的一堂課,整本書的內容真的蠻像一堂課程一樣,一開始的前言談到許多過去的事情,企業的樣貌,再來談到企業成功的一些方式與如何達成的方式。最後放眼未來,期許每一位同學都能夠成為獨樹一幟的創業家。 內容簡介與心得: 史丹佛大學改變未來的一堂課 矽谷傳奇創業家、PayPal創辦人 彼得‧提爾 第一手分享 複製別人的模式比創新事物容易。 做大家都知道怎麼做的事、提供更多熟悉的東西,這是由1到n。 不過如果只複製前人的路,就無法學習到他們的精髓。 創新是由0到1。創新獨一無二,創新的時機與開創出的結果也是新鮮奇特的。 這本書講的就是創新的秘密。 這不只是一本商業書,它將帶領你穿越歷史,從哲學、經濟、商業等多元角度,解讀世界的發展脈絡,進一步分析彼得‧提爾創業的心法與思考的角度,期盼帶給讀者超越學術限制、了解更多現實世界運轉的邏輯與經驗分享,幫助你思考從0到1的秘密,從秘密中發掘機會。 彼得‧提爾(Peter Thiel)是PayPal和Palantir共同創辦人,臉書第一位外部投資人,率先注資Yelp、LinkedIn、SpaceX、Spotify、Airbnb等新創企業。他念哲學與法律,卻在科技、創投世界大放異彩;成立提爾獎學金,鼓勵年輕人休學創業,激發自己的潛力。 章節條列 01 未來的挑戰 / 02 1999年的教訓 / 03 打造有創意的獨占企業 一開始作者先提出「水平式進步」跟「垂直式的進步」,這兩個的差別是什麼呢? 水平式的進步: 由生產一個打字機,到一百台打字機。是製造過程與工法的進步。 垂直式進步: 由生產一個打字機,到一個文書處理機,甚至是變化到電腦。 相較於垂直式進步,水平式進步比較容易發生。只需要有全球化規模的公司,都可以透過擴建廠房或是降低成本的方式來讓製造量變多。進而演化出更好的工法。 而垂直式進步相對的少,往往都是一種創新思維的產生,也就是創業家的契機。 1999 所引發的矽谷掏金熱引發原因來自於 MOSAIC 瀏覽器,之後的 NESCAPE 都是造就矽谷熱潮的知名公司。網際網路的風行,讓許多家「.com」公司一夕成名,但是也隱藏許多的危機。兩千年的網際網路泡沫化就是這樣的結果,作者也建議應該要從矽谷的泡沫化學習到以下的事項: 循序漸進:不要過分樂觀高估了未來獲利。 保持精簡有彈性:業務範圍與擴充需要保持在最精簡的狀況,才能讓整個業務範圍能保有彈性。 面對競爭求取進步:保持持續進步,而不是面對競爭就是採取商業手段來獲勝(降價,或是各種銷售策略)。 專注產品而非專注銷售: 這部分跟我看的另外一本書「什麼才是經營最難的事 - 矽谷創投天王告訴你真實的管理智慧」,真正的創業家都會專注在產品本身,都會認為網際網路的通路下,需要擔心的不是銷售本身,而是產品本身。 04 競爭的迷思 / 05 後發優勢 / 06 成功不是樂透彩 商業上的競爭可以造成經濟體性的完全競爭市場,對於消費者而言是比較好的。代表面臨著比較多的選擇,有著不同價位的產品可以挑選。但是對於創業者則是不好的。競爭往往造成了許多惡性的循環。 作者打了一個比方,當初要做 Paypal 線上刷卡機制的時候。第一個提出使用手機外接刷卡機的人是 Square 的方形刷卡機,但是馬上就面臨了五六種其他業者的競爭。 半月形,圓形與三角形的讀卡機的業者 。如果因為在意對手的動作,往往會浪費了創業者的專注度。這也是為什麼許多有亞斯伯格症的創業者 容易成功,因為對於競爭對手的動作不在意,才能夠專心開發自己的產品。 「後發優勢」指的是有不少的創業的服務,一開始並沒有相關的優勢,甚至是完全沒有獲利方式的。他們就是需要到了一定的經濟規模後,才能開始談獲利。 書上舉了 PayPal 與 LinkedIn 為例子,甚至可以說公司僅兩年的獲利可能會佔了企業從開創以來的 50 % 以上的獲利。 也就是說,公司一直到了近幾年才賺錢(而且賺的非常多)。什麼樣的產業具有相關的特性: 專利技術 網路外部性 經濟規模 品牌 那麼如何打造出相關企業呢? 從小生意開始壟斷:像是 Amazon 先從差別性不大,可以做網路零售業的書本販賣開始。 擴大規模 別搞破壞: 這邊指的是,不要造成既有市場的挑戰者。 容易被許多外來勢力打壓(類似 Uber, AirBnB) 。 後來居上: 持續有耐心,等待獲利到來的一天。(類似 Amazon) 07 跟著錢走 / 08 偉大的企業都有祕密 / 09 基礎決定命運 一開始談到創投公司的獲利流程,一個好的投資案通常需要時間的累積才會有夠高的報酬,這也是為什麼許多創投公司在一開始就會倒閉的原因。許多的創投正常來說屬於『J型獲利」也就是一開始會往下,需要許多年後那些投資才會陸陸續續兌現報酬。(相反的也有可能確認失敗)。 10 組織的幫派文化 / 11 顧客不會自動上門 這邊談到一些企業文化,什麼是企業文化? 並不是大家可以待在公司不回家,可以帶狗狗上班。常常要自我思考,為什麼員工會想來你的公司,而不是其他的公司? 類似的內容與想法可以思考培養出一個企業的文化。 幫派文化跟教廷文化類似,都是由強大的創辦人影響著許多的同仁。這也是一種企業文化,企業創辦人在招募的時候都需要好好思考到相關的細節才是。 12 人類與電腦的新關係 / 13 潔淨科技與特斯拉 / 14 創業家無可取代的特質 這三個章節談到了未來的發展,潔淨科技可能帶來的未來。 最後也分享了許多創業家不同的特質。 心得: 老實說,這本書不算是很容易讀得完的書籍。可能是內容編排上,很刻意的沒有提到太多作者自身比較細的經驗部分,讓我在閱讀起來比較沒有那麼喜歡。 真的就很像是課堂書籍一樣,許多對於創業家的描述部分算是很有見解。...
繼續閱讀