看到 Ruby on Rails將程式設計化繁為簡 這篇文章, 就讓我想起 Java Vs Ruby 書的對照圖.
個人筆記, 記錄關於 系統、程式、新聞 與 日常生活 等資訊
unzip 一直以來都只有在解壓單獨檔案, 遇到 bug 才發現, 解壓多檔的語法是不同的.
unzip -j -o *.zip
unzip -j -o
\*.zip
apt-get 發生 GPG Error 的處理方式.
錯誤訊息
W: GPG error: ftp://www.hk.debian.org unstable Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F1D53D8C4F368D5D NO_PUBKEY 010908312D230C5F W: You may want to run apt-get update to correct these problems
解決方法:
$ gpg --keyserver wwwkeys.eu.pgp.net --recv-keys F1D53D8C4F368D5D $ gpg --armor --export F1D53D8C4F368D5D | apt-key add - $ gpg --keyserver wwwkeys.eu.pgp.net --recv-keys 010908312D230C5F $ gpg --armor --export 010908312D230C5F | apt-key add - $ apt-get update
感謝 Range 大師告知, 下述兩個步驟即可解決此問題 🙂
$wget http://ftp-master.debian.org/ziyi_key_2006.asc $apt-key add ziyi_key_2006.asc
在寫網頁的時後常會遇到 80 個字要截字, 然後超過 80 字加 "...", 未滿 80 字不加.. 等等之類的問題.
之前用 substr 的寫法如下:
$string = strip_tags($string); // 先清掉 html tag, 以免 html tag 被破壞 $string = mb_substr($string, 0, 80, 'UTF-8'); $string .= (mb_strlen($string, 'UTF-8') > 80) ? '...' : '';
PHP 有支援很方便的 function 可以直接達到此功能.
$string = strip_tags($string); $string = mb_strimwidth($string, 0, 80, '...', 'UTF-8');
在 UTF-8 的環境算字數用 strlen 或 mb_strlen 都不是很準, 所以可以用另一個做法, 算字的寬度, 也是個不錯的做法
echo mb_strwidth($string, 'UTF-8'); // 算字寬度
感謝 洪朝貴 老師 寫的 Regular Expression.
老師的教導, 而學生當時沒有好好學習.. 需要用到時才偷偷的溜回去看老師的網頁..
真是慚愧... 慚愧之餘.... 還是趕快把語法記下來.. :p
perl -pe 's/<?/<?php/g' 檔名
perl -pe 's/<?/<?php/g' action.php > action-new.php
perl -i -pe 's/<?/<?php/g' `find . -iname '*htm*'`
取代法3 後面的 find.. 可以改用其它你想改的檔名(ex: 改成 *.php), 以上三個範例都是要將 <? 改成 <?php 的做法..
取代法3 能將所有目錄中.你想取代的檔案都取代到(靠自己多嘗試學習吧!!)
此命令是要將 InnoDB 取代成 MyISM 並將原始檔案備份成 filename.sql.bak
perl -i.bak -pe 's#InnoDB#MyISAM#g' filename.sql
結婚果然會忙到不可開交, 來簡單記錄一下經過,
然後從結婚忙完, 1/23請一天假, 去桃園一堆地方跑一天, 把銀行該處理的事情都解決, 1/24 就繼續回公司趕案子, 今天總算有點時間抽出時間來為此行程做個記錄, 其它等過完年再說吧~
臨時想要做個 RAM Disk, 就去翻以前寫的文章, 發現以前的 Blog 寫的真的是很亂, 還是重新整理一下好了.
- 首先在/dev/shm建個tmp文件夾,然後與實際/tmp綁定
- mkdir /dev/shm/tmp
- chmod 1777 /dev/shm/tmp
- mount --bind /dev/shm/tmp /tmp
- mkdir /mnt/ramfs
- vi /etc/fstab
- none /mnt/ramfs tmpfs defaults 0 0
- mount /mnt/ramfs
- 這樣就可以用這個 ramfs 來放一些有的沒有的, 可 man mount, man fstab
- mount -t tmpfs -o size=200m none /mnt/tmpfs
- 200m 是 200Mb 的意思, 詳情請看 man mount 裡的 tmpfs
- 設定 /etc/default/tmpfs default shm 大小(系統會自動用此值去當硬碟)
- 設定 /etc/fstab: tmpfs /tmp tmpfs size=100m,mode=1777 0 0 設讓 RAM 掛 100Mb 在 /tmp
- 直接設定 vim /etc/fstab 寫入下面那行
- tmpfs /tmp tmpfs size=100m,mode=1777 0 0
- # 設讓 RAM 掛 100Mb 在 /tmp
- 註:2022年 Ubuntu 預設這種設定會 mount 在 root 下,可以增加 UID來解決視窗都會跳出警告訊息的狀況
- tmpfs /tmp tmpfs size=100m,mode=1777,uid=1000 0 0
參考文件:
Crontab 在執行時, 只要營幕有任何標準輸出, 就會轉成信件寄出通知,初期要 Debug用時還不錯, 但是久了後就很煩, 就想把他丟到 /dev/null 或 改寄到其它地方去, 但是 /dev/null 丟了好多次都沒有用, 才發現到原來是少了 2>&1, 完整命令如下:
於設定時將標準輸出導到 /dev/null
0 * * * * script_name > /dev/null 2>&1
將信件改寄到其它地方, MATILTO="", (不過 "" 的話, 我不知道會寄到哪邊去)
於 Script 最前面加上 MAILTO=""
需求管理是專案能夠順利完成的基礎, 但是對於需求該怎麼管理, 該怎麼正確的評估時間, 若需求修改時, 該怎麼去看該延長多少時間呢?
這篇不錯的文章在講這個, 其中也引用到一些 CMMI 的說明, 蠻值得一看 - 需求怎麼管理?