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

docker の コンテナやイメージを一括削除する

こんにちは!kossyです! さて、今回はdockerのコンテナとイメージを一括削除するコマンドをブログに残してみたいと思います。 コンテナを一括削除するコマンドはこちらです。 $ docker ps -aq | xargs docker rm docker ps -ap で、停止中のコンテナも含め…

RailsのAPIモードでrespond_to を使うにはMimeRespondsをincludeする必要がある

こんにちは!kossyです! さて、今回は、RailsでAPIを作成する時にrespond_toを使いたい時はあるモジュールをincludeする必要があるという話をブログに残したいと思います。 環境 Rails 6.0.2.1(API only) Ruby 2.5.1 ApplicationController.rbにMimeRespond…

AngularのAppRoutingModuleのワイルドカード(**)は一番最後に指定すべし

こんにちは!kossyです! さて、今回はAngularのAppRoutingModuleのワイルドカード(**)は一番最後に指定すべし、という備忘録をブログに残したいと思います。 初歩的なミスをしてしまう自分を戒めようと思います。笑 const routes: Routes = [ { path: '', c…

date-fnsにlocaleを指定したい

こんにちは!kossyです! さて、今回はJavaScriptの日付を扱うライブラリであるdate-fnsでlocaleを指定してformatする方法について、 ブログに残してみたいと思います。 実装手順注意することは、jaのimportの文法くらいですね。import { ja } from 'date-fn…

TypeScriptでdate-fnsを使ってみた際に遭遇したAn argument for 'format' was not provided

こんにちは!kossyです! さて、今回は、JavaScriptの日付を扱うライブラリの一つである。date-fnsを少し触ってみたので、ブログに残してみたいと思います。 引数一つだと怒られるAngularのプロジェクト内で、 format(new Date()); というコードを記述したと…

Angular8のアプリケーションにbootstrapを導入する

こんにちは!kossyです! さて、今回はJavaScriptのフレームワークの一つであるAngularに、有名なCSSライブラリであるbootstrapを導入する手順を ブログに残してみたいと思います。 環境 MacOS Mojave Angular 8.0.6 TypeScript 3.4.5 Rxjs 6.4.0 AngularCLI…

基本情報技術者試験に合格しました

こんにちは!kossyです! 先週の日曜日に基本情報技術者試験(FE)を受けてきました。結果は、 自己採点の結果、合格です。 午前・午後共にギリギリ6割取れていました。勉強自体は3月ごろから始めていましたが、通勤の電車内で過去問を解いたり、 テキストを読…

SequelProでレコードを削除しても、dependent: :destroyしている先のレコードは消えないよ

こんにちは!kossyです! www.sequelpro.com 何を当たり前なことを、、、 といったタイトルですが、開発環境で実装している時に遭遇しました。笑 なぜ意味不明なデータが出現するんや!?!?!? と30minほど悩みましたが、SequelProでレコードを削除しても…

ポケモンのデータをDBで表現する

こんにちは!kossyです! 昨日、「ポケモンのデータをDBに保存する」 というブログを書いたのですが、肝心のDB定義を忘れていました。 class CreatePokemons < ActiveRecord::Migration[5.2] def change create_table :pokemons do |t| t.integer :number, n…

ポケモンのデータをDBに突っ込んでみた

こんにちは!kossyです! さて、今回はRailsとAngularの練習用に作ろうと模索しているポケモン図鑑APIの基になる、 ポケモンのマスタデータをDBにimportした時の備忘録をブログに残してみたいと思います。 環境 Rails 5.2.3 Ruby 2.5.1 MacOS Mojave マスタ…

RubyのRangeオブジェクトを使って、数値が指定した範囲内にあるかを調べる

こんにちは!kossyです! さて、今回はRubyでRangeオブジェクトを使って、ある数値がRangeオブジェクトの範囲内に含まれているかどうかを チェックするやり方をブログに残してみたいと思います。 環境 Ruby 2.5.1 実装先に実装を晒します。 # number は Poke…

Vue.js 用語まとめ1

データ(UIの状態) イベントリスナー テンプレート記法(状態とDOMのマッピングの定義) フィルタ 算出プロパティ ディレクティブ メソッド ライフサイクルハック イベントハンドリングjQueryでのUI実装はイベントや要素が増えると複雑になりがちVue.jsはイベン…

rubyのextendについて

こんにちは!kossyです! 昨日は終日外出していたため、連続更新記録が途絶えてしまいました、、、 残念ですが、気持ちを切り替えて粛々と更新を続けます。 さて、今回はRubyのextendについてブログに残したいと思います。 モジュールとは そもそも、モジュ…

map(&:id)とpluck(:id)はどちらが速いのか

こんにちは!kossyです! さて今回は、rubyのメソッドであるmapと、Railsのメソッドであるpluckメソッドの速さの違いを ブログに残してみたいと思います。 実行結果 結論はpluckの方が速いです。```[12] pry(main)> Member.all.map(&:id) Member Load (1.4ms…

Railsのアソシエーションに設定できるオプション「dependent: :nullify」

こんにちは!kossyです! さて、今回は、Railsでアソシエーションを組むときに、オプションとして設定できる 「dependent: :nullify」の使い方をブログに残してみたいと思います。 定義は簡単User has_many Postsという関連があるとします。その時のアソシエ…

Railsでビューからモデルにロジックを移す

こんにちは!kossyです! さて、今回は、Railsでビューやコントローラに書きがちなロジックをモデルに移す方法について、 ブログに残してみたいと思います。 環境 Rails 5.2.3 Ruby 2.5.1 MacOS Mojave 値があったら表示するというロジックをモデルに移す例…

月単位での処理に使えるgem 「month」

こんにちは!kossyです! さて、今回は、年月を扱うクラスを定義してくれるgem「month」の使い方を ブログに残してみたいと思います。 環境 Rails 5.2.3 Ruby 2.5.1 MacOS Mojave 導入例によってgemをインストールするだけです。 ./Gemfile gem 'month' $ bu…

RspecでModelに定義したScopeのテストを書いてみる

こんにちは!kossyです! さて、今回は、冗長なDB検索ロジックに名前をつけてひとまとめにできる機能であるscopeのテストを Rspecで書いてみたいと思います。 scopeの定義 class Article < ApplicationRecord scope :open_to_the_public, -> { where(member_…

Railsのenumで定義したシンボルは真偽値を返したり破壊的変更ができる

こんにちは!kossyです! かなり久々のブログの執筆です、、、 流石にアウトプットしなさすぎてまずいので、簡単なことでいいのでアウトプットをしてみます。 さて、今回は、Rails4系から使えるようになったenumのTips的なことを ブログに残してみたいと思い…

ActiveDecoratorのRspecの書き方

こんにちは!kossyです! さて、今回はDecoratorのRspecでのテストの書き方の例について、 ブログに残してみたいと思います。 環境 Rails 5.2.3 Ruby 2.6.3 draper 3.1.0 MacOS Mojave 書き方 とりあえずDecoratorのコードを載せます。 class MemberDecorato…

Railsのvalidation オプション「inclusion」の使い方

こんにちは!kossyです! さて、今回は、Railsのバリデーションオプションの一つである、 「inclusion」オプションの使い方について、ブログに残してみたいと思います。 環境 Rails 5.2.3 Ruby 2.6.3 MacOS Mojave 使い方その属性が持つ値がinclusion内で定…

JavaScriptの!!(エクスペラメーションマーク)2つはオブジェクトをBoolean化(真偽値化)できる

こんにちは!kossyです! アウトプット、意識しないと本当にサボりがちになってしまいますね、、、 しょーもない事でもいいから、何かしらブログに残していきたいと思います、、、 さて、今回は、JavaScriptのあまり見かけない文法をご紹介します。 !!でオブ…

Railsでlibディレクトリをautoload対象に含める方法

こんにちは!kossyです! さて、今回は、各種ライブラリやRakeタスクファイルを配置する用途でよく用いられる、 libディレクトリ内のファイルをautoload対象に含める方法について、 ブログに残してみたいと思います。 環境 Ruby 2.5.1 Rails 5.2.3 MacOS Moj…

Railsアプリの本番環境における画像データの置き場所

こんにちは!kossyです! さて、今回は、Railsでアプリケーションを開発する際の、 本番環境における画像データの置き場所はどこがいいのか、について、 ブログに残してみたいと思います。 ロゴや固定のアイコンはassetへ、ユーザーがアップロードする画像は…

ActiveRecordのメソッドに「!」がついた時とそうでない時の挙動の違い

こんにちは!kossyです! さて、今回は、ActiveRecordのメソッド(create, update, destroy, save)に!が付いている時と そうでない時の挙動の違いについて、ブログに残してみたいと思います。 例外を起こすか否か端的にまとめると、上記になります。「!」を伴…

「overloaded POST」 ってなんぞや?

こんにちは!kossyです! めっきりアウトプットが減ってしまいました、、、 Ruby sliverの取得・基本情報技術者の取得・オリアプの開発など、 やりたいこと、やるべきことが湯水の如く湧いて出てくるので、 やらないことを決めることが困難な状況であります…

深いアソシエーションを組んだ時はdelegateを設定しよう

こんにちは!kossyです! さて、今回はメソッドの移譲を実現するメソッド、delegateメソッドの使い方を ブログに残してみたいと思います。 環境 Rails 5.2.2 Ruby 2.5.1 MacOS Mojave ユースケース例えば、 ・Userクラス(name, email, profile_photo, passwo…

deviseのエラーメッセージ にbootstrapを当てたい

こんにちは!kossyです! さて、今回はRailsの認証系機能を提供しているgem「devise」のエラーメッセージ に cssのフレームワークであるbootstrapを当てたい時の方法をブログに残してみたいと思います。 なお、devise及びbootstrapの導入方法については割愛…

Railsアプリにdevise-two-factorとrqrcodeを使って2段階認証を導入した

こんにちは!kossyです! 最近はオリジナルアプリの実装に熱を入れ過ぎてブログの更新が疎かになっておりました、、、 アウトプットが大事だと頭でわかってはいるものの、 実行に移すのは大変ですね、、、 さて、今回はRailsアプリに2段階認証を導入する手順…

冗長な検索ロジックはscopeにしちゃおう

こんにちは!kossyです! さて、今回はRailsで独自にモデルのデータの絞り込みを定義できるscopeについて、 ブログに残してみたいと思います。 環境 Rails 5.1.6 Ruby 2.5.1 MacOS Mojave 実装方法 例えば、「公開が終了した映画の中で原作が漫画でないデー…