# Something about CI note user guide
## redirect $this->load->helper('url');
...
# Plug-In Install by Package Control
Fisrt use sublime need install Package Control Ctrl + ~ show command line enter
import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation' restart sublime finish
## ZenCoding ## jsFormat 讓 js 整齊 ctrl + alt + f GitHub
## SublimeTmpl 載入預設的樣板
## Emmet 快速輸入
## Gist ## BracketHighlighter ## Themes Dayle Rees Color Schemes Farzher Fox ## sublime-jslint GitHub
...
# Hot Key Document
Mac OS X
## Windows Ctrl+Shift+p 開啟指令列 Tab 自動完成字詞 ctrl + d 選單字 alt + F3 選相同的字 ctrl + f 搜尋 ctrl + 0 focus 到 siderbar Ctrl + Shift + <- or -> Alt + <- or -> 單字 or 符號間移動 Ctrl + Alt + up or down 輸入多選 Ctrl + g 跳行
## Mac OS X Command + shift + p 開啓指令列 Ctrl + Shift + up or down 輸入多選 Ctrl + g 跳行 Command + <- or -> 跳到行首 or 行尾 Ctrl + tab 上一個 focus 的分頁 Ctrl + shift + tab 下一個 focus 的分頁 Command + K + L tolowercase Command + K + U touppercase
...
# Initial Setting Sublime Text 手冊
Preferences->Settings-Default
"default_encoding": "UTF-8" "default_line_ending": "unix" "tab_size": 4 "translate_tabs_to_spaces": true "save_on_focus_lost": true "highlight_line": true "trim_trailing_white_space_on_save": true "rulers": [80, 120] "highlight_modified_tabs": true choose
"ensure_newline_at_eof_on_save": true "use_simple_full_screen": true if want change font size
Preferences->Settings-User
{ "default_encoding": "UTF-8", "default_line_ending": "unix", "tab_size": 4, "translate_tabs_to_spaces": true, "save_on_focus_lost": true, "highlight_line": true, "trim_trailing_white_space_on_save": true, "rulers": [80, 120], "highlight_modified_tabs": true, "font_size": 18.0, "ignored_packages": [ "Vintage" ] }
...
# PHP Note ## Notice 處理 db 的部分放到 model 處理來增強可用性 減少邏輯判斷 以錯誤為優先處裡 ## array to string <?php $arr = array( 'val' => 1, 'str' => 'string', ); $to_string = serialize($arr); echo $to_string; // a:2:{s:3:"val";i:1;s:3:"str";s:6:"string";} $to_array = unserialize($to_string); var_dump($to_array); /* not better * if $to_string can't unserialize, it has PHP error */ ?> ## coding style 在 PHP 中有許多邏輯判斷 當有許多條件要去檢查時, 一般來說就是用 if 一直寫下去 最後就造成下面的情況
if ($a === $b) { if ($c) { if ($c >= 10) { if ($d) { // do something // .
...
# CI AJAX(Post) ## Usage JavaScript(jQuery)
$.post( '/api/post', { val: 'string', val2: 1 }, function(data) { console.log(data); if(data.status === 'ok') { // dosomething } else { // alert fail } }, 'json' ); $.ajax({ url: '/login/signup', type: 'POST', data: { account: $('input[name="account"]').val() }, success: function(data) { console.log(data); } }); PHP
<?php // api.php public function post() { $val = $this->input->post('val'); $val2 = $this->input->post('val2'); if ($val) { // dosomething //response $output = array( 'status' => 'ok', 'msg' => 'success' ); echo json_encode($output); exit; } $output = array( 'status' => 'fail', 'msg' => 'error' ); echo json_encode($output); exit; } ?
...
# MySQL Monitor ## Setting mysql -u root -h <HOST> -P <PORT> <DATABASE_NAME> -p -A ## database 每一個 command 最後都要加 ;
status; create database database_name; drop database database_name; show databases; show tables; use database_name; ## table create table table_name( column1 type1, column2 type2); create table table_name( column1 type1, column2 type2) charset=utf8; desc table_name; show create table <table_name> MySQL 8.0 Reference Manual :: 3.3.2 Creating a Table - MySQL
13.1.20 CREATE TABLE Statement - MySQL :: Developer Zone
...
# 電腦的本質 從計算機發展到現今的電腦,從機械到電子,從簡單到複雜,都脫離不了三個基本性質.
功能分離(function abstraction) 許多不同的階層在獨立運作,而不必顧慮其他階層
通用電腦原理(universal computer) 電腦運作的基本原理都是一樣的,只差在組成的元件不一樣,所以只要程式設計的正確,電腦也能如人腦般的思考
超越工程學 此為全新的電腦設計概念,當電腦的設計變的複雜時,便試圖以全新的概念來設計
...
# 亂數 數位電腦如何產生隨機訊號?項電腦這樣的決定性系統(deterministic system)可以產生一串真正的隨機數列嗎?嚴格說起來,答案是否定的.因為數位電腦所做的每個工作都是由其設計及輸入所決定的,就好像俄羅斯輪盤,球最後所落下的位置是由球的物理性質及輪盤來決定.理論上,若我們了解輪盤的設計及控制其旋轉與擲球力道等詳細[輸入]內容,就應該能預測球的落點.但輪盤停止轉動後的結果看起來卻是隨機的.
電腦也可以用同樣的觀念產生隨機數列,事實上電腦也可以用一種數學模型模擬俄羅斯輪盤的物理性質,每次用稍微不同的角度擲球,已便產生隨機數列.即使丟球的角度只是固定的週期性變化,電腦所模擬的動態轉輪也會將這些些微差異轉化成不可預測的隨機數列.這種隨機數列稱為假隨機(pseudorandom)序列,因為只有不了解其計算方式的觀察者才認為它是隨機的.這種由[假隨機數產生器]所產生的數列可通過所有的標準統計隨機檢測.
數位電腦和真實世界一樣是可預期的,卻也是不可預期的,它們都遵循著決定性的法則,但這些法則會導致相當難以預測的複雜結果.在電腦執行之前猜測它所要做的動作是很不切實際的,而通常不需太大的功夫就可以讓計算變得很複雜.
...
# 位元和邏輯區組 任何可以表示兩種不同訊息的信號就叫二元(binary)信號,或稱為位元.
And Or Invert 函數稱為邏輯區組,把他們依序組合還可以得到其他函數.
EX. Or 輸出端接 Invert,便得到 Nor(輸入端均不為 1 時,輸出便為 1) 兩個 Invert 接在 Or 輸入端,輸出端接上 Invert,便得到 And(兩輸入端為 1,輸出為 1)
早期計算機裝置是由機械元件組成的.17 世紀,巴斯卡(Blaise Pascal)建造了一個機械式加法機,也因此激發了萊布尼茲(Gottfried Wilhelm Leibniz)和英國博學家虎克(Robert Hooke)的靈感而製造了可以乘除甚至開根號的機器.1833 年,英國數學家兼發明家巴比奇(Charles Babbage)設計並建構出可程式化機械電腦的一部分.
...