ブログ

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

2019-01-01から1年間の記事一覧

Q. TypeError: 'range' object is not callable で range(n) が呼び出せない

A. del を使って定義を削除する # 誤って組み込みオブジェクトへの参照定義を上書きしてしまった...!! 初心者なので...!! range = range(10) # ここではエラーなく実行できる for i in range: print(i) # 次回呼び出し時にエラーになる... ので del する del…

Q. git git git... もう打ちたくない... (サブコマンドだけ打ちたい)

A. gitsh を使う Homebrew に対応してるので tap してからインストールする: brew tap thoughtbot/formulae brew install gitsh MEMO: コマンド名が長い気がするので alias gish=gitsh で短縮して使ってる TIPS: .gitconfig に alias を設定する ことで、さ…

Q. キーボード入力を分かり易しく 画面中に表示させたい

Mac

A. keycastr を使う プロジェクターやスクリーンシェア、不特定多数に向けて 操作中の画面を見せたい場合にベンリ Homebrew に対応してるので cask からインストールする: brew cask install keycastr Tips: 開発元が確認できなくて アプリを開けないので [C…

Evernote に保存している歌詞を検索する (Alfred Workflow + AppleScript)

Mac

Evernote に「歌詞」ノートブックがあってその中に歌詞を保存したノートがたくさんあるので、それらをシュッと検索できるようにしたい Alfred 側 AppleScript 側 Links Alfred 側 ワークフローは: 「キーワードに反応して → スクリプトを動作させる」という…

Q. Alfred Workflow + AppleScript で日本語入力したい

A. クリップボードにコピーしてペーストする Alfred 側 スクリプト記述場所で pbcopy を使って query をクリップボードにコピーする AppleScript に渡す前にクリップボードに入力したい文字列をコピーする AppleScript 側 貼り付け操作のショートカットキー…

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 …