戰略紀錄

跟著 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
戰略紀錄

盤點10個超多人使用的前端動畫庫!

在網頁設計上,你可能固定使用某幾個動畫庫,但你知道 GitHub 上面其實有超多超夯的前端動畫庫嗎? 前端動畫不僅能代表該網頁製作者與單位的用心,同時也能增加使用者好的體驗, 這篇文章幫喜愛網頁互動動畫的你整理了10個超多人推薦的前端動畫庫! 我們趕快往下看吧! 1. jQuery.countdown 創立者:hilios GitHub 人氣:2.2K stars GitHub 傳送門:https://github.com/hilios/jQuery.countdown 2. aniJS 創立者:anijs GitHub 人氣:3.6K stars GitHub 傳送門:https://github.com/anijs/anijs 3. matter-js 創立者:liabru…
學程式助教
March 4, 2020
初心者也能上手的版本控制基本指南戰略紀錄

初學者也能上手版控的基本指南

本篇大綱: 何謂版本控制? 版本控制的類型和用途 Git介紹和使用者 Git vs Github vs Gitlab 何謂版本控制? 版本控制系統是一種軟件工程的開發技巧,可以通過這個系統讓每位成員的軟件版本可以方便同步和維護管理 (不然要用電子郵件或其他工具傳送和管理十分麻煩,尤其是程序又常常會有不同版本修改的問題!) 在沒有版本控制系統時,我們常會在編輯檔案前複製一個備份,或者在更新檔案後產生許多重複檔案,非常不便且難以維護。 因此,使用版本控制系統的需求就這樣產生啦! 版本系統類型和用途 舉例來說:A&B共同開發專案,有兩種版本控制方法: 1.中央式: 伺服器維護一個最新版本的專案,當要修改專案的時候,就從伺服器上下載專案,改完再上傳。 為了保證伺服器上永遠是最新的,就需要一直保持網路暢通;一旦中央伺服器壞了,一切都將結束。 CVS是最初的版本控制系統,SVN是當前最流行的集中式版本控制系統。上述兩個都是開源,免費的。 2.分散式: 一開始,A本地電腦有一個倉庫,用於存儲“ A對專案的修改”(B也一樣)。 需要更新整個專案的時候,A,B之間就互相點擊“修改”,然後本地倉庫就保存了“所有人該專案的修改”。 因此,每個人都有最新版的專案,斷網斷電也不用擔心。…
celia
February 11, 2020
戰略紀錄

有效管理Python套件(Package)的工具及概念

在實務上發展應用程式時,除了可以自行開發模組(Module)與套件(Package)外,很多時候會安裝使用第三方套件(Package),來提升專案的開發效率。 所以本文將介紹如何在PyPI中搜尋所需的Python套件(Package),並且以Windows作業系統及Visual Studio Code開發工具為例,瞭解Python強大的套件管理工具,讓您有效管理專案中的Python套件(Package)。 由於是在Visual Studio Code的Terminal視窗中下指令的方式來操作,所以使用命令提示字元視窗,也可以達到相同的效果。本文重點包含: PyPI(Python Package Index) pip套件管理工具 pipenv套件管理工具 Pipfile及Pipfile.lock檔案 一、PyPI(Python Package Index) PyPI是一個套件庫,位於https://pypi.org,其中包含了各式各樣的Python套件(Package),在開發應用程式的過程中,可以到這邊來搜尋是否有所需的功能套件(Package),安裝後透過引用的方式來進行使用,藉此提升開發效率。 現在就來介紹幾個在使用PyPI時,需要瞭解的基本功能。首先,PyPI的首頁如下圖: 各位可以在搜尋的地方查詢所需的套件,例如搜尋常應用在網路爬蟲的beautifulsoup4套件(Package),從查詢結果可以看到許多相關的套件(Package),如下圖: 以beautifulsoup4 4.8.2為例,點進此套件(Package)後,可以看到安裝的指令及最新版的發佈日期,如下圖: 一個套件(Package)要如何使用,一定會有文件可以參考,往下即可看到Documentation的連結,如下圖: 而套件(Package)的版本演進歷史則可以透過左邊的Release history來查看,如下圖: 以上是在使用PyPI上查找套件(Package)時,較常使用的部分,接下來,就來教大家如何透過指令來安裝套件(Package)吧。…
學程式助教
February 5, 2020
戰略紀錄

Pandas 第7講:Python資料處理套件Pandas數值處理與基礎統計量

上一篇文章主要介紹如何利用pandas處理字串資料,而這章節的會著重於數值的資料處理以及顯示基礎統計量的方法。在資料分析中,數值資料是非常常見的,而且對於後續的深入分析而言,數值資料能夠讓我們進一步利用推論統計檢定許多因素與目標的關聯性,幫助我們能夠利用檢定結果進行決策,或是發現夠深入的趨勢。   這次我們會使MLB美國職棒大聯盟的各隊歷年統計數據(mlb_team.csv)的公開資料,其中記錄了美國職棒大聯盟從西元1871年至今的各球隊數據,因為最近正好碰到需要分析棒球的運動相關數據,且這份資料大部分的欄位都是數值欄位,正好適合這篇文章主題。 讀取資料: import pandas as pd mlb_teams = pd.read_csv("mlb_team.csv",encode="UTF-8") mlb_teams.head()     向量處理 Vectorize Operations 之前的文章中有提到Pandas是利用向量處理的方式進行資料處理的,所以我們在進行數值運算的時候都是針對單一個欄位將欄位中的所有數值進行相同的運算,如果要針對特定條件的數值進行運算,則需要先進行資料篩選再進行數值處理。 基本上在利用Pandas進行數值運算時,跟我們一般在寫Python計算一樣,只是平常用於運算的變數變成了 DataFrame 物件或是 Series 物件,所以所有Python中的數學運算符,在Pandas都可以直接使用: s = pd.Series() s+11 s-10 s*5…
學程式助教
February 3, 2020
戰略紀錄

【學程式主題小聚-利用Python與Balck Scholes來制定選擇權評價模型】

相信大家都有聽過股票但是選擇權比較鮮少人會特別注意到亦或是想深刻的了解的 其實,台灣人對於金融市場是非常熱衷的,這次Raymod身為一名股權衍生性金融商品交易員來告訴我們 身為一名交易員他對於選擇權中有什麼該注意的,以及選擇權中交易的細節都在這場小聚都仔細地分享給我們! 對Python+金融有興趣的朋友可以來到Raymond的部落格走走喔 雷蒙的Python投資筆記版主(https://raymond-investment.com/)   衍生性金融商品介紹 由標的資產延伸(衍生)出來,並可以利用金錢衡量的商品 股票、期貨、利率、外匯、原物料等 高槓桿 → 高風險 什麼是選擇權 定義:有權利於某時間用某價格買進或賣出標的資產 用途:投機或避險 相關參數:買賣權,波動率、標的資產價格、履約價、到期時間、利率 Raymond也舉了1月的總統大選當例子, 總統大選前應該就要先避險 ,也是因爲新的執政黨剛上任會影響金融市場。 要會假想整體局勢,會比較像賭博概念! 再購入選擇權時,當然也要了解風險,要掌握的住會輸多少 有種「要戰勝敵人,就得先瞭解敵人」的感覺 股票的買入賣入是1:1,選擇權則是1:4,風險這麼高的請況下,這時,我們就是要學選擇權評價 可以幫助我們以下幾點 避免錯價買入或賣出…
學程式助教
January 22, 2020