Skip to content

Zeroplex 生活隨筆

軟體開發、伺服器和生活瑣事

小 縮小字型大小。 中 重設字型大小。 大 放大字型大小。

Javascript 斷行造成 parse 錯誤

Posted on 2013 年 12 月 31 日2021 年 3 月 12 日 By 日落 在〈Javascript 斷行造成 parse 錯誤〉中尚無留言

當宣告一個有換成的字串,部份程式語言允許可以在引號中直接加入換行:

var foo = "space 
inside"

但上面語句在 javascript 執行會產生 syntax error。

在 javascript 中,語句結束不一定要加上分號,直譯器會判斷在適當的位置加上「;」。所以上述的程式會被 javascript 解讀成:

var foo = { prop: "some;
thing"};

其他:
[JavaScript] 自動補上分號的機制造成非預期的回傳值
http://wbkuo.pixnet.net/blog/post/162042779

Tags:JavaScript

GNU screen 交換 window 順序

Posted on 2013 年 12 月 19 日2021 年 3 月 12 日 By 日落 在〈GNU screen 交換 window 順序〉中尚無留言

若要交換 window 1 和 window 5 的順序,先 focus 到 window 1,再進入指令模式:

C-a :number 5

windows 1 和 windows 5 的順序便會對調。

Tags:Linux, 資訊學習

Chrome 透過 console.dir() 取得 javascript 物件屬性

Posted on 2013 年 12 月 16 日2021 年 3 月 12 日 By 日落 在〈Chrome 透過 console.dir() 取得 javascript 物件屬性〉中尚無留言
Chrome 透過 console.dir() 取得 javascript 物件屬性

若不曉得物件中有哪一些屬性、方法可以使用,可以透過 console.dir() 將其列出。

var foo = ['1', '2', 3];
console.dir(foo);

Chrome 會屬性、方法印出:

若不曉得傳入物件的詳細定義,這招很方便。但只有在 Chrome 上印出的資訊會這麼詳細,Firefox 和 nodejs console 上,印出來的就和 console.log() 差不多。

感謝 Eason 指點。

Tags:JavaScript

網址特殊字元轉換

Posted on 2013 年 12 月 11 日2021 年 3 月 12 日 By 日落 在〈網址特殊字元轉換〉中尚無留言

最近發現有釣魚連結將全形句號當作半形句號使用,但貼到瀏覽器網址列後,瀏覽器卻會自動轉成正常的網址格式。

如使用全形符號:

http://blog.zeroplex。tw

貼到瀏覽器以後會被自動轉換為:

http://blog.zeroplex.tw

這個方法可以繞過一些論壇、網站的檢查工具,雖然不會被系統加上 <a>,但若有人手動複製連結到瀏覽器上,還是被釣魚。

實在不解為什麼瀏覽器要這麼自作聰明,於是下載了 Firefox source code 來看。

在 grep “。” 找到的資料多與網址轉換無關,但可以發現一些符號對應表,其中程式多半以「x3002」表示,且註記都會加上「full stop」。改 grep 3002 | grep \.c,可以發現 netwerk/dns/nsIDNService.cpp 是與 DNS 有關,且同時提到 U+3002、「full stop」,打開來看 line 642:

// RFC 3490
// 1) Whenever dots are used as label separators, the following characters
//    MUST be recognized as dots: U+002E (full stop), U+3002 (ideographic full
//    stop), U+FF0E (fullwidth full stop), U+FF61 (halfwidth ideographic full
//    stop).

意思是當遇到以下符號時,直接視為英文的句點「.」,也就是網址打全形符號自動轉換已在 RFC 3490 規定。

  • U+002E:「.」
  • U+3002:「。」
  • U+FF0E:「.」
  • U+FF61:「。」

以後要判斷網址是否正確時,還是把這段規則一起加進去吧。

Ref:
RFC 3490
http://www.ietf.org/rfc/rfc3490.txt

Tags:資訊學習

Setting Composer Autoload on FuelPHP

Posted on 2013 年 12 月 8 日2021 年 3 月 12 日 By 日落 在〈Setting Composer Autoload on FuelPHP〉中尚無留言

FuelPHP 升上 1.6 開始支援 PHP Composer。原以為按照文件上的步驟操作,執行時就會自動載入 composer 安裝的類別檔,但事實上還需要另外作設定。

/fuel/app/bootstrap.php 中,在「Autoloader::register()」後方引入 composer autoload:

require VENDORPATH.'autoload.php';

在 FuelPHP 中使用 Sentry,則加入 composer.json:

"require": {
   "cartalyst/sentry": "2.0.*",
   "illuminate/database": "4.0.*",
   "ircmaxell/password-compat": "1.0.*"
}

若 composer autoload.php 已設定好,則可以呼叫 Sentry 來使用:

CartalystSentryFacadesFuelPHPSentry

由於路徑太常,可以使用 class_alias() 指定別名:

class_alias('CartalystSentryFacadesFuelPHPSentry', 'Sentry');

Ref:

FuelPHP and Composer
http://fuelphp.com/blogs/2013/01/fuelphp-and-composer

FuelPHPでSentryを使おう
http://blog.fagai.net/2013/03/11/fuelphp_sentry/

Tags:FuelPHP

文章分頁

上一頁 1 ... 112 113 114 ... 318 下一頁

其他

關於我  (About me)

  文章 RSS Feed

  留言 RSS Feed

Apache AWS Bash C/C++ Docker FreeBSD GCP Git Google Java JavaScript Laravel Linux Microsoft MSSQL MySQL Nginx PHP PHPUnit PostgreSQL Python Qt Ubuntu Unix Vim Web Windows WordPress XD 作業系統 分享 好站推薦 專題 攝影 新奇搞笑 新聞 旅遊 生活雜記 程式設計 網路架站 網頁設計 資訊學習 資訊安全 遊戲 音樂


創用 CC 授權條款
本著作係採用創用 CC 姓名標示-相同方式分享 4.0 國際 授權條款授權.