Python居然可以視覺化?!來自大一新生的驚人開發~

Python居然可以視覺化?!來自大一新生的驚人開發~
Python居然可以視覺化?!來自大一新生的驚人開發~

密密麻麻的Python也能視覺化?!你沒看錯~確實可以喔!!開發者還只是個大一新生呢~

小大一把 Python 程式碼「可視化」!Debug 不再傷肝傷眼

最近一個 Python 腳本在 GitHub 上受到掀起一陣討論──因為它簡單地把原本純文字的程式碼「可視化」了,開發者還是一個大一新生!

這個適用於 Python 環境的腳本編輯器名叫「Ryven」,著重於簡單化、透明化編碼過程,並致力為使用者提供最直觀、清晰且即時的反饋:

Ryven呈現操作流程的簡潔介面

▲ Ryven 可用簡潔的介面呈現導入圖片、調整大小、調整亮度、套用雙邊濾波器(Bilateral Filter)去噪這一系列的操作流程。

如上圖,從導入圖片、調整大小、調整亮度到套用雙邊濾波器(Bilateral Filter)去噪這一系列的操作流程,用簡潔的介面呈現出來,每個步驟都一清二楚。

Ryven運算矩陣

▲Ryven 也可以運算矩陣:無論是逆矩陣、共軛還是隨機變量,都能得到可視化的即時反饋

不只編輯圖片,運算矩陣也可以。無論是求逆矩陣、求共軛還是隨機變量,都能藉由可視化得到即時反饋。

Ryven 在 GitHub 上獲得了超過 1600 顆星星,完全免費且開源。讓不少人驚訝的是,Ryven 的開發者還在就讀大學一年級!

這位年少有為的開發者名叫 Leon Thomm,稱自己是一名業餘工程師,並表示自己正在就讀瑞士蘇黎世聯邦理工學院一年級,但在進入大學前就有豐富的軟體開發經驗。現階段重心在研究程式設計的可視化。

Ryven:一個為 Python 設計的視覺化腳本編輯器

Ryven 開發環境基本要求為 Python 3(推薦3.8+)、PySide2(推薦2.14+),運行跟文件中的 Ryven.py ,即可打開編輯器,也支援建立虛擬環境。

開發者特別在 Ryven 的介紹網頁提到,目前常見的程式設計可視化編輯器有兩種算法模式──資料流(data)與執行流(execution),而 Ryven 同時啟用了這兩種方法,讓使用者根據執行流程自行選擇適合的模式。

  1. 資料流:每當節點(note)的資料輸出更改,都會更新流程,並在所有連接的節點中即時更新結果。
  2. 執行流:資料不會在更改時立即更新整個流程,只有在某個節點請求輸出資料時,更新受影響的節點。

但無論哪種模式,要建立、編寫新節點都非常容易且直觀,只要是能在 Python 上運行的應用程式與數據庫都可以被放入 Ryven,對函式庫的使用也沒有任何限制。

除了便捷,Ryven 也十分重視 UI 的美觀與設計感,為此準備了 4 種不同風格的主題供使用者挑選;除此之外,還貼心為想在被窩中寫程式的使用者設想,支援觸控筆模式,除了編輯整個項目外,使用者也可以手動將節點寫入流程中。

Ryven的手寫模式

▲ 除了敲擊鍵盤,Ryven 也支援手寫模式。

如 Ryven 這類將程式設計可視化的編輯器近來大受歡迎,不少工程師都認為「可視化」導入程式設計後既明確又清晰,大大提升了編寫效率。也許等這類工具更加成熟後,會成為工程師 debug 的最佳幫手!

Ryven 傳送門請點此

更多Python或程式語言相關文章請點閱下方連結~

其他閱讀

狗狗是人工智慧的最佳教練!Google AI機器人學狗左轉右彎還能小跑

SEO是什麼?PPC關鍵字廣告差在哪?如何自學?

2020年度十大Python函式庫人工智慧 · 機器學習必備

終極版 AlphaGoDeepMind 最新人工智慧「MuZero」能下棋、玩遊戲、壓縮影片

人工智慧面試官你遇過嗎?有了他就不用擔心受外貌影響啦!!()

Google說有了他!!就能讓你的SEO更上一層樓!!

日文系錄取竹科知名百大企業只因報了Python課程?!

十大Python函式庫懶人包免費送!!快收藏起來!!(四)

十大Python函式庫懶人包免費送!!快收藏起來!!(四)
十大Python函式庫懶人包免費送!!快收藏起來!!(四)

Python的同學們一定要知道的十大Python函式庫都幫大家整理好了~請享用~(四)

本系列文章為【2020年度十大Python函式庫-人工智慧 · 機器學習必備 】的最後一篇。上一篇介紹了 PyTorch 版的 Keras「PyTorch Lightening」讓你告別沒完沒了的 Debug!另外還有微軟出的 Hummingbird 讓你不用重新設計新模型;另外還有可以將高維度資料視覺化的「HiPlot」,請點十大Python函式庫懶人包免費送!!快收藏起來!!(三)看上一篇閱讀了解!

 

HiPlot

幾乎每個數據工程師都處理過高維度資料(High Dimensional)。可惜人類的腦容量有限,無法直觀地處理此類資料,因此必須求助於科技來解決。

