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

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

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

  • AWS S3のテストをする際にresponseをstub化する
  • amazonのs3をrails app内で使用しています。テストを書く際もs3にputする必要ないですよね。はじめはclass_evalで該当コードをオーバーライドしていたのですが、まじでいけてない!オーバーライドするメソッドが修正になったらテストも修正しないといけない!と思ったら、aws sdk rubyにちゃんとstubの機能が用意されていました。 Aws.config[:s3] = { region: 'ap-northeast-1', credentials: Aws::Credentials.new( [続きを読む]
  • Rails5のturbolinksでjqueryが動かないときの対処法
  • www.d-wood.comこちらの記事を参考にさせていただきました。before画面遷移直後にjqueryのtoggleが動作
    しませんでした。画面をリロードすると動くようになります。document.addEventListener('turbolinks:load
    ', function() { componentHandler.upgradeDom();});$(function(){ $(".search-box__toggle").on("click", fun
    ction() { $(this).next(".search-box__contents").slideToggle("fast"); });});aftereventlistenerの中 [続きを読む]
  • Ruby Goldで92点をとって合格する勉強法まとめ
  • もう数カ月前ですが、Ruby Goldに合格したので勉強方法をまとめます。対策さえすれば合格できる試験だと思います。Ruby silverはメソッドなど覚えることが多いですが、Ruby Goldはメタプログラミングの仕組みを覚えればいいので、覚える量としてはsilverより少ないと思います。まずは公式問題集公式の問題集は完璧になるまでやりました。また、解説の部分も読み込んだ方がよいと思います。[改訂2版]Ruby技術者認定試験合格教本(Sil [続きを読む]
  • Deviseのmailerでlayoutを適用する
  • initializersに設定するHow To: Create custom layouts · plataformatec/devise Wiki · GitHubconfig/initializers/dev
    ise.rbDevise.setup do |config| config.mailer_sender = ENV['MAIL_FROM'] # passwordリセット後にメール通知す
    る config.send_password_change_notification = trueend# deviseのmailer layoutを設定するRails.application.config.to_prepare d
    o Devise::Mailer.layout 'mailer'end [続きを読む]
  • jbuilderでもlayoutファイルを使いたい!
  • Railsでviewを書く時、application.html.erbを大枠のlayoutファイルとして、yieldしてviewを書いていきますよね。jbuilderでも同じことをしたい!と思ったのでlayoutファイルを作ってみました。APIモードでrails newしていたので、必要なmodule群をincludeする必要があります。# app/controllers/application_controller.rbclass ApplicationController ActionController::API include ActionController::ImplicitRender include [続きを読む]
  • エクセルのシートの保護を解除する方法
  • パスワード解除ソフトは使わない自分でかけたエクセルのシートの保護のパスワードを忘れてしまいました。自分で書いた関数がわからなくなってしまったので、解除をしてみました。パスワード解除系のソフトは使いません。ExcelブックはZipExcel 2007 以降の Excel ブックは Zipで解凍して中身を編集し、再度圧縮すればパスワードを解除できます。書き込みパスワード変更xlworkbook.xmluserName=”saka-en” reservationPassword=”8 [続きを読む]
  • Ruby Gold勉強メモ3
  • protectedとprivate# protected以降で定義されたメソッドは、そのクラスとサブクラスのインスタンスか
    ら# 呼び出すことができる。class Foo def bar(obj=nil) # !> previous definition of bar was here foo # ok self.f
    oo # ok obj.foo # ok end protected def foo # !> previous definition of foo was here p 'foo' endendFoo.new.b
    ar(Foo.new) # => "foo"# privateはレシーバを指定することはでき [続きを読む]
  • Ruby Gold勉強メモ(2)
  • 束縛ブロックを作成すると、xのようなローカル変数を包み込むメソッドにも束縛が存在するメソッドにあるxではなく、ブロックが定義された時のxを見ているメソッドにある束縛はブロックから見えないdef my_method x = 'メソッドの中' # !> assigned but unused variable - x yield('メソッドの中のブロック')endx = 'メソッドの外'my_method { |y| "#{x} #{y} どれが出力される?" } # => "メソッドの外 メソッドの中のブロック [続きを読む]
  • Ruby Gold勉強メモ
  • インスタンス変数のスコープclass MyClass @v = 1 def foo @V end class self @v = 2 def foo @v end endendMyClass.foo # => 1 2が出力されそうだが、1が出力されるクラス変数はサブクラスでも共有されるclass C @@count = 0 def initialize() @@count += 1 end def class_variable @@count endendclass D CendC.newc = C.newD.newd =D.newc.class_variable # => 4d.class_variable # => 4Foo [続きを読む]
  • Ruby or Railsで期間内で一定間隔ごとの時間を作成する方法
  • from_delivery_timeとto_delivery_timeというtime型のカラムを持っています。この時間内で、一定間隔ごと、例えば30分毎の時間の配列を作成します。[4] pry(main)> ChefFood.first.from_delivery_time ChefFood Load (2.0ms) SELECT `chef_foods`.* FROM `chef_foods` ORDER BY `chef_foods`.`id` ASC LIMIT 1=> 2000-01-01 10:30:00 UTC[5] pry(main)> ChefFood.first.to_delivery_time ChefFood Load (0.8ms) SELECT `chef [続きを読む]
  • has_and_belongs_to_manyのdependent destroyの挙動について
  • railsのアソシエーションで中間テーブルは持つが、中間モデルはもたないhas_and_belongs_to_many関連付けがあります。この関連付けでdependent: :destroyオプションをつけた際は、中間テーブルのレコードが削除される挙動でした。関連付け名は中間テーブルではないのであまり直感的ではないですが、上記挙動をとるようです。class ChefFood ApplicationRecord has_and_belongs_to_many :tags, dependent: :destroyclass Tag Appli [続きを読む]
  • 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ではメソッドは、なるべく分け [続きを読む]