対象環境 Aurora MySQL pt-online-schema-change 3.2.0 なにも考えずにALTER TABLEを実行するとどうなるか? 既に動いているDBのカラム操作、インデックス操作などをするALTER TABLEクエリを実行すると、書き込みLockが発生してinsertやupdateができなくなり…
今の時期、基本的にリモート以外でイベントを開催するのが難しい状況です。 逆にその状況を逆手にとってみんなでリモート輪読会をやりましょう! 私はここ2ヶ月程度で3グループ3冊分のリモート輪読会を実施しました。 それぞれの輪読会によって複数の方法を…
今の時期、みなさんリモートワークしている方が多いですよね。 その中でビデオ画面(以下ビデオツール)を最大化して画面共有したりカメラにホワイトボードを映したりしている時にメモを取るのは難しいです。 メモを取るときはウィンドウを切り替える必要があ…
このコロナの影響もあったのですが、もともと遠隔でやる予定だったのでZoomを使ってリモート輪読会を実施しました。 今回読んだ本は以下の「オブジェクト指向設計実践ガイド」です。 ですが実はもう1人のメンバーが読んでいたのは最新の原書で、Rubyのバージ…
最近引越しをする機会があったので、そのついでに健康に配慮した作業環境を作りました。 これからの時期引っ越す人も多いと思うので、この機会に少しでも健康に配慮した作業環境を作ってみてはいかがでしょうか? 基本的には以下の記事を参考にしましたが、D…
Elastic BeanstalkでMultiContainer環境を構築し、RailsとNuxt.jsをデプロイします。 今回の環境 ElasticBeanstalk(Multi-container Docker) Rails 5.2 (ruby:2.6) Nuxt.js 2.11 (node:12-alpine) PostgreSQL (RDS) 目次 今回の環境 目次 初期設定 AWSのアカ…
VueやNuxtのプロジェクトでよく使われるvuex-persistedstateというストア永続化プラグインがあります。 このプラグインはストアの内容をlocalStorageに永続化してくれるものです。 問題 ストアの内容を永続化し、ページを開いた時ストアに再展開してくれるの…
Docker上でAPIサーバーとNuxt(SSR)を動かす環境で、connection refusedが発生したりしなかったりする問題に遭遇しました。 今回はその問題の発生原因について書いていきます。 一言で どういうこと? 前者のパターン 後者のパターン 何が問題? 解決策 まと…
Dockerでpostgresを起動。 同じくDockerでRailsを起動しdocker-composeで接続。 ActiveRecord::NoDatabaseError FATAL: role "myuser" does not exist docker-compose up -dした時に環境変数をセットするのを忘れていました。 postgresにボリュームを設定し…
GitHubでリポジトリを作る。 ローカルでリポジトリを作る。 その後、マージしないとと思い立ちgit pull origin masterをすると、fatal: refusing to merge unrelated historiesが表示されてしまいました。 そんな時はということで、git merge --allow-unrela…
$GOPATH以下ではデフォルトでGO111MODULE=ofになるため依存パッケージがインストールされておらず、明示的にGO111MODULE=on go get -uをする必要があった。 参考 Go Modules
LaravelでAPIやコントローラーをテストする方法を調べると、大体出てくるのはサーバーを立ち上げてルーティングに対してリクエストを飛ばしてテストする方法です。 今回はコントローラーのメソッドをそのままテストする方法について記述していきます。 なぜ…
Laravelに限らずですが外部のAPIを通信したり、重い処理を実行しているの部分があるのでテストの時はモックにしたい、といった場面は多々あると思います。 今回はServiceコンテナをモック化する方法をまとめていきます。 Serviceコンテナが使われているコー…
vimをupgradeさせた時に唐突にvimがエラーを吐き出し始めました。 エラーは吐き出すもののとりあえず動いてはいました。 ですがvim-goのある部分でエラーが発生しているようでした。 Error on startup: Unknown function: go#config#CodeCompletionEnabled …
Slackでテストの話について盛り上がったので、webアプリケーション開発で個人的なテスト毎の優先順位などについて書きたいと思います。 早速本題に入りたいと思います。 Controller コントローラーの処理をホワイトボックステストする利点は少なく、ブラック…
LaravelでAPIを作っていると、例外周りの処理を良い感じにしてくれないので非常に大変です。 Policyをそのまま使っても403ページが返ってしまいますし、エラーメッセージの変更も困難です。 今回は権限判定をPolicyに移植して、かつ任意のエラーメッセージを…
私の開発しているプロジェクトでは Laravel 5.7 React/Redux を使って開発しています。 バックエンドのLaravelはAPIを実装しています。 LaravelでAPIを実装すると通常のwebで作るより処理が煩雑になる気がします。 その上、いろんな処理をControllerにまとめ…
IPの設定 まず/etc/dhcpcd.confを開きます。 ここで固定IPを設定します。 interface eth0 static ip_address=192.168.10.33/24 static routers=192.168.10.1 static domain_name_servers=192.168.10.1 8.8.8.8 ip_addressは設定したいRaspberryPiのIPアドレ…
平成の技術的負債を令和に持ち越したくないからリファクタリングしよう!!と思ったのが事の始まりでした。 短期的に開発速度を求めLintを後回しにしてしまったプロジェクトにLintツールを導入し、Reactのコードを全て綺麗にした時のツールや方法を書きます…
最近Twitterでは基本情報やらITパスポートやら資格についての話がよく見受けられます。 資格をかなり重要視している専門学校の、生徒だった経験から資格をとった方が良いのか、取らなくても良いのか、どのような心構えで取るべきなのかを個人的な考えで書い…
Nintendo Switch版「ゼルダの伝説 ブレスオブザワイルド 」(通称BoW)のUXについて考察してみました。 このゲームには素晴らしい仕組みや面白さなど多くの要素がありますが、今回話す内容はその中でもトップクラスに素晴らしい要素について書きたいと思います…
ロケール環境設定の詳細な意味は以下の私の記事を呼んでください。 qiita.com 結論 特にこだわりがないならとりあえずLC_ALLを設定しておけば大丈夫です。 export LC_ALL=ja_JP.UTF-8 ja_JP.UTF-8の部分は自由に変更してください。
プログラマーの学習方法はどうするのが一番良いのでしょうか? ある人は1つに決めてひたすら習熟し、その後に別の技術に手を出すべきだ。と言います。 はたまたある人は1つだけを学んでいても意味がないから、幅広く学ぶべきだ。と言います。 どっちだよ!!…
「HeadFirstデザインパターン」ではJavaを用いてデザインパターンの実装が解説されています。 これらのデザインパターンをGo言語で実験的に設計し直した実装を紹介します。 前回はStrategyパターンを実装しました。 nakka-k.hatenablog.com Observerパターン…
「HeadFirstデザインパターン」ではJavaを用いてデザインパターンの実装が解説されています。 これらのデザインパターンをGo言語で実験的に設計し直した実装を紹介します。 Strategyパターンとは 簡単な概要だけを説明すると、 複数の振る舞いをインターフェ…
「Go言語でつくるインタプリタ」は、そこらへんのネットに転がっている超軽量なRubyで作ったLispインタプリタほど小さくなく、重厚な理論に関する論文や書籍のような難しすぎるものでもなく、インタプリタがどのように動作するのか理解するために十分で適量…
モチベーションとは自分の意志だけで維持するのは非常に難しいです。 どれだけ外部から効率的にモチベーションを得られるかが鍵となっています。 新生活が始まるこの時期からスタートダッシュを維持できるように、私が実践しているモチベーションアップ方法…
この書は人々が才能と呼ぶ生まれ持った資質と全面から闘い、己の道を切り開くための本だ。 超一流になるのは才能か努力か?作者:エリクソン,アンダース,プール,ロバート発売日: 2016/07/29メディア: 単行本 対象読者 結論 努力すること 目的ある練習、限界的…
先日旅行に行った時、ダムを見てオブジェクト指向に思いを馳せたことをここにまとめてみます。 ダムについて 雨が少ない時に渇水してしまわないようにダムに雨水などを貯めておき、いつでも必要な時に水を確保できるようにする役割を担っています。 その後、…
kent beck 著、和田卓人 訳「テスト駆動開発」を読んだ感想を書く。 TDD(テスト駆動開発)とは 自動化されたテストを書く。 テストが失敗した時のみ新しいコードを書く。 重複を消去する。 テスト駆動開発とはこれらのシンプルな制約のもとになりたつ。 これ…