over 1 year ago

這裡將不會更新,請移至 https://www.mukyu.win/

 
over 1 year ago

由於今年五月後考駕照會需要上路,在老媽催趕下(自己一開始是滿被動的,不過仔細想確實有些重要),報了家附近的駕訓班。

筆試(交通規則)

駕訓班有提供模擬試題+下載了題目APP:2017 汽車駕照筆試題庫與路考駕駛大補帖,基本上把題目做熟即可。

考的時候是上一台電腦作答,考完就知道成績。

路考(自排)

註解
練車時還會緊張,像是該什麼時候打方向盤,打幾圈這些實在是沒什麼感覺,回去後看了一些youtube上的影片,希望可以有一些感覺。
最後兩小時開始可以完整的跑完一個考區了!滿高興的!我可能一直低估自己過的機率?
這週進度算是滿多的,把兩個考區都跑了算是熟練了,外圈(直線加速+號誌+上下坡)也跑了好幾遍,基本上就要注意自己哪裡容易緊張就是了。
這週是考前兩天了,幾本上都好了,只要不緊張,路考是可以過的。特殊的收獲是有前一個月考過的來陪他朋友,分享了一下當時的經驗。

交通部公路總局小型汽車路考評分標準

不同駕訓班考場有不同需要注意的細小事項。

後記

這篇網誌發出來當然是過了,而且還是一次考過了。

 
over 1 year ago

最近寫小說要寫到Fate/Zero部分,總覺得至少要把幾個重要人物認真認識一下,衛宮切嗣就是其中之一。

中二?

Fate/Zero同人不計其數,但大部分對於衛宮切嗣都是這類型評價

中二

確實,在一個確實沒有世界級危機的時間點,談「拯救人類」,確實很中二

可是,衛宮切嗣的中二症又和平時我們所理解的中二不一樣。

一般來說,中二是人為了確保自己和其他人的不同所造成的,幻想自己有超出正常人的神奇能力,大多和魔法超能力脫不了關係,不是拯救世界的英雄,就是封印邪惡能力的大魔王,平時在學校當個學生只是偽裝,其實暗地裡執行著秘密任務,守護著都市。

可衛宮切嗣的理想起點卻是因為她,一個他的乾姐姐、父親的弟子或助手、憧憬的對象。

夏蕾

凱利,你以後想成為什麼人呢?

打從一開始因為沒有殺掉夏蕾造成全村人死亡,衛宮切嗣就陷入「殺A拯救B」的漩渦。他的遺憾就是「假如當初下殺手,那之後的事情也不會發生。」,這造就了他之後「魔術師殺手」的行動準則。

當初夏蕾問他的這句話,幾乎成了他的心魔,往後他的行為,無一不是訴說著「成為正義的夥伴」這個年少時就想回夏蕾的答案。

但即使之後自認拯救無數人,也拯救不了夏蕾。

拯救世界的理想

他成為了一顆射向世界的起源彈,在一開始就註定下來了,他的起源「切斷與結合」和他在夏蕾身上的經歷,不斷以殺掉少數來「拯救」多數的方式避免在重複在夏蕾上的錯誤。

聖杯問答與火車鐵軌難題

有趣的是,沒有什麼同人正面回答這部分,大多以「這屆聖杯被污染」迴避。

有的答案是「兩個殺人犯和一個醫生當然不等值...」等作為回答。

那現在改一下好了,假如全世界只剩下500人,因為末世要選出300人送上宇宙飛船,為了避免以上問題,我們用一個方法來評估「人的價值」,舉例來說,假如是醫生,價值就獲得存活點10分,假如是殺人犯就扣除存活點100分,對社會貢獻越高者獲得點數越多,最後存活點前300名獲得上宇宙飛船的資格。

這樣如何呢?

其實沒有變,作出選擇的主角,仍然是站在一個無關乎旁人的角度在決定整體的走向。

衛宮切嗣把這背負起來代表著他對人類的不信任,不相信生命自己會找到出路。

但是這應該是神在做的事,而不是人。

以人之身行使神之心

娜塔莉亞

娜塔莉亞可對衛宮切嗣來說可說是母親,對於他有一段評價。

