convert - macで画像のサムネイルを生成するCUIコマンド

Webで検索をすると、sipsコマンドが大量にヒットします。しかし、sipsは日本語ファイル名に対応していません。 縦を100pxに固定で画像を縮小するコマンド convert -resize x100 <original-file> <output-file> ※ コマンドの詳細は、man convertしてください。 大量の画像ファイルのサムネ</output-file></original-file>…

久し振りにclj-webdriverを動かそうとしたらエラーになった件。

エラーメッセージ 「clj-webdriver 'java.lang.ClassNotFoundException: org.openqa.selenium.interactions.Actions'」 GitHubに質問が出ていました。 clj-webdriver 0.7.xからは、project.cljのdependenciesに、clj-webdriverだけでなく、selenium-javaも明…

lein ancientがプラグインになっていました。

lein ancientがプラグインになっていました。 以前はlein に組込まれていた機能がプラグインになっていました。 ソースは「https://github.com/xsc/lein-ancient」です。 利用するには、まず、「~/.lein/profiles.clj」にプラグインの設定をします。 [lein-a…

Haskell入門でつまづいた話(1)

Haskellを知ろうと以下の記事を読んでいました。 [入門]関数プログラミング―質の高いコードをすばやく直感的に書ける! 第3章 リストと文字列―最長重複文字列問題で知るリストプログラミング リストの説明の際の実例のmapを使う例をためしたら、「Not in s…

Plantronics Marque A170 Bluetooth ヘッドセット(Black)

Plantronics Marque A170 Bluetooth ヘッドセット(Black) ¥5,800 (税別) Apple StoreでiPhone5sと一緒に購入しました。 Apple Store リンク 気付いたこと 音質は程良いです。 Bluethoothの接続も隣りの部屋くらいまでは届くし、コードレスで気分が良いです…

Chrome, FireFoxの拡張機能「Evernote Web Clipper」でwebサイトをEvernoteに格納

お勧めの使い方 Web Clipper専用アカウントを使う 普段使いのアカウントとは別アカウントで活用する。ひとつのアカウントでタグを利用してやりくりしても良いが、やはり別アカウントにした方がすっきりする。 厳選サイトをじっくり読む Feedlyで「後で見る」…

Clojure Code Quality Tools

Clojure Code Quality Tools Clojureのソースコードを書くときの便利ツールの紹介です。 使い方はリンク先を見てください。 lein deps :tree lein ancient (lein ancient profiles) lein kibit lein eastwood lein bikeshed lein omni lein slamhound lein c…

ClojureScriptが来ているな〜と思う記事

最近、Clojureの中でもClojureScriptが流行っている気配がしています。 今日、RSSをチェックしただけでも以下の記事が目に付きました。 Om interop with 3rd party JS libs Using ClojureScript REPL from Light Table Zero downtime Clojure deployments プ…

Green Eggs and Transducers

Green Eggs and Transducers Transducerの説明です。かなり分かり易く書いてくれているみたいなのですが、私にはまだ分りません。

General Purpose Utilities Library

hara General Purpose Utilities Library なんでも屋さん的なツール。

特定派遣26業務

今春、特定派遣がなくなったというニュースを見ておどろいていましたが、 どうやらなくなっていませんでした。 特定派遣26業務 多くの業者が消えるものと思っていましたが、 生き残りがたくさんいます! 26業務についての例外を設けて、そのなかに、「情報処…

Let's Write a Transducer!

Let's Write a Transducer! Clojure v1.7から追加される新機能であるTransducerについての記事です。 関数として機能を完全に定義するのではなくて、機能の一部を定義してそれを使い回すような感じです。 分りにくいので参考サイトも確認が必要です。 参考 T…

Clojure friendly word definitions in Emacs

Clojure friendly word definitions in Emacs (dolist (c (string-to-list ":_-?!#*")) (modify-syntax-entry c "w" emacs-lisp-mode-syntax-table)) EmacsでClojureのソースを編集するときに便利になる設定です。 単語の区切りについての設定で、単語の消去…

オンラインで誰かとペアプロができる

オンラインで誰かとペアプロができる スカイプなみに凄い。 オンラインで動画やPC画面を共有できるだけでなく、指定しなくても誰かが相手をしてくれる所が凄い。 Pair Well is Live, Check it out Pair Wellで待ち合わせして Zoom Usで、PC画面やwebカムで通…

Clojureで大きな数を扱うときにオーバーフローを防ぐには

桁が大きい数の場合、オーバーフローを防ぐために対数をとるとよい のですが、Clojureの場合どうすば、logが使えるのか疑問におもったので 検索したら見つけました。 Logarithm with base 2 (log2) (defn log2 [n] (/ (Math/log n) (Math/log 2)))

