poyopoyo0のブログ

poyopoyoのブログ

Web 関連のメモ書きブログです。

【Node.js】UTF8以外のページをlibxmljsでスクレイピングするには

【追記】metaタグのcharsetの置換について、当初はreplaceメソッドを使用していましたが、replaceは最初に一致した文字列だけを置換するので、metaタグのcharsetの置換が失敗することがあることが分かりました。そのため、置換の方法をsplitとjoinメソッドを…

【Contentful】 Content Management API で未公開entryを取得するには

最近はContentfulを簡易DBとして使いこなせないか試すため、個人プロジェクトのパラメータ保存先を少しずつContentfulに移行してみているのだけど、createdAtやupdatedAtなど、Railsで見覚えのあるパラメータだけでなく、publishedAtやfirstPublishedAt、cre…

【Vue.js / Nuxt.js / Firebase】 NuxtでgenerateしたSPAをFirebase上でリダイレクト処理させるには

※middlewareについての記述が間違っていたので、訂正しました。 ↓ NuxtでgenerateしたSPAをFirebase上でリダイレクト処理させるのに、えらいこと手こずってしまったので、覚え書き。 以下は、ロケーションバーに直打ちして https://(app_url)/hoge にアクセ…

【Nuxt.js】 ブラウザのコンソールでNuxtオブジェクトを表示させるには

前回 、ブラウザのコンソールでVueオブジェクトを表示させる方法を記述したが、Nuxt.jsに限定すれば、もっと簡単なやり方があったので、覚え書き。 やり方は、ブラウザのデベロッパーツールのコンソールで this.$nuxt と入力するだけ。すると、画像のように…

【Vue.js / Nuxt.js】 ブラウザのコンソールでVueオブジェクトを表示させるには

【追記】Nuxt.jsに限定すれば、もっと簡単なやり方があったので、こちらに書きました 知ってる人からすると、ほんとに今さらの知識なんだろうけど、ブラウザのコンソールでVueオブジェクトを表示させる方法が分かったので、覚え書き。 まず、 Vue.js / Nuxt.…

【GitLab.com】 Vue.js / Nuxt.js でビルドしたファイルを GitLab Pages でホスティングさせるには

こちらの記事 qiita.com で紹介されているように、 GitLab.com ではプライベートリポジトリが無制限で無料らしい。しかも GitHub Pages と同じく、 GitLab Pages というホスティング機能まであるのだとか! GitLab Pages でのホスティング方法は、 master ブ…

【 Ruby 】 配列の中の重複要素だけを抽出するには

Rubyの配列arrayを重複要素無しの配列にするには array.uniq または array.uniq! とすればいいだけなのだけど、一方で、「配列の中の重複要素だけを抽出する」というメソッドは、どうやら存在しないみたい。 Rubyは配列同士の差を計算できるので array - arr…

【 Ruby 】 Windows上で文字コードエラーになる場合

今まではWindowsでRubyスクリプトを作成する際、スクリプトの冒頭に # coding: Shift_JIS と記述していたのだけど、あるとき incompatible encoding regexp match (Shift_JIS regexp with Windows-31J string) (Encoding::CompatibilityError) と文字コード…

【 Git 】同じ作業ブランチを複数の人と共有していて、誰かが更新したときは

Git

一つの作業ブランチをリモートで複数の人と共有していて、誰かがリモートブランチを更新させたとき、手元の作業ブランチでもその変更を反映させたいときがある。 その場合は $ git pull --rebase としてやれば、リモートの変更をローカルの作業ブランチに反…

【 Rails 】コメント機能の付いたブログのサンプル

コメント機能の付いたブログを Rails で作りたいときは、 こちらの記事 d.hatena.ne.jp がまとまっていて、とても分かりやすかった。そのまま書き写せば、問題なく動くブログが作れてしまう。 初歩に立ち戻りたいときに、こういう記事はとても便利。

【 Rails 】View から Controller に値を受け渡すには

Controller から View に値を受け渡すには、 Controller で値を定義してやればいいだけなのだけど、今度は逆に View から Controller に値を受け渡したいときはどのようにやればいいか、長いこと謎だった。 こちら stackoverflow.com の Answer を見て、よう…

【 Rails 】capybara と capybara-webkit は別物

@komagata さんが capybara や capybara-webkit などの言葉の定義を esa のコメント欄で書かれていたので、メモらせてもらいます。 ↓ 通常 capybara と言った場合は、テストのための DSL とその仕組自身のことを指し、それぞれの driver が selenium 、 capy…

【 Ruby 】文字列をメソッドオブジェクトに変換したいときは

Ruby スクリプトの作成中に、文字列をメソッドオブジェクトに変換してくれるメソッドが欲しくなった。 さすがの Ruby も、そんな奇天烈なメソッドは存在しないよな~、と思っていたら、なんと 存在していた 。 Ruby send メソッド : 備忘録にしたい どうやら…

【正規表現】用途に応じて、手っ取り早く逆引きしたいときは

伊藤淳一さんの Qiita の記事 qiita.com が流れてきてたけど、用途に応じて手っ取り早く逆引きしたいときは、こちらの記事 qiita.com も便利。 自分のレベルでは、取り敢えずここに書かれている内容で大丈夫かな…、という感じです。

【 Rails 】development 環境の DB の中身を覗くには

development 環境で SQLite を使っている場合、データ入力がきちんとできているかどうか確認するために、この記事 qiita.com と、この記事 d.hatena.ne.jp を参考にした。具体的には $ bundle exec rails db と入力した後、 sqlite の画面に切り替わるので、…

【 Rails 】 $ rake db:setup した後で、別の seed データを DB に新たに追加したいときは

development 環境で $ rake db:setup した後で、別の seed データを DB に追加したいときがある。 db/fixtures/テーブル名.yml に seed データを入力した後、再度 $ rake db:setup を実行してもいいのだが、既に手動で入力しているデータがあった場合、 $ ra…

【 Rails 】Rails プロジェクトに新規画面を追加するには

例えば reports 画面を新たに追加したい場合は $ bundle exec rails g controller reports index show new edit $ bundle exec rails g model report と打ち込んだ後、 migration を修正して $ bundle exec rake db:migrate を実行してやればOK。 上のコマ…

【 Rails 】 migration の実行コマンド

例えば Oopart テーブルに scares_count カラムを追加したい場合は、以下のように migration を実行する。 $ bundle exec rails g migration AddScaresCountToOoparts $ bundle exec rake db:migrate

【 Git コマンド】 $ git stash コマンド一式

Git

こちら qiita.com に色々書いてあったのでメモ書き。

【 Git コマンド】作業ブランチと master ブランチの diff をまとめて表示するには

Git

通常、 $ git diff コマンドだと、ステージング前後の diff や commit 単位の diff は表示できても、ブランチ単位の diff をまとめて表示することができない。 それを表示するには $ git diff master...作業ブランチ名 としてやれば、作業ブランチと master …

【 Git コマンド】commit してしまった変更をなかったことにするには

Git

commit してしまった変更をなかったことにするには、今まで $ git reset ばかり使ってきたけれど、他にも色々な種類があるらしい。 このページ gitで一度行った変更をなかったことにする方法4つ - TIM Labs にまとめられているので、参考にしていきたい。

【 Git コマンド】ステージングしたファイルの diff を表示したいときは

Git

$ git diff で表示される diff は、ステージング前のものに限られる。 ステージングしたファイルの diff を表示したいときは $ git diff --staged としてやればいい。 $ git diff --cached や $ git diff HEAD でも同じ結果が得られる。

【 Git コマンド】ステージングしたファイルをアンステージングするには

Git

$ git add foo.txt でステージングしたファイルをアンステージングしたいときは $ git reset HEAD foo.txt としてやれば、アンステージングできる。 参考: d.hatena.ne.jp

テストではなく、通常時の JavaScript にブレイクポイントを挿入したいときは

テスト ではなく、通常時の JavaScript にブレイクポイントを挿入したいときは、 JavaScript 中に debugger と書くことで binding.pry のようにプログラムを止めて JavaScript のデバッグができる。テスト実行時と違い、通常時では Selenium が立ち上がらな…

Selenium で個別テストを実行するときのコマンド

このコマンドが必要になる度に、何度も調べ直しているので、メモ書き。 $ SELENIUM=1 ruby -Itest test/integration/foo_test.rb と Terminal から打ち込めば、 Selenium で個別テストが実行できる。 テストに binding.pry を入れて実行すると、一行づつテス…

execute_script と evaluate_script の違いって何だろう

Capybara でテストを実行した際、下記のようなエラーが出てテスト失敗することがある。 1) Error: TopTest#test_Post_note: JSON::NestingError: nesting of 101 is too deep test/integration/top_test.rb:65:in `block in <class:TopTest>' テストのソースを見たら evalua</class:toptest>…

GitHub で auto merge できないときは

参考サイトを覚え書き。 GitHub で auto merge できないときは、こちら qiita.com のページを参考に、 $ git merge master を行う。 その際の commit message は Merge branch 'master' into <ブランチ名> とかにしてやれば分かりやすい。 なお $ git merge …

【 Git コマンド】ブランチ名を一度変更した後、再度元に戻したい場合は

Git

$ git checkout -b foo でブランチを切った後、 $ git branch -m bar でブランチ名を変更することがあるが、その後で、やっぱり最初のブランチ名に戻したいときがある。そのときは $ git checkout - と打てば、ブランチ名を foo に戻せる。 【補足】 ブラン…

GitHub に投稿した commit message を修正するには

GitHub に投稿した commit message を修正するのにえらいこと手間取ったので、忘れないように覚え書き。 参考記事:yuzu441.hateblo.jp 1. まず始めに $ git log --oneline で過去の commit をterminal に表示させて、修正対象の commit を見つける。 2. 直…

apt の基本(学習週)

学習週のプラクティスに apt の基本 というのがあって、項目の終了条件が apt についてブログに書く ということだったので、覚え書き。 以下の環境は、さくらの VPS でカスタム OS インストールした直後の Debisn 7 です。 apt コマンドでパッケージをインス…