コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

2019-05-01から1ヶ月間の記事一覧

Rubyで , 区切りの代入は配列扱い

タプルっぽい動きではあるが、そういう機構ではない。 環境 $ ruby -v ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18] どういうものか a,b = 1,2 のような記述の話。 上記のような個別になるが、格納先がひとつだと配列として入る…

『銀座Rails #9』に行ってきたよメモ

仕事が忙しいのでさらっと参加でしたが、銀座Rails#9 @リンクアンドモチベーション - connpass に行ってきたメモ 各発表の感想 Rubyで再実装するライブコーディング 文字通りライブコーディング 実演されたこと Grow.rb でやっているRubyのメソッドをRubyで…

Railsで公につかっていいAPIかどうかは RailsのRdoc を見るとよさそう

自分のためのメモ 当該サイト Ruby on Rails API このサイトにあるものは API ドキュメント作成ガイドライン - Rails ガイド で紹介されているがRdocで生成されるドキュメントファイル。こちらもOSSとしてメンテナンスされているものである。 知ったきっかけ…

Webサービスでテスト項目書に基づいてテストするとき、テスターにやさしいテスト環境を考える

この前はデバッグの起票に関して書いたけど、今回は用意するべき環境の心構え的メモ テストのために望ましい環境とは 主に心がけたいことは以下 確認に必要なテストデータが入っている、入れることができる 既存環境からの拡張であれば、既存環境に近い状態…

生年月日の英訳はbirthdateのほうがニュアンスとしては正しい

Userテーブルとかに入れがち名前なのでトリビア的メモ 辞書曰く birthday 主な意味 誕生日、 - birthdayの意味・使い方・読み方 | Weblio英和辞書 birthdate 主な意味 生年月日 - birthdateの意味・使い方・読み方 | Weblio英和辞書 ニュアンスとして 毎年来…

BigQueryのNewUIはクエリを実行する前に対象のバイト数が算出される

表題通り系ネタ どんな感じ出でるか 2019年時点では下記の記載だった。 親切な緑字表記 2023年時点だと 「このクエリを実行すると、349.81 MB が処理されます」のようにクエリエディタの右上に表示が出るようになった これが出ると何が嬉しいのか BigQueryは…

バグ報告をするときに書き留めておきたい項目

自分の経験値をアウトプットするシリーズ 改修者にやさしいバグの報告とは 何かしら「バグってる!」と思ったとき、それは直さなければいけないのだが、それを直すべきか、直すためには何を書き残しておくとよいのかというのは人によって観点はバラバラであ…

APIのメンテナンス中を表現するのに503 Service Unavailable を使うと書きやすいかも

古来からの書き方を学ぶべきシリーズ ステータスコードとしての意味 状態°コード 503 (Service Unavailable)は、[ サーバは、[ いくばくかの遅延後に軽減される見込みが高いような,一時的な過負荷 またはスケジュールされた保守 ]に因り,現在 要請を取…

OpenAPI3.0でバイナリ送付のエンドポイントを書く書き方

swaggerの書き方シリーズ。ユースケースとしては画像をアップロードするAPIなどの想定。 環境 openapi: 3.0.2 書き方 content: multipart/form-data: description: "画像登録するときのマルチパートフォーム情報" type: object properties: fileName: descri…

OpenAPI3.0でサクッとドキュメントを作るならSwaggerEditorでなんとかなるかも

久しぶりに使ったら今まで以上にすごい使いやすかったのでメモ 環境 https://editor.swagger.io (ネット上で提供されているものは特に記載がない…) 良いポイント 強力なサジェスト 予約後の補完はもちろん、既存定義をひっぱってくる $ref などではすでに定…

Rubyでサッとカウントアップのループを書く書き方

本当にメモ書きレベルのトリビア 環境 $ ruby -v ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin18] 書き方 範囲式の x..y を使って書く 例 (1..4).each { |inc| p inc } #1 #2 #3 # カウントダウンしたい場合 reverse_eachを使うこともできるが…

Gemfile.lock内にはbundlerのバージョンをトラッキングする記述がある

なんだろうこれと思って調べたのでメモ 環境 $ bundler -v Bundler version 1.17.2 どういう記述か Gemfile.lockに以下の記述がある BUNDLED WITH 1.17.2 bundle install したときのbundlerのバージョンが記憶される。 アップデートしないといけない例 Gemfi…

Railsのroutesはスクリプトを書いて凝った記述でフィルタリングすることができる

へー、こんな書き方ができるんだというメモ 環境 $ bin/rails -v Rails 5.2.2.1 やり方 ※Rails のルーティング - Rails ガイド より引用 routes.rbには以下のように書く Rails.application.routes.draw do get '*path', to: 'blacklist#index', constraints:…

クエリストリングで配列を表現をするケースをざっと調べる

これどこだと通用するの?と思ったので軽く調べる TL;DR PHPが言語デフォルトで相互変換でき、Railsだとそれに親しいことができる機能がある。 対象とする表記 下記のようなクエリストリング http://example.com/home?values%5B0%5D=zero&values%5B1%5D=one&…

204 No Content は Body部に何も入らないのが仕様

意図的に入れてもダメなんだっけ?というのを調べただけ 出典元 204 応答は、メッセージ本体を包含できない。 そのため、ヘッダ節の後の最初の空行で終了される。 - RFC 7231 — HTTP/1.1: Semantics and Content - 6.3.5. 204 (No Content) (日本語訳) 懸…

Faradayで普通のフォームのようなPOSTする

