プログラミングと旅と映画の日々

普段はスマホ決済サービスの会社でバッグエンドを担当しているエンジニアです。プログラミングと趣味の映画、株、時々うどんに関してブログを書いていこうと思います。海外ドラマ、クロスバイクも好きです。

【Ruby on Rails5】railsでページネーションを導入する

以下のように1ページに100ユーザーも表示されているのを 1ページ30ユーザーの表示にするため、 ページネーションを導入します。 Railsには豊富なページネーションメソッドが用意されています。 今回はその中で最もシンプルかつ堅牢なwill_paginateメソッド…

【Ruby on Rails5】Faker gemを利用してダミーデータを作成する

userの一覧画面などを実装した際にuserデータを一件ずつ画面登録していくのは超面倒ですね! Fakerというgemでダミーデータを作成してしまいましょう。gemfileに以下を追加 gem 'faker', '1.7.3'続いてインストール $ bundle installdb/seeds.rbに以下のよう…

【Ruby on Rails5】tableにインデックスを貼る

インデックスを張るメリット データの読み込み・取得が早くなる。 デメリット 書き込みの速度が倍かかる。 張り方 コマンドラインで以下のコマンドを実行 rails generate migration add_index_テーブル名_カラム名すると以下のマイグレーションファイルが作…

【Ruby on Rails】rails consoleをサンドバッグモードで起動する

サンドボックスモードで起動する。 このモードで起動するとコンソール自体が一つのトランザクションになるので色々便利コンソール終了時にデータベースに関する変更をロールバックすることが可能に。sandboxオプションをつけて起動する方法は以下のコマンド …

コマンドラインからherokuアプリを削除

$ heroku apps:info # アプリの確認 $ heroku apps:destroy --app アプリ名

【Ruby on Rails】使用するアクションのルーティングだけを設定する方法

リソースベースのルーティングを使ってroutes.rbファイルに設定を記述すると自動で7つのルーティングが設定されてしまい、邪魔です。 post_comments GET /posts/:post_id/comments(.:format) comments#index POST /posts/:post_id/comments(.:format) commen…

【Ruby on Rails】RailsのStrong Parametersとは

Strong ParametersはDBに入れる値を制限することで、不正なパラメータの入力を防ぐ仕組み rails4 から導入されたようです。例えば以下のように受け取ったパラメーターを検証せずにDBに直接保存するようにしていた場合、 def create # render plain: params[:…

【Ruby】キーワード引数の書き方

通常のメソッドの書き方に加えて、 ① 定義側で、引数の後にコロンを付ける ② 呼び出し側で、値の前に引数名を書く とすることで、キーワード引数を持つメソッドを書くことが可能。 ■通常の書き方 def buy(item, price, count) puts "#{item}を#{count}台のお…

【Ruby】facebookでのログインに対応する方法

まずはfacebookのdevelopper用のサイトでアプリを登録しておきます。 developers.facebook.com gemの導入 OmniAuth: Overview · plataformatec/devise Wiki · GitHub上記サイトの手順に沿って行います。gemfileに以下を追加 gem 'omniauth-facebook'ターミナ…

【Ruby on Rails5】toastrを導入し、かっこいいログインメッセージを表示する

トースターをアプリに適用してみます。以下のサイトでトースターのでもが見れます。toastr examples 右上に出ているやつです。導入して使って見ます。quick startをみると以下のステップで導入ができるようです。 まずはgemを入れます。 gemを編集し追記 タ…

【bootstrap】deviceを導入して認証機能をつける②:ログインしている場合にnavbarを変える【Ruby】

前回の記事 takanori5.hatenablog.com 今回はログインした後にnavbarの表示を変える方法をやっていきます。https://github.com/plataformatec/devise user_signed_inというのを利用すると良いと書いていますね。 <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav navbar-right"> <% if (!user_signed_in?) %> </ul></div>

【Swift】facebookとtwitterにシェアする方法

facebookとtwitterにアプリからシェアする機能を実装する方法をまとめます。まずはframeworkをimportします。 linked frameworks and librariesで+ボタンをクリック social.frameworkをaddcontorollerにimportする import Social //filedを定義 var compose…

【jQuery】 classの追加・削除をやってみる

htmlで共通して利用しているクラスを追加、削除することで適用されるスタイルを変更したい場合に利用すると便利な方法。 addClass() $("要素名").addClass("class名")removeClass() $("要素名").removeClass("class名")参考: www.flatflag.nir87.com

【bootstrap】formsを使ってみる【Ruby】

前回の記事 takanori5.hatenablog.com Forms · Bootstrap 前回作成した登録ページをbootstrapのformsを使って綺麗にしてみます。 <div class="field"> <%= f.label :email %><br /> <%= f.email_field :email, autofocus: true %> </div>以下のように修正 classをform-groupに、さらにfield…

【Ruby on rails5】deviceを導入して認証機能をつける【Ruby】

deviceは 認証系アプリに必要な機能を簡単に追加できる便利なgemです。まずはdeviceのgemを以下のページを元に導入。 github.comGemfileに追記 gem 'devise'bundle installでインストール すると以下のような文言がターミナルに表示されるので一個ずつ設定し…

bootstrapのgrid systemを使ってみる

grid systemを使って、大阪のうどんの名店「うだま」の文字を以下のように中央に配置してみます。 以下のbootstrapのページにアクセスGrid system · Bootstrap offsetting columnsに利用例が載っています。中央揃えにしたかったらcol-md-6 col-md-offset-3と…

【Ruby on Rails】 bootstrapを導入する

bootstrapの導入は簡単です。 このページに手順が掲載されているので手順通り実行していくだけ GitHub - twbs/bootstrap-sass: Official Sass port of Bootstrap 2 and 3. 必要なgemのインストール cssを加える javascriptを加える 以上の3ステップで完了で…

【Ruby】超簡単!macでruby on ra rails環境をインストールする手順

以下のコマンドをターミナルで順番に叩いて行けば 必ず誰でもRuby on Rails環境が構築できます。①コマンドラインツールをインストール! xcode-select --install②Homebrewをインストール!! ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homeb…

【Swift】 超簡単!画像にフィルターを付けて加工する方法

まずframeworkをimportする CoreImagelinked frameworks and librariesのプラスボタンをクリック CoreImageを選択してADD あとはボタンタップ時などに以下のように実装すればOKです。 import CoreImage超簡単ですね!! // image が 元の画像 let ciImage:CI…

【Swift】ScrollViewにボタンをつけることで任意のイメージを選択時に背景画像に適用する

UIScrollViewにボタンをつけることで任意のイメージを選択時に背景画像に適用する方法を記載。 まず、ストーリーボードにUIScrollViewを配置 続いてソースに関連付け @IBOutlet var sc: UIScrollView!あとは以下のようにコードをゴリゴリ書きましょう //scro…

【Swift】値を渡しながら画面遷移する

Swiftで値を渡しながら画面遷移する方法について書きます。かなり簡単にかけます。 segueにIDをつけておきます。 今回はNextと設定推移元のcontrollerにprepareメソッドをoverride これが画面推移前に呼ばれるメソッドなので、値を渡したい時はここでセット…

【Swift】超簡単!Swiftでカメラを利用する方法

カメラの起動、撮影などを自分のアプリで利用する方法もかなり簡単に実装可能です。 宣言するプロトコルは以下の二つ UIImagePickerControllerDelegate, UINavigationControllerDelegateimportするlibrary Photos controllerでimport import Photos plistに…

【Swift】 UITextFieldタップ時にUIDatePickerを表示する方法

以下のように、UITextFieldのタップ時にUIDatePickerを表示する方法を記載。日本語のサイトにSwiftのver4.0での実装方法が載っておらず、苦戦したため備忘です。 1.story boadにUITextFieldを配置し、ソースコードに関連付け@IBOutlet var dateTextField: U…

XCodeが異常に重くなった時の対処法

XCodeで新規でプロジェクトを作りまくり開発を行なっていたところ インジケーターがいちいち周り、異常に重くなり開発が進まなくなりました。 ログがたまりまくっていることが原因でした。 以下のコマンドでログを削除 これでめちゃくちゃ軽くなりました!!…

Swift UserDefautsでUIImageを保存する方法

例えばフォトアルバムから取得したimageを背景などに設定し、 利用したい場合、取得したファイルを永続化する必要があります。 そんな時にはUIImageを一度NSData型に変換して保存します。取得するときに、再変換すればUIImageを取得することが出来ます。 以…

超簡単!Swiftで音を再生する方法

Swiftを音を再生する方法は超簡単です。 ライブラリをimport 音の再生に必要なframeworkをimportしましょう! importするframeworkは `AVFoundation` 以下のようにしましょう まずプロジェクトを選択し、Generalの下の方の Linked Framework and Libraries …

すぐできる!SwiftでのUITableViewの使い方

上記のようなUIはUITableViewを使って実現されています。 Lineのトークの一覧にも利用されていますね。 私がSwiftを始めたばかりの頃は、本やいろんなサイトを見ながらこのUITableViewをなんとか使えるようになりましたが 無駄に時間がかかったので簡単にま…

eclipseのパッケージエクスプローラーの表示を見やすく変更する<文系エンジニアのプログラミング>

パッケージエクスプローラーの表示方法は階層表示に変更することが可能です。 格段に見やすくなるためお勧め。 1.Eclipseのパッケージエクスプローラー上部ツールバーの右端の下三角(▽)をクリック2.「パッケージ・プレゼンテーション」→「階層(H)」を…

git deletedファイルを元に戻す<ゼロからのgit入門>

git

$ git checkout HEAD -- 消したファイル名 誤って必要なファイルを削除してしまった場合、上記コマンドで削除されたファイルを元の状態に戻せます。 ◆git関連 takanori5.hatenablog.com エンジニアのためのGitの教科書 実践で使える! バージョン管理とチーム…

コールバック関数は汎用化に最適!<JavaScript勉強中>

配列に対して、 ・値を取り出して1ずつ足すという処理 ・値を取り出して2乗じるという処理 以下の二つの関数を定義したい場合にコールバックを使わずにそれぞれ実装すると以下のように実装できます。 var a = [1, 2, 3, 4, 5]; //1ずつ足す関数 function a…