Realize から Air に移行し、 Go(echo) + Air + docker-compose でホットリロードを利用して開発を行う。

Go

この記事は Go 2 Advent Calendar 2020 の4日目の記事です。 tl;dr Goでホットリロード(a.k.a Live reload)を利用する際には今までは Realize というライブラリを使っている人が多いが、開発が止まっている。 issueも放置され、go modの対応もされておらず、…

階層構造(a.k.a ツリー構造・ディレクトリ構造・フォルダ)をDBでどう設計すべきか

SQL

SQLアンチパターン第2章を自分なりに噛み砕く。 階層構造とは いわゆるTree Strcture(木構造)。 例として上げるのであれば、 Reditのコメント ファイラ(フォルダ・ディレクトリ) . WindowsのExplorer . MacのFinder。 Shell ブログのカテゴリ DOM Tree ここ…

Docker with Multi Stage Buildを利用したNext.jsのDockerイメージを作る

tl;dr Next.jsのSSG(Static Site Generator)を利用したDocker Imageを作る際にMulti Stage BuildでImageを作ると、利用しない場合に比べて453MB変わる Dockerfile 以前とは違い、Production環境でも利用出来るように構築をした。SSGを利用する前提で書いてい…

GitLab CIでTrivyを利用しDocker Imageの脆弱性を検知し、Slackに投稿する

tl;dr Pipeline Schedule を利用し一定周期にscanを実行することで開発を止めずに脆弱性を検知する。 Slackに投稿することで脆弱性の検知をメンバーの目に入れることができる。 Trivyについて 昔書いたのでそちらを参照してください。 teitei-tk.hatenablog.…

Trivy を利用した Docker Container・Image の脆弱性検知入門

tl;dr trivyを利用することで簡単にDocker コンテナの脆弱性の検知をすることが出来る。 OSライブラリからアプリケーション依存のライブラリまで検知が可能 SimpleかつREADMEが豊富で導入の敷居が低い。 CIに組み込むことで DevOps から DevSecOps への移行…

GitHubのProfileページにREADMEを追加した。

tl;dr GitHubのProfileページに自分のREADMEを載せることが出来るようになった。 いつからか分からないが、このようにGitHubのProfileページに自分のREADMEを載せることが出来るようになっている。 いくらか調べてみたが、どれも一次ソースが無いので何時か…

Next.jsの開発環境をDocker with Multi Stage Build

tl;dr Multi Stage Buildを利用することで147MBほど減った。 今回は開発環境のDocker化が目的。production環境ではSSG or SSRだと思うのでまた別の対応が必要になりそう。 Example Project github.com 完成形 gist.github.com Multi Stage Buildを利用しない…

Docker with GoのMulti Stage Buildで"no such file or directory"と出てハマった話

対象のDockerfile。特に特殊なことは行っていない素朴なDockerfile。 FROM golang:1.14.4 as builder WORKDIR /app COPY . . RUN go mod download RUN go build path/to/main.go FROM alpine RUN apk add --no-cache ca-certificates COPY --from=builder /a…

ポートフォリオサイトをGatsby.jsからNext.jsに移行した。

PR github.com 動機 Next.jsが今後伸びていくと踏んで今のうちに技術投資をしておきたいと思い移行をしました。 Next.jsにはstatic HTML exportという機能があり、Gatsby.jsと同じ様に静的サイトを作れるのでキャッチアップにちょうど良かったという事情もあ…

Next.jsでfaviconを設定する

PR github.com Projectの構成はこのような形 $ tree src/pages public src/pages ├── _app.tsx ├── _document.tsx └── index.tsx public └── static └── favicon ├── android-chrome-192x192.png ├── android-chrome-512x512.png ├── apple-touch-icon.png ├…

Next.jsでSVG画像をReact Componentとして描画する

@svgr/webpackを利用する。 react-svgr.com npm install @svgr/webpack --save-dev # or use yarn yarn add @svgr/webpack --dev next.config.js module.exports = { webpack(config) { config.module.rules.push({ test: /\.svg$/, issuer: { test: /\.(js|…

TerraformでAWS LambdaLayer with Python を利用する

