Python Monkey Patch 入門教學

前言Python 是近來十分火紅的程式語言,不管是網站開發、遊戲開發或是資料科學都可以看見 Python 的身影,本系列文章將透過複習 Python 小 tips,讓讀者可以重新認識 Python。這次我們先來認識一下 Monkey Patch 這個程式設計上的小技巧。 什麼是 Monkey Patch簡單來說,Monkey Patch 就是在 run time 時動態更改 class 或是 module 已經定義好的函數或是屬性內容

Read More...

軟體工程師面試資源最簡整理與技巧分享

前言只要是在 CS 產業,想要當軟體工程師,基本的資料結構和演算法功力是必須要時時打磨的,這次就整理一些好用的工具,而且盡量把資源最小化,讓大家在準備面試時有足夠資源,又不會被太多資料弄得暈頭轉向。 線上練習寫 code 網站 Hackerrank 如果是剛開始刷題,可以透過寫 Hackerrank 的題目幫忙複習基本的資料結構和演算法。 Lintcode Lintcode 有一些 ladder 也還不錯,可以幫助循序漸進地刷題。

Read More...

進階 React Component Patterns 筆記(上)

前言前不久在 Frontend masters 看到一部影片 Advanced React Patterns,是 Paypal 的工程師 Kent C. Dodds 在某場 workshop 介紹他實作 React component 時所使用的進階 React Patterns(目前似乎要付費觀看,而他在 egghead.io 上也有一系列教學,同樣要收費就是了…),內容非常豐富扎實,若是想提供一些可高度客製化的共用元件,使用這些 P

Read More...

深入探討 JavaScript 中的參數傳遞:call by value 還是 reference?

前言其實這週原本是要來寫淺拷貝跟深拷貝的差異以及實作,但在找資料的時候無意間又看到 call by value 與 call by reference 相關的文章,越研究發現越有趣。原本以為自己已經搞懂了這個問題,但沒想到看的資料越多,卻把自己弄的越糊塗。 要寫這篇文章其實有兩個不同的方式,一個是詳實記錄我研究這個問題的過程以及心中的疑惑,以及最後如何得到解答,簡單來說就是按照時間軸來寫;另外一個是當我研究完以後,再重新以自己的方式整理

Read More...

Python Decorator 入門教學

前言Python 是近來十分火紅的程式語言,不管是網站開發、遊戲開發或是資料科學都可以看見 Python 的身影,本系列文章將透過複習 Python 小 tips,讓讀者可以重新認識 Python。這次我們先來認識一下 Decorator 這個看似怪異但卻常被使用的設計模式。 什麼是 Decorator簡單來說 Decorator 程式語言的設計模式,也是一種特殊的 function(例如:把 function 當做參數傳入,再把 f

Read More...

一起來讀 CRAM - A Cognitive Robot Abstract Machine for Everyday Manipulation in Human Environments

前言很久以前,我就寫過一篇 CRAM 簡介,但是一直沒有把這個工具用起來,深感可惜。 最近又因緣際會寫了 一起讀 Knowledge-Enabled Robotic Agents for Shelf Replenishment in Cluttered Retail Environments,所以想要再把 CRAM 的原始 paper 拿起來看一次,然後將我所了解的分享給大家。 為什麼發展 CRAM?CRAM 被發展出來的原因,就是因為

Read More...

一起來了解 Javascript 中的 Proxy 與 Reflect

前言在眾多 ES6 提供的新功能上,Proxy 與 Reflect 算是最少被提及的,主要原因我想還是因為瀏覽器的支援度較低,不過在我前陣子看到 Frameworkless JavaScript Part 3: One-Way Data Binding 這篇文章時(好文推薦!很有趣),特意去查了一下才發現目前支援度已經越來越好: 常用的瀏覽器幾乎都支援,我想也是可以來好好了解一下這兩個神奇的物件了! 最後有個參考該篇文章實作的 To

Read More...

測試 webhook 不再煩惱:ngrok

前言以前在開發 Chatbot 的時候,發現最困難的不是寫程式,而是測試。 為什麼呢?因為 Chatbot 的原理就是接收到訊息時發送一個 request 到你指定的位置(webhook),你再 call API 然後回訊息。 可是呢,這個 webhook url 通常都會有兩個需求: 必須要有一個 domain(不能只有 IP) 要是 https 因此測試的流程就變成這樣: 在 local 端先 coding,用肉眼 debu

Read More...

來寫個氣象機器人吧!(Part 2)

Let’s build a weather bot!此篇承接上一篇 來寫個氣象機器人吧!(Part 1)。 可以先玩看看氣象機器人,第一次使用請先輸入 help 來查看指令: 氣象機器人 Messenger Bot 連結 氣象機器人 Line Bot 連結 機器人回應設計思路在繼續閱讀之前,希望大家能先看這篇「聊天機器人的開發思路」,這篇文章介紹了機器人回應的幾種模式,以及適用情況。那麼接著就是要考慮我在氣象機器人中,要採用下列模

Read More...

一起讀 Knowledge-Enabled Robotic Agents for Shelf Replenishment in Cluttered Retail Environments

前言今天來跟大家一起看一篇論文,可以讓機器人將貨架整理成指定的樣子,算是比較進階的機器人應用。大家可以先看個影片,對整個應用會比較有概念。 系統 overview有 overview,就比較能夠繼續往下看。所以首先讓我們來看看整個系統架構: 整個系統的運作流程如下: CRAM 先產生最初的任務 - 重新整理貨架,整理成跟 KNOWROB 中儲存的樣貌一樣 CRAM 向 ROBOSHERLOCK 提出 query ,以偵測有哪些物品

Read More...