ほんじゃら堂

めんどくさい仕事をラクにする作業自動化レシピ集

clojure

お絵かきおもちゃ「Etch-A-Sketch」があまりにも懐かしかったので操作感を再現するためにWeb版を作った

小さい頃に気に入って遊んでたあのお絵かきおもちゃ、 なんだったかな、 と思って検索したら「Etch-A-Sketch」という製品だった。 Ohio Art Classic Etch A Sketch Magic Screen出版社/メーカー: Ohio Artメディア: おもちゃ&ホビーこの商品を含むブログを…

いちいちExcelを開くのがつらいのでCSVファイルのカラムを揃えて見やすく出力してくれるスクリプトをつくる

仕事でCSVファイルのやりとりをすることが多い。 CSVファイルというのは、Excelで開くと見やすいのだけど、 普通にテキストエディタやCUI環境で開くと結構見づらい。 そして、Linuxで作業してる時なんかにいちいちファイルを ダウンロードしてExcelを開くの…

デザイナーとプログラマのわがままに応えて、テンプレートエンジンから生成されたHTMLファイルを元の部品ファイルに分割するツールを作る

Webアプリを開発する際、 最近の多くのテンプレートエンジンはHTMLをレイアウトや部品に分割して作成し、 それをextendしたりincludeしたりして1つのHTMLとして出力できるようになっている。 部品化することで、ヘッダーとかメニューとかフッターとか、 複数…

PostgreSQLでのUPSERT(INSERT or UPDATE)処理を検証する

PostgreSQLでUPSERT(データがあればUPDATEしてなければINSERT)する 方法について調べたところ、いくつか書き方があるようだ。 UPSERT処理で気になるのは同時実行された際に 重複登録されたり重複エラーが発生しないかどうかなので、 その観点で下記の4パタ…

既存のMarkdownファイルをreStructuredTextに(ざっくりと)変換する

新しいプロジェクトを開始するにあたり、 ExcelやめてSphinx + reStructuredTextでドキュメント作るようにしません? という提案をしてみたら、意外とすんなり通った。 概要 — Sphinx 1.5.6 ドキュメント reStructuredText入門 — Sphinx 1.5.6 ドキュメント …

昨日食べたものも思い出せなくなってきたおっさん(自分)のために食事履歴記録アプリをつくった

おじさんになると、 よっぽど興味を持ったこと以外はすぐに忘れてしまうようだ。 忘れるというよりも、覚えてるけどうまく思い出せない、というべきか。 今週ランチで食べたものを思い出してみようとしても、 昨日のメニューすらなかなか出てこないことがあ…

プログラムテスト用の組み合わせパターンデータをササッと作るためのテンプレ【Python/Clojure】

他の誰かが作成した検索プログラムやストアドファンクションを 修正させられる時に、 検索対象のテストデータとか プログラムに渡す検索パラメータのテスト用データを 必要なパターン分作成してテストするのだけど、 抜け漏れのないテストデータを簡単に生成…

Windows/Linuxでディスクがいっぱいになった時に、フォルダ毎に使用している容量を確認する方法

PCやサーバの容量がなくなる、というのは案外よくあるもので、 年に1回くらいそんな事態に遭遇しては、 どのフォルダ・ファイルが容量を圧迫してるんだ! 容量を調べるためのコマンドなんだっけ? とコマンドを探したりツールを探したりする。 なので、自分…

忙しいけど映画は観たい人のために、テレビ映画放映情報チェックして通知してくれるスクリプト

映画鑑賞は割と好きなのだけど、 なかなか映画館にはいけないし、 DVDを借りてもレンタル中に観る時間が取れるとは限らないし、 ということでもっぱらテレビで面白そうな映画をやってたら録画して 時間のある時に観ている。 しかしそうそうテレビ欄をチェッ…

はてなカウンターのログを分析できるようにデータベースに取り込むスクリプト【Python/Clojure】

はてなカウンターの「ログ」画面で ログを月単位でダウンロードできることを発見したので、 ダウンロードしたログを分析用にデータベースに保存するスクリプトを作成する。

ClojureでMapの内容をコンバートしたい時はforで回してできたリストをintoでMapに再変換する

Mapの内容をコンバートする方法を調べてたら、StackOverflowで良い方法を見つけた。 stackoverflow.com Mapのキーをキーワード化する時の方法についての相談で、下記のようなintoとforを使った方法が紹介されてた。 (into {} (for [[k v] my-map] [(keyword …

ClojureでExcelからPostgreSQLにデータを取り込む

Clojureの練習を兼ねて、Excelでデータを編集して簡単にデータベースに 反映できるLeiningenアプリケーションを作ってみました。 pirosuke/clj-xlsx2db データベース操作にはKormaを使ってるのですが、 使いやすくて気に入ってます。 使い方 コマンドを指定…

Twitter APIでタイムラインを分析して、フォロワーが最も活動している時間を見つける

Twitterに記事ツイートを投稿するなら、 閲覧者が多い時間帯に投稿した方が効率が良い。 ツイートが多い時間 = 閲覧者が多い時間だろう、 ということでTwitterのAPIを使って自分のフォロワーが どの曜日、どの時間帯でツイートしているのかを調査してみた。 …

ClojureでHTMLじゃないプレーンテキストに対応したテンプレートエンジンを探す

Clojure始めました。 ちょっとしたスクリプトを作成しながら勉強中です。 最初にClojureで書かれたソースを見たときは 「このカッコ地獄には絶対慣れない」 と思いましたが、 書いているうちにカッコのおかげで処理や変数の範囲が明確に なっていることに気…