猫でもわかるWebプログラミングと副業

本業エンジニアリングマネージャー。副業Webエンジニア。Web開発のヒントや、副業、日常生活のことを書きます。

【Homebrew】homebrew-core is a shallow clone. To `brew update` first run:

brew install しようとしてこんなことを言われる Error: homebrew-core is a shallow clone. To `brew update` first run: git -C "/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core" fetch --unshallow This restriction has been made on GitHub'…

【PHP】PSR-12 のチェックを PHP_CodeSniffer で行う

はじめに PSR-12 とは PSR-2 と PSR-12 の違い PHP_CodeSniffer とは IntelliJ / PHPStorm でスタイルチェックする Jenkins でコーディングスタイルチェック まとめ はじめに この記事は PHP アドベントカレンダー 4日目の記事です。 qiita.com 昨日は @taro…

PHP(Laravel)の開発を始めるときに知っておきたいこと 2020

仕事で PHP のプロダクトのリビルトを行っていて、 PHP 開発を始めるために必要なことを整理したので、ブログでも公開しておきます。 PHP のプロダクトを開発しているチームに、新しい人が Join したときなどに使えます。 知っているところは読み飛ばして、…

IPA データベーススペシャリスト試験 平成31年度 午後I 問1 解説

設問1、設問2は、問題文を読みながら埋めていくのが良い 2.顧客 (2) 設置事業所 顧客コードと設置事業所コードで識別するので、e は 顧客コード(実線) 識別するので主キー 設置事業所は、顧客コードだけでは識別できないので、一つの顧客コードに対して複…

過去問解説 データベーススペシャリスト 平成31年度春期 午後I問1

過去問のダウンロード場所 DBスペシャリストの過去問を解いたので解説を書きます。 過去問はIPA公式サイトからダウンロードできます。 www.jitec.ipa.go.jp 以下、解答と解説なので、先に問題を解いてから読んでください。 問1 解説 まず、問題をざっと見る…

Scala playframework で、 ws のリクエスト先をモックしてテストする

はじめに これは下記 playframework のドキュメントの翻訳です。 Scala Testing Web Service Clients - 2.8.x ws クライアントをテストする ほとんどのアプリケーションは、他の Web サービスの API 等を利用するクライアントを実装する。 この API クライア…

新しいPHPコーディング規約 PSR-12

PHP のコーディング規約 PSR-12 の対応状況 PHP のコーディング規約 PHP は PHP-Fig という団体で様々な規約が決められているが、2019年8月、PSR-2に変わり、PSR-12 という新たなコーディング規約が採用された。 PSR-12 が出るまでは、PSR-1, PSR-2, PSR-4 …

Terraform と CloudFormation の違い、どちらを採用したらいいのか

Terraform と CloudFormation の概要 Terraform について CloudFormation について Terraform についての僕の誤解 Terrafom vs CloudFormation 個人的の経験から Terraform vs CloudFormation CloudFormation の良いところ(Terraformの悪いところ) Terrafo…

go-swaggerで見る「swagger(OpenAPI)周辺ツールについて」

この記事について go-swagger について swagger 周辺ツールを使う際の注意点 最新の Swagger Specification に対応しているかどうか 生成される成果物の質に関するリスク Swagger 依存が高すぎないかどうか まとめ この記事について 僕は、go-swagger を使っ…

go.mod に書かれた Go のバージョンが Heroku に認識されない

現象と解決方法 なぜ go 1.12 でビルドされるのか 補足 issue で話されていること 現象と解決方法 通常 go.mod には module xxxx go 1.14 require ( ... ) のように、 go のバージョンが指定されているが、Herokuにデプロイするとこの go のバージョンと違っ…

GoのWebフレームワークginを使って作ったアプリをHerokuにデプロイするまで

ginフレームワークのキャラクター Go のバージョン GOMODULEを使う GOMODULEでginを入れる Herokuにデプロイする Go のバージョン go 1.14.4 $ go version go version go1.14.4 darwin/amd64 GOMODULEを使う GOMODULE についてはこの記事がわかりやすいです…

MacBook Pro 2018 と Windows 10 + GTX 750 Ti でディープラーニングの時間比較

概要 Mac Windows + GTX 750 Ti 結論 概要 松尾研究室から公開されている Deep Learning のテキストのうち、4章2節のプログラムでグラボありなしの性能比較をしてみます。 https://github.com/matsuolab-edu/dl4us/blob/master/lesson4/lesson4_sec2_exercis…

Kerasを使って名義尺度をone-hot表現に変換する

はじめに: Deep Leraning for us one-hot 表現とは Keras を使った one-hot 表現への変換 はじめに: Deep Leraning for us これは東大松尾研究室が公開している Deep Learning for us を参考にしています。 github.com one-hot 表現とは Deep Learning for u…

Jenkins pipeline でジョブが失敗したらSlackに通知する

バージョン プラグインのインストール Slack の Jenkins integration を追加する Jenkins に Slack token の設定を追加 Pipeline スクリプトの設定 バージョン Jenkins 2.235.1 Slack Notification Plugin 2.40 プラグインのインストール 今回はこのプラグイ…

Jenkinsのとてもイケてない点3つ

Jenkinsとは イケてないポイント サーバー構築・インストールが大変 プラグインの管理がだるい Slack通知などの仕組みがイケてない 結論 Jenkinsとは CIツール兼ジョブスケジューラーです。 GitHubのブランチがプッシュやプルリクエストをトリガーにテストを…