2020 年早些時候,Facebook 發布了 HiPlot函式庫,可使用平行座標和其他圖形方式來表示信息,從而協助找出高維度資料中的關聯性和模式。他們在官網中說明了其概念,基本上,HiPlot 是一種將高維度資料視覺化以及過濾的便利方法。

 

 

 

HiPlot

 

 

Scalene

隨著 Python 的函式庫生態系統變得越來越複雜,我們也寫出越來越多 C 語言延伸的代碼以及多執行緒代碼。但是,CPython 內置的效能分析器(profiler)無法完整地處理多執行緒和本機代碼。

此時你需要 Scalene:Scalene 是用於 Python 腳本的 CPU 和記憶體的效能分析器(profiler),能完整地處理多執行緒代碼並區分運行 Python 和本機代碼所花費的時間。此時你無需修改代碼,只需要在命令行中使用 Scalene 運行腳本,腳本就會自動生成報告的文字檔或 HTML,顯示代碼中每一行的 CPU 和記憶體使用情況。

 

 

 

Scalene

 

 

▲ Scalene 是用於 Python 腳本的 CPU 和記憶體的效能分析器,能處理多執行緒代碼並區分運行 Python 和本機代碼所花費的時間

 

 

 

 

同場加映:Norfair

選出去年十大 Python 函式庫的機器學習顧問公司 Tyrolabs 自家也開發了「影像內容分析 (Video content analysis)」的 Python 函式庫「Norfair」。

Norfair 是一個輕量的且可被客製化的 Python 函式庫,用於即時物件追蹤(real-time object tracking):它可以在不同的影格當中,替每個被偵測到的物件賦予獨一無二的 ID,如此一來,你就能辨識出這些物件——縱使它們都在移動。

 

 

Norfair
 

▲ Norfair 可以在不同的影格當中,替每個被偵測到的物件(如圖中左側)
賦予獨一無二的 ID (如圖中右側)

 

 

 

 

藉由 Norfair,工程師只需輸入幾行代碼就能賦予任何偵測器追蹤的功能——無論追蹤的物體是具有有四個參數的 bounding box(邊界框)、只有單一點的幾何中心(centroid)、還有人體姿態辨識系統的輸出(經常有多個關鍵點是大於特定閥值的)等任何物體。

此功能常被用作計算兩個追蹤物體之間的距離,用戶可依序需要定義檢測標準以及追縱的對象。

Norfair 是非常模塊化的 Python 函式庫,使用起來很靈巧:工程師僅需使用幾行代碼,即可在現有的檢測代碼庫上添加追蹤的功能。

 

 

更多Python或程式設計相關文章請點閱下方連結~

 

 

 

其他閱讀

Nature:語言天才比數學高手更適合學 Python!別在嘴文科生、女性不能寫程式了

人工智慧能「聽咳嗽聲認出新冠患者」!成功率達 98.5%

Google 正測試人工智慧系統,助盲人和視障人士獨立參加路跑

用說的就能寫程式!人工智慧替手傷工程師開發語音程式工具

電影迷工程師知道片中程式語言是Python還是Java?()

程式設計碼也能拿來當交友工具?!木訥的工程師們有福啦!!()

工程師非之不可的JavaScript歷史演變及特色應用全都錄!

十大Python函式庫懶人包免費送!!快收藏起來!!(三)

十大Python函式庫懶人包免費送!!快收藏起來!!(三)
十大Python函式庫懶人包免費送!!快收藏起來!!(三)

Python的同學們一定要知道的十大Python函式庫都幫大家整理好了~請享用~(三)

本系列文章為【2020年度十大Python函式庫-人工智慧 · 機器學習必備 】的第三篇。上一篇介紹了美化了 Python 錯誤信息的「Pretty Errors」,堪稱是療癒系的工程師的 debug 神器、還有「Diagrams」讓工程師不需要使用設計軟體,只要使用 Python 就能畫出美輪美奐的雲系統架構圖。請點十大Python函式庫懶人包免費送!!快收藏起來!!(二)看上一篇閱讀了解 。

HydraOmegaConf:結構化複雜的機器學習項目

在機器學習項目中做研究與實驗時,總是有五花八門的環境配置工作。在這些非平凡(non-trivial)的應用程式中,配置管理可能會變得也複雜。是否有結構化的方法來處理這種複雜性?

Hydra 可藉由「組合」的方式來建構配置,並從命令列或 config 設定檔中覆蓋某些特定的部分,而加快了執行速度。

為了要說明 Hydra 函式庫可簡化一些特定的任務,tryolabs 舉了他們正在試驗的模型的基本架構以及它的多種變化為例。借助 Hydra,可以定義基本配置,然後運行多個工作並對其進行變化:

 

 

 

 

Hydra 的表親「OmegaConf」為分層配置系統的基礎提供了一致的 API,並支援不同的來源如 YAML、config 設定檔、物件與 CLI 參數。

PyTorch Lightning:PyTorch 版的 Keras,告別沒完沒了的 Debug

PyTorch 是一款熱門的的深度學習框架,可以簡單的方式建構複雜的 AI 模型。但是當作大量實驗的時候,很多東西都會變得複雜過頭,代碼也隨之變得龐大,此時還是容易出錯。

於是,PyTorch Lightning 就為了減少錯誤而誕生:它可以重構 PyTorch 代碼、抽出複雜重複的部分,讓工程師可以專注於核心的建構、實驗也更快更便捷地開展迭代。

 

 

