代々木で働く超新米エンジニアの足跡

代々木で働くエンジニアです。超新米です。

エラー探し rails Completed 500 Internal Server Error

railsでエラー Completed 500 Internal Server Errorとかでてきて謎 下記のサイトを参考にFROM IT:[Rails]Ruby on Railsでの「Internal Server Error」 - livedoor Blog(ブログ)log/development.logを見たら解決した

curlでpostする

curlをつかってpostする 今回は入力フォームにpostしたこんなのがコントローラにあって def create @address = Adress.new @first = params[:first] @last = params[:last] @gender = params[:gender] @pref = params[:pref_name] #(略) 上のparams[:xxx]…

リンクを貼る html

リンクを貼る <a href="url">タイトル</a>

railsでmysqlに接続

railsでmysqlに接続する方法 基本は下のサイトを参考にしたrailsのDBをmysqlに変更する。 - Qiitaconfig/database.ymlを編集する development: adapter: mysql2 encoding: utf8 database: db_name pool: 5 username: user_name password: socket: /tmp/mysql…

ラジオボタン  html

htmlでラジオボタン <input type="radio" name="性別" value="男" /> 男 <input type="radio" name="性別" value="女" /> 女 参考:基本的なフォーム -- ごく簡単なHTMLの説明

半角スペース html

htmlで半角スペース &nbsp; 参考:HTML初心者です。文章中にスペース(空白)を入れたい場合、... - Yahoo!知恵袋

プルダウン html

htmlでのプルダウン <SELECT name="kibun"> <OPTION value="saikou">めちゃいい!!</OPTION> <OPTION value="botiboti">まあまあいい!</OPTION> <OPTION value="hutuu">普通</OPTION> <OPTION value="saiaku">最悪・・</OPTION> </SELECT> 参考:HTMLタグ プルダウンボックス

コメントアウトhtml

htmlでのコメントアウト

ActionController::InvalidAuthenticityToken rails4.0

ActionController::InvalidAuthenticityToken 攻撃とみなされてるらしいのでそれを回避する方法 skip_before_filter :verify_authenticity_token ,:only=>[:index] #コントローラにこれをぶちこむ 参考:【Rails 4】formでActionController::InvalidAuthentic…

formのgetとpostの違い

get データ量が制限されてる リクエストとして送信されるデータはURLに含まれる post 大量のデータを送れる リクエストとして送信されるデータはメッセージボディ部に含まれる

Railsのインストール

railsのインストール gem install rails -v 'x.x.x'参考:3分でできるRailsダウングレード - Qiita

Ruby on Railsとは

Ruby on Railsとは Ruby on Railsとは、Rubyで構築された、Webアプリケーション(後述)開発のためのフレームワーク簡単に言うと、Webアプリケーションを作るためのツール Webアプリケーションとは Webブラウザを介して利用するアプリケーション -Webサイトと…

秘密鍵と公開鍵

秘密鍵と公開鍵について わかりやすいインターネットの画期的な公開鍵と秘密鍵を素人にわかりやすく説明してみる。 - 非天マザー by B-CHAN

Vagrant

Vagrantとは 開発環境の構築と共有を簡単にするもの どこでも同じ環境を再現できるように仮装マシン環境を管理し共有する 参考:開発環境の構築・共有を簡単にするVagrant入門 | Think IT(シンクイット)

UIDとは

・UNIX系のOS(LinuxとかMacとか)で使用される、利用者識別用の番号のこと。 ・広い意味での「ユーザID」のことUser ID の略利用者を識別するために使われる参考:UIDとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

tweet api 取得数を指定してつぶやき取得

twitter api つぶやき数を指定して取得 title = @twitter.search("検索ワード") title.take(500).each do |tw| #以下略 参考:Twitter gemでツイート検索する場合の要点、及び:since_id指定を有効にするモンキーパッチ - Qiita

git branchの名前を変更

branchの名前を変える git branch -m <古いブランチ名> <新しいブランチ名>

twitter api リツイートを含む検索

