VimのMarkdownPreviewプラグイン「iamcco/markdown-preview」がグラフ、UML、Latexが描画できて色々やばい

Vim

「vim markdown」とか「vim plantuml」って調べると2015年とか古い記事が多く見つかる。 なんか直近で良い感じのないかな〜と探していたら素晴らしいプラグインを見つけた。 https://github.com/iamcco/markdown-preview.nvim これ最高。PlantUML書けたらい…

SwiftUIやPlaygroundもいいけどUIのデバッグぐらいLLDBでやっちゃおうぜ

PlaygroundやSwiftUIの登場によってだいぶUIのデバッグがしやすくなってきたと思うけど、 Playgroundはいちいちそれ用のファイル開かないといけないし、SwiftUIはまだXcode11がBeta版なので使う機会が少ない。 UIの確認をするために一々ビルドするのも気が重…

Carthageをupgradeしてもバージョンが変わらない

carthageのバージョンを確認すると最新にしろと言われていたのでbrew upgrade carthageしたが、 何故かバージョンが上がらない。 # 最新に上げろと言われる $ carthage version Please update to the latest Carthage version: 0.33.0. You currently are on…

rakyll/statikでGoで扱うファイルリソースを一緒にビルドする

Go

テンプレート用CSVを読み込んでその値を元に新しくCSVを作る、みたいな処理をするコマンドをGoで作った。 go installしてコマンドとして使えるようになったがいいものの、main.goがある場所じゃないとno such fileと出て実行ができなかった。テンプレートCSV…

Webのリクエスト方法についてやんわりと考えてみる

先日GoでInstagramぶっこ抜きというものを作った時、リクエスト方法について少し悩んだ。 個人開発で大規模なものじゃないから、リソースについてそんなにシビアにならなくてもいいのだが、一度考えてみた。 rasukarusan.github.io 全体の動き サーバーにaja…

oh-my-zshからの脱却

今更マサラタウンだけどoh-my-zshから脱却した。 全然遅さとか感じていなかったが、Profileしてみるとoh-my-zsh関連がビビるほどの遅延を発生させており、腹がたったからやった。 oh-my-zshを脱却して困ったこと oh-my-zshを入れていると、色々と勝手に設定…

phpで書いたスクリプトをGoで書いたら7倍になった(phpとgoではビルトインサーバーが違うからだった)

Go

Instagramぶっこ抜きを作った instagramのページURLを与えると投稿画像、投稿文、ユーザー名を取得するシステム(?)を作った。 当初はphpで作っていたが、勉強がてらGoで書き直してみたら57秒→8秒と約7倍になった出来事を話したい。 結論から言うと、GoとPHP…

コマンド履歴(history)を全く痕跡を残さず消す

自分の打ったコマンド履歴を消したい時、消したことさえ残したくない時に使える。 流れ vim .bash_historyでコマンド履歴を削除 kill -9 $$で1で打ったコマンドの履歴を残さずログアウト コマンド履歴を削除する まず現在のhistoryを確認。 root@kali-linux-…

【Apple】MacBook(12インチ)にmacOS「Catalina」をインストールしたら止まった

WWDC2019で発表された「SwiftUI」をどうしても試したくて2台目のMacBookにCatalinaをインストールした。 が、正常にインストールできなかったので現象をまとめる。 追記:2019/06/26 Catalina Public Betaが発表され、こちらをインストールしたらセーフモー…

Finderで開いているディレクトリにコマンドで移動する(open . ではない)

ShellScriptでドヤりたいGWアドベントカレンダー6日目いくで。 よくある「open .」でFinderで開く方法ではなく、逆にFinderで開いているディレクトリをTerminalで開く。 何を言っているかよくわからないのでとりあえず動作デモ。 Finderで開いているディレク…

ShellScriptでクリップボードの履歴管理する(ついでに水平連結もする)

ShellScriptでドヤりたいGWアドベントカレンダー5日目いくで。 クリップボード管理アプリをShellScriptで作った。 そもそもはスプレッドシートから列をコピーしてA列とB列を入れ替えて貼り付けたいと思ったのが発端で、 どちらかというと副産物的な感じでク…

Shellで定義済みの関数を流し読みしながら表示する

ShellScriptでドヤりたいGWアドベントカレンダー4日目いくで。 皆さん.zshrcや.bashrcは充実していますか? Vimの世界では「.vimrcの量=vim力」と言われているらしいですが、shellも似たようなものでしょうか。 それはさておきshellには様々な関数がありま…

コマンドで文字列画像を生成する

ShellScriptでドヤりたいGWアドベントカレンダー3日目いくで。 適当な画像が必要なときって結構あると思う。 そんな時一々Googleで画像検索するのが億劫になったのでコマンド一発で作れるようにした。 デモ こんな感じで好きな文字列の画像を生成する。 方法…

Chromeの履歴をShellScriptで弄り倒す

ShellScriptでドヤりたいGWアドベントカレンダー1日目いくで。 ブラウザの履歴ってその人がその日何をやっていたのか示すものとして結構な情報詰まってると思うのよね。 「俺今日何やってたっけ・・・」っていう時の思い出し作業や、「さっき見てたページも…

俺よりiTerm使いこなしてるやつおる?

お前らはまだiTermの本当の力を知らない 純正Terminal、Hyper、Alacritty等を使ってるやつ、今すぐ捨ててiTermに乗り換えたほうが良い。 iTermから乗り換えた人も今一度iTermのことを知ってほしい。きっと知らない機能があるはず。 目次 Shell統合をさっさと…

