yn2011's blog

技術メモ

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

TypeScript, Go, Docker Composeに入門するために約半年間かけてWebサービスを構築した話

この記事はチームスピリット アドベントカレンダー2019の22日目の記事です。 今年(2019年)の7月から12月にかけて約半年間、プライベートでコツコツ開発していたWebサービスが一応形になった。技術的な内容は別の記事で書く予定なので、今回は半年間を通じて…

border-spacingで表の行列間の余白を調整する

この前初めて使った時に少しハマったのでまとめておく。 何をしたいのか 表の行列間に余白を作りたい。↓のように行と列で別々の余白を指定したい。 MDN border-spacingより引用 marginやpaddingはダメなのか w3cによると all elements except internal table…

Can't perform a React state update on an unmounted component... エラーにConetextが原因でハマった話

環境 react 16.8.6 事象 React.useEffectを使用しているコンポーネントをContext.Provider配下に配置したところ以下のエラーが発生した。 Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak …

Go modules利用時にvscode-goのinferGopathが無効化される理由

環境 VS Code バージョン1.36.1 (1.36.1) go version go1.12.4 darwin/amd64 事象 vscode-goにはワークスペースやユーザ毎に$GOPATHを推測するgo.inferGopathというオプションがあり、自分は常に有効化している(VSCodeでGoのデバッグにも以前に書いた) go.…

使用しているAlfred Workflows一覧

環境 Alfred 4.0.3 Alfred Powepackを利用している場合は2台のMacでAlfredの設定を同期することも可能(ドキュメント)だが、1台からの片方向同期かつWorkflowsだけを同期するのは難しそうなので、業務で使用するMacとは手作業で同期を行うことにしようと思…

Docker Compose上で起動したwebpack-dev-serverに設定されたプロキシが動作しなくてハマった話

環境 macOS 10.14.4 docker-compose version 1.23.2 webpack-dev-server 3.7.2 webpack 4.37.0 フロントエンド(webpack-dev-server)、バックエンドをそれぞれDocker Compose上にコンテナとして起動して開発していた際にハマったお話。 事象 webpack-dev-se…

bashコマンドは読取権限のあるファイルなら処理できる

環境 Permission denied 読取権限 環境 GNU bash, バージョン 4.4.23(1)-release (x86_64-apple-darwin18.0.0) Permission denied $ touch hoge.sh && ./hoge.shするとbash: ./hoge.sh: Permission deniedになる 実行権限がない しかし$ touch hoge.sh && ba…

httptest.Serverとhttptest.ResponseRecorderの使い分け

Go

環境 httptest.Serverとhttptest.ResponseRecorder httptest.Server httptest.NewRecorder 関連:NewRecorderを利用する場合にserveHTTPを使用する必要があるのか 参考 環境 go1.12.4 darwin/amd64 httptest.Serverとhttptest.ResponseRecorder ServerとResp…

draw.ioで両端が矢印の線を引く方法

www.draw.io AWSの構成図をdraw.ioで描いていて、両端が矢印の線を引く方法が分からなかった。もう諦めてCacooを使おうかと思っていたところ解決策が見つかった。 How to create a bidirectional arrow? : draw.io Helpdesk ちなみに上記で操作しているサイ…

VSCodeでGoのデバッグ

今更感はあるがVSCodeでGoのソースコードをデバッグしてみたので記録。 環境 delveインストール VSCodeにテスト対象の$GOPATHを認識させる launch.jsonを作る デバッグする まとめ 環境 macOS 10.14.4 go1.12.4 darwin/amd64 VSCode バージョン1.32.1 vscode…

型アサーションでインターフェイス型から本来の型を取り出す際の演算子*

環境 go1.12.4 darwin/amd64 インターフェイス型の型アサーション Goでは、以下のようにインターフェイスのエイリアスであるStatement型の変数から実際の型であるExpressionStatementを型アサーション.(T)によって取り出すことができる。 package main impor…

社内でシェル芸入門について話してきた

先日弊社恒例の(ほぼ)社内勉強会であるほろよいてっくでシェル芸入門というタイトルの発表をした。こんな発表をしてはいるが自分もシェル芸初心者。 当日の発表資料はこちら。ちなみに資料ではシェル芸勉強会の過去問及び解答を多く引用させて頂いている。…

