fbpx
工程思維

現在有「文言文程式語言」,你還用Python嗎?

你知道打程式會用到什麼語言嗎?沒錯,是英文,因此不管你是用 Python、Ruby、Javascript,你都至少要看得懂return、if等等,但是,有位中國工程師 LingDong Huang 在 Github 上發表了一款自己開發的「文言文程式語言」,把for 迴圈、變數定義,全部修改成文言文!你發現了嗎?寫程式最一開始的定義環境在這裡變成了吾有一術。名之曰「快排」。欲行是術。必先得一列。曰「甲」。乃行是術日。之後工程師先將這個程式定義為「列」,同時也定義行列的名稱及變數。吾有三列。名之曰「首」。曰「頷」。曰「尾」。再來是 for迴圈、if、else。其中「凡」代表 for,「若」代表 if,「若非」代表 else if。變成下方這樣凡「甲餘」中之「丁」。若「丁」小於「甲一」者。充「首」以「丁」。若非。充「尾」以「丁」也。云云看到這裡你應該也找到了一個蠻可愛的變動 XD,平常使用英文打程式,我們會用大小括號來代表迴圈的運算範圍,但是在這款文言文程式語言中,用了「也」、「云云」去代替,超級有趣!只有這些基本的還不夠,通常你會想在程式上作註解,讓其他工程師也能夠順利完成編輯或是溝通,而在這個文言文程式語言也做得到!批曰。「「曼德博集。亦稱曼德布洛特複數集合。複平面上组成分形之點之集合也。」」在英文裡我們會使用斜線,在這裡,斜線則被批曰取代,感覺就像詩人看完另一位詩人的作品後留下了評論!文言文程式語言在一周前被 Barret 李靖 發佈到推特上,隨即引起網友熱烈討論,有網友表示:「要打出這個,必須要文理雙全才行呀!」,同時也有不少網友留言表示這樣的程式語言,肯定會讓肯定會讓國文不好的工程師頭痛,甚至有出現想讓孩子學會的相關留言,如果古文程式語言真的盛行,未來要當個工程師,可能還得常常翻閱古文 XD人們在說的語言常被當作溝通的最大管道,每個語言之間都存在著邏輯可被推理,其實程式語言也是!雖然複雜程度與表現都有所差異,但是都有跡可循,因此如果你已經成功精通了一個程式語言,不妨往下一個程式語言邁進!不過如果你想精通「文言文程式語言」,真的還是再好好考慮一下吧!
學程式助教
December 25, 2019
Blockchain

加速建造開發環境,用 Docker 建立 Bitcoin 私鏈

開發時同步全節點太慢了,用 Docker 建立私有鏈更省時間。 一般在開發比特幣相關業務的情況下,會需要能夠跟 RPC server 溝通的需求,如果我們跑主鏈或是 testnet,同步全節點都要花上不少時間,在節點還沒同步完全以前,可能沒辦法準確的知道比方說 address 裡面的餘額之類。 但如果自己在本地掛個私有鏈起來,先搞定 RPC 之間的溝通或監聽,會是更有效率的作法。 Step 1: 安裝 Docker 載點:https://www.docker.com/products/docker-toolbox Docker 只要安裝過之後,就可以在本地跑起 linux 的虛擬機。 # 檢查是否成功安裝 docker…
學程式助教
December 23, 2019
科技實測

Iphone 黑科技無極限 開啟監聽功能?!!

際上,這個監聽功能並沒有這麼可怕
小編認為對於真心想要竊聽的對象,感覺利用Iphone+airpods且只能限制範圍15公尺~~ Oh! 感覺就是不太可能!這方法太傻!
那利用AirPods 或是藍芽耳機進行所謂的監聽,其實是將耳機的麥克風所收到的聲音,放大傳送至 AirPods。我們稱作”Live Listen”
學程式助教
December 13, 2019
Javascript

[筆記] 從零接觸 Google Map API 2:在 Vue.js 中使用 Geocoding 將地址轉換成地標

為了準備 Bootcamp 畢業前的 Final Project — 製作類似訂餐平台 — 開始接觸和學習 Google Map API,上一篇筆記是從零開始學習,並在 Vue.js 中嘗試使用,透過 Maps JavaScript API 服務實作地圖、地標、訊息視窗功能 — 最終將不同行政區的數間假餐廳展示在地圖上,提升使用者體驗 — 本篇將筆記使用 Maps JavaScript API 的另一項功能「Geocoding Service」 (more…)
學程式助教
December 11, 2019
Javascript

[筆記] 從零接觸 Google Map API:在 Vue.js 中實作地圖、地標、訊息視窗

最近在準備 Bootcamp 畢業前的 Final Project,由於專案和訂餐平台有關,想說若使用者能透過地圖快速瀏覽營運中的餐廳,或能在訂單上看到地圖顯示領餐地點,可以增加使用者的體驗。由於之前還沒有碰過 Google Map API,更不用說在 Vue.js 當中使用,想說趁專案開始前,能嘗試自學一下,也看一下實作的可行性與成果。以下將筆記「從零接觸 Google Map API,在 Vue.js 中實作地圖、地標、地標訊息視窗」 (more…)
學程式助教
December 10, 2019
科技實測

