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

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

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

  • 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ではメソッドは、なるべく分け [続きを読む]
  • 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 [続きを読む]