コードレビューを受ける前に確認しておきたいチェックリストを整理してみた

レビュアーの負荷軽減とレビュー時間の短縮を目的として 、コードレビューを依頼する前に確認しておくべきチェックリストを整理してみた*1 チェックリストは特定の言語・フレームワーク、開発内容(バックエンド・フロントエンド)に依存しない内容になるよ…

CSVファイル差分比較マニュアル

環境 やりたいこと 比較対象のCSVファイルを整形する ソート 補足 文字コード変換 実際に比較する git diff csvdiff まとめ 環境 GNU bash, バージョン 4.4.23(1)-release (x86_64-apple-darwin18.0.0) macOS 10.14 やりたいこと 2つのCSVファイルの差分比較…

Map型の変数の命名について考えた

Map型の変数 ふと、Map型の変数の名前の命名って何がベストなんだろうと気になったのでパターンをまとめてみた。 ハンガリアン記法パターン とりあえず変数名の末尾にMapをつけておくパターン。 例えば、社員コードと社員名の対応付けを格納するMapの場合は…

「プロを目指す人のためのRuby入門」を読んでRubyに入門した感想

プロを目指す人のためのRuby入門 プロを目指す人のためのRuby入門 他言語経験者向けのRuby入門書 現場で必要とされるRubyの知識を効率良く学べる 自分のスキル エンジニア業務歴2年ぐらい いわゆるスクリプト言語、コンパイル言語は両方経験ある(主にJavaSc…

Rules of Hooksに違反していないのにHooks can only be called inside the body of a function componentエラーにハマった(と思った)話

環境 react 16.8.2 webpack 4.29.3 事象 webpack-dev-sereverで、Hooksを利用した下記のコードを実行するとHooks can only be called inside the body of a function componentエラーが発生 再現手順 問題のコード(イメージ) // ./App/index.tsx import * …

VSCodeでTypeScriptを書くときに役立った拡張機能まとめ

1~2週間ほどVSCodeでTypeScript(+React)を書いていたので、その際に役に立った拡張機能をまとめ。 環境 VSCode 1.31.0 macOS 10.14.2 TypeScript Importer TypeScript Importer - Visual Studio Marketplace 未インポートのモジュールを利用してコードを…

"Java 8 is required to run..."エラーが表示されVSCodeでApexのシンボル情報を参照できなくなった場合の対応

環境 macOS 10.14.2 VSCode 1.30.2 Apex(VSCode拡張) 44.16.0 Java11.0.2 事象 なぜかVSCodeでApexのシンボル情報を参照できなくなった(とても開発効率が落ちる) ↓これが出なくなった Apex(VSCode拡張)の詳細ページから引用 ついでにサイドバーのアウトラ…

文字からUTF-8のバイトコードを調べるワンライナー

環境 GNU bash, バージョン 4.4.23(1)-release (x86_64-apple-darwin18.0.0) 文字からUTF-8のバイトコードを調べるワンライナー ー(全角ハイフン)を調べたい場合 $ echo -n 'ー' | iconv -f utf-8 | xxd -p e383bc -tを明示しない場合はUTF-8で出力と解釈…

楽々ERDレッスンでER図の描き方を学んだ

tl;dr 楽々ERDレッスン+MySQL WorkbenchでER図を描く練習が捗る 取り組む前の自分のスキル・知識 業務でER図を読むことはある 業務でER図を描いたことはない IE記法は分かる、IDEF1X記法は分からない 動機 最近、実装より上のレイヤーの設計に関わる機会が…

macOS 10.14でdark mode有効時にMySQL WorkbenchのUIが変になる問題の解決策

楽々ERDレッスン(羽生章洋)|翔泳社の本を読みながらER図を描きたかったので、MySQL Workbenchがいいかなと思いセットアップしていたら困ったのでメモ。 環境 macOS 10.14 MySQL Workbench 8.0.13 事象 解決策 $ defaults write com.oracle.workbench.MySQ…

bashの`printf "%.s" hoge`と`printf "%0s" hoge`の違い

環境 GNU bash, バージョン 4.4.23(1)-release (x86_64-apple-darwin18.0.0) GNU coreutils 8.27 事象 $ printf "%0s" hoge hoge $ printf "%.s" hoge # 何も表示されない 疑問 文字列かつ精度指定は文字数の制限なので0を指定したら何も表示されないのでは …