ゆるコード

僕はね、とにかくコードが書きたいのだよ君。

【PRO】モダンな関数型プログラミングとClojure

目次 はじめに 概要 主要なテーマと重要なアイデア 1. Clojure と関数型プログラミング Clojure とは 関数型プログラミングの考え方 宣言的なアプローチ: 学習の価値 2. 不変性 (Immutability) 不変性とは 不変性の利点 デバッグの容易さ: 実装と効率性 明…

ClojureでのWEBアプリのライブラリ構成パターン[2025年]

目次 Clojureの流儀 ライブラリの分類 1. Webサーバ(ポートを開いてHTTPリクエストを受け付ける) 2. HTTPリクエスト/レスポンスの基盤(Ring) 3. ルーティング(URLのパスやHTTPメソッドに応じて処理を振り分ける) 4. テンプレートエンジン(サーバーサ…

highlight.js + Markdown編集 + コード部分だけHTML

はてなブログでかっこいいコードブロックをやりたい それならhighlight.jsを使えばいいじゃないかということで、使用してみると以下の感じ。 CDNを利用したやり方しか、はてなブログではできないもようなので、コード部分にはHTMLを追加しないといけない。 …

Clojureで解説する: メタプログラミング

目次 簡単に説明すると ちゃんとした意味 効果 使用例 マクロ リフレクション (Reflection) コード生成ツール Clojureのマクロとメタプログラミング 1. Clojureのマクロとは マクロのメリット 2. 簡単な例:unlessマクロ 使用例 3. マクロの仕組みと展開の流…

Clojure概説その2 シンボル

目次 シンボル 名前(識別子)を表し、かつ、参照先を示す。 データとしてシンボルを扱う キーワードとの違い シンボル (Symbol): キーワード (Keyword): シンボルをデータとして扱う利点と方法 利点 メタプログラミング(マクロ等)でのコード生成・変換 動…

Clojure概説 その1 Clojureの読み方

目次 Clojureの読み方 他の言語と共通している部分 1. 左から右へ、上から下へ 2. 条件分岐、繰り返し処理 3. 関数、構造体、インターフェースの定義 4. コレクション型 5. 不変 6. 関数リテラル Clojureの特徴 1. S式 prefix記法 Clojureの読み方 Clojureは…

はてなブログでコードブロックを使い隊

Markdownで編集。 はてなブログ標準 python print("hello") clojure (doseq [n (range 1 101)] (cond (zero? (mod n 15)) (println "FizzBuzz") (zero? (mod n 3)) (println "Fizz") (zero? (mod n 5)) (println "Buzz") :else (println n))) clojure gist C…