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

Vim、ShellScriptについてよく書く

エンジニアとしての情報収集について【2022年度版】

2021年から2022年にかけて、結構意欲的に技術を追ってきた。 情報収集のやり方がなんとなく定まってきたのでまとめたいと思う。 普段ググったりするときに利用するサイトとかではなく、「最近どんな技術が流行ってるのかなー」とか「日常のルーティン」とし…

coc.vimの補完メニューの色を変える

Vim

coc.vimの補完メニューの選択中の色を変更したかったが苦戦したのでここに記す。 補完メニューの色を変えるには:h CocFloatingによるとPmenuが割り当てられていると書いてあったので、選択中の色を示すPmenuSelを変更したが反映されなかった。 " これは反映…

Vimでステータスラインを自作にしたら起動速度倍になった

Vim

vim(nvim)の起動が遅い。由々しき事態なので対処した。 ステータスラインのプラグインをやめて自作にしたら400ms -> 200msに高速化できた。 起動速度の計測 まずは計測せねばならない。こちらの記事を参考にさせていただいた。 https://zenn.dev/uu64/articl…

zshが遅いのはvcs_infoが原因だったので高速化した

zshの起動が遅い。tmuxでパネル分割したときやls打ったあとがもっさりしてきた。 自分のzsh環境はoh-my-zshやpreztoなどは使っていないプレーンなzsh環境だったが、PROMPT表示に用いるvcs_infoが遅かったので改善した。 vcs_info gitやsubversionなどのバー…

Reactでセグメントコントロール作る

にゅるっとした動きのものがなかったので作った。 Next.jsで動くのを目的に作ったので、styled-jsxを利用している。 SegmentControl.tsx import css from 'styled-jsx/css' import { useState, useEffect } from 'react' const styles = css` .controls { di…

30歳になる所感

明日で30歳になる。なんとなく節目の年だと感じる。フレッシュ、青年、新人、などの初々しいイメージからは離れ、徐々にベテラン、おじさんなどという言葉に近づいていくのだろう。 自分が当初思っていたよりも「えっもう30!?」という感覚はない。やっと来た…

Reactのアニメーションライブラリ「framer motion」がすこぶるいい

Reactでアニメーションコンポーネントをサクッと作れるライブラリ「framer motion」。 非常に簡単にアニメーションをつけることができたので伝えたい。 www.framer.com インストール yarn add framer-motion かんたんアニメーション こんなdiv要素を用意して <div style={{ width: '100px', height: '100px', background: 'blue' }}></div>…

shellだけでリッチなTUIアプリが作れる「gum」がすごい

Shell ScriptだけでリッチなTUIアプリが作れるようになる「gum」がかなり良い感じ。 github.com 入力、書き込み、選択、Fuzzy、ローディングなど、TUIアプリに必要なものがサクッと書けるようになる。 インストール go install github.com/charmbracelet/gum…

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:…