Lazy seq for Pascal’s triangle in Clojure

Lazy seq for Pascal’s triangle in Clojure パスカルの三角形を生成する関数の実装です。 1 1 1 1 2 1 1 3 3 1

4clojure #72 Rearranging Code: ->>

4clojure #72 Rearranging Code: ->> ->>マクロは複数のフォームを経由して式xをつなげる。 はじめに、xは第一フォームに最後として挿入され、 それがすでにリストでなければリストを生成する。 それから、第一フォームは第二フォームへ最後のアイテムとして…

July 2014 London Clojure Dojo at ThoughtWorks

July 2014 London Clojure Dojo at ThoughtWorks ロンドンでClojureの道場をやっているらしいです。人数は10人ほどのようです。

プログラムは書いたとおりに動くのか

プログラムは書いたとおりに動くのか 入力データの仕様と出力データの仕様が決まってからプログラムが書かれるのではなく、 プログラムを書きながら、バージョンアップを重ねながら、 当初見えなかったデータの「かたち」を彫り出して、 思いもかけなかった…

4clojure #71 Rearranging Code: ->

4clojure #71 Rearranging Code: -> -> macroは複数のフォームを経由して式xを通す。 はじめに、xは第一フォームに第二要素として挿入され、 すでにリストでない場合、そのリストを作る。 そして、第一フォームは第二フォームに第二要素として挿入され、 フ…

4clojure #70 Word Sorting

4clojure #70 Word Sorting センテンスを分割してソートした単語リストにする関数を作る。 大文字小文字はソート順に関係なく、句読点も無視すること。 (= (__ "Have a nice day.") ["a" "day" "Have" "nice"]) (= (__ "Clojure is a fun language!") ["a" "…

4clojure #69 Merge with a Function

4clojure #69 Merge with a Function 関数fといくつかのマップを引数に取る関数を作る。 その関数は、一番目のマップにconjしたマップの残りから構成されたマップを返す。 複数のマップにひとつのキーがあるとき、後ろからのマッピングは(f 結果の値 後の値)…

Clojreの入門書

Clojreの入門書です。PDFやepub、mobi形式などの本を購入することもできます。 とても丁寧でよいかもです。 Clojure for the Brave and True ( a Book for Beginners )

4clojure #67 Prime Numbers

4clojure #67 Prime Numbers 最初のx個の素数を返す関数を作る。 (= (__ 2) [2 3]) (= (__ 5) [2 3 5 7 11]) (= (last (__ 100)) 541) はじめは、reduceのClojureDocをみて、素数列をつくろうとしましたが、 うまくいかなかったので、prime?を作ってみました…

4clojure #66 Greatest Common Divisor

4clojure #66 Greatest Common Divisor 最大公約数を求める関数を作る。 (= (__ 2 4) 2) (= (__ 10 5) 5) (= (__ 5 7) 1) (= (__ 1023 858) 33) a、bの最大公約数とは、aでもbでも割り切れる数のうちの最大値だから ((fn my-gcd [a b] (let [m (max a b)] (l…

4clojure #65 Black Box Testing

4clojure #65 Black Box Testing シーケンスの種類(:map :set :list :vector)を答える。 ポイントはそれらを調べ、動作を理解することです。 ただし、以下は使用禁止。 class type Class vector? sequential? list? seq? map? set? instance? getClass (= :m…

4clojure #63 Group a Sequence

4clojure #63 Group a Sequence 関数fとシーケンスsを与えてマップを返す関数を作る。 キーはsの各項にfをapplyした値です。 各キーに対応する値はsの順番で連続する項の続くベクターです。 ※ group-byは使用禁止。 (= (__ #(> % 5) [1 3 6 8]) {false [1 3]…

Adam Bardさん特選記事

My Top Clojure Articles Adam Bardさんが書いたブログ記事のなかから、特選記事をまとめたものです。

4clojure #62 Re-implement Iterate

4clojure #62 Re-implement Iterate 関数fと初期値xをとり、 無限な遅延シーケンスx, (f x), (f (f x)), (f (f (f x)))...を返す関数を作る。 ※ iterateは使用禁止。 (= (take 5 (__ #(* 2 %) 1)) [1 2 4 8 16]) (= (take 100 (__ inc 0)) (take 100 (range)…

4clojure #61 Map Construction

4clojure #61 Map Construction ベクタのkeysとvaluesをとり、それらからマップを生成する関数を作る。 ※ zipmapは使用禁止。 (= (__ [:a :b :c] [1 2 3]) {:a 1, :b 2, :c 3}) (= (__ [1 2 3 4] ["one" "two" "three"]) {1 "one", 2 "two", 3 "three"}) (= …