ブログ

読んで思い出す。忘れるために書く

sorbet gem でメソッドの入出力型をチェックする

公式ドキュメントの sigs の部分だけ触ってみた 他に NAMES = T.let(["Nelson", "Dmitry", "Paul"], T::Array[String]) といった書き方もできる のでヨサソウ 何千行, 何万行とコードを書いて混沌としてきたコードベースに秩序をもたらすことができる...? 詳…

image_processing gem で画像ファイルのリサイズをする

内容は janko/image_processing の README.md と同じもの 簡単な処理であれば 利用する画像処理ライブラリを選ぶ以外には共通したコードになりそう 前提 画像ファイルを用意する 画像ファイルをリサイズ・保存する Links 前提 brew install imagemagick vips…

Q. コマンドを typo した! くそっ!!

Q&A

A. fuck コマンドをつかう brew コマンドをtypo した! でも正確に打つことを放棄して typo, ふぁっく って言いすぎて、隣から「LANGUAGE!」って注意される日が来るかもしれない Link nvbn/thefuck: Magnificent app which corrects your previous console c…

Q. ディスクの空き容量やファイルの数を監視したい

Q&A

A. watch コマンドを使う 動画のエンコード処理やデータのダウンロードで、大まかな状況を把握する、といった使い方ができる # ハードドライブの空き容量, 処理したデータの数を定期実行で表示 watch -d "df -h /;echo count:;ls *.mp4|wc -l" Link Man page…

line-bot-sdk-ruby に公開されているサンプルコードを動かす (echobot)

line/line-bot-sdk-ruby に公開されている examples/echobot/app.rb を動かしてみた 前提・ゴール設定 準備 チャネル, bot の作成 LINE Messaging API SDK をインストールする dotenv gem を使う 署名検証をしない Sinatra と ngrok を動かす Webhook URL に…

Ruby で表現できる様々な書き方 (おみくじゲーム)

(他の言語でもそうだけど) 「Ruby ならいろいろな方法で書けるよ!」というお話 まとめ 要件 色々な書き方 1. if と == 比較 2. case...when で比較 3. Hash の対応付けから取り出す 4. 配列に収めて取り出す Links まとめ コードは書くばかりではなく 読む…

その日の勤務に関わる時間全体をタイムテーブルとして表示する

求人情報とか実際に会って話してみて、でも仕事を含めた毎日の生活ってどう変わるのかがイメージできないので、時間割として表示させるコードを書いた 出力結果 使い方 Links 出力結果 「10 時勤務開始, 8 時間勤務, 0 時間通勤」の場合 -------------------…

Q. Markdown のリンク リストをタイトルの短い順に並べ替えしたい

A. Nokogiri と github/markup, それと sort_by を使う 手順とコード 手順 コード Links 手順とコード 手順 大まかな手順としては: markup に Markdown を解析させて HTML に変換 Nokogiri でHTML 中から <a/> タグを抽出 <a/> タグのタイトル部分とURL 部分を抽出 <a/> </a/></a/></a/>…

Trivy でコンテナの脆弱性スキャンをする

