け-06
IT-プログラミング-言語
主に関数型言語Elixirについての本「Elixirへのいざない」シリーズを頒布しています。 新刊:GleamでRealWorldを作ろう(チャレンジ編) 既刊:Elixir本6冊、Gleam本1冊、育児休業本1冊、会社のテックブログ再開本 https://mzryuka.booth.pm/
新刊
同人誌・44ページ・15部頒布・紙/電子・700円西暦2024年3月。
正式リリース版となったGleamは、その勢力を拡大しようとしていた。
RealWorldを構築しようとするURAMASUだったが、
Gleamは一枚上手だった。
「ふざけるな!たかがRealWorld一つ、Gleamで作ってやる!」
上記、執筆中の妄想でした。
本題です。
静的型付けの関数型プログラミング言語Gleam(グリーム)。
Gleamは型安全でスケーラブルなシステムを構築を目指している言語です。
特徴として、以下が挙げられます。
正式版がリリースされてますが、プロダクトやプロジェクトでの利用事例は、そう多くはないようです。
しかし、Elixirの作者であるJosé Valim氏や、アプリケーションプラットフォームを提供する米Fly.ioがスポンサーにもなっているため、これからに非常に期待できる言語であるともいえます。
そんな状況にあるGleamを用いて、「RealWorldアプリケーション」の構築にチャレンジしてみましょう、というのが本書の内容となっております。
では、なぜGleamなのでしょうか?
それは、"これから"のプログラミング言語であるからです。
Gleamの情報は多くありません。
また、あったとしても、大半は英語での情報です。
だからこそ、必要な情報を読み解くための能力が磨かれ、日本語で自分が発信する側になった際には価値を持たせることができるでしょう。
純粋な新しい言語への興味と、打算的な理由。
それらの想いが組み合わさった、新しい言語を学ぶための一冊となっています。
本書では、主に以下の内容を学ぶことができます。
Rust + Elixir => Gleam !?
ErlangとJavaScriptを出力する静的型付け関数型言語。
BEAM系の関数型プログラミング言語Gleamの入門本です。
Gleamは、Rustで作られ、静的な型を持ったElixirといった記述/使用感触となっており、ErlangやJavaScript形式の実行ファイルを生成するのが特徴です。
本書で扱っている内容は次の通りです。
各章は、各機能についての簡単な説明の概要と、その機能について登場人物が会話しながらGleamの機能について語り合う対話型ショートストーリーの構成となっています。
Livebook is a web application for writing interactive and collaborative code notebooks.
Elixir 製の Jupyter Notebook とも言われている「Livebook」(ライブブック)。
冒頭の英文は、GitHubのREADMEの最初に書かれている一文です。
直訳すると、「Livebook は、インタラクティブで共同作業できるコードノート ブックを作成するための Web アプリケーションです」となります。
そんなLivebookに入門してみた結果の内容をまとめたのが本書となります。
公式ページに書かれている内容をもとに、まずは雰囲気で理解して、実際に触ってみて理解しよう、という内容となっています。
本書は3章構成となっています。
第1章では、Livebookとは何かを利用できる機能も含めて簡単に説明。
第2章では、複数個に分かれているlivebookのインストール方法を解説。
第3章では、インストールしたLivebookを実際に操作してみた結果を記載。
さらに、3章については、以下のようにLivebook中で目玉になる機能についてのチュートリアルも記載しています。
VegaLiteで分析グラフを描いてみる
MapLibreで地図にマッピングしてみる
Explorerによるデータ変換
本書を通じてLivebookを知った読者が、選択肢としてLivebookを入れるといった、今後の活動の一助になれば幸いです。
※紙本は若干部数のみです
本書は、"自社の休眠状態にあったテックブログを再開させた顛末で生じたモヤモ ヤを技術同人誌にぶつけてみよう"という、身も蓋もない想いから作られた本です。
端的にいえば、「ひとりごった煮本」、というものです。
元々は自社の有志で作るつもりでした。しかし、有志が集まらなかったので著者が書きたいものを書いてみた、という形となりました。
1章:自社の休眠中のテックブログを再開させた顛末の話
体験レポ/事例紹介にあたります。
とあるITエンジニアが、自社のテックブログをリニューアルした際に検討したこと/実施したこと、そして、その顛末について書いています。
2章:技術書典13で協賛企業ゲストトークをしたことについて
体験レポ/事例紹介になります。
技術書典13のオンラインイベントで、協賛ゲストトークをした体験記を書いています。
初協賛で知名度が無いなかで、「どのようにして自社を知ってもらうか」を模索しながらトークをした顛末を書いています。
本章を読んだあとでオンラインイベントの動画を見直すと、そういう演出だったんだ、と納得してもらえるかもしれません。
3章:対話型AI:Perplexity AI
AIベースの検索エンジンプラットフォーム「Perplexity AI」の紹介になります。
ググるよりもノイズ少なめで気に入っています
4章:エリクサーチ:Elixirの開発ガイドの紹介
自分の推し言語Elixirについて、各種の開発ガイドを紹介してくれているサイトの紹介。
Webフレームワーク、テンソル計算ライブラリ、ネイティブアプリライブラリ、などを始める際に役に立ちます。
5章:Replitで始めるElixir
自分の推し言語Elixirの普及に向けて、ブラウザベースのコーディングプラットフォーム「Replit」上でElixirを利用したプログラミング例を解説しています。
付録A: ChatGPTさんに記事を寄稿してもらった
文字通りおまけです。
ひとりぼっちでの合同紙作成に寂しさを感じて、ChatGPTへ記事を寄稿してくださいとお願いしたやりとりを記載しています。
※技書博10会場でのみの特別価格設定
動的な関数型言語であるElixirのフレームワークである『Phoenix LiveView』と『Nerves』について、『実際にさわって体験をしてみる』ことを主眼とした解説書です。Phoenix LiveViewを利用してサーバサイドのみでSPAのWebアプリ構築を、Nervesを利用してIoT機器の操作方法を知ることができます。
【目次】
第1章 Elixirを体験する
第2章 Mixを体験する
第3章 Phoenixを体験する
第4章 Phoenix LiveViewを体験する
第5章 Nervesを体験する
動的関数型言語Elixirの本です。
初心者から中級者になりたい方へ向けた内容となっています。
Elixirを使う人を"錬金術師(アルケミスト)"と呼ぶ風習があります。
本書は、この錬金術師の見習い(=Elixir初心者)から一歩踏み出してみようという観点から、並行プログラミングやマクロについて題材にしています。
扱っている内容は次の通りです。
各章は、各機能についての簡単な説明の概要と、その機能について有識者と会話しながら学ぶ対話型ショートストーリーの構成となっています。
たとえば、"並行プログラミング"では"並行"と"並列"の違いから解説しています。また、"マクロ"ではメタプログラミングするための機能ですが、Elixirでメタプログラミングをするのに何から知っておけば良いのか、などを扱っています。
ちなみに、淡々と機能説明をされるよりも、誰かと会話しながらの方が記憶に残りやすい/体験としてイメージしやすいかな、という想いでショートストーリー形式になっています。