详情

全站展示位

Linode VPS 全面升級 Double RAM & SSD小惡魔AppleBOY

Linode 又來了驚人的舉動,現在開始支援 SSD 以及小時計費服務,可以參考官網最新發表的 The New Linode Cloud: SSDs, Double RAM & much more,內容講到硬碟現在全面升級為 SSD,而且是 native SSD servers。網路頻寬部份每個 Linode Host 都連接 40 Gbps 的頻寬,對外總頻寬為 160 Gbps,對內頻寬為 40 Gbps,當然根據個人買得 VPS 而有不同的對外頻寬。記憶體則是全面 Double 升級,原本最低的 1G 記憶體,現在都改為 2G 了,每個月才 20 美金,看起來又是被 DigitalOcean 刺激到,最小的 Linode 流量也改為 3 TB。來看看現在新的方案。。。

推荐

MySQL 預設儲存引擎: InnoDB 介紹小惡魔AppleBOY

MySQL 是一套眾所皆知的 Database System,今天來簡介 InnoDB 儲存引擎,在 MySQL 5.5.5 之前預設的儲存引擎是 MyISAM,但是為什麼在 5.5 之後官方要將預設儲存引擎換成 InnoDB 呢?大家都知道 InnoDB 用來交易管理非常方便,因為 InnoDB 透過 row lock,相對於 MyISAM 透過 table lock 來的有效率,也避免大量寫入的時候,造成無法讀取資料,這就是 row lock 的優勢,當然用 InnoDB 最主要的原因還有 Full-text search indexes 功能,但是別擔心 MySQL 5.6.4 之後(含此版本) InnoDB 開始支援 Full-text search 功能,另外在使用 MyISAM 時候,如果資料突然出問題,還必須使用 MySQL Binary Log 來恢復資料,如果用 InnoDB 這就沒關係了。大家還在用 MyISAM 嘛?開始升級伺服器,一起體驗 InnoDB 的功能,如果已經上線很久的網站,作者不建議轉換,因為可能會遇到很多雷。

Go 語言內 struct methods 該使用 pointer 或 value 傳值?小惡魔AppleBOY

上週末在台北講『Go 語言基礎課程』,其中一段介紹 Struct 的使用,發現有幾個學員對於在 Method 內要放 Pointer 或 Value 感到困惑,而我自己平時在寫 Go 語言也沒有注意到這點。好在強者學員 Dboy Liao 找到一篇說明:『Don’t Get Bitten by Pointer vs Non-Pointer Method Receivers in Golang』,在 Go 語言如何區分 func (s *MyStruct) 及 func (s MyStruct),底下我們先來看看簡單的 Struct 例子 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 package main import "fmt" type Cart struct { Name string Price int } func (c Cart) GetPrice() { fmt.Println(c.Price) } func main() { c := &Cart{"bage", 100} c.GetPrice() }

Youtube IFrame API Unable to post message Issue小惡魔AppleBOY

YouTube IFrame Player API 提供了簡單的介面及方法,讓網站可以快速整合 Youtube 影片,但是不得不說 Google 針對 Youtube API 時常改版,所以就會常常碰道友時候可以動,有時後不可以動。Youtube 在 2011 公告開始支援 時,都會使用底下寫法

Coding on workspace of Chrome Developer tools小惡魔AppleBOY

相信網頁設計師並不陌生 Chrome DevTools,善用 DevTools 可以減少很多 Debug 時間,今天來介紹如何在 Chrome 瀏覽器上直接編輯程式,並且存檔,重新整理網頁後便可看到結果。聽到這裡大家一定會很好奇,不就開系統編輯器 (sublime, pspad, vim …) 工具,直接修改 => 存檔 => 重新整理嘛?但是這並不稀奇阿,重點是 Chrome 瀏覽器可以直接支援 線上編輯檔案,而不是透過系統工具做編輯。這就是 Chrome 強大的地方,今天就來介紹 Chrome workspace。