Docker コンテナから直接実行, go get する方法, CentOS, Ubuntu へのインストール方法など、詳細は Github リポジトリ を参照のこと 今回は Mac にインストールして使ってみる 読みは「とりびぃ」らしい Trivy (tri pronounced like trigger, vy pronounced…

Rust で「数当てゲーム」を作った

本記事の内容は Programming a Guessing Game に同じ ゲームの内容としては: 最初に 1 〜 100 までの秘密の数値がランダムに選ばれる ユーザは数値を推測して入力 入力された値が外れなら、ヒントとして 正解よりも値が大きいか小さいか教える 当てるまでル…

Alfred のアップグレードをした (Ver. 3 → 4)

Mac

アップグレードした Alfred 4 の設定画面 データ移行? Alfred 側で移行手順が用意されてて、それに従ってボタンを押していく、ごく単純なものだった Alfred 3 の設定やデータがあることを自動検出して Alfred 4 にマイグレーション ファイル検索機能など特別…

Q. ローカルに立ち上げた Web アプリをURL で共有して確認してもらうには

Q&A

A. ngrok を使う (Heroku にデプロイしてもいいが より簡便に済ませたい) 使用例 状況 手順 Link 使用例 状況 PHP で簡単なコードを書いてみて動いてるみたいだけど 他の人から見てもそうなのか確認したい (ngrok は開発者環境でインストール済み) 手順 かん…

Q. bit.ly のURL 短縮をターミナルからコマンドっぽく実行したい

A. 次の関数定義を使う # bit.ly URL Shortener # Dependencies: # * BITLY_ACCESS_TOKEN # * BITLY_USER_NAME # * jq command function bitly { short_url=$(curl -s --request GET \ --url "https://api-ssl.bitly.com/v3/shorten?access_token=$BITLY_ACC…

Q. Alfred で crates.io を検索したい

A. https://crates.io/search?q={query} を設定に追加する crates.io を検索するカスタムサーチ設定 Links Alfred - Productivity App for macOS Cargo: packages for Rust

Q. Alfred で ダミー文章 (Lorem Ipsum) を自動入力したい

Mac

A. Alfred Workflow の 「Lorem Ipsum」をダウンロード・インストールする Alfred を呼び出したあと、lipsum を使おうとしているところ Alfred を呼び出したあと: 「lipsum」と入力 「Paragraph」「List」「Word」が候補に上がるので一つを選ぶ 必要な量を数…

Q. HTML 入力フォームの「onpaste 無効化」を解除したい

A. 開発者コンソール から当該要素を見つけて、onpaste 設定値を無効化したノードに差し替える // 開発者コンソール上での操作 // eg.「パスワードの入力を確認してください」 // がペースト無効化状態にされた input 要素 el = document.querySelector('inp…

英文から母音の数をカウントして多い順に並べる (Ruby)

「英文から母音の数をカウントして多い順に並べる」という Python の質問を目にしたので Ruby で書いてみた 「最初に動くものを書き、段階的に磨き上げていく」というのはコードを書く上でよくやることなので、今回はその初稿を残しておく この時点でテスト…

Q. ターミナルの操作内容を記録・共有したい

Q&A

A. asciinema を使う ターミナルの操作内容を記録したり、その内容を 公開・共有 することができる Mac であれば brew install, Ubuntu であれば apt-get install, その他プラットフォームは pip install と、各種環境で扱えるよう様々なインストール方法が…

Array#include? と Object#in? をつかう

まとめ include? と in? Links まとめ 「だれがどうしたのか」「どうしたのはだれか」みたいな文の主従の順序・逆転は些細なものかもしれない それでも、コードも文章の1つ、読み易しいコードを書いていきたい include? と in? たとえば、普段であれば次のよ…

コンパイルエラーを修正して Rust を学ぶ (参考リンク)

rustlings で練習課題をこなして、Rust の基本的な書き方が学べる インストールとセットアップ インストール 正しく書けたか調べてもらう Links インストールとセットアップ インストール # リポジトリのクローン、Rust 実行環境の確認を含めた、 rustlings …

Q. ディレクトリ・ファイル構造をテキストファイルに転写したい

Q&A

A. tree コマンドを使う tree > files_and_directories.txt

Q. Vim で行ごとにコピペした数値を連番にしたい

A. 対象とする数値の上で <C-a> これを行ごとに必要分繰り返す プラグイン を導入していれば <C-v> で矩形選択後に <C-a> で数値の加算をすることで、ビジュアルモードで連番振りができる Links Increasing or decreasing numbers | Vim Tips Wiki | FANDOM powered by Wiki</c-a></c-v></c-a>…

Rust で SQLite を動かしてみる (サンプルコードを関数に切り出す)

まとめ 手順 プロジェクトの初期化 SQLite を依存関係に追記・インストールする サンプル通りベタ書きしてみる 実行する 関数に切り出してみる Links まとめ Cargo Package に公開されている SQLite のサンプルコードをもとに、処理をいくつかの関数として切…

Q. Rust についてザックリ知りたい

A. 「Rust Crash Course | Rustlang」を視聴する インストールから cargo でプロジェクトの初期化、型や関数について一通り学習できる Link Rust Crash Course | Rustlang - YouTube

Q. その日のメモを日付つきファイル名に変更して 保存しておきたい

A. mv と併せて date コマンドを使用する # 毎日 or 不定期に書いているメモがある ls # => memo.md # その日の終わりに日付つきのファイル名に変更して # 次また「memo.md」で書き始められるように準備しておきたい mv memo.md memo_$(date "%Y-%m-%d").md …

wareki gem で日付から和暦表示に変換する (参考リンク)

wareki gem を利用すると西暦・和暦を相互変換できるようになる require 'wareki' pp Date.new(2019, 5, 1).strftime("%JF") # => "令和元年五月一日" pp Date.parse('令和元年五月一日') # => #<Date: 2019-05-01 ((2458605j,0s,0n),+0s,2299161j)> インストール方法や使い方は https://github.com/sugi/wareki</date:>…

Q. 毎週 Ruby に関連する情報をメールでお知らせして欲しい

A. Ruby Weekly を購読する Ruby Weekly が掲載する情報 最新情報 仕事情報 ブログ記事やチュートリアル コードとツール 「メールはヤダ」...? Ruby Weekly が掲載する情報 最新情報 たとえば 「Ruby 2.7 — Numbered Parameters – Brandon Weaver – Medium」…

Q. Alfred で日本の法律を検索したい

A. 次の URL を追加する : https://elaws.e-gov.go.jp/search/elawsSearch/elaws_search/lsg0100/search?searchType=2&searchLawName={query}&abbreviationFlg=true Alfred の Web カスタムサーチに法令検索を追加している例 たとえば 調べたい内容が「雇用…

AppleScript で Slack のログを検索の操作を半自動化する

やっていることは単純で: Slack を操作可能にする 検索窓の呼び出し ( [Command] + [F] ) 検索語の入力 検索実行 ( [Enter] ) ひとが操作している部分を AppleScript に代わりにやってもらう

Q. Parcel + Livereload でブラウザの再読込を自動化したい

A. npm-scripts にスクリプトを定義する (Parcel そのものは本記事とは関係ない (parsel serve [dir_and_file_name] で自動更新できる)) セットアップ Liverelaod の追加 スクリプトの定義・実行 Links セットアップ 大まかな手順は次の通り: ブラウザに Liv…