こんにちは!kossyです! さて、今回はRailsのArrayの拡張メソッドであるinquiryの使い方について、ブログに残してみたいと思います。 使い方 pets = [:cat, :dog].inquiry pets.cat? # => true pets.ferret? # => false pets.any?(:cat, :ferret) # => true…
こんにちは!kossyです! さて、今回はRubyの標準モジュールである「NKF」を用いて、 全角英数字や全角スペースを半角に変換する方法をブログに残してみたいと思います。 環境 Rails 6.0.2.1 Ruby 2.5.1 MacOS Mojave 方法 こんな感じのCSVファイルがあった…
こんにちは!kossyです! さて、今回はrails r コマンドでターミナルからRailsのコードを実行する時のTIPSをご紹介できればと思います。 環境 Rails 6.0.2.1 Ruby 2.5.1 MacOS Mojave クラスの継承順位を出力する 例えばRailsアプリケーションにBookモデルが…
こんにちは!kossyです! さて、今回はRubyの標準モジュールであるnet/httpsを使って、 GoogleBooksAPIを使う方法について、ブログに残してみたいと思います。環境 Ruby 2.6.3 Rails 6.0.2.1 MacOS Mojave GoogleBooksAPIから返却されるJSONを見てみる 下記…
こんにちは!kossyです! さて、今回はActiveRecordのfindとArrayのfindがどのようにして挙動を切り替えているか、 気になったので調べてみました。 ブロックの有無で分岐していた # activerecord/lib/active_record/relation/finder_methods.rb def find(*a…
こんにちは!kossyです! さて、今回はvirtualbox + vagrant でubuntu環境を構築する際に、出力を日本語化する手順について、 ブログに残してみたいと思います。 なお、virtualbox + vagrant のダウンロードについては割愛します。 実行手順 まずはbox add …
こんにちは!kossyです! さて、今回はキャメルケースの文字列をスネークケースに変換する「underscore」というメソッドの使い方を ブログに残してみたいと思います。 Active Support::Inflectorってなに? ActiveSupport::Inflector によると、 The Inflect…
こんにちは!kossyです! さて、今回はRailsのenumで定義したシンボルを元に文字列を返すメソッドを定義したいと思います。 enumの詳しい説明は割愛します。 実装方法 class User enum role: [:general, :admin] end Userクラスがroleというカラムを持ってい…
こんにちは!kossyです! さて、今回はAngularのディレクティブの一つであるng-containerの使い方について、 ブログに残してみたいと思います。 ng-containerってなに? Angular日本語ガイドによると、 は Angular パーサーによって認識される構文要素です。…
アプリケーションの設計について ・Rails API mode について Rails による API 専用アプリケーション - Railsガイド Rails5とAPIモードについての解説・エラーハンドリングについて Railsアプリケーションにおけるエラー処理(例外設計)の考え方 - Qiita …
こんにちは!kossyです! さて、今回はRailsでAPIを実装する際に、responseのcache-controlを上書きする方法について ブログに残してみたいと思います。 そもそもcache-controlってなに? Cache-Control 一般ヘッダーフィールドは、リクエストとレスポンスの…
こんにちは!kossyです! さて、今回はインターネットのルーティングプロトコルであるEGPとIGPについて、 ブログに残してみたいと思います。 ルーター同士で通信して情報をやりとりするための規約 インターネットの通信の仕組みには、指定したIPアドレスへの…
こんにちは!kossyです! さて、今回は、トークンベースの認証の仕組みを提供するgemであるdevise_token_authの コードリーディングをしていた時に書かれていたある構文について、ブログに残してみたいと思います。 yield @variable if block_given? なんだ…
こんにちは!kossyです! さて、今回はRubyの標準モジュールである「securerandom」を使って、 トークンを作成する手順についてブログに残してみたいと思います。 環境 Ruby 2.5.1 Rails 5.2.3 MacOS Mojave libディレクトリにtoken_generator.rbを作成 トー…
こんにちは!kossyです! さて、今回は、Railsのvalidationでのlambdaの使い方を ブログに残してみたいと思います。 後置ifでlambdaを渡す サンプルコードを晒してみます。 class User before_validation :name, presence: true if lambda { |obj| name.will…
こんにちは!kossyです! さて、今回はDockerfileを記述する際に用いられるインストラクションの一つである、 ENVとARGの違いについてブログに残してみたいと思います。 そもそもDockerとはなんぞや?という方は、 knowledge.sakura.ad.jp 上記のサイトが参…
こんにちは!kossyです! さて、今回はGCPのCloud Storageにgsutilを使ってアプリケーションをデプロイする際に、 最新のコードがすぐに反映されるようにする方法を ブログに残してみたいと思います。 これやらないとデプロイしても最新のコードが反映されな…
こんにちは!kossyです! さて、今回はRubyのbegin-end構文で変数を定義する方法についてブログに残してみたいと思います。 begin-end構文とは?begin-endは例外処理でよく用いられるイメージですが、例外処理以外の用途でも使うことができるようです。What …
こんにちは!kossyです! さて、今回はRails 6 でアプリケーションを開発している時に見つけたテキストファイルである、 「./tmp/development_secret.txt」についてブログに残してみたいと思います。 dev環境およびテスト環境の場合にsecret_key_baseを生成…
こんにちは!kossyです! さて、今回はdockerのコンテナとイメージを一括削除するコマンドをブログに残してみたいと思います。 コンテナを一括削除するコマンドはこちらです。 $ docker ps -aq | xargs docker rm docker ps -ap で、停止中のコンテナも含め…
こんにちは!kossyです! さて、今回は、RailsでAPIを作成する時にrespond_toを使いたい時はあるモジュールをincludeする必要があるという話をブログに残したいと思います。 環境 Rails 6.0.2.1(API only) Ruby 2.5.1 ApplicationController.rbにMimeRespond…
こんにちは!kossyです! さて、今回はAngularのAppRoutingModuleのワイルドカード(**)は一番最後に指定すべし、という備忘録をブログに残したいと思います。 初歩的なミスをしてしまう自分を戒めようと思います。笑 const routes: Routes = [ { path: '', c…
こんにちは!kossyです! さて、今回はJavaScriptの日付を扱うライブラリであるdate-fnsでlocaleを指定してformatする方法について、 ブログに残してみたいと思います。 実装手順注意することは、jaのimportの文法くらいですね。import { ja } from 'date-fn…
こんにちは!kossyです! さて、今回は、JavaScriptの日付を扱うライブラリの一つである。date-fnsを少し触ってみたので、ブログに残してみたいと思います。 引数一つだと怒られるAngularのプロジェクト内で、 format(new Date()); というコードを記述したと…
こんにちは!kossyです! さて、今回はJavaScriptのフレームワークの一つであるAngularに、有名なCSSライブラリであるbootstrapを導入する手順を ブログに残してみたいと思います。 環境 MacOS Mojave Angular 8.0.6 TypeScript 3.4.5 Rxjs 6.4.0 AngularCLI…
こんにちは!kossyです! 先週の日曜日に基本情報技術者試験(FE)を受けてきました。結果は、 自己採点の結果、合格です。 午前・午後共にギリギリ6割取れていました。勉強自体は3月ごろから始めていましたが、通勤の電車内で過去問を解いたり、 テキストを読…
こんにちは!kossyです! www.sequelpro.com 何を当たり前なことを、、、 といったタイトルですが、開発環境で実装している時に遭遇しました。笑 なぜ意味不明なデータが出現するんや!?!?!? と30minほど悩みましたが、SequelProでレコードを削除しても…
こんにちは!kossyです! 昨日、「ポケモンのデータをDBに保存する」 というブログを書いたのですが、肝心のDB定義を忘れていました。 class CreatePokemons < ActiveRecord::Migration[5.2] def change create_table :pokemons do |t| t.integer :number, n…
こんにちは!kossyです! さて、今回はRailsとAngularの練習用に作ろうと模索しているポケモン図鑑APIの基になる、 ポケモンのマスタデータをDBにimportした時の備忘録をブログに残してみたいと思います。 環境 Rails 5.2.3 Ruby 2.5.1 MacOS Mojave マスタ…
こんにちは!kossyです! さて、今回はRubyでRangeオブジェクトを使って、ある数値がRangeオブジェクトの範囲内に含まれているかどうかを チェックするやり方をブログに残してみたいと思います。 環境 Ruby 2.5.1 実装先に実装を晒します。 # number は Poke…