Archives for 5月2015

新潟だけでなく近隣圏の方もぜひ! 6月6日開催のCSS Nite in NIIGATAのネタ絶賛仕込み中

今まで撮ったキャプチャを対象として、上場企業、グローバル企業、自治体といった軸での配色傾向についても機械的にリサーチしていますというのは、前の記事

で書いた通りですが、それ以外の部分は、基本デザイントレンド大阪で行ったもの+αくらいのもので挑むつもりでおりました。

絶賛さらに追加ネタ仕込んでいます

が、いろいろと再リサーチを行っていくうちに欲が出てきまして、現時点での各サイトのキャプチャを取り直したりしています。

デザイントレンドセッションのゲストに出た方はご存知だとは思いますが、全サイトチェックはなかなか骨が折れる作業です。

今回それをやらないといけないことを誰に約束したというわけでもないですが、少しでも面白いセッションにできたらと思い、チェックを進めています。

そして結構面白い内容になりそうです。

ということで、もし6/6の予定がまだ空いていて、なおかつ新潟に来れそうな近隣県にお住まいの皆さんは、まだ申し込み可能ですので是非いらしてください。

もし可能であれば懇親会も!

昔は週末になると、よく電車で東京とかの勉強会に行ってた

もともと、僕は名古屋で起業しました。大学を出てちょっとした頃のことです。

何年かした後も静岡に居を移して、地道なフリーランス活動をしたりしてました。

その頃は、とくにつてもなかったので、週末とかに開催される東京の勉強会に行ってました。

東京へ移住したあとも、例えば自分が出演しないような勉強会でも電車を乗り継いで参加したりしたこともあります。

そして不思議なことに、その時知り合った人とかは、まだ付き合いがあったりします(とはいえ離れてたりするので薄い関係ではありますが…)

だから行こう! などというと宣伝くさくなって微妙な感じなのですが、しかし人とのつながりがいつ人生を変えるかなんてのは予測もできないこともまた事実。

CSS Niteにまだ一度も参加してない近隣の人こそ是非、新潟版へ遊びに来てください。

開催情報

  • 日時 : 2015年6月6日(土)13:30-18:00(開場13:00) (終演時間は変更の可能性アリ)
  • 場所 : 朱鷺メッセ 中会議室 301 (新潟県新潟市中央区万代島6-1)
  • ハッシュタグは #cssnite_niigata4
  • 申し込み : http://cssnite.jp/niigata/vol04/
Read More

Clojureのドキュメント生成にmarginaliaを使う

Doccoというツール

Doccoというツールがあります。

これは、CoffeeScriptで書かれたツールで、JavaScriptで書かれているソースコードとそのコメントを整形して非常に見やすいHTMLとしてドキュメント化してくれるものです。

Clojureにはmarginaliaがある

Doccoはいろいろな言語用に移植されたりしていますが、Clojure用のものもmarginaliaという名前で存在します。

こんな感じでdescjopのコードもHTMLになりました。

marginaliaのコード自体、このツールでHTML化しているので見てみると面白いです。

ポイントは、ソースコードにシンタックスハイライトがされ、コードとコメントが1対1で左右に並ぶところでしょうか。一枚のHTMLとして生成されるので、扱いも楽です。

marginaliaの利用方法

利用方法はいたって単純で、ホームディレクトリにある.leinディレクトリ(このディレクトリにprofiles.cljなどとプロジェクトファイルに書くようにプラグインとして指定すると、全プロジェクト共通で使えるようになる)にて設定したら、あとは

[lein-marginalia "0.8.0"]

などと設定します。

ちなみに僕のprofiles.cljは今のところこんな感じです。

{:user {:plugins [[lein-idea "1.0.1"]
                  [lein-typed "0.3.5"]
          [lein-marginalia "0.8.0"]
                  [lein-kibit "RELEASE"]
                  [cider/cider-nrepl "0.8.2"]
                  ]
        :aliases {"slamhound" ["run" "-m" "slam.hound"]}
        :dependencies [[slamhound "RELEASE"]
                       [org.clojure/tools.trace "RELEASE"]]}}

設定を終えたら、ドキュメントを生成したいプロジェクトのディレクトリに移動し、下記コマンドを実行します。

$ lein marg

すると、プロジェクト内の直下に、docsディレクトリというものが出来、その中にuberdoc.html というHTMLファイルが生成されるので、これをブラウザで開きます。

という感じで設定とかもほぼいらず、ワンコマンドのみでドキュメントを生成できるので、おすすめです!

Read More

Clojureで変数名とかに使える文字は実際なところ何なのか

とるに足らぬコネタを。

Clojure – reader

や書籍「プログラミングClojure」の24ページを読むと、英数字および

  • +
  • _
  • *
  • /
  • !
  • ?
  • .

が、シンボルとして今後も使える文字だということが書かれている。また、/と.は名前空間用に特別扱いされるとのこと。

そのおかげで「nil?」みたいな関数名が実現できるわけだ。

が、世の中のClojureのプログラムを見渡すともっといろいろな記号が使われている。

ClojureからJavaScriptのオブジェクトに変換できる「clj->js」というメソッド名では、>が使われている。

こんな風にClojure公式なメソッドとしても上記以外の記号が使われているところをみると、もっと多くありそうだということになる。

Clojureのjvm/clojure/lang/Compiler.javaには下記のように書かれていて、いろいろな記号は置き換えられて処理されているようだ(このあたり詳しい人つっこみください)

static final public IPersistentMap CHAR_MAP =
        PersistentHashMap.create('-', "_",
//                               '.', "_DOT_",
':', "_COLON_",
'+', "_PLUS_",
'>', "_GT_",
'<', "_LT_",
'=', "_EQ_",
'~', "_TILDE_",
'!', "_BANG_",
'@', "_CIRCA_",
'#', "_SHARP_",
'\'', "_SINGLEQUOTE_",
'"', "_DOUBLEQUOTE_",
'%', "_PERCENT_",
'^', "_CARET_",
'&', "_AMPERSAND_",
'*', "_STAR_",
'|', "_BAR_",
'{', "_LBRACE_",
'}', "_RBRACE_",
'[', "_LBRACK_",
']', "_RBRACK_",
'/', "_SLASH_",
'\', "_BSLASH_",
'
?', "_QMARK_");

ただし、上記の記号すべてを使えるわけじゃなくて、REPLで試してみたところ「{」「}」「[」「]」「\」「”」「~」「^」は使えなかった。

また、先頭にあるとNGなケースもある。

まあ、将来的に使えなくなる可能性もあるので、積極的利用は避けたほうがいいのかもしれないが、例えばこんな書き方をしているケースを見かけたことがある

(def a:List<String> ["A" "B"])

実際、評価ができる

=> a:List<String>
["A" "B"]

こんな名前のつけ方ができる言語はあまりなさそうだ。

Read More