decochのブログ

フリーランスのiOSエンジニア decoch のブログです

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

SchemaPolicyCheckでDB設計ルールを自動チェックしよう

目次 SchemaPolicyチェックとは 設定方法 SchemaPolicyチェックとは プログラミングをする際にはコードのチェックスタイルを使っていると思います。 Ruby では rubocop, JavaならIntelliJやEclipseのフォーマッタが一般的ですね。 コードよりも気軽に変更で…

Elasticsaerchでサジェスト検索を作ってみよう

目次 Elasticsearch の説明 検索の基礎知識 サジェスト検索をやってみる まとめ Elasticsearchとは Elastic社が開発している全文検索エンジンで、リアルタイムデータ分析、ログ解析、全文検索など様々な用途に使われています。 検索の基礎知識 Elasticsearch…

DBFlute-IntroでDB変更履歴を管理する

目次 HistoryHTMLとは 実際にHistoryHTMLを生成する コメントを書こう まとめ HistoryHTMLとは スキーマの変更履歴を人が見やすい形にまとめたドキュメントです。 DBFluteが自動生成のためにメタデータを取得するたびに、一つ前のメタデータと内容の比較をし…

Railsで外部キー成約を追加した際のIndex名のまとめ

普段 Ruby on Rails でつくられたWebサービス開発をしています。 この前、既存カラムに外部キー成約(FK)を追加したとき普段と違う命名の index名になってしました。 FK追加時にどのような index 名になるのか気になったので、いろいろなパターンを試してま…

Railsのスキーマ情報をDBFlute-Introで管理しよう

前回 DBFlute-Intro を使ってデータベースのドキュメントを管理する方法をまとめました。 decoch.hatenablog.com 私は普段、Ruby on Rails でWebサービスの開発をしているのですが、その際にいくつかエラーが出てしまったのでその回避方法をまとめます。 DBF…

DBFlute Intro を使ってデータベースのドキュメント管理を楽にしよう

以前、開発人数の多いサービスで働いているメンバーから、「データベースにコメントは残したいんだけど、DB変更の手順が面倒だったり、レビューにはDBAの人が必要で気軽にできないんだよー」という悩みを耳にしました。 DBFlute Intro ではDB変更なしでドキ…

「DBFlute Intro」の開発をしています

今回は、数年ほど前からOSSで密かに開発/リリースしていたDBFlute Introについて紹介させていただきます。 github.com 詳しい説明はこちらを御覧ください。 dbflute.seasar.org そもそもなぜ開発をすることになったのか DBFluteの作者である jflute さんと会…

画面の録画を使ってエフェクティブなレビューをしよう

GitHubを使ったチーム開発をしていると相互にレビューし合う機会が多くあると思います。 ただ、文字の情報だけだと指摘したい内容がうまく伝わらなくて手戻りが起きることが多くあったので、画面の録画ができる「KAP」というツールを使って効率化を図りまし…

Mac上にWindowでの確認環境を用意する

Webで開発をしているとWindows端末での確認をする機会があり、共有のWindows端末を使って確認を行っていました。 毎回Windows端末を借りるのは面倒ですし他の人が使っているときに確認ができないので、VirtualBoxを使ってテストように環境の構築をしました。…

GCPのローカル環境をDockerを使って効率化しよう

最近 Google Cloud Platform を上のサービスを開発する機会に恵まれ、Datastore、BigtableやPub/SubなどGCPのクラウドサービスを利用する機会が増えてきました。 decoch.hatenablog.com 以前こちらの記事で起動の自動化をしたのですが、 インストールするの…

AndroidアプリのUIテストライブラリ

Androidアプリの主要な動線を自動テストしようかなーと思っていて、いろいろ調べたのでメモ的に残しておく Espresso 各画面のUIテスト Unitテスト形式で記述(Kotlin or Java) 複数Activityをまたぐのが難しいので、シナリオテストっぽい形式には向かない App…

CircleCIミートアップに参加しました

CircleCIミートアップに参加しました。 3/5 (火) にメルカリ様オフィスで開催された「第2回CircleCI ユーザーコミュニティミートアップ 」に参加しました。 今回はお声がけをいただき登壇までさせてもらいました、ありがとうございます! speakerdeck.com 今…

LINEに通知を行うCircleCI Orbを作った

前回に引き続き今回は LINE 通知を行う CircleCI Orb の使い方に関して書かせていただきます。 https://circleci.com/orbs/registry/orb/decoch/line github.com こんな感じで使います。 version: 2.1 orbs: line: decoch/line@1.0.0 jobs: build: docker: -…

Chatworkに通知を行うCircleCI Orbを作った

CircleCI Orb とは作成した CircleCI の設定を使い回すことのできる仕組みで、公開されている Orb は Orb Registry にあります。 https://circleci.com/orbs/registry/ Slack通知やLine通知(自作)は既に存在しているのですが、Chatwork への通知する Orb が…

direnvを使ってGo言語のプロジェクトの設定をする

私の所属するチームでは、DBの接続するURLや認証キーなどの秘密情報は環境変数を使って管理しています。 また、Go言語はGOPATHの直下にレポジトリを置くことが多いですが、1レポジトリで複数のサービスをまとめて管理しているためGOPATH以外のパスでレポジト…