fv17の日記 - Coding Every Day

Webエンジニアの備忘用ブログです。主にWeb界隈の技術に関して書いています。

React Hooks with TypeScript

React公式DocのHOOKSの学習メモ 公式とは異なり、TypeScriptで実装する 目次 1.フックの導入 Hooksとは まずはSample Code 2.フック早わかり 3.ステートフックの利用方法 解説 & 実装例 複数のstateは1つにするべきか?分けるべきか? 1.フックの導入 ja.rea…

りあクト!第2版の学習メモ

Reactのキャッチアップのため、りあクト!第2版を学習中 そのための学習メモ 第8章 Hooksで関数コンポーネントを強化 以前の関数コンポ Local Stateを持てない ライフサイクルメソッドもない HOCを使って上記を持つRecomposeライブラリが意識高い系で流行 Ho…

【環境構築】ゼロからreactアプリ作成まで

Node.jsのインストール 下記でLTS(Long Term Support)版をインストールする https://nodejs.org/ja/ IDE/エディターのインストール 好きなものを 特にこだわりがなければVS Code https://azure.microsoft.com/ja-jp/products/visual-studio-code/ Yarnをイン…

なぜRSpecを書くのか、なぜテストを書くのか

Ruby、Rails界隈の伝道師、伊藤さんの発表スライドが公開されていましたので共有。 伊藤さんのスライド speakerdeck.com スライドを見ての感想 最近はCircle CI等で常に自動テストして品質を保つことは、どこの現場でも行われているだろうと思います。そのた…

フロントエンドエンジニアになるために、Learn to become a modern Frontend Developer in 2019を実際にやってみる

現在、サーバーサイドエンジニアとしてJoinしている現場で、フロントエンドのエンジニアが不足することが予想されているため、フロントのキャッチアップ中です。HTML、CSS、JavaScriptをProgateで1ヶ月ぐらいかじったことある状態から、即戦力のフロントエン…

【Rails】active adminで最速で管理画面を作る

Github https://github.com/activeadmin/activeadminDemo http://demo.activeadmin.info/adminDocs https://activeadmin.info/0-installation.htmlWiki https://github.com/activeadmin/activeadmin/wikiQiita qiita.com

Webのシステム設計を学ぶ

github.com

【Git】直前のコミットを修正する

Git

直前のコミット取り消す # コミット取り消し・作業ディレクトリはそのまま $ git reset --soft HEAD^ # コミット取り消し・作業ディレクトリも取り消し $ git reset --hard HEAD^ その後、再度修正を加えてGithubにpushする 修正後、git commitして再度push…

JavaScriptでfor...in文を使うべきではない理由

こちらに記載あり jsprimer.net

graphql-rubyのAuthorizationに関する学習メモ

Authorization https://graphql-ruby.org/guides#authorization-guides 概要 Authorization: GraphQL vs REST REST APIはリクエストされたアクションの直前に、クライアントがそのアクションに対して権限を持っているかを判断する。 この考え方はGraphQLでは…

オブジェクト指向のこころ - 12章 エキスパートはどのように設計するのか?

勉強用メモ 概要 Alexanderの設計アプローチを学ぶ まず全体像を捉え、そこから詳細やそれらの関連を探っていくというアプローチ まとめると? 建築学においても、中庭、車庫、玄関、トイレなどの概念を洗い出し、それらが使われる場面・コンテキストを把握…

オブジェクト指向のこころ - 11章 Abstract Factoryパターン

勉強用メモ 書籍のUML図ないと、これだけ見ても何もわからないな... Abstract Factoryパターンとは オブジェクトの生成と使用の責務を分ける 状況に応じてオブジェクト群を使い分ける際に用いる switchやif分岐は抽象化を示す赤信号の可能性 アルゴリズムや…

オブジェクト指向のこころ - 10章 Bridgeパターン

勉強用メモP.152以前は電車で 継承の多用はNG 流動的要素をクラス継承で扱うのは間違え。クラス数の爆発が発生する オブジェクトを責務で考え、集約を多用することが正しい 流動的要素をカプセル化する パターンを導き出す まずは、共通性/可変性分析で流動…

オブジェクト指向のこころ - 6章 Facadeパターン

勉強用メモ Facadeパターンとは Facadeとは「建物の正面(窓口)」、「見せかけ」等の意味を持つ。 問題:複雑なサブシステム群があり、クライアントはどのメソッドを呼び出せばいいか把握できない 目的:理解しやすいインターフェースを提供し、クライアント…

オブジェクト指向のこころ - 5章 デザインパターンの紹介

勉強用メモ デザパタは建築学と文化人類学から生まれた Christopher Alexanderという建築家「品質は客観的なものか?」 パターンとは、「あるコンテキストにおける問題解決の方法」である パターンには、名前、目的(解決する問題)、達成方法、制約の4つが必…

Railsの設計関連の記事まとめ

Railsの設計を学ぶ。 Railsに詳しい方々にコレ読みなさいと教えていただいたリンク集、と自分の学んだことメモ。 Ruby on Railsの正体と向き合い方 リンク https://speakerdeck.com/yasaichi/what-is-ruby-on-rails-and-how-to-deal-with-it ポイント Rails…

勉強方法を改善する

自分用メモ。 効率的に生きていくのに必要な知識、技術を身につけたい。 数学 これまでの間違った勉強法 問題をまず5分前後解いてみる 分からなければ解答を見て、再度解き直して覚える 上記における問題 時間がかかり、学べる問題数が少ない 改良後の勉強法…

GraphQLに入門するためのリンク集

API

公式Doc Graphqlとは何か? まず初めに読むべき公式DocとRubyによる実装方法。must readGraphQL 本家 https://graphql.org/ GraphQL Ruby https://graphql-ruby.org/ なぜGraphQLか GraphQL vs REST - A comparison Github GraphQL パラメータ、戻り値、エラ…

postgresの起動と接続

PostgreSQL 起動 cd /usr/local/var postgres -D ./postgres/ 終了 Ctrl + c psqlコマンド データベース一覧 \l or psql -l データベースへ接続 psql -d <database name> psql -d postgres データベースから切断 \q or exit テーブル一覧 \dt テーブル構造 \d <table name> \d users</table></database>

例外処理を学ぶ

@jnchitoさんのまとめ記事 Railsアプリケーションにおけるエラー処理(例外設計)の考え方 - Qiita@jnchiitoさんが学んだ、より詳細な記事 .NETの例外処理 Part.1 – とあるコンサルタントのつぶやき .NETの例外処理 Part.2 – とあるコンサルタントのつぶやき…

Rails - シングルテーブル継承(STI)とは

STIとは? Active Record の関連付け (アソシエーション) - Rails ガイド STIの詳細1(実例やメリットとデメリット等) Single-table inheritance vs. polymorphic associations in Rails: find what works for you STIの詳細2(歴史、実例、代替方法、デメリッ…

PostmanでRails APIをテストする方法

下記に詳しいmedium.com

EC2にSSHで接続する

AWS

# 基本 ssh <EC2のユーザー名>@<IPアドレス> -i "/Users/<PCのユーザー名>/.ssh/<key名称>" # 具体例 ssh ec2-user@11.222.333.444 -i "/Users/fv17/.ssh/key.pem"IPアドレスは、EC2の「IPv4 パブリック IP」</key名称></pcのユーザー名></ipアドレス></ec2のユーザー名>

【Ruby】文字列において、同一文字が連続しているかどうかを判定する

やりたいこと 文字列において、同一文字が連続しているかを判定する 例えば、 '123abbbc' は 'b' が3文字連続していることを判定したい 利用場面 パスワードのvalid判定などにおいて、「同一文字が連続していないこと」をチェックしたい場合など やり方 正規…

Rails における内部結合、外部結合

ズバリのQiita記事が沢山あるのでリンク貼り付けRails における内部結合、外部結合まとめ - Qiita

Rails - 複数レコードの一括登録でパフォーマンスを向上させる

JavaでいうaddBatch、executeBatchで一括登録する方法をRailsでもできないかを探した。 activerecord-import gemを使うとRailsでも同様のことが可能とのこと。 利用方法、パフォーマンス比較等 Qiita qiita.com 公式Github github.com

RubyMine - ローカルDBを閲覧する

データベースの中身を確認するときは、rails consoleでちまちま確認するより直接DBを見たい。RailsチュートリアルではDB Browser for SQLiteでデータ閲覧しますが、RubyMineだとSQLite以外のデータベースも対応しています。 やり方 RubyMineからローカルのSQ…

Bootstrap4でFont Awesomeを使う(3のGlyphiconsが使えなくなりました)

Bootstrap4では、Bootstrap3で使えたGlyphiconsが使えなくなり有料化されました。代替案の一つが、Font Awesomeへの移行です。その方法を書きます 公式からリンクをGET 下記リンクを踏むと「Start Using Free」と出てくるのでクリックすると、リンクが出てき…

Rails5でのlocale設定(日本語化、国際化対応)

Rails 5での設定方法 config/initializers/locale.rb I18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}').to_s] I18n.config.available_locales = :ja I18n.default_locale = :jarails newした時点でconfig/localesにen.ymlの…

RubyでBuilderパターン

RubyでBuilderパターンを学ぶ良記事 medium.com Javaだが、Builderパターンもいくつかあるよという解説 qiita.com