HerokuからElastiCache(Redis)へのアクセス

既存のWebサービスでセッションストアにAWSのElastiCache(Redis)を使用しているが、それに対し新たに立ち上げるHerokuサーバからアクセスできないかを検討した。 まず第一に、ElastiCache上のRedisではパスワード認証を行うことができない。 Amazon ElastiCa…

年月でループする

指定した期間の年月ごとにループするシェルスクリプトを作ってみた。意外と面倒くさかった。 用途としては、ログを年月ごとに分けたりとか、ディレクトリを年月ごとに作ったりとか、そんなのに使えると思う。 #!/bin/sh START_YEAR=2012; START_MONTH=1 END_…

Markdown用のリンク記述を取得するブックマークレット

Markdown記法で外部リンクを記述したい。その場合にURLだけでなくそのページのタイトルもテキストとして記載したい。そんな時のためのブックマークレット。 javascript:window.prompt('', '[' + document.title + '](' + location.href + ')' ); 実行すると…

Boostrapのリッチテキストエディタプラグイン: bootstrap-wysiwyg

Twitter Bootstrapネタ。 Githubのexploreページでホットなプロジェクトのいくつかを眺めていたら、Bootstrap用のリッチテキストエディタを実現するjQuery Plugin : bootstrap-wysiwygを見つけた。 試しにドキュメントを参照しながらjsFiddleで作成してみた…

RequireJSでのライブラリの依存設定

