2014年6月10日 星期二

Google Finance API (目前已停止更新,終止服務時間未定)

Google Finance API
兩種方式,第一種較詳細
http://www.google.com/finance/info?infotype=infoquoteall&q=2311
http://finance.google.com/finance/info?client=ig&q=TPE:2311

q=後面接股票代碼,格式可以為
q=TPE:2311
q=2311

{
"id": "674465"
,"t" : "2330"                               股票代號
,"e" : "TPE"
,"l" : "122.50"
,"l_fix" : "122.50"
,"l_cur" : "NT$122.50"             成交價格
,"s": "0"
,"ltt":"1:30PM GMT+8"            時間
,"lt" : "Jun 6, 1:30PM GMT+8"
,"lt_dts" : "2014-06-06T13:30:08Z"
,"c" : "-0.50"                             漲跌
,"c_fix" : "-0.50"
,"cp" : "-0.41"                           漲幅
,"cp_fix" : "-0.41"
,"ccol" : "chr"
,"pcls_fix" : "123"                     昨收
,"eo" : ""
,"delay": ""
,"op" : "123.50"                       開盤價
,"hi" : "123.50"                        最高
,"lo" : "122.00"                        最低
,"vo" : "19.28M"
,"avvo" : ""
,"hi52" : "124.00"
,"lo52" : "92.90"
,"mc" : "3.18T"
,"pe" : "16.17"
,"fwpe" : ""
,"beta" : ""
,"eps" : "7.58"
,"shares" : "25.93B"
,"inst_own" : ""
,"name" : "Taiwan Semiconductor Mfg. Co. Ltd."  公司名稱
,"type" : "Company"
}


原始出處

[PHP] Multi-Dimension array sorting Method

Multi-Dimension array sorting Method,多微陣列排序方法 (網路上找到的)

function aasort (&$array, $key) {
    $sorter=array();
    $ret=array();
    reset($array);
    foreach ($array as $ii => $va) {
        $sorter[$ii]=$va[$key];
    }
    asort($sorter);
    foreach ($sorter as $ii => $va) {
        $ret[$ii]=$array[$ii];
    }
    $array=$ret;
}

aasort($your_array,"order");

[PHP] Array to File (File back to Array)

PHP中將Array寫入檔案,以便日後讀出的方法

寫入檔案前,需先做serialize的處理
$string = serialize($arr);
file_put_contents('File.txt', $string);

讀出檔案後,需做unserialize的處理
$str = file_get_contents('serialtest.txt');
$arr = unserialize($str);

[Synology] PHP exec disable

於Synology裡,在PHP中使用exec時,碰到 exec()無法使用的情況,需依照下列步驟處理。

修改下列檔案
/usr/syno/etc/php.ini
/usr/syno/etc/php/user-setting.ini

將下面這行設定
safe_mode_exec_dir = /usr/syno/bin
修改為
safe_mode_exec_dir =  

Apache重啟
/usr/syno/etc/rc.d/S97apache-user.sh restart 


p.s. 我使用的是Synology DS211j 機器 - DSM 4.3的版本

2014年5月21日 星期三

PHP Memory limit

PHP執行中因下列錯誤而中止

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes) in /php/doctrine/lib/Doctrine/Query/Abstract.php on line 508


PHP 系統設定記憶體限制,預設128MB。
可由php.ini檔案設定找到,裡面有一項參數memory_limit

memory_limit=2048m; Maximum amount of memory a script may consume (128MB)

P.S.  可藉由指令方式顯示現有記憶體限制
php -r 'echo "PHP Memory Limit :".ini_get("memory_limit")."\n";'
PHP Memory Limit : 2048M

2014年1月7日 星期二

[Android] How to Add Android ID or Fix 'No DB found' error


Change Android ID:
1. 使用adb.exe shell進入手機
2. 輸入下列指令
$ su
# cd /data/data/com.android.providers.settings/databases/
# sqlite3 settings.db

3. 接著你會進入"sqlite>" prompt


sqlite> insert into secure ("name", "value" ) values ("android_id","DEVICE_ID_GOES_HERE"); 
.exit

DEVICE_ID_GOES_HERE 為你想使用的Android ID
4. 然後重開機即可


p.s. 若無此sqlite3指令,可自行放入,方式如下

adb push sqlite3 /data/local/tmp/sqlite3
chmod 775 /data/local/tmp/sqlite3
chown 0.0 /data/local/tmp/sqlite3

[Android] How to disable Navigation bar


1. 使用'Root Explorer' app找到位於/system底下的
build.prop
2. 並使用text editor編輯此文件,至文件尾有一行 (最後三行都是一樣的,只需修改最後一個)
qemu.hw.mainkeys=0
把其值改為1後,儲存離開

3. 最後,重開機即可!

2013年9月12日 星期四

[分享] Trinity Vengeance RaptorXL V3.3 for SONY xperia SL lt26ii 刷機

XDA 原文

小弟是新手~ 使用的是Xperia SL lt26ii(已解鎖),這一陣子嘗試了多款ROMs之後,像是  LeOpArDx RoM V3.1, pac 4.2.2 pure new,
JellySlim_FullPower**evo3, AOSPXXX等等,個人喜歡此版的ROM "Trinity Vengeance RaptorXL V3.3"

其間也相對刷過不少Kernels,像是Trinity Kernel, DooMLord等等~ 呵呵幾乎是亂刷一通~
最還是喜歡 Forzzaforilao的Kernel(超頻版的1.9GHz),使用很上穩定。

但目前因為Trinity Vengeance RaptorXL V3.3是based on 96 kernel,所以Forzzaforilao版本Kernel還要再等一陣子。

會推薦此ROM的原因:

  1. 穩定
  2. 操作順暢
  3. 反應及時
  4. 移除了許多內建程式
  5. 在我安裝了近100 apps後,系統與軟體能夠順暢操作與切換

分享目前使用狀況(一些我比較在意的部分及我在嘗試其他ROM時會碰到的狀況):

  1. 相機功能正常
  2. 一般使用無FC狀況發生
  3. 聽音樂無lag或中斷發生
  4. 系統操作沒有lag狀況發生
  5. 無app使用衝突
  6. 無異常Reboot


Notices
==========================下載連結請至XDA原文下載
刷之前請多多看原文說明或發問以減少問題的發生~
檔案大小約1GB,裡面包含了兩種核心、多種常用apps、Google apps、Launchers供選擇預先安裝。

p.s. 若有需要讓google app自動還原安裝,記得刷完後,把3G關掉、Wi-Fi打開、然後先至"設定"->"Feature Control"->"Tool" 頁面中,修改"Device Hostname"

android-xxxxxxxxxxxxxxxx

"xxxxxxxxxxxxxxxxv"修改為原本的Android ID,修改好後重新開機,然後再連上Wi-Fi並登入你的Google帳號即可

個人建議解鎖後自由度比較高,可以選擇自己想要的kernel。

如果,最後真的真的很不幸的開不了機,頂多麻煩一點重刷官方ftf檔就好了。



p.s. 我的習慣是手機都會留一份可以work的ROM,以備想要嘗試的ROM有問題開不了時,可以立刻刷回可用的ROM,然後重新放別的ROM試。這樣就不用強刷回官方的ROM,在去搞Root、CWM等等的東西。

設定>Xperia>網際網路設定
要先下載網際網路跟MMS設定才能上網

6.0以上的CWM是開機亮紫燈按音量+
==========================


Kernel
==========================
DooMKernel v06出了,有實驗精神的可以嘗試 (我目前一樣會等Forzzaforilao的OC版本)
=======
注意!!!  此Kernel,我未試過,指示提供資訊給大家!!
[url=http://forum.xda-developers.com/showthread.php?t=2305591]DooMKernel JB v06[/url]
==========================


我刷機的動作 (供參考)
==========================

1. wipe data/factory reset
2. wipe cache partition
3. advanced -> wipe delvik cache
4. advanced -> fix permissions
5. mounts and storage -> format /system
6. mounts and storage -> format /cache
7. mounts and storage -> format /data
8. install zip from sdcard -> choose zip from sdcard -> Trinity.....

開始進入選單......
其中Kernel的選擇頁面

Select Your Favorite Kernel Flavor.

我是選
Advance Stock kernel 96Source
1080p Lagfix With latest 96Kernel FW

reboot....

p.s.裡面的內建軟體,我個人是能不勾選就不勾選。
==========================

螢幕截圖
==========================









2013年3月13日 星期三

MS SQL 讀取資料表中,欄位設定的相關資訊



讀取資料表中,欄位設定的相關資訊(欄位名稱,資料型別,最大長度,欄位備註...)

SELECT 
a.TABLE_NAME as 表格名稱, 
b.COLUMN_NAME as 欄位名稱, 
b.DATA_TYPE as 資料型別, 
b.CHARACTER_MAXIMUM_LENGTH as 最大長度, 
b.COLUMN_DEFAULT as 預設值, 
b.IS_NULLABLE as 允許空值, 
( SELECT value FROM fn_listextendedproperty (NULL, 'schema', 'dbo', 'table', a.TABLE_NAME, 'column', default) WHERE name='MS_Description' and objtype='COLUMN' and objname Collate Chinese_Taiwan_Stroke_CI_AS = b.COLUMN_NAME ) as 欄位描述 

FROM INFORMATION_SCHEMA.TABLES a 
LEFT JOIN INFORMATION_SCHEMA.COLUMNS b ON ( a.TABLE_NAME=b.TABLE_NAME ) 
WHERE TABLE_TYPE='BASE TABLE' 
AND 
--列出特定表  
a.TABLE_NAME ='' 
AND
  --列出所有資料表  
a.TABLE_NAME in (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES) 
ORDER BY a.TABLE_NAME, ordinal_position

Example.

select b.CHARACTER_MAXIMUM_LENGTH from INFORMATION_SCHEMA.TABLES a 
left join INFORMATION_SCHEMA.COLUMNS b ON (a.TABLE_NAME=b.TABLE_NAME) where TABLE_TYPE='BASE TABLE' and a.TABLE_NAME='ABC' and b.COLUMN_NAME='Test' order by a.TABLE_NAME, ordinal_position

搜尋此網誌