コード日進月歩

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

雑記

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

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

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

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

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

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

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

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

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

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

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

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

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…

普通のRubyはクラスの定義は何回でも書けるし後勝ち

Railsのmoduleのことがわからなすぎて繰り返しやってたら気づいた程度のメモ 環境 $ ruby -v ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin18] 事例 module Oya; end class Oya::KodomoA def self.call p "Say1" end end module Oya class Kodom…

WORKDAY関数を駆使して人日工数の稼働開始日から終了日を割り出す

昨日の発展編。WORKDAYに関してはこちら参照のこと WORKDAY関数の仕様 WORKDAY関数の仕様は以下 経過日数を設定する「日数」の数値を0にすると休日判定かかわらず「開始日」の値になる 日数のカウントは当日が含まれない。そのため、1を指定すると翌日の値に…

休みの際の対応フローを考えるときのはじめの一歩

連休前なので自分の知識整理を含めた「障害対応の体制づくりを考えるときにまず何から考えるべきか」という内容の雑記です 考えること トピックとしては3つ どれくらい止まってもいいのか 有事の際の連絡系統、意思決定系統はどうするべきか 何かあったとき…

Slackのアイコンの出元は JoyPixels (旧:EmojiOne)

あれって元あるんだっけ的なメモ記事 JoyPixelsとは もともとはEmojiOneとしてオープンソースとして公開されていた絵文字アイコン集。 名前を変えた理由はブランド戦略の一環の様子(参考リンク参照) 何故オープンソースではなくなったのか 公式のQAのリンク…

CircleCI2系のdocker記述を使う場合、メインで使われるのは1個目のimageの模様

パッと見わかりにくい仕様だし、存外にdocker-composeライクな記述例がないので書いてみる。確信があんまりないのでタイトルも「模様」。 環境 今回やったversionは2.1からのexecutorの機能 情報元 The first image listed in the file defines the primary …

DockerでRailsを運用するときにnginxおいているのかを事例で見てみる

本番環境でやるとき、みんなどうやっているんだろうというメモ 事例 その1 Railsとnginx同居 Docker を本番環境で4ヶ月運用して分かった HARD THINGS – Stay Creative ! nginxとRailsを同じDockerImageに入れる。多分1プロセス1コンテナの概念から考えると…

DockerでRailsを運用するときにnginxおいているのかを事例で見てみるメモ

各社どうやっているんだろうというメモ 事例 その1 Railsとnginx同居 Docker を本番環境で4ヶ月運用して分かった HARD THINGS – Stay Creative ! nginxとRailsを同じDockerImageに入れる。多分1プロセス1コンテナの概念からズレるので微妙さは満点 その2 ng…

Railsにおけるto_jsonとas_json

真面目に調べたことなかったのでメモ 環境 $ bin/rails -v Rails 5.2.2.1 違い as_jsonはJSONに近いハッシュに変換してくれる、to_jsonはその更に先で完全に文字列化してくれる 例 対象となるハッシュは以下 demo_hash = {hoge: "huga"} #=> {:hoge=>"huga"}…

ActiveRecordの強みと弱みを見つめ直す

RailsのActiveRecordってなんでいいんだっけ?ということを見つめ直す。 そもそもActiveRecordパターンとは Martin FowlerのPatterns of Enterprise Application Architecture(通称 PofEAA)にて紹介されたデザインパターン An object that wraps a row in a …

非エンジニアの人にも教えておくと文章表現の幅が広がるSlackの記法

