Leetcode 刷題 pattern - Sliding Window

前言身在大 CS 時代,有越來越多人投入刷題的行列,在眼花撩亂的題海中,要想有效率地刷題,掌握並通達題目解法背後,可以不斷被拿來使用的觀念,才能做到以簡禦繁。 繼上次的 Two Pointer,今天要來跟大家介紹另一種演算法的 pattern - Sliding Window。 Sliding Window 的第一個範例 - Leetcode #209 - Minimum Size Subarray Sum題目我們先看一下題目的敘述:

Read More...

如何使用 Python Tkinter 製作 GUI 應用程式入門教學

前言除了 Web 和 Mobile App 之外,桌面應用程式(Desktop Application)也是使用者常使用的應用程式圖形化使用者介面(GUI)。透過 GUI 可以讓一般使用者透過比較直覺的方式來和程式互動(畢竟要讓一般的使用者使用 Command Line 來操作程式是挺難的),也可以讓整個使用者行為更為簡便。許多程式語言都有提供 GUI 的函式庫,讓開發者可以透過常見的元件,例如:按鈕、文字方塊、下拉式選單等方式來設計

Read More...

從製作 visfest 2019 badge 認識 ObservableHQ

前言軟體工程師應該很少沒參加過 Conference 吧,不管是社群或是學術性的,只要是與會者都會拿到一面主辦方製作的名牌,上面除了印著你的大名外,大多就剩下 Conference 名稱與 Logo 了,然而,由灣區的資料視覺化社群所舉辦的年度聚會 - visfest unconf 很是特別,他們提供與會者一個製作自己 badge 的機會,讓大家自行發揮創意,特別之餘也很符合整個會議的調性。今年八月是他們舉辦的第五屆 visfest

Read More...

深入 Session 與 Cookie:Express、PHP 與 Rails 的實作

前言這是一系列共三篇的文章,我稱之為 Session 與 Cookie 三部曲。系列文的目標是想要由淺入深來談談這個經典議題,從理解概念一直到理解實作方式。這是系列文的最後一篇,三篇的完整連結如下: 白話 Session 與 Cookie:從經營雜貨店開始 淺談 Session 與 Cookie:一起來讀 RFC 深入 Session 與 Cookie:Express、PHP 與 Rails 的實作 第一篇以白話的方式來談 Ses

Read More...

Leetcode 刷題 pattern - Two Pointer

前言身在大 CS 時代,有越來越多人投入刷題的行列,在眼花撩亂的題海中,要想有效率地刷題,掌握並通達題目解法背後,可以不斷被拿來使用的觀念,才能做到以簡禦繁。 今天就要跟大家介紹一種演算法的 pattern - Two Pointer。 Two Pointer 的第一個範例 - Leetcode #167 Two Sum II題目我們先看一下題目的敘述: 輸入是一個 array,裡面是已經排好序的 int,剩下就是要找到加總起來等於

Read More...

使用 Prometheus 和 Grafana 打造 Flask Web App 監控預警系統

前言身為一個開發者,當我們部屬一個 Web service 時,不是射後不理,而是需要透過監控預警系統去 monitor server 的運行狀況,並在緊急狀況即時通知相關人員作對應處理。所以透過好的 monitoring/alert system 了解目前 server 硬體系統使用狀況(CPU/Memory usage)和整個 service 的網路 networking 狀況是非常重要的一件事情。若是有經驗的

Read More...

一起來了解 Web Authentication

前言在今年年初的時候,W3C 正式將 Web Authentication (WebAuthn) 列入正式標準,開發者可以透過 API 啟動 FIDO 2 驗證,讓使用者透過行動裝置、指紋辨識或硬體安全金鑰來登入帳號,不需輸入密碼! 雖然目前支援度還不高,但既然已成為標準,沒理由不來認識一下何謂 Web Authentication,以及我們可以如何使用。今天就一起來了解我們能如何使用 Web Authentication,增加網站安全

Read More...

淺談 Session 與 Cookie:一起來讀 RFC

前言這是一系列共三篇的文章,我稱之為 Session 與 Cookie 三部曲。系列文的目標是想要由淺入深來談談這個經典議題,從理解概念一直到理解實作方式。這是系列文的第二篇,三篇的完整連結如下: 白話 Session 與 Cookie:從經營雜貨店開始 淺談 Session 與 Cookie:一起來讀 RFC 深入 Session 與 Cookie:Express、PHP 與 Rails 的實作 在上一篇裡面,我們提到了 Sess

Read More...

記一次 Leetcode 刷題體悟 - Valid Number

前言身在大 CS 時代,可能很多人有刷題的經驗,也可能像筆者一樣正經歷刷 Hard 題的各種撞牆。但在這種撞牆的時刻,我們反而可以來觀察自己的思考方式是不是有問題,才會導致撞牆。 今天,就讓我們一起來看一題令許多人抓狂的 valid number。 題目介紹 - Valid Number題目敘述如下: 基本上就是要判斷一個字串是不是可以被當作一個數字。如果你試著去解解看這題,你可能會發現一件事,就是你很容易不斷漏考慮一些 case。但

Read More...

使用 Python 資料分析和視覺化上市櫃公司薪資公開資料

前言 證交所今(28)日在公開資訊觀測站公布上市公司申報之107年度「非擔任主管職務之全時員工薪資」資訊。藉由提升員工薪酬資訊透明度,讓摳門老闆無所遁形。 根據新聞媒體的報導 證交所公布上市公司非主管全時員工薪資,讓我們可以一窺近兩千家(853 + 733)上市櫃公司的薪資水準,也可以看看哪些公司薪資水準相對較低(順便看看各種逗趣的理由?本文 cover 圖即是將低薪公司的理由放入 wordcloud 產生器產生的圖片!),當作我們

Read More...