戰略紀錄

Pandas 第1講:Python資料處理套件Pandas簡介

一.前言: 什麼是pandas?                 先介紹一下Pandas是什麼,簡單來說就是把Excel的表格觀念丟到Python,概念類似試算表的資料分析套件   為什麼學習pandas?        Excel中所有的操作都可以透過Pandas的函式做簡單的處理,像是欄位的加總、分群、樞紐分析表、小計、畫折線圖、圓餅圖等等… 二.學習項目 1.安裝pandas 2.單維度Series 3.雙維度DataFrame   三.本文環境 windows 10 pandas…
celia
March 21, 2020
戰略紀錄

十分鐘內搞懂matplotlib

一.前言: 什麼是Matplotlib? Matplotlib是一個Python 的視覺化套件 ,其中包含兩個最重要的模組 — pylab 和 pyplot,我們可以利用Matpolib創建各種圖形,包括簡單的折線圖,直方圖,散佈圖...。Python 數據計算中經常使用它來完成視覺化的工作。   二.學習目標: 本文以實際代碼編寫,來介紹 pyplot 的使用方式! Python 的 Matplotlib 可繪製簡單的折線圖,只要使用 plt.plot ,給 X, Y 值就可以畫出圖表!  來一個很簡單的畫圖操作,可以認為是matplotlib的'hello,…
celia
March 21, 2020
戰略紀錄

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

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

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

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

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

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

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

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

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

哄女朋友最高的境界是什麼? 除了用心之外,每天不重複的年言蜜語必然是少不了的。雖然國文老師上學的時候也教了一些東西,但是日子長了必然「江郎才盡」。 大家都是混科技圈的,借助自動化的手段能不能一次性的解決問題呢? 稱霸 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
戰略紀錄

不想起身關燈?那就用 Python 寫出能辨識動作的神經網路吧!

常用 Python 的你,真的了解他嗎? 一位來自義大利的工程師顛覆網友們對 Python 的想像! 他不做常見的爬蟲、資料分析與視覺化,他做出能辨識動作的神經網路!真的太強大啦! 打造舞步來控制電源 在今天的文章裡,我將教大家訓練一個神經網路模型,可用來識別鏡頭錄下的「舞步」,並用這些「舞步」控制燈的開關。 我們將在已有的 OpenPose 深度學習模型上建立我們的模型來識別身體位置,然後我們會建立一些樣本來代表身體的各種麼樣。 當我們建立好舞步和其他姿勢的樣本後,我們會清理數據集,然後利用這些樣本來訓練我們製作出的神經網路。 當神經網路訓練好之後,我們會用它來控制燈光。 今天的文章包括很多步驟,不過,所有的程式碼都在 Github 上,上面還包括了我已經蒐集到的原始數據樣例。 使用數據集建立自己的神經網路 首先就是大量的數據。 我們即將採用的神經網路模型,過去卡內基梅隆大學團隊也曾經使用過,他們用自己的全景數據集來訓練模型。 該數據集包括五個半小時的影片,包含了 1,500,000 個手動添加的代表骨骼位置標籤。 整個工作室的圓屋頂上裝有 500…
學程式助教
March 14, 2020
戰略紀錄

如何在主流 JavaScript 框架中做選擇?横向對比 Vue, React, AngularJS, and Angular2

本文原文撰寫於2017年,部分資料可能因時空背景而有不同。 如果你不曉得該如何為你的產品選擇一個合適的前端框架,這篇文章也許可以給你一些啟發。 一個有趣的事實是:IBM 發表的 2017 年最值得學習編程語言名單中,JavaScript 榜上有名。 正是這位 IT 巨頭指出,JS 在網站中驚人地達到 94.4% 的使用率,而且「不太可能降低」。 JavaScript 能確保「對用戶非常友好的網頁,因為它負責整個 web 界面,包括動畫和交互」。 不管你怎麼看,JavaScript 很重要。 這也指明了潛在 Web 開發人員的方向:如果你深入前端,你不得不在某些時刻面對 JavaScript。並且 正確的開發指南 可能有助於此。 讓我們假設你知道 JavaScript 基礎知識,不是一無所知的那種,如果假設是正確的,…
學程式助教
March 11, 2020