ポリモーフィズムについて

ざっくり言うと、呼び出す側のオブジェクトによって実行される同名メソッドの振る舞いが変わること。 文字だけでは理解が困難だと思うので、例をあげます。 class Human attr_reader :language def initialize(language) @language = language end def langu…

メモの魔力

僕の解釈込みで記述 メモの目的 記録ではなく、知的生産(事実からの気づきをアイデア化) アイデアを生み出せるようになる 情報感度が上がる(素通りしなくなる) 傾聴能力の向上 話の構造を把握できるようになる(今どの部分の話している?が理解できる) …

リーダブルコードまとめ

リーダブルコードまとめ 変数名 上限下限を表す時はmax, minなどを使用 範囲であればfirst, lastを使用 コードの形態 同じような処理を行っている部分はシルエットが同じようになるようにする 意味のある順番を選んでそれを守る 空行を使ってコードを意味の…

rubyのversionが切り替わらなくて小一時間悩んだ話

題名の通りruby 2.6.5をrbenv経由でinstallし、rbenv global 2.6.5をしたところpathはあっているはずなのに切り替わらない。。。 原因はなんだ。。。と考え色々ためしたところ、User/ゆーざー名/.ruby-versionが原因だった。 rm .ruby-versionで解決。

Reactの基本学習

仕事でreactを使用する事になったので、インフラの勉強と並行してこちらも手をつける。 基本構文 import React from "react"; class App extends React.Component {ここにJSを書くconstructorを書く(stateの処理)methodを定義する。render() {return( jsx…

deviseの導入について

インフラの勉強と並行して、現在は自分だけで使用している業務効率化アプリを職場の人も使えるように改善をしようと思う。 仕様については割愛するが、ユーザー毎に管理したい情報がありユーザ登録が必要になるので、deviseを使用して導入する。 deviseの使…

素人サーバー構築10(自分のアプリデプロイの流れ)

なんとなく流れとAWSの基礎の使用方法がわかってきたので、実際に自分のアプリのデプロイを考えてみる。 自分のrailsアプリデプロイの流れ(計画) 1VPCの作成、サブネットの作成、internet gete wayの作成、ルートテーブルの作成、セキュリティグループの…

素人サーバー構築9

I amについての注意点 1利用者ごとにiamユーザーを払い出し、使いまわさない2役割毎のiamグループを作成することで、管理が簡単になる3権限は必要なものだけを割り当てて事故を防ぐ4プログラムから使用する場合、iamロールを使用できないか考える。 capi…

学習記録(Rails)2

インジェクションとは webアプリに悪意あるスクリプトやパラメーターを記入し、それが評価されるときの権限で実行される攻撃のこと。 XSS(クロスサイトスクリプティング) ユーザーに表示させるスクリプトに悪意のあるものを仕掛け、それを表示し実行させる…

Route53の使用方法の流れ(素人サーバー構築8)

DNSとは ドメイン名とIPアドレスの紐付けを行うドメイン名を投げるとIPアドレスを返してくれる。 レコードタイプとは A:ドメインとIPアドレスの対応 CNAME:ドメインの別名をマッピングex) hogehoge.com→hoge.amazon.com NS:そのドメイン(ゾーン)を管理す…

学習記録(Rails)

RESTfulとは ・ステートレスである事・ここの情報へのアクセスがHTTPmethodとして統一されている・リソースごとのURIが一意である事RESTfulにする事で、わかりやすいコードになる。URLやHTTPmethodに悩むことがなくなる等のメリットがある。 strong paramete…

素人サーバー構築7(S3)

S3耐久性の高いオブジェクトストレージサービス。バケットの下にディレクトリを切って下にディレクトリ作成できる。webサイトホスティング機能 S3の静的webホスティング時に遭遇した403エラーパブリックポリシーを記入し、エンドポイントにアクセスした所4…

素人サーバー構築6(RDS、ELB)

RDSとは機能をサービスとして提供してくれている。電源、osインストール、バッチ当て、バックアップまで。master-slave構成を容易に構成可能。masterに問題が怒った時に自動的にフェイルオーバーしてくれる。自動バックアップ機能があり、スナップショットを…

素人サーバー構築5

自分用メモです。 スナップショットとAMIの違いスナップショットEBSのなかのデータを特定のタイミングで取得し、S3に保存したもの。EBSとはec2の記憶領域みたいなもの。 AMIEBSの中のデータと、インスタンスを構成する情報を含む起動テンプレート。 どっちも…

素人サーバー構築4

素人がサーバー構築するまで3の続きです。現在AWSで行なっていることは、VPCを作成しその中にサブネットを作成。sshで繋ぎ、ec2でwebサーバーを立ち上げ簡単なphpファイルをアップロードするという形で手を動かしながらインプットを行なった。 私がやりたい…

素人がサーバー構築するまで3

素人がサーバー構築するまで2の続きです。基本的な知識が足りないのでその都度、調べながら記載しながら進めます。 ipアドレスインターネット上の住所を特定するイメージ。ネットワーク部(どのネットワーク?)とホスト部(どのPC?)に分かれている。サブ…

素人のサーバー構築日記2

素人のサーバー構築日記1の続きです。VPSやVPCについても調べて書いていたんですが、途中で消えて無くなったので、書くのを諦めます。 サーバーを立てるにはどのサービスを使うのかの選択も必要かと思いますが、AWSを使用している企業が多いので、これを選…

素人のサーバー構築日記1

DNSとは ドメインのことDNSサーバーとはドメインをIPアドレスに変えてコンピュータに伝えること。ドメイン名とIPアドレスを紐づける事を名前解決と言う。権限委譲とは上位のDNSサーバーから担当区域を任せられるみたいなイメージ。 筆者のレベル感としては、…

フロント部分詰まった所

box-sizing: border-box;paddingとborderの幅と高さを要素に含める position:fixed;ヘッダーなどを固定するときに使用する。なおtopを指定してあげないとmainと一緒にheaderも動くので注意。 potition:relative;現在の位置から相対的な位置を決める potiotio…

検索機能の実装にて学んだこと

今回自作の業務効率化アプリを作成に当たって検索機能の実装を行った。 そこで学んだことを記述する。 まず、今回はinteger型の検索機能の実装を行いたかったためform_tagを使用して実装することとした。 要件としては、数値を受け取りその数値でデータを検…

2019/2/27,28学習記録

JS6基本 console.log("hoge");hogeの出力let name = "hoge"; これは変数 const name = "hoge" これは定数 if文if (条件式 ) { 処理} else if (条件式) { 処理} else { 処理}最後にセミコロンはいらない。&&は条件式がどちらもtrueならtrue||はどちらかがtrue…

2019/2/21,22,23学習記録

sql基本 joinについてjoinで結合するテーブル名を示し、onで結合するidを指定する。 ex)select *from playersjoin teamson players.teams_id = teams.id なおjoinは外部キーがnullのレコードを取得しないため、nullを含めたレコードを取得するためには、LEFT…

2019/2/17、18、19学習記録

Rails 5.2.2でrasack2.0.1が使えずエラーではまった話 以下のエラーが発生しrails sが起動しない。 `require': cannot load such file -- polyamorous/activerecord_5.2.2_ruby_2/join_association (LoadError) ransackを使用して検索機能を追加しようとして…

2019/2/16学習記録

apiを使用した自作アプリ作成時に出たエラー 500 Internal Server Errorサーバー側でエラーが発生した事を示す。また他の5xx系のエラーに属さないエラーが出た時にも発生する。 400Bad Requestリクエストの構文を間違えている時にでる。また他の4xx系のエラ…

2019/2/15学習記録(database.yml、heroku について)

database.ymlについて データベースと接続するための設定ファイル。 default: &default adapter: postgresql encoding: unicode # For details on connection pooling, see Rails configuration guide # http://guides.rubyonrails.org/configuring.html#dat…

新規プロジェクト作成しrspec導入、リンター導入まで

新規プロジェクト作成手順 1.workspaceに移動$rails new appname -d postgresqlこれでDBにpostgresqlを使用する事を指定し、bundle installまですむ。 2.$git init3.$bin/rails db:create4.$bin/rails sでhello worldを確認5. gem 'slim-rails'gem 'html2sli…

Rspec 基本

Rspecについて セットアップ.rspec--require spec_helper--format documentation describe "何についてのテストか" do context "どの状態のテストか" do it "期待する動作" do end endend このような形でネストして書くことがデフォルトの形。beforeをdescri…

2019/2/10学習記録

form_withについて form_forとform_tagを統合したもの。rails5.1から使用可能。form_with model: relatedobject, local: true do |f| f.label~ 等のお馴染みの書き方で使用する = form_with scope: :session, local: true do |f| scopeは送信されたパラメー…

Rails tutorialにユーザー検索を追加する

検索フォームの実装 今回はRails tutorialで作成したアプリにユーザーの検索機能を実装した。 初めにgem 'ransack'をbundle install controllerの実装 def index @users = User.paginate(page: params[:page]) @search = User.ransack(params[:q]) @result =…

2019/2/6学習記録

has_secure_passwordを使ってのuser登録について has_secure_passwordのモデルへの記述でデータベースのカラムに対応しないpasswordとpassword_confirmationという二つの属性が設定される。 二つの役目がある 1passwordとpassword_confirmationの一致によっ…