跳到主要內容

發表文章

目前顯示的是有「程式語言相關」標籤的文章

解決無法在Windows 使用 composer / git 下載與安裝的問題

出現了幾個詭異的問題.  首先是從github clone 或者從composer 下載檔案時 : Permission denied (publickey) 解決辦法如下: 1.  ssh-keygen -t rsa -b 4096 -C "github email account" 2.  cd c:\users\你的WINDOWS_USER\.ssh 3.  clip < id_rsa.pub 登入到github 1.  到 Account -> Settings -> New SSH Key 2.  建立一個SSH key 3.  將之前複製的id_rsa.pub 內容貼上, 然後Save 4.  確認是否通過認證:  ssh -T git@github.com 然後是第二個問題, composer 無法下載檔案, 現實的錯誤如下: SSL certificate problem: self signed certificate in certificate chain 解決的辦法如下: 1. git config --global http.sslVerify false 2. 或者自己將這段放進 composer.bat 檔裡以避免偶爾會失效, 每次執行 php composer.phar 之前設定  git config --global http.sslVerify false 但是這辦法太麻煩了. 3. 直接在 .gitconfig 裡設定: 尋找 .gitconfig 在哪, 可以使用這個指令:   git config --list --show-origin 之後直接將 以下這段貼進 config 或者   .gitconfig (通常在 c:\users\你的WINDOWS_USER_NAME 裡.  有多少個config 就全部加入) 就行了: [http] sslVerify = false 4. 因為我有使用WinNMP, 因此每次切換不同的PHP 時, WinNM...

PHP 7.1.5 require() vs include() vs spl_autoload() vs require_once() vs include_once() benchmark

做了數次的測試, include 相對穩定與快速一些.  很多時候 require 與 include 不相上下 spl_autoload 則令人失望, 速度非常不穩定而且比require(), include() 慢.  如果要使用spl_autoload, 建議在裡面搭配 require() / include() 比較好. spl_autoload 的唯一好處就是自動載入需要的檔案, 不需要再在include/require, 避免在不同的class / php 裡因為需要而要重新include/require, 從而減少浪費與增加載入速度.  不過, 若是在相同的條件下, include / require 全部一樣的檔案, spl_autoload 則失去優勢了.  如以下的測試. 另外, 有開啟opcache 確實會比較快, 建議還是打開的好, 畢竟opcache 是將之前compile好的php 放在memory, 下一次再用時就不需要再compile, 從而達到快速載入的時間 With opcache enabled (Require 1 files) Execution Time: 0.012760877609253 seconds. (Require 3 files) Execution Time: 0.0004780292511 seconds. (Require 5 files) Execution Time: 0.00022292137145996 seconds. (Require 50000 files) Execution Time: 7.2010669708252 seconds. (Require 50000 files) Execution Time: 1.4862420558929 seconds. (Require 100000 files) Execution Time: 8.5520980358124 seconds. (Require 100000 files) Execution Time: 2.9480040073395 seconds. (Include 1 files) Execution Time: 7.6055526733398E...

解決mySQL 5.7 SELECT list is not in GROUP BY clause and contains nonaggregated column which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by 問題

vi /etc/my.cnf 增加 [mysqld] sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 儲存然後restart mysql 或者: mysql - u root - p mysql > SET GLOBAL sql_mode =( SELECT REPLACE (@@ sql_mode , 'ONLY_FULL_GROUP_BY' , '' )); 查了其他的資料, 原因如下: You need to specify all of the columns that you're not using for an aggregation function in your GROUP BY clause like this: select libelle , credit_initial , disponible_v , sum ( montant ) as montant FROM fiche , annee , type where type . id_type = annee . id_type and annee . id_annee = fiche . id_annee and annee = year ( current_timestamp ) GROUP BY libelle , credit_initial , disponible_v order by libelle asc The full_group_by mode basically makes you write more idiomatic SQL. You can turn off this setting if you'd like. There are different ways to do this that are outlined in the MySQL Documentation . Here's...

解決jQuery UI 的Select Menu 無法在IE 正常運作的方法

    我曾面對過一個問題, 那就是jQUERY UI 的SelectMenu 無法在IE 正常運作, ICON/圖片 會與文字重疊/覆蓋, 也就是說, ICON/圖片 跑位了.  我花了點時間嘗試解決, 解決方法如下: 打開 ui.selectmenu.css 尋找這一段 .ui-selectmenu-menu li .ui-icon, .ui-selectmenu-status .ui-icon { position: absolute; top: 1em; margin-top: -8px; left: 0; } 換成以下這段: .ui-selectmenu-menu li .ui-icon, .ui-selectmenu-status .ui-icon {     position: absolute;     top: 1em;     margin-top: -8px;     left: 0;     *left: -30;     *top: 0.6em;     *width: 30px; } 收工

簡單易懂的現代魔法 - 生成魔法

    我很認真地看了這本小說與動畫之後, 電腦程式員/軟體工程師應該是最有潛能成為魔法使... 因此我也嘗試了下, 看看會不會產生魔法... 於是, 我試著修改小說裡的魔法咒語並且反譯成原始碼.... /* *******魔法咒語****** 若汝刻劃時間, 吾將追溯時間 若汝逆時而行, 吾將刻劃時間 循環 循環, 直到無常之數完全消逝 吾不斷輪轉, 若為鐘 化為真人美女吧! 吾之程序代碼 */ #魔法咒語的原始程序代碼 class Magic {   Function __construct() {     global $Write_Time;     $Trace_Time = 0;     If($Write_Time) {//若汝刻劃時間       While($this->SELF_Trace_Time($Trace_Time)==False) {//吾將追溯時間.         If($Trace_Time == REVERSE) {//若汝逆時而行, 吾將刻劃時間           TIME::SET(NOW());         }         //循環 循環         $this->Clear_Buffer(); //直到無常之數完全消逝       }       $this->Activate_Clock();//吾不斷輪轉, 若為鐘       $t...

