QWERTY

Hello World!

簡介

  • IFTTT通過其他不同平台的條件來決定是否執行下一條命令。即對網路服務透過其他網路服務作出反應
  • IFTTT = “IF This Then ThaT”
    • If A Then B(當 A 就 B)
閱讀全文 »

異體字

異體字為意思一樣、但寫法不同的字集合。
因為漢字在多個國家使用,每個國家的正式寫法不同,且在歷史中會出現字形改變的情形,自然字形也不同。

閱讀全文 »

編寫優秀的文件可以讓使用者不用閱讀原始碼就能理解你模組的精妙之處

閱讀全文 »

因為mustache語法(雙大括號)會被判斷成render命令,改成全形符號

簡介

採用簡潔的模板語法來宣告式地將資料渲染進 DOM 的系統

<!-- html part -->
<div id="app">
{{ message }}
</div>
//js part
var app = new Vue({
el: '#app',
data: {
message: 'Hello Vue.js!'
todo: []
},
methods: {
reverseMessage: function () {
this.message = this.message.split('').reverse().join('')
}
}
})

在 html tag 中 加入v-開頭的attributes以實作邏輯

閱讀全文 »

不用免費架站服務的理由

若只是要純粹建blog,用github page + hexo 即可。

更簡單的方法就是用痞客邦、Blogger等免費部落格。

不過自架有以下優點

閱讀全文 »

import this

The Zen of Python, by Tim Peters
 
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren’t special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one– and preferably only one –obvious way to do it.
Although that way may not be obvious at first unless you’re Dutch.
Now is better than never.
Although never is often better than right now.
If the implementation is hard to explain, it’s a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea – let’s do more of those!

閱讀全文 »

hexo 都實作得差不多了,純整理

html tag

<title>

  • 網頁的主題
  • <title>標記應該放在HTML文件的<head>標記區段中
    閱讀全文 »

JSX

const element = <h1>hello</h1>;

這個語法叫做 JSX,是一個 JavaScript 的語法擴充,會產生 React element

閱讀全文 »

RSS分析

優點

  1. 不會被推薦演算法影響閱讀喜好漏掉想看的內容
  2. 統一的閱讀體驗,且沒有廣告
  3. 統整多個網站的資訊,不需個別開啟

缺點

  1. 麻煩,較難使用(尤其是網站本身不提供rss的情形)
  2. 資訊過多,需要自己篩選
  3. 能看見的內容更依賴自己的選擇,需要自行打破同溫層
閱讀全文 »

編譯速度慢的原因

因為C++ .h + .cpp 的編譯模型
每個cpp檔可能會包含上百甚至上千個.h檔,這些.h檔都會被讀進來一遍,然後被解析一遍。
每個編譯單元都會產生一個.obj文件,然後所以這些.obj文件會被link到一起,並且這個過程很難平行。重複load與解析,以及密集的IO,使編譯速度很慢。

閱讀全文 »

需求

以目前正在使用的hexo為例,優先度由大到小排列:

  • 文章可依category和tag分類,且顯示在文章頁面中的醒目處
  • 要有table of contents(就是右邊的那個),自動編號,而且能夠點擊移至
    • 有些theme不支援中文標題,所以有些文章的標題只能用英文或數字開頭
  • 標題足以辨識,分段明顯,除了字體大小外,最好是不同字體或顏色
  • 很cooooool的特效或功能
    • pacman: 頭像會旋轉
    • freemind: bootstrap式的欄位
    • next: 非常多
  • 介面調整彈性大,可加入自訂html檔案(像是about, reading…)

之前用過的主題

pacman → freemind → next

features pacman freemind next
category,tag
table of contents
title
special design
interface
個人審美

若有人找到符合的theme請告知,感激不盡。

http://mqjing.blogspot.tw/2009/09/cmake-how-to-use-cmake.html
CMake 常用變數

簡介

CMake用來產生跨平台的專案建置文件,在windows下它會生成visual studio的專案檔(.sln) codeblock eclipse,在linux下它會生成Makefile。類似工具有autotools和qmake,不過autotools太複雜,qmake只限於qt使用。

CMake用更抽象的語法來組織項目。例如用math表示數學庫,而不需要再具體指定到底是math.dll還是libmath.so。

閱讀全文 »

Git的特點

  • 分散式開發
    • 每個人都有完整的容器,各自獨立
    • 不需要中央管理
  • 非擠壓合併
    • 合併後仍包含所有被合併分支的記錄
    • git merge/pull --squash 強迫擠壓
閱讀全文 »

Emacs快捷鍵是可以修改的,所以不一定要全部記住,只需要熟悉基本功能和知道有其他方便的擴充功能即可

閱讀全文 »

Chap08 Syntax and Grammars

Grammar

  • represent certain knowledges of what we know about a language
  • General criteria
    • linguistic naturalness
    • mathematical power
    • computational effectiveness

Context-free grammars(CFG)

  • Alias
    • Phrase structure grammars
    • Backus-Naur form
  • More powerful than finite state machine
  • Rules
    • Terminals
      • words
    • Non-terminals
      • Noun phrase, Verb phrase …
    • Generate strings in the language
    • Reject strings not in the language
    • LHS → RHS
      • LHS: Non-terminals
      • RHS: Non-terminals or Terminals
    • Context Free
      • probability of a subtree does not depend on words not dominated by the subtree(subtree出現的機率和上下文無關)
閱讀全文 »

Chap01 Introduction

Applications of NLP

  • Machine translation
    • google translate
  • Speech recognition
    • Siri
  • Smart input method
    • ㄐㄅㄈㄏ → 加倍奉還
  • Sentiment(情感) analysis
  • Information retrieval
  • Question Anwering
    • Turing Test
  • Optical character recognition (OCR)
    閱讀全文 »

Introduction

What is AI? → What is definition of Intelligence?

  • Artificial Intelligence(A.I.) or WALL.E

  • human-like or robot with intelligence

  • there are various defintion of AI

  • goal of AI : To create intelligent machines

    閱讀全文 »

假設已經知道編譯流程
[介紹]
gcc and g++分別是gnu的c & c++編譯器 gcc/g++在執行編譯工作的時候,總共需要4步
1.預處理,生成.i的文件[預處理器cpp]
2.將預處理後的文件不轉換成彙編語言,生成文件.s[編譯器egcs]
3.有彙編變為目標代碼(機器代碼)生成.o的文件[彙編器as]
4.連接目標代碼,生成可執行程序[鏈接器ld]

閱讀全文 »

Chap04 Network Layer

transport layer: between two processes
network layer: between two hosts and router (may also involve intervening routers in case of VCs)

閱讀全文 »

Chap07 Pipelining (II)

detect and forward
Data Dependence Detection
Hazard conditions:

  • EX hazard
    • EX/MEM.RegisterRd = ID/EX.Register Rs or Rt
  • MEM hazard
    • MEM/WB.RegisterRd = ID/EX.RegisterRs or Rt
    • Ex/MEM.RegisterRd != ID/Ex.RegisterRs(優先選EX)
  • RegWrite == true
  • RegisterRd != $0
    閱讀全文 »

Chap01 Introduction

What can we learn

  • How programs finally executed on hardware
  • How to write an efficient program
  • How hardware and software work well together
  • How to improve hardware performance
    閱讀全文 »

簡介

  • Regular Expression, 也稱為 RegExp、regex、RE、正規表示式(台灣)、正則表達式(中國)
  • 用來處理符合某個句法規則的字串
  • 現在的標準已經被ISO(國際標準組織)批准和被Open Group組織認定(POSIX 1003.2)
閱讀全文 »

簡介

只要使用GNU計畫出產的編譯器(如gcc),就可以用gdb來進行除錯,包含 C/C++/Objective-C/Fortran/Java 等語言。

閱讀全文 »

原版的講義做得十分精美,可以很快了解

Chap01 Introduction

課堂討論:學習的定義

  1. 從不會到會
  2. 從會到更進步、熟練

課堂討論:學習的方法

  • 以「樹的定義」為例
  • 如何寫出「能判斷是否是樹」的程式?
    1. define trees and hand-program: difficult
    2. learn from data by observation and recognize: more easier(機器「自己」學習)
      閱讀全文 »