PyTorch Lightning重構PyTorch 代碼
 

▲ PyTorch Lightning 可以重構 PyTorch 代碼、抽出複雜重複的部分,讓工程師可以更專注在研究代碼上

 

 

 

 

Lighting 的原理是藉由將研究代碼從重複性強的工程代碼區分開,讓工程師可以專注在研究代碼上,思緒就會更加清晰,整體代碼也更加簡潔。

Hummingbird

並不是所有的機器學習都是深度學習。通常,你的模型是由更多傳統的演算法在 Python 的機器學習套件 scikit-learn(像是 Random Forest)中組成;或者你也可以選擇時下流行的 LightGBM和 與 XGBoost 的梯度提升技術 (Gradient boosting)演算法。

然而,機器學習領域一直都在進步。像是上述的 PyTorch 框架正以令人屏息的速度在進步,硬體設備也不斷優化,以更低的耗能、更快的速度完成張量計算。假如我們能將這些優勢套用到傳統的演算法中,不是很好嗎?因此 Microsoft 就發布了新的 Python 函式庫「Hummimgbird」。

Hummingbird 可以將已經訓練好的傳統機器學習模型,編譯至張量計算。這個強大的功能讓你不用設計新的模型!

截至目前為止,Hummingbird 支援轉換到 PyTorch、TorchScript、ONNX 與以及多種機器學習模型以及向量器。其實這跟上述提到的 scikit-learn(Sklearn)非常相似,讓你重複使用現有的代碼,但可將成品變成由 Hummingbird 生成的代碼

下篇,我們即將介紹「Scalene」:用於 Python 腳本的 CPU 和記憶體的效能分析器(profiler),能完整地處理多執行緒代碼並區分運行 Python 和本機代碼所花費的時間,還有用於影像即時追蹤(real-time object tracking)的 「Norfair」,能及時抓住正在移動的人、事、物並賦予獨一無二的 ID。請點十大Python函式庫懶人包免費送!!快收藏起來!!(四)看下一篇閱讀了解!

 

 

更多Python或程式設計相關文章請點閱下方連結~

 

 

 

其他閱讀

Nature:語言天才比數學高手更適合學 Python!別在嘴文科生、女性不能寫程式了

人工智慧能「聽咳嗽聲認出新冠患者」!成功率達 98.5%

Google 正測試人工智慧系統,助盲人和視障人士獨立參加路跑

用說的就能寫程式!人工智慧替手傷工程師開發語音程式工具

電影迷工程師知道片中程式語言是Python還是Java?()

程式設計碼也能拿來當交友工具?!木訥的工程師們有福啦!!()

工程師非之不可的JavaScript歷史演變及特色應用全都錄!

十大Python函式庫懶人包免費送!!快收藏起來!!(二)

十大Python函式庫懶人包免費送!!快收藏起來!!(二)
十大Python函式庫懶人包免費送!!快收藏起來!!(二)

Python的同學們一定要知道的十大Python函式庫都幫大家整理好了~請享用~(二)

本系列文章為【2020年度十大Python函式庫-人工智慧 · 機器學習必備 】的第二篇。上一篇介紹了把單調的「命令列介面」變花俏的 Python 函式庫:Typer、Rich 與 PyGui,除了可把命令列/終端機介面變彩色外,還可以加入表情符號與特效等。請點十大Python函式庫懶人包免費送!!快收藏起來!!(一)看上一篇閱讀了解 。

PrettyErrors:將 Python 醜陋的 bug 信息變漂亮

Python 已經是言簡意賅的程式語言了,但是當有 bug 時,它的錯誤信息輸出(參見下圖左側)也是一樣會讓你懷疑人生!密密麻麻的代碼,讓你必須在毫無頭緒之下地毯式搜索!

 

 

PrettyErrors美化了Python的錯誤信息
 

▲PrettyErrors 函式庫將原本混亂的 Python 錯誤信息(箭頭左邊所示)重新排版得井然有序、顏色與段落都很分明(箭頭右邊所示)

 

 

 

 

經過 PrettyErrors 的重新排版,所有醜陋的錯誤信息都能變的井然有序,最後你得到的是經過排版美化、整齊劃一的 bug 報告,如上圖的右側所示。

Diagrams:只用 Python 就能繪製雲系統架構

程式設計師除了 coding 與 debug 外,有時還需要跟其他的同事解釋錯綜復雜的架構。傳統上,我們會使用圖像介面(GUI) 工具來處理圖表、將其可視化後放入簡報、文件等,但這並非唯一的方法。

Diagrams 可以讓你在沒有任何設計工具的狀況下,僅僅使用 Python 程式碼就繪製出雲系統架構!它有現成的圖標,讓你能馬上對應AWS、Azure、GCP 等多個不同的雲端供應商,使得繪製箭頭、創建群組等都輕而易舉!只需幾行代碼即可!

 

 

 

透過Diagram而使用Python繪製的雲架構圖

 

 

▲ Diagram 函式庫能讓工程師僅僅使用 Python 代碼
就能繪製雲系統架構圖

 

 

 

 

