Posix Sed で改行を出力する方法

Published at: 2019/04/09

Posix Sed で改行を行う方法が、自明ではなかったのでまとめておく。$ echo hogehoge | sed -e "$(printf 's/hogehoge/hoge\\\nhoge/g\n')" hoge hoge $この挙動は、 posix の sed command の説明ページに記載がある。The application shall escape the <newline> in the replacement…

Rails の Migration で「Lost connection to MySQL server during query」と言われた際の対処方法

Published at: 2019/03/13

TL; DRread_timeout: タイムアウト秒数を config/database.yml に書く。詳細Lost connection to MySQL server during queryと言われながら、Rails で MySQL の既存の(巨大な)テーブルに index を追加する migration が失敗した。 ので、その原因を調査した際のメモ。 いろいろな情報がすごくミスリーディングだったりするので、ここにまとめを作っておく。まず、 MySQL サーバーはコネクションに対して、それがとてつもない Slow Query だったからといって、勝手に abort したりするようなことはしない。 …

MySQL で json 配列の要素一つ一つをレコードとする

Published at: 2019/03/02

MySQL で json カラムを用いた場合、その中身に json 配列を記録することができる。 普通に機能を開発していくと、この json 配列の中身から、その要素一つ一つを SQL 上のレコード1行に展開したい場合が出てくる。 それを実現するためには、 MySQL 8.0.…

mysql で json の中のオブジェクトからその値を json 配列で取得する

Published at: 2019/02/26

やりたいことmysql の json フィールドに json オブジェクトがあるとき、オブジェクトのキーは JSON_KEYS で取得ができるが、 一方でオブジェクトの値(value)の一覧を json 配列で取得したいと思った。やり方 -> '$.*' を用いることで、これが実現可能。クエリ例with json_objs(json_col) as ( select CAST('{"key1": "value1", "key2": "value2"}' AS JSON) UNION ALL select CAST('{"key3": "value3", "key4": "value4"}' AS JSON) ) select json_col->'$.*' from json_objs実行結果+----------------------+ | json_col->'$.*' | +----------------------+ | ["value1", "value2"] | | ["value3", "value4"] | +----------------------+

You should not use `dbi` gem in Rails project.

Published at: 2019/02/25

TL; DRYou should not use dbi gem inside Rails project.Otherwise, you'll get an error something like:{:sanitize_conditions=>:sanitize_sql} is not a symbol nor a stringDescriptionIn Daru, it seems to support Daru::DataFrame#write_sql method, which seems to support data insertions from Dataframe according to the doc. …

jekyll でのタグの取り扱いについて

Published at: 2019/02/24

このブログのタグページを作りたいだけなのだけれども、 やたら情報が錯綜していて苦労してしまったので、 備忘を兼ねて記録を残す。一言でjekyll-archives を使いましょう。公式 Plugin ページ にも載っていて、ほぼほぼ安定していると思われます。作業手順Gemfile に以下を追加。group :jekyll_plugins do gem 'jekyll-archives' end_config.yml に次を設定plugins: - jekyll-archives # その他 plugins... jekyll-archives: enabled: [tags] layouts: tag: tag permalinks: tag: '/tags/:name/'_layout/tag.html に以下を作成--- layout: default title: {{ page.title }} --- <h1>'{{ page.title }}' の一覧</h1> {% for post in page.posts %} <!-- post を使って何かやる。 index.html と同じ感じ --> {% endfor %}…