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

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

each_with_index

File.open("meibo4.csv","w") do |file| row.each_with_index{|k, i| file.puts "#{k[0]},#{k[1]},\"#{k[2]}\"" } end ファイルに書き込みながら、配列に同じ動作を繰り返しインデックスをつけるrowは配列 rowのものがkにはいる iは0から順に数が増えていく…

join

join 配列の中の要素をくっつける引数を指定すると、それ区切りでくっつけてくれる arr = ["hello", "world", 123] puts arr.join(", ") puts arr.join

二重配列 each ソート chomp

二重配列 配列の中に配列がある each 配列の中身1つ1つにある処理を実行したいときに使う ソート row2 = row.sort { |a, b| a[2] <=> b[2] } 配列の2番目の要素で小さい順にソートしている chomp 文字列の最後の改行を取り除く

ハッシュの書き方の例

hash = {"Yamada" => 34, "Katou" => 28, "Endou" => 18} puts hash["Katou"] 参考:http://www.rubylife.jp/ini/hash/index2.html

split 正規表現 配列内の平均値 ファイルの読み込み

split 配列の中身を特定の文字で分離する #タブで区切った text.split(" ") 正規表現(2桁の数字) /(\d{2})/ 配列内の平均値 array = [12,343,112,55,74,11] puts array.inject(0.0){|r,i| r+=i }/array.size 参考:http://unageanu.hatenablog.com/entry/20…

変数

グローバル変数 $num インスタンス変数 @num

rbenv

rbenv rubyのバージョン管理に使う rubyのバージョン確認 rbenv -v インストール済みで利用可能なrubyのバージョンを確認 rbenv versions

rand 文字列に変数を代入 include

rand 0~4までのランダムの数字を返す rand(5) 1~10までのランダムの数字を返す場合 rand(10)+1 参考:http://qiita.com/Konboi@github/items/e53296e99e297f83cfd1 文字列中に変数を入れる puts "文字列#{hensu}" 参考:http://www.rsch.tuis.ac.jp/~ohmi/ruby…

restとは

Rest RESTとは、2000年にRoy Fielding氏が提唱した、分散システムにおいて複数のソフトウェアを連携させるのに適した設計原則の集合。また、狭義には、それをWebに適用したソフトウェアの設計様式のこと。一般には後者の意味で用いられることがほとんどであ…

NCMB データを登録する

NCMB データを登録する client.post("/2013-09-01/classes/データベース名/",{カラム名:"データ"})

*NCBMのデータをrubyで表示

NCBMの情報をrubyで表示 client.get("/2013-09-01/classes/テーブル名/",{where:{カラム名:"条件"}})

activerecord whereで部分一致、あいまい検索

whereで部分一致検索 Event.where('created_at like(?)', "%検索ワード%").count created_atカラムの中から検索ワードに部分一致で検索変数を使うときは検索ワードの所に#{変数}でできる参考:データベースへのアクセス(ActiveRecord::Baseメソッド) | myco…

selenium-driverのインストールと pathを通す

selenium-driver http://qiita.com/moonsubaru/items/d102dd75eab1b9d0625b

httpとhttps http通信

http通信 インターネット上でWebサーバーとクライアントが相互に通信するときに使われる仕組み別の言い方をすると、WebサーバーとクライアンとがHTMLで記載された情報をやりとりする仕組み クライアント側がWebサーバーに、サイトを見せてくださいとリクエス…

AJAX http ヘッダー リクエスト

メモ ・ブラウザはサーバーにHTTPリクエストを送る ・サーバーは受け取ったリクエストからどんな情報を返すか判断する ・HTTPリクエストには「HTTPリクエスト行」「HTTPヘッダー」「データ本体」の3つのパートがある ◆HTTPリクエスト行・・・「メソッド」「U…

テーブルの中身を削除  空白を全て削除(ruby)

テーブルの中身を全て削除 TRUNCATE TABLE テーブル名 空白を全て削除 オブジェクト.gsub(" ","") 半角スペースを無と交換している gsubは第一引数と第二引数を交換メソッド

breakとnext

breakとnext breakはブロック処理を終了 #5を飛ばす 10.times{|v| if v==5 next end puts v } #出力 #0 #1 #2 #3 #4 #6 #7 #8 #9 nextは1回の処理を飛ばす 10.times{|v| if v==5 break end puts v } #出力結果 # 0 # 1 # 2 # 3 # 4 参考:rubyのblock文でのbr…

ifを1行 gsuv

if を 1行で書く 処理 if 条件 gsub マッチした文字と指定した文字を取り替える s = "hello,\nworld\r\n" puts s.gsub(/(\r\n|\r|\n)/, "<br />") # => hello,<br />world<br /> 参考:gsub, gsub! (String) - Rubyリファレンス

正規表現でsplit いずれかでマッチ

正規表現でsplit オブジェクト.split(/正規表現/) 正規表現でマッチしたもので区切られる いずれかでマッチ /[ABC]/ A,B,Cのいずれかでマッチする