主にSlackでこれだけは使い方を覚えておくと文章表現に幅が出るよねっていう雑なメモ バッククォート(`) MarkDown記法ではおなじみ```の記法 長文とか 要点とか で使うとかなりメリハリがでる。 ただしモバイルだと残念な見た目になるのがたまにキズ 大な…

スクラム用語としてのユーザーストーリーとプロダクトバックログの違いを自分なりにまとめる

なんかスクラム畑の人がプロダクトバックログって言葉を使わないので自分の知識が間違っているのかも…という観点での再整理 プロダクトバックログとは プロダクトを作成するにあたっての要求事項を順番に並べたリスト。 - 5分で分かるスクラム用語集 | Ryuze…

Slackでランダムに返事するだけのBotだったら簡単に作れる

めっちゃ簡単だったのでお茶濁しメモ(令和ネタもエイプリルフールもない平常運用です。) やりかた ワークスペースのカスタマイズから選択ができる 改行するといずれかの行をしゃべる 謎の仕様 !や。など記号は無視される、ので反応してしまう 参考リンク …

GitHubを使うのであればコミットメッセージの3行目以降を使ってWhyを表現するといいうかもという話

2日連続でGit運用系の話。 つらいコミットログ 意図がガチでわからんのコミットメッセージ wip review fix bug fix これだと、「何のための」WorkInProgress(wip)なのか「どの」Review fixなのか、「どんな」Bug fixなのかがわからない。 そのため、「コミッ…

PullRequestを出したブランチにそのままブランチを切ってを繰り返して開発すすめてしまうと、PRのマージ順番をしくじった場合に意図違いになるので控えてほしい

あんまり得策でないのでやめてほしいということと、しくじるとえらいことになるということを書きたかった雑記。なおこの文章内でのPRとはPullRequestの略。 やめてほしいこと こんな流れ ブランチtopicを切って開発開始、すべての機能が整うまでここにマージ…

MacOSのExcelは図形の範囲複数選択(オブジェクト選択)が無い、がフェンリルさんが似た機能のマクロを配布している

タイトル出落ちメモ記事 今回対象のExcel 無い機能 図形の複数選択、Windows版のアイコンは下記のようなやつ Excel200x系から奥まった位置に動いたりと何かと見失いがちな彼なのですが、シーケンス図とかをExcelで用意されたりすると改変するときに欲しくな…

QCDと荒ぶる四天王

QCDと荒ぶる四天王を比較で書いてみただけのメモ QCDとは 生産管理のQCDとは英語の「Quallity」「Cost」「Delivery」の3つの言葉の頭文字をつなげたものであり、日本語にすると「品質」「コスト」「納期」となります。 これらは製造業において最も重要な概念…

Webアプリにおけるエイジングテストを考える

「エイジング」って言葉がとっさに出てこないので調べた結果と、ぼんやり考えてみたことをまとめた小ネタ的雑記 起源 エージング(エイジング)とは - IT用語辞典 e-Words エージングとは、機械や電子機器などの出荷前に行われる稼動試験、または、使用開始…

マジックナンバーの起源をざっと調べてみた

英語のWikipediaに書いてあったので雑学的なメモ 出典 Magic number (programming) - Wikipedia Wikipedia曰く 詳しく理解できていない部分は多分にあるが、Unixの第6版のときにヘッダの分岐構造における定数値において、理解しづらい定数値の値をセットして…

よい当たり前を維持する努力

日曜日なのでちょっとポエミーな雑記です 急場しのぎのコード 「リリースを急がなければならない」 この言葉が免罪符となり、分割がちゃんとなされていないロジック、そばしのぎのマジックナンバー、再利用性を無視しした同一意義のメソッドの乱立、そしてか…

アプリケーションプログラミングインターフェースの使い心地

APIを考えるときはインターフェイスの使い心地がよくなるように考えましょうという話。 使い心地の良いインターフェースとは きのこ本に以下のようなことがある 良いインタフェースとは次の2つの条件を満たすインタフェースのことです。 正しく使用する方が…

何故コードレビューはするといいのか、何故コードレビューは難しいのか

日曜なのでポエミーな雑記です。 何故コードレビューをやるのか 大きくは2つある 機能的な仕様を満たせているかのチェック そもそもの機能要件を満たしているかのチェック 書いたコードが要求仕様に沿ってなければ意味がない。 機能要件におけるバグの有無も…