Skip to content

Instantly share code, notes, and snippets.

@ryo-murai
ryo-murai / build.gradle
Created July 26, 2012 01:27
gradle script for download some files via http
import java.io.*
import groovyx.net.http.HTTPBuilder
import groovyx.net.http.EncoderRegistry
import static groovyx.net.http.Method.*
import static groovyx.net.http.ContentType.*
buildscript {
repositories {
mavenCentral()
@ryo-murai
ryo-murai / sprintdatajpa.md
Created September 18, 2012 04:57
Spring DATA JPA概要

Spring DATA JPA

はじめに

  • Spring DATA JPAは、Spring Frameworkの拡張ライブラリ。springframework-jdbcシリーズか springframework-ormシリーズのようだが、安定したら本流に組み込まれるのかもしれない。
  • この記事の執筆時点のバージョンは SPRING DATA JPA 1.1.0 GA
  • Spring DATA JPAは、JPAの機能をベースに 汎用的な Repositoryの機能を提供する。
  • ちなみに、Repositoryというのは、ドメイン駆動設計(Domain Driven Design)のパターンのひとつで、ドメインのEntityのCollectionのように振舞う責務を持つ。例えば CustomerRepositoryならば、システムに存在するCustomer EntityたちをCollectionに保持するかのように振舞う。
  • PoEAAにもある。参照
  • もちろん本当のCollectionに保持したら大変なことになるので、バックエンドではデータベースアクセスが行われたりするわけだが、そういったことを抽象化する。
@ryo-murai
ryo-murai / querydsl-sql.md
Created September 18, 2012 08:56
QueryDsl-SQL概要

QueryDsl-SQL

はじめに

  • QueryDslは、Open Sourceのライブラリ。クエリを型安全で流れるようなインタフェースDSL (Java内部DSL)で記述することができるライブラリで、JPAのCriteria APIに変換するDSLと、直接SQLに変換するDSLとがある。
  • JPAの方については、QueryDslのBlog記事を見れば他にいうことはほとんどないので、この記事ではSQLの方について書く。
  • この記事の執筆時点のバージョンはQueryDsl 2.7.2

基本的な使い方

  • QueryDsl-SQLが提供する antタスク com.mysema.query.sql.ant.AntMetaDataExporter を用いると、データベーススキーマから Java Beanとメタクラスを生成してくれる。今回は下記のようなリレーションをもつBeanを生成した前提の例である。
@ryo-murai
ryo-murai / scalatest-matcher.md
Last active February 24, 2021 02:13
Matchers in scalatest

Matchers in scalatest

scalatestでは a should be (b)のように、「検査対象の値が〜であること」(この例では「abであること」)という書き方をする。 「〜である」を指定する方法(Matcherと呼ぶ)がいくつかあるので簡単にまとめてみる

等価性(equality)

  • 上記の例のように be の後の()の中に期待値を書く。 name should be ("scala")
  • be の代わりに equal も使える。
@ryo-murai
ryo-murai / msysvim_scalasyntax.sh
Last active January 1, 2016 12:09
scala syntax highlighting for msysgit vim.
#!/bin/bash
vimdir=/usr/share/vim/vim74
mkdir -p $vimdir/{ftdetect,indent,syntax}
for d in ftdetect indent syntax
do
curl -o $vimdir/$d/scala.vim https://raw.githubusercontent.com/scala/scala-tool-support/master/tool-support/vim/$d/scala.vim
done
for f in html javascript css vb
@ryo-murai
ryo-murai / readme.md
Last active August 29, 2015 13:56
VIM備忘録

VIMのコマンド備忘録(自分用)

  • 自分のよく使うもの
  • 自分の忘れやすいもの
  • 網羅的ではない。自分用メモ
@ryo-murai
ryo-murai / ie.ps1
Created March 28, 2014 02:32
IEが10秒ごとに開いて閉じるだけで離席時のロッk
# powershell -executionPolicy unrestricted -command "ie.ps1"
while($True) {
#$shell = New-Object -COM WScript.Shell
#$ie = $shell.CreateObject("InternetExplorer.Application")
$ie = New-Object -Com InternetExplorer.Application
echo "launching ie"
$ie.navigate2("about:blank")
sleep 1
$ie.visible=$true
@ryo-murai
ryo-murai / scala-ss.md
Last active March 10, 2016 02:13
社内でちょろっとやるscala勉強会スライド

いまさら学ぶScala


Scalaとは

マルチパラダイムなプログラミング言語

  • 関数型とオブジェクト指向
@ryo-murai
ryo-murai / flatten.ps1
Created February 7, 2015 13:40
タイムスタンプでファイルを整理する
dir -Directory | % { $d = $_
move "$d\*" .
rmdir $d
}