不過,選擇與自身素質相應的生計,並非一定能夠幸福。不考慮究竟什麼適合自己,僅僅單純為自己應該做的事而行動,那樣就只是機器,只是現象。

機器這一詞,精準的描述衛宮切嗣戰鬥、行為時的狀態。無感情的方式做出相對應的評估與行動,並不是以人的角度,而是以神的角度來行事,小至戰鬥,大至目標,這就是衛宮切嗣。

但衛宮切嗣是人,而不是神,他必定因此而垮。

屬於衛宮切嗣的Good End?

假如要有個衛宮切嗣的 Good End 的話,會是拿到白聖杯,許下世界再無戰爭或者拯救世界之類的結局?

不,不需要那麼複雜。

神無法拯救人類,聖杯同樣不能,無論是白聖杯還是黑聖杯。

因為只有人類自己才能拯救自己。

衛宮切嗣的 Normal End 只有當他放下理想才可能降臨,而 Good End ,或許就是夏蕾復活。

 
over 2 years ago

Protgresql

$ cp /etc/apache2/conf.d/phppgadmin /etc/apache2/conf-enabled/phppgadmin.conf

先建立$USER

$ sudo -u postgres createuser --superuser $USER
$ sudo -u postgres psql
postgres=# \password $USER
$ sudo -u postgres createdb $USER
$ sudo -u postgres dropdb  [option...] dbname

DUMP + UP:

$ pg_dump dbname > outfile
$ pg_dumpall > outfile

Dump Only Schema :

$ pg_dump -s > outfile

SSH

https://blog.longwin.com.tw/2008/10/security-debian-ubuntu-linux-deny-root-login-2008/
http://www.study-area.org/tips/ssh_tips.htm

圖片伺服器

弄了一個上傳專用的接口on Github

CDN

可以把網站的static file放在這

RawGit

 
over 2 years ago

認真講,這不是第一次用ror,去年就有弄過,只是那時候太猴急,想直接從使用者登入開始做,這簡直作死阿QQ

總之,最近突然想架一個負責偵測小說有沒有更新的app,原本想用老方法python-tornado + beautifulsoup弄一弄,但突然想起去年沒有徹底去學ror,所以就先用ror啦!

基礎

  1. 生成project:
$ rails new [專案名稱]
$ cd [專案名稱]
$ bundle install

測試:

$ bin/rails server

Controller (ROR有個像MVC的架構)

  • 生出 Controller
$ bin/rails generate controller [Controller名稱]

如此,會在app/controller/底下生出一個[Controller]_controller.rb,裡面會有

class [首字大寫的Controller名稱]Controller < ApplicationController
end

有時需要調整一下configs/route.rb裡面的path

Model

像是資料庫的東西

要加一個新的Model,要

$ rails g model [Model名稱] [欄位1名稱]:[欄位1型態] ...

然後

$ bin/rake db:migrate

才可以把新的資料庫處理好,新的資料庫名稱會是[Model名稱、首字大寫]

路由可以加

match ':controller(/:action(/:id(.:format)))', :via => :all

額外的東西

  • Bootstrap和Bootstrap-Model需要用 gem + bundle install裝上去
  • Ajax可以這樣做
<%= link_to 'Hello!', ... , :id => "btn-click"  %>    
<script>
$(document).ready(function() {
    $('#btn-click).click( function(){
        // Deal with $(this).attr("href");

        return false;
    });
});
</script>
  • 抓取網頁可以用這種方法
require 'open-uri'                                        
require 'nokogiri'
doc = Nokogiri::HTML(open(url))
return doc.css('a').length.to_s

nokogiri有beautiful soup的功用。

成果

最後就弄出這樣的東西了呢

主要做了起點hbooker的監測。

 
over 2 years ago

因為某些原因,最近開始喜歡上一行Python解問題了!

A+B problem

事情的開端就是這題,一開始我突然想到,直接用一行就好了

print(int(input()) + int(input()))

由於input順序不需考量,所以上面這樣是好的,然後就突發奇想想把題目都盡量壓在一行內解決。像是給3個數字,然後由大印到小也是很輕鬆。

print([int(input()), int(input()), int(input())].sorted(reversed = True))

不過,我很快的就遇到一個小難題:

給三個數字,判斷是否有按照由小到大

這比較麻煩的地方是

  • 元素輸入順序需要是正確的
  • 需要重複用到輸入的陣列(命名)

第一個想了一下,事實上不是什麼問題,只需要用map(int, map(input, [""]*3))
就可以做到了,主要是第二個,需要把取到的陣列存起來,然後做下面的比較

if x[0] < x[1] < x[2] :

假如只是if的話那還好,我們可以寫

["No", "Yes"][x[0] < x[1] < x[2]]

也就是說,我們需要暫時幫輸入字串取名字

lambda

之後,我想起python裡面的Lambda可以做到,用lambda讓輸入陣列暫時有名稱

print((lambda x : ["No", "Yes"][x[0] < x[1] < x[2]])(...))

這讓我爽殺題殺了一陣子,可是當我遇到一個問題時卻又卡住了

3n+1 Problem

3n+1問題需要用到while迴圈

step = 0
while n > 1:
    if n&1 : n >>= 1
    else : n = 3*n + 1
    step += 1

改成遞迴後,我們面臨到:我們需要幫遞迴函數取名字

f = lambda x : f([x>>1, 3*n+1][x&1]) + 1 if x > 1 else 0
print(f(int(input())))

可是,這就需要用到兩行了!

Y combinator

我們可以把f = lambda x : ...f...改成
lambda f : lambda x : ... f ...

所以現在問題是給一個g,求g的不動點(g(x) = x,要把x挖出來),在網路上翻了一下,發現Y combinator可以做到!

Y combinator

所以可以直接這樣寫:

print(((lambda f: (lambda x: x(x))(lambda y: f(lambda *args: y(y)(*args))))(lambda f : lambda x : f([x>>1, 3*n+1][x&1]) + 1 if x > 1 else 0))(int(input()))
 
over 2 years ago

恩 標題我也不知道要怎麼取了,總之就是在用的時候發現一開始寫的太過陽春,所以加上一些新的東西。

假如有檔名是xxx.md並且list裡面也有把md副檔名加進去,那就用showdown解析

這功能我糾結了很久,其實原本是我想把這拿來寫筆記時出現的,可寫筆記......Hackpad就很夠用拉,這裡似乎也沒必要增加markdown,不過後來想到,可能會需要放圖片,像是主角圖之類的,所以最後決定加上會解析markdown的功能。

其實我也沒花多少時間search,之前我有想用github io弄一個blog,把偽pjax、markdown、highlight都用進去,可是不怎麼好看,所以也暫時棄置,留下的大概就是弄偽pjax和markdown的經驗值。

Showdown的用法如下:

  • 引用
https://cdn.rawgit.com/showdownjs/showdown/<version tag>/dist/showdown.min.js
  • 建立converter+Convert
var converter = new showdown.Converter(),
    text      = '#hello, markdown!',
    html      = converter.makeHtml(text);

Droppages Public資料夾底下.md不在Valid File Extension List裡面

阿,當初也不知道為什麼在這裡糾結許久,改成.md.txt就好了,這絕對不是我鑽牛角尖啊,絕對不是!

Droppages : Static content

Google doc host web page功能在2016年八月底後失效

實驗完Droppages後,就想起Google硬碟好像有提供類似的服務,可仔細一查,發現了這件讓人難過的事情。

KeyBroad左移右移鍵

這原本就要做的,只是一開始只是先把必要的弄出來,主要Code如下:

$(document).keydown(function(down_event){
    var keycode = down_event["keyCode"];
    if(keycode == 37){
        //左移

    }else if(keycode == 39){
        //右移

    }
});

判斷是否有提供txt來生成下載txt的按鈕

errrr... 到時可能還會追加個小tool會自動把所有章節抓起來弄成txt吧,不過現在先這樣?

$.ajax({url:"txtall.txt", type:'HEAD', success: function(){
    $("div.cont").append('<a href="txtall.txt" class="btn btn-primary">下載TXT</a>');
}});
 
over 2 years ago

最近手癢想寫小說,但又不想弄到各大網站,只想放在網路上。這東西就是這種情況下的產物。

大概想了想,需求就這個:章節列表,然後再用靜態+jquery可以把需求弄到很低。

大致架構

小說存放方式如下:

+root
|- chapters.txt
|-+[第ㄧ章]
| |- lists.txt
| |- [第一節].txt
|
|-+[第二章]
...

chapters.txt裡面是的列表
lists.txt裡面是的列表

實作方法

使用$.get(url, callback);可以抓取到各列表、章節內容,基本上就完成了。

範例

四處尋找容易架設的靜態網頁空間,發現Dropbox+DropPages不錯,就拿來試用了,雖然之前有租一個一年的主機,不過為了好好測試被壓低的需求,就用它了。

DropPages範例

第一步

開通DropPages

第二步

把所有檔案(就github上這些檔案)放在Public資料夾底下

第三步

打開http://[page-name].droppages.com/index.html

假如嫌後面多出index.html麻煩,可以去設定Templates/base.html轉到index.html

最後

Source Code on Github

 
over 2 years ago

其實本來也不太需要,只是最近真的太無聊...

分析

好吧,反正就先來分析一下,語言就用python,爬文分析工具多。然後就是工具的選擇了。為了get到網頁,我們會需要python request,還有分析器BeautifulSoup

弄下百度吧的帖子事實上滿簡單的,不需要有一些奇怪的cookie(除非有會員限制),或者奇怪參數,參數只需要第幾頁。

res = requests.get("http://tieba.baidu.com/p/xxxx")

如此,我們就可以抓到該帖的內容,接下來就是麻煩的地方,

  • 我們需要知道這帖子總共有幾頁
  • 然後把每頁的帖子的回覆內容弄下來和最後判斷該回覆是否是小說內容

總共頁數

總共頁數可以去看導覽列的尾頁的網址,很容易解決,大概是長這的範例。

pages_a = soup.findAll("li", 
     {"class" : "l_pager pager_theme_4 pb_list_pager"}
)[0].findAll("a") 

last_page_num = getLastNum(pages_a[len(pages_a)-1].get("href"))   

l_pager pager_theme_4 pb_list_pager就是導覽列裡面的唯一性值,getLastNum會把字串裡面最後一個數字傳回來。

每頁回覆的帖子

這部分會發現,事實上不只樓主會回,其他人也會回(可能是給建議或者純粹水帖),不過這很容易解決,只要留下樓主的帖子就行了,關鍵在於要事先取得樓主的名字,然後再遇到其他帖子時用名字塞掉。

大概的成品

放在Github上面了

還有類似的catchdoc(用utf-8編碼,做成網頁的樣子)

 
over 2 years ago

反正就是對自己這學期的所作所為的吐槽吧

大概整理一下我這學期,除了必修,還選了編譯器、演算法設計、還有一個通適外加一個專題。

必修

  1. 計算機結構就是個讓人**疼的東西,完全和我不對頭,錯不在我,是時辰。
    呃好吧,我還是有認真學喔,只是功課像是CPUPipeline-CPUCached-Pipeline-CPU
    真的很頭疼啊。

  2. 計算機網路...嗎?感覺比起計算機結構好一點吧,至少不會有排斥感?

選修

  1. 編譯器一開始還算是不錯呢,各方面,包括作業和上課來講都是,
    不過也這也只是一開始,雖然說有所謂好的開始是成功的一半,
    可是從作業三開始就是悲劇啊。完整的實作出C--的AST Builder,
    這大概就是傳說的葉公好龍的感覺?
    總之要把完整的Context Free Grammar弄出來還真不是一般的麻煩,
    接連著的功課就是語法檢查、建機器碼I、建機器碼II

  2. 演算法設計與分析主要是在寫證明吧,這大概可以跳過吧?
    不過在最後一個功課裡面有講到跟GI(Graph Isomorphism)相關的問題,
    頗有趣。

  3. 專題的一開始也算不錯,和老師討論了一個主題,進程上雖然有點慢?好吧,
    承認我實在對自己的在專題上所放的時間和心力不怎麼滿意哈。不過也算是有頭有尾,
    做出一些結論。

  4. 通適是退了,不過這學期我的吐槽功力可說是大有進展,以後寫心得是不用怕了。

不知不覺這學期就過完了,問題是我好像根本沒學到啥啊?果然,這學期就是該被封印的黑歷史吧。