RTを含むAPIでの検索 @twitter_client = Twitter::REST::Client.new do |config| config.consumer_key = "xxxx" config.consumer_secret = "xxxx" config.access_token = "xxxx" config.access_token_secret = "xxxx" end @twitter_client.search("検索ワード…

flatten

flatten 多次元配列をシンプルな配列にする array = [1, 2, 3, [4, 5]] p array.flatten #=>[1,2,3,4,5] 参考:flatten, flatten! (Array) - Rubyリファレンス

combination

combination 配列から引数n個の要素を選んだときの組合せを出力 array = ["a","b","c","d","e"] p array.combination(2).to_aa~eまでの、5C2の全てのパターンを出力

カラム名にhashは使えない Activerecord

カラム名に”hash”というワードは使えない hash_dateとかなら大丈夫参考:"hash is defined by Active Record" って怒られた - kakakakakku blog

mysqlのカラムの値を全部変更

UPDATE tabele_name SET colum_name = value; 参考:データの更新(UPDATE文) - データの追加と削除 - MySQLの使い方

DBに絵文字を入れる時の設定

DBに絵文字をいれる エンコーディングがUTF-8だとエラーがおきるので #カラムの文字コード変更 alter table table1 modify comment text character set utf8mb4 #テーブルの文字コード変更 alter table table1 default character set utf8mb4; #DBごと変更 a…

mysql server停止

mysql.server stop

twitter api or検索

twitter api でor(または)検索 @twitter_client.search("#{title} OR #{query}" ,option)

配列別の書き方

配列の普通じゃない書き方 array = %w(one two three four) p array # => ["one", "two", "three", "four"] 参考:Rubyで%記法(パーセント記法)を使う - Qiita

Gemfile

Gemfile Bundlerの設定ファイル →gemのバージョン管理を行う bundle install で,Gemfileに基づきgemがインストールされる参考 Gemfileについて調べてみた - xxxcaqui.log Bundlerを使ったGemパッケージの管理 - Ruby on Rails入門

ギリシャ文字のスクレイピング

ギリシャ文字(特殊な文字)をスクレイピング スクレイピングをしていたら”Ⅱ”が取得できなかったのでとまった 解決方法 doc = Nokogiri::HTML(page, ur, "CP932") エンコードをCP932で指定したらできた参考:CP932など特殊な文字を含むHTMLをスクレイピングす…

今週の月曜日を取得

今週の月曜日を取得 require 'date' this_day = Date.today this_monday = this_day - (this_day.wday - 1) 参考:今週の月曜日、先週の月曜日、来週の月曜日を取得する - Qiita

メソッドの複数の戻り値とその取得

メソッドの複数の戻り値を設定とその取得 def test 処理 return A, B end a,b = test #=>ここでA,Bの値をa,bに取得 参考:多重代入を使って複数の戻り値を取得 - メソッド - Ruby入門

日付の計算 足し算 引き算

日付の計算(加減法) require "date" d = Date.today #=>今日の日付を取得 afterDay = d + 1 #=>今日の日付 + 1日の日付を取得(つまり明日) beforeDay = d - 5 # =>今日より5日前の日付を取得

文字型からdate型に変える

require 'date' date = Date.strptime('2014年6月2日','%Y年%m月%d日') 参考:文字列型からDate型に変換する - Qiita

pluck(データベースの特定のカラムを配列として取得)

pluck selectやwhereで取得してきたものは型が”ActiveRecord_Relation”になっているので 配列として取得したいときに使う title = Title.where(:type => "A") #typeからむがAのものをすべて取得 p title.pluck(:name) #上で取得してきたものの名前のみを全て…

カラムの追加とデフォルト設定

カラムの追加とデフォルト設定 カラムに追加するときデフォルトの値を設定する方法 alter table titles add crawl int(11) default 0;

update(Activerecordを用いてカラムの更新)

update 既存のデータのカラムの更新をするときにつかう title = Title.find_by(:title => "わっしょい") title.update(:num => 1) まず、更新したいデータの行全体を取得しなければならない 今回は1行目でtitleがわっしょいのものを取得してきた(1つのみ) …

find_by (データベースから条件に合致するもの1つを取得)

find_by Title.find_by(:title => "data") タイトルというカラムがdataのものを1つ取得するない場合はnilが返ってくるので、合致するデータがあるかないか判断するときに便利

AUTO_INCREMENTの値をリセットする

AUTO_INCREMENTの値をリセットする データを削除してもidの値はどんどん上がってしまうのでリセットする方法 ALTER TABLE <テーブル名> AUTO_INCREMENT = 1; 参考:AUTO_INCREMENTの値をリセットする方法【MySQL】 - Programming Magic

open_uri_redirections

open_uri_redirections httpからhttpsへのリダイレクトされるURLをopen-uriで取得しようとするとでエラーが発生するopen_uri_redirectionsというgemをインストールして解決参考:[Ruby] open-uriでhttp->httpsのリダイレクトが禁止されている件 - Qiita

配列の最後だけ抽出

array = ["a","b","c"] p array.last # => "c"

スクレイピングのセレクタ(CSS)

セレクタの書き方 li:nth-child(3)→3番めのlili:first→最初のli参考:https://keikenchi.com/css-style-n

配列の比較

配列同士を比較して差の内容を出力 array_1 = ["a","b","c"] array_2 = ["a","b"] puts array_1 - array_2 cが出力される参考:https://teratail.com/questions/1422

gitの操作をする前に

1 git status で状態を確認2 管理したい場所に行く3 branchの確認commitしてからpush git Hubで確認新しいディレクトリをとりこむときはクローン それ以外はpull

正規表現 鉤括弧の中身

/(『)(.+?)(』)/ =~ title p $2 titleが『○○○』で、括弧の中身だけを出力したいとき

文末の文字を削除 -chop-

chop 文末一文字を削除できるhttp://ref.xaio.jp/ruby/classes/string/chop

スクレイピング文字化け

R

スクレイピング文字化け修正 require 'open-uri' require 'nokogiri' uri = "http://www…" page = URI.parse(uri).read charset = page.charset if charset == "iso-8859-1" charset = page.scan(/charset="?([^\s"]*)/i).first.join end document = Nokogir…

クラスを調べる

R

class クラスを調べる 文字列.class http://kinopyo.com/ja/blog/to-find-out-ruby-object-class p と puts pはオブジェクトを表示 putsは表面上のものを表示

compact each_with_index include?

compact 配列からnilを取り除くhttp://ref.xaio.jp/ruby/classes/array/compact each_with_index と 配列の中に配列を加える eachを使いながら、数が増える変数を使える zikan.each_with_index do |zikangumi,i| if zikan_array[i].nil? zikan_array.push([]…

activerecord where

指定した条件のものだけ抽出 p User.where(gender: "f") orderも後ろに続けられる

activerecord ソート

ageのカラムを数字が小さい順に並び替えて出力 p User.order("age") class User < ActiveRecord::Base end p User.all Userテーブルの中身を全て表示 mysqlではusers ActiverecordではUserにする *レコードを全て削除 #User.destroy_all

mysql ソートかつ特定のものを抽出

orderとwhereを使うが、先にwhere文を使う