ハイパーマッスルエンジニア

Vim、ShellScriptについてよく書く

slack api curlまとめ

チャンネルのメッセージを取得 スレッド内のメッセージを取得 メッセージ送信 メッセージ送信(スレッドにつなげる場合) メッセージ送信(メンションやコードブロックなど凝った文章の場合) メッセージ削除 ファイル送信 まとめ github.com チャンネルのメッセ…

Azure FunctionsでGolangを動かす

Go

Azure FunctionsのカスタムハンドラーでGolangを動かしてみた。最終的なリポジトリは下記。 github.com HTTPトリガー Timerトリガー を試してみた。 公式リファレンス docs.microsoft.com docs.microsoft.com 前提 ローカルでの動作確認のため、funcコマンド…

Azure App Service と GitHub Actions で Pull Request のプレビュー環境を自動で作成する

Pull Requestを作成したときにプレビュー用の環境を自動で作成してくれるGithub Actionsを作った。 PR作成時にプレビュー用のURL発行 こんな感じでプレビューURLを発行してくれて実際に動作確認ができるようになっている。 ローカルにブランチをpullしなくて…

10年もののシステムをPHP・Twig・jQuery・BootstrapからNext.jsにリプレイスするときにやったこと

Twig, jQuery, Bootstrap で構成されていたシステムをNext.jsでリプレイスしたときにやったことを書く。 前提 IE対応必須 ディレクトリ設計 github.com を参考にした。 ユニットテスト用の__test__は基本的に作らず、format.tsとformat.test.tsは同じ階層に…

Next.jsでバリデーションするなら「Ajv」がいい感じ

ajvはNode.jsとブラウザ用のバリデーションライブラリ。 Typescriptで利用できるバリデーションライブラリといえば、yup, zod, joiあたりが候補に上がるが、ajvを採用した。 理由はバックエンド・クライアント両方で使えること、スキーマファイルを使えるこ…

tree-sitter導入したメモ

エラーが出る `tree-sitter` executable not found (parser generator, only needed for :TSInstallFromGrammar, not required for :TSInstall) 最新のneovimをインストールすれば直る brew upgrade neovim --fetch-HEAD tree-sitterの設定確認 :checkhealth…

Next.jsのoutputStandalone:trueで、pages/_middleware.ts があるとビルドに失敗するのはnext@12.0.10に上げたら直る

Docker イメージを軽くするための設定でoutputStandalone: trueにしていた。 module.exports = { experimental: { outputStandalone: true, }, しかしpages/_middleware.tsがあると下記のエラーが出てnext buildに失敗する。 > Build error occurred [Error:…

ビットコインがGithubで管理されてるってまじ?エンジニアには圧倒的アドバンテージが仮想通貨にはあった件。

俺は仮想通貨のことを何もわかっていなかったのかもしれない。 今日は仮想通貨について衝撃的だったことを書いていく。 ビットコインはGithubで管理されてるってまじ? マジ。 github.com てかなんならビットコインだけじゃなくてイーサリアムとか他の仮想通…

2021年振り返り

今までの振り返り 2019年振り返り 2020年振り返り ハイライト 転職をした 子供が1歳になった 幸福度が突き抜けて人生アガった。オツカレシタッ!! 今年はどんな年だったか 幸福とはなんなのかを真剣に考え、幸せになるための行動ができた年だった。 幸福論、資本主義…

Floating Windowの変態的な使い方

Vim

これはVim Advent Calendar 2021の14日目の記事です。 NeovimにFloating Windowが実装されて以来、様々なプラグインが開発、リプレイスされてきました。 有名所でいうとgit-messenger.vimでしょうか。Floating Windowの良い使い方だなあと感動した覚えがあり…

今月のコミット一覧を出す

GithubでsinceとuntilをURLにつければ検索できるんだな、知らんかった。 https://github.com/Rasukarusan/dotfiles/commits?author=Rasukarusan&since=2021-11-01&until=2021-11-30 コマンドだとこう git log --after '2021/11/01' --before '2021/11/30' 差…

俺がエンジニアとして作りたかったのは「治療薬」だったがしかし。

「君のプロダクトはビタミン剤か?鎮痛剤か?それとも治療薬か?」という記事を読んだ。 blog.btrax.com 記事で紹介されている「ビタミン剤」「鎮痛剤」「治療薬」のプロダクト例は下記。 ビタミン剤:YouTube, Facebook, Tiktok 鎮痛剤:Slack, Zoom, Sales…

VimでmessagesやhighlightなどのExコマンドの結果を別タブで開く

Vim

:tabe :put = execute('messages') めちゃくちゃシンプル。 今まで下記のようなredirを利用した関数を作って実行していたけど、完全に不要だった。 function! s:show_ex_result(cmd) redir => message silent execute a:cmd redir END if empty(message) ech…

macOSでneovimをbuildするとき「ninja: error: loading 'build.ninja': No such file or directory」のエラーが出る

Vim

.depsファイルが邪魔しているのでそれを削除するとbuildできるようになる。 cd neovim sudo rm -rf .deps sudo rm -rf build # buildも一応消しておく buildし直す sudo make CMAKE_INSTALL_PREFIX=$HOME/neovim/nvim install 環境 macOS BigSur 11.23 neovi…

Voicyに出演した

voicy.jp voicy.jp めちゃくちゃ緊張したし全然思った通りに話せなかったけど、オーナーの圧倒的まとめ力によって救われた。 出演して初めて知ったことは、収録はプレゼンや講演、講義をやるのとはまた全然違う緊張感があるということ。 院生時代は毎週教授…