ほぼclassmethodさんの記事通りですが ソースコード github.com $ tree . ├── README.md ├── build-layer.sh ├── iam.tf ├── lambda │ ├── function.zip │ └── lib.zip ├── lambda.tf ├── provider.tf ├── requirements.txt ├── src │ └── index.py ├── terr…

Markdown文書で画像の表示にURLを使わず埋め込む

今回から技術記事はHatenaBlogに書いていこうと思います。 忘備録 Markdownに画像を表示する場合、どうしていますか。おそらくimgurやGitHubなどに画像をアップロードしてURLを参照していると思います。 imgur.com ![airplane](https://homepages.cae.wisc.e…

ワイヤレスヘッドホン "Bose QuietComfort 35" レビュー

5年ほど前に使っていたヘッドフォンがご臨終なされました。 ついに長年使っていたヘッドフォンが壊れてしまった。南無。 使っていたのは Audio-TechnicaのATH-A900というやつを使っていました。 audio-technica アートモニターヘッドホン ATH-A900出版社/メ…

Chrome Headless Browserを触った所感と、Flowtype・ES2017構文を使ってChrome Headless Browserを動かすライブラリを作っている話。

Chrome Headless Browser、思った以上に需要ありそうなので書いてみます。 まずは触った所感ですが、社内LTの際に喋った資料があるのでそちらをペタッと。 まとめると Phantom.jsの死亡 唯一のメンテナが今後はChromeHeadlessに乗り換えるであろうとメンテナ…

freeeに入社して3ヶ月が経った

進捗です。 pic.twitter.com/YRojVs8hoA— teitei (@teitei_tk) 2017年2月3日 あー、そうかもう3ヶ月かーと思ったので書くかと思った所存です。 ちなみにプレゼントはiPhone7 Plusにしました。 最初は入社して1ヶ月ぐらい経ったら書くかな。と思っていたので…

スマートウォッチ、"Skagen Hagen Connected" レビュー

私事ですが、誕生日を迎えました。 amzn.asia で、その際に嫁にSkagenの時計でHybrid Smart Watchである Skagen Hagen Connectedを買ってもらったのでレビューでもしてみようかと思う。 形はこんな感じ。 少し早いですが、嫁から誕生日プレゼントとして時計…

ソーシャルゲーム業界から去る事にしたこと。5度の転職で得られた経験とその結果。

何者にもなれないエンジニアこと@teitei_tkです。 会社のAdventCalendarが埋まってしまったので、イジケつつ自分の記事を書こうと思います 。 この記事は転職アドベントカレンダー2016の5日目です。 で、その何者さんは誰よという話ですが、 ソーシャルゲー…

auからIIJmioに乗り換えて1週間が経った。

いい加減携帯キャリアの殿様っぷりについていけなくなったので、 iPhone7 Plusを購入した際にSimFreeモデルを選び、重い腰を上げMVNO(いわゆる格安sim)のIIjmioに乗り換えた。 結論から言えば、早く乗り換えるべきだった。 なぜIIJmioか キャリアから抜ける…

転職ドラフトを通じて、freee株式会社に入社しました。

明日からRubyの会社に行くので舐められないようにPyconのTシャツ着ていこうと思ったが、寒すぎるのでやめよう— teitei (@teitei_tk) 2016年10月31日 こういう事を考えていましたが、自重しました。 freee株式会社にjoinした こういった記事は書かないつもり…

きっと何者にもなれない自分というエンジニアとしての生存戦略

2016/10/26 現在26歳で業界歴は6年ほど。 まあ、若いと言えば若いであろう。実際色んな人と話をして年齢の話になると若いねとよく言われる。 が、もうそこまで若いとは言えないだろう。 あと3ヶ月も立つと自分も27になる。新卒の子や学生からしてみると、も…

新しいエディタを探して、ひとまずAtomに乗り換えた話

今までコードを書く際にはVimを使っていたが、いい加減老害感が出てきたのと、気分転換を兼ねてエディタを乗り換えた。 結論から言うと、メインはAtomにしてサブエディタとしてIntelliJ Ultimate(+ Language Plugin)を使うようにした。 Atomに乗り換えて1〜2…