為UITableViewCell增加背景圖片

雖然不是很了不起的知識, 但也是我找了許久終於找到的答案.  要使UITableViewCell的背景換成自己喜歡的, 很簡單...   - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {         static NSString *CellIdentifier = @"Cell";              UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];         if (cell == nil) {             cell.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background.png"]];// 套用自己的圖片做為背景             CGRect CellFrame = CGRectMake(0, 0, 300, 60);         CGRect Label1Frame = CGRectMake(10, 5, 288, 38);    UILabel *lblTemp;    UITableViewCell *cell = [[[UITableViewCell alloc] initWithFrame:CellFrame reuseIdentifier:cellIdentifier] autorelease];    lblTemp = [[UILabe...

我的iPhone應用程式的開發體驗

    在開始開發iPhone的應用程式之前, 其實我完全沒碰過iPhone, MAC OS 以及 iPhone 應用程式的開發語言.  我是以一個類似盲人摸象的方式開始玩MAC OS 以及開發語言.    會接觸iPhone開發語言也是逼不得已的一件事.    這可要追溯到1個多星期以前, 我忽然接到經理的通知, 要我出發到首都的分公司進行iPhone應用程式開發兩個星期.  說實在, 我委實嚇著了.  公司竟然要一個從來沒有接觸過MAC OS 以及iPhone的人在兩個星期內完成應用程式/軟體的開發, 這是什麼國際笑話?    好吧, 竟然總裁叫到, 也不得不硬著頭皮去找iPhone開發語言的相關資訊.  好不容易讓我找著了, 可當我看著相關書籍時, 實在是有點在看外星語言的感覺, 完全看不懂, 而且越看越是頭昏腦脹.    搞了一個多星期, 竟開始搞上味道了.  從最初的朦朧不懂, 到現在有點上手的感覺, 實在讓人興奮, 而且還有點欲罷不能, 很想繼續玩下去.    在這艱難的1個多星期裡, 所幸我認識了一個懂得iPhone開發語言的網友 (雖然他對我的幫助不多, 而且幾乎都是要自己去找答案), 但是有他的一些指引, 以及另一個也懂iPhone開發語言的網友的一些建議, 總算有點開竅了.    想要學iPhone 開發語言的條件是什麼?  葵花寶典有一言 "欲學神功, 必先自宮".  哦, 不不, 欲學神功, 必先自廢武功.  自廢武功嗎?  沒錯, 就是要自廢武功, 把自己從前學過的程式語言通通拋掉, 而且要忘了Windows的習慣.  iPhone 開發語言是獨孤九劍, 沒有恆心與毅力是完全不行的, 並且要有C/C++的基礎 (雖然說把從前學過的程式語言通通拋掉, 但是基本觀念還是要保留).    這...

該死的IE6

看到jas9 在他的部落格痛罵IE6, 以及 6 Reasons Why IE6 Must Die ,作者舉出6個IE6該死的原因, 真是讓我有蠻多感觸: 1. Lack of PNG Transparency Support 2. CSS Float + Margin / Padding Issues 3. Lack of CSS Pseudo-Class & Pseudo-Element Support 4. No Min-Height CSS Support 5. CSS Anchor Background Image Flicker 6. Crashing With Code 沒錯, 近來我確實被IE 給折騰得夠慘了, 特別是IE6。  每次的設計, 必須針對IE6另外量身訂造 CSS, 真的是有夠嗆的了。  IE 6 喜歡作弊, 而且喜歡走自己的風格, 向來與其他瀏覽器格格不入, 可以說是眾多瀏覽器裏最別具一格的一套軟體。 每次在狐仙大人(Firefox) 弄好界面之後, 還要在IE7 測試。  當IE7 調整完之後, 接下來就是IE6。  每次用IE 6 一開, 只有一句可以表達我的心情.... "哇咧~" 然後, 我要花費比狐仙大人(Firefox)以及IE 7更多, 甚至數倍的時間以及精力來做調整。  因為IE6 具有產生各種怪問題的能力, 可說是問題層出不窮, 讓設計師抓破了頭腦, 幾近抓狂。 我真的衷心盼望IE 6死絕, 不要再讓全世界的設計師吐血了.... 偏偏還有很多人都喜歡用IE6...                                     

CI PHPMYDATAGRID

看到phpMyDataGrid, 覺得好玩, 就把它整合進CI裡。 只要在 phpmydatagrid.class.php 加入以下這段就行了。 PHP5 === Function __construct(){    $CI =& get_instance();    $this->connectionHandler = $CI->db->conn_id; } PHP4 === Function datagrid(){    $CI =& get_instance();    $this->connectionHandler = $CI->db->conn_id; }

用VB 實現WordWrap的功能

因為負責的項目的某項需求, 因此寫了一個陽春的WordWrap函式. 這函式依照使用者的需求 (一行多少個字) 然後自動將文字裁減, 可說是Mid() 的進階函式. 比如, 我有一組文字, "This is testing only", 我想要一行顯示17個字元, 然而17個字 = This is testing o, 這很難看, 因此使用這函式將自動拿掉不合理的組合, 變成 "This is testing" -- line 1. 這函式是return Array 的方式, 因此如此使用的話... Dim a as integer, i as integer Dim b as Variant b = WordWrap("This is testing only",17) a = ubound(b) For i=0 to a     Msgbox b(i) Next i 顯示結果: This is testing only 這函式還不夠完善, 因為return 出來的Array數是所要顯示的一行的字數.  懶得修改, 因此只把雛型放出來.