深入探討 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...

用 Python 自學資料科學與機器學習入門實戰:Matplotlib 基礎入門

前言本系列文章將透過系統介紹資料科學(Data Science)相關的知識,透過 Python 帶領讀者從零開始進入資料科學的世界。這邊我們將介紹 Matplotlib 這個 Python 資料視覺化的核心工具。 什麼是 Matplotlib?Python 的視覺化套件有靜態的 Matplotlib、Seaborn 和 ggplot(借鏡於 R 的 ggplot2)套件以及動態的 Bokeh 套件(類似於 D3.js)。其中 Matp

Read More...

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

Let’s build a weather bot! 簡介沒有人會懷疑了解天氣的重要性,我們總是看氣象預報或查天氣來決定等下外出時要不要帶傘,衣服要穿多厚是否需要帶件外套,或是需不需要先擦防曬油戴一副墨鏡出門等等。 想查天氣的時候我想大部分人可能就是 Google 一下、上中央氣象局網站、使用 APP、看新聞。或是有種很潮的做法是問 Siri,不過效果可能不太好 ⋯⋯。 其實還有一種做法是建立一個天氣機器人,其實概念就是聊天機器人,讓

Read More...

[筆記] JavaScript: Understanding the Weird Parts - Build your own lib/framework

之前趁著 Udemy 特價,買了上面很有名的課程 - JavaScript: Understanding the Weird Parts,當初會想買是因為他最後面有個章節是介紹如何建構自己的 JS Framework,而我一直都很想有系統性地去瞭解建構一個可供大家使用的 JS library 或是 framework 需要注意哪些事項,該怎麼寫才是安全有彈性的結構。 後來大約花了三天的時間斷斷續續把課程上完,這邊紀錄一下該章節的一些筆記

Read More...