2020-07-01から1ヶ月間の記事一覧

28.Rails|binding.pry

これまで余り使ってこなかったbinding.pryを使いこなせるようにしていきたいので、整理。 使い方① 例えば今の開発環境では、処理を止めたい箇所にbinding.pryと記述すれば、 Dcokerを立ち上げているConsole上で、その処理が止められた位置の前後で定義されて…

27.TypeScript|Optional Chaining

前回に引き続きTypeScriptの?関連について。 Optional Chainingは、?.という構文のこと。 最も基本的な用法はプロパティアクセスの.の代わりに?.を使うもの。 You might find yourself using ?. to replace a lot of code that performs repetitive nullish …

26.TypeScript|Optional Property

TypeScript上でよく?が付けられているのを見掛けるので、きちんと理解する為に整理していく。 TypeScriptには、Objectの持つpropertyにOptional Propertyという機能がある。 propertyの末尾に?を付けることで、そのpropertyが無い場合もあるということを表現…

25.Ruby-Grape|declared

RubyのAPIの処理中でよく出てくる。 ぼんやりした理解だったのでおさらい。 Grape allows you to access only the parameters that have been declared by your params block. It filters out the params that have been passed, but are not allowed. Consi…

24.React|Mount/Unmount

Unmount…って何やったっけ?ってなったのでおさらい…。 Mount ReactコンポーネントがDOMツリーに追加されること。 Unmount ReactコンポーネントがDOMツリーから削除されること。 ja.reactjs.org UNSAFE_componentWillMount() コンポーネントがDOMにマウント…

23.React/Redux|async/await

asyncの処理の中で呼び出している関数の頭にawaitが抜けていて、他のawaitの処理と順番が入れ変わってしまうという問題があった。 今回はJavaScriptにおけるasync/awaitについて、React/Reduxでの書き方も含めて確認したいと思う。 まずはasync/awaitと密接…

22.Ruby|presence

フロントから空文字が入ってくるけど、モデルでnilしか受け付けないバリデーションをかけている。 イレギュラーな空文字が入ってくることでエラーが発生するというケースに遭遇。 しかし空文字判定・nil代入をわざわざ条件式を書いて実装したくない…。 そん…

21.Ruby|frozen_string_literal

Rubyファイルの頭に下記のような記述があって、何となくスルーしてたけど改めて見るとこれってどういう役割なんやろ…?と疑問に思ったので整理。 # frozen_string_literal: true まず前提として、Rubyの文字列はミュータブル・つまり破壊的な変更が可能なオ…

20.文字コード|ASCII-8BIT

先ほどの文字コードの記事の続き。 ASCII-8BIT 「ASCII」は最大7ビットの文字コードであり、 「ASCII-8BIT」はBINARYまたは『文字列エンコーディングが不明である』ことを意味する。 サンプル pry> 'a'.encoding #=> #<Encoding:UTF-8> pry> '���'.encoding #=> #<Encoding:ASCII-8BIT> 今回問題が</encoding:ascii-8bit></encoding:utf-8>…

19.文字コード|代表格

謎の「ASCII-8BIT」文字コードエラーに悩まされ…。 そもそも文字コードって…ってところから振り返り。 文字コード コンピュータ上で文字(キャラクタ)を利用する目的で各文字に割り当てられるバイト表現。 もしくは、バイト表現と文字の対応関係(文字コー…

18.React|条件付きレンダー

以前はjQueryを使ってたのでコンポーネントとか出てこなかったけど、Reactでの条件分岐はコンポーネントにプロパティの値を与えてその値を元に条件分岐するといったやり方になる。 まだ慣れが必要なのでメモ。 React における条件付きレンダーは JavaScript …

17.React|フラグメント

フラグメントとは Reactコンポーネントが要素を返す際に、フラグメント(Fragment)を使うことでDOMに余分なノードを追加することなく子要素をまとめることができる。 render() { return ( <React.Fragment> <ChildA /> <ChildB /> <ChildC /> </React.Fragment> ); } 短い記法 下記のような省略記法も使用できる。 class Col…

16.React|フック

フックの理解はReactを使っている限りマストだと思うが、まだしっかりと理解できているとは言えないので随時整理しつつ理解を深めていきたい。 まずフックとは何か フック (hook) は React 16.8 で追加された新機能です。state などの React の機能を、クラ…

15.Ruby|よく使う記号

Rubyのコードを読んでると『よく出てくるけど何だっけコレ?』となって、毎回のように調べている記号がある。 確認しやすいようにここにまとめておこうと思う。 ||= a ||= xxx 自己代入演算子。aが偽か未定義ならば、aにxxxを代入(aが正ならば、代入しない…