やっくる さん プロフィール

  •  
やっくるさん: Rock&Hand
ハンドル名やっくる さん
ブログタイトルRock&Hand
ブログURLhttp://www.tom08.net/
サイト紹介文岩手県でリモートワークで、ITエンジニアしています。プログラミングから地方生活について。
参加カテゴリー
更新頻度(1年)情報提供186回 / 365日(平均3.6回/週) - 参加 2016/04/23 17:37

やっくる さんのブログ記事

  • RailsでBASIC認証をかける
  • before_action :authenticate_admin if Rails.env.staging? def authenticate_admin authenticate_or_request_with_http_basic('A
    dmin') do |name, password| name == 'ana-ri' && password == '20130524sp' end endhttp_basic_authen
    ticate_with name: 'user', password: 'password'上の方法で書かれているblogが多いけど、railsガ
    イドは下の方法です。 [続きを読む]
  • Railsで定数管理をどうするか?
  • Railsで定数管理をするとき皆さんはどうされてますか?私は最近eash_settingsというgemを使っています。github.comconfig/settings.ymlを作成して、そこに設定したい定数、管理値を記述していくだけです。log_level: infoother_service: endpoint: https://myapp/api/v1 apikey: API_KEY_XXX secret: SECRET_KEY_XXXdemo_users: - erbも書けます。呼び出しは至って簡単。EasySettings.other_service#=> {"endpoint"=>"http [続きを読む]
  • Seleniumでchromeを動かす
  • Chrome driverをinstallするsites.google.comここから最新版のChromeをダウンロードします。PATHの通っている場所に移動しますsudo mv ~/Desktop/chromedriver /usr/local/bin/chromedriverコンソールで試すrequire "selenium-webdriver"driver = Selenium::WebDriver.for :chromedriver.navigate.to "https://google.comこれでchromeが立ち上がればOKです! [続きを読む]
  • スクレイピングことはじめ、Rubyで先物の4本値を取得する
  • 先物投資をやっているのですが、毎日4本値を調べるのが面倒。スクレイピングの練習がてら取得するスクリプトを書いてみました。スクレイピングを使えば、取得したい情報を抜き出して、好きな形に整形してメールでもslackでもブログに投稿でも好きなことができます。プログラミングで身近に実利を感じやすい分野でもあります。参考書籍はこれ。Rubyによるクローラー開発技法作者: 佐々木拓郎,るびきち出版社/メーカー: SBクリエイ [続きを読む]
  • リモートワークの最大のデメリット
  • それは運動不足リモートワークはじめてもうすこしで1年が経過します。はじめはリモートワークといっても、通勤をしていたのでふつうの会社員と変わらない生活を送っていました。10月くらいに転職をして、在宅リモートワークに。通勤時間も0で、朝食と夕食は家族といっしょにとることができます。1歳の娘と毎日入浴できるのは幸せだったりします。新卒で入社した営業では出張がけっこうあったし、飲み会がめちゃくちゃ多かった [続きを読む]
  • プログラミングは英語もできなきゃだめだ!
  • 英語を疎かにしていたツケが、、毎日プログラミングしているし、レビューも丁寧にしてもらっているのでRubyのコードはそれなりに書けるようになってきました。最近のコードレビューでRubyのコードの指摘よりも、カラムの命名やメソッドの命名で指摘を受けることがめちゃくちゃ多いです。。そりゃあそうなんですが。だって、学生時代に「英語なんか使わん!」と英語は全然勉強してきませんでした。テニスばっかりやっていて、勉強は [続きを読む]
  • Railsでカスタムフォントを使う時の指定方法
  • 結構ハマりました。いろんな記述がありますが、これでいけます。カスタムフォントファイルの配置方法app/assets/fonts以下に配置します。CSSでfontのurlの指定方法src: url(‘/assets/fontfile_name.eot’)のように指定します。/assets/fontsじゃないのがあまり直感的でない、、、@font-face { font-family: 'FontAwesome'; src: url('/assets/fontawesome-webfont.eot?v=4.1.0'); src: url('/assets/fontawesome-web [続きを読む]
  • Railsでhas_manyのオプションについてまとめてみた
  • has_manyで子モデルが存在するときに,削除できないようなvalidationを入れたくて、調べたメモです。has_manyのオプションdependentオプションを使います。親モデルが削除されたとき、ひもづく子モデルがある場合、例外を発生させる =>dependent: :restrict_with_exception今回はこれを使いました!親モデルが削除されたとき、ひもづく子モデルがある場合、エラーを発生させる => dependent: :restrict_with_error親モデルが削除 [続きを読む]
  • Rubyで初級者から初級中者になるために
  • コードレビューしてもらったメモです。Rubyは色々な表現ができるので、自分は理解できてもチーム内でわかりづらいコードを書いてしまいがちです。初級者の自分は、Rubyでワンライナーで書けて「ワンライナーで書けた!」と喜んでしまいがちですが、それが必ずしも良いとは限りません。これで処理の意味がわからなかったら、チーム開発ではあまりよくありません。処理を1つのメソッドに詰め込まないRubyではメソッドは、なるべく分け [続きを読む]
  • Railsのvalidationで複数contextを指定する方法
  • validationにcontextを指定しておくと、vaidationを切り替えることができます。例えば、ユーザー作成時とユーザープロフィール変更時にvalidationを切り替えたい時などに使えます。 with_options on: :registrations_new do |new_record| new_record.validates :email, confirmation: true new_record.validates :password, confirmation: true new_record.validates :first_name, presence: true new_record.validat [続きを読む]
  • Railsでincludesをしなかったらクエリ数が異常に多くなった
  • Railsで開発をしていると、必然的にActive Recordを使うことになると思います。Active Recordを使うとSQLを書くことなくDB問い合わせができるので、便利な反面、SQLや、キャッシュ、メモリを理解していないとパフォーマンスが悪くなってしまうことがしばしばあります。自分もまだ全然理解できていません。今回1万件のデータをCSV生成する際に、関連モデルが多数あるモデルからallで引っ張ってきた場合と、関連テーブルとincludesし [続きを読む]
  • WindowsにRubyをインストールする方法
  • WindowsにRubyをインストールする方法です。installerが用意されているので、めちゃくちゃ簡単でした。参考にした記事は↓です。qiita.comこの通りに行けました。つまづいたことdownload先をdownloadディレクトリにしたのですが、windowsのコマンドプロンプトでmacのようにcdコマンドを打ちましたが、どうやらWindowsにcdコマンドはないようでした。調べてみると、ディレクトリ移動はchdir、lsコマンドはdirと打つようです。これか [続きを読む]
  • リモートワークと温泉
  • 金曜日に温泉に行ってきました。www.aishinkan.co.jp行ってきたのは、盛岡にある温泉です。自宅から車で40分ほどで行ける温泉旅館です。金曜日で有休をとって行ったわけではなく、温泉で仕事をしました。午前中はいつも通り自宅で勤務して、お昼休みの時間に移動をしました。チェックイン前でも広めのロビーを使ってもOKだったので、午後の仕事は温泉で実施です。リモートワークなら好きな場所で働ける自宅でモニターがある環境で [続きを読む]
  • AWS SQSメモ
  • # http://docs.aws.amazon.com/sdkforruby/api/Aws/SQS/Client.html#receive_message-instance_methodaccess_key = ENV['AWS_ACCESS_K
    EY_ID']secret_key = ENV['AWS_SECRET_ACCESS_KEY']Aws.config[:credentials] = Aws::Credentials.new(access_key, secret_
    key)sqs = Aws::SQS::Client.new(region: 'us-west-2', credentials: Aws.config[:credentials])queue_url = ENV['AWS_SQS_
    URL']def getSQSMessage(sqs,queue_url) begin [続きを読む]
  • ransackで'1'や'0'を渡せない
  • Ransackで自分で定義したscope使う時に'1'や'0'を値として渡せない検索値に1を渡すとArgumentError (wrong number of arguments (0 for 1))が発生します。Wrong result and errors for join/group/having scope with certain values (0 and 1) #502Issue502module Ransack module Constants: TRUE_VALUES = [true, 1, '1', 't', 'T', 'true', 'TRUE'].to_set FALSE_VALUES = [false, 0, '0', 'f', 'F', 'false', 'FALSE'].t [続きを読む]
  • RubyのCSVでnew fileの時だけheaderをつける方法
  • CSVでnew fileの時だけheaderをつける方法です。header,write_headersオプションを使うheaderオプションで、headerにしたい文字列を配列で渡します。write_headersオプションはtrueを渡した時にheaderが挿入されるので、ファイルが存在しない場合、つまりnew fileの時だけtrueを渡してheaderを挿入します。ファイルが存在する場合はfalseを渡して、headerを挿入しないようにします。file_path = "file_path"header = %w(date time [続きを読む]