免票, 歡迎大家參加
2015年12月12日
2014年6月25日
PMP 證照考取心得
由於中華電信很多同事都在長宏取得 PMP 證照,且對於課程也都很推崇故自己也選擇來長宏上課,在開課前就有聽同事說長宏上課的過程相當精實,果不其然在第一堂課就體會到 Roger 老師的震撼教育,團隊組建、一案通主題討論再加上許多專案管理知識,上完課後覺得超累但很充實。除了上課之外,長宏還規定需要有讀書會的運作並且會指派熱心的教練幫助大家一起努力,現在回想起來這其實是很重要的共好機制,建議各位一定要參加,因為在上課或做題目時多少會有觀念不清楚的地方,可以透過讀書會跟同學與教練一起討論,透過「團隊共好」的力量幫助自己找出問題,同時PMP的考題很多是選項都對但是要找出最佳解,這時候也可透過讀書會與同學討論解題的技巧,像有的題目需要看英文原始題目的關鍵字來解題也是透過讀書會跟同學學習的技巧。此外星期一到星期五的時間就是跟隨長宏規劃的時程進行上課前預習、下課後複習,做錯的例題跟隨堂考題目就落實長宏心法進行 Lessions Learned 發揮專案逐步完善的精神。
但準備的過程人算不如天算在課程開始的第二週公司忽然又有新任務交辦,常常都要加班至很晚,忙完之後又經歷小孩腸胃炎住院,在這樣的狀態下第一次模擬考只考了54分,看到了電腦螢幕上顯示 Fail,自己不斷給自己心理建設,這只是一時的挫折,我不能放棄一定要跟上,還好教練有一直鼓勵大家要趕上進度,此外長宏有很強的輔考機制讓我半夜在醫院也能利用網路練習題目及觀看 eLearning。所幸後來公司事情告一段落,小孩身體也慢慢的恢復,之後模擬考都有達到 70 分以上的水準,到了倒數第二週光明老師的道德課程中介紹許多長宏題目的設計與考試之間難度的比較,記得課堂老師說 200 題模擬考有 70 分的話報考就對了,前面有那麼多長宏的學長姐作為你們的後盾,更加深了考上 PMP 的信心;最後的總複習課程,更建議大家一定要去,透過正普老師清晰的解題技巧與近期題型的解析,再把觀念不清楚的地方都加以釐清。
經過前面八週魔鬼訓練後,其實真正上場考試時並不會緊張,因為整個準備的過程很扎實,依照長宏規劃的行事曆完成25題牛刀小試、模擬考100題、章節測驗360題、模擬考200題,總複習20題驗證過自己的學習進度及實力。讓我於總複習課程結束後第二天就上場,個人考試的經驗最好時間安排在下午,考試當天早上盡量放鬆,大約 10:30 左右就可以到考場,11:00 就可以吃午餐,當天就保持自己最舒服的狀態,雖然上場時難免緊張但專案管理的相關知識都已在準備過程內化於心中,在經過三個多小時馬拉松式的考試後,在很有把握的情況下按下送出,經歷過人生最長的 30 秒,螢幕顯示小小的 Congratulations,全部的辛苦都化為喜悅,我也是PMP了!
很感謝長宏完整的規劃、事事如意隊夥伴的共好支持,還有這段期間家人、同事及朋友的幫忙讓我能夠在不到兩個月的時間內就獲得PMP,要另外感謝育芸(yoyo)教練每週六的讀書會給我們醍醐灌頂、半夜還會發 line 給我們分析成績跟指導如何準備;感謝怡祺(ichi)教練常鼓勵大家並提供很多準備考試的小撇步,同時鼓勵仍在奮戰中的夥伴們加油,很快的我們一定可以大家 all pass 一起慶祝!
但準備的過程人算不如天算在課程開始的第二週公司忽然又有新任務交辦,常常都要加班至很晚,忙完之後又經歷小孩腸胃炎住院,在這樣的狀態下第一次模擬考只考了54分,看到了電腦螢幕上顯示 Fail,自己不斷給自己心理建設,這只是一時的挫折,我不能放棄一定要跟上,還好教練有一直鼓勵大家要趕上進度,此外長宏有很強的輔考機制讓我半夜在醫院也能利用網路練習題目及觀看 eLearning。所幸後來公司事情告一段落,小孩身體也慢慢的恢復,之後模擬考都有達到 70 分以上的水準,到了倒數第二週光明老師的道德課程中介紹許多長宏題目的設計與考試之間難度的比較,記得課堂老師說 200 題模擬考有 70 分的話報考就對了,前面有那麼多長宏的學長姐作為你們的後盾,更加深了考上 PMP 的信心;最後的總複習課程,更建議大家一定要去,透過正普老師清晰的解題技巧與近期題型的解析,再把觀念不清楚的地方都加以釐清。
經過前面八週魔鬼訓練後,其實真正上場考試時並不會緊張,因為整個準備的過程很扎實,依照長宏規劃的行事曆完成25題牛刀小試、模擬考100題、章節測驗360題、模擬考200題,總複習20題驗證過自己的學習進度及實力。讓我於總複習課程結束後第二天就上場,個人考試的經驗最好時間安排在下午,考試當天早上盡量放鬆,大約 10:30 左右就可以到考場,11:00 就可以吃午餐,當天就保持自己最舒服的狀態,雖然上場時難免緊張但專案管理的相關知識都已在準備過程內化於心中,在經過三個多小時馬拉松式的考試後,在很有把握的情況下按下送出,經歷過人生最長的 30 秒,螢幕顯示小小的 Congratulations,全部的辛苦都化為喜悅,我也是PMP了!
很感謝長宏完整的規劃、事事如意隊夥伴的共好支持,還有這段期間家人、同事及朋友的幫忙讓我能夠在不到兩個月的時間內就獲得PMP,要另外感謝育芸(yoyo)教練每週六的讀書會給我們醍醐灌頂、半夜還會發 line 給我們分析成績跟指導如何準備;感謝怡祺(ichi)教練常鼓勵大家並提供很多準備考試的小撇步,同時鼓勵仍在奮戰中的夥伴們加油,很快的我們一定可以大家 all pass 一起慶祝!
2014年6月10日
MS SQL Server table name 包含 - (連字符號, dash, hyphen)
由於工作需要必須去查另一個 team 建的 SQL Server 資料庫,但裡面的資料表(table)名稱為 wifiqoe_kpi-eap-sim,用一般 SELECT * FROM wifiqoe_kpi-eap-sim 查會出現 "Incorrect syntax near '-'.",看起來是資料表名稱包含了 - 的問題,用了一些跳脫字元(escape character)像是用 \- 或 -- 都沒用,後來查了一下原來是要在表格名稱前後加上 brackets 也就是中括號 [ ] 就可以了,所以最後的 SQL 語法是 SELECT * FROM [wifiqoe_kpi-eap-sim]
標籤:
brackets,
dash,
database,
hyphen,
MS SQL Server,
table name
2014年5月30日
sftp 使用自訂之 private key
由於最近要登入一台新的 FTP server,之前某同事已申請過此 FTP server 的程式用帳號密碼,因為時效很趕的關係,所以跟同事拿了他程式帳號的 private key,準備在另一台主機採用 key 交換的方式利用相同 FTP 帳號(不需輸入密碼登入 FTP server),研究了一下,要選擇自訂的 private key 指令如下:
sftp -o IdentityFile=/your/private/key user@sftpserver
這樣就可以不破壞原來主機上的使用者原本的 private key 下(或根本沒有這個使用者帳號),利用 key 交換方式登入另一台主機
P.S. Perl 的 SFTP 模組建議採用 Net::SFTP::Foreign
sftp -o IdentityFile=/your/private/key user@sftpserver
這樣就可以不破壞原來主機上的使用者原本的 private key 下(或根本沒有這個使用者帳號),利用 key 交換方式登入另一台主機
P.S. Perl 的 SFTP 模組建議採用 Net::SFTP::Foreign
標籤:
Linux,
private key,
sftp
2014年5月23日
快速篩選 Syslog 時間
維運人員發現網路設備有問題,然後臨時要前幾天的中午十二點到當天結束這段時間該網路設備的 syslog,要怎麼快速處理呢?
step1 : 先 grep 該設備TP2-GW-1001(192.168.10.20) 的 IP 並存成 20140519_TP2-GW-1001.log
cat 20140519_all.log | grep '192.168.10.20' > 20140519_TP2-GW-1001.log
step2 : 再利用 awk 指令針對 syslog 第三欄位(時間) 進行篩選,並填入時間條件
cat pwlangw.log-20140519 | awk ' $3 >= "12:00" && $3 <="24:00" ' > 20140519_TP2-GW-1001-12-24.log
搞定收工
step1 : 先 grep 該設備TP2-GW-1001(192.168.10.20) 的 IP 並存成 20140519_TP2-GW-1001.log
cat 20140519_all.log | grep '192.168.10.20' > 20140519_TP2-GW-1001.log
step2 : 再利用 awk 指令針對 syslog 第三欄位(時間) 進行篩選,並填入時間條件
cat pwlangw.log-20140519 | awk ' $3 >= "12:00" && $3 <="24:00" ' > 20140519_TP2-GW-1001-12-24.log
搞定收工
2013年3月12日
[Perl] Moose 範例 - 銀行篇
#!/usr/bin/env perl
package BankAccount;
use Moose;
use Data::Dumper;
has 'balance' => (
is => 'rw',
isa => 'Str',
default => 0
);
sub deposit {
my ($self, $amount) = @_;
$self->balance( $self->balance + $amount);
}
sub showBalance {
my $self = @_;
print "The balance is : \n";
}
my $savingAccount = BankAccount->new( balance => 250 );
print Dumper($savingAccount);
$savingAccount->deposit(100);
print Dumper($savingAccount);
$savingAccount->showBalance();
2013年1月23日
[Perl] Linux 上使用 Perl 查詢 Microsoft SQL Server
Perl 連接 MySQL 這種就不用多說了,Google 一下就很多教學 今天來談的是 Linux 裡面如何查詢微軟的 MS SQL Server
簡介如下
建置環境 : CentOS v6.2
程式語言 : Perl v5.10.1
一開始需先安裝 FreeTDS 程式,但是 yum 預設並沒有這個套件,所以要先前置作業下載 CentOS epel RPM , 記得看你的 CentOS 版本是 5 還是 6 找到對應的目錄去下載
安裝步驟
1. sudo su -
2. rpm -Uvh epel-release-6-8.noarch.rpm
3. vim /etc/yum.repos.d/epel.repo,把 [epel] 裡面的註解取消
4. yum update
5. yum install freetds.x86_64
6. yum install freetds-devel.x86_64
7. vim /etc/freetds.conf,新增如下
安裝完成後可以先執行 tsql 測試
tsql -S sqlserver.hostname.com -U sqlusername -D your_db_name
進去後再下
select * from sys.Tables;
GO
quit
也可以改成 "一行執行"
printf "SELECT * FROM httpstatus\ngo\n" | tsql -S sqlserver.hostname.com -U sqlusername -P sqlpassword -D your_db_name
前置作業完成後,再來要安裝 Perl 模組 DBD::Sybase,你沒看錯真的是 Sybase 模組(緣由請參考這裡)
安裝步驟
1. export SYBASE=/usr (這行要有不然安裝時會出現找不到 sybase library 錯誤)
2. cpanm DBD::Sybase
都完成後終於要開始寫程式啦, 程式碼如下
資考資料 : http://dolio.lh.net/~apw/doc/HOWTO/HOWTO-Connect_Perl_to_SQL_Server.pdf
簡介如下
建置環境 : CentOS v6.2
程式語言 : Perl v5.10.1
一開始需先安裝 FreeTDS 程式,但是 yum 預設並沒有這個套件,所以要先前置作業下載 CentOS epel RPM , 記得看你的 CentOS 版本是 5 還是 6 找到對應的目錄去下載
安裝步驟
1. sudo su -
2. rpm -Uvh epel-release-6-8.noarch.rpm
3. vim /etc/yum.repos.d/epel.repo,把 [epel] 裡面的註解取消
4. yum update
5. yum install freetds.x86_64
6. yum install freetds-devel.x86_64
7. vim /etc/freetds.conf,新增如下
[SQLSERVER]
host = your_sqlserver_hostname
port = 1433
tds version = 7.0
安裝完成後可以先執行 tsql 測試
tsql -S sqlserver.hostname.com -U sqlusername -D your_db_name
進去後再下
select * from sys.Tables;
GO
quit
也可以改成 "一行執行"
printf "SELECT * FROM httpstatus\ngo\n" | tsql -S sqlserver.hostname.com -U sqlusername -P sqlpassword -D your_db_name
前置作業完成後,再來要安裝 Perl 模組 DBD::Sybase,你沒看錯真的是 Sybase 模組(緣由請參考這裡)
安裝步驟
1. export SYBASE=/usr (這行要有不然安裝時會出現找不到 sybase library 錯誤)
2. cpanm DBD::Sybase
都完成後終於要開始寫程式啦, 程式碼如下
#!/usr/bin/perl
#use lib ('./modules');
use DBI;
use DBD::Sybase;
my $database = "your_db_name";
my $username = 'sqlusername';
my $password = 'sqlpassword';
#SQLSERVER 字串對應至 /etc/freetds.conf 裡面的 [SQLSERVER] tag
$dsn = "DBI:Sybase:server=SQLSERVER;database=$database";
my $dbh = DBI->connect($dsn, $username, $password) or die "Database connection not made : $DBI::errstr";
my $sql = "SELECT TOP 5 * FROM httpstatus order by testtime desc";
my $sth = $dbh->prepare( $sql );
$sth->execute() or die "unable to execute query $sql, error $DBI::errstr\n";
$rows = $sth->rows;
while ( @first = $sth->fetchrow_array ) {
foreach $field (@first) {
print "$field ";
}
print "\n";
}
$sth->finish();
undef $sth;
$dbh->disconnect();
print "Query successfully\n";
資考資料 : http://dolio.lh.net/~apw/doc/HOWTO/HOWTO-Connect_Perl_to_SQL_Server.pdf
2012年8月15日
2012年6月1日
[MAC] iPhoto 照片檔案位置
之前備份了 iPhoto,記錄一下實際照片存放的路徑
iPhoto 圖庫 -> Masters -> 2011 -> 01
以上就代表 2011年1月的實際照片存放路徑囉
iPhoto 圖庫 -> Masters -> 2011 -> 01
以上就代表 2011年1月的實際照片存放路徑囉
2012年5月10日
[Perl] 陣列在副程式之間傳遞
通常傳遞陣列都是傳一個 reference 的記憶體位址過去,而不會真正把整個 Array 傳過去(雖然也是可以)
傳遞到副程式時:前面要加 \ ,讓 Perl 傳遞 reference 到 sub 內,副程式內用 scalar ($) 來接
副程式回傳後,要接收時:要解析 reference (通常稱作 dereference),在外面加上 @{ } 來 dereference
下面是一個簡單的範例
傳遞到副程式時:前面要加 \ ,讓 Perl 傳遞 reference 到 sub 內,副程式內用 scalar ($) 來接
副程式回傳後,要接收時:要解析 reference (通常稱作 dereference),在外面加上 @{ } 來 dereference
下面是一個簡單的範例
#!/usr/bin/perl
@mainAry = ("abc", "def");
#deference and expand the array
@returnAry = @{ &getInterface(\@mainAry) };
print "origin : @mainAry\n";
print "return : @returnAry\n";
sub getInterface() {
my ($rec_ref) = @_ ;
$a_ref = [];
foreach $values (@{ $rec_ref }) {
push(@$a_ref, $values);
print "push $values\n";
}
return $a_ref;
}
標籤:
Array,
dereference,
Perl,
reference,
subroutine
2012年5月4日
[Perl] cpanm 搭配 CPAN::Mini 的設定方式
之前的文章有介紹了 CPANPLUS 與 CPAN::Mini 但是現在更好用的模組管理程式是 cpanm (發音為 cpanminus)安裝方式為
curl -L http://cpanmin.us | perl - --sudo App::cpanminus
或直接下載 cpanm 檔案,本身是一隻 Perl 程式
curl -LO http://xrl.us/cpanm
chmod +x cpanm
使用方式跟 CPANPLUS 比起來真的是 minus 許多,摘錄 cpanm 使用方式 如下
cpanm Test::More # install Test::More
cpanm MIYAGAWA/Plack-0.99_05.tar.gz # full distribution path
cpanm http://example.org/LDS/CGI.pm-3.20.tar.gz # install from URL
cpanm ~/dists/MyCompany-Enterprise-1.00.tar.gz # install from a local file
cpanm --interactive Task::Kensho # Configure interactively
cpanm . # install from local directory
cpanm --installdeps . # install all the deps for the current directory
cpanm -L extlib Plack # install Plack and all non-core deps into extlib
cpanm --mirror http://cpan.cpantesters.org/ DBI # use the fast-syncing mirror
cpanm --scandeps Moose # See what modules will be installed for Moose
在這邊要介紹的是如果之前有用 CPAN::Mini 在本地 mirror 了 最新的 CPAN 模組庫,此時要配合 cpanm 使用的話
./cpanm --mirror /cpan/mirror --mirror-only 模組名稱
P.S. /cpan/mirror 是 cpan local repository 的路徑
2012年5月3日
[iOS] UITextview 拉到最下方文字無法完整顯示問題
最近開發一個新聞閱讀軟體,裡面有些內容使用 UITextview 來呈現,呈現當然是沒有問題但是奇怪的是將卷軸拉到最下面後大概有兩行的內容會看不到,需要用手往上拉(捲動 scrollbar)才能看得到,經過一番查詢看來是 iOS 預設的呈現方式,我們必須自己插入一些空間讓文字能夠往上提一點而不會被隱藏起來,方法如下
UITextview 名稱為 : newsTextView
原始出處 : http://stackoverflow.com/questions/1582554/iphone-uitextview-leaves-room-for-2-lines-at-the-bottom
UITextview 名稱為 : newsTextView
UIEdgeInsets contentInset = newsTextView.contentInset; //產生一個 UIEdgeInsets 物件
contentInset.bottom = 45.0; //下方空白空間,視需求增減
newsTextView.contentInset = contentInset; //設定 UITextview 的 contentInset 屬性
原始出處 : http://stackoverflow.com/questions/1582554/iphone-uitextview-leaves-room-for-2-lines-at-the-bottom
標籤:
iOS,
UITextview
2012年4月27日
[Perl] 本地端使用 CPANPLUS 安裝 CPAN 模組(CPAN::Mini 應用)
CPAN 是 Perl 吸引人的特點之一,裡面有成千上萬個模組,都是全世界程式設計師的智慧結晶,所以要寫一個功能前都會先上來看看是否有相似的模組就不用自己再發明輪子。但是通常在企業的 production 環境都是在內部網路,所以根本無法連到在 Internet 的 CPAN 網站。
還好有一位大師 Ricardo SIGNES 解決了這個問題,CPAN:Mini 模組把現在最新的 CPAN 模組蒐集起來 (2012/04 mirror 約 2G),我們可以利用可以連線至 Internet 的機器,把模組 mirror 下來,再傳到內部網路主機即可在裡面安裝 CPAN 模組。
可先手動安裝 CPAN::Mini 之後你在命令列就有 minicpan 指令
再執行
minicpan -l /minicpan -r http://ftp.funet.fi/pub/languages/perl/CPAN
就開始 mirror 了,至少需 2HR 以上時間,完成後進 CPANPLUS 開始初始設定
1. 輸入 cpanp
2. 輸入 s reconfigure
3. 選 7> Select mirrors
4. 看到 Would you like to keep your current hosts? [Y/n]: 選 n
5. 再選 2> Custom
6. 填上剛剛 mirror 到 /minicpan 的路徑
file:///minicpan (注意有三個 / )
7. 按 Enter 跳出
8. 選 4> Quit
9. 選 9> Save & exit
10. 輸入 q 離開
11. 再進入 cpanp
接下來就可以不用網路,在本地安裝 CPAN 模組囉,CPANPLUS 簡易用法請參考如下
CPANPLUS 簡易用法
安裝模組 (模組名稱查詢)
i Date::Manip
移除模組
u GD::Cairo
查詢模組
m Chart::Clicker
查詢作者
a 作者名
2013/11/29 補充
假設 mini cpan 已經解開在 Linux 的 /cpan/mirror 目錄
則使用 cpanm 進行安裝模組的話可以執行如下指令
cpanm --mirror /cpan/mirror --mirror-only CPAN_MODULE_NAME
還好有一位大師 Ricardo SIGNES 解決了這個問題,CPAN:Mini 模組把現在最新的 CPAN 模組蒐集起來 (2012/04 mirror 約 2G),我們可以利用可以連線至 Internet 的機器,把模組 mirror 下來,再傳到內部網路主機即可在裡面安裝 CPAN 模組。
可先手動安裝 CPAN::Mini 之後你在命令列就有 minicpan 指令
再執行
minicpan -l /minicpan -r http://ftp.funet.fi/pub/languages/perl/CPAN
就開始 mirror 了,至少需 2HR 以上時間,完成後進 CPANPLUS 開始初始設定
1. 輸入 cpanp
2. 輸入 s reconfigure
3. 選 7> Select mirrors
4. 看到 Would you like to keep your current hosts? [Y/n]: 選 n
5. 再選 2> Custom
6. 填上剛剛 mirror 到 /minicpan 的路徑
file:///minicpan (注意有三個 / )
7. 按 Enter 跳出
8. 選 4> Quit
9. 選 9> Save & exit
10. 輸入 q 離開
11. 再進入 cpanp
接下來就可以不用網路,在本地安裝 CPAN 模組囉,CPANPLUS 簡易用法請參考如下
CPANPLUS 簡易用法
安裝模組 (模組名稱查詢)
i Date::Manip
移除模組
u GD::Cairo
查詢模組
m Chart::Clicker
查詢作者
a 作者名
2013/11/29 補充
假設 mini cpan 已經解開在 Linux 的 /cpan/mirror 目錄
則使用 cpanm 進行安裝模組的話可以執行如下指令
cpanm --mirror /cpan/mirror --mirror-only CPAN_MODULE_NAME
2012年4月19日
SQLite 簡易指令說明
SQLite 資料型態有
NUMERIC, INTEGER, TEXT, REAL, NONE
日期型別是用 TEXT 的 data type
建立 DB 與 table 三步驟
1. 執行指令 sqlite3 mydatabase.db
2. 在 console 執行
CREATE TABLE peoplestatus(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, birthday TEXT, score1 REAL, score2 REAL, score3 REAL, height INTEGER, weight INTEGER);
3. .exit or .q or .quitInsert 語法 (id 是 AUTO INCREMENT, 所以我們不用自己 insert id 值)
sqlite3 mydatabase.db "insert into peoplestatus(name, birthday, score1, score2, score3, height, weight) values(1, '2012-04-18', 60.58, 77.23, 90.54, 172, 70);"
Select 語法
sqlite3 mydatabase.db "select * from peoplestatus limit 2";
sqlite3 mydatabase.db "select * from peoplestatus order by id limit 1 offset 2";
看 DB 裡面有什麼 table
sqlite3 mydatabase.db "select * from sqlite_master;"
看 peoplestatus 這個 table schema
sqlite3 mydatabase.db ".schema peoplestatus";
Table 新增欄位
sqlite3 ip_pool.db "ALTER TABLE poolstatus ADD phoneno INTEGER"
查詢身高 2012-04-10 生日的人
sqlite3 mydatabase.db "select * from peoplestatus where birthday like '2012-04-10%' order by id desc"
CentOS 載入 MIB file
一般網路設備都有支援 SNMP 網管功能,但直接使用 snmpwalk 去看由於作業系統沒有載入設備的 MIB file 所以無法解析 OID 跟設備的對應關係,只看得到一堆 1.3.6.1.4.1.......
所以我們必須載入廠商提供的 Mib file,讓我的 CentOS 知道對應關係,方法如下
1. 複製廠商 Mib file 到 /usr/share/snmp/mibs/ 例如我們需要三個檔案
2. 在要執行程式的使用者下面建立 .snmp 目錄,並將剛剛三個檔案的檔案寫入 snmp.conf 設定檔
測試
如果有把 OID 解析成名稱, 那就成功囉~
所以我們必須載入廠商提供的 Mib file,讓我的 CentOS 知道對應關係,方法如下
1. 複製廠商 Mib file 到 /usr/share/snmp/mibs/ 例如我們需要三個檔案
cp RBN-IPPOOL-MIB.my /usr/share/snmp/mibs/
cp RBN-SMI.my /usr/share/snmp/mibs/
cp RBN-TC.my /usr/share/snmp/mibs/
2. 在要執行程式的使用者下面建立 .snmp 目錄,並將剛剛三個檔案的檔案寫入 snmp.conf 設定檔
mkdir $HOME/.snmp
echo "mibs +RBN-IPPOOL-MIB" >> $HOME/.snmp/snmp.conf
echo "mibs +RBN-SMI" >> $HOME/.snmp/snmp.conf
echo "mibs +RBN-TC" >> $HOME/.snmp/snmp.conf
測試
snmptranslate -Td 1.3.6.1.4.1.2352.2.15 /usr/bin/snmpwalk -v 2c -c community 10.20.1.2 1.3.6.1.4.1.2352.2.15
如果有把 OID 解析成名稱, 那就成功囉~
2012年4月13日
[Perl] Check null value in Perl
if ( ! defined $var ) {
print "not defined\n";
}
else {
print "defined\n";
}
來源 : http://www.unix.com/shell-programming-scripting/38416-not-null-cheking-argument-perl.html
2012年4月9日
Xcode v4.2 升級到 v4.3.2 問題
前陣子因為 Apple 釋出 iOS 5.1, 所以開發工作也跟著出到 v4.3.2 版, 於是在閒暇的時候利用 Mac App store 把 Xcode v4.2 自動升級到 4.3.2. 升級完畢後點選 dock 上的 Xcode 圖示, 但是怎麼開起來還是 v4.2 版.... 後來利用 finder 搜尋 xcode 關鍵字, 發現在另一個地方也有一個 Xcode 執行檔, 原來 Mac App store 升級後不會自動替換掉 原本的 Xcode, 要自己拉出來才行阿!
2012年3月9日
[iOS] 程式進入背景後之支援類型
iOS 4.0 之後允許以下型態的用途進入背景執行
1. audio
2. Voice over IP
3. Background location
4. Push notifications
5. Local notifications
6. Task finishing - If your app is in mid-task when your customer leaves it, the app can now keep running to finish the task.
7. Fast app switching - All developers should take advantage of fast app switching, which allows users to leave your app and come right back to where they were when they left - no more having to reload the app.
一般都用 Task finishing, 系統會分配時間給你執行, 如果超過分配的時間 (預設是 600 秒 也就是10 分鐘), 系統會自動結束 process, 可利用下列語法查看, 系統分配備背景執行時間是多少
NSLog(@"Background remain time %f : ", [application backgroundTimeRemaining]);
參考來源 : iOS App Programming Guide: App States and Multitasking
1. audio
2. Voice over IP
3. Background location
4. Push notifications
5. Local notifications
6. Task finishing - If your app is in mid-task when your customer leaves it, the app can now keep running to finish the task.
7. Fast app switching - All developers should take advantage of fast app switching, which allows users to leave your app and come right back to where they were when they left - no more having to reload the app.
一般都用 Task finishing, 系統會分配時間給你執行, 如果超過分配的時間 (預設是 600 秒 也就是10 分鐘), 系統會自動結束 process, 可利用下列語法查看, 系統分配備背景執行時間是多少
NSLog(@"Background remain time %f : ", [application backgroundTimeRemaining]);
參考來源 : iOS App Programming Guide: App States and Multitasking
標籤:
background,
iOS,
programming
2012年3月3日
[CentOS] date 顯示上個月, 兩個月前的月份
做 log housekeeping 時可用
這個月是 201203
上個月份
date -d 'last-month' +%Y%m
顯示 201202
前兩個月
date -d '2 months ago' +%Y%m
顯示 201201
這個月是 201203
上個月份
date -d 'last-month' +%Y%m
顯示 201202
前兩個月
date -d '2 months ago' +%Y%m
顯示 201201
標籤:
centos,
Linux date
訂閱:
文章 (Atom)