下篇,我們即將介紹 PyTorch 版的 Keras「PyTorch Lightening」讓你告別沒完沒了的 Debug!另外還有微軟出的 Hummingbird 讓你不用重新設計新模型;另外還有可以將高維度資料視覺化的「HiPlot」,點十大Python函式庫懶人包免費送!!快收藏起來!!(三)看下一篇閱讀了解!

 

 

更多Python或程式設計相關文章請點閱下方連結~

 

 

 

其他閱讀

Nature:語言天才比數學高手更適合學 Python!別在嘴文科生、女性不能寫程式了

人工智慧能「聽咳嗽聲認出新冠患者」!成功率達 98.5%

Google 正測試人工智慧系統,助盲人和視障人士獨立參加路跑

用說的就能寫程式!人工智慧替手傷工程師開發語音程式工具

電影迷工程師知道片中程式語言是Python還是Java?()

程式設計碼也能拿來當交友工具?!木訥的工程師們有福啦!!()

工程師非之不可的JavaScript歷史演變及特色應用全都錄!

十大Python函式庫懶人包免費送!!快收藏起來!!(一)

十大Python函式庫懶人包免費送!!快收藏起來!!(一)
十大Python函式庫懶人包免費送!!快收藏起來!!(一)

Python的同學們一定要知道的十大Python函式庫都幫大家整理好了~請享用~(一)

國外的機器學習與資料科學顧問公司「Tyrolabs」每年底都會選出年度十大最強 Python 函式庫。去年(2020)年尾不例外。

根據 Tyrolabs 提出的免責聲明,2020 年他們在精選出 10 大函式庫時,在很大程度上是受到機器學習與數據科學的影響——儘管其中有幾個確實對「非」數據科學的人士非常有用。

因此,除了 10 個入選的 Python 函式庫之外,他們決定再從遺珠之憾中,挑出幾個他們覺得同樣重要的數據庫,列入「榮譽表揚(Honorable mentions)」的部分。

以下為入選的十大 Python 函式庫:

Typer:讓命令列介面更好編輯

雖然你並非總是需要編寫沒有圖像、滿滿文字的 CLI(命令列介面)應用程式,但是一但遇到了,一定會希望能速戰速決、無後顧之憂。FastAPI 的創作者「tiangolo」繼之前的 FastAPI 框架取得巨大的成功後,使用了相同的原理創作了新的函式庫 「Typer」,使你可以借力於 3.6 以上版本的 Python 才有的「類型提示(Type Hinting)」功能來編寫命令行介面。

這樣的設計讓 Typer 脫穎而出。透過「類型提示(Type Hinting)」功能,您可以在 Python 編輯器(如 VSCode)中享有「自動完成」功能,這將大大提高您的工作效率;除了能確保所寫的程式碼是否完整被紀錄之外,你也花了最少的力氣寫出純文字的 CLI 命令列介面的應用程式。

 

 

Typer為Python編輯器VSCode中的自動完成功能
 

▲ Typer 賦予 Python 編輯器(圖中為 VSCode)「自動完成」的功能,能有效提升寫程式的效率。(圖:FastAPI)

 

 

 

 

為了增強其功能,Typer 被建立在知名的「命令列神器」Click 之上。這意味著 Typer 可以充分利用 Click 既有的所有優點、社群與插件,使用更簡潔的樣版代碼,並依據所需,進行更複雜的工作。

Rich:讓命令列介面從黑白變彩色

依循命令行介面 CLI 的主題,誰說終端應用程式必須是單色的白色、或是駭客電影中常見的黑色、綠色呢?太無聊了!

身為 Python 工程師的你,是否會想再終端輸出時添加色彩與樣式,像是在打印複雜的表格時加入心跳特效、毫不費力地展示漂亮的進度條、markdown 或是表情符號?Rich 函式庫可以實現上述特效,如以下所示:

 

 

Rich讓命令列介面從黑白變彩色
 

▲ Rich 函式庫能讓單色的命令列介面(CLI)變彩色,還能有多種視覺特效、表情符號等。

 

 

 

 

無庸置疑的,Rich 可讓命令列字元的應用程式,外觀換然一新,給人的視覺體驗。

Dear PyGui:賦予終端機程式真正的圖像化介面

藉由 Rich 函式庫,終端應用程式變漂亮了,但是有時這樣的美化還不夠,你甚至需要一個新的 GUI 圖形介面。此時你需要 Dear PyGui——一款 Dear ImGui C++ 計畫的 Python 接口。

Dear PyGui 使用了在電玩中常用的即時模式(immediate mode),這意味著動態 GUI 是一個影格(frame)接著另一個影格獨立繪製的,不需保留任何資料。這使得「Dear PyGui」與其他 Python GUI 框架有所區別。它具有高性能,且使用電腦的 GPU 來促成高度動態界面的構建,這在工程、模擬、遊戲及資料科學的應用程式是經常被需要的。

 

 

Dear PyGui賦予終端機程式真正的GUI
 

▲ Dear PyGui 套用了電玩常用的即時模式,能賦予終端機程式真正的圖像化介面

 

 

 

 

本篇介紹均為把單調的「命令列介面」變漂亮的 Python 函式庫。若 Python 的錯誤信息也能這樣美化的話,工程師在 debug 時就不會這麼痛苦了!沒錯,「PrettyErrors」就是為這一目的而生。請點十大Python函式庫懶人包免費送!!快收藏起來!!(二)看下一篇

