Juliaでシンプルなブログサーバーを作成

Juliaでシンプルなブログサーバー

今回は、Juliaの標準的な機能を使って「投稿を表示する」だけの非常にシンプルなブログサーバーを作成します。

  • 言語: Julia
  • 使用ライブラリ: HTTP(サーバー用)
  • 仕組み:
    1. 投稿データを「構造体(Struct)」として定義します。
    2. サーバーを起動し、ブラウザからアクセスがあったらHTMLを返します。
    3. HTMLの中にブログのタイトルや本文を埋め込みます。

前提条件

以下のコマンドをJuliaのREPL(対話画面)で実行して、必要なライブラリをインストールしておいてください。

Julia

using Pkg

Pkg.add(“HTTP”)

 

💻 サンプルコード

以下のコードを blog.jl という名前で保存して実行してみてください。

Julia

using HTTP

 

# 1. ブログ投稿の構造を定義

struct Post

title::String

content::String

end

 

# 2. サンプルの投稿データ(データベースの代わり)

const BLOG_POSTS = [

Post(“はじめてのJulia”, “Juliaは高速で書きやすい言語です。”),

Post(“Juliaでブログ”, “HTTP.jlを使えば簡単にサーバーが作れます。”),

Post(“今後の予定”, “次はデータベースと連携させてみたいですね。”)

]

 

# 3. HTMLを生成する関数

function generate_html(posts)

html = “<html><head><meta charset=’UTF-8′><title>Juliaブログ</title></head><body>”

html *= “<h1>マイ・ジュリア・ブログ</h1>”

 

for post in posts

html *= “<article>”

html *= “<h2>$(post.title)</h2>”

html *= “<p>$(post.content)</p>”

html *= “</article><hr>”

end

 

html *= “</body></html>”

return html

end

 

# 4. サーバーのメイン処理

function start_server()

println(“サーバーを起動しました: http://localhost:8080”)

 

HTTP.serve(“127.0.0.1”, 8080) do request

return HTTP.Response(200, [“Content-Type” => “text/html”], body=generate_html(BLOG_POSTS))

end

end

 

# サーバー実行

start_server()

 

📖 実装手順と解説

  1. struct Post: ブログの「タイトル」と「本文」をセットで扱うための型を作りました。
  2. generate_html 関数: 投稿データのリストを受け取って、一つの長いHTML文字列を作成します。$(…) という記法は、文字列の中に変数の値を埋め込むためのJuliaの便利な書き方です。
  3. HTTP.serve: これだけでWebサーバーが立ち上がります。127.0.0.1 は自分のPCを指し、8080 はアクセスするための窓口(ポート番号)です。

実行方法

  1. Juliaでこのファイルを実行します。
  2. ブラウザを開き、アドレスバーに http://localhost:8080 と入力してください。

 

コメント

タイトルとURLをコピーしました