タグ

ブックマーク / qiita.com/ayato_p (13)

  • Eclipse で始める Clojure 準備編 & α - Qiita

    この記事は Clojure をどうしても Eclipse で書きたい Eclipse を愛する人のために書いています。 これを書いている筆者自身は普段 Emacs + Cider-mode or inf-clojure を使っていますし、新しく Clojure を始めたいけど Emacs や Vim などというテキストエディタは使ったことないし使いたくないという方たちに対しては IntelliJ IDEA + Cursive を薦めているため、基的に Eclipse という環境を使うことは推奨していませんしするつもりもないのですがどうやら Eclipse を使いたい方が一定数以上いるようなのでこの記事を書くことにしました。 注意 この記事は以下のバージョンで説明しています。 Clojure 1.7 Eclipse 4.5 Counterclockwise 0.34.0.STABLE001

    Eclipse で始める Clojure 準備編 & α - Qiita
  • キーワードの使い方について - Qiita

    Clojure のキーワードについてまとめる( Clojure 1.8 まで / 1.9 で入ってくる(だろう) namespeced maps や spec の話はとりあえずスキップ) キーワードとは シンボルに似たもので以下のような特徴を持つ キーワードは必ずコロン(:)からはじまる ( :fred のように) シンボルのようにネームスペースを含むことができる ( :person/name ) つまり namespace 関数でネームスペース相当だけ取得できる コロンふたつ(::)から始まる場合現在のネームスペースで解決される user ネームスペースのとき ::rect は :user/rect と読める ただし、ネームスペースに対して別名で require したネームスペースをキーワードのネースペースとして利用すると、そのネームスペースで修飾される ( example ネームスペー

    キーワードの使い方について - Qiita
  • Advanced Compilation との戦い - Qiita

    今月の Lisp Meet Up で話そうと思っていたんだけど、タイミングがどうも合わないぽいので書くことにした。 まえがき ClojureScript は Clojure の JavaScript 版です。一般的に Clojure が書ければおおよそ問題なく書けるようになっています。 まあ、色々と魅力はあるものも今回はそれを語るのが目的ではないので割愛。 今回は素敵な ClojureScript の最も厄介な部分といっても過言ではない、 Advanced Compilation について書きたいと思います。 Advanced Compilation とは何か まず、話を始める前に ClojureScript が Google CloSure Compiler を利用していることを知っておく必要があります。 ClojureScript は Google Closure Compiler が

    Advanced Compilation との戦い - Qiita
  • Leiningen のテンプレート機能とは一体なんなのか - Qiita

    たまにはノウハウ的なことを書いておいたほうが良いと思ったので書きます。 Leiningen のテンプレートが何かを知っていて、バージョンを指定出来るという話を知っている場合 テンプレートを使う意義について に進んでください。 Leiningen テンプレートとは Leiningen というツールについて改めて説明する必要はないと思いますが、もし分らなければ以下を参照してください。 Leiningenの導入(1): 概要とインストール / clojournal さて、この Leiningen というツールには テンプレート という機能が備っています。 どういう機能かというと 公開されているプロジェクトの雛形を展開できる または 良く使うプロジェクトの雛形を公開できる というものです。 これらは次のように利用することが出来ます。 $TEMPLATE_NAME は省略可能でその場合は defau

    Leiningen のテンプレート機能とは一体なんなのか - Qiita
  • Clojure 完全マスター with Emacs/Cider-mode - Qiita

    最近 Clojure を完全にマスターした方が増えてきた。 http://d.hatena.ne.jp/kamekoopa/20150910/1441860552 http://teafortw0.hatenablog.com/entry/2015/09/13/224950 恥ずかしながら Clojure を業務で半年も書いているというのに、僕は Clojure を完全にマスターしたことがありませんでした。 なので、今回 Clojure を完全にマスターしようと思います。完全マスターマスターの kamekoopa 氏によると完全マスターとは「 HelloWorld やったり普通の FizzBuzz やったり出来た、を指す隠語」とのことなので、今回はこの定義に則って Clojure を完全にマスターします。 環境 今回使う環境は以下の通り。 XUbuntu 14.04 LTS Java 1.

    Clojure 完全マスター with Emacs/Cider-mode - Qiita
  • Clojure 初心者のための Emacs 設定作りました - Qiita

    2017/07/04 更新しました MELPA-stable 以外を利用するパッケージを削除しました use-package を利用し起動時間を 1 秒以下に抑えました Windows へのインストール方法を記述しました はじめに Clojure で何かを開発する際に、数あるエディタの中から Emacs を使ってみたいと思う人は 数多く いると思いますが、元々他のエディタを使っていた場合全てを設定するのは容易ではないでしょう。 また最近では spacemacs や live-emacs などという最初から色々出来るよーみたいなプリセットが出てきていて、それを試している人がチラホラいたのでそういう需要もあるのかなと思って作ってみました。 Emacs config for newbie clojurian インストール Linux であれば以下のコマンドでインストールできます。 $ git c

    Clojure 初心者のための Emacs 設定作りました - Qiita
  • 新: Emacs を使うモダンな Clojure 開発環境

    注意事項 今なら素直にSpacemacsを使ったほうが手軽に環境構築できます。 この記事はある程度当時の状況を網羅したもので、今でも利用されているパッケージはあまり変わっていないので、そういう意味では参考になりますがセットアップ方法や設定などはかなり変わってきているので、参考にならない部分も多いです。 Spacemacsを僕の好みに合わせて設定したものを、以下に解説と合わせてのせているので参考にしてみてください。 SpacemacsでClojureを書くために僕が行った設定 はじめに Clojure の開発環境というのはどんどん新しくなっていくので、最近の開発環境事情について解説しようと思います。 この記事は次の記事の置き換えを狙ったもので、出来るだけ新しい情報を提供することを目的としています。 EmacsでモダンClojure開発環境構築 また何か間違っているという場合は気軽に編集リクエ

    新: Emacs を使うモダンな Clojure 開発環境
  • Maven リポジトリを S3 上に構築して Leiningen から使う - Qiita

    :profiles {:deploy {:deploy-repositories [["your-repo" {:url "s3p://your-repo/" :username [:gpg :env/aws_access_key_id] :passphrase [:gpg :env/aws_secret_access_key]}] ["releases" :your-repo] ["snapshots" :your-repo]] :plugins [[s3-wagon-private "1.2.0"]]}} "s3p://your-repo/" のところは S3 のバケツ名を入力してください。 次に認証情報に関してですが、これは gpg を使うか、環境変数を利用するかで手順が違うので下に別途記載します。 認証情報を記述した後は lein with-profile +deploy depl

    Maven リポジトリを S3 上に構築して Leiningen から使う - Qiita
  • REPL 駆動開発をしていると困っちゃうことがあるアレコレ - Qiita

    Clojure でアプリケーション開発を行なう場合、 REPL を酷使するわけなんですがその中でもハマりやすい問題が幾つかあることに最近同僚を見ていて気付いたので書いておきます。 マルチメソッドが再定義できない 例えば次のようなマルチメソッドを定義していたとします。 (defmulti greeting (fn [time name] time)) (defmethod greeting :morning [_ name] (str "おはよう、" name)) (defmethod greeting :afternoon [_ name] (str "こんにちわ、" name)) (greeting :morning "あやぴー") ;;=> "おはよう、あやぴー" (greeting :afternoon "あやぴー") ;;=> "こんにちわ、あやぴー" (defmulti gree

    REPL 駆動開発をしていると困っちゃうことがあるアレコレ - Qiita
  • 陳腐化しない Clojure の情報を書くために気をつけるべきこと/あるいは情報が陳腐化していることに気付くために知っておきたいこと - Qiita

    Clojure を始めたばかりの人が躓くポイントのひとつが日語の情報が少なく、情報があっても古いため現在のバージョンとは勝手が違い役に立たない事が沢山あることだと思います。 具体的には Luminus というテンプレートがありますが、これを使った例をブログ記事などで書くときに以下のように書いてあることが多々あります。 そして、これを読んで一年後に同じように実行した人は全く違うテンプレートが展開されてしまい( Luminus の場合、 1 年違えば使用されているライブラリがかなり変わります)困り果ててしまいます。何故か。それは Leiningen の new タスクは特に指定がない場合、最新のテンプレートを自動的に clojars からダウンロードしてきて使うためです。 なので、何かしらのテンプレートを使った記事を書く人は次のように書くことを心がけるといいと思います。

    陳腐化しない Clojure の情報を書くために気をつけるべきこと/あるいは情報が陳腐化していることに気付くために知っておきたいこと - Qiita
  • @ayato_pのマイページ - Qiita

    flagParticipating posting campaigns0Participation summarizePosted articles0Articles

    @ayato_pのマイページ - Qiita
  • Clojure で書いたアプリケーションを速く実行する - Qiita

    これを読んでたら Clojure でも同じこと書けるなーって思ったんだけど、全く同じことを書いても面白くないのでちょっと色々書いてみる。 こんな感じの素朴なコードを書く。 (ns fib.core (:gen-class)) (defn fib [n] (if (<= n 1) n (+ (fib (- n 1)) (fib (- n 2))))) (defn -main [] (println (fib 40))) (defproject fib "0.1.0-SNAPSHOT" :description "FIXME: write description" :url "http://example.com/FIXME" :license {:name "Eclipse Public License" :url "http://www.eclipse.org/legal/epl-v10.

    Clojure で書いたアプリケーションを速く実行する - Qiita
  • Clojure で Web アプリケーションを作るときに Compojure の代わりに bidi を使う - Qiita

    Clojure には Compojure という Rails とか Sinatra を使っていた/使ったことがある人にとっては比較的馴染みやすい DSL を提供してくれる ルーティングライブラリ が存在します 1 。これは比較的簡単に導入出来るのと、日語の書籍/情報等でも Compojure ばかり紹介されているので、かなりの人がその存在を知っていることでしょう。 さて、 Compojure 悪くないと思うのですが Web アプリケーションを作る上でかなりしんどいことがあります。具体的には Compojure を使って Web アプリケーションを書くときには、 HTML の中に埋め込む URI を全てハードコーディングしなければなりません。 Rails など他のフレームワークに慣れている方にとっては悪夢ですよね。 wtf... と思わず口から出てくるかもしれません。またマクロで記述するた

    Clojure で Web アプリケーションを作るときに Compojure の代わりに bidi を使う - Qiita
  • 1