閱讀了解!另外還有只用 Python 就能繪製雲系統架構的「Diagrams」、還有可將複雜的機器學習項目「結構化」的「Hydra 與 OmegaConf」,請不要錯過!

 

 

更多Python或程式設計相關文章請點閱下方連結~

 

 

 

其他閱讀

Nature:語言天才比數學高手更適合學 Python!別在嘴文科生、女性不能寫程式了

人工智慧能「聽咳嗽聲認出新冠患者」!成功率達 98.5%

Google 正測試人工智慧系統,助盲人和視障人士獨立參加路跑

用說的就能寫程式!人工智慧替手傷工程師開發語音程式工具

電影迷工程師知道片中程式語言是Python還是Java?()

程式設計碼也能拿來當交友工具?!木訥的工程師們有福啦!!()

工程師非之不可的JavaScript歷史演變及特色應用全都錄!

專為程式設計師設計的交友APP你聽過嗎?(下)

專為程式設計師設計的交友APP你聽過嗎?(下)
專為程式設計師設計的交友APP你聽過嗎?(下)

程式設計師們還在苦苦煩惱不會聊天怎麼辦嗎?不用擔心~這篇文章解救你!!(下)

本系列文章為【秀程式設計也能交女友!工程師專屬交友App:VSinder 】的下篇,請點專為程式設計師設計的交友APP你聽過嗎?(上)看上篇閱讀了解 VSinder 是如何誕生的、能支援哪些程式語言吧!

上傳最得意的程式設計,吸引志同道合的另一半!

基本資料都選填好後,接著就是重頭戲了──上傳一段你最滿意、最自豪的程式設計

 

 

VSinder畫面截圖-2
 

▲ VSinder,重要的不是外貌,而是你寫的 code|Source:Ben Awad 影片截圖

 

 

 

 

在 Code Pics 一欄可以上傳你最得意的作品,畢竟就算使用同一種程式語言,無論是Python還是Java甚麼的,能力也有高下之分,coding 能力才是工程師真正的臉面啊!

曬出自己最棒的一面,同時也能吸引到彼此欣賞的人,透過左右滑動來開啟一段與另一位工程師的緣分,聽起來也是十分浪漫呢。

如果有想要深入對談的對象,可以按下「愛心」,並期待對方也按下愛心;按「X」就會換下一位,也有檢舉不當濫用的選項——其實介面和 Tinder 的設計沒有太大的區別,只是用能直接了解一個人「內在美」的程式設計碼取代了修圖後的美照。如此一來,想必更能讓你找到適合的那個人,畢竟美麗的皮囊千篇一律、有趣的靈魂萬中挑一啊!

3天下載次數破萬 程式設計交友正夯

VSinder 一上線,就快速贏得程式設計師們的熱烈回應,在 GitHub 上有超過 1500 個收藏,3 天的下載量就快要一萬次。

這個平台的發想其實相當有新意,讓擁有共同專業的人們相互認識,雙方有足以開啟話題的相似之處。有共同的專業,也代表有類似的生活型態,聊天就不怕冷場了!

伴侶可以了解自己的專業,甚至能相互勉勵、彼此學習,一起攜手進步,也是相當美好的事情。當然後續可以相伴多遠、走多久就是各自的緣分了,不過有這樣的一個平台,還是讓許多程式設計師感到驚喜。

這款新奇的交友軟體,使用過的網友留下評論道:「這個 app 不僅可以過濾出有共同點的人,還能以幽默的方式表達自己的怪癖和智慧,太棒了!」、「雖然沒有找到另一半,但我在這個app上渡過了快樂的時光。幹得好」、「希望能找到我未來的妻子」。

但也有網友大喊:「這個平台上都是男的啊!」

 

 

VSinder意見截圖
 

▲ 雖然 VSinder 大受好評,但仍有網友抱怨上面的用戶都是男性

 

 

 

 

有一則評論表示,他滑了半個小時,都沒有遇到一個單身女工程師……。只能說,雖然 VSinder 提出了一個新興的想法,也付諸實踐,努力讓工程師們可以彼此相遇,但這個產業相距頗大的性別比例,也是一個 app 無法改變的啊!

推薦閱讀:

 

 

 

更多關於程式語言或程式設計的文章請點閱下方連結!!

 

 

 

其他閱讀

Nature:語言天才比數學高手更適合學 Python!別在嘴文科生、女性不能寫程式了

人工智慧能「聽咳嗽聲認出新冠患者」!成功率達 98.5%

Google 正測試人工智慧系統,助盲人和視障人士獨立參加路跑

用說的就能寫程式!人工智慧替手傷工程師開發語音程式工具

中研院研發人工智慧科技執法,從此超速無所遁形!!()

人工智慧讓聽聲辨病不再是空談!還能辨識新冠肺炎的咳嗽聲!()

讓人工智慧幫你把隨手塗鴉幻化成栩栩如生的奇幻怪獸~

專為程式設計師設計的交友APP你聽過嗎?(上)

 

專為程式設計師設計的交友APP你聽過嗎?(上)
專為程式設計師設計的交友APP你聽過嗎?(上)

 

程式設計師們還在苦苦煩惱不會聊天怎麼辦嗎?不用擔心~這篇文章解救你!!(上)

▲ 交友 APP 示意圖|Photo by Markus Winkler / Unsplash

 

