Profile cover photo
Profile photo
Charley Yao
15 followers
15 followers
About
Posts

Post has attachment
Jetty - Part 2/2
接續上一次的說明,我們已經讓 Embedded Jetty Server 能夠支援 http 與 https 了,接下來就是要整合既有的 WebContent,使用 web.xml ,支援 JSP, Servlet 與 Filter 等等。最後,我們再處理要支援多個 WebAppContext 的問題。 WebAppContext 先前在提供網頁服務時,很單純地只有用 Handler 實作,但一個網站並不會這麼單純,一定包含了 servlet, jsp, event listener, filter, ht...
Add a comment...

Post has attachment
Jetty - Part 1/2
隨著用了越來越久的 Apache Tomcat,Tomcat 似乎也跟隨著 JDK 的腳步,越來越龐大,這時候,不妨考慮試試看,把原本用在 Tomcat 的 webapp,改成使用 Jetty 來運作。 Jetty 目前已經是 9.2 版,除了能像 Tomcat 一樣 stand alone 運作,再將 application 放到 deployment 的 webapps 目錄中,最重要的是能像一般執行 Java Application 一樣,將 webapp server 以 Embedded 的方式啟動...
Add a comment...

Post has attachment
erlang - rebar
本文接續上一篇對 rebar 的簡介,說明有關取得相依套件, 建構 release package 以及程式不關機直接升級的問題。 Templates 如果要使用自己的 template,就把 mytemplate.template 放到 templates 目錄中,並執行以下指令 rebar create template=mytemplate rebar 提供了幾個內建的 templates Template Variables Command Alias Command simplesrv srvid ...
Add a comment...

Post has attachment
erlang - otp application release tool
OTP application 最後發布時,需要一個工具幫我們分析 application 的相關 dependency libraries,發布正確的 OTP application。 目前有看到三個 release 工具: reltool, rebar, relx,雖然 reltool 是 OTP 官方提供的封裝工具,前面的部份先簡述 reltool 與 relx, relx 是因為 survey 了 cowboy 的關係,而去了解,功能跟 rebar 類似,但提供了更高階的封裝簡化工具,這個工具是 er...
Add a comment...

Post has attachment
erlang - cowboy - file upload
因為 cowboy 在目前 git master 版本跟最新的 0.9 release 兩個版本,在實作 http multi-part request 的處理上,給了兩個不相容的處理方式,而且 cowboy 又在 1.0 開發的過程中,作者也沒有時間給出很多範例以及參考的資料,再加上網路上搜尋到的解決方案,幾乎都是舊版的 cowboy 支援的方式,因此,我們試著研究把 multi-part http request 的範例程式寫出來。 我們參考了 cowboy multipart 這一份唯一的官方文件,另外...
Add a comment...

Post has attachment
erlang - cowboy - examples (2)
cowboy source code 裡面有一個 examples 目錄,列出多個範例程式,接下來我們藉由閱讀程式碼的方式,了解如何使用 cowboy。 rest_basic_auth rest_basic_auth.app.src rest_basic_auth_sup.erl rest_basic_auth_app.erl toppage_handler.erl %% 將 protocol upgrade 到 cowboy_rest
init(_Transport, _Req, []) ->
...
Add a comment...

Post has attachment
erlang - cowboy - examples
cowboy source code 裡面有一個 examples 目錄,列出多個範例程式,接下來我們藉由閱讀程式碼的方式,了解如何使用 cowboy。 hello_world 主要寫了四支程式 hello_erlang.app.src application 設定 hello_erlang_sup.erl application 的監督者 supervisor hello_erlang_app.erl application 的 callback module,必須有 start/2 跟 stop/1 fu...
Add a comment...

Post has attachment
erlang - cowboy
cowboy 的第二篇文章,內容談到 cookie 的使用、靜態網頁、REST、Server Push、Websocket、Hooks、 Middleware。 Using cookies Setting cookies %% 預設狀況下,cookie 是定義給 session 使用
SessionID = generate_session_id(),
Req2 = cowboy_req:set_resp_cookie(<<"sessionid">>, SessionID, [], Req).

%% 可設定...
Add a comment...

Post has attachment
erlang - cowboy
Erlang Web Modules Erlang 的 http 網頁框架最常見的是 yaws 與 Mochiweb,但除了這兩個框架,還有很多 http 函式庫, Erlang的Web庫和框架 簡單比較了 erlang 所有的 web library: yaws, Mochiweb, Misultin, Cowboy, httpd, SimpleBridge, webmachine, Nitrogen, Zotonic, Chicago Boss。 這篇文章 An interview with #erlan...
Add a comment...

Post has attachment
erlang dialyzer
dialyzer 是 DIscrepancy AnalYZer for ERlang programs 的縮寫,這是靜態分析工具,可在執行前,用來偵測一些錯誤狀況,例如資料型別定義錯誤、dead or unreachable code、不必須要的測試等等。 plt: persisten lookup table 為了分析程式,我們可產生 plt (persistent lookup table) 檔案,用來減少程式碼分析的時間,plt 裡面儲存了資料型別與函數的資訊。 首先產生一個常用函式庫的 plt,裡面包...
Add a comment...
Wait while more posts are being loaded