ElixirのEctoでWHERE文に変数を利用する

SELECT * FROM members WHERE name LIKE '%hoge%';

のようなLIKE句の文字列を変数にしたい時の方法です。

リクエストパラメータの、wordというパラメータを利用する場合:

def index(conn, params) do
    query = from member in members,
        where: like(member.name, ^("%#{params['word'}%")), 
        select: id,name,email
    query |> Repo.all
end

(参考) 直接SQL文に記述することも出来ます。

{:ok, result} = Ecto.Adapters.SQL.query(Repo,
      "SELECT id,name,email FROM members WHERE name LIKE '%#{word}%' ",[])


プログラミングElixir

プログラミングElixir

node.jsでサブディレクトリまで一度に作成してくれるmkdirpが便利

node.jsでディレクトリを再帰的に作成してくれるモジュールです。
"mkdir -p"コマンドを実行するのと同じです。

インストールは簡単。

npm install mkdirp

ディレクトリを作成するサンプルです。

const mkdirp = require('mkdirp');

mkdirp('./foo/bar/baz', err => {
    if (err) console.error(err)
    else console.log('success!')
});

地味に便利です。
github.com

四角大輔さんと直島に行った夏の思い出

瀬戸芸、瀬戸内国際芸術祭の季節が今年もやってきた。
瀬戸芸は、美しい瀬戸内海の島々を舞台に3年に一度開催される現代アートの祭典。

今年の夏は行けそうにないけど、3年前の夏に行った時のことを思い出した。
学生だった私は岡山に住んでいて、四角大輔さんと直島に行く機会があった。

続きを読む

Google人工知能チームの「15分ルール」

問題が起きた時は

【1】最初の15分は自分自身で解決を試みる
【2】15分後も解決していなかったら必ず人に聞く

前者を守らないと他人の時間を無駄にし、後者を守らないと自分の時間を無駄にする。

Google Brain は Google の人工知能の研究部門です。

How Google Works (ハウ・グーグル・ワークス)  ―私たちの働き方とマネジメント

How Google Works (ハウ・グーグル・ワークス) ―私たちの働き方とマネジメント

  • 作者: エリック・シュミット,ジョナサン・ローゼンバーグ,アラン・イーグル,ラリー・ペイジ,土方奈美
  • 出版社/メーカー: 日本経済新聞出版社
  • 発売日: 2014/10/09
  • メディア: 単行本
  • この商品を含むブログ (17件) を見る
サーチ・インサイド・ユアセルフ――仕事と人生を飛躍させるグーグルのマインドフルネス実践法

サーチ・インサイド・ユアセルフ――仕事と人生を飛躍させるグーグルのマインドフルネス実践法

  • 作者: チャディー・メン・タン,ダニエル・ゴールマン(序文),一般社団法人マインドフルリーダーシップインスティテュート,柴田裕之
  • 出版社/メーカー: 英治出版
  • 発売日: 2016/05/17
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログ (2件) を見る