不需露臉,秀程式設計就好!工程師專屬交友軟體 VSinder

伴隨科技的快速發展,都會男女們的交友早已不侷限於現實,許多工作忙碌、生活圈有限的上班族都會使用交友軟體,在線上聊天、互動,最後發展到現實世界進一步「脫單」。

只是,包括全球最知名交友 APP「Tinder」在內,此類軟體都需要使用者上傳照片,外貌要足夠吸引人才有機會被「往右滑」、得以開始聊天;接著又需要在短時間內展露風趣幽默、能言善道的口才,讓人覺得很好聊……接連的關卡,實在是苦了一眾木訥的程式設計師們啊!

好家在,近來有一位美國工程師將程式碼編輯器「VS Code」改造成一款方便工程師一展長才的交友平台「VSinder」!

23歲程式設計者 妙用VS Code打造工程師專屬交友App

VS Code 是 Microsoft 推出的一套整合式開發工具,支援 Windows、Linux 和 macOS 等系統,因其開源、持續開發、豐富的套件支援等等特性,被認為是最受程式設計者歡迎的開發環境之一。

近日,一位名叫 Ben Awad 的 23 歲開發者以其為基底,改造出一款讓程式設計師能在線上進行社交的平台「VSinder」。

 

 

 

 

▲ 開發者 Ben Awad 上傳影片介紹他開發的「VSCode Tinder」。

 

 

 

 

VSinder 以擴展的形式在 VS Code Marketplace 裡面上架,可供直接下載安裝,並支援使用 GitHub 帳號登入;除了電腦版之外,也在 Android 與 iOS 兩大平台上架,方便大家以用手機使用。

「VSinder」這個名稱是 VS Code、Tinder 組合而來,但與 Tinder 不同的是,在 VSinder 重要的並不是你的長相如何,而是你 coding 的能力!VSinder 支援的程式語言包含時下熱門的 Python、Java、Swift 之外,還有 Angular、C、C#、Cpp、Dart、Flutter、Go、Kotlin、React、Vue 等 13 種程式語言。

推薦閱讀:

除了年齡、性別,VSinder還可篩選Python、Java等13種程式語言的另一半!

當然,程式語言的世界也是十分廣闊的,想從茫茫人海中找出同樣跟自己一樣愛用 Python 的那個她?沒問題,VSinder 除了篩選性別、年齡、地點之外,也可以設定想找擅長哪種程式語言的對象。想學 Python?那就找個 Python 超強的另一半吧!

 

 

秀程式設計也能交女友!工程師專屬交友App:VSinder
 

▲ VSinder 最大的特色就是可以用程式語言來篩選對象。|Source:Ben Awad 影片截圖

 

 

 

 

 

 

 

將自己最得意的程式設計作品上傳,就能吸引到志同道合的另一半!但是仍有一個隱憂⋯⋯?請點專為程式設計師設計的交友APP你聽過嗎?(下)接續看下去!

更多關於程式語言或程式設計的文章請點閱下方連結!!

 

 

 

其他閱讀

Nature:語言天才比數學高手更適合學 Python!別在嘴文科生、女性不能寫程式了

人工智慧能「聽咳嗽聲認出新冠患者」!成功率達 98.5%

Google 正測試人工智慧系統,助盲人和視障人士獨立參加路跑

用說的就能寫程式!人工智慧替手傷工程師開發語音程式工具

中研院研發人工智慧科技執法,從此超速無所遁形!!()

人工智慧讓聽聲辨病不再是空談!還能辨識新冠肺炎的咳嗽聲!()

讓人工智慧幫你把隨手塗鴉幻化成栩栩如生的奇幻怪獸~

文組生不適合學Python課程?他們可能比理組生更適合~(下)

文組生不適合學Python課程?他們可能比理組生更適合~(下)
文組生不適合學Python課程?他們可能比理組生更適合~(下)

 

快丟棄學習 Python 課程是理科生專利的舊思維吧!!研究顯示文科善語言的學生可能更適合學習程式語言喔!!(下)

此篇為下篇,上篇請點文組生不適合學Python課程?他們可能比理組生更適合~(上)

語言能力的好壞影響 Python 的學習速度 差異達20%

人們學習 Python 的速度,語言能力的影響比例約有 20%,而數學能力的影響卻只有 2%,且和他們對於 Python 課程內容的掌握度沒有相關。可見語言力比數學力對於程式語言的學習,影響更大

另一個支持語言能力比數學能力更能影響 coding 的佐證,是來自腦波圖(EEG)的數據。腦波圖是透過頭蓋骨上所紀錄到的電波活動,來檢測大腦活動的方法。受試者們在開始線上 Python 課程前,都在放鬆的狀況下進行了腦波測試。因為靜止時的腦波具有不同模式,其中之一就是 β 波。而根據過去研究顯示—:靜止時的 β 波與外語能力相關。

 

 

▲ 受試者在接受線上 Python 課程之前,都在放鬆的狀態下進行 EEG 腦波測試。(source:Wikimedia Commons/本圖為示意圖與當事人無關)

 

 

 

研究證實:語言天才更適合學習 Python 程式語言

在這次的研究中,發現高水平的 β 波與更快的學習效率、更多的程式設計能力相關。儘管這項發現賦予「語言的學習能力與學習 coding 的能力相關」更有力的證據,但對於 β 振盪與學習成果的關係尚未明朗,因此還需要更多的研究證明。

