https://avatars.githubusercontent.com/u/6058558

程式狂想筆記

我的Sublime Text 3套件分享

List

  • AdvancedNewFile (新增檔案用)
  • Alignment (對齊用)
  • All Autocomplete (自動載入別的開的檔案tip)
  • Bootstrap 3 Snippets
  • BracketHighlighter (提示/修改/移除外框符號,算還實用)
  • ConvertToUTF8 (還沒utf-8專案用)
  • DocBlocker (註解用)
  • Emmet (html專用)
  • IMESupport (中文輸入法專用)
  • jQuery
  • PHP-Twig
  • Pretty JSON (你的json會變很好看)
  • SqlBeautifier (你的sql會變的很好看XD)
  • StringEncode (html轉一些符號,很實用)
  • Text Pastry (1 to x ,懶人專用,我很愛)

在Linux架Git Server(ssh)

最近公司接了一個案子,我被分配到架設Git Server工作
架設成功,就在這裡做簡單的筆記。
由於網路教的都大同小異,只需理解為什麼這樣做
用自己的需求,基本上實作應該都能做出來

[jQuery] :first 和:first-child 不一樣

由於同事有用我寫的JavaScript做tr跳頁監聽事件
由於第一欄是input radio不需做跳頁
我就簡單寫了

1
2
3
4
5
$('table tr').click(function(){
    location.href='xxxxxx';
});

$('table tr:first-child').off('click');

[CSS]文字換行的問題

由於最近做一個報表系統,在測試環境下沒有很長的資料,報表表格都沒有什麼問題
但在正試環境,很多文字就有自動換行的問題,然後爬了文但不清楚這些東西
花了一個下午時間理解這些東西,順便記一下筆記,不然很久沒用應該就忘掉了 囧

word-break:normal|break-all|keep-all;
word-wrap:normal|break-word

上面都是解決換行的問題(但不是真的換行)

word-break:Normal

normal下一句有單字超過邊距會把整個單字換下一行

word-break:keep-all;

恩,結果好像跟Normal模式一樣,沒什麼差別…,但這樣就特錯大錯
查了一下文件如下

1
2
3
4
5
6
normal
    Use the default line break rule.
break-all
    Word breaks may be inserted between any character for non-CJK (Chinese/Japanese/Korean) text.
keep-all
    Don't allow word breaks for CJK text. Non-CJK text behavior is the same as for normal.

http://devdocs.io/css/word-break

[JavaScript] Date物件 小筆記

最近有使用JavaScript Date物件,想說有什麼辦法直接把變數換成當月最後一天
發現網路上有一個教法寫

1
2
3
4
var date = new Date();
date.setMonth(date.getMonth+1);
date.setDate(0);
console.log(date);

非常神奇,簡單又不需要判斷閏年的問題!!!!

[Autoit]詢問禮拜六日自動關機腳本

就公文開啟腳本加上禮拜六日自動關機程式,不要浪費學校的電
然後怕卡在國定假日要來上課,所以寫出這個角本
自動開機就在BIOS設定,就搞定了XD

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
#include <Date.au3>

Func OpenProc()
   #Working code

EndFunc

If @WDAY==1 or @WDAY == 7 Then
   run("shutdown -s -f -t 600")
   sleep(5)
   $goSutdown = MsgBox($MB_OKCANCEL,@WDAY,"今天是周休假日,程式自動執行關機,請問你是否繼續執行關機?")
   If $goSutdown = $IDCANCEL Then
	  run("shutdown -a")
	  OpenProc()
   EndIf
   exit(1)
EndIf

OpenProc()

[Python]dict排序筆記

最近突然想到以前有在網路看到Dict做排序
覺得這些以後還用的到
所以記錄一下…

1
2
3
4
5
6
#http://www.saltycrane.com/blog/2007/09/how-to-sort-python-dictionary-by-keys/
for key in sorted(mydict.iterkeys()):
    print "%s: %s" % (key, mydict[key])

for key, value in sorted(mydict.iteritems(), key=lambda (k,v): (v,k)):
    print "%s: %s" % (key, value)

寫成現有method

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
#http://code.activestate.com/recipes/52306-to-sort-a-dictionary/
    # (IMHO) the simplest approach:
    def sortedDictValues1(adict):
        items = adict.items()
        items.sort()
        return [value for key, value in items]

    # an alternative implementation, which
    # happens to run a bit faster for large
    # dictionaries on my machine:
    def sortedDictValues2(adict):
        keys = adict.keys()
        keys.sort()
        return [dict[key] for key in keys]

    # a further slight speed-up on my box
    # is to map a bound-method:
    def sortedDictValues3(adict):
        keys = adict.keys()
        keys.sort()
        return map(adict.get, keys)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
#http://falldog7.blogspot.com/2009/10/python-dictionary-or-classitemlistsort.html
    d= [ {'id':0, 'value':9}, {'id':1, 'value':100}, {'id':5, 'value':99}, {'id':3, 'value':19}, {'id':2, 'value':59} ]
    d.sort(key=lambda x:x['id']) #針對key 'id' 做sort
    d.sort(key=lambda x:x['value']) #針對key 'value' 做sort

    #以下用cmp,可以達到上面指定key的效果
    d.sort(cmp=lambda x,y: cmp(x['id'], y['id']))
    d.sort(cmp=lambda x,y: cmp(x['value'], y['value']))

    class data:
        def __init__(self, _id, _value):
            self.id    = _id
            self.value = _value
    c = [ data(0,9), data(1,100), data(5,99), data(3,19), data(2,59) ]
    c.sort(key=lambda x:x.id)#針對class member id 做sort
    c.sort(key=lambda x:x.value)#針對class member value 做sort

    #以下用cmp,可以達到上面指定key的效果
    c.sort(cmp=lambda x,y: cmp(x.id, y.id) )
    c.sort(cmp=lambda x,y: cmp(x.value, y.value))

資料來源:http://www.dotblogs.com.tw/rickyteng/archive/2011/12/29/63734.aspx