その手の平は尻もつかめるさ

ギジュツ的な事をメーンで書く予定です

2015-01-01から1年間の記事一覧

tinyormで任意のcolumn名を指定できるようになってた

MySQL の lower_case_table_names について,テーブル名とデータベース名の中の大文字小文字について - その手の平は尻もつかめるさこういう話があり,column名を小文字オンリーのsnake_caseでやりたかったりすることがあります. 今までのtinyormではRow Cl…

npmとかbowerとか使ってるプロジェクトでEclipse使うと破滅するんだけど〜って人

npmとかbowerとかによって大量のjsファイルがディレクトリ中に含まれているプロジェクトでEclipse使うと破滅するんです.わかるでしょう.破滅するんですよ.滅亡です. 何故かと言うと,EclipseはWorkspaceをビルドする時にその大量のjsファイルに対してval…

Jettyを使ったリバースプロキシ構成のときに本当のアクセス元の情報が知りたいんですけど〜って時

Jettyを使ったリバースプロキシ構成をやっている時に,プロキシではなく本当のアクセス元の情報を知りたいという事があります.例えばHttpServletRequest#getRemoteAddr()とかで取りたい,みたいな.というかほとんどの場合でそういった欲求があります. そ…

Java でテストカバレッジを取る (JaCoCo編)

一種の指標になるので,なんだかんだでテストカバレッジは取りたくなります.Javaでそれをどうやるかをサッと検索すると,Coberturaを使う方法とJaCoCoを使う方法が引っかかると思うんですが,Coberturaの方はJava8のコードが含まれているとJavaNCSSの兼ね合…

URIBuilderTinyというのを書いた

URIBuilderTinyというやつを書きました.Maven Centralにもあがっています.盛り上がってまいりました.moznion/uribuilder-tinyhttp://search.maven.org/#artifactdetails|net.moznion|uribuilder-tiny|2.0.1| 一般的なソフトウェアエンジニア諸氏におかれ…

命名の話

命名の話をしました.1時間位でなんとか間に合わせで書いた資料です. よろしくお願いします. 命名の話 from moznion www.slideshare.net あと,例えばメソッド名で"get"と"retrieve"と"fetch"をどう使い分けるか,みたいな話題が出て, 僕あたりは getは単…

MySQL の lower_case_table_names について,テーブル名とデータベース名の中の大文字小文字について

