2013/09/29

如何在Blogger內幫程式碼上色

像這樣美美的Code大家都愛


#include <stdio.h>

int main() {
    printf("Hello, %s", "Inndy");
}

問題是到底要怎麼做呢?

我使用的是Google開發的 google-code-prettify 這個JavaScript Library
還好Blogger很好心的提供了自訂HTML Template的功能



所以我們可以在裡面塞自己的JavaScript / CSS進去,當然如果你想塞在文章內也可以 XD
主要的 Code 在 http://google-code-prettify.googlecode.com/svn/trunk/src/
而且有提供幾種 Style http://google-code-prettify.googlecode.com/svn/trunk/styles/index.html
我用的 Style 是從 Doxy 這款,再稍微小修改

廢話不說了,我們來動手吧

2013/09/28

九九乘法Code

九九乘法表是很常見的作業,常常出現在剛講完迴圈的時候讓大家練習一下

我們先來看看這個最基本的C語言版本:

#include <stdio.h>

int main () {
    int i, j;
    for (i = 1; i <= 9; i++)
        for (j = 1; j <= 9; j++)
            printf("%d x %d = %2d%s", i, j, i * j, j == 9 ? "\n" : ", ");
    return 0;
}


這是VB

Dim i As Integer, j As Integer
Dim output As String

For i = 1 To 9

    For j = 1 To 9
        Dim v As Integer
        v = i * j 
        output = output & CStr(i) & " * " & CStr(j) & IIf(v < 10, " =  ", " = ") & CStr(v) & IIf(j = 9, vbNewLine, ""))
    Next 
Next

Print output

2013/09/21

我的Linux Mint筆記

root那些

使用root身份相等的權限執行指令
sudo <指令>
把目前的terminal暫時切換到root身份(exit會退回原本的user)
su
su指令,需要知道root的密碼才能切換身份,但是root的密碼不該有人知道,或者說不該有人以root的身份登入系統,因此就有了sudo這個命令的誕生,如果想暫時切換成root身份,可以用
sudo su
即可(sudo指令會向你再次確認目前使用者的密碼)

Grub2設定

grub.cfg在
/boot/grub/grub.cfg
但是他是組合出來的,所以要改設定來源,grub目錄本體放在
/etc/grub.d
內容有
00_header
05_debian_theme
06_mint_theme
10_linux
10_lupin
20_linux_xen
20_memtest86+
30_os-prober
30_uefi-firmware
40_custom
41_custom
README
其中預設項目以及預設讀秒在
00_header
,請加入以下兩行來設定預設項目(從0開始數)和倒數讀秒
# Do this as early as possible, since other commands might depend on it.
# (e.g. the `loadfont' command might need lvm or raid modules)
for i in ${GRUB_PRELOAD_MODULES} ; do
  echo "insmod $i"
done

GRUB_DEFAULT=0
GRUB_TIMEOUT=5

if [ "x${GRUB_DEFAULT}" = "x" ] ; then GRUB_DEFAULT=0 ; fi
if [ "x${GRUB_DEFAULT}" = "xsaved" ] ; then GRUB_DEFAULT='${saved_entry}' ; fi
if [ "x${GRUB_TIMEOUT}" = "x" ] ; then GRUB_TIMEOUT=10 ; fi
if [ "x${GRUB_GFXMODE}" = "x" ] ; then GRUB_GFXMODE=auto ; fi
修改完成之後執行
sudo update-grub
來更新grub menu

2013/09/20

我的vim筆記

goto start
    [[
goto end
    ]]
goto 1st line
    gg
goto {N} line
    {N}G
goto last line
    G
goto first character of line
    0
goto last character of line
    $
search
    /string
next match
    n
prev match
    N
multiple {str} {N} times
    {N}i{string} ESC
auto indent
    =G
insert after
    o
insert before
    O
remove character
    x
repeat last command
    .
replace {A} with {B} in line {M} to {N} ('g' stands for replace all)
   :{M},{N}s/{A}/{B}/g
replace {A} with {B} in line {M} to end
    :{M},$s/{A}/{B}

2013/09/15

前端好朋友之一些好用的網站蒐集

從我的Bookmark裡面壓榨萃取出來的精華,請慢用

瀏覽器革命統一天下之什麼是Reset.CSS?


Reset CSS就對了!

同一份CSS,換個瀏覽器突然獵奇了?IE傲嬌不聽話欠調教
個瀏覽器間會產生差異是因為,各家瀏覽器的CSS預設值並不相同
Ex:
瀏覽器A裡面,div的padding預設是6px
瀏覽器B裡面,div的padding預設是4px
這時候如果你寫的CSS對齊的很精準...換個瀏覽器就哭哭了!
所以我們透過重新定義所有元素的預設值,不使用瀏覽器的預設值,就可以讓他們乖乖聽話了!

要注意的地方!

  •  因為margin和padding會被設定成0,所以原本的留白會不見,要自己設定才有美美的網頁喔
  • 當然你也可以自己挑一個預設值,不一定要用0

說好的載點呢?

2013/09/07

一個JavaScript小遊戲:BOXES!

為了好玩和練習而寫的小遊戲 BOXES !

  • 一次消除 2 個方塊 -30 分
  • 一次消除至少 3 個方塊則一個一分
  • 一次消除超過 5 個方塊有額外的分數獎勵 

2013/09/02

[C#]路徑搜索演算法(DFS、BFS)、Flood Fill(Recursive)


點我下載 C# 專案

這裡用到了兩個容器:Stack 和Queue

Stack的操作:Push (推入) / Pop (取出)
Stack的操作特性:有底容器

像是一個有底容器,同一層只能有一個物件存在,先放進去的東西比較晚出來,比較晚放進去的東西先出來


Queue的操作:Enqueue (排入) / Dequeue (取出)
Queue的操作特性:排隊

網誌存檔