vi cssセレクタ 隣接、以降

保存して終了 viでファイルを保存して終了 :wq CSSセレクタ 隣接タグ h3 + h4 h3タグに隣接するh4タグ CSSセレクタ 以降のタグ h3 ~ h4 h3以降のh4タグ 参考:意外と知らない!?CSSセレクタ20個のおさらい|Webpark

git origin push remote -v 確認

pushする場所を指定してpush git origin レポジトリ originにpushされる originの確認 git remote -v originの確認ができる

正規表現 日付

正規表現日付 /(\d{1,2}\/\d{1,2})/ これで、8/26がとれる()でひとくくり /d{}で桁数を指定 /はバックスラッシュをつける

ブランチの切り替え twitterapi

ブランチの切り替え git checkout ブランチ名 twitterbot 文字数があるのに注意 文字数を越えるとなにも出力されなくなる

tweet全件削除 API

tweetを全件削除 API # -*- coding: utf-8 -*- require 'twitter' # アプリケーションキー 個人ごと consumer_key = "hogehoge" consumer_secret = "hogehoge" access_token = "hogehoge-hogehoge" access_token_secret = "hogehogehogehoge" # 認証 client …

KVS RDB

2つのデータ管理方式 KVS KVSとは、データの保存・管理手法の一つで、任意の保存したいデータ(値:value)に対し、対応する一意の標識(key)を設定し、これらをペアで保存する方式。こちらの方が新しい。 大量のサーバーに分散させるときコストが低い RDB …

文字列中の一部を取り出す 制限API

文字列中の一部を取り出す str = "Hello" ans = str[0,3] ansにhellまでが格納される。 開始と終わりの番号を引数にする参考:文字列の一部を取得する - 文字列(String)クラス - Ruby入門 制限APIの考え方 1日に回数制限のあるAPIを使うときは、sleepで24h休…

ローカルサーバーにテーブルをインポート Sequel pro

ローカルサーバーにデーブルをインポート インポートしたいテーブルを右クリック→エクスポートでどっかに置くローカルサーバーに移動してファイル→インポートでさっき置いた場所でファイルをインポートエクスポートしたファイルの中身ををMysqlにコピペして…

ActiveRecord データベース デーブルの存在 一覧 Ruby

テーブルの存在の確認 puts ActiveRecord::Base.connection.table_exists? 'DB名' 参考:ActiveRecordでTableの存在をチェックする | hrendoh's memo テーブルの一覧表示 ActiveRecord::Base.connection.tables 参考:ActiveRecord を使って好きなデータベース…

緯度経度から住所 geocoder

緯度経度から住所を割り出す geocoderのインストール gem install geocoder require 'geocoder' #日本語に設定 Geocoder.configure(:language => :ja) #住所取得 puts Geocoder.address("緯度,経度") 緯度経度のところにそれぞれの長ったらしい数字を書く 参…

同じ単語を数える 変数で正規表現

テキストファイルを読み取って同じ単語をカウントする count = Hash.new(0) filename = ARGV[0] file = open(filename) while anything = file.gets something = anything.split something.each do |things| count[things] += 1 end end file.close ## 結果…

レスポンスヘッダ

レスポンスヘッダの確認方法(Chrome) [要素の検証] → [Network] → 更新する → [内容を見たいリソースの名前] 参考:http://dev.ontheroad.jp/archives/11970

length nil empty 曜日を日本語表示 git request pull marge

length,sizeが使えない datetime型だと、length,sizeが使えなかった(NoMethodErrorになる)ので オブジェクト.where(date:Date.today,).each do |box| if !(box["Time"].length == 0) get.push("box["Time"]}") end end これで、データベース側のTimeのカラム…

bundle bundler gem バージョン

bundler rubyのライブラリ管理ツール複数人でプログラムを組むときにライブラリのバージョンが合わなくて、動かないということがないようになる今回がgemのバージョン管理の為に使った bundle exec ruby ファイル名 ファイルを指定した環境下で実行 Gemfile …

git 元に戻す rubyのバージョンを変更 rbenv mysqlのローカルPWを無効にする

コミット前の編集したファイルを元の状態に戻す git log ファイルパス git ハッシュ値 ファイルパス 1行目でハッシュ値を取得 2行目で元に戻せる参考:gitで特定のファイルだけ前の状態に戻したいときのコマンド - プログラミングのメモ rubyのバージョンを変…

<Ruby>正規表現で都道府県を一致させる スクレイピング ログ 不要な空白削除strip

都道府県を一致させる 今回は都道府県の前に空白があるのでこうした。 addr = "東京都" addr.match(/\S{2,3}[都道府県]/).to_s #=>東京都 /Sは、空白を除く {2,3}は2~3文字 参考:【Ruby】住所から都道府県を正規表現で取り出す【正規表現】 - Qiitaログ ログ…

length +=

length変数の大きさを調べる length(変数)+="+="が使えない。a = a+1 で代用

