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でまとめました。 マイシェイプに登録できる形で作成したので、自分の環境にすぐ取り入れることができます。

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…

fzfでAuthorを指定して編集ファイル一覧を出力する

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

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

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

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

php

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

はてなAPIをcurlでサクッと実行する

とりあえずはてなAPIをサクッとshellで実行したい人に向けて。 自分の記事を取得する curl -u {はてなID}:{APIキー} https://blog.hatena.ne.jp/{はてなID}/{ブログID}/atom/entry はてなAPIはOAuth認証、WSSE認証、Basic認証のいずれかを行う必要があるので…

Laravel+Alamofireで画像のアップロードがうまくいかない件

iOSのインカメラでキャプチャを撮ってサーバー側に保存する、といった処理をしようとした際、どうもサーバー側で画像が受け取れない。 なぜか画像が$_FILEではなく$_POSTに入ってきてしまい、かつバイナリ文字列のような形で来てしまう。 結論としてはAlamof…

laravel+apacheでTesting 123...と出てしまう問題の解決法

php

サーバーにlaravelで作ったアプリを設置するときに若干詰まった。 結局シンプルな変更漏れっていうオチなんですけどね。 解決1 DOCUMENT_ROOTを設定するときにhttpd.confの設定で変更漏れがあった。 DocumentRoot /var/www/html/laravel-app/public ServerNa…

apacheのDOCUMENT_ROOTを知る方法

php

httpdの変更が反映されない とあるサーバーで作業しているときにDocument Root変更したいなと思い/etc/httpd/conf/httpd.confを編集してservice httpd restartをしても全く反映されない現象に出会った。 結論から言うと参照しているhttpd.confが別のものだっ…

【Swift4】UIImageでURLで画像を指定する

UIImageでURLで指定して画像を取得したいときが結構ある。 以下でURL指定で取得できる。 func getImageByUrl(url: String) -> UIImage{ let url = URL(string: url) do { let data = try Data(contentsOf: url!) return UIImage(data: data)! } catch let er…

Webエンジニアの作業効率を1.3倍ぐらいにするワンライナー

この記事は今すぐalias登録すべきワンライナー by ゆめみ① Advent Calendar 2018の25日目の記事です。 ワンライナーでサクッと作業完了できる人かっこいいですよね。 "今すぐ登録すべきalias"ということで普段業務中にでごりごりと使っているワンライナーを…

Qiitaのアドベントカレンダーにいいね数を表示するChrome拡張作った

Qiitaのアドベントカレンダーわくわくしますよね。 毎日興味のあるカレンダーを見に行くのが12月の日課になっています。 ただ一つだけ不満がある、、、 どれが盛り上がっている記事なのか一目でわからない・・・!! 別にいいね数が多い記事が自分にとっても…

僕たちはまだ本当の星空を知らない(stellarium+headlss+iOS)

この記事はHamee Advent Calendar 2018の5日目の記事です。 皆さん最近星見てますか。 「忙しくて星なんか見ている暇ない」、「外に行くのが寒い」、「星なんか見るよりSoftwareDesign読んだり、開発していたほうが楽しい」という方必見ですわ。 全部叶えて…

stellariumのbuild&install(linux編 on Docker)

今日もね、星の話をしたい。 前回はMacでstellariumを起動するところまでをやった。 今回はlinux上でstellariumを起動するところまでやる。 linuxの環境構築 Docker上に環境を構築していく。ディレクトリ構成は以下。 docker-stellarium |_docker-compose.ym…

stellariumをソースからbuild&installする(Mac編)

皆さん星を見るツール知ってますか。 プラネタリウムをお家のPCで実現できる「stellarium」というものがあるんですよ。 stellarium.org stellarium導入の準備 前置きはすっ飛ばして必要な作業だけ書いていきますね。早く星見たいですもんね。 といっても必要…