儘管如此,但是總結上述結果:語言能力的好壞深深影響程式語言 (或至少是學習 Python) 的學習吸收程度。相反地
數學能力卻無法準確的預測受試者的學習吸收度與效率。這項研究顛覆了普羅大眾對於學習程式語言的觀點!在過去,程式語言經常被認為是偏重數學的領域。在傳統教育體制中,程式語言課程常被歸類為理科生的專利。

女性擁有更好的語言能力!史上第一位女工程師是女性

 

 

 

▲ 史上第一位工程師 Ada Lovelace 是一位不折不扣的女性。(source:Wikimedia Commons)

 

 

 

對於程式設計的相關職位,人們總是有許多刻板印象:女性、文科生們常被認為不符合「軟體工程師」的條件。但是平均來說,女性擁有更好的語言能力,而根據上述《Nature》旗下自然科學期刊《Scientific Reports》的研究報告:語言能力越好的人,越適合學習寫程式。一言以蔽之,天生就是語言天才的女性應該會更適合 coding 才對。翻閱程式語言的歷史:世界第一個電腦程式設計師 Ada Lovelace 就是不折不扣的女性

 

推薦閱讀:

 

總而言之,想踏入軟體工程師領域、卻又一直認為自己是數學苦手的文科生們──尤其是女性,現在沒有藉口卻步了!研究已經證實出來:語言能力越強的人,比數學天才們更適合 Python 課程

 

 

更多Python課程或人工智慧相關文章請點閱下方連結~

 

 

 

其他閱讀

你是我的眼!Google AI 眼鏡助視障朋友「看見」世界

人工智慧快毀了西洋棋比賽?前西洋棋冠軍聯手AlphaZero AI改寫西洋棋

人工智慧過招,你的草圖也能變成栩栩如生的風景圖

不會畫怪物也ok!人工智慧幫你把小畫家3歲塗鴉,變成大師奇幻插畫

想一嘗人生釀的酒?就讓人工智慧釀酒來幫你達成願望!!()

報章雜誌撰文也難不倒人工智慧!!AI真能取代記者嗎?()

人工智慧加入取藥流程降低傳統藥局負荷,也更精準安全!!()

文組生不適合學Python課程?他們可能比理組生更適合~(上)

文組生不適合學Python課程?他們可能比理組生更適合~(上)
文組生不適合學Python課程?他們可能比理組生更適合~(上)

快丟棄學習Python課程是理科生專利的舊思維吧!!研究顯示文科善語言的學生可能更適合學習程式語言喔!!(上)

文組不適合學 Python 與 Java?《Nature》:外語天才其實更適合寫程式

說到 PythonJava 等程式語言,很多人都認為理科生的專利,這樣的刻板印象,也讓許多有志當軟體工程師的文科生望之卻步、自我設限。其實根據美國《Nature》旗下自然科學期刊《Scientific Reports》發表的文章顯示:Python 程式語言的學習速度似乎與語言能力呈正比,也就是說:越擅長母語、外語國的語言天才,學習程式語言的速度就越快、對於 coding 知識的吸收越好!

 

▲ 過往很多人認為理組生較適合學習程式語言。但根據《Nature》旗下期刊發表的研究文章顯示:語言能力強的人學習 Python 較快 (source:unsplash/本圖為示意圖與當事人無關)

 

 

 

也許,學習 PythonJava 等程式語言的過程,就像是學習英文、德文等第二外語一樣。

根據華盛頓大學研究人員發表的一項研究顯示:從一個人的語言能力及解決問題的能力,就能預測他學習 Python 程式語言的速度快慢。此項研究使用「行為測試」和「大腦活動」的方式,來了解受試者學習程式語言的速度,並同步發表在美國《Nature》旗下自然科學期刊《Scientific Reports》上。

 

▲ 《Nature》旗下期刊《Scientific Reports》發表的研究報告「自然語言能力與學習程式語言的關聯」。(source:擷取自 Scientific Reports 官網)

 

 

 

這項研究招募了 42 名受試者,他們必須透過 Codeacademy 的線上教學平台,完成 10 次 45 分鐘的 Python 課程。其中真正完成課程的受試者有 36 人,研究團隊就從他們的身上確認其學習速度及對課程的掌握度。

線上課程讓研究團隊能掌握受試者學習進度

在進行線上的 Python 課程之前,受試者進行了一連串數學能力、工作記憶、第二外語及問題解決能力的測試後,才開始進行 Python 程式語言的課程。課程是使用線上的方式,不但讓受試者能自我掌握學習進度,更讓研究團隊能即時追蹤受試者的學習速度及在線上測驗中的表現。
受試者們還在課程結束時,完成期末測驗及一項程式設計任務,讓研究團隊了解他們的 coding 程度與學習吸收度。

那記憶力、問題解決的能力以及數學或語言的能力,又是如何地影響他們程式語言的學習力呢?

研究人員隨後比對受試者們在學習前的測驗結果,以及在學習 Python 課程後的測試表現,以確認他們本身的數學能力、工作記憶、第二外語及解決問題的能力,是否會影響到 Python 課程的學習能力及速度。

