Juliaでシンプルなブログサーバー
今回は、Juliaの標準的な機能を使って「投稿を表示する」だけの非常にシンプルなブログサーバーを作成します。
- 言語: Julia
- 使用ライブラリ: HTTP(サーバー用)
- 仕組み:
- 投稿データを「構造体(Struct)」として定義します。
- サーバーを起動し、ブラウザからアクセスがあったらHTMLを返します。
- 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()
📖 実装手順と解説
- struct Post: ブログの「タイトル」と「本文」をセットで扱うための型を作りました。
- generate_html 関数: 投稿データのリストを受け取って、一つの長いHTML文字列を作成します。$(…) という記法は、文字列の中に変数の値を埋め込むためのJuliaの便利な書き方です。
- HTTP.serve: これだけでWebサーバーが立ち上がります。127.0.0.1 は自分のPCを指し、8080 はアクセスするための窓口(ポート番号)です。
実行方法
- Juliaでこのファイルを実行します。
- ブラウザを開き、アドレスバーに http://localhost:8080 と入力してください。

コメント