GitHub Actions から安価なVPSのサーバーにデプロイするための Self-hosted Runner

GitHub Actions で VPS にデプロイする Self-hosted runner とは 通常の GitHub Actions Self-hosted runner を使うと Self-hosted runner の注意点 Self-hosted runner の使い方 サーバーをGitHubに設定する run.sh を常時起動させる workflow を書く GitHu…

CloudFrontを使う時に知っておきたい、AWSの「エッジロケーション」

CloudFront には「リージョン」が無い リージョン/アベイラビリティゾーン/エッジロケーション リージョンとアベイラビリティゾーン エッジロケーション まとめ 参考 CloudFront には「リージョン」が無い CloudFront はいわゆる CDN(Content Delivery Netw…

git コマンドの脆弱性が発表されたのでバージョンアップをする【Mac】

git に脆弱性が見つかりました 脆弱性の詳細はこちら(英語) 訳 Git をバージョンアップする 現在のGitのバージョンを確認する 現在インストールされているgitがどうインストールされたのか HomebrewでGitをインストール git に脆弱性が見つかりました fore…

MacBook / MacBook Pro のUSBが足りないので、USB-C ハブ【レビュー】

何を買ったのか MacBook のポートが足りない このUSB-Cハブについて ついているポートについて 安い ただし安っぽい 何を買ったのか MacBook や MacBook Pro 用に USB-C ハブを買ってしばらく使ったので、そのレビューを書きます。 買ったのはこちらです。 U…

データベースの「シャーディング」とは

シャーディングの概要 具体例 メリットとデメリット シャーディングの概要 シャーディングとは、データベースの負荷分散の仕組みの一つです。 データベースのデータを、ある法則により完全に2つに分けます。 具体例 ツイートのデータベースを考えます。デー…

GitHubがチームでも無料で利用できるように

GitHubがチームでも無料で利用できるようになりました Pricing(価格) GitHubがチームでも無料で利用できるようになりました 原文: github.blog 嬉しいお知らせがあります。無料のGitHubのアカウントでも、プライベートリポジトリで、コラボレーターが無制…

今 Mac を買うなら MacBook Air を買いたい

Apple の価格シミュレーションをするのが大好き 僕はいつも Mac のノートパソコンを使っています。そして、新しい Mac が発売されると心躍らせて購入ページに行き、価格シミュレーションをします。実際には買わないのですが。*1 Apple は 2019年の11月14日に…

スクラムを導入する時に考えること

なぜスクラムを導入するのか チームの抱えている問題点がある スクラムについて最低限の理解がある なぜスクラムの導入によって問題点が解決するのか考える 参考書籍 スクラム実践入門 その他 なぜスクラムを導入するのか なんとなくスクラムを導入したいと…

Scala Play + Vue.js の多言語対応

LGTM画像生成サイト LGTMoon で多言語対応してみましたので、どのような対応を行ったかをまとめます。 LGTMoon - 最もシンプルなLGTM画像ジェネレーター Vue.js フロントエンドは Vue.js で組まれています。 多言語化には vue-i18n を使います。 yarn add vu…

『エンジニアのための時間管理術』による一日のスケジュール管理

これまでの記事 今回は1日のスケジュール管理を学ぶ サイクルシステムとは 1日の最初にスケジュールを立てる 僕の意識している点 優先度に迷った時は? 会議にはアラームを設定しておく 1日の終わり 個人的なタスクと仕事のタスクを一緒に管理する Notion 次…

『エンジニアのための時間管理術』第3章、定型的タスクのルーチン化

ルーチンとは何か ルーチンの例: 日曜日に給油する ルーチンの例2: 定期デプロイ オーガナイザを持ち歩く 上司との定期面談 毎日しなければならないことは1日の早い時間にやる ルーチンにすると良さそうなもの まとめ 『エンジニアのための時間管理術』の第3…

タイムマネジメントで重要なことと、「集中」「割り込み」の対処方法(エンジニアのための時間管理術)

『エンジニアのための時間管理術』を読む この本の対象読者 1章 タイムマネジメントの原則 2章 集中と割り込み マルチタスクにする作業とそうでない作業 仮想デスクトップを使う シェルのウィンドウをたくさん開く 顧客からの割り込みが来た場合 まとめ 『エ…

CloudFlareでキャッシュされない場合は、レスポンスヘッダ確認と Page Rules の設定

ことのはじまり 調べていて見つけた記事 cf-cache-status を確認する Page Rules を指定して明示的にキャッシュしてやる ことのはじまり 先日LGTMoonにCloudFlareを導入して、画像をキャッシュしようと試みました。 LGTMoon - 最もシンプルなLGTM画像ジェネ…

iPhoneの通信をネットワークタブで見たいので Mitimproxy を使う

iPhoneの通信を見たい Mitimproxy 環境など Mitmproxy の仕組み Mitmproxy の導入手順 Mitmproxy のインストール Mitmproxy の起動 PC のローカルIPを調べる iOSに証明書をインストールする iPhone で PC を経由してインターネットに接続するように設定する …

Mac に接続した iPhone の通信内容を Wireshark で見る

はじめに 以下のサイトを参考にしました 環境 手順 Wiresharkのインストール Remote Virtual Interface の設定 iPhoneのUDIDの確認 Remote Virtual Interface の設定 Wireshark で確認 参考 はじめに Wireshark には最大の欠点があります。「通信の中身は基…