GO言語でユニットテストを実践する
GO言語でユニットテストを実施するため、Goglandの設定を紹介します通常のテストプログラム実行方法プロジェクトがあるフォルダで、以下コマンドを実行しますgo...
View ArticleMacでPostgreSQLの環境を整える
PostgreSQLを使うために、Macにインストールしたときの手順をまとめますPostgreSQLのインストールフォルダの権限を調整インストールで参照ができるように、権限を変更します。 $ sudo chown -R【ログインユーザー名】 /usr/local過去のファイルを削除古いバージョンのファイルを一掃します。$ sudo rm-rf /usr/local/var/postgres...
View ArticleWealthNaviで資産運用を始めて一年半
ロボアドバイザーのWealthNaviの利用を始めて、丁度一年半経ちました。せっかくなので、前回の成績から半年経った成績をお見せしたいと思います。kikki.hatenablog.com背景自分の運用では、投資で良い成果を出せなかったので、巷で話題のロボアドバイザーの一つで遊んでいます。私は、いくつかのサービスの中で、WealthNaviのサービスを利用しています。理由としては、サービス自体の機能の...
View ArticleSpringでJPAを使ってDB操作を行う
本章では、Spring Bootでも利用される、JPAの初歩的な使い方について、さわりを共有します。データモデルの準備まずデータモデルを定義しますimport javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table...
View ArticleSpringでJPAを使ってDB操作を行う -2-
本章では、JOINを利用したクエリの作り方や並び替え、LIMIT・TOP句の使い方までを共有します。JOIN句の使い方まず JOINでの定義方法について、紹介します。Entityの関係は以下の通りです。 HogeParent└ HogeChild親子で「HogeParent : HogeChild = 1 : 多」の関係を想定して話を進めます。説明については、コードのコメントアウト中に記述しました。...
View ArticleGolangでyamlの構造化データをシングルトン化する
本章では、Go言語でYamlファイルを読み込み、構造化したデータをシングルトンとして利用する方法について共有します背景本番環境とローカル環境で、プロジェクト独自の設定を分離して記述して使い分ける必要がありました。そこで、yamlなどの設定ファイルを用意し、「flag」を用いて実行時の引数で設定ファイルの読み替えを行うことで、実現することとしました。そして合わせて、yamlの構造データをシングルトン化...
View Article3歳4歳の子どもを抱える、ディズニーを知らないパパの一日奮闘記
今後、東京ディズニーランドに初めて参戦するパパに参考になればと思い、ディズニーランドでの過ごし方を共有します。背景ある日、3歳の子どもがもうすぐ4歳の誕生日を迎える時期で、子どもが無料で利用できる期間中に、東京ディズニーランドを経験させておきたいと、妻から提案されました。私自身は、元々、西の人間で、ディズニーランドへは中学生の時に修学旅行で参加した程度しか知りませんでした。当時も園内には人が多く、ア...
View ArticleSpring BootをIntelliJで実行する
本章では、Spring BootをIntelliJで開発したときの設定について共有します。Run Configurationsの設定IntelliJで、SpringBootを実行する際に、実行時の設定をします。その際に、Run Configurationsを設定する必要があるのですが、設定に少し迷いましたので、注意点を以下に示します。実行の設定をprofileで切り替えている場合、VM...
View ArticleGolangでデータベース接続する
本章では、GO言語でデータベース接続する方法について共有します。前提今回は、MySQLで接続する方法についてお伝えします。開発環境では localhostに接続する方法を、本番環境ではGoogleのCloudSQLに接続する方法について説明します。準備GolangでMySQLを利用する際には、以下のライブラリを利用します。sql - The Go Programming...
View ArticleGolangのプロジェクトをGAE(flex)とローカル環境で動作させる
本章では、Golangのプロジェクトを、Google App Engine (flexible)...
View ArticleGolangでバリデーションチェックを行う
本章では、Go言語でバリデーションチェックを行う方法について共有します。前提WEBアプリで利用する目的で、バリデーションチェックを準備します。構成は、以下の通りです。forms webのリクエストフォームを定義した構造体。バリデーションチェックで利用するルールも定義します。webs...
View ArticleGolangで外国語の校閲を行う
本章では、GO言語で外国語の校閲を行う方法について共有します。背景MicrosoftのWordを使えば、文言に間違いがあれば、赤線で間違いを指摘してもらえます。その仕組みを機械的に検査できないかといったニーズがあり、検討を開始しました。WEBサービスとして提供することを検討していたため、WordをAPIとして利用することはライセンスの観点からも考えてもちろんNGです。そこでCloudのマネージド・サ...
View ArticleAndroidで意味不明なエラーが頻出したときの初歩の初歩の間違い
本章では、Androidアプリをチームで開発していて、意味不明なエラーログが表示されたとき、初歩の初歩の解決方法について共有します。背景開発対象がAndroidアプリなので、当然、IDEとしてAndroidStudioを利用していました。アプリのプロジェクトをIDEにインポートしてビルドを行ったりしていたときに、以下のダイアログが表示されていました。過ち説明も何も特に読まずポチポチと操作していたこと...
View ArticleGolangでApp Engine Standard Editionを動作させる
本章では、Go言語で開発したプログラムをGoogle Cloud Platform (GCP)のApp Engine (Standard Edition)で動作させる方法について共有します。はじめにApp Engineは、自動でスケーリングし、高可用性なフルマネージドなバックエンドサービスを構築できます。App Engineには、Standard EditionとFlexible...
View ArticleSpringBootのアプリをAmazon ECSで動作させる
本章では、Amazon Elastic Container Service(Amazon ECS)を利用して、Spring Bootのアプリをコンテナ上にデプロイする方法について共有します。Amazonにはコンテナのマネージドサービスが用意されています。Dockerコンテナのイメージを登録しておくAmazon ECRと、コンテナを実行し簡単にスケールできるAmazon...
View ArticleCloud Pub/Subを使って、負荷を低減するWebサーバーを構築する
本章では、Google CloudのPub/Subを利用して、Batchアプリを構築する方法について共有します。はじめにWebアプリでは、Front EndのWebサーバーに負荷のかかる処理をさせないことが、高パフォーマンスなサービスの秘訣になります。そのため高負荷の処理は、Back Endのサーバーで行います。Google CloudのApp...
View ArticleEspressoでUIテストを自動化する
本章では、AndroidでEspressoを用いた、UIテストの作成方法について共有します。最新の記事はこちらkikki.hatenablog.comEspressoとはEspressoによるUIテスト作成事前準備テストで使用する便利関数テストコード本体筆休めEspressoとはEspressoは、Google for...
View ArticleXCUITestでUIテストを自動化する
本章では、iOSでXCUITestを用いた、UIテストの作成方法について共有します。XCUITestとはXCUITestによるUIテストの作成事前準備テストで使用する便利関数テストコード本体筆休めXCUITestとはXCUITestは、XCodeに付属したUI上でテストを実行できるテストフレームワークです。...
View ArticleEspressoで下タブメニューのタップ操作やWebViewコンテンツの検証を行う
本章では、Espressoを用いて、下タブメニューのタップ方法とWebViewコンテンツの検証方法について共有します。最新の記事はこちらkikki.hatenablog.com背景コード筆休め背景前回までのコードでは、Androidでメニュー操作ができない問題が発生しました。 kikki.hatenablog.com...
View ArticleGolangでいい感じのMiddlewareを作る
本章では、Go言語でいい感じのMiddleware構成を検討してみたいと思います。前置きMiddlewareは、通常、OSとAPPとの中間ソフトウェアを指しますが、ここではGolangのWebサーバーにおける、HTTPリクエストとHTTP handle関数間の中間処理を指します。前準備今回は、Go...
View ArticleEspressoでのUIテストを改善する
本章では、EspressoでのUIテスト方法を改善できたので紹介します。前回までのあらまし新しい手法何を使うかコードヘルパー関数テストコード反省筆休め前回までのあらましEspressoでのテスト方法を模索して、記事を記載してきました。kikki.hatenablog.comkikki.hatenablog.comただ従来の方法だと、画面遷移で発生する待ちに対して、スリープして待つという非効率的な方法...
View ArticleGolangにおけるApp Engine(go1.9 → go1.13)(flex → standard)の環境移行を進める
本章では、Golang 1.9ランタイムから1.13ランタイムへの移行、flexible環境からstandard環境への移行作業で行った内容について共有します。背景現在稼働中のプロジェクトは、もともと、以下の記事にある構成の通り、Golang 1.9ランタイム上で稼働中でした。 kikki.hatenablog.comしかしGCPで、App...
View Article愛知県名古屋市(株)リプライスが買取再販した戸建ての不具合と瑕疵対応の記録
(株)リプライスの課題と考える事案のサマリー前提戸建て購入後の不具合とそれに対する瑕疵対応、また違和感を覚えた諸事洗濯機水栓の高さ前提2022年12月13日(火)引越し当日所感ガスコンロの規格違い前提2022年12月12日(月)開栓確認当日所感住宅ローン控除申請に必要となる増改築等工事証明書の発行手数料前提2022年10月23日(日)契約書の文面を予め受領2022年10月24日(月)住宅購入の契約日...
View ArticleGoogle DomainsからCloud Domainsにドメインを移管しました
6月16日、週末のゆっくりとしていたときに、衝撃的なニュースが流れてきました。事業でもよく利用されている、Google Domainsのサービスを終了するという速報です。ドメインホスティングサービスを変更する決意をした経緯私は、ネットニュースでGoogle Domainsがサービス終了し、別の事業者に売却されるとの情報を知りました。...
View ArticleMySQLで高パフォーマンスに特定のテーブルからランダムなレコードを取得する
本章では、MySQLで高パフォーマンスにランダムなデータを取得するためのtipsについて紹介します。背景今回のクエリを作る背景に、業務で特定条件のデータをランダムかつ高速に取得したいという要望がありました。データベースは、MySQLでVerが5.7とwindow関数が使えない状況です。また一部のテーブルのデータ件数は、億を超えていて効率よいクエリを記述する必要がありました。今回のクエリの重要な観点ラ...
View Article