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

Vim、ShellScriptについてよく書く

ブラウザからTemrinalに接続するxterm.jsをNext.jsとNestJSで構築する

xterm.jsが楽しそう ブラウザにTerminalを設置できるxterm.jsというライブラリがある。VSCodeのTerminalやHyperなどに使われている。 xterm.jsが提供するのはざっくり言ってしまえばTerminalの形をしたテキストフィールドのみ。実際にTerminalに接続したりキ…

【メモ】PHPフレームワークSlimをdocker-composeで環境構築する

途中でまとめるのが面倒になってしまったのでメモ書きとして残しておく リポジトリ github.com 環境 M1 MacBookAir(Big Sur) Docker Desktop(3.3.0) 初期ディレクトリ構築 mkdir php-slim cd php-slim # slimのインストール composer create-project slim/sl…

【メモ】VimでPHPの開発環境を整える

やること LSPの導入 Formatterの導入 GTAGS(GNU Gloabal)の導入 環境 M1 MacBookAir(Big Sur) LSPの導入 coc.nvimでcoc-phpls導入して終了。 :CocInstall coc-phpls これで補完や定義ジャンプができるようになる。あとは好みだけどUltisnipsで自作のsnippet…

GolangでGIF分割・結合・文字入れ

Go

全体のソース github.com 動機 GIFの開始と終わりを判別するために、GIFの最初の方に”START”みたいなラベルを挿入したい。 ImageMagickには依存したくなかったのでGolangの標準パッケージでなんとかしてみた。 環境 $ go version go version go1.16.2 darwin…

gif動画から指定のフレーム(最初・最後・最後から2番目など)を抜き出す

convertコマンドで可能。とりあえずbrewでインストールしましょう。 # imagemagickをインストールするとconvertコマンドが使えるようになる brew install imagemagick 指定のフレームを抜き出す 最初 convert 'neko.gif[0]' first.png 最後 convert 'neko.gi…

Vimで特定の行だけ選択してコピーするプラグイン

Vim

vimのVISUALモードはシンプルかつパワフルで特に不満はないのだが、行を飛ばしてコピーができない。 例えば下記のようなファイルがあったとして、 line 1 line 2 line 3 line1とline3だけコピーしたいようなケース。 このような隣接していない行のコピーを実…

NestJSでよく見る@Decoratorって何なのかわからなかったからサクッと試してみた

NestJSで@Controllerのような@を使った書き方をよくみる。よくわからず使っていたけど調べてみたらなんてことなかったので書き留めておく。 こういうやつ。 @Controller('app') export class AppController { @Post() create(@Body() dto: CreateAppDto) {} …

NestJSとNext.jsをlernaでモノレポ化する

最近流行りのフレームワークたちをlernaを使ってモノレポ化する。 構成はこんな感じになる想定。 . ├── lerna.json ├── package.json └── packages ├── client <-------- Next.js │ └── package.json └── server <-------- NestJS └── package.json どこまで…

ソースコードを画像化する、Rust製のコマンドラインツールsiliconで使える日本語対応フォント一覧

環境 macOS Catalina(10.15.5) 日本語対応フォント一覧 851MkPOP AhahaMojimoji Arial Unicode MS Hannotate SC HanziPen SC Hiragino Maru Gothic ProN Hiragino Mincho ProN Hiragino Sans Hiragino Sans GB Osaka PingFang HK PingFang SC PingFang TC Ri…

今更ながらgit-ftp便利すぎた

とりあえず必要なことをババっと書いておく インストール brew install git-ftp もしくは、リポジトリにgit-ftpの実行ファイルがあるからcloneしてきて使ってもいい。 git clone https://github.com/git-ftp/git-ftp cd git-ftp ./git-ftp 初期設定 git conf…

【Vim】aleでハイライトがされない問題の修正

Vim

色がつかなくて困っていた Lintを非同期実行できるプラグインのale。NeovimのVirtual Textにも対応していて、Lintエラーの文言を下記のように表示できる。 Virtual TextでLintエラーを表示 上記画像では黄色でハイライトされているが、以前までハイライトが…

日記には”事柄”と”感情”、どちらを書くべきか

半年ほど前から紙のノートに日記をつけている。コロナによって仕事がフルリモートになり、今までの習慣が劇的に変わったことから、もう一度ルーティンを構築するために日記を書き始めた。 以前からEvernoteに日記をつけていたが、紙のほうが圧倒的につけてい…

Udemy『AWS: ゼロから実践するAmazon Web Services。手を動かしながらインフラの基礎を習得』をterraformで構築する

Udemyの講座楽しい www.udemy.com terraformで構築してみた。 個人用メモ。 死ぬほど参考にさせていただいたサイト まずは公式のチュートリアルで概要を掴む Introduction to Infrastructure as Code with Terraform | Terraform - HashiCorp Learn どんなre…

Neovim: Floating Windowでボタンを作る

Vim

Floating Windowをボタンにしないなんてもったいない! Floating Windowを使って立体的なボタンを作ってみた。ENTERでボタンを押せる。 ボタンに見せるにはどうするか これだけでボタンに見える frontとbackの2枚のウィンドウを用意 backの色をfrontの色より…

Neovim: Floating Windowに枠線をつける

Vim

FloatingWindowには枠線をつけるオプションがない border:1pxのようなオプションは用意されていない。ただ、枠線があるように見せることは可能。 下記はこちらの記事で作成したときのもの。カレンダーを表現するのに枠線付きのFloatingWindowが必要だった。…