MySQL には lower_case_table_names という変数があって,これはテーブル名の大文字小文字を区別するかどうかというのを設定するパラメータなわけですが,その詳細は以下のようになっています (参照: MySQL :: MySQL 5.6 Reference Manual :: 9.2.2 Identifi…

donovan という1枚 java ファイルを書けばウェブアプリを立ち上げられる WAF を書いた

※ WAF: Web Application Framework 表題の通りです.Maven Central にも上がっています.moznion/donovan avans という tokuhirom さんが書いた WAF があり,Sledge や Amon2 の流れをくむシンプルで良いフレームワークがあって,最近はもっぱらそれでウェブ…

Java でパターンに基いてランダムな文字列を生成できる random-string というのを書いた

Java 版の random-string を書いたので Maven Central にアップしました.moznion/java-random-string これはパターンに基いたランダムな文字列を生成する君です. 他言語の実装には Perl の String::Random や JavaScript のString_random.js などがありま…

git で管理しているリポジトリの各ブランチの中身をそれぞれ個別のディレクトリにエクスポートする

git

「gitもよくわからないからブランチ? だっけ? それも全部個別のディレクトリにしておいて」って言われてはい、となった— 煮込み (@moznion) 2015, 3月 20人生にはこういう事が度々あります.深く考えないようにすることにします. その結果できたのがこれ…

Servlet コンテナによって HttpServletRequest#getPart(String name) の挙動が違う

Part gotPart = httpServletRequest.getPart("hoge"); みたいなコードがあった時,送られてきた multipart リクエスト (httpServletRequest) に1つも part が含まれていない場合の挙動が Servlet コンテナによって変わってきます.送るリクエストはこんな感…

textsearch_sennaをキレイにアンインストールする

textsearch_sennaというのがあって,これはsennaを使った全文検索をpostgresqlに提供するために便利な演算子や関数を提供してくれるやつなんですが,これをアンインストールする必要が出てきた時に「インストール時に追加された関数とか演算子とかビューとか…

Servlet 3.0 から導入された multipart 関連の処理を Tomcat で有効にする術について

servlet 3.0 の multipart 関連処理を有効にする方法 - blog.64p.org これの関連なんですが.こういう設定をしておかないと,HttpServletRequest#getPart() や HttpServletRequest#getParts() が null を返してきてマジ意味わからん!!!! みたいな感じの…

GitHub Releases にホストされている成果物の最新の奴を持ってくるワンライナー

GitHub Releases でホストされている任意のリポジトリの成果物の最新のやつを持ってきたくなるという事が人生では常に起こります.そしてそういう時は GitHub API の Releases のやつを使うと良いことがわかっています. curl https://api.github.com/repos/…

:= 演算子をなんと呼ぶのか問題

:= をなんと発音していいか分からないのでずっとち◯こ演算子って読んでる。— Tomohiro Nishimura (@tomohi_ro) 2015, 2月 25 :=,個人的に「定義氏」って読んでる— 初回 (@moznion) 2015, 2月 25 定義氏ではない,定義子— 初回 (@moznion) 2015, 2月 25 定義…

CentOS 6.6 上で NVIDIA の GPU (の一部) と共に nouveau 使うと発狂して死ぬ

タイトルの通りです. CentOS 6.6 の上で NVIDIA の GPU の一部のモデルを nouveau と一緒に使うとカーネルパニックを起こして死にます.OS が起動しねえ. 一部というのは確認できた限り GTX 690 GTX 590 GTX Titan Tesla K20Xm です.Quadro 系はなぜか大…

Java で新しくプロジェクトを始めるときに何を使ってセットアップすべきか

Java で新しいプロジェクトを立ち上げる時, Maven Archetype を使う 独自のセットアップスクリプト (LL とかで書かれたやつ) を使う という2つの方法が考えられると思います (他にもあるかも知れない). さてどちらが良いのか. Maven Archetype を使う 利…

Maven Archetype で文字列を置換したりする

Maven Archetype で archetype を作るとき,文字列を置換したくなることがあります. 例えば $artifactId に foo-bar と入っている時にこれを foo_bar という風に s/-/_/g したくなる事などがあるでしょう.世の中色々あるのです.そういう時は以下のように…

Maven Archetype で ## がコメントとして扱われるのでなんとかする

Maven Archetype で archetype を作る時,archetype に含めるファイルの中に ## が入っていると行のそれ以降がコメントとして扱われる為,内容が抜け落ちてしまうというような事があります. 例えば Markdown 形式のファイルなんかを archetype 内に含めてい…

YAPC::Europe 2015 にて “Static Code Analysis For Perl” というタイトルで発表します

2015年9月2日から4日までスペインはグラナダで開催される YAPC::Europe 2015 にて, “Static Code Analysis For Perl” というタイトルで発表することになりました.実は通ると思ってなかった!! YAPC::Europe 2015 | Static Code Analysis For Perl 例にも…

相手の GitHub の ID さえ知っていれば暗号化したメッセージを送れる naisho というのを作った

色々な事情があり,秘密のメッセージを送り合う必要性が今年に入ってから多数発生していて, そのたびに毎度毎度手で暗号化して〜みたいな風にやるのめんどいですね,そうですね, ということでこの度 naisho というものをこさえました.みんなには内緒です…

git でファイルごとのコミット数を取ってきて,プロジェクト中のホットなファイルを割り出すという試み

途中の段階でプロジェクトに入った時などに,「どれがそのプロジェクトの中心となっているファイルなんだろうか」というのを手っ取り早く知りたくなる時があります.僕はあります. そこで「どのファイルが盛んに変更されているのか」という点を指標として注…

Groovy 所感

開発のサポートツールやらなにやらで,こまごましたものを Groovy でちょいちょい書いて思ったことです. Groovy で Web アプリケーションを書いたとかそういうゴツい話ではないのでそのあたりはよくわかりません. なお本記事中に出てくる Java っていうの…

CUDA で 2 枚以上の GPU を使って cufft する時は FFT Plan を各々の device に乗せる必要がある

以下は間違い. cudaSetDevice(devices[0]); cufftHandle fft_plan; cufftPlan1d(fft_plan, SIZE, CUFFT_C2C, BATCH); // ここで作られる FFT Plan は device 0 にしか確保されない cufftComplex *ffted_data[2], *orig_data[2]; cudaSetDevice(devices[0]);…

mvn test で findbugs と checkstyle を走らせて,1つでも violation があれば fail させるの術

OSS で Java をやっていく場合,ロジックのテストだけではなく checkstyle や findbugs などによる静的解析を適用して,それを CI で回していかないととてもではないがやっていけない!!! という感じになるので,そこら辺を何とかしたい. 具体的に言うと …

capture-output-stream というのを書いた

こちらも温泉で出したやつです.Maven Central にもアップしました.moznion/capture-output-stream http://search.maven.org/#artifactdetails|net.moznion|capture-output-stream|1.0.0|jar 標準出力や標準エラー出力をキャプチャする君です.キャプチャし…

javadocio-badges というのをつくった

先週の3連休で温泉シバソンというイベントを有馬温泉でやってきて,そこで書いたアプリケーションがまあまあ使えるレベルに達したので公開しました. シバソンについての詳細は以下のブログを見ていただけると良いと思います *1.僕はこのハッカソンで MacBo…

“プロトタイピング ― 模型とつぶやき”を読んだ

藤村龍至の“プロトタイピング ― 模型とつぶやき”を読んだ. これは建築設計に関する本で,プロトタイプの模型を作って,更にそれに改善を加えた模型を作って,またそれを繰り返して……という感じで,設計を完成形に持ち込むという手法が紹介されている (“超線…

ベンチマークを取り続ける為にやってる小技

たしか,実践ハイパフォーマンスMySQL に書いてたテクニックだと思うんですけど.ベンチマークを取る時に同時に lock file を作っておいて,それが存在し続ける限りベンチを回し続ける,という風にすると何かと便利. setvbuf(stdout, NULL, _IONBF, 0); // …

Mac OS X で Eclipse を開くと環境変数を引き継がないので端末から起動するようにした

Mac OS X (手元の環境はバージョン10.10.1) で Eclipse (手元の環境はバージョンは Luna 4.4.1) を開くと環境変数を引き継がないので,IDE 上でプログラムを走らせたりテストを実行したりするとコケる場合があって厳しい気持ちになります.端末上から Eclips…