ブログ

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

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

Q. 値があったときのみ検索したい (ActiveRecord)

A. scope と if と all を使う (自回答の転記) teratail.com class Board < ActiveRecord::Base scope :mypage_search, ->(user_id, search_params = {}) do where(user_id: user_id) .find_by_board_title(search_params[:title]) .find_by_update_date(sea…

Q. ブラウザ上ですぐに Vue プロジェクトを書き始めたい

A. CodeSandbox を利用する Codepen のように、Vue.js, React.js, Angular.js ほか、様々なプロジェクトをすぐに書き始められる CodeSandbox で Vue.js プロジェクト

Docker 環境内で HTML ファイルを表示・編集する

teratail.com 自回答の転記 手っ取り早く動かすなら 公式の httpd イメージ や centos/httpd を利用して、 Dockerfile , docker-compose.yml 側の設定で充分だったりする この動作確認のあと Amazon EC2 Container Registry(Docker レジストリ) とか、EC2 …

個人開発で使うツール群 (2018年)

ツールとサービス 概要 ローカルで使うツール コード編集管理・テスト関連 ドキュメント・マニュアル, コードの確認 静的解析ツール 開発・実行環境 Virtualbox サーバ・サービス ツールとサービス 概要 2018年現在の開発で使ってるツール・サービス群 数が…

Q. git の tag を新しい順に並び替えて表示させたい

(sort コマンドに渡すと意図した順番にならないので...) A. git tag -l --sort=-v:refname を使う ~/.gitconfig に alias として登録しておくと 忘れても思い出せる [alias] version-tags = "tag -l --sort=-v:refname" リポジトリによってはタグの数がもの…

Q. サポートが切れてるけど Ruby 2.2 をインストールしたい (warning: this use of "defined" may not be portable [-Wexpansion-to-defined])

A. 一旦 libssl1.0-dev をインストールする apt install libssl1.0-dev # 旧版の libssl をインストール rbenv install 2.2.10 # 旧版のRuby をインストール # インストールが終わったら libssl を現行バージョンに戻す apt install libssl-dev ruby-2.2.10 …

Q. Travis CI でエラー: "Migrations are pending. To resolve this issue..." が出てテストがコケる

A. rails db:migrate コマンドを実行する どこで...? → .travis.yml の before_script のタイミング language: ruby rvm: - 2.3.4 - 2.5.0 before_script: - RAILS_ENV=test bundle e rails db:migrate Travis CI のビルドの各ステップで実行されるタイミン…

10分で学ぶ Vuex (参考リンク)

結構駆け足だけれど 最初の一歩としては実際に動作するものができるのでよい動画だと思った Learn Vuex In 10 Minutes (Vue.js State Management) - YouTube 公式ドキュメントも併せて読みたい 動画を観ながら手を動かして git にコミットしたモノを GitHub …

Date 型情報から月と日のみで比較する

質問「Ruby - 【Ruby/Rails】西暦なしの日付同士の比較&年1回のメッセージの表示/再表示|teratail」を見掛けて コードの部分だけ書きたくなったので 頭の体操 「ああ~ Lambda が使いたいんじゃ~」というお話 手順をどうするか考えて 実際の処理を lambd…

PPA から PHP をインストールする

PPA パッケージをインストールする PPA? インストールする PPA リポジトリの情報はどこに? Links PPA を利用して新しめのPHP をインストールする PPA パッケージをインストールする PPA? PPA (Personal Package Archives) は文字通り個人が作成したパッケー…

GitHub Actions で自動化されたワークフローを定義する (参考リンク)

ベータ版が登場したのでメモ GitHub Actions を利用することで...「コードが push されたら」→「Docker イメージをビルド」→「Terraform でデータベースのプロビジョニング」併せて「Octocat の画像を取得」→「Twilio から特定の電話番号に通知」...といった…

Gmail で暗号化メールを送信する (FlowCrypt)

Gmail 上で、PGP (Pretty Good Privacy) による暗号化を使用する 本記事に目を通すよりも、手を動かしたほうが早いので、FlowCrypt のページを参照のこと 前提 説明しないこと 手順 FlowCrypt のセットアップ 拡張機能のインストール 初期化 Gmail から暗号…

enhancd + peco を使って検索主導なディレクトリ移動をする (参考リンク)

詳しくは両者公式ドキュメントを参照のこと (peco, enhancd) あるいは Qiita 検索結果 など enhancd 既存の cd を拡張して履歴表示・選択で移動したり fuzzy match でのディレクトリ移動が出来る peco たとえば tree | peco として その一覧からインクリメン…

Q. 「...path name... (from $GOROOT)」で peco がインストールできない

A. go のお作法に沿った適切なディレクトリに git clone する git clone https://github.com/peco/peco.git "$GOPATH/src/github.com/peco/peco"\ && cd "$GOPATH/src/github.com/peco/peco"\ && glide install\ && go build cmd/peco/peco.go\ && go instal…

賢い質問の仕方 (参考リンク)

自分で考えたり下調べしたがらない「敗者(losers, ルーザー / タコ)」にならないために、あるいは「なにが質問したいことなの?」というやりとりを少しでも減らすために一読しておきたい : 賢い質問のしかた 注:リンク先を参照して 間違ってもそこがあな…

Asana kanban board で人生の進捗を管理する

「やりたいことが多すぎてどこから手を付けたらいいのかわからない」というのをどこかで言った気がするので 管理する kanban board でのタスク管理 プロジェクトのスタンス タスクの分類 タグ付け 状態の分類 終了条件 Links 詳しくは Asana の機能紹介ペー…

Yokohama.rb Monthly Meetup #93 に参加した

初参加 FJORD Bootcamp の中のひとに「こういう集まりがあるんだよ」と紹介されて、興味を惹かれて行ってみた yokohamarb.doorkeeper.jp セッション 相談するひと 応えるひと 持ち物 コミュニケーション? Links セッション そんなものは (時と場合により) …

User CSS で閲覧ページに任意のスタイルを当てる

閲覧する Web ページによっては読み易しいとは言えない CSS スタイル構成になっていることがある (とくに古い Web ページの場合) User CSS を使うと、任意のページに任意のスタイルを当てることができる body { width: 45%; margin: 0 auto; } p { margin: 0…

Q. Google での検索方法をひとに教えるには?

A. LMGTFY を利用する 「ネットがあり、いろんな検索サービスがあって、あなたはこうして検索できるんだよ、さあ、クリックしてみて」といった流れで、検索方法を教えてくれる eg. 「How to Google it」という検索キーワードで探す 英語以外にも様々な言語で…

Terraform で EC2 インスタンスを立ち上げた

Terraform: Up and Running の「Deploy a Configurable Server」の途中まで読んだ ここまでで出来るようになったコードを載せる 前提 コード 計画の確認・実行 動いてるか確認 terraform で立ち上げた環境の削除 Links 前提 VPC は何らかの構成で作成済み VP…

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

プログラマの三大美徳 怠惰、短気、傲慢 の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 と呼ばれるツール 「サーバの構成・設定はこうあってほしい」と、その望む状態をコードとして記述することで、自動的に・継続的にサーバの設定を維持管理していける仕組み…