2018-05-01から1ヶ月間の記事一覧
変数の初期値代入 nullチェックしてなければ代入みたいなコードを 簡略化して書くと以下のように書くことができます。 base = "default string" insert = null result = insert || base // resultには"default string"が代入される ただし数値で使うと予期せ…
あくまでも私はこうしているよシリーズ。 let(:keys){ "id" , "updatedAt", "createdAt" } it "マッチするか" do # 何かしらチェックしたいhashを降り出す hash = subject # Array化したキーとチェック対象がマッチしていればある expect(hash.keys).to matc…
定数を管理する config といgemがあるが、これはハッシュを指定すると上書きできる。上書きできるのでテストするときは上書きするなどの行為ができる。 ※普通のソースコード上ではsettingsの旨味なくなるのでやらないこと 環境 rails (5.2.0) config (1.7.0)…
突然SEO知識を要求されるエンジニアです。 今回はメタタグ、noindexに関してのメモです。 概要 タグとしての役割 検索エンジンのクローラーBot達にインデックスしなくていい(≒検索エンジンの検索結果に反映しなくていい)よとお知らせするためのタグです。 書…
タイトルがすべてを語っているTips。 ケース すでにexportした環境変数を永続的に使うために書き出したい echoして /etc/environment などに書きたい sudoしなきゃいけないのでただのリダイレクトだとできないので他の方法でやりたい シェル芸でなんとか設定…
先日、とある人と会話していたときにふと思ったが、Webサイトを作る上のドメイン知識って ホームページはどうやって作られているか、HTMLとはなにか 動的ページと静的ページの違い PC向けとスマートフォン向けで考えねばならないUXとは何か みたいなものって…
デバッグ用途で binding.pry を入れたはいいが、ループ内に仕込んでしまったので exit をしてもずっと聞かれ続ける しかも Ctrl + C とかでも止まらないし…みたいな人ためのメモ 方法 exit! もしくは !!! 参考リンク binding.pry 使ってる時に、一気にループ…
BigQueryはSQLだし、手元に違う形でクエリを残しがちだけど、普通にUI上で保存したり共有したりすることができる。 クエリの保存と共有 | BigQuery | Google Cloud プロジェクトで保存すると、同じBigQueryを覗ける人はリンクさえわかれば編集もできる。 編…
Railsのデフォルトで大量のデータをinsertすると、1レコードずつinsertするのでDBが悲鳴をあげる可能性がある。それを防ぐgemとして activerecord-import があるのでそれを使う。 このgemはupdateも一気に出来るのでそれも紹介する。 環境 rails (5.1.5) act…
こんなTweetがあった リプレイ保存の仕組みって、コントローラー情報を直接メインループで見るんじゃんなくて、プレイヤークラス的なのを作ってそこからメインループにコマンド送るようにしておけば、コマンドデータを保存するだけでプレイを再現できるよう…
業務がめちゃくちゃ忙しい最中だったが、あしたの現場で役立つ「システム設計の原則」と「越境」のはじめかた - DevLOVE | Doorkeeper に行ってきましたのでメモ 発表メモ speakerdeck.com 上のスライドベースで 現場で役立つシステム設計の原則 の著者 増田…
現在過去あまりやったことがない感じでTDDライクな開発をしているんですが、すごい不安材料の消しやすさが楽。 いままでは 実装する その機能を実際に動かしてみる 止まったりしたらデバッグログ仕込んで直す 何度か動かして解決 デバッグログを消す みたい…
MySQLの出力結果を非エンジニアに渡すときなどはExcelなどにはると思うのですがそういうときの話。 意外と知らない人は知らないのでメモがてら。 結論 MySQLの出力結果をテキストエディタなどに貼り付けて | を \t (タブ文字)に変換する。 原理解説 Excel(…
実はTimecopはいらなくなったという話題の実践編 環境 rails (5.1.5) rspec (3.7.0) やり方 helperに追記 rails_helper.rbのお好みのところに追加 RSpec.configure do |config| # 中略 config.include ActiveSupport::Testing::TimeHelpers end 使い方 trave…
新規作成の説明はたくさんあるのに、既存を開く場合は割とググっても出てこないのでスクショを混ぜて紹介 サンプルに使ったIDE RubyMine 2017.3 やりかた Githubのアカウントを設定する 落としてきたいリポジトリを選択する VCS > Checkout from Version Con…
絶対継承後のクラスは実装しろ!!!いいな!!! みたいなJavaでいうところのInterfaceみたいなものを実装したいとき やりたいこと 子クラスで必ず実装させる義務が発生するメソッドを作りたい。 やりかた 親クラスで引き継がせたいメソッドで NotImplement…
Sorcery とか使っていると 『アクティベーションのユーザ』 みたいなオブジェクトが欲しくなるのでそういうのの書き方 環境 rails (5.1.5) factory_bot (4.8.2) factory_bot_rails (4.8.2) やり方 after(:create) のコールバックを活用する 例 Sorceryを交え…
やり方が全然書かれていない、いやシェル界ではよくある話なのかもしれないが… 環境 $ docker --version Docker version 18.03.1-ce, build 9ee9f40 $ docker-compose --version docker-compose version 1.21.1, build 5a3f1a3 コマンド 2回指定するだけ。 d…
パスやルーティングを調べたいときのあれこれ 環境 gem "rails", "~> 5.1.5" ルーティングを調べる bin/rails c でコンソール立ち上げたあとに以下 > show-routes controller名に基づくパス生成ができるか確認 # hoge_controller.rb とかだったら > app.hoge…
docker-composeとかで立ち上がったファイルの中身を覗きたいとか、見たい場合 コマンド docker-compose exec {{docker-composeで指定しているサービスの名前}} bash 例 docker-compose.yml が下の場合 version: '3' services: db: image: mysql:5.7 volumes:…
swagger-codegenって便利なんだけど、サポート言語と歩調併せている関係か部分的に最新版じゃないかったりする。なんでそれを歩調合わせたときのメモ やりたいこと 最新版のswagger-toolsでお手軽モックサーバを立ち上げたい 問題 最新版のswagger-toolsは1.…
本番のRailsアプリケーションで直接MySQLで調査したい時に mysql -p -u みたいにやると長いパスワードのときにつらいのでそういうときのためのコマンド $ bin/rails db -p
すべてのキーをローワーキャメルに変換したいときってあったりなかったりするのでメモ コード # hashのキーを全てlowerCamelに変換する # @param [Hash] hash 変換元のハッシュ # @return [Hash] 変換後のハッシュ def lower_camel_key_hash(hash) hash.each…
表題の通り、Qiitaに投稿した。 RSpecでエラーが起きたあとの状態をテストするときの問題点と回避案 - Qiita 一応記事内では蛇足になりそうだったのでなんでこんなものを書いたのかの編集後記的補足。 今回実環境でやりたかったこと サービスクラスを実装し…
世界基準の時間で入れようという気持ちが働いた結果、UTCでデータレイクに保存されていることがある。 ただ、集計で絞りたいときは大概日本時間なので、そういうときに書き換えるクエリ。方法論は色々あるけど直感的に書ける書き方。 前提条件 STANDARD SQL…
RailsのTipsとか書いていると 他のブログでも書いてるじゃん とか そんなん本腰入れて調べれば出てくるじゃん みたいな部分はあるんですが、これは自分自身の反省があって 他愛でもないことでも書こうかな と思った次第です 記憶のindexとして 5営業日あった…
エラーページって何がでるんだっけ、という確認をしたい時に。 デフォルトでは # config/environments/development.rb # Show full error reports. config.consider_all_requests_local = true developmentだとこの設定がtrueになっているのでfalseにする こ…
bin/rails c でコードの挙動を見ながら直すときに、逐一 exit をして再読込するのはめんどくさい。 そのときに使うのが reload! [1] pry(main)> reload! Reloading... => true みたいになって再読込される。 ただし reload! 以前に変数代入したオブジェクト…
技術的なことメインで書こうとするとなかなかネタが続かないのと、書く時間がとれない(今も翌日に前日分書いている始末) 日頃からネタをためておかないとダメだなということで今日の記事は箸休め的なもので、明日分はちゃんと書きます。。 今日書きたいこ…
最近の開発はもっぱらRuby On Railsなんですが、Docker化したほうが便利だろうという大雑把な考えから導入を頑張ってみた。 頑張った結果、起動出来るまでには至ったのだが凄まじく重い。どうやらホストマシンであるMacをマウントをすると重いらしい。 ただ…