タグ

clojureに関するradian19831019のブックマーク (21)

  • Clojureの世界観 - 紙箱

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

    Clojureの世界観 - 紙箱
  • 構造を抽象化する - Qiita

    DRY 皆さんご存知 DRY (Don't Repeat Yourself) 原則. システムの維持や拡張を容易にするには, 沢山の「似たようなもの」が必要になったとき, それらの, 何が同じで何が違うかを分離し, 「違う」ところはその都度, 「同じ」ところは 1度だけ, 記述するようにすることが重要です. この分離が, 仕様記述では容易であるにも関わらず, コードにすると難しいことが, ままあります. でも Clojure なら大丈夫. 以下では, ある算数の問題を題材にしますが, 賢明な読者様におかれましては, この題材の背景にある抽象的な問題を, ご自身の具体的な問題に当て嵌めて検討いただけるものと思います. 動作の確認には Clojure 1.8.0 を用いました. ある算数の問題 「3 つの異なる非負整数の集合で, 要素の総和が 5 になるものを列挙せよ.」 答えは

    構造を抽象化する - Qiita
    radian19831019
    radian19831019 2016/12/09
    コードは面白い内容だった
  • WebSocket大合戦:Clojure、C++、Elixir、Go、NodeJS、Ruby | POSTD

    Webアプリにリアルタイムの双方向通信が必要な場合、WebSocketを選ぶのは自然なことだと思います。では、どのツールでWebSocketサーバを構築すべきでしょうか。パフォーマンスは重要ですが、開発のプロセスも見過ごしてはなりません。パフォーマンスを基準にするだけでなく、開発のしやすさも考慮に入れるべきでしょう。今回の大合戦では、Clojure、C++、Elixir、Go、NodeJS、Rubyのそれぞれの言語によって慣用的な手法で実装されたシンプルなWebSocketサーバを比較したいと思います。 テスト内容 サーバに実装するのは、 echo と broadcast の2つのメッセージのみを扱う非常に単純なプロトコルです。echoは送信クライアントに返され、ブロードキャストは全ての接続クライアントに送信されます。そしてブロードキャストが完了すると、結果メッセージが送信者に返されます。

    WebSocket大合戦:Clojure、C++、Elixir、Go、NodeJS、Ruby | POSTD
  • Clojureの楽しい入門書 - Programmer's Note

    いやあClojure楽しす。 "Clojure for The Brave and True" (紙)を購入して読んでいるのだが、このはすばらしいね。 ノリが軽いが、内容はよく整理されていて、構成がしっかりしている。 あとから目次頼りにリファレンスとしても使える。著者の奥さんのイラストも魅力的だしな。 直近は、Macroの仕組み&書き方の章を読み終えたばかりだが、Lispのエレガントなところが実に良く理解できた。 自分が他人に勧めるとしたら、まずは「7つの言語7つの世界」でClojureを試してみて、面白いと思ったなら、次はこのだな。 オンラインで無料で公開しているのが信じられないくらいだ。(Learn to Program the World's Most Bodacious Language with Clojure for the Brave and True) 著者はCloj

    Clojureの楽しい入門書 - Programmer's Note
    radian19831019
    radian19831019 2016/04/20
    ほほう。
  • Clojure完全にマスターした話 - 新しいフォルダ (3)

    TL;DR LeiningenインスコしてIntelliJ IDEAにCursiveプラグイン入れるとLeiningenで生成したプロジェクト普通に読み込めるし括弧辺りの問題もだいぶ快適になるよ。 テスト環境何もしなくてもとりあえず整ってるっぽい 完全にマスターとはHelloWorldやったり普通のFizzBuzzやったり出来た、を指す隠語 経緯 clojure使えないのにclojureのリストに入れられた…gkbr 2015-09-04 00:15:16 via SobaCha クロージャー出来ないのでクロージャーのリストに入れられてない。セーフ。 2015-09-04 00:32:33 via Twitter for Android @kamekoopa 見間違いでなければ入っていた気がしましたよw 2015-09-04 00:54:01 via Twitter for iPhone

    Clojure完全にマスターした話 - 新しいフォルダ (3)
  • Tips for Clojure Beginners

    1. Learn the essentials with Clojure Koans Clojure Koans teaches you the basics of the language by providing a series of tests for you to turn green. The topics and tests are chosen well, and the project’s vibe is pleasant (“calling a function is like giving it a hug with parentheses”). Open a koan. Make it pass. Meditate. Enjoy enlightenment. 2. Move on to 4Clojure problems 4Clojure is a great wa

    Tips for Clojure Beginners
  • Functional Programming | Clojure for the Brave and True

    So far, you’ve focused on becoming familiar with the tools that Clojure provides: immutable data structures, functions, abstractions, and so on. In this chapter, you’ll learn how to think about your programming tasks in a way that makes the best use of those tools. You’ll begin integrating your experience into a new functional programming mindset. The core concepts you’ll learn include: what pure

  • Clojureを練習するためのオンライン問題集

    元ネタはこちら おそらくある言語に慣れるためには、その言語を実際に使うことだと思います。しかし、誰しもが「こういうのを書いてみたいな」というアイデアを持っているわけではありません。そこで、Clojureを練習するためのサイトみたいなのをいくつか見かけたので、ここで共有しておきたいと思います。 4Clojure 最も有名なClojure練習サイトですね。ここの練習スタイルは、__に対して、なんらかの式を入力することにより、全体でtrueになるようにするタイプのものです。 ClojureScript Koans 欠けている部分を穴埋めして、全体として正しいようにするというものについて、海外プログラマーの間ではKoanとよばれ(たぶん、禅のKoanから来ていると推測します)、親しまれています。これもその一つ。上のがすこしピンとこなければ、こっちから始めてみるのもいいでしょう。元ネタはCloju

    Clojureを練習するためのオンライン問題集
  • A Brief Beginner’s Guide To Clojure

    by John Gabriele, last-modified: 2016-06 (using Clojure 1.8.0, Leiningen 2.6.1, and OpenJDK 8) The purpose of this brief guide is to provide new users with a 1000-meter view of Clojure and its ecosystem, including how to quickly get up and running. This guide concerns the original, Java-based Clojure implementation (though, there are others). It’s not a Clojure language tutorial; there are a numbe

    A Brief Beginner’s Guide To Clojure
  • Island Life - 『プログラミングClojure 第2版』

    About 南の島のプログラマ。 たまに役者。 Practical Schemeの主。 WiLiKi:Shiro 最近のエントリ 無限cxr高校受験Defense振り返ってみると2019年は色々学んで楽...覚えるより忘れる方が難しい(こともある)眼鏡のつると3DプリンタIris Klein Acting ClassSAG-AFTRA conservatory: Voice Acting創作活動って自分を晒け出さねばならないと...ループを使わずに1から100までMore... 最近のコメント shiro on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/14)1357 on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/01)ベアトリーチェ on ハイポハイポハイポのシューリンガン (2022/04/02)ベアトリーチ

    Island Life - 『プログラミングClojure 第2版』
    radian19831019
    radian19831019 2013/04/22
    買う。
  • LLerのための関数指向入門

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    LLerのための関数指向入門
  • ClojureではじめるSTM入門

    4. STMとは Software Transactional Memory ソフトウェアトランザクショナルメモリは、データベーストラン ザクションに似た並行性制御機構であり、並列計算を行う際の 共有メモリへのアクセス法である。 この機構はロックベースの同期を用いた並行性制御の代替手段と して機能し、ノンブロッキングな方法で実装される物もある。 Wikipediaより 楽観的: 他のスレッドを気にせずとりあえず実行してみる 変なことになったらリトライする 最近盛んに研究されている(らしい) 5. ロックの利点と欠点 利点 いつロックを取得し、解除するかを陽に制御できる 開発者にとって馴染みがある方法 多くのプログラミング言語でサポートされている 欠点 ロックのとる順序によってデッドロックが起こる 優先度逆転が起こる composableでない

    ClojureではじめるSTM入門
  • Search

    Releases, Offers & More Be the first to hear about our newest content, best promotions and upcoming events. Plus get 25% off your next purchase. Newsletter Sign Up Download Accounts Your email address is your account identifier. You can create a password, or just download from the links sent via email. My Orders (Resend order emails) How We're Different Hands-on instructions Solutions to real-worl

  • 4 Things Java Programmers Can Learn from Clojure without learning Clojure

    4 Things Java Programmers Can Learn from Clojure without learning Clojure I was trained in Java at University. The OOP matrix was firmly implanted in my thinking. I wanted to share some things that I have learned from Clojure that were certainly possible in Java but never became fundamental to my programming practice. Clojure certainly has learned a lot from Java. It might be cool if the learning

  • 1.3, 1.4, 1.5: Clojureの過去、現在、(とても近い)未来 - Qiita

    はじめに 『プログラミングClojure』が発売されてから、もうすぐ3年が経ちます。原著である"Programming Clojure"の第一版はClojure 1.0の時代に書かれたもので、日語版も当時開発中だった1.1における変更点を訳注で補足していますが、基的に1.0ベースです。 Clojureのコードが登場する日語の書籍は他にも『7つの言語 7つの世界』や『実践プログラミングDSL ドメイン特化言語の設計と実装のノウハウ』などがあります。しかし、タイトルから分かるようにClojureはこれらのでは数あるトピックの一つであり、読めばClojureの要素に一通り慣れ親しむことができるというわけではありません。Clojureも「比較的古びていない書籍は皆英語で書かれている」というよくあるパターンにハマっています。 Pythonが「Pythonらしさ」を保ちながらも、より「Pyth

    1.3, 1.4, 1.5: Clojureの過去、現在、(とても近い)未来 - Qiita
  • フィボナッチで各種言語をベンチマーク - satosystemsの日記

    AWK、Ada、Bash、Boo、C、C#、C++、Clojure、D、Erlang、Forth、Fortran、Go、Groovy、Haskell、Io、JavaJavaScript、Lisp、Lua、OCaml、Objective-C、PHP、Pascal、Perl、Pike、PrologPython、R、RubyScala、Scheme、Smalltalk、Tcl でフィボナッチ数を求める処理時間を計測してみました。 フィボナッチ数は漸化式で求められます。 F0 = 0 F1 = 1 Fn+2 = Fn+1 + Fn フィボナッチ数を求めるアルゴリズムはいろいろありますが、今回は以下の再帰で求めるアルゴリズムで統一しました。 #include <stdio.h> int fib(int n) { if (n < 2) return n; return fib(n - 2) +

    フィボナッチで各種言語をベンチマーク - satosystemsの日記
    radian19831019
    radian19831019 2013/01/06
    コメント含めて面白い。
  • tnoda-clojure

    どのを買えばよいかが分かるフローチャートつき. (以下,書きかけ) 私が今年買った Clojure を紹介します. pragprog.com / Programming Clojure, 2nd EditionAmazon.co.jp で買うより pragprog.com から直接 ebook を買うのをおすすめします.丁寧に書かれていて非常によくできているですが,私には難しかったです.おそらく Hasklell なり Erlang なり他の Lisp なり何らかの関数型言語を一つでも習得できていれば,より簡単に読めたと思います.買っておいて損はしませんが,最初に読むとして万人におすすめできるわけではありません. oreilly.com / Clojure ProgrammingAmazon.co.jp で買うより O'Reilly Ebooks store から直接 ebook

    tnoda-clojure
    radian19831019
    radian19831019 2012/12/27
    興味あり
  • Web系女子がLispと出会って統計学に目覚めるまでのお話 - あんちべ!

    こんにちは!今年の春からWeb系企業でHTML/CSSデザイナーとして働きだしたキラキラ女子(を目指してる)のあんちべ(23)です!よろしくお願いします!私は普段自社のWebサービスCSSなどを書いている*1のですが、最近データマイニングに興味を持ち始め、データを分析して、自社サービスの売り上げ改善に貢献したいなーと思うようになりました!でも。。。私は文系出身で統計学とか全然わからない*2し、プログラミングも得意じゃない*3し、高価な統計解析ソフトを買うのも辛いです。。。無い無い尽くしですね><;!そんな私に救いの手が!インストール作業不要で、便利な統計処理機能が色々あって、しかも無料という素晴らしいソフト*4を発見しました!その名も"Incanter"です!なんでも、 Lispっていう古くから使われてきた実績のあるプログラミング言語で動いてて、Lispの文法でどんな処理をすればよいかを

    Web系女子がLispと出会って統計学に目覚めるまでのお話 - あんちべ!
  • zusaar.com - zusaar リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

    radian19831019
    radian19831019 2012/10/11
    参加しようかな、悩むなー。
  • JavaのAPIを使う場合でも、やっぱりClojureらしくプログラミングしたい - tailislandの日記

    この前、Clojureでwebdavからバイナリー・ファイルをダウンロードするツールを作ったんですよ。 私はClojureでファイル入出力をするプログラムを作るのは初めてでしたから、いつものようにCheat Sheetでやり方を調べようとして、で、愕然としました。 「バイナリーのファイル入出力の関数が異常に少ない!*1」 ま、ほら、たぶん、アレですよ。Clojureは表現力が豊かな言語なので、こんな少ない関数でも十分なバイナリー・ファイルの入出力ができる……わけなんかあるかぁ!全部Java任せじゃないかぁ! 裸のClojureでバイナリー・ファイルを読み込んでみる 簡単な仕様で試してみましょう。ファイルを読み込み、他のファイルに書き出すという仕様*2のコードを書いてみます。 といっても、Clojureにはclojure.java.ioパッケージにcopyという関数がすでにありますから、その

    JavaのAPIを使う場合でも、やっぱりClojureらしくプログラミングしたい - tailislandの日記
    radian19831019
    radian19831019 2012/09/12
    Clojure学習が止まってたけど再開しようと思た。