fbpx
工程思維

疫情地圖正名保衛戰,工程師運用專業在 Github 護國!

(上圖來源:美國約翰霍普金斯大學武漢肺炎疫情地圖) 美國約翰霍普金斯大學武漢肺炎疫情圖對台灣的標示近日突改為「台北及周邊地區」,12 日已正名為「台灣」。「美國國會台灣觀測站」臉書指出,這可歸功於美台各界人士的積極運作,甚至工程師在網路世界的角力。 全球疫情地圖中,台灣被改名成「台北及周邊地區」 約翰霍普金斯大學建立的武漢肺炎(2019 冠狀病毒疾病,COVID-19)全球疫情地圖中,台灣在「確診國家和地區」一欄的顯示名稱原先一直是「台灣」,近日突然改成「台北及周邊地區」(Taipei and environs),後來一度改為「其他」(Other),最終在美東時間 3 月 11 日正名為「台灣」,且不再置於「中國」項下。 外交部 12 日指出,第一時間即責成駐美代表處立即向約翰霍普金斯大學表示關切、要求盡速更正;此外,友台的美國聯邦參議員盧比歐(Marco Rubio)、共和黨籍眾議院外交委員會首席議員麥考爾(Michael McCaul),以及台灣在美國行政部門與學術界的友人也對疫情地圖不當標示台灣表達關切,最終促成大學方面修正。 根據民間組織「美國國會台灣觀測站」在臉書專頁整理的事件簿,美東時間 3 月 10 日下午,有民眾發現約翰霍普金斯大學疫情圖將「台灣」改稱為「台北及周邊地區」。美國新聞網站 Axios 的記者貝書穎(B. Allen Ebrahimian)第一時間致電大學,疫情圖負責人賈德納副教授(Lauren…
學程式助教
April 3, 2020
工程思維

怕不小心囤貨太多嗎?讓「衛生紙計算機」幫你計算!

國內疫情嚴重,隨著確診案例數增加,部分民生物資也跟著被掃購一空, 創業家兄弟旗下的生活市集推出「衛生紙計算機」幫助民眾計算自己到底需要多少衛生紙, 再也不用擔心跟著囤貨一下子失心瘋拿太多! (上圖由創業家兄弟提供) 線下通路搶不到,透過電商搶購,4天狂銷200萬包! 創業家兄弟統計: 一週內,抽取式衛生紙搜尋量較上週暴增超過 150 倍, 而熱門即食商品如泡麵,熱搜程度在過去一週飆升逾百倍, 顯示疫情發展推升民眾預期心理效應,再掀新一波民生用品採購需求。 旗下生活市集也說明,為了協助消費者掌握衛生紙的存量而開發衛生紙計算機程式, 上線測試短短3天就吸引將近10萬人使用,自有品牌衛生紙4天已熱銷破 200 萬包 ,消費者的預期心理完全不可小看阿。 生活市集同時強調,希望從數據分析技術協助消費者用科學角度了解是否有添購需求, 也渴望在這波民生品消費熱潮下帶來新客源並提升成長動能。 個人認為衛生紙計算機,能夠算是繼口罩地圖後一強大作品了XD 渴望擁有 Side project 的開發者們,不妨留意身邊事物,能夠做出貼近生活的作品,也許能創造超出預期的聲量哦!
學程式助教
April 3, 2020
工程思維

在家視訊會議好煩悶?讓 Google 工程師教你如何「登出」

疫情嚴重,不少公司開始採用 remote working, 對此你感到新鮮嗎?還是認為不過是換個地點,又或是已經有些厭煩了呢? Google 工程師 Jason Mayes 透過 TensorFlow.js 製作外掛,將人物與背景進行分離, 然後從場景中即時刪除任何人,讓人直接在影片中消失! 是不是很真實呢? Jason Mayes 在 Gitnub 上傳這段程式碼後,引來許多網友的讚嘆, 因為它的程式碼只有兩百多行! Jason Mayes 並沒有訓練新的模型,而是直接採用現成的 TensorFlow.js , 再透過其中的演算法進行處理,真是太神奇啦!…
學程式助教
April 3, 2020
工程思維

矽谷百萬年薪也比不上貓主子的健康!他發明「AI 智慧貓砂盆」守護萬家主子

在美國矽谷 Cistco 擔任電子工程師的 James,出於自身愛貓離世之痛,投身研究寵物的預防醫學, 他了解到貓咪非常能夠忍痛,非要到極度不適才發出微小的哀號, 因此只能透過飲食與排便去觀察,然而,不少飼主因工作繁忙,未多留心而錯失早期治療愛貓的機會, 導致許多貓咪送往醫院時已需開刀或住院治療。 為此,James 選擇運用自身專長,發明 LuLuPet AI 智慧貓砂盆,不只照顧自己的貓咪,同時也守護更多貓主子! James 發明的 AI 智慧貓砂盆,到底強大在哪呢? 一、智慧辨識排泄物,大小便都替你把關 他看利用 AI 影像辨識+體重感測,能夠觀測出下列幾點: 【4種行為異常】:停留時間過長、過短、進出頻率過高、過低。 【7種排便狀況】:大便乾、濕度、軟、硬、顏色異常、便量、排便困難。 【4種排尿狀況】:尿量過多、過少、血尿、頻尿、排尿困難。 【4種重量改變】:體重高於、低於平均標準值、體重驟增、驟降。 透過七種布里斯托大便分類法,判斷主子的健康與飲食情況。…
學程式助教
April 3, 2020
Javascript工程思維

[Javascript] Point Free Style 如何幫助提高程式可讀性

前些日子我寫了篇關於 functional programming 的文章 (Functional Programming 一文到底全紀錄),講述了當時對 FP 的學習心得,與在實務中應用後的一些想法。 之後陸陸續續收到了一些反饋,有人詢問:「FP 能做的事情,現在 OOP 都做得很好,什麼情況下需要用到 FP?」 關於這個問題,我的回答總是 FP 準則中的「避免副作用」、「一個 Function 只做一件事情」、「以 Function 為程式的最小單位」能使我們只需要關注 Function 的正確性即可,讓程式更佳可讀、更易維護。 Point Free Style…
學程式助教
March 16, 2020
Javascript工程思維

JS 學資料結構與演算法 (排序篇) — 選擇排序法 & 插入排序法

前言 這篇文章將為排序篇章做一個結尾,文章會介紹選擇排序 (Selection Sort) 與插入排序 (Insertion Sort) 兩種排序法,透過上圖的排序法複雜度一覽表可以發現他們的執行效能相比其他排序法來的差一點,因此比較不常被使用,但要強調的是他們仍然有適合使用的情境,本篇文章將會簡單紀錄這兩個演算法的定義與程式碼實作。 選擇排序法 (Selection Sort) 選擇排序法示意圖 簡單來說選擇排序法一直重複的做兩件事: 從尚未經過排序的陣列中找到最小值 將當前找到最小值擺到最左邊 時間複雜度 O(n²) 程式碼範例 這邊先設陣列的第一個數字是目前的最小值,然後往後把陣列的數值一個一個讀取,如果讀取的下個數比最小值大,就不作處理。而如果讀取到的數比目前的最小值小,就把目前的最小值換成這個數。重複這個方法把所有陣列裡的數都讀過一遍,就能確保目前的最小值為整個數列的最小值,扣除掉已經確定的最小值,剩下未確定的元素再重複執行以上步驟,直到陣列完成排序。 function selectionSort(array) { const length =…
學程式助教
March 16, 2020
Javascript工程思維

JS 學資料結構與演算法 (排序篇) — 氣泡排序法 Bubble Sort

氣泡排序法 Bubble Sort 其實氣泡排序法算是最容易理解的排序法,也常作為初學者入門學習的演算法,相信經過前兩篇較為複雜的快速排序法、合併排序法後,可以快速理解氣泡排序法的內容與實作方法。 氣泡排序法定義 氣泡排序法的過程會從陣列最左邊開始將元素兩兩比較,每一輪都會把最大的數值移動到陣列末端,這個行為就好像氣泡不斷從底部冒出一樣,因此被稱作氣泡排序法。 氣泡排序法的實作步驟如下: 比較相鄰的兩個元素,若前面的元素較大就進行交換。 重複進行1的動作直到最後面,最後一個元素將會是最大值。 重複進行1,2的動作,每次比較到上一輪的最後一個元素。 重複進行以上動作直到沒有元素需要比較。 把文章一開始示意圖的第一部份拆過來看,一開始把陣列的第一個元素跟第二個元素比較,如果前面的元素比後者大,就將兩元素交換,如果前者元素比後者小,就不做調整。這邊因為 5 比 1 大,因此將兩元素交換,接著看第二個元素跟第三個元素,依此類推,最後會將陣列中最大的元素放到陣列最後頭,接著重複以上步驟,直到所有元素都經過排列,排序才結束。 時間複雜度 因為實作會使用到雙重迴圈,因此平均時間複雜度為 O(n²) 平均: O(n^2) 空間複雜度 因為沒有額外建立其他資料結構,因此空間複雜度為: O(1) 程式碼範例…
學程式助教
March 16, 2020
Javascript工程思維

跟著 YDKJS 作者 Kyle Simpson 打造全新 JavaScript Mindset : 型別(type)

找不到好圖就亂畫 xDD 型別和值 是一個程式語言很重要的基石, 我們期待 “42” 、42 兩者表現會有不同, 前者我們期望他有字串的特性可以使用, 後者我們常用於數字運算的特性。 這也就是為什麼我們程式撰寫中,很重視基礎的型別和值。 而程式語言中,有兩種常見的特性: 1. 強型別語言 2. 弱型別語言 對於兩者的定義,各種地方都有不同的意見, 在此定義參考 Kyle Simpson , 我們透過使用變數的時機,來決定是強/弱型別語言。 也就是說,如果一個變數,在宣告的時候指定型別, 那麼,我們說他是一個「強型別語言」。 如果一個變數,宣告的時候不能(或不需要)指定型別, 那麼,我們說他是一個「弱型別語言」。 註: 這邊要小心幾個名詞: 1.…
學程式助教
March 14, 2020
Javascript工程思維

跟著 YDKJS 作者 Kyle Simpson 打造全新 JavaScript Mindset : 序 (一)

Photo by Hitesh Choudhary on Unsplash 前言 這是一系列我參加完鐵人賽的整理, 最近也透過 火箭隊軟體工程師培訓計畫(高雄) 的場地, 舉辦一系列實體的讀書會導讀, 已經進展到一半了,每次約 3 小時,一週一次已經連續約一個月左右。 透過實際寫過文章、實際講過 YDKJS 這個系列, 這次回顧,把一些真正重要的「大綱」整理出來。 這部分主要會分享一些「自己」的看法, 如果想知道 YDKJS 作者 Kyle Simpson 對於 JS 的想法, 可以參考我的鐵人文章。 鐵人賽…
學程式助教
March 14, 2020
Python工程思維

手把手打造「哄女友神器」,木頭男也超適合!

哄女朋友最高的境界是什麼? 除了用心之外,每天不重複的年言蜜語必然是少不了的。雖然國文老師上學的時候也教了一些東西,但是日子長了必然「江郎才盡」。 大家都是混科技圈的,借助自動化的手段能不能一次性的解決問題呢? 稱霸 GitHub 熱門榜數天的「哄女友神器」 嗯,顯然是可以的。Github  作為全球最大的同性交友網站,工程師們不僅可以在上面交流寫程式的技巧,還能學到如何開發一個自動哄女友神器。 先附上 GitHub  地址:(傳送門) 這個自動給女友發送微信暖心話的項目,已經連續霸榜 Github  趨勢榜好幾天了。作者用 Python3  和 Itchat  微信介面開發了一款小工具,可以定時給朋友發送每日天氣、提醒、每日一句。通過圖靈機器人,也可以智慧自動回覆信息。 操作簡單且容易上手,即使是新手,只要配置好了 Python  環境,安裝好必要的 Python  數據庫,下載程式碼之後,只要 CMD  一下即可實現。 首先,我定的時間是 22:20,一到時間文摘菌的帳號就收到了發送的信息,包括英文和中文情話。北京的天氣以及在一起的多少天。 調整圖靈機器人之後,兩個帳號便可以對話,圖靈機器人還算強大,當我發送:這是個測試之後,圖靈機器人回覆:你不放心我嗎? 備註:工具項目中的天氣信息來自 SOJSON API  介面,暖心情話來自金山詞霸上面的每日一句,還有英文版。圖靈機器人使用需要申請密鑰,每天免費數量只有 100  條。如果使用超過了,可使用青雲客智慧聊天機器人,這個不限制次數。 手把手教學示範 首先,把 Python  安裝好,並配置好環境,個人建議新手安裝 anaconda,具體安裝教程,可自行 Google 搜尋。 然後安裝必要的 Python  數據庫,環境配置好的同學可以直接用 pip install+ 數據庫名 進行安裝。必須安裝的數據庫為:requests、beautifulsoup4、itchat、apscheduler、pyyaml、lxml、simplejson。記住了,一個數據庫都不能少。 然後進入 Github  地址下載項目的全部文件,解壓縮過後,找到 _config.yaml  用 Python IDE 打開。然後進行一系列的配置。 就是這個文件 第一步:配置自動回覆機器人…
學程式助教
March 14, 2020