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

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

日々の足跡

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は…

sinatraでじゃんけん erb

sinatraの使い方 フォルダの構成があるので、そのとおりフォルダ、ファイルを配置するフォルダの構成├── app.erb └── views ├── index.erb └── choki.erb 表示される場所:http://localhost:4567/app.erbが実行されて最初に読み込まれるのがindex.erb index…

twitterbot assert jsonファイル sinatraインストール

twitterbot作成中にでたエラー `to_s': wrong number of arguments (2 for 0) (ArgumentError) 引数の数がおかしいとでる。 実際は0だが、引数を2つわたしている。参考:Rubyist Magazine - Ruby ビギナーのための CGI 入門 【第 3 回】 ページ 2 asser_equa…

twitterbot作成のメモ gitでpushできないとき

twitterbot作成のメモ bot.timeline.userstream do |status| twitter_id = status.user.screen_name #アカウントID name = status.user.name #アカウント名 contents = status.text #つぶやきの内容 status_id = status.id #ツイート自体のID(つぶやきごとに…

ソースコードを綺麗に書く方法 行番号表示!

・ソースコードを綺麗に書く方法 https://gist.github.com/ ここのサイトにソースコードを打ち込む 例えばrubyだったらファイル名を、ファイル名.rbにする(拡張子) Create public gist を押す Embed URL をコピーしてブログに貼り付ける 表示例は1つ前の記…

ソースコードを綺麗に書く 2

Markdown記法使いづらい・・・

Markdown Markdownとは Markdown(マークダウン)は、文書を記述するための軽量マークアップ言語のひとつである。もとはプレーンテキスト形式で手軽に書いた文書からHTMLを生成するために開発された。現在ではHTMLのほかパワーポイント形式やLATEX形式のファ…

マークダウン練習

http://www.markdown.jp/what-is-markdown/ 引用 a 強調 強調 1 2 改行 そのいち あ そのに そのさん ああ ななめ ひえー http://qiita.com/oreo/items/82183bfbaac69971917f

ブログにソースコードを書く Markdown

ブログにソースコードを綺麗に書く方法 rubyの場合、下のようにかく。(はてな記法モード) ">|ruby|" と "||ソースコードを書く。(クオーテーションは不要) 表示サンプルは1つ前の記事にある 参考:はてな記法とMarkdownのシンタックス・ハイライトで、Sw…

ソースコードを綺麗にブログに書く

require 'test/unit' class Janken def hoi(player) judge(player,gcp) end #戻り値はユーザ側の勝ち負け(1:勝ち、-1:負け、0あいこ) def judge(player,computer) tab = {} #グー tab["gg"] = 0 tab["gc"] = 1 tab["gp"] = -1 #チョキ tab["cg"] = -1 tab…

テストコード インテンド クラス 正規表現 require

テストコードをやった。・インストール gem install test-unit 参考 : Ruby - Test::Unitでテストを書く - Qiita ・使い方 テストはファイルを分けておこなう テストしたい部分があるファイルをrequire_relative で読み込むclass Practice def self.greetin…

twitterbotを作る(じゃんけんプログラム)

ぐー、ちょき、ぱーのいずれかをリプライしたらランダムに何かを返し結果を報告するじゃんけんプログラムをつくったファイルを3つ用意した。 APIデータファイル、クラスファイル、実行ファイルAPIのファイルは、アカウント情報のようなものをかいてるだけな…

twitterbotを作る(rubyを介してのツイート)

twitterbotwをつくるAPI登録やインストールもろもろは以下を参考にした。初心者歓迎詐欺被害者の会: RubyでTwitter Botをつくる とりあえず、rubyを介してツイートしたい時はこれ require 'twitter' require 'pp' client = Twitter::REST::Client.new do |co…

タブ切り 

タブ区切りの利点 ・半角スペースと違ってタブ区切りはあまり使われないので区切り文字として使いやすいから

時間のフォーマット

時間のフォーマットを変える時の参考 time = Time.now # Thu Dec 24 00:00:00 +0900 2011 time.strftime('%Y年%m月%d日 %H:%M:%S') # 2011年12月24日 00:00:00.to_time だとタイムゾーンが表示される

Activerecord 行全部削除 MySQLのdcエータ出力

行を全て削除 destroy_allMySQLのデータを出力するとき、jsonの方がcsvよりはるかに楽・csvだとdef self.to_csv CSV.generate do |csv| csv all.each do |book| csv Shift_JIS', undef: :replace, replace: '')} end end end print all.to_csv+"\t" end ・js…

mysqlとrubyの対応

mysqlとruby対応表MySQL Ruby insert create delete find

git github

エディタの変更 Git - Git の設定わかりやすいgitの使い方 introduction-to-git/03_second_commit.md at master · Shinpeim/introduction-to-git · GitHub githubとはソフトウェア開発のための共有Webサービスgitとgithubgitはローカル環境で変更履歴を」管…

MySQL git

・Userという名のテーブルのnameレコード(?)に、TestUserが追加される user = User.create(:name => "TestUser")・idを確認して番号を入れるとその中身が消える モデル.destroy([idの番号])超重要 Ruby(+ ActiveRecord)でMysqlを使うためのメモ - Qiita…

MySQL sequel pro 謎なぞ

MySQL (語句) ・データベースの列 ・・・カラム(フィールド) ・データベースの行 ・・・レコード ・SQL ・・・データベスを操作するとき使う言語 (コマンド) ・describe デーブル名" → テーブルの構造を表示 ・SELECT カラム名 FROM テーブル名 → デー…

MySQL AcitiveRecord puts " スクレイピングの裏技 ハッシュからjson

【MySQL】 ・関数を使うときは、 SELECTと文末に;を忘れない ・データベース ⊃ テーブル ・mysql上では、;で1文が終わる mysql.server start でサーバー起動 mysql -uユーザー名で接続 show databases; データベースの一覧を見る use データベース名; デー…

正規表現 スクレイピング 配列に正規表現 Datetime parse 指定フォーマットでDate タブー MySQL

【正規表現】 書き方 ・ d{n} ・・・ n桁の数字 ・ /s ・・・ 空白 参考 : 正規表現サンプル集 【DateTime.pase】 色々な数字を日付表示にできる例 5 puts DateTime.parse("199201160434") →1992-01-16T04:34:00+00:00 6 puts DateTime.parse("2015-5-13") …

map sort jsonファイルのソート ハッシュのソート 配列のソート 正規表現 data

【map】 eachの強化版 hairetu = [1,2,3,4] hairetu2 = []hairetu.each{|new| hairetu2.push(new*2)} p hairetu2 を hairetu = [1,2,3,4] p hairetu.map{|ele| ele*2 } と表記できる。 hairetu2の変数が不要になった。内部で変数に代入している。 【sort】:R…

スクレイピングエラー EUC EUC-JP NilClass src

【スクレイピング】 :Nokogiriでエラー「undefined method `’ for nil:NilClass」にハマる - 東京伊勢海老通信 ・文字の変換 HTMLの中にはEUC-JPと指定されていてもEUCとして理解できない文字コードが含 まれている事があるらしい。 → UTF-8に変換する requ…