ブログ

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

プログラマの三大美徳 (参考リンク)

プログラマの三大美徳 怠惰、短気、傲慢 の3つがあることが知られている それぞれ... 怠惰 全体の労力を減らすために手間を惜しまない気質。 この気質の持ち主は、役立つプログラムを書いてみんなの苦労を減らしたり、同じ質問に何度も答えなくてもいいよう…

Q. エラー検出された行でカーソルが消えて操作しづらい (Ale + Vim)

A. let g:ale_echo_cursor = 0 で設定の無効化をする Cursor disappears when viewing error message · Issue #1334 · w0rp/ale - GitHub : 当該コメント Link w0rp/ale: Asynchronous linting/fixing for Vim and language server protocol integration - G…

Code Climate で Ruby コードの複雑さを可視化する

Code Climate 対応する言語 機能 メンテナンス性の解析 そのほかの解析・機能 まとめ Bonus Tips Links Code Climate Code Climate というサービスがある 対応する言語 Ruby Python PHP JavaScript Java TypeScript GoLang Swift そのほかにも C#, Scala, Ko…

knife コマンドを [Tab] 補完する (Chef)

avishai-ish-shalom/knife.sh (Gist) を利用する 確認時点で7年前作成のものと だいぶ古いが問題なく動く 補完機能を有効化する 所定の場所 ( /etc/bash_completion.d など) にダウンロードして設置する cd /etc/bash_completion.d wget https://gist.github…

Vim で分割したひとつのパネルを一時的に最大化したい/戻したい (参考リンク)

A. 関数を定義して、キー操作に割り当てる nnoremap <C-W>O :call MaximizeToggle()<CR> nnoremap <C-W>o :call MaximizeToggle()<CR> nnoremap <C-W><C-O> :call MaximizeToggle()<CR> function! MaximizeToggle() if exists("s:maximize_session") exec "source " . s:maximize_session cal</cr></c-o></c-w></cr></c-w></cr></c-w>…

Q. Ubuntu に Rails がインストールできない (nokogiri)

A. 公式ドキュメント を参照し、推奨パッケージをインストールする apt-get install build-essential patch ruby-dev zlib1g-dev liblzma-dev いつもの「Rails gem インストールできない問題」に立ちはだかる Nokogiri gem Link Installing Nokogiri - Nokog…

外部ファイルをダウンロードして展開するスクリプトを直した

Terraform の最新版があることを terraform -v が教えてくれるので、その情報を元に URL を組み立てて 最新版に更新する Bash の関数を作った そのときに cut でバージョン番号の抜き出しをしていたが 上手く動いてなかったので 正規表現 ( egrep -o ) に切…

Q. ローカル開発環境でつくったページをちょっとの間公開したい

Q&A

A. ngrok を使う cd my_awesome_rails_project rails s # Rails サーバを立ち上げ、port 3,000 番で待ち受け # 外部からの http (80) アクセスとローカルの3000 番ポートとを関連付け ngrok http 3000 # ngrok が起動し、URL が設定されて通信可能になる For…

Q. tmux で選択・コピーしたテキストをファイルに書き出すには

A. cat とヒアドキュメントとを併用して書き出す # コピーモードの開始 bind-key [ # [space] で選択開始、hjkl PageUp/PageDown など各種キーで選択位置の移動、[Enter] で範囲確定 cat <<EOF > paste.txt > # ここで貼り付け操作 bind-key ] > EOF クリップボー</eof>…

learn.chef.io で構成管理ツール Chef の使い方を学ぶ (参考リンク)

Chef learn.chef.io その他 気付いたこと Link Chef Configuration Management Tool と呼ばれるツール 「サーバの構成・設定はこうあってほしい」と、その望む状態をコードとして記述することで、自動的に・継続的にサーバの設定を維持管理していける仕組み…

Q. 適切なメソッド名を英語で考えるのが面倒くさい

Q&A

A. がんばって考える。たとえば日本語で考えた適切なメソッド名を Google 翻訳 に投げて調整する メソッド名を考える 翻訳を通してメソッド名を考える 似たような英単語を探す メソッド名の問題じゃない? Links メソッド名を考える 翻訳を通してメソッド名…

dein.vim を導入する (参考リンク)

Vim

プラグインマネージャ おもに GitHub などに公開されている Vim プラグインを、設定として記述することで簡単にインストール・削除できるようにしてくれるプラグイン 以前は Vundle を利用していたが Dein に乗り換えた dein.vim Dein.vim is a dark powered…

rerun gem で Docker コンテナ破棄・構築のイテレーションを素早く回す

問題 解決 rerun Link 問題 Dockerfile の内容や、コンテナに同梱したいファイルを編集したときに 編集内容が反映されているか 再ビルド (docker build )して 起動させて (docker run) 目視確認したい (ここでは Docker の正しい使い方は気にしない) (本当は…

Debian 9 にインストールされている Nginx を新しいバージョンに更新する (1.12.2 → 1.14.0)

問題 クリーンインストールして とくに何も設定してない Debian 9 にインストールされる Nginx のバージョンがちょっと古い (1.12.2) この記事を書いた時点での最新安定版 (1.14.0) に換えたい 解決 souces.list に Nginx のリポジトリを追加してそこからイ…

Q. man を読んで理解するよりも使い方を知りたい

A. https://cheat.sh を利用する curl でのアクセスも出来るので、次のように関数を定義してコマンドのように使うことも出来る # Bash # ~/.bashrc など適当な場所に定義する function cheat() { curl "https://cheat.sh/$1" } cheat ssh-keygen # 関数呼び…

ssh-copy-id でサーバにカギを渡す

「ssh-copy-id ってなに?」→ man ssh-copy-id を参照のこと 前提 (クライアント・サーバは任意の OS でも可) クライアント側は Ubuntu サーバ側は Debian サーバ側の初期設定として /etc/ssh/sshd_config : AuthorizedKyesFile 設定を有効化済み (通常通り …

VirtualBox ゲストに SSH 接続する

内容は下の動画の通り www.youtube.com 接続したいゲストOS の設定から「ブリッジアダプター」を追加してあげると、ホスト OS と同じネットワークに参加できるので、そこから IP アドレスを調べて接続する # cmd.exe を開く ipconfig # ネットワークアドレス…

apt コマンドでソフトウェアをインストールする

FJORD BOOT CAMP 課題クリアのための記事 Windows だと「ブラウザでWeb ページを開いて 実行形式のファイルをダウンロードしてきて ダウンロードフォルダを開いてダブルクリックして インストーラの案内に従ってマウスぽちぽち」... といった流れだが、CUI …

定義済みのHTML からクラスやID を抜き出す(参考リンク)

CSS

「あったらいいな」はだいたいある というお話 (無ければ それはあなたの番) HTML で文章構造とクラス名とを定義した後に、extractCSS を利用すると、それらの情報を CSS として記述できる形式で抜き出すことが出来る Links extractCSS - Online CSS Extract…

Q. HTML を編集せずに要素の隣に画像を表示させるには?

CSS

A. :before / :after 疑似要素, content プロパティ, url(), Base64 エンコード、この4つを使う codepen.io 「Base64 Image Encoder」のようなサービスを利用して 画像を文字列に変換 (プログラミング言語が扱えるなら得意な言語とライブラリを駆使して変換…

Zeal : ドキュメントを高速に検索する

Mac にも Windows にも「ドキュメント検索ツール」があるよ、という おはなし Dash というツール Zeal Links Dash というツール macOS には Dash というドキュメント検索ツールがある 簡単な使い方として: ショートカットキーを設定してサッと呼び出して 何…

課題:「Webデザイナーのための「本当は怖くない」黒い画面入門」に挑戦した

FJORD BOOT CAMP(フィヨルドブートキャンプ) の課題クリアの一環として記事を書く 内容は「Webデザイナーの為の「本当は怖くない」“黒い画面”入門 Part.01~Part.09 まで取り組んだ内容をブログにまとめる」というもの 黒い画面はこわくないよ 扱ったコマ…

curl で wttr.in に問い合わせて ターミナル上で天気予報を確認する

wttr.in コマンドを定義する Links wttr.in wttr.in というサイトがある リクエスト内容に応じた地域の天気予報を表示してくれる (eg. http://wttr.in/Tokyo など) Web ブラウザだけでなく curl にも対応している。ので、これをターミナル上で表示させる コ…

EditorConfig で Tab vs Space インデント戦争を終わらせる(参考リンク)

Vim

まとめ EditorConfig をチームで導入して、それぞれ好きなエディタを使いつつも 統一的な書き方を進めていこう 設定ファイル? 改行は CRLF, LF にするのかとか 文字コード、ファイルの末尾に空行を入れるか、インデントはタブかスペースか、インデントのサ…

Cloud9 (c9.io) の Python 環境に ver. 3.6 をインストールする

デフォルトでインストールされているバージョンは 2.7 なので、3.6 をインストールして使いたい 内容は How to change from default to alternative Python version on Debian Linux - LinuxConfig.org と同じ 本記事での c9.io は、AWS ではなく、旧来の環…

Jupyter notebook に Haskell を追加する

インストール iHaskell を公式の README.md に沿ってインストールする エラーと対処 途中、エラーが出て進まなかった AesonException "Error in $.packages.cassava.constraints.flags['bytestring--lt-0_10_4']: Invalid flag name: \"bytestring--lt-0_10_…

CSS ファイルを webpack でバンドルする

初めての webpack loader コミットした: github.com まとめ わからなかったこと Links まとめ style-loader + css-loader で、CSS ファイルを JavaScript ファイルにバンドルできる 書いたスタイルは; バンドルされた JavaScript ファイルを HTML ファイル…

メンテしてない GitHub リポジトリをアーカイブした

アーカイブした これで、「このリポジトリはメンテナンスしてないよ」と示すことが出来る 記事を書いた時点で; アーカイブしたリポジトリはぜんぶで 72 らしい 検索パラメータとして user:gouf, archived:true を付けて検索するとリポジトリとその数がわかる…

Q. man コマンドの説明が長すぎて読んでられない

Q&A

A. tldr コマンドを使う tldr-pages/tldr: Simplified and community-driven man pages

ccat の出力する色を Ubuntu で見易しく設定する

設定した 問題 解決 設定後の見え方 色の設定について alias に設定する Links 問題 Ubuntu デフォルトのターミナルだと背景色が暗めで ccat コマンドの色が見づらい 解決 ccat の出力する色の設定をする ccat -G String="_brown_"\ -G Plaintext="overline"…