受試者以不同的速率學習 Python,並且在研究結束時的 coding 能力也不盡相同。研究團隊發現:學生對 Python 的學習力主要是與一般認知能力(解決問題能力和工作記憶)正相關,而他們的學習速度更與一般認知能力和語言能力有著密切關係。

 

 

此篇為上篇,下篇請點文組生不適合學Python課程?他們可能比理組生更適合~(下)

更多Python課程或人工智慧相關文章請點閱下方連結~

 

 

 

其他閱讀

你是我的眼!Google AI 眼鏡助視障朋友「看見」世界

人工智慧快毀了西洋棋比賽?前西洋棋冠軍聯手AlphaZero AI改寫西洋棋

人工智慧過招,你的草圖也能變成栩栩如生的風景圖

不會畫怪物也ok!人工智慧幫你把小畫家3歲塗鴉,變成大師奇幻插畫

想一嘗人生釀的酒?就讓人工智慧釀酒來幫你達成願望!!()

報章雜誌撰文也難不倒人工智慧!!AI真能取代記者嗎?()

人工智慧加入取藥流程降低傳統藥局負荷,也更精準安全!!()

程式設計課程到底學哪個才好?Python還是Java?(下)

程式設計課程到底學哪個才好?Python還是Java?(下)
程式設計課程到底學哪個才好?Python還是Java?(下)

想學程式設計課程卻不知該選Python還是Java嗎?看這篇就對了!!(下)

本篇為上篇,下篇請點此程式設計課程到底學哪個才好?Python還是Java?(上)

▲ 網路上盛傳的 Java 與 Python 程式語言比較迷因圖,顯示現代人對於精簡的 Python 接受度比較高

 

3. 靜態與動態

PythonJava 最大的區別之一在於:兩種語言處理變數的方式:Java 是靜態類型的,而 Python 是動態類型的。

Java 要求在第一次聲明變數時,就必須要定義它的類型,且不可再修改,這就是所謂「靜態類型」;而 Python 無需立即聲明變數的類型,且後續可以改變一個變數的類型,例如可以把整數變數替換為字串(string)。

同樣,函數參數可以傳入任何對象。「鴨子型別」(duck typing)使 Python 非常方便且易於使用。不過,這也容易讓下一個接手代碼的人難以理解,除非附上完善的標註。

4. 編譯與直譯

高階語言(high-level language)都需要先經轉換,才能將原始程式碼「翻譯」成機器看得懂的二進位機器碼。因「翻譯」動作的不同,而將程式語言分為「編譯式語言」(compiled language)和直譯式語言(interpreted language)兩種。

Python 是一種直譯語言,需要安裝一個直譯器(interpreter)將執行到的區塊進行解析(parse),再執行對應的機器碼。因此,執行效率較低於編譯式語言。

這也表示其他人要使用你的程式碼,同樣需要安裝直譯器,沒辦法直接將其發送給同事或客戶。

這既是 Python 的缺點、也是優點,如果要建構用於商業用途的程式,需要倚賴直譯器與多一道直譯流程;但這也表示可以將 Python 添加到 PATH、或直接在 cmd 下運行 Python 腳本,而無需經歷冗長的編譯階段。

Java 技術上既可以直譯也可以編譯。如同編譯語言,會先把程式原始碼編譯成位元組碼(byte code),再將位元組碼直譯之後執行。這種技術會比純編譯語言來的慢一些,但是卻又擁有直譯語言的特性。也因此 Java 程式碼通常更具可移植性。

對初學者來說,哪個更容易入門?

推薦閱讀:使用 Java、Python、C 等 22 種程式語言寫出「Hello World」!

初學者通常更適合從 Python 著手、打開通往程式設計領域的大門。即使對於還沒弄清楚(Class)和物件(Object)概念的人,依然可以合乎邏輯地使用 Python,而且它簡潔的代碼畫面,可以為初學者減低精神壓力和提供喘息空間,它的靈活性也很強,足以在課堂外使用。

如果對建立 Web 應用程式、與科技新創公司合作或對資料科學感興趣,那麼 Python 是你不錯的選擇。

另一面來說,Java 的複雜性和重重規則「可能」有助於你早期就養成良好的習慣,並且為將來專業程式設計師的職業生涯做好準備。

如果你希望未來在一家大公司任職程式設計師、想製作 Android 的 APP 或者已經決定未來要學習 C 語言,那麼 Java 是一個不錯的選擇。不過要先有心理準備面對陡峭的學習曲線!

歸根結底,如果是從「簡單、易學、好上手」來看,Python 毋庸置疑是更好的起點!趕快手刀報名 Python 程式設計課程吧!

推薦閱讀:
非資工系出身,產品人員「Python 課程」結業後轉職大醫院當網站工程師
當了快八年的業務,因Java課程而成功轉職程式設計師

 

 

更多關於Python或程式語言課程相關文章請點閱下方連結~

 

其他閱讀

前端工程師該懂的後端技能 : MySQL教學-DDL DML DQL DCL

使用 Java、Python、C 等 22 種程式語言寫出「Hello World」!

人工智慧電影/影集:Netflix《我的全像情人》探討人與 AI 是否有真愛

介面、體驗大不同!UI設計/UX設計工作內容完整剖析

30個方法教你如何用A/B測試改善網站的UI設計!!(1)

AI人工智慧命名大走鐘:甜點篇

Python課程找好工作:品保花了一年順利轉職程式設計師!!