RequireJSを使って以下のようにjQuery-UIを利用するコードを記述したところ、 JSエラーが出た。 define([ '../bootstrap/bootstrap', '../jquery/ui/jquery-ui.custom', '../jquery/ui/jquery.ui.widget', '../jquery/ui/jquery.ui.mouse' ], function(){ ..…

Gitのpre-commitフックでgruntビルドを実行

前回の記事でJS Hint、CSS Lint 等をGruntを使って実行する方法を書いたが、gruntビルド自体を実行することを忘れてコミットしてしまったらあまり意味が無いので、コミットする直前に実行するようにしてみた。 プロジェクトの.git/hooks以下に pre-commitフ…

GRUNT とJSHintのコードチェックをビルドプロセスに組み込む

はじめに JavaScript にはJSHintというコードチェッカーが存在する。このチェッカーの実行を、タスク実行ツールGRUNTを使ってビルドプロセスの中に組み込む方法を試してみた。 以下の英語のブログ記事を参考にした。 Let tools define JavaScript style GRUN…

誕生日から星座を取得するライブラリ

誕生日から星座を取得するライブラリを作った。 Dateオブジェクトを渡して {id: 1, name: 'やぎ座'} の形式のオブジェクトを返すfunction。ついでにJSFiddleのiframe埋め込みを使って貼り付けてみた。 JSFiddleでmochaを使う設定はこちらのテンプレートサイ…

Ruby on Railsへの道

ようやくたどり着いた。。行き着くべき場所に。。 自分が今までWebアプリケーション開発で利用してきたフレームワークを順に並べてみると以下のようになる。 SAStruts(Java) Slim3(Java-Google App Engine) CodeIgniter(PHP) Express(JavaScript-Node.js) あ…

GitベースのWiki gollumを使い始めた

よさげなWikiを求めて 技術Tipsとかをまとめておきたいけど公開まではしたくない..みたいなプライベートWikiが欲しくてよさげなものを探してみた。 dokuwikiとかも試してみたけど、デザインがシンプルなgollumがよさげだったのでこれにした。Githubっぽいし…

Redisのメモリ使用量がmaxを超えた場合の挙動

Redisのメモリ使用量がmaxを超えた場合の挙動について検証してみた。環境: version: 2.4.16Redisではタイムアウト時間を設定したキーは時間を超えると自動で削除され、タイムアウト時間を設定しないと永続的に保存される。また、メモリの空き領域がなくなっ…

Google App Engineアプリ Category Editor を公開しました

カテゴリを編集するためのアプリ Category Editor を公開しました。Google App Engine for Java を利用しています。このツールは、ツリー構造のデータを編集するためのものです。Googleアカウントでログインすることで、自身が作成したカテゴリツリーを保存…

appspot.com 環境でリダイレクトループしてしまう

appspot.com環境にアプリケーションをデプロイし、存在しないURLにアクセスすると、404エラーとならず以下のようなリダイレクトループが発生してしまった。 開発環境では発生しなかったのに、何故?という感じで調べていると、以下のような情報が。。 @knj77…

App Engine for Javaでのデプロイ時にBad Requestエラーが出て認証できない

App Engine for java でアプリケーションをデプロイしようとしたところ、以下のエラーが発生した。 com.google.api.client.http.HttpResponseException: 400 Bad Request at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:209) at com.g…

Slim3でのHot deploy時 ClassCastException

Google App Engine for Java & Slim3 /Google SDK : 1.4.2 開発サーバで以下のエラーが発生した。なにやら、Hotデプロイ時にエラーになっているらしい。 HTTP ERROR 500Problem accessing /testdata. Reason: If you use MemcacheService or JCache, use org…

Seasar2 S2AOP デフォルトで用意されているInterceptor使用例

traceInterceptor java.util.Date() に対してtraceInterceptorを設定した例app.docon <components> <include path="aop.dicon" /> </include></components>

FizzBuzzをJavaでやってみる

有名なFizzBuzz問題というのを解いたことがなかったのでやってみた。1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と,5の倍数のときは「Buzz」とプリントし,3と5両方の倍数の場合には「FizzBuzz」とプリン…

JavaScript独自プロファイラ

処理と処理の間の時間を計測する独自プロファイラを作成した。拡張可能なように、関数型コンストラクタにて実装。(jQueryクックブックの5-8を参考にした) var profiler = function (my, spec){ var that = {}; my = my || {}; var log = []; var first; va…

Chrome拡張AutoPatchWorkはEvernoteと相性が良い

Google Chromeの拡張ツールでAutoPatchWorkというソフトがあります。このツールとEvernoteとの相性がとても良いです。このツールはオートページャー機能というのを持っています。Webページの端までスクロールすると、次のページを自動で探しに行き、そのペー…

Javaでの文字数カウント(サロゲートペア)に関する実験2

正規化できないアイヌ語表記用文字の扱いに関して 前回の記事で、サロゲートペアが含まれていた時の文字数カウントについて書いた。Javaでの文字数カウント(サロゲートペア)に関する実験1 その中で対処方法の一つとして、合成文字(「か」+「゛」(濁点)のよ…

Javaでの文字数カウント(サロゲートペア)に関する実験

「プログラマのための文字コード技術入門」を読んで。Stringの文字数をカウントする時、String#length()メソッドでは厳密に文字数をカウントできない場合があるという。 実験 実際にそのケースを試してみる。 本来5とカウントしたいところが、7とカウントさ…

Google ChromeでHTTPヘッダテキストを確認する方法

Google ChromeでHTTPヘッダのテキストを確認する方法です。 アドレスバーにchrome://net-internals/を入力しアクセスします。 net-internals は、chromeが用意する開発者向けのページの一つです。ネットワーク関連の情報をここで閲覧することができます。そ…

「SEのための図解技術」を読んで

SEのための図解技術 (ネクストエンジニアSELECTION)posted with amazlet at 10.10.17開米 瑞浩 翔泳社 売り上げランキング: 167469Amazon.co.jp で詳細を見る 読む前は、図解のテクニックをいくつも紹介するハデな内容を想像していたが、良い意味で覆された。…

ブックタワーで本を整理

ブックタワーというのを購入してみました。最近、本棚からあぶれてしまった本がかなりあり、整理がつかなかったためです。 なんと、60冊近く載せることができました(文庫本も含んでいますが)。安定感もいいです。本が本棚に入りきらず、平積みになってたま…

ビジネスマンのための読書力養成講座

ビジネスマンのための「読書力」養成講座 (ディスカヴァー携書)posted with amazlet at 10.10.05小宮 一慶 ディスカヴァー・トゥエンティワン 売り上げランキング: 9998Amazon.co.jp で詳細を見る 目的に応じた5段階の読書法が紹介されている。 速読 通読レ…

便利なChromeの既定の検索エンジン

Google Chromeのアドレスバーは検索エンジンとしても利用できます。任意の検索エンジンを設定することができ、検索する時はその都度使いたいエンジンを選択できます。設定、検索の仕方はこちらの記事が参考になるかと思います(Google Chromeのヘルプはこちら…

『できる社員は「やり過ごす」』を読んで -3回同じことを言われたら初めてやればいい

「指示されてもすぐにやらないで3回同じことを言われたら初めてやればいい。」 以前の職場でやり過ごしがとてもうまい人がいた。その職場は上司にかなり思いつきで指示を出す人がいて、指示を出したはいいが内容があいまいであったり、その通りにやると1週…

『オブジェクト指向でなぜつくるのか』を読んで

OOP

オブジェクト指向でなぜつくるのか―知っておきたいプログラミング、UML、設計の基礎知識―posted with amazlet at 10.09.26平澤 章 日経BP社 売り上げランキング: 12962Amazon.co.jp で詳細を見る 『オブジェクト指向でなぜつくるのか』を読んだ。今まで自分…

Javaでブレークポイントを利用してデバッグ出力

JavaScriptでブレークポイントを利用して、デバッグ出力を行う方法が紹介されていました。 Firebugでは条件付きブレークポイントが使えるので、 scriptタブにて該当行にブレークポイントを貼り、 条件としてconsoleへの出力を||区切りで、最後に&& falseを入…

WebのSQL整形ツール SQL整形

WebでSQL整形が行えるツールです。(Komaさんという方が作ったソフトのようです) SQL整形:http://koma.webso.jp/2010/04/sql.html SQLを入力してSQL整形ボタンを押すとSQLのインデントを整えて整形してくれます。SQLを整形してくれるツールというと、フリーソ…

エンドロールのようなJavaプログラム

※Java Tipsではないのでご注意を。 今までの開発の現場で、エンドロールJavaプログラムに遭遇することが何度かありました。 エンドロールJavaプログラムというのは私が勝手につけた名前です(; ̄ー ̄ イメージ的には、こんな感じのプログラムです。 import j…

仕事のキリのつけ方

こんな悩みは普通あまりないのかもしれませんが、私は仕事のキリをつけるのが苦手です。 たとえば20時までに仕事を終わらせようとか決めていたとしても、19時ぐらいから仕事が盛り上がってしまい、延々と続けてしまって23時なんてことも・・、よくあります。…

Libron : Amazon検索時の図書館蔵書存在確認ツール

Firefox,Chromeの拡張プラグインで便利なものを見つけました。 Amazonでの本の検索時に、近くの図書館に蔵書が存在するかをチェックし、それを同時に表示するというものです。 自身、最近Amazonで本を衝動で買ってしまうことが多いのですが、買ってしまった…

パスワード管理サービス PassPack

色々なサイトやサービスにアカウントを作っていくとIDやパスワードの管理がとても大変です。 本来はあまり色々なところにアカウントを作成したくないところですが、現行では多種多様で便利なWebのサービスが増えていますので、やむを得ない部分があるかと思…

関数型コンストラクタ 継承サンプル : JavaScript The Good Parts

「JavaScript:The Good Parts」 5章-5.4 でプロトタイプ継承に代わる継承方法としてnew演算子を使わない関数型コンストラクタが載っています。そのサンプルコードも記載されていましたが、それだけではまだ実際のイメージがつかみにくい部分があるのと、プラ…

ブログ開設しました よろしくお願いします

このたびブログを開設させていただきました。主にプログラミングの話題(JavaScript等)や、趣味、その他全般について語りたいと思います。 今回始めたきっかけは、以下3点が理由としてあります。 1つは、自身の表現の場としてです。自分自身が思っているけれ…