技術ブログ

(技術系中心)基本自分用備忘録なので、あくまで参考程度でお願いします。

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

Rubyの真偽値

Rubyの真偽値 Rubyの真偽値は以下のようなルールになります。 ・falseまたはnil -> 偽。 ・それ以外はすべて -> 真。 Rubyではnilの場合でも偽と判定されます。

文字列のシングルクオテーションとダブルクオテーションの違い

文字列のシングルクオテーションとダブルクオテーションの違い Rubyでは文字列を作る時にシングルクオテーションとダブルクオテーションを利用できますが。 この2つで文字列を作成した時の違いはなんでしょうか? 'hogehoge' "hogehoge" ダブルクオートで囲…

Rails Tutorailから学ぶMVCの挙動

前提条件 - HTTPのGetリクエスト - Userモデルのデータを全部取得(User.all) - その内容をindex.html.erbに渡して表示させる。 ブラウザからURLのリクエスト(このリクエストは、アドレスバーにURLを入力したりリンクをクリックした時に発生する)をRails ro…

CSSのvw, vhの違い

CSSのvw, vh, vmin, vmaxの違い CSSをいじってる時にこの辺りがよく理解できていなかったのでまとめます。 vw ビューポートの幅に対する割合。 .hoge { width: 50vw; } hogeクラスの幅を 50vw と指定しています。 基準のビューポートの幅を vw で表すと 100v…

CSSのチートシート 後編

CSSのチートシート 後編 CSSのチートシート 中編の続き 文字の配置 文字の配置はtext-alignタグを利用すればOK(あくまで文字のみ) - left - right - center - jistify (両端そろえ。スペースの調整もしてくれる) p { text-align: right; } リストの表示方…

CSSのチートシート 中編

CSSのチートシート 中編 CSSのチートシート 前編の続き フォントの指定方法 font-familyタグを利用すればフォントの指定ができます。 1. 書き方 font-family: フォント名; font-familuで指定されたフォントが閲覧者のPCにダウンロードされていない場合は利用…

CSSのチートシート 前編

CSSのチートシート 前編 CSSのよく使う小技のチートシートをまとめました。 idセレクタ HTML : id属性 CSS: #を使って選択 <div id="test"> テストの文章 </div> #test { color:blue; } これでidがtestのdivタグの色を青色に指定することが出来ます。 classセレクタ HTML : class…

HTMLのチートシート

HTMLのチートシート HTMLのチートシートを作成しました。 HTMLに必要なタグ 1. DOCTYPE HTMLファイルがどのように記載されているかを宣言できる。 例えば以下のように記載すると、この文書がHTML5で作成されたものであることを指定することが出来ます。 2. …

綺麗なURI(ルーティング)を作るときのTIPS

綺麗なURI(ルーティング)を作るときのTIPS APIを開発する時にエンドポイントのURIを設定しますが、良いURI設計を意識することが大事です。 .......でも良いURI設計とは一体なんぞや! 良いURI設計とは下記のようなものです。 覚えやすく、どんな機能をもつ…

WEB APIを美しく設計する重要性

WEB APIを美しく設計する重要性 APIを設計する時によく言われる美しい設計とは一体何なのか? また、何故美しい設計が必要なのかをまとめます。 美しい設計とは何か? API設計で美しい設計とはわかりやすく整理されており、無駄がない完成度高いものをさしま…

デフォルトのタイムゾーンを日本時間にする方法

デフォルトのタイムゾーンを日本時間にする方法 RailsアプリケーションのデフォルトのタイムゾーンのURCから日本時間に変更する方法を紹介します。 config/application.rbを以下のように修正します。 . . . module Hogehoge class Application < Rails::Appl…

Ruby 例外処理の書き方

Ruby 例外処理の書き方 Rubyの例外処理の書き方は以下のようにbegin ~ rescue ~ end文を活用します。 begin 例外を発生させる可能性のある処理 rescue 例外が起こった場合の処理 end 例外クラスを指定する場合はこんな感じ begin 1/0 rescue ZeroDivisionErr…

(ActiveRecord)new createの違い

new newでオブジェクトを作成する。saveするまで保存されない。 micropost = Micropost.new(hoge: 'hoge') micropost. persisted? # => false. オブジェクトだけ作成されていて、保存されてない micropost.save micropost. persisted? # => true. saveしたあ…

Rubyの命名規則

クラス、モジュール 原則CamelCaseを使う User UserName Micropost MicropostName ネストした場合 Hoge::User Hoge::UserName Hoge::Micropost Hoge::MicropostName メソッド、変数 原則スネークケースを使う find_user new_micropost 定数 定数は全部大文字…

Scopeが便利

Scopeが便利 カスタム用のクエリを作成する時にはscopeが便利 Class hoge < Application:Record . . . belongs_to :user scope :recent, -> {order(created_at: :desc)} . . . ①hoge = Hoge.recent ②hoge = Hoge.recent.first ③hoge = Hoge.recent.last ①全…

helper_methodの使い方

helper_methodの使い方 Viewでもhelper_methodを利用したい場合はControllerにhelper_methodを利用。 具体例 ApplicationControllerで以下のようにcurrent_userというメソッドを定義することで、全てのコントローラから利用できるようになります。 さらにhel…

モデルの検証(validation)を行われる登録と更新メソッド

モデルの検証(validation)を行われる登録と更新メソッド モデルの検証メソッドにはモデル登録時に検証(validation)を行うメソッドと行わないメソッドがある。 画像参考: 現場で使える Ruby on Rails 5速習実践ガイド 参考書籍 現場で使える Ruby on Rails 5…

tryメソッド

tryメソッド Railsコードの中にtryメソッドを発見。最初はRubyのメソッドと思ったけどRailsが用意しているメソッドらしい。 使用用途 使用用途はいたって簡単でオブジェクトがnilでない場合のみ、そのオブジェクトのメソッドを実行したい!時に使う これを使…

レンダーとリダイレクトの違い

レンダーとリダイレクトの違い Railsのコントローラ層をスムーズに開発するには、レンダーとリダイレクトの区別が欠かせまんせん。 レンダー render 一覧画面や新規登録画面を表示するときにアクションに続けてビューを表示させるときに使う (rednerで呼び出…

要素を追加する(insertBefore)

要素を追加する(insertBefore) 新しい要素をHTML文書に追加するにはinserBeforeメソッドを使用します。 例えば、createElemetnで作成した要素はまだどこにも所属していないので、そういう要素をinsertBeforeを使ってHTML要素に追加します。 var practice = d…

フォームの残り文字数を表示する方法をJavaScriptで実装

フォームの残り文字数を表示する方法をJavaScriptで実装 よく見る残り文字数は〇〇ですっていうやつをJSで実装する方法 実装方法 index.html . . <html lang="ja"> <head> <meta charset="UTF-8"> <title>ほげー</title> <link rel="stylesheet" href="css/style.css"> </head> <body> <button id="button">お問い合わせ</button> <form action="" id="form"> <p></p></form></body></html>

JavaScriptの主要イベント一覧

JavaScriptの主要イベント一覧 ■ マウス操作 click -> 要素をクリックした時 dbclick -> 要素をダブルクリックした時 mouseout -> マウスポインタが要素上から出た時 mouseover -> マウスポインタが要素上に乗った時 mouseup -> マウスポインタを話した時 mo…

JavaScriptの主要イベント一覧

JavaScriptの主要イベント一覧 ■ マウス操作 click -> 要素をクリックした時 dbclick -> 要素をダブルクリックした時 mouseout -> マウスポインタが要素上から出た時 mouseover -> マウスポインタが要素上に乗った時 mouseup -> マウスポインタを話した時 mo…

繰り返し処理

繰り返し処理 javascriptの繰り返し方法を簡易備忘録 while while (year <= 2000) { 行いたい処理 } do ... while do { 行いたい処理 }while (year <= 2000) whileとdo ... whileの違いは? do ... whileは最低でも1回以上繰り返したい場合に使用。 do ... …

git/github 備忘録

git基礎知識 用語確認 ■ワーキングツリー[working tree]:最新のファイルの状態 ■インデックス[index](ステージ[stage]):コミットするためのファイルの状態 ■ローカルリポジトリ[local repository]:ファイルの変更履歴を記録(手元で管理) ヘッド[HEAD]…

ぼっち演算子 &.

ぼっち演算子 &. &.という演算子を使ってメソッドを呼び出すと、レシーバーがnilであった場合でもエラーが発生しなくなります。 class User def name "名前" end end user = User.new user.name -> "名前" object = nil object&.name -> nil object.name -> …

moduleはオブジェクトを作成できない

moduleはオブジェクトを作成できない moduleはクラスと異なり、オブジェクトを作成することが出来ません。 例えばこんな時にエラーになります。 module Chatting def hello "hello" end end object = Chatting.new -> NoMethodError 「newなんてメソッドは知…

SAML認証

SAML認証 シングルサインオン規格の一つ。 シングルサインオンとは一つのIDとパスワードで複数のWEBアプリやクラウドサービスにログインできる仕組みの事。 SAMLとは異なるインターネットドメイン間でユーザー認証を行うための認証情報の規格のことです。 SA…

ファビコンとタッチアイコンの設置方法

ファビコンとタッチアイコンの設置方法 Webページには本文で利用する画像以外に、用意しておくと良い画像があります。 代表的なものに「ファビコン」と「タッチアイコン」です。 ファビコンとは? お気に入りやタブに表示される画像のこと。 タッチアイコン…

スマホで画像サイズを最適に表示させる方法

スマホで画像サイズを最適に表示させる方法 現代ではWebページを見る方法が増え、スマホで見る人も増えました。 ですのでスマホでwebページを見た時でも綺麗な画面サイズで見えるようにすることが必須です。 その場合に良く使う技が「viewportの設定」を用い…