心灵鸡汤

006、《老人与乌龟》

有个老人到了90岁还觉得没活够,于是去山神庙求山神,山神问:“你只是祈求长寿吗?”他说:“是的。”山神说:“那么你就放心地回去吧。”老人往回走的时候,身子逐渐缩小,变成了一只乌龟,这个龟慢腾腾往回爬行的时候碰见石缝里的另一只龟,那只龟对他说:“我原先也是一个祈求长寿的人,山神把我变成乌龟后度过了漫长的三百年,除了僵硬的躯壳和微弱的呼吸外,一点生活乐趣都没有,想死也死不了,看来痛痛快快做人过三天也比没有意义的三百年强啊。”

列表展示

主站展示位

生成式 AI CodeGPT 開發經驗談台北 ModernWeb小惡魔AppleBOY

很高興可以到台北 ModerWeb 分享『生成式 AI CodeGPT 開發經驗談』,沒想到這主題這麼多人有興趣,第一次遇到滿場的現象。這場主要講授在今年 3 月由我自己開源的 CodeGPT 工具,身為軟體工程師,每天都一定會寫 Commit Message,而此工具會針對修改的 Code Diff 進行閱讀,並給出一次性的 Commit Message,讓軟體工程師不用再煩惱該如何寫 Commit Message。大家可以看看上面的封面圖,就可以知道我每天需要花多少時間在寫有用可閱讀的 Commit。

[jQuery] 日曆時間外掛 timepicker CSS/Offset 問題 | Plugins小惡魔AppleBOY

最近把之前弄的 jQuery 日期外掛拿出來看看,筆記過兩篇:[jQuery筆記] 時間日期外掛:timepicker | jQuery Plugins 跟 [jQuery筆記] 好用的日期函式 datepicker,目前在寫活動的開始時間跟結束時間會用到這兩個外掛,網路上有找到整合日期跟時間的程式,不過效果都不是我很喜歡,因為在時間方面想要設定可以分隔5分鐘,或者是10分鐘間隔,有沒有網友可以提供更好的 jQuery 外掛,可以將日曆跟時間整合在一起,用單一 input 欄位就可以控制,也可以設定間隔時間,目前是搭配這兩個外掛同時使用,也可以達到同樣效果。 timepicker 作者網站,愈到了一個問題,只要網頁裡面有用到 jQuery Show 跟 hide 都會讓 timepicker 程式判斷 CSS/offset 發生錯誤,導致功能無法顯示在正確的地方,會跑到網頁其他位置,解決方法就是當滑鼠 click input 欄位時,再去呼叫取得目前 offset 的位置。 var elmOffset = $(elm).offset(); $tpDiv.appendTo('body').css({'top':elmOffset.top + 'px', 'left':elmOffset.left+ 'px'}).hide(); 這樣就可以正確顯示在 input 下方,連這個都可以遇到地雷 XD

CodeIgniter 3.0 Release 終於釋出啦小惡魔AppleBOY

從 2.2.x 版本到現在的 3.0 Release,終於等到釋出大家所期待的 3.0,此版本跟 2.2.x 版本差距極大,修正很多 bugs 重構很多程式碼,官網列出底下重大修正,要嘗鮮的請直接下載吧 CodeIgniter 使用 MIT 版權宣告 重構各種 Database Driver library 支援 PDO 所有函數 重新撰寫 Session Library,支援 Native Session 重新撰寫 Encryption library 已加強單元測試部分,以及改善程式碼覆蓋率 官方建議使用 PHP 5.4 或更新版本,但是官方仍繼續支援 PHP 5.2.4 詳細資料,可以參考官方的 ChangeLog,如果要升級 CodeIgniter 2 到 3,請詳細參考升級文件。 PS:台灣官網部分近期內會修正

[PHP] 如何更正系統時間 timezone_set小惡魔AppleBOY

