1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

BE-Lang ローカルホスト鯖をホストする

1
Last updated at Posted at 2026-02-08

BE-Lang 普通にローカルホスト鯖をホストできるようにする!

実装したことにより新たな問題が発生?!

 みなさんこんにちは tukinyanJP こと つきにゃんじぇーぴー です! 今回は、 BE-Lang にソケット通信 1 (ちょっとしたHtml操作)を追加してみました! それでは、 BE-Lang の素晴らしいところを紹介していきたいと思います!

基本形はこんな感じ。

 まず、前提知識として知ってほしいのは BE-Lang には Stream という 式の流れ を定義することができる、機能があることを知っておいてください。 Stream はこんな感じで使えます。

stream: |string| <- 仮変数string定義 ->
 "" |> + "Hello," |> + "World!" |> puts string |>
 <- 値をどんどん加工していきます。最終的に string は Hello, World! になり表示されます。 ->
end_stream

 で、目玉のソケット通信の名前は WEBStream と言う名前にしています。何ともダサい名前ですね。名前の通り WEBStream の文法と Stream は少しだけ似ています。 WEBStream はこんな感じで書けます。

webstream: |server|
  =>
    port 1000 <- localhost:~~ってなるところを指定 ->
    html "projects/hello.html" <- 基礎となるhtmlファイル ->
  <=

  |> h1 "でっかい見出し"
  |> h2 "でっかい見出し(h1よりちいさい)"
  |> h3 "h5まで続く!"
  |> p "本文"

  |> input "HowAreYou?" replay <- クライアントがサーバーに情報を送る。返信を待つ ->
    server "I'mSoGood" <- サーバーがクライアントに情報を送る ->
  end_input
end_webstream

 で、これを実行して、 localhost:1000 に入ると、

スクリーンショット 2026-02-08 094803.png

 こういう風に出てきます。完全なる HTML ONLY のサイトっぽい何かですね。

 実装してから気づいたことがあるのですが、 |> p "" 本文記述ですよね。これ。この "" の中に
タグであったりを入力することができるんですね。つまり、大体pタグだけあれば色指定とかdivとかできるんですねこれが... じゃ、じゃあ実験的に作ってた文字色変更も作る必要なかった...?嘘でしょ?

 追記 (2026 / 2 / 9):
h1とかh6タグで、空白を使うことができるようになりました! (SpacEで空白作成可能!)

ソケット通信 1 を実装したことによって起こる問題

マルチタスク問題

 今回のソケット通信1を実装したことにより、浮き彫りになった問題は... マルチタスク問題 です。 つまり何が言いたいかと言うと、 localhost を開いて通信を切るまではずっと何もできない んです。 (=localhostの処理以降なにも実行されない) だから、今後の BE-Lang の課題は(少なくとも WEBStream では)マルチタスクができるようにしなければいけないんですね...

振り返り

 今回の記事はどうでしたか? 自分自身としては、 ソケット通信 を実装できたので満足していますが、まだ開発途中の機能ですので今後にご期待ください! また次の記事で! さらだばー!

  1. ソケットとは、簡単にいえばコンピュータ間の概念的な電話機であり、郵便ポ ストです。つまり、プログラムはソケットに喋りかけたり、手紙を投函すれば、 通信相手のコンピュータの受話器または郵便受け、つまりソケットにその喋っ た内容や手紙が届くことになります。
    引用元: https://research.nii.ac.jp/~ichiro/syspro98/socket.html

    2 3
1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?