新規ファイルを開いて書き込む ファイルを2つ開いて書き込み モード

新規ファイルを開いて書き込む file_name = "新しく作りたいファイル名.txt" File.open(file_name,"w"){|同じもの| #wは書き込みモード 同じもの.puts "書き込みたいこと" } ファイルを2つ開いて書き込み File.open('outfile.log','w'){|outfile| #outfile.l…

R言語 配列 for print 特定の項目を抽出 csv

R言語 読み込んだcsvファイルから特定の項目だけ抽出する dataにnumber,testA,testB,などの項目がありtestAが50以上の行だけ取り出す data2<-subset(data,data$testA>="50") data2 dataに該当の行が格納され、それを表示した。項目にズレがあるとうまくいか…

R言語 日本地図をデータによる色ぬり(都道府県別)

日本地図を色ぬり 大事なところだけまとめた dayl <- c(1774.8,1675.6,1739.7,1842.6,1597.4,1653.3,1783.1,1886.8,1938,2037.7,2007.2,1860.8,1847.2,1920.6,1651,1599.6,1667.5, 1610.2,2128.7,2095.7,2085.8,2037.7,2053.4,2018.8,1833.2,1734.3,1967.1,1…

R言語 グラフ

R言語でデータをグラフ化する ヒストグラフ csvファイルを読み込み変数(例題)に代入する。 desktop上のsample.csvファイルの中身を例題(変数)に代入 例題<-read.csv("desktop/sample.csv") グラフ化したいデータ内の項目(今回は事前)を選ぶ hist(例題$…

R言語の基本 文字化け修正

R言語 R言語とは R言語(あーるげんご)はオープンソース・フリーソフトウェアの統計解析向けのプログラミング言語及びその開発実行環境である。 R言語 - Wikipedia インストール はじめてのRを参考にした。 基本操作 object <- 54 #objectという変数に54を…

Ruby 例外処理 rescue

例外処理 begin rescue begin <例外が起こる可能性のある処理> rescue => <例外オブジェクトが代入される変数> <例外が起こった場合の処理> end どうしようもないエラーの時に使った 使いすぎたり、広い範囲でつかうとどこがエラーかわからなくなる参…

SSH 公開鍵 github

ssh sshとは Secure Shell(セキュアシェル、SSH)は、暗号や認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコル。パスワードなどの認証部分を含むすべてのネットワーク上の通信が暗号化される。 https://ja.wikipedia.org/wiki/S…

count uniq 正規表現 桁数範囲 inject map compact

配列関係 count 配列名.count 配列の要素の数をカウント参考:count (Array) - Rubyリファレンス 配列内の重複する要素を取り出す a = [1, 2, 3, 4, 5, 6, 5, 4] a.inject(Hash.new(0)){|h, key| h[key] += 1; h}.map {|k,v| k if v >= 2}.compact #=> [4, 5]…

robots.txt

robots.txt クローラーがWebサイトを巡回する際に守るべき規約 大手サイトが利用している googleだったら、googleトップのurlにrobots.txtを加えると見ることができる。Disallowとallowでクローラのアクセス禁止を指定Crawl-delay : 10 これで、クローリング…

スクレイピング 503error

503error 何回もアクセスするとなるらしい。スクレイピングで抽出する量が多すぎたかもしれない。怖い。気をつけましょう参考:503エラーを防ぐ!Web屋が知っておくべき503エラーの原因と対処 | 知らないと損をするサーバーの話Ruby全般 インテンド インテン…

次のページもスクレイピング sleep children 画像の個数

次のページもスクレイピング #省略 loop do #省略 unless doc.css('秘密').empty? url = doc.css('秘密').attribute('href').value p "----------" sleep(10) else break end end loop とunlessのブロックをくっつけて次のページまでスクレイピングできた参…

sinatra ラジオボタンを搭載 クリック範囲拡大

sinatra sinatraラジオボタン搭載 まず、ラジオボタンのくっつけ方 #ラジオボタンが表示されるファイル <input type="radio" name="q1" value="ぐー">ぐー<br> <input type="radio" name="q1" value="ちょき">ちょき<br> <input type="radio" name="q1" value="ぱー">ぱー<br> name,typeは前記事に説明有り。value="わたし"でvalueの値が送信される。(今回の場合わたしが送信される) そして、 #mainのファイル…

sinatra vi ラジオボタン

viコマンド mv mv 旧ファイル名 新ファイル名 ファイル名を変えられる sinatra ラジオボタンをくっつける <input type="radio" name="q1[]" value="1">ぐー<br> type = ボタンの種類を指定(今回はラジオボタン) name = で同じ族?を決められる。族の中からは1つしか選べないようになってる参考:はじめて…

sinatra じゃんけん 変数 erb ruby

sinatraでわかったこと ファイルの読み込み #app.erb post '/choki' do erb :choki end これは、choki.erbファイルの読み込み erb : chokiのところをrbにしてもよみこめなかった。 URL require 'sinatra' get '/top' do "Hello" end get と do の間、 /topは…