iTermをAppleScriptで操作する

基本的には以下の公式ドキュメントがわかりやすいし参考になる。 www.iterm2.com ただ実際使う時どうなるの、どうすんの?っていうのを紹介する。 AppleScriptでiTermを操作する基本的な構文 iterm.sh #!/usr/bin/osascript tell application "iTerm" activa…

Macでggrepをgrepとして扱う

GNU版のgrepをインストールするとggrepになる brew install grepでインストールしたgrepはggrepとして登録される。 ggrepではなくgrepとして扱いたい場合、PATHを追加してあげるといい。 PATHを追加 .zshrcに以下を記載 export PATH="/usr/local/opt/grep/li…

Shellでランダムな文字列を生成する(文字列/数字文字列/乱数)

ふとした瞬間に「あ、ランダムな文字列生成したい」というときがあると思う。 そんなときのShellコマンドを紹介。 ランダムな文字列にも色々種類がある 今回生成するのは以下。 ランダムな文字列生成(例:'ex792Lhk') ランダムな数字文字列生成(例:'189765'…

プレゼンでよく使うアイコンをKeynoteで作った(マイシェイプに登録できる)

プレゼンでよく使うアイコンをKeynoteの図形で作った。 github.com デモ こんな感じ。 図形で作っているのでマイシェイプに登録できるし、自由に色も変えられる。 Keynoteだから、分割して微調整できる 右クリック > 分割 で細かいパーツに分けられるので、…

VagrantでKaliLinux環境構築(USB-Wifiの認識、NatNetworkの設定)

前回でとりあえずの環境は整ったので、今回は無線LANハックをする環境を整える。 最終的なVagrantfileなどはGithubに上げておいた。 死ぬほど参考にさせていただいたサイト medium.com 基本的には上記のサイトのままいけば大丈夫。(タメになる記事ありがとう…

VagrantでKaliLinuxの環境構築する(Vagrantfile、apt-get, yumのリポジトリ追加)

kali-linuxをvagrantで構築する。備忘録です。 最終的なVagrantfileとかGithubに載せておく。 github.com Vagrantfileの作成、box構築 公式(たぶん)を参考にVagrantfileを作成し、box構築。 app.vagrantup.com # Vagrantfileの作成 $ vagrant init offensive…

/etc/aliasesを共有化しようとしてハマったこと

今だったらAWSとかにまかせてしまって/etc/aliasesを触る機会なんてないかもしれんが、最近あったので書いておく。 課題 WEBサーバーが複数ある状態 全てのサーバーで/etc/aliasesが同じ状態であること /etc/aliasesを書き換えることがある 上記を踏まえた結…

Vimでカーソル位置下の単語をGoogle検索する

Vim

プログラムを書いていると「お、なんだこの関数?」と思いググることってよくあると思う。 そんな時一々単語をコピーし、ブラウザを開き、検索バーに打ち込んで検索している自分に腹が立った。なぜこんな無駄な動きをしているんだ。 プログラムに限らずREADM…

【bashrc/zshrc】alias、functionの俺的命名規則3つ

aliasにする?functionのままにする? .bashrcや.zshrcにaliasやfunction()を記載することってよくあると思う。 またfunctionはそのままfunction名をコマンドとして打てば実行できるし、 簡単なコマンドの羅列はalias 少し複雑な処理が必要なのはfunction な…

【Tips】Vimで先頭と末尾に文字を挿入する

Vim

コマンド一発で先頭と末尾に文字を挿入したいときってあるじゃん。 そんな時にどうするかって話。 方法 とりあえず結論から話すと以下のコマンドでいける。 :%s/^/先頭に入れたい文字/g | %s/$/行末に入れたい文字/g パイプで繋げれば良かったんやな。 %sの…

サーバーのコマンド実行をお願いするときに気をつけること5選

本番サーバーでコマンド実行する際、権限を持っている人にコマンド実行を依頼することってあるじゃん。全台サーバーに実行みたいな。 そんな時に「このコマンドエラー出るよ」と言われないために気をつけるべきことを書いていくぞ。 1. rm, cpには\をつけてa…

はてぶのsitemap.xmlの登録が保留のままになる

最近はてぶをPROにアップグレードし、独自ドメインに変更した。 GoogleAnalyticsの登録は無事済み、GoogleSearchConsoleにサイトマップを登録しようと思ったところ、保留のままとなる。 永久にステータスが保留のままになる しかも新しいGoogleSearchConsole…

git blameで指定した人が書いたソースを全部表示する

優秀だなと思った人のソースは全部読みたい 自社開発や大規模なプロジェクトで開発しているとたまに「ああなんてわかりやすいコードを書くんや...」と思うことがある。 とりあえずgit blameして誰が書いたのか特定したはいいものの「もっとこの人の書いたコ…

ブログ(割とガチ目な)を始めたい友がいる

友が困っているなら力になりたいじゃん? 高校からの親友で今猛烈に頑張っている友がいる。友達が3人ぐらいしかいない俺にとっては非常に貴重な存在だ。 その友が「情報を発信したい、でも何から始めたらいいのかわからんしそれを調べる時間もない」と言って…

phpのempty()には気をつけろと言うけど具体的にどういうケースやねん

php

巷でよく「empty()は挙動をわかっていないと使ってはいけない」というのを見るが具体的にどういう場面で注意したらいいのかイマイチ理解していなかった。 そこで「気をつけてはいたが実際にempty()で痛い目に会った」話をしたい。 empty()とは empty()で気を…