すげー当たり前だけど、Faradayがらみは application/json の事例しかないので改めて書いてみる 環境 faraday (0.15.4) 考え方 POST リクエストは、ふつう HTML フォームを介して送信され、サーバーに変化をもたらします。この場合、 <form> 要素の enctype 属性も</form>…

郵便番号は必ず1つの住所文字列が導き出せるわけではない

知っておくと実装時に困らないトリビア 調べ元 郵便番号検索 - 日本郵便 例 1つだけの例 普通のケース、たとえば 263-0013 は 千葉県千葉市中央区中央 のみ 複数の例 321-0951 の場合 栃木県宇都宮市越戸 栃木県宇都宮市越戸町 という2つのケースがある 他に…

Railsにおける数値のto_sバリエーションをざっとまとめる

いろいろあるけど項目ごとにざっと見れるやつってあまりないので書いてみる 環境 $ bin/rails -v Rails 5.2.2.1 種類 電話番号 1234567890.to_s(:phone) #=> "123-456-7890" (当たり前だけど)0始まりは数値だと許容しないからできない 0123456789.to_s(:phon…

bashで乱数を使いたいときは$RANDOMという変数が用意されていいる

表題ですべてを言い切るシリーズ 環境 $ bash --version GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin18) Copyright (C) 2007 Free Software Foundation, Inc. 使い方 $ echo $RANDOM 10931 他のシェル zsh 同じ名前で存在する % zsh --versio…

ダークローンチ(リリース)/フィーチャートグル とは何かざっくり調べる

そういや認知度低いなと思い改めて調べる 意味 リリースと同時に機能を開放せずに別の方法で新機能を開放する手段を提供する 特定の条件下や特定の割合で新機能を試し、検証を行う 間違えやすい言葉 カナリアリリースともニュアンスが近いが、カナリアリリー…

『レガシーをぶっつぶせ。現場でDDD!』に行ってきたよメモ

レガシーをぶっつぶせ。現場でDDD! にいってまいりましたのでメモ。 今回はDX(デジタルトランスフォーメーション)レポートに取り上げられていた技術的負債の塊であるレガシーシステムに立ち向かうためのDDDということで現場のどろどろ感を出してくイベン…

組織としてのセキュリティ対策を考えるときに見たいスライド『知らなかった、時に困るWebサービスのセキュリティ対策』

speakerdeck.com 直近でも記憶の新しいRailsの脆弱性、そのような脆弱性を含めたセキュリティインシデントは思いもよらぬ形で起きうるもの。そういったインシデントに対してどう構えれば良いのか、またどういう心構えでいればいいのかというのを組織として考…

GitHub上でやりかけのPRにはDraft機能を使うと幸せになれる

こういう機能と使い方もあるというただの雑記 GitHubのDraft機能とは Draft Pull Requestをリリースしました - The GitHub Blog - Japan DraftにするとPRの表記がDraftになる DraftがOpenになるまでマージできない 使い所 純粋にWIPのブランチ対するPR Descr…

RailsでのRSpec実行時乱数の状態を実行毎に変わらないように固定する

RSpecでsampleするとコケるんだけど特定しづらい…みたいな奴を解消する。 環境 $ ruby -v ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin18] $ bin/rails --version Rails 5.2.2 $ bundle exec rspec --version RSpec 3.8 - rspec-core 3.8.0 - r…

RailsでCrossOriginの設定をする場合は rack-cors のgemを入れればすぐ終わる

APIモードで作らなかったので、異なるドメインからアクセスされるAPIをやるために Access-Control-Allow-Origin とか設定せねば…とか思ったらすんなりできたのでメモ 環境 $ bin/rails --version Rails 5.2.2.1 使うgem cyu/rack-cors: Rack Middleware for …

ルーチンワークの枠を外れると、それは回らなくなる

1日休み文脈の日記です。 1日1記事のここ2ヶ月 かれこれ初めて1年経過しましたが、4月に入ってから1週間ビハインドがザラになっています。奇跡の10連休でなんとか遅れを挽回しました。 本当は昨年の5/1から始めたので、そのときまでにはリアルタイム更新に戻…

CSSの!importantはなるべく使わないためには

CSS

案外、これに関して言及しているところがないので書いてみる CSSの!importantとは CSSの反映されるものを決める 詳細度 という概念があるが、そこで決まる順番とは関係なく設定できる記述 例 cssは後勝ちなので、後の記述のほうが優先されるが、以下の例の場…

RCE(Remote Code Execution) をざっと調べる

意外と日本語情報がないので調べる リモートコード実行とは 文字通り遠隔から任意のコード実行ができる脆弱性のことを指す。 起きると何が怖いか リモートでコードが実行できるということは自由にセキュリティの穴を作ることができる sshができるようにする …

Rails開発中にでfsevnetが増殖したときの応急処置

gemのバージョンがあげられないんです、とかそういうときの暫定対応。2日連続応急処置ネタ。 環境 $ ruby -v ruby 2.3.4p301 (2017-03-30 revision 58214) [x86_64-darwin18] $ bin/rails --version Rails 5.0.2 listen (3.0.8) rb-fsevent (~> 0.9, >= 0.9.…

Mac環境で開発するときに別プロセスが立ち上がるような処理をやると動かなくなるときがあるのでその応急処置のしかた

Macのローカルマシン開発ならでは、という感じのメモ。はよDocker化… 環境 $ ruby -v ruby 2.3.4p301 (2017-03-30 revision 58214) [x86_64-darwin18] $ bin/rails --version Rails 5.0.2 起きること bin/rails s で立ち上げた場合に objc[36474]: +[__NSPla…