相信很多虛擬主機都會碰到時間的問題,比如說少 8 小時,或者是多 8 小時,現在只要在執行 php 的前端加上 date_default_timezone_set("Asia/Taipei"); 這樣就會更新到正確時間了,這樣在使用 mktime() 就沒啥問題了 或者去系統改 php.ini 檔案 ;Defines the default timezone used by the date functions date.timezone = Asia/Taipei Linux 系統校正時間,可以執行底下 Script: # check if link file [ -L /etc/localtime ] && unlink /etc/localtime # update time zone ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime aptitude -y install ntpdate ntpdate time.stdtime.gov.tw # write time to clock. hwclock -w

SSH SCP 速度小惡魔AppleBOY

好快阿 這是我用過最快的了~ snapshot2 Hosted on Zooomr 哈哈,雖然說在同一個hub底下 這算是蠻正常的 哈哈~ 11.1MB的速度在跑 不是蓋的

AWS 機器上 duplicated RPM 問題小惡魔AppleBOY

昨天幫忙升級全部 AWS RPM 套件,升級過程本來很順利,不過不知道哪一個 RPM 造成 SSH 全面斷線,接著我直接到 AWS Management Console 把機器 restart,登入系統之後下 yum update,直接給我噴出底下錯誤訊息 ---> Package zlib.i686 0:1.2.3-24.7.amzn1 will be updated ---> Package zlib.i686 0:1.2.3-25.8.amzn1 will be an update --> Finished Dependency Resolution You could try using --skip-broken to work around the problem ** Found 155 pre-existing rpmdb problem(s), 'yum check' output follows: audit-libs-2.1-5.15.amzn1.x86_64 is a duplicate with audit-libs-2.0.4-1.14.amzn1.x86_64 authconfig-6.1.12-5.14.amzn1.x86_64 is a duplicate with authconfig-6.1.4-6.13.amzn1.x86_64 basesystem-10.0-4.9.amzn1.noarch is a duplicate with basesystem-10.0-4.8.amzn1.noarch bash-4.1.2-8.14.amzn1.x86_64 is a duplicate with bash-4.1.2-3.13.amzn1.x86_64 binutils-2.20.51.0.2-5.20.17.amzn1.x86_64 is a duplicate with binutils-2.20.51.0.2-5.12.15.amzn1.x86_64 cloud-init-0.5.15-16.amzn1.noarch is a duplicate with cloud-init-0.5.15-8.amzn1.noarch coreutils-8.4-13.13.amzn1.x86_64 is a duplicate with coreutils-8.4-9.12.amzn1.x86_64 coreutils-libs-8.4-13.13.amzn1.x86_64 is a duplicate with coreutils-libs-8.4-9.12.amzn1.x86_64 cpp-4.4.5-6.35.amzn1.x86_64 is a duplicate with cpp-4.4.4-13.33.amzn1.x86_64

[Ubuntu & java] java JDBC and MySQL小惡魔AppleBOY

最近開始要摸 java 了,目前大概先實做 java with JDBC 連接 MySQL,所以在 JavaWorld@TW 這裡找了一些相關的文件,目前我在 Linux 底下實做,還沒找到一套很適合的 IDE Tool 來撰寫程式碼,大家好像都很推 netbeans 跟 eclipse,不過我目前還是使用 PSPad 來撰寫 java 程式碼,然後透過 FTP 的方式編輯,這不是重點,重點是要透過 jdbc 來連接 MySQL,目前是在 Ubuntu 7.04 這一版本上面實做,底下是實做方法: 1. 首先先安裝 deb 檔案:透過 apt-get 的方式 # # 首先尋找 java lib with mysql apt-get install libmysql-java 2. 安裝好之後尋找 jar 檔案,加入到 class path 裡面 # # 首先 echo $CLASSPAT # # java mysql jar 檔案如下 /usr/share/java/mysql.jar # 加入 CLASSPATH,修改 /etc/bash.bashrc export CLASSPATH=$CLASSPATH:/usr/share/java/mysql.jar # 然後在 source /etc/bash.bashrc

