ハイパーマッスルエンジニアになりたい

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が必要だった。…

ターミナル上にwifi接続のQRを表示できるsdushantha/wifi-passwordがおもしろい

github.com 今接続しているwifiのパスワード、またはQRコードをTermianl上に表示できるツール。 使用頻度は少ないかもしれないが、あったら地味に便利。 インストールはpipで可能。 python3 -m pip install --user wifi-password 実行 wifi-password --qrcod…

Githhub Actionsをローカルで実行するnectos/actでcommand not foundが出たときの対処法

Github Actionsをローカル実行できるツールnektos/actの話。 act -P でimageを指定するも必ずnode:12.6-buster-slimで実行されてしまう actの実行時の環境は、デフォルトではnode:12.6-buster-slimが選択されるが、このimageは最小限の構成なのでgitコマンド…

goyo.vim, limelight.vimで"静かな"執筆環境を実現する

Vim

goyo.vim, limelight.vimで装飾のないVim github.com github.com ステータスバーなどが消え、今書いていることのみに集中できる インストール # goyo.vim [[plugins]] repo = 'junegunn/goyo.vim' # limelight.vim [[plugins]] repo = 'junegunn/limelight.v…

はてなブログでgifの代わりにmp4で投稿するために、Github Actionsでgif→mp4変換を自動化した

gifの欠点 ファイルサイズがでかい → ページ読み込みが遅くなる シークバーが表示されない → 一時停止、早送りができない MP4にしてvideoタグで埋め込むといい <video controls muted autoplay playsinline width="95%"> <source src="mp4動画のURL"> </video> gifの圧縮アルゴリズムはそこまで最適化されていないため、MP4などの動画フォーマットのほう…

たぶん禁煙に成功した。結果何も失わなかった話。

タバコを吸わなくなってから50日が経った。もはやタバコのことを考えることがなくなってきたので、たぶん禁煙に成功したんだと思う。 完全にタバコのことが思い出せなくなる前に、思ったことを書いていく。 禁煙する前 1日2箱(40本)ぐらいのミドルスモーカー…

Github Actionsのアクション作ってみる(Typescript編)

Typescriptで独自アクション作る 以前GithubActionsを使ってHomebrewのリリースを自動化し、一部のstepを独自アクションとして切り出した。 www.rasukarusan.com www.rasukarusan.com 前回のDockerで書き出したアクションを、Typescriptで書いてみる。 対象…

Github Actionsのアクションを作ってみる(Docker編)

1つ前のtagからの差分を出すアクションを作ってみる 前回GithubActionsを使ってHomebrewのリリースを自動化した。 www.rasukarusan.com 上記で実行している「1つ前のtagからの差分を取得する」をアクションとして切り出してみる。 イメージとしてはrunでゴリ…

GithubActionsでリリースとFormulaリポジトリの更新を自動化した

Homebrewの自作CLIツールの配布がとても面倒くさい 以前Homebrew/tapによる配布方法をまとめたが、やることが結構あって面倒くさい。 どうやらGithubActionsを使えばめちゃくちゃ楽にできるみたいなのでやってみた。 今までの流れ 1. tagをpush 2. GithubでR…

Vim Short Tips Advent Calendar 2020で最高にためになったTips

Vim

Vim Short Tips Advent Calendar とは Qiitaアドベントカレンダーの1つで、「ツイート1つに収まるようなVimのTipsを書いていく」がテーマのカレンダー。ハッシュタグ#vimtips_acでTwitterを検索すれば出てくる。 結構知らなかったことやめっちゃ便利じゃんっ…

Neovim: 矩形選択したものを好きな場所に貼り付けるプラグイン nvim-block-paste

Vim

ブロックエディタっぽく、どこでも好きなところに貼り付けしたかった github.com 矩形選択したものをどこにでも貼り付けられる 使い方 インストール [[plugins]] repo = 'Rasukarusan/nvim-block-paste' 矩形選択した状態で:Blockを実行。 :'<,'>Block キー…

2020年振り返り

今までの振り返り 2019年振り返り ハイライト 転職をした 家を買った 子供が生まれた フルリモートになった とりあえず自分に一言 よく生き残った、、、よく耐えた、、ほんとによく頑張った。褒めてあげたい。 2020年まじできつかった。 何がきつかった? 8…

Neovim: サクッとFloatingWindowにテキストを表示するプラグイン nvim-popup-message

Vim

github.com :messagesの最後の行をサクッと表示している これなに NeoVim専用プラグイン サクッとFloatingWindowを表示する 現在カーソル位置のすぐ下(または上)にFloatingWindowを作成 カーソル移動したらウィンドウは即消える 引数で渡したテキストをFloat…

Neovim: VirtualTextを使ってVim上に注釈を出す

Vim

VirtualTextとは NeoVim 3.2で導入された注釈機能。行の最後にバッファとは別にテキストを表示することができる。 github.com 使い方 nvim_buf_set_virtual_text({buffer}, {ns_id}, {line}, {chunks}, {opts}) Column Column buffer Buffer番号、カレントバ…

1年を振り返るときに使ったgitコマンド

コミット履歴を保ったままブランチを統合する ブランチ整理のために。過去のコミット履歴をなかったことにしたくなかった。 下記の記事が神。 qiita.com # 新規リポジトリを作成 mkdir new_repository cd new_repository git init # リポジトリを統合 git re…

Notionで1年の振り返りをしたら最高だった

1年を振り返る 1年を振り返る際、下記の媒体をもとに振り返っている。 Evernoteの日記 自分のブログの記事 Githubのリポジトリ・コミット 自分のツイート 毎年Evernoteに振り返りをまとめていたが、若干窮屈に感じてきたので今年からNotionにまとめてみよう…