decochのブログ

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

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以外のパスでレポジト…

CircleCI Workflow で Job間でファイルを共有する方法

私は現在CircleCIを使って自動テストの実行、検証環境のデプロイ、本番環境のデプロイを自動化しています。 babel などでビルドしたファイルをサーバーから配信する必要があり、後続のJobにビルド結果を共有する必要が出てきました。 それをCircleCIの機能を…

CircleCI Orbs ミニハッカソン に参加しました

12/15 (土) に開催された「CircleCI Orbs ミニハッカソン」に参加しました。 circleci.connpass.com イベントのハッシュタグ「#circlecijp」 流れ CircleCI 2.1 (Orbs) に関する説明 ハッカソン ランチ ハッカソン 発表タイム CircleCI 2.1に関して 2.1 の新…

Gopher道場 #4 に参加してきました

11~12月で開催されたGopher道場 #4 に参加してきました mercari.connpass.com もともとのスキルレベル Golang歴は今年の5月から半年ぐらい業務で使っている 基本的な文法は理解して、APIサーバーを作っている ゴルーチン、チャネルを使った平行処理は実装し…

VaporとLeafを使ったサンプルアプリケーションの実装

はじめに Vapor Advent Calendar 2018の2日目の記事です 今回はLeafを使って、サーバーサイドレンダリングを行うサンプルアプリケーションの実装をしていきます。 アプリの作成 まずはVaporのコマンドを使ってアプリの雛形を作成しましょう。 vapor を brew …

GCPのローカル開発環境を効率化する方法(Mac版)

最近 Google Cloud Platform を上のサービスを開発する機会に恵まれ、Datastore、BigtableやPub/SubなどGCPのクラウドサービスを利用する機会が増えてきました。 ローカル開発をする際にエミュレーターを使っているのですが、公式ドキュメント通りに環境を構…

「スクラム実践入門 ── 成果を生み出すアジャイルな開発プロセス WEB+DB PRESS plus」を読んだ

私が所属する会社で全社的にスクラムを推進していて、チーム内でもスクラムについて話題に上がることが多かったので、詳しく学びたいと思い「スクラム実践入門」を読みました。 タイトルどおり実践的な内容が多く、実際に導入する際は事前に復習したい内容が…

Google AppEngine を使ったサーバーレスアプリ運用

Google AppEngine とは Google App Engine は、Google のインフラの上でアプリケーションを作り、実行できるようにする PaaS です。 Google App Engine とは? | App Engine | Google Cloud デフォルトで用意されている機能が非常に強力で、1インスタンスであ…