Upgrading to CodeIgniter 2.0 (升級 CI 到 2.0 版本)小惡魔AppleBOY

2011.02.09 Update: 由於官方推出 2.0.0 的升級方式,請參考升級版本 1.7.3 到 2.0.0 在國外文章看到 Phil Sturgeon 已在今年三月發佈了一篇如何將目前 CodeIgniter 版本升級到 2.0 開發版本,轉移的經驗會在底下做介紹,PyroCMS 是該作者產品之一,也升級到 2.0 了,大家可以參考看看。

Laravel Homestead 2.1.5 版本將不再刪除舊有資料庫小惡魔AppleBOY

Laravel Homestead 提供一套虛擬機器,讓開發者可以快速將 Laravel 環境架設起來。在 2.1.5 版本以前,要新增新的 Site 都會透過修改 yaml 設定檔後,直接下 homestead provision 來重新啟動 VM,問題就來了,此指令會將現有的 Database 全部刪除,重先建立一次,這樣開發者就要重新跑 DB Migration 才有資料。此問題作者聽到了,所以在 2.1.5 版本作者拿掉 Drop Database 指令,而是透過 CREATE DATABASE IF NOT EXISTS 來取代原有指令 (下面程式碼),這樣開發者就不用擔心資料會被刪除。當然作者也很貼心,如果開發者想要清除整個資料庫,一樣可以透過指令 homestead destroy 來將整個 VM 刪除即可。 // 取代原有 mysql -uhomestead -psecret -e "DROP DATABASE IF EXISTS \`$DB\`"; mysql -uhomestead -psecret -e "CREATE DATABASE IF NOT EXISTS \`$DB\` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci"; 詳細的資訊可以參考 official documentation,或參考最近修改的 commit 內容。

[轉貼]程式設計師的格言小惡魔AppleBOY

轉貼自:程式設計師的格言 我覺得有些話真的還蠻中肯的。 程式設計師的格言(盜作不少) 譯自 囉。

在 Ubuntu 底下快速安裝 CakePHP Framework 環境小惡魔AppleBOY

最近因為別的專案用到 CakePHP 這套 PHP Framwork,剛好有這機會來學習 CakePHP,目前已經 Release 到 1.3.8 & 1.2.10 Stable,本篇紀錄如何在 Ubuntu 10.10 安裝 1.3.8 版本,本人不推薦用 2.0, 因為踩到很多雷阿,大家可以到 CakePHP GitHub 找尋自己想要的版本,安裝環境如下: Ubunut 10.10 32 Desktop 版本 Apache/2.2.16 (Ubuntu) PHP 5.3.3-1ubuntu9.5 with Suhosin-Patch (cli) MySQL 5.1.49 1. 先下載 1.3.8 版本 2. 解壓縮到 /var/www 底下 3. 設定 apache virtual host 複製 virtual host 設定檔 cp /etc/apache2/sites-available/default /etc/apache2/sites-available/cakephp 修改設定檔 ServerName cakephp.localhost DocumentRoot /var/www/cakephp/app/webroot Options All AllowOverride All Order allow,deny allow from all 4.

用 Terraform 初始化 GCP 環境小惡魔AppleBOY

我們將使用 Terraform 來初始化 GCP 環境。從建立 Service Account 到 GCS 並且將 Terraform State 儲存做版本控制,這篇文章將會一步一步帶領您完成。

[Windows] Appserv 安裝 pear 套件小惡魔AppleBOY

