タグ

clojureに関するntaooのブックマーク (14)

  • Clojure Design Patterns

    Quick overview of the classic Design Patterns in Clojure Disclaimer: Most patterns are easy to implement because we use dynamic typing, functional programming and, of course, Clojure. Some of them look wrong and ugly. It’s okay. All characters are fake, coincidences are accidental. Index Intro Episode 1. Command Episode 2. Strategy Episode 3. State Episode 4. Visitor Episode 5. Template Method Epi

  • Clojure + core.async による非同期&並列プロセスの世界 - 紙箱

    core.asyncによる非同期プログラミング core.async はClojure用の、事実上標準の非同期プログラミングのライブラリです。 core.asyncの一番わかりやすい説明は、「Go-langのchannelのClojure版」という言い方でしょう。goマクロによってgo-blockを作り、そのブロック内が非同期に動きます。このブロックが常駐すれば、軽量プロセスというやつになります。プロセス同士のやりとりをする口として、チャネル(channel)があります。core.asyncを使ったプログラムでは、チャネルへの入出力を介して非同期軽量プロセスにデータを処理させることで、全体のシステムを作り上げます。 goマクロはステートマシンを作り、チャネルへの入力があるたびにマシンが1回転します。この一回転時に、チャネルを待ち受けていたgoブロックにスレッドが割り当てられ、次のチャネル入

    Clojure + core.async による非同期&並列プロセスの世界 - 紙箱
  • Spectacular Future with clojure.spec

    clojure.specを活用して変更に強いClojureコードを書こう(*> ᴗ •*)ゞ cf. https://github.com/lagenorhynque/spec-examples

    Spectacular Future with clojure.spec
    ntaoo
    ntaoo 2017/10/05
    Clojureいいなあ
  • Re:REPL-Driven Development

    設計の質:コード、システム、そして組織へ / The Essence of Design: To Code, Systems, and Organizations

    Re:REPL-Driven Development
  • Clojure.specは、Clojureの新たなコントラクトシステムである

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Clojure.specは、Clojureの新たなコントラクトシステムである
  • Clojureをプロダクトに導入した話 - Opt Technologies Magazine

    最近、弊社で開発しているプロダクトに初めてプログラミング言語Clojureを導入したため、その詳細をご紹介します。 あいさつ Clojure導入の経緯 プロダクトの要件 Clojureで実装する意義 JVM言語としての実用性 シンプルで高い表現力と拡張性 インタラクティブでインクリメンタルな開発スタイル Clojure導入の道のり 機能実現のためのライブラリ検討 プロジェクト構成: Luminus アプリケーション状態管理: mount DBアクセス: HugSQL ジョブスケジューリング: Immutant 日付時刻: clj-time コード品質を底上げするための+αのライブラリ利用 仕様記述/バリデーション: schema 静的解析: cljfmt, eastwood, kibit チームメンバーへの情報共有 ドキュメントとしてのコード(+ docstring, schema, ユニ

    Clojureをプロダクトに導入した話 - Opt Technologies Magazine
  • Clojureと「Simple Made Easy」 - 紙箱

    プログラミング言語というのは、その作者が理想とする世界に合うようにデザインされているものだから(みんな信じないかもだけど、Javaですらそうなのですよ)、Clojureのことを理解するには、作者であるRich Hickeyのプログラミング観を知るのが手っ取り早いでしょう。 Rich Hickeyはさまざまなプレゼンテーションを発表していて、多くはネットで見られます。示唆に富んで皮肉も効いてておもしろいので、ファンも多くて、彼の独特の髪型(往年のロック歌手風)からか、「Rich Hickey’s Greatest Hits」というブログ記事もあったりします(プレゼンテーション動画へのリンク集です)。 ただ、彼のプレゼンテーションは難解な英語も出てきて、私のようなリスニング苦手人間には音声だけで聴くのは難しいです。そういう人は国外でも多いからか、有志が書きおこし(transcript)を公開し

    Clojureと「Simple Made Easy」 - 紙箱
  • Clojureの世界観 - 紙箱

    ブログを書くのは久々です。 京都で小さな会社をやっていて、自社開発でClojureとClojureScriptを使用し続けて、概ね3年くらい使い続けています。その過程で、Clojure自体にも小さいながらソースレベルの貢献ができたりして、オープンソースプロジェクトとしても面白かったのですが、もともとオブジェクト指向言語ばかりやってきたところから、Clojureという、まったくオブジェクト指向言語ではない言語に飛び込んだ経験や考えたことなんかを、ブログにストックすると、何か他の人にも役立つこともあるかと思って、ブログに書くことにしました。 このところずっと、自社の仕事とは別に、恵比寿にある 株式会社ユーザベース さんのお仕事に参加しています(私が法人を作る前からなので、もう5、6年くらいになります)。そちらの方でもClojureやシステム設計の話(プレゼンなど)などを何度かさせてもらったり、

    Clojureの世界観 - 紙箱
  • Learn to Program the World's Most Bodacious Language with Clojure for the Brave and True

    It was Socrates who first said... “Learning Clojure is the best way you can improve as a programmer because it introduces you to powerful concepts implemented in a simple, cohesive, and practical language. You learn Clojure here. Therefore, Brave Clojure is your very best friend when it comes to programming.” And lo, the syllogism was born! Do you want to learn Clojure, the most powerful and fun p

  • ClojureScript Year In Review

    23 December 2015 It’s been a very exciting year for ClojureScript. It’s clear that things have been accelerating and here is a personal selection of highlights: CLJSJS While technically it appeared in late 2014, CLJSJS took off when ClojureScript landed enhanced and standardized support for foreign dependencies in January. Thanks to the tireless work of many contributors, the wider community of Cl

  • キメるClojure

    ドメインロジックに焦点をあてる。 それが、ドメイン駆動設計の基。 ドメイン駆動設計の考え方とやり方の説明と、実践基盤としての Spring Framework/Spring Boot を使った事例の紹介。

    キメるClojure
  • ClojureとClojurescript

    Transcript 1. Makoto Hashimoto 2. • Rich Hickeyが開発したLisp方言、Java VM上で動く関数型 言語である • Richは大学で作曲専攻、音楽系のソフトウェアを開発して いる。Lisp->C++にポーティングする際に苦労し、オブ ジェクト指向に嫌気がさしてClojure開発に着手した • Richが2年半かけて開発、2008年6月に初期バージョ ンを発表、現在の最新バージョンは1.7-alpha-5 • Simple made easy 3. • Lisp言語であること➩処理とデータが同じ表現で あり、マクロにより新たなシンタックスが定義で きること(Lispであることが最大の特徴であり最 大の欠点) • インタープリタ言語であること➩手軽である • 関数型言語であり、第一級関数が利用できること ➩抽象度の高い記述、関数の引数として関数が

    ClojureとClojurescript
  • イミュータブル時代の言語としてのClojure - Qiita

    この記事はRich HickeyのClojureのコンセプトを示したリソースへのリンク集です。 このリンクを追っていけば、LISPであることやBetter Javaであることなんてものは表面的な特長に過ぎず、イミュータビリティ(とシンプルさ)こそが最大の特長であるということに気付かされます。 ClojureはOut of the Tar Pit (PDF) という論文に基づいて、状態とふるまいを分離するように言語設計されています。レースコンディションのような偶発的におこりうる問題は、状態とふるまいが一体となった混沌から生まれるのであって、これを分離してどうしても避けることの出来ない状態の管理だけ特別に扱うという考え方です。 オブジェクト指向が状態を安易に変更できてしまうのは、「状態」と「アイデンティティ」が密結合しているためです。ある2つのオブジェクトが同一かどうかは、問題領域に依存してい

    イミュータブル時代の言語としてのClojure - Qiita
  • More Ruby than Ruby talk at KRUG - Adam Pohorecki

    A few days ago a tweet reminded me about a talk I gave on the 6th of August on KRUG: One trend I'm observing is a lot of rubyists being fed up with messy ruby ecosystem are getting excited or even switch to clojure. — Piotr Solnica (@_solnic_) October 15, 2013 I ❤ Ruby I have been programming in Ruby professionally for over four years now. When I was starting out, there were probably mere dozens o

    ntaoo
    ntaoo 2013/10/23
    clojureに興味が湧いてきた
  • 1