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

Vim、ShellScriptについてよく書く

Mac専用sipsコマンドで、画像に枠線をサクッとつける

Mac標準搭載のコマンドでsipsコマンドがある。画像情報を取得したり付与したりできる。 画像のコマンドといえばimagemagickだが、imagemagickよりも少ないオプションで、かつ直感的に実行できるのがsipsコマンドの良いところ。brew等で別途インストールしな…

Sequel AceをApplescriptで操作する

以前Sequel ProをApplescriptで操作するのはやっていたが、昨今はSequel Aceを使うようになった。 Sequel ProとAceではFavorite.plistのPATHやUIの配置などがいくつか異なっていたため、それをまとめたい。 スクリプト まずどういったスクリプトなのかを載せ…

webpack × SentryでSourceMapが読み込まれないときの解決法

ソースマップが読み込まれなくて困ったときの解決方法を書いていくで。 ・releaseタグをinit時にも書いてないか ・urlPrefixをつけているか ...

カーソル下の関数だけ実行できるVimスクリプトを作った

Vim

vimでshellスクリプトを書いてるとき、ある関数だけ実行したい、ってのがよくある。そのとき毎回コメントアウトしていたのが面倒であった。例えば下記のような場合。 main() { echo 'main' } main2() { echo 'main2' } main # main2 # mainだけ実行したいの…

React, TypescriptでChrome Extensionを開発する(ホットリロード対応)

死ぬほど参考にさせていただいたサイト 基本的には下記のサイトを参考に進めればいけます。(最高の記事ありがとうございます、大感謝祭) code-log.hatenablog.com 本記事では上記で紹介されていたホットリロードがエラーで動かなかったため、別の方法でホッ…

M1MacBook、VimのquickrunでC#の実行環境を整える

知人がC#をやり始めて、教えてくれと言われたのでとりあえず開発環境を整えてみた。 環境 M1 MacBookAir Neovim >= 0.5 brew install monoができない arm版だとダメ的な問題でエラーが出てインストールできないので、Visual Studioから引っ張ってくるやり方…

M1 MacでNeovimをBuildする

Vim

NevimのBuild手順が少しわかりづらかったのでまとめておく。 環境 M1 MacBookAir(Big Sur) 事前準備 brew install cmake 手順 Homebrewでインストールしたnvimを上書きする場合 git clone https://github.com/neovim/neovim.git cd neovim make CMAKE_BUILD_…

ブラウザから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…