老闆惹怒工程師可以激起多大的社群效應:Chatbot 新手基礎操作案例

人生第一個在業界做的線上專案嗷嗷 「這應該很簡單吧?」 — 🤬當老闆惹怒工程師(╯‵□′)╯︵┴─┴ #Chatbot 基礎操作分享 #對真的很簡單 嗨大家早安,吃飽飽了嗎? 關於為什麼要取叫吃飽飽而不用本名,可以看我下面這篇文🤣 🍗吃飽飽與她的產地–只有在放鬆的時候認真放鬆,你才會覺得之後的努力稱得上努力 三年前開始 Chatbot 風潮興起,三年來結合 Chatbot 的行銷已經多倒數不清,最近的由政治設計與版塊 Block Studio 合作的總統聊天室非常讓人眼睛為之一亮。 這次來跟大家分享自己最近接觸的專案,他剛上線不到一天,還無法討論成效,但目前預估覺得不太好,後面會說明推測原因。 比較特別的是主題以工程師為核心,雖然工程領域類型的分享較少,但相信大家都能懂這個職業的心酸 XD #為了避免被爆雷 #可以先去玩再回來看分享 #傳送門在這(活動已經結束了,謝謝大家支持) Part 1…
學程式助教
December 10, 2019
學程式主題小聚專案思維

【學程式主題小聚-2個月擁有6000用戶,Side Project這樣做】

一個專案或是APP的完成,並不是一瞬間就完成的,都需要花費許多時間與心力,然而,Nic說過這個APP從發想idea,到中間設計、規劃的過程,再到最後產品的上線,花了他大約2個月的時間,聽到這裡我想大家心裡一定有個疑惑,才這麼短的時間就做出來的東西,真的是可以使用的?現在就快來看看Nic怎麼說吧! ✏️靈感來自於對生活的觀察,Nic就是這樣開啟了他的「Beyi北宜」Side Project。 【在成功之前先定義失敗】 有些事不做一定不會成功,做了你才知道自己的能耐在哪。Nic「Beyi北宜」APP上線之前,也有許多Side Project的經驗,如:「iGai愛改」、「DD3訂訂餐」,雖然不盡然都如他預期的好,卻也從中累積許多經驗以及為後續成功開發的APP蒐集可能所需的資料。     這些網站或APP到底為什麼沒辦法繼續在市場中生存下去呢?其中的原因有很多,其中最主要還是因為「使用者的消費習慣」難以更改,每個消費者都有不同的消費習慣或使用物品的方式,一旦他們覺得這個產品不如預期或是麻煩,且市場上有其他競品更加方便、吸引人,就會造成大眾的黏著度下降。 ✏️使用者很難更改習慣,除非你的方案比現有的好十倍 【失敗的經驗都是後來成功的助力】 要讓一個產品失敗的方式很容易,Nic列出了4點: 只專注在很潮的技術 想解決還沒出現或還很遙遠的場景 解決的不是痛點 自己都不一定想用 你以為這些失敗的產品就這樣沒有了用處嗎?!正因為這些經驗,Nic不知不覺中在Github上養了很多code,也從中試著切換自己的身分,不以開發者而是以使用者的角度思考問題,才有了「Beyi北宜」的出現,現在就跟著Nic的腳步,了解這個APP的開發過程吧!   【Beyi北宜的誕生過程】 Beiyi 北宜是一個即時影像與路況回報整合軟體。 在出門上山兜風前能夠立即知道今日路況,無論是黑箱、臨檢、事故,都能夠一手掌握,也可以透過平台分享路況成為其他車友的神助攻。   「Beyi北宜」APP的出現不是沒有原因的: 靈感來自於生活…
學程式助教
December 6, 2019
Javascript

[筆記] 從零開始製作 Chrome 套件到上架商店

專案緣起 在 Alpha Camp 擔任實習助教的一個好處,是可以參加大約每兩週舉辦一次的 Meetup — 不僅可以聽到他人分享獨特的專案和技術,有時也能給自己一些機會去挑戰和探索自己未知的領域。 一個多月前,公佈了隔一次的主題是「製作 Google Chome 套件」,且開放有興趣的與會者自己摸索和製作,最後再與大家分享。當時內心馬上冒出了兩種心情和想法: 眉頭一皺:這是什麼領域?會用到什麼技術?該製作什麼主題的套件? 內心雀躍:好酷的未知領域,如果能自己做出個好用的套件,一定很棒! 老實說,內心雀躍的心情馬上壓過所有的情緒,因此我很快就做出了決定。但馬上面臨的是主題挑選 — 在向朋友們收集可能的需求,但沒有找到合適的主題後,我開始思考著:「我在開發網路應用程式的過程中,是什麼行為不時吃掉了我很多時間?」 這可能就是我的需求,也可能會是其他開發著的需求 — 一個 Side Proeject 因此誕生。 (more…)
學程式助教
December 5, 2019
Python

Python迴圈

在撰寫程式的過程中,都有機會要重複執行一些相同的運算,但是重複撰寫好幾次同樣的運算看起來非常的沒有效率,所以在這個情況下我們通常會使用迴圈來幫我們完成,本篇就來介紹Python迴圈的使用方式,包含For-Loops、Nested Loops及while-Loops,並且說明用來控制迴圈流程的break及continue指令。 一、range()方法 在開始介紹Python迴圈之前,先來說明一個在執行迴圈時常用的range()方法,主要用來幫我們產生數列,語法如下: range(起始值,結束值,遞增(減)值) 使用說明: range(20):起始值預設從0開始,所以會產生0到19的整數序列。 range(10,20):起始值從10開始,所以會產生10到19的整數序列。 range(10,20,3):起始值從10開始,遞增值為3,所以會產生10,13,16,19的整數序列。 二、Python For-Loops敘述 可以針對Iterable(可疊代的)物件來進行讀取,Python內建幾個常用的Iterable物件,像是String(字串)、List(串列)、Tuples(元組)、Dictionary(字典)等,往後會出文章詳細的介紹。Python for-loop的語法如下: 在語法中,in 的後方就是for-loop要讀取的目標物,這個目標物的為Iterable (可疊代的)物件,一次讀取一個元素,然後用item(自訂變數名稱)來接收每次讀取到的元素,執行區塊中的運算。注意for-loop的結尾需加上冒號( : )及區塊中的運算式要有相同的縮排,範例如下: 在範例中,for-loop的讀取目標物為一個字串,每一次讀取一個字母,並且用letter變數來接收,執行print()方法。 三、Python Nested Loops(巢狀迴圈) 簡單來說,就是迴圈中又有一層迴圈,我們來看一個範例: 這個巢狀迴圈分別有外部迴圈(Outer loop)及內部迴圈(Inner loop),程式執行的時候,會先從外部迴圈取得第一個元素 M ,接著執行內部迴圈(分別為0,1,2),直到內部迴圈執行完畢,才會回到外部迴圈取得第二個元素 i ,然後再一次的執行內部迴圈(分別為0,1,2),依此類推,直到外部迴圈的目標物已讀取完畢,整個巢狀迴圈才結束。 四、Python While-Loops敘述…
學程式助教
December 4, 2019
科技實測

【教學】老闆惹怒工程師可以激起多大的社群效應:Chatbot新手基礎操作案例

聊天機器人從3年前開始被廣泛運用在行銷上,除了最一開始很多人熟知的「貼文留言導流功能」(也就是常見的:留言+1拿懶人包完整版),現在甚至發展到擁有對話智能! 面對使用者私訊,回覆內容也從自動回覆單一訊息新增到輪播圖片、傳送音檔,還有推播工具可以讓我們後續進行用戶聯絡。 現在也不侷限在Facebook了!不少電商也會選擇在LINE@使用Chatbot服務,讓用戶有更方便的聯繫管道。 說到Chatbot,也許你聽過Chatfuel、Chatisfy,現在也有個風格可愛操作介面友善的BotBonnie可以選擇! 現在我們就拿11/13上線的《老闆一句話惹怒工程師》為腳本製作,利用BotBonnie免費版來教大家如何設定基礎操作啦! 這篇文章以「操作教學」為主, 會示範如何建立具備「自動公開回覆單篇貼文留言」、「自動私訊用戶開啟對話」、「當用戶輸入非指定文字(例如發問)時自動回覆」的Chatbot! 以下會分成 PartA:用戶開啟Messenger自動回覆 PartB:自動公開回覆單篇貼文留言 PartC:自動私訊用戶 這三個部份來講解! 如果對發想過程有興趣的人可以看另一篇文章《老闆惹怒工程師可以激起多大的社群效應:Chatbot 新手基礎操作案例》。 那我們趕快開始吧! 【帳號設定與粉專連結】 Step1:註冊一個免費版帳號 進入BotBonnie首頁,並且點選右上角桃紅色選項「立即免費試用」。 Step2:註冊方式且進入機器人管理頁面建立空白機器人 選擇用Facebook帳號會讓連結粉專更方便! 進入這個機器人管理頁面後可以直接建立一個空白機器人,記得幫它取個好名字,以後機器人多了才不會搞混唷! Step3:連結即將操作的粉專 進入這個畫面,你可以看到所有你擁有「編輯以上」權限的粉絲專頁, ⚠️⚠️在按下青綠色的「連結」以前,要記得先讓自己變成該粉專的管理員,只有管理員才能讓Chatbot與粉專連結唷! 按下連結後,過幾秒會出現淺綠色的小勾勾、已連結的文字,這樣就是成功連結啦!…
學程式助教
December 3, 2019