最近要在 Windows 上面安裝 Apache + MySQL + PHP,我選擇利用懶人包安裝方法:Appserv,目前版本為 AppServ 2.5.10 跟 AppServ 2.6.0,如果您要寫 PHP5 的話,就選擇安裝 AppServ 2.5.10,目前支援到 PHP 5.2.6,不過我上次已經看到 PHP 5.2.9 Released 了,如果想要支援 PHP6,那就選擇 AppServ 2.6.0 這個版本,不過我建議新手可以安裝 AppServ 2.5.10,這個版本比較穩定,安裝好之後,也有支援 phpMyAdmin,底下是 2.5.10 支援的套件: * Apache 2.2.8 * PHP 5.2.6 * MySQL 5.0.51b * phpMyAdmin-2.10.3 今天要安裝 pear 的套件在 Windows 上面,不過不用緊張,因為 Appserv 已經把 Pear 的模組包進來裡面了,只要執行 .bat 檔,按照視窗,就可以完成安裝了,自己平常有用 Pear 的 的安裝方法:

Go 語言用 pprof 找出程式碼效能瓶頸小惡魔AppleBOY

Go 語言除了內建強大的測試工具 (go test) 之外,也提供了效能評估的工具 (go tool pprof),整個生態鏈非常完整,這也是我推薦大家使用 Go 語言的最大原因,這篇會介紹如何使用 pprof 來找出效能瓶頸的地方。假設開發者在寫任何邏輯功能時,發現跑出來的速度不是想像的這麼快,或者是在串接服務流程時,整個回覆時間特別久,這時候可以透過 benchmark 先找出原因。 1 go test -bench=. -benchtime=3s ./lexer/

HAProxy 搭配 CodeIgniter 取使用者真實 IP小惡魔AppleBOY

前端 Load Balance 首選就是 HAProxy,後端架設 Nginx 搭配 CodeIgniter,紀錄使用者 IP 時,Nginx 總是只有抓到內部 IP 192.168.x.x,而無法抓到真實 Public IP,要抓到 Public IP 必須修改 HAProxy + Nginx 設定檔,HAProxy 只要在 Backend 地方加入 forward 選項,這樣 HAProxy 會送 X-Forwarded-For header 給後端 Nginx。 option forwardfor

今天考試兩科必修無線區域網路,TCP/IP小惡魔AppleBOY

今天真是很忙得一天,不過我自己認為是還好,早上一起床9點,我就要趕去meeting了,早上是大group meeting,所以蠻早起床的,加上今天要考兩科期中考,整個就是大爆炸,所以最近晚上都在實驗室,哈哈,早上好險計畫的教授沒來,所以我們meeting的時候沒有被電,不然就慘了,下午有一科是老闆的無線區域網路課程要考試,雖然是 open book 可是我好像沒有看,因為早上要meeting要準備阿,哈哈,下午一點考一科TCP/IP,因為幾乎都是考考古題,所以我寫10分鐘就交卷了,助教一整個傻眼,同學都嚇到了,回去lab,大家都說你考完試了喔,囧,我說對阿,大家被我驚奇的交卷速度嚇到,不過也還好吧,都是考考古題,會寫都寫好了,不會寫就空白了,再來呢,考我們老闆的科目,我一整個不會寫,然後我幾乎教空白卷吧,哈哈我看我又要拼期末project了。 有時後,我自己在想,我真的適合念研究所嗎?這裡的課程值得我學習嗎?我到底是為了什麼讀研究所?我成績這麼差,可以畢業嗎?在這門客裡面,雖然我成績很差,可是我覺得我學習到很多實做的東西,我理論真的很差,差到不行,隨便一個人都可以贏我,我寫考卷不是0就是1,也就是,答案只有會寫,跟不會寫,沒有在亂掰的,哈哈。

[Pear] 利用 Validate 套件驗證 E-mail 多重表單認證小惡魔AppleBOY

最近都在玩 open source 的程式,方便加速自己開發 PHP 的專案,在申請帳號密碼部份就可以利用 Validate 套件來驗證,以及 email 填寫正確性,可以檢查 MX 或者是 A record 紀錄,還蠻方便的,也可以檢查 multiple 欄位,設計的相當不錯,也有金融相關套件可以驗證 CreditCard,金融套件名稱是 Validate_Finance 裡面的 Validate_Finance_CreditCard 部份,線上也有很多相關說明,可以參考 Validate 線上手冊,目前已經到 0.8.2 (beta),如果使用 Release 版本,請選用 0.8.1,軟體可以在此下載,0.8.2 是在 2009-01-31 Release 出來的,還不錯用,最主要的功能如下 Package to validate various datas. It includes : - numbers (min/max, decimal or not) - email (syntax, domain check, rfc822) - string (predifined type alpha upper and/or lowercase, numeric,…) - date (min, max, rfc822 compliant) - uri (RFC2396) - possibility valid multiple data with a single method call (::multiple) 驗證各種不同的日期函式 驗證數字(最小/最大,是否是10進位) email 驗證(正規語法驗證,check domain name 是否存在,rfc822 驗證) 字串驗證(正規語法驗證,是否包含數字英文字母,可輸入最長或最短) url 驗證(遵從 RFC2396 規定) 多重欄位(multiple data)驗證(可以同時驗證上述功能)

[FreeBSD]快速利用 cvsup-mirror 架設 CVSup Server (mirror site)小惡魔AppleBOY

今天看到一篇:[教學]用 cvsup-mirror 架設 CVSup Server (mirror site),自己就來架設一下,其實還蠻容易的,因為 FreeBSD Ports 都已經包好,所以安裝起來也不困難,利用 cvsup-mirror 這個軟體就可以架設完成了,那如何在台灣找尋一台最佳連線速度的 mirror 伺服器呢,利用 fastest_cvsup 這個 ports 軟體,就可以了,當 FreeBSD 剛安裝完成,就是要先設定 cvsup mirror 的站台,我自己都是用 cvsup.tw.freebsd.org,這伺服器是交大資工架設,domain 同 freebsd.csie.nctu.edu.tw,我們利用 fastest_cvsup 可以另外找尋更好的伺服器。 # # ports 安裝 # cd /usr/ports/sysutils/fastest_cvsup make install clean 說明如何使用指令: # # 找尋台灣區最佳的伺服器 # fastest_cvsup -c tw # # 找尋最上層 cvsup 伺服器,如 cvsup.freebsd.org # fastest_cvsup -c tld

Plurk API 2.0 beta 出來了 (OAuth Core 1.0a)小惡魔AppleBOY

之前 Plurk 剛推出 API 讓大家可以使用,當時蠻多使用者相繼推出各式語言的支援,像是 php-plurk-api: PHP implementation,而我也將此程式改寫到 CodeIgniter-Plurk-API,然而現在官方又推出了 Plurk API 2.0 beta,不同的是 2.0 用了 OAuth 保護個人隱私,它提供了標準讓開發者可以利用 OAuth 實做任何 application,噗浪官網也希望各位開發者可以儘快將 API 轉成 2.0,當然也是要額外註冊 Plurk App。 底下幾點是 API 2.0 跟原來 API 的差異處: Plurk API 2.0 不需要登入作認證,然而原來的 API 是基於 session base 做開發 網址改變,用 ,就可以開始使用了 ^^

將 Postgres 資料轉換到 CSV 格式小惡魔AppleBOY

時常用到 Postgres 轉換資料的功能,來即時協助 PM 了解目前使用者實際狀況,底下紀錄常用的指令。首先安裝 Postgres 環境,這邊其實就是用 Docker 方式來啟動一個全新的 Postgres DB。 1 2 3 4 5 6 7 8 9 10 11 12 13 db: image: postgres:12 restart: always volumes: - pg-data:/var/lib/postgresql/data logging: options: max-size: "100k" max-file: "3" environment: POSTGRES_USER: db POSTGRES_DB: db POSTGRES_PASSWORD: db 上面的 environment 參數可以自由調整,接著透過 docker-compose up -d 來啟動資料庫進行 App 串接。

博客寄语:

    博主很懒什么都没留下!

实时播报:

博客号-学习成长

相信每一分耕耘都有每一分收获,致力帮助博客主所创作的博客能更快的被收录! 如果有其它需求,可联系下方邮箱。