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

食品の営業からSEに転職した文系エンジニアです。 プログラミングと趣味の株に関してブログを書いていこうと思います。

【Ruby on Rails5】 heroku で PostgreSQL のエラーが発生(UndefinedFunction: ERROR: operator does not exist)

現在、localの開発環境のDBにはsqlite本番環境のDBはpostgreSQLを採用しています。 localだと問題なく動いていたものを本番にdeployして動作確認を行ってみたところ以下の500エラーが発生 UndefinedFunction: ERROR: operator does not exist: bigint = char…

【Ruby on Rails5】railsでデバイスごとに処理を分けるのに便利なgem rack-user_agent

海外ドラマの感想を共有するSNS mitanoというサービスを運営しております。 www.mitano.jp PCの場合にはこの画像、スマホの場合にはこの画像を表示ということがしたい。mitanoのドラマのimage情報はアマゾンのイメージサーバーのURLをDBに以下のように保持し…

【偕楽園】東京から2時間!日帰りで偕楽園へ【観光】

こんにちは 先月金沢旅行に行った際 日本三名園として知られる兼六園へ行きました。 takanori5.hatenablog.com 想像を遥かに超える素晴らしさだったので、 今回は同じく日本三名園のひとつ 水戸の偕楽園へ攻め込みました。 偕楽園 水戸へは東京から2時間ほど…

浅草でシュラスコランチを堪能するならココ!キボン浅草店

大学時代の友人と3人で 浅草でシュラスコランチに行ってきました。 シュハスカリア キ・ボン ブラジル料理 シュハスカリア キ・ボン! (Churrascaria Que bom!) 食べログも3.56点あります。 https://tabelog.com/tokyo/A1311/A131102/13031549/ ここの魅力…

【韓国】グルメと観光を堪能する!釜山2泊3日モデルプラン【釜山】

こんばんは 大学時代からの友人と 二泊三日で釜山旅行に行ってきました。 本当は台湾か中国に行きたかったのですが、 旧正月と被っており お店がほとんどやっていないからオススメでにないと HISのお姉さんに言われました。 そのため、安く観光できておスス…

ハマる人続出!『ゲーム・オブ・スローンズ』の魅力を語る

2017年は仕事の節目となり、 すっきりした私は、年末年始から二月にかけて ゲームオブスローンズに明け暮れました。 私は職場で利用していたSlackの自分のアイコンにゲームオブスローンズを採用していていたほど このドラマには圧倒的な魅力があります。 "ゲ…

メルカリアッテで任天堂switchをゲットしました

寒い日が続いており、参ってしまいますね。 さて、私は昨日から ニンテンドーSwitchがやりたい!! という強い衝動にかられていました。 昨日試しに家電量販店に行ったものの いまだ在庫はないそうでした。 Amazonでは買えるが定価より高い状況です。 メルカ…

【映画】「デトロイト」を観てきました【感想】

本日は三宮に住む友達と映画 「デトロイト」を観に行ってきました。 「デトロイト」 まずは腹ごしらえ。 前々から気になっていた 行列のできるローストビーフのお店 レッドロックに行ってきました。 「レッドロック」 三宮には2店舗あります。 あとは高田馬…

【大分】別府を1日で満喫する!別府観光モデルコース【別府】

大阪から別府まで、往復1万円で行けることを知り 試しに暇なので温泉旅行に行ってきました。 さんふらわあというフェリーで往復1万円。 さんふらわあで大阪から別府港に着いたのは 6:55 定刻通りでした。 takanori5.hatenablog.com 帰りのフェリーが18:45発…

大阪から別府までフェリーで1万円!0泊2日の別府ひとり旅!

こんにちは さんふらわあで別府ひとり旅 大阪から別府まで、往復1万円で行けることを知り 試しに暇なので温泉旅行に行ってきました。 さんふらわあというフェリーで往復1万円。 大阪駅からは35分程で乗り場のあるトレードセンター前に着きます。 さんふらわ…

【映画】「8年越しの花嫁」を観てきました【感想】

こんばんは 会社の選べるクラブという福利厚生を用いて 映画の引き換え券を5枚 安価で手に入れました。 そのため、手始めに 「8年越しの花嫁」を観て参りました。 8年越しの花嫁の感想 まず、結論から申しますと 名作でした。 26にして本日初一人映画だった…

【金沢】大阪発!1泊2日で楽しめる金沢ひとり旅おすすめプラン【観光】

こんにちは 前々からかなり兼六園に行きたかったので 今回は金沢にひとり旅に行ってきました。 1泊2日で楽しめる金沢ひとり旅おすすめプラン 【スケジュール】 1日目 金沢駅 近江町市場 鈴木大拙館 21世紀美術館 兼六園のライトアップ 金沢城のライトアップ …

3日でマイナス3kg! 26歳の会社員による3日間ファスティングの記録

3月から新しい会社に転職することになり、 1月から2月の2ヶ月間はのんびりと自分の時間が取れることになりました。 この機にもりもり増えつつあった体重を 自分のデフォルトである水準まで戻そうと思い、 話題のファスティングに挑戦してみました。 ファス…

【Ruby on Rails5】一覧表示するデータを任意の順で並び替える

modelに対してdefault scopeを定義すればOK 以下は作成時間が新しい順に設定 class Micropost < ApplicationRecord default_scope -> { order(created_at: :desc) } end

【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と…