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

ポリモーフィック関連2 (コールバックで関連テーブルへのレコード保存の設定とその時吐かれるSQL)

profyでは、ActiveRecordコールバックを利用して、questions、answersテーブルのレコードが作られたら、ポリモーフィック関連先のテーブルであるfeed_contentsテーブルにもレコードが保存されるようにしています。ここの仕組みが難しいと感じたので調べて記…

プロセス切りたい時

cloud9などのエディタでは、railsのサーバー動かしているターミナルをサーバー落とさずに切ってしまうとプロセスが残ってしまう。 すると、新しく立ち上げたターミナルで rails s ができない。。。 その際、コマンドでプロセス特定したり、プロセス一覧から…

再・ポリモーフィック関連について

ポリモーフィック関連とは ポリモーフィック関連とは、ある1つのカラムが複数のテーブルを参照しているようなパターンの関連を表したものです。 同じようなカラムを持っているテーブルが複数ある場合、それらを1つのテーブルで管理してしまうことができま…

Twitterで他人が投稿していた動画の保存法

pic.twitter.com/Yah0jXgYp1 — しりもと (@SHIRIMOTO) November 11, 2018 上のgifが可愛くて保存したかったのですが保存法がわかりませんでした。 長押ししても右クリックしても静止画が保存できるのみでした。 そこでググってみたところ、以下のようなサイ…

Moduleについて

モジュールとは モジュールとは、クラスと同じような構成を持っており、クラスと同じくメソッドを定義することができます。クラス内でモジュールを読み込む事で、モジュールで定義されているメソッドが使えるようになります。 Rubyの場合、クラスの継承は単…

クラスの継承について

Rubyでは、クラスの継承を行うことができます。 クラスの継承を行えば、あるクラスで定義されているメソッドを別のクラスでも改めて定義することなく使うことができるようになります。 クラスの継承について調べてみたので自分なりにまとめてみました。 クラ…

rubyのみでtweet投稿機能とuser登録機能の実装

Railsを使わず、rubyのみでtweet投稿機能とuser登録機能らしきものを実装してみました。 以下はgithubのリポジトリのリンクです。 github.com ファイル構成 ruby_pictweet |------tweet.rb |------user.rb 各ファイルの中身 tweet.rb require "./user" class…

attr_accessorについて

Railsでは特に意識することなく、@tweet.textのように、カラム名をメソッドのように使用するとそのインスタンスが持つ値にアクセスできます。カラムに無い属性についても、attr_accessorを使うことで同じように、属性名をメソッドのように使用できるようにな…

オブジェクト指向設計について

オブジェクト指向についてなかなか理解できていなかったため自分なりに本や記事を読んでまとめてみました。 オブジェクト指向とは オブジェクト指向とは、プログラムを単なる手順ではなく、オブジェクトの作成とオブジェクトの操作としてみる考え方です。 オ…

Active Storage を試してみた

railsの5.2.0以上から、Active Storage という、モデルオブジェクトにファイルの添付を容易に実現できる機能が使えるようになっています。 それだけでなく、クラウドストレージサービスへのアップロードも容易に行えます。 試してみたところ、とても簡単でし…

ブログのサイドバーにgithubの草を載せた

ブログのサイドバーにgithubの草を載せてみました!! 以下の記事を参考にさせていただきました。 blog.a-know.me blog.jnito.com 難しかったらどうしよう、と思ってましたがとても簡単でした! やり方は上のリンクみていただければと思います。 (とてもわか…

Qiitaのスライドモードを試してみた

先日参加した勉強会でQiitaのスライドモードを使っている人がおり、気になったので自分も試してみました! 以下はスライドモードを試して書いてみたQiitaの記事です。 内容は昨日のブログとほぼ被っておりますw qiita.com 使い方 ・編集画面に行き、スライド…

Firebaseで静的サイトをデプロイ

簡単だと聞いていたfirebaseでの静的サイトのデプロイを試してみました! 簡単ではあったのですが、始めて挑戦する際はいくつか引っ掛かる点もありました。(英語きちんと読めば引っ掛かることはないと思います。。。) なのでfirebeseにおけるデプロイまでの…

gemのバージョン指定法(>=,~>,など)について

rails アプリケーションのgemfile内でのバージョン指定の方法についてです。 以下のように、gemのバージョンが指定されております。 gem 'rails', '~> 5.1.6'gem 'mysql2', '>= 0.3.18', '< 0.6.0'gem 'puma', '~> 3.7'gem 'sass-rails', '~> 5.0'gem 'uglif…

positionプロパティについて

positionプロパティとは positionプロパティとは、要素の位置を指定する基準点を設定するプロパティ。 top、left、right、bottomというプロパティと一緒に使用することで要素の位置を調整することができる。 position: static; 通常の位置に配置(デフォルト)…

Tamarbで正規表現について勉強してきました

今日はTamarbというルビーの会に参加させていただきました! Tamaですが開催場所は渋谷でした(ありがたい) 今日学んだことについて書いておこうと思います。 正規表現とは 「パターンを指定して文字列検索や置換を行う一種のミニ言語」(チェリー本より引用…

MacOSMojaveにアップデートしてbundle installしてもmysqlだけ入らなかったエラーの解決法(Rails5.2.1・Ruby2.5.1)

先日MacOSをMojave&Railsを5.2.1&Rubyを2.5.1にアップデートしました。 そしたらmysqlがbundle installできないエラーに見舞われました。 結構苦戦したので同じエラーが出た人のためになればと思い記事にしました。 エラー内容 rails new をして、bundle in…

評価を星で表示する

評価によって星の表示を変化させる方法 下の図のように評価の数字によって表示させる星を変えるとする。 HTMLの記述 <html> <head> <meta charset="UTF-8" /> <link rel="stylesheet" type="text/css" href="style1.css"> <title>html_css_question1</title> </head> <body> <h1>評価を星で表示する</h1><p>10%</p><div class="star-ratings-sprite"></div></body></html>

正規表現

正規表現とは 「パターンを指定して、文字列を効率よく検索・置換するためのミニ言語」 参考サイト https://qiita.com/jnchito/items/893c887fbf19e17d3ff9 この表現方法を使えば、たくさんの文字列の中から、特定の文字列だけを抜き出すことが簡単にできる…

要素の重なる順番の指定(HTML/CSS)

ヘッダーを固定させようと、position: fixed; を指定したら固定はされたのですが、ヘッダーの下にある要素がヘッダーの上に重なってしまうようになってしまいました。(下にスクロールした際、ヘッダーが下にある要素に覆われてしまう。) それを解決するため…

一度コミット、プッシュしてしまったファイルをgitignoreする

git

よく、 「一度コミット、プッシュしてしまったファイルをgitignoreするには、 $ git rm --cached フォルダ名/ファイル名 とコマンドで打ち、gitignoreファイルに /フォルダ名/ファイル名 を書けば良い」 という記事を見るが、自分がそれを実践しても全くリモ…

ローカルでもリモートでも削除してしまったファイル復元方法

今日、すでにコミットもプッシュもしてしまったファイルをgitignoreしたくて色々ガチャガチャいじっていたら、ローカル上でもリモート上でもそのファイルがなくなってしまった。 なくなったファイルが、secrets.yml だったので「もうアプリ動かなくなっちゃ…

irbでexitした時に出るErrno::EACCESについて

cloud9 で irb を立ち上げ、exitで抜けると以下のようなErrno::EACCESというエラーが。。。 ec2-user:~/environment $ irb2.4.1 :001 > exitrequire 'irb/ext/save-history'/usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb/ext/save-history.rb:98:in …

Mysqlパスワード再設定の仕方

先日、mysqlのパスワードを忘れてしまい、接続できなくなってしまい、以下のような状態になってしまった。 $ mysql -u root -p Enter password: #パスワード入力 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) どう…

「シンギュラリティは怖く無い」中西崇文先生講演のメモ

シンギュラリティ 人工知能が進化し続け、人間の知性を超えることによって、人間の生活に大きな変化が起きること。 レイ・カーツワイルにとって提唱された。 指数関数的に人工知能が進化し2045年には人間を超える。。 人工知能とは 「人間と同じような思…

viエディタ

viエディタとは viエディタとは、LinuxなどUnixベースのOSで使われるテキストエディタ。 ほとんどのLinux系のOSにデフォルトで組み込まれている。 viエディタはマウスの普及していない時代に開発されたツール。そのため、キーボードのみでの操作を行う。 ま…

time_formats.rbを使って日付を整形しjsonに変換する(rails)

time_formats.rbを使って日付を整形しjsonに変換する方法(rails) 大まかな流れは以下のようになる。 time_formatsの設定 jbuilderの設定 jsファイルでjson形式で取得したデータを使用 以下それぞれの詳細について書いていく。 time_formatsの設定 config/ini…

Railsでよく出現するエラー

Railsでよく出現するエラー ・NoMethodError メソッドを使用されたインスタンスのクラスにそのメソッドが定義されていなかったり、リクエストで指定されたコントローラーにそのアクションがない場合に起こるエラー。 →メソッドを使用するインスタンスのクラ…

デバックについて(rails)

binding.pryによるデバック ●binding.pryとは pry-railsというデバック用のgemのおかげで使える機能のひとつ。pry-railsはrails向けに開発されたデバックツール。処理を止めてその場所での変数がどうなっているか確認できる。 ●具体的な使い方 def index bin…

Gitのcommitのバージョンを戻す方法

git

Gitのコミットのバージョンを戻す方法 以下の画像のようなコミット履歴だとする。 (githubのcommitsのページ) ”部分テンプレート化” というコミットを最後に行っており、"comment機能実装" というコミットのバージョンまで戻したいとする。 "comment機能実装…