エンジニアリングを通して事業を作りたい

React ・Railsの発信が多いです

MENU

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

React イベントを発火させない

コンポーネントに下記のメソッドをつける onClick={(e) => e.stopPropagation()

React 〜〜だったらレンダーする

&&の使い方 OOだったら、レンダーする。 {this.state.isActive == true && ( <Filter>filter</Filter> )} 黒色の要素を表示する時に、isActiveのステータスをみて表示するか否かを決める import React, {Component, useState} from 'react'; import styled from 'styled-compo…

styled-components の基本(最低限)

インストール npm install --save styled-components 基本的な書き方 import styled from 'styled-components' const 変数名 = styled.タグ名` cssを書く ` ## サンプル const Button = styled.button` width: 300px; height: 100px; border-radius: 10px; `…

SessionStrage

ドキュメント https://developer.mozilla.org/ja/docs/Web/API/Storage SessionStrage ログイン情報として活用するケースも 基本操作 sessionStorage.setItem() sessionStorage.getItem() sessionStorage.removeItem()

React ライフサイクメソッド

React ライフサイクメソッドについて Reactで、元データは、propsであったり、APIで取得してきて、setStateをするケースが多多あると思います。 初期データは、ライフサイクルメソッドで設定する場合が多いと思います。 呼び出すタイミングによっては、デー…

Rails ページネーション

gemを入れる gem 'kaminari' controller @products = Product.page(params[:page]).per(2) ビューを編集 <%= paginate @users %> これだけ。 基本はbootstrapと組み合わせるらしい github github.com

Rails Logger 基本

実装方法 出力させる方法 ## 出力させる方法 Logger.new("出力先", '出力内容') ex) Logger.new('/log/development', "出力内容") ## こんな書き方もある様子 logger = Logger.new('/log/development') logger.debug '出力させたい内容' 出力させるメソッド…

Rails CSV の基本 出力からアップロード Rspecまで

csv出力 view <%= link_to "CSV", products_path(format: :csv) %> controller def index respond_to do |format| format.html do @search = Product.ransack(params[:q]) @products = @search.result end format.csv do @products = Product.all data= CSV.…

Rails n+1 解消

n + 1については下記の記事を参考に qiita.com 検証 model Product belong_to product_price ProductPrice has_many :products view <% @products.each do |product| %> <tr> <td><%= product.title -%></td> <td><%= product.product_price.price -%></td> </tr> <% end %> NGパターン …

開発環境で、pumaでlogを出力する

development.rbで下記の記述を記載する config.logger = Logger.new(STDOUT)

ransack の基本

導入方法 gemを入れる gem 'ransack' 実装方法 モデル情報 Productモデル controller def index @search = Product.ransack(params[:q]) @products = @search.result end view <%= search_form_for @search, url: products_path do |f| %> <%= f.label :titl…

Rails にグラフを入れる

グラフ作成で簡単にできるgem chartkickは簡単に出来ました。 あと、このgemを使う上で、 Groupdateと言うgemの使うととても楽です。 こんな感じでできます。 手順 gemを入れます Gemfile gem 'chartkick' gem 'groupdate' 表示したい画面でこんな感じ。 以…

Docker + Rails + React + Postgresの環境構築のテンプレート作成

Docker + Rails + React + Postgresの環境構築 今回はこちらの組み合わせでやりたいので、テンプレートを作成しました。 初心者向けです。 環境構築で時間をかけずに、アプリ開発に時間をかけたい人向け ちょっとmysqlあたりで余計なモノが入っているかもだ…

リクエスト元の画面にリダイレクトしたい場合

リクエスト元の画面にリダイレクトしたい場合 requestメソッドとURI # controllerのファイル内で redirect_to URI(request.referer).path

IP制限の実装

IPアドレスの取得方法 コントローラーでリクエストからアクセスできるみたい request.ip [44] pry(#<SempleController>)> request.ip => "172.19.0.1"yHeadsController>)> 実際に実装するときは、applicationcontrollerなどに実装するのだろう。 コロナによって、リモートワー</semplecontroller>…

オブジェクト思考設計 クラスを作る理由

クラスを作成する目的 クラスを使う目的って、 プログラミングは重複した記述を避ける、かつまとまりを持たせる為にクラスを作るのかな # チェーン charing # コグは車輪の内側のやつ cog # チェーンはこっちの方が大きい charing = 52 cog = 11 ratio = cha…

リファクタリング メソッドの抽出

メソッドの抽出 www.amazon.co.jp こちらの本を参考に。 この本は最高すぎる。webエンジニア でやって行く上で、基本的な書き方の概念を理解できる メソッドの抽出 # before def print_owing(amount) print_banner puts "name: #{@name}" # この二行を抽出す…

React Typescript 最低限で戦う為の基本

クラスコンポーネント関数コンポーネント クラスコンポーネントの型つけ // props とstateの型を宣言する type Todo ={ id:number body: string } type TodosState = {} // ここは特になければオブジェクトを受け取る type TodosProps = { todos: Todo[] } c…

Typescript 基本

Typescriptを勉強するにあたり Typescriptは、型の推論をする事。 ジェネリクスが何となくわかればギリギリ戦える 型の種類 8つあるらしい。 ただ、最初は、Number、String、Boolean、Nullくらいで良い気がする Undefined Null Boolean Number Bigint String…

express 基本

expressの基本 インストール npm install --save express シンプルなリクエストレスポンス localhost:3000にアクセスすると、Hello worldの文字が ## index.js const express = require('express') const app = express() const portNo = 3000 app.get('/', …

React 動的なフォームコンポーネントを作る

React 動的なフォームコンポーネントを作る components UI Input Input.js Input.css App.js Imput コンポーネント import React from 'react'; import ReactDOM from 'react-dom'; import classes from './input.css' const input = (props) => { console.l…

React Router 基本

React Router 基本 インストール npm install --save-dev react-router react-router-dom 必要なファイル index.js ## エントリーのファイル App.js ## index.jsで読み込む最初のコンポーネント First,Second,Third ## リンクさせたいコンポーネント index.j…

React クラスライフサイクルメソッド 実行順番

クラスライフサイクルメソッド 実行順番 結構この順番を理解していないと、レンダリングされる順番を理解していないと、 修正がうまく反映されないことがあるので、とても役に立ちそう 実行順番は下記らしい 1.constructor() 2. getDerivedStateFromProps(pr…

React アロー関数の書き方

アロー関数の書き方 Reactの本だったら動画を見る時に、アロー関数で、ソースを読み進める事が苦労したので、まとめ。 アロー関数は、実はReactは関係なくJavascriptの記法らしいです。 ただ、Reactでやたら出てくるので、覚えて置くと便利 通常の書き方と、…

React css管理

結論 コンポーネント内に入れてしまうでいいかなと思いました components tweets tweets.js tweets.scss cssファイルの呼び方 import 'パス' こんな書き方もある const styles = { red: {color: 'red'} } <h1 style={styles.red}>hello</h1> => helloが赤色になる 参考にした記事 jsで管…

React ファイルのインポートエクスポート

ファイルのインポートエクスポート Reactと書いてありますが、これはjavscriptの記法だった気がします インポート インポートする時にエクスポートの方法によって、異なるので注意が必要です。 exportはデフォルトをつける場合とつけない場合があります。 デ…

React 関数を子コンポーネントに渡す

React 関数を子コンポーネントに渡す 地味にここつまりました この入力フィールドに入れた値を更新している import React from 'react'; import logo from './logo.svg'; import './App.css'; class App extends React.Component { constructor(props) { sup…

React 関数コンポーネントの書き方

関数コンポーネントの書き方 function Welcome(props) { return <h1>Hello, {props.name}</h1>; } ## これ同じ const Welcome = () => ( <h1>Hello, {props.name}</h1>; ) 注意点 ()でかくと、デフォルトでreturnをしてくれる。 {} で書くとエラーになる const Welcome = () =>…

React タブの切り替え

大枠 stateで現在のタブを管理する(currentTab) stageで選択したタブを管理して、setStateで更新する 内容の部分に関しては、stateの内容に応じて出し分ける まずは、選択する部分を作ってみる これは現時点のTwitterのカテゴリーを参考にしています cssを…

webサービスを作るとは?

webサービスとは? 自分なりの解釈ですが、 【ブラウザー上で使えるサービス】の事をwebサービスをと 呼ぶのかなと思いました。 webサービスに出てくる登場人物 リソース(HTML・CSS・Javascript) 私たちがブラウザーで見ている画面は、HTML・CSS・Javascri…