2015-06-24

Python 學習筆記

First edit: 2015/06/24
By: YigouDada

Python 學習筆記

這篇是我自己的 Python 學習筆記,同樣的.. 只會記下我自己特別留意到的東西。 XD

Python 是一種完全物件導向、直譯式的程式語言,其採用動態型別、強型別的設計。

Some Usefull Link

2015-06-08

HTML & CSS 學習筆記

這篇同樣也是筆者自己的學習心得。 不會做有系統的整理,只會記下筆者自己覺得重要的東西。 XD

版本

HTML: HTML5
CSS: CSS3

CSS

CSS (Cascading Style Sheets) 定義了一個瀏覽器應該如何去顯示 HTML 頁面。 透過 CSS 語法,我們可以設定每個 element 應該如何表示,包括字體 行距 顏色 padding margin 等等。

2015-05-16

CTF 名詞介紹 常用工具

今天和實驗室的學長姊們參加 DEFCON。 (好吧.. 其實沒有學姊 XD) 實在是幫不太上忙,只好來打點東西紀錄一下心得。

什麼是 CTF?

CTF (Catch The Flag),是一種常見的資訊安全競賽類型。競賽的進行方式通常是由主辦方準備多組題目,並替每個題目架設好一個環境,讓參賽者們在這個環境中,透過各種方法來取得代表 Flag 的字串或檔案。 取得 Flag 的方法可能很複雜,需要許多專業能力,或是需要一些創造力與想像力,甚至是透過暴力破解的手段達成,完全看主辦單位的心情如何。 XD

小山的資安教學 - 本系列、駭客、CTF 介紹

CFT 競賽中通常又會把這些題目簡單分成幾類。 分別是 Pwn, Reverse, Web, Crypto 以及雜項 Misc.(Miscellaneous)。底下分別簡單介紹:

2015-05-14

JavaScript 學習筆記

把一些比較特別需要記的記錄下來。

  • JavaScript 跟 Java 沒關係,雖然 Netscape 想讓他們看起來有關係。 XD
  • JavaScript 是一個直譯式、動態型別、弱型別、原型導向的程式語言。

2015-05-09

如何簡單、快速地翻譯網頁中的文字?

筆者平常在看英文文章,不管是維基百科、科技新聞、或是讀一些奇怪的 spec. 時,都會遇到很多看不懂的單字。 這時候通常我都會另外開一個瀏覽器分頁,連上 Google Translate ,把不會的單字複製起來,然後貼過去看翻譯。 不過翻譯單字是非常頻繁使用到的功能,若每次都需要重複這幾個動作,無形中會浪費許多時間,而且切換分頁也會影響到理解文章內容的思緒。

昨天偶然間發現 Google 有在 Chrome 平台上推出 Google Translate 的擴充套件,稍微看了一下它提供的功能和使用方式之後,發現這個擴充是多麼方便,才知道自己之前有多麼的蠢、浪費多少時間.. XD

基於好東西要跟大家分享的理念,筆者這邊來介紹一下如何安裝並設定這個方便的小工具!

2015-05-08

滅火器初體驗...

今天下午遇到了人生中第一場火警事故。

出門領錢,順便去附近的全家拿包裹,沒想到一到全家就看到隔壁燒著一大團火。原本以為是什麼大型金爐.. 仔細一看才發現是機車燒起來.. (汗

2015-05-07

Don't Starve Together Dedicated Server 架設教學 II

這篇是第二篇有關 DST Dedicated Seraver 的架設教學,旨在提供一個更簡易的、圖形化介面的架設方式,避免讓使用者接觸一些 command-line 的細節。並且本篇教學會略過更多非必要的細節,像是 Server port 設定,自定義世界參數等。 不過,有優點當然也會有缺點,本篇介紹的架設方式,必須要在已安裝 Steam 客戶端的電腦上才能執行!

如果對更進一步的架設細節有興趣的,歡迎參閱筆者寫的第一篇 Dedicated Server 架設教學。(連結見下)

2015-05-05

Don't Starve Together Dedicated Server 架設教學 I

這篇是第一篇有關 DST Dedicated Seraver 的架設教學,有鑑於目前中文環境中似乎沒有一篇比較詳細的整理,所以小弟獻醜來提供一篇教學。

本文主要是針對 Windows 平台上的 Dedicated Server 的架設教學,並不是使用 DST 主程式所附帶的 Server 功能,且是假設讀者不具備資訊相關背景來寫作。Linux 平台使用者、或是英文能力夠的使用者,可參考底下的 Wiki 教學。

且本文提供的方式會牽涉到一點命令提示字元的使用,若是想以更簡單的方式來架設 Dedicated Server 的讀者,歡迎參閱筆者的第二篇教學。(見下方連結)

2015-04-26

[轉錄] 魯蛇金句

以下節錄自 PTT joke 板 XD

  1. 你不是一無所有,因為你還有病。
  2. 上帝是公平的,給了你一張醜臉,一定還會給你一個沒錢的家。
  3. 當你覺得自己醜、窮、一無是處的時候,別絕望,至少你的判斷是對的。
  4. 上帝為你關上一扇門時,還會用門夾爆你的腦子。
  5. 醜小鴨變白天鵝不是因為他有多努力,而是因為他父母就是天鵝。
  6. 你今天過的不錯吧,夢想又更遙遠了,對吧。

原文出處:
文章代碼(AID): #1K9NBz3v (joke) [ptt.cc] Re: [猜謎] 哪個簽名檔最潮

2015-04-16

我是菸酒生啦!!

在延畢唸大五重考一年之後,很幸運、很開心的考上了交大資工所甲組,也順利的進了最有興趣的網路安全實驗室。 (台大備26應該是不可能會上了。 XD)

這半年多來,首先要感謝的 就是兩位一路上一起準備,互相督促(我)的正妹好戰友梅子和小乖。
要不是有你們一起每週固定排進度、分科檢討、寫考古題、吃飯買飲料耍廢(?,我可能還是像去年一樣沒準備多少就去考試,到最後連備取都沒有.. (*ノェノ)

當然也要感謝幫忙找房子、開車搬家的好室友 楊御台,雖然他很常喝酒讓我很緊張 (汗。
以及鼓勵我、刺激我的國中及高中好同學們!
最後.. 還是要感謝那位不曾過問我的學業,不管我做什麼,永遠支持我的老媽,謝謝你!

2015-03-28

OverTheWire Wargame 筆記

考上碩班了,實驗室也找好了。實驗是的學長給了我們這些碩零的不少資安相關的資料、網站讓我們讀。有鑑於以前沒有整理筆記的習慣,這次打算來用功整理了...

這次要整理的是一個 Wargame 網站 OverTheWire 的攻略(?)筆記。 XD 我只會記下我自己有遇上的問題、想記下的東西。
Wargame web site
Solutions for Bandit level 0-25
Advanced Bash-Scripting Guide - Special Characters
The unix commandline: pipes and redirects
SSH/OpenSSH/Keys

指令

  • file 查詢檔案類型
    可以簡單判斷某檔案是否為文字檔案。
  • du 列出檔案大小
  • uniq 找出重複的(相鄰)資料 uniq -u
  • strings 印出某檔案中的可印字元 strings [OPTION] file
  • tr 字元代換 tr [OPTION] SET1 [SET2]
    可用來實作簡易的 rotation cipher

shell 相關

- (dash, hyphen): shell 特殊字元

說是特殊字元其實不太正確。就我的理解,這個字元會完整的作為 avg 參數的一部分傳給目前要執行的指令。不過許多指令會特別處理這個字元。
當 "-" 出現在應該要放 filename 的位置時,許多指令會以 stdin 或 stdout 當作使用的檔案,或者說.. 把資料流導向 stdin 或 stdout,根據目前該檔案是用來輸入或輸出。
example:

cat tarball | tar xpvf -

在 cd 指令中,若以 "-" 作為 directory name,會回到上一個目錄 example:

cd ./Workspace cd ../Documentscd - #回到 Workspace 中

若要 cat 當前目錄下的某檔案,又不想標明 path,可以用 "-- " 來表示後面那一個 token 不是參數。這種方式可以用在檔名為 "-" 或是以 "-" 開頭的實際檔案。 example:

cat -- -somefile
cat ./-somefile
# these two command has the same effects.

ROT13

Wiki Page 這是一種簡易、不安全、基本上只會出現在教科書裡的 rotation cipher,實作方式很簡單,就是將所有的拉丁字元往後移 13 個字元,特別的是,encode 和 decode 是共用一個 cipher。與之類似的還有 ROT47,不過 ROT47 轉換範圍是介於 0b33 ! 至 0b126 ~ 共 96 個 ASCII 字元。

ROT13 可以透過 shell 裡的 tr 來實作。

cat file | tr 'A-Za-z' 'N-ZA-Mn-za-m'
# ROT13 cipher
cat file | tr '\!-~' 'P-~\!-O'
# ROT47 cipher

2015-01-17

常見紙張大小整理 & 台灣買活頁紙的一點心得

不知道大家是否常為了紙製品的大小困擾?
比方說..

  • 想要去印刷店印個海報,老闆問你要多大,要幾開?
    當場愣在那邊不知道怎麼回答。
  • 同學請你去幫忙買信封套,你去到文具店逛了一圈之後,傳了一條訊息給同學 "ㄟ.. 這個繽紛粉色系24K信封套可以嗎?"
    不意外的同學回給你 "棍! 誰知道24K多大啦!"

我們都知道.. 在工業界中,為了促進同業的良性競爭,以及上下游之間的合作關係, 常會組成一些非營利組織來訂立工業標準。
紙張當然也是一樣,訂立標準的紙張尺寸能帶來的好處多的不得了。
像是我們不用擔心課堂上發的 A4 講義會塞不盡手邊的資料夾,印表機送紙不用擔心滾輪捲不到紙,我可以用一隻手把課本凹一邊然後很快速的一頁一頁彈出去... 這都是紙張大小統一的好處。

目前最常見也最通用的紙張標準,是 ISO 216,也就是我們平常所聽到的 A4 B5 等所被定義的地方。但是這標準並不是一開始就存在並全球通用,早年各強國都會有自己定義的標準。因為一些歷史因素,台灣這邊在印刷界常見的標準為菊版和六四版,這是當年日本殖民台灣時留下來的標準之一。

ISO 216 紙張標準

首先我們先來介紹 ISO 216。

ISO 一共定義了三個系列的紙張,A# B# C#。 (# 表示數字)
就以 A# 系列來說,可以從 A0, A1, A2, ... , A8, A9, ... 等等。
這三個系列的紙張特別的地方在於:

  • X0 的常寬比為 √2:1 ≒ 1.414:1。
  • Xn+1 是由 Xn 的紙張,從長邊對切得來。

這個作法使得所有的紙張的長寬比都是 √2:1(不知道為什麼? 自己算一遍就知道了),且我們可以透過簡單的對切來得到更小張(編號更大)的紙張。

決定了這個遞迴規則之後,我們只要再定下最大張的那張紙的長寬,我們就可以決定所有紙的長寬了! ...其實實務上當然沒那麼簡單,還有一些細節要考慮,不過大致上的作法就是這樣沒錯。 XD

A4? B5? 那是什麼能吃嗎?

  • A0 的定義方式是一張面積為一平方公尺,且長寬比為 √2:1 的紙張,在簡單的四捨五入之後我們可以得到 A0 是 841mm×1189mm。
  • Bn 被定義為 An 和 An-1 的幾何平均,Cn 被定義為 An 和 Bn 的幾何平均。

當然這個定義方式對我們一般消費者並不重要,不過我們可以從上面得到一個還不錯的結論... 就是同編號的紙張中,B系列會略大於C系列,C系列再略大於A系列。B0 > C0 > A0 > B1 > C1 > A1 > B2 > ... 大概就是這樣。 XD

編號 # A#系列 B#系列 C#系列
0 841×1189 1000×1414 917×1297
1 594×841 707×1000 648×917
2 420×594 500×707 458×648
3 297×420 353×500 324×458
4 210×297 250×353 229×324
5 148×210 176×250 162×229
6 105×148 125×176 114×162
7 74×105 88×125 81×114
8 52×74 62×88 57×81
9 37×52 44×62 40×57
10 26×37 31×44 28×40

台灣特有紙張標準

如果看到這邊你還不會覺得不耐煩的話,我們接下來再來看台灣這邊的標準,以及解釋在本文開頭中,我們提到的開數(xxK)到底是什麼東西。

菊版、六四版、開數?

台灣這邊除了 ISO 216 之外,還有日本留下來的紙張標準。該標準定義了兩個系列的紙張,分別為六四版以及菊版。各版同樣可以根據長邊對切的方式得到更小的紙張,不過各紙張的命名方式和 ISO 216 相比之下稍微複雜一點。

六四版的命名方式:

  • 最大張的紙稱為全紙(1K)
  • 對切一次之後稱為二開(2K)
  • 對切兩次之後稱為四開(4K)
  • 對切三次之後稱為八開(8K)
  • 對切十六.. 以下類推 XDD

菊版的命名方式:

  • 最大張的紙稱為菊全紙(G1K)
  • 對切一次之後稱為菊二開(G2K)
  • 對切兩次之後... (ry

到這邊相信大家都有發現這個 "開數" 隱含的意義了。事實上,這邊所說的開數 (xK中的 x 值),也就是全紙可以切成的該類紙張的數量。1張全紙可以切成8張八開(8K),1張菊全紙可以切成32張菊三二開(G32K)。

實做標準不一的台灣標準

這時候我們只剩下最後一個問題了,這個問題就是...
六四版的全紙和菊版的菊全紙的長寬是怎麼規定的呢?

.....( ′_ゝ`) ...哎
從日本目前標準來看,菊全紙是 636mm×939mm,但實際上目前在台灣的印刷界中,菊全紙常常指的是 ISO 216 的 A1,菊二開則對應 A2...,甚至還有聽過菊全開是25inch×35inch的傳統作法。原本定標準是為了方便產業的運作,但各地不同的標準卻使用相同的名字反而造成溝通上很大的困擾。

六四版的狀況也沒好到哪去... 全紙目前的標準是 788mm×1091mm(25inch×35inch),但同樣的... 目前台灣常會把全紙切成兩種不同的規格,一是 758mm×1060mm,另一是 760mm×1040mm。

不同全紙大小就會切出整系列不同的紙張大小。但糟糕的地方還不只這裡而已。
相信大家還記得前面對於開數的介紹。我們可以發現,若是以長邊對切的方式來定義紙張大小,那個開數值必定會是 2 的次方數。但若我們實際到文具店,紙品店走一走的話,我們會看到下列的商品:

  • "B4(18K)空白壓線香水26孔活頁紙"
  • "A4(13K)防水防塵抗震資料公文袋"
  • "[文青必備] 24K 復古泛黃潮到會噴水信封袋"

ㄟ.. 那個 18K 和 24K 是怎麼回事..? 18和24就算了,那個 13 是質數啊! 是ㄊㄇㄉ質數啊!!
依珊啊..你媽知道你在這邊亂嗎? (。 PД)ノ☆( #)д)
如果是 25K 我還可以接受.. 長邊寬邊各切四刀嘛。18 = 2×3×3, 24 = 2×2×2×3 我真的不知道該怎麼理解...
除了這個開數很不容易看之外,還看過菊版和六四版不分的,明明是菊十六開(G16K)卻寫成16K。
諸如此類複雜,混亂的標準真的讓我這個被朋友稱為 "規格控" 的人不知如何是好啊...

最後在抱怨台灣的活頁筆記前,這邊先附上幾個參考連結。
紙張紙寸(Wikipedia)
印刷用紙開數表(台北印刷資訊網)
印刷用紙張開數分割圖(台北印刷資訊網)
ps. 本人非印刷業從業人員,片面吸收的資料可能和實際狀況有些出入。

活頁筆記紙張規格

筆者從國中開始就很習慣使用活頁筆記來寫各式上課筆記,重點整理等。 台灣使用量最大的應該就屬 B5 26孔活頁筆記了,這點從各大文具店中,活頁筆記本和活頁紙的商品種類比例就可略知一二。但是... 其實我們每天都用的 B5 26孔活頁紙根本就不是 B5 大小!(176mm×250mm)
若各位把手邊的 B5 26孔活頁紙拿起來量一下,就會發現其實那張活頁紙比 B5 略大一些。舉例來說... 筆者手邊的就有三種和 B5 不同的大小,182mm×257mm 177mm×258mm 175mm×258mm。

就實務上來說.. 長邊的差距其實沒什麼大不了的影響,但是寬邊長度不一的時候就會造成很大的困擾了... 這使得我沒辦法像單手翻課本那樣,把整疊紙凸起來然後一頁一頁彈開,快速的尋找記憶中的標題。這種翻頁上的困擾即使在一頁一頁的閱讀方式下也是存在,當我們需要翻起某張筆記,而他的下一張寬度比目前這張還寬的時候,手指很難正確的把紙張抓起來。
這些情形在我們必須混著使用空白活頁紙,壓線活頁紙,方格活頁紙等時會更加嚴重...
除非每次出門買活頁紙時都很小心的挑選一樣長寬的 偽B5 紙張,不然這種困擾一定會出現。

看到這邊大家或許會想問.. 那第二常見的 A4 活頁筆記會有這類問題嗎?

就我自己的觀察,A4 活頁紙的大小確實標準許多,基本上如同 ISO 216 標準一樣就是 210mm×297mm,頂多差個 1~2mm。但若使改使用 A4 活頁筆記,也會遇到不少問題。

  1. A4 活頁筆記本好大包包放不下哭哭!
  2. A4 活頁筆記太小眾,買不到我喜歡的活頁筆記本哭哭!
  3. 最重要的一點,A4 活頁紙的孔數,孔位又是一個亂七八糟的地獄啊哭哭!

A4 活頁筆記本常見的孔數有 2 3 4 30 四種,而活頁筆記紙比較容易買的到的是 30 孔。
除了 30 孔的活頁紙勉強可以用在 2 孔的活頁筆記上之外,其他只要孔數不同就一定不能配用...,這使得買 30 孔活頁紙的人基本上只能去買 30 孔的活頁筆記,畢竟 2 孔的活頁筆記很容易翻頁的時候紙沒拿平翻不過去。至於 3 4 孔的活頁筆記嘛... 得先找到有賣 3 4 孔活頁紙的店家再說。 ...( ゚д゚)

其實類似這樣規格不一造成麻煩的情況在各領域都層出不窮,像是床組的尺寸.. 不過真要說起來又是一長串,還是先就此打住好了。

真希望未來像這樣的麻煩事能夠越來越少... XD