コード日進月歩

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

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

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で用意されたりすると改変するときに欲しくな…

記述箇所を愚直にgrepする方法

ただの使いたくなったとき用のメモです。 環境 $ echo $SHELL /bin/bash $ /bin/bash --version GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin18) Copyright (C) 2007 Free Software Foundation, Inc. 記述されている数を探す $ grep -r {{探し…

ActiveRecordで保存前の値を取りたいときはカラム名_before_last_saveというものがある

ActiveRecordのDirty系小ネタ 環境 $ bin/rails -v Rails 5.2.2 使い方例 今回はUserにnameというカラムがあるという形の例で説明 ActiveRecordでオブジェクトを作る、この時点ではsaveされてないのでnil。 u = User.new(name:"Taro") #=> #<User id: nil, name: "Taro", created_at: nil, updated_at: nil> u.name # => "Ta</user>…

QCDと荒ぶる四天王

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

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

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

ISO25000シリーズで定める3つの品質モデルの概要をざっくりまとめる

品質の話をまとめているのでそのついでに書くメモレベルの日記 出典 JIS X 25010:2013 システム及びソフトウェア製品の品質要求及び評価(SQuaRE)−システム及びソフトウェア品質モデル ISO25000シリーズの品質モデルとは 大きく、「利用時の品質モデ…

『Rails Developers Meetup 2019』に行ってきたよメモ

Rails Developers Meetup 2019 に行ってきたました、ので見れたものと理解できたものだけスライドとあわせて備忘的な感想メモです。 ※各発表のスライドは随時公式HPに上がってます 1日目 アプリケーションを作るときに考える25のこと スライド公開しました h…

『ドメイン駆動設計 本格入門』に行ってきたよメモ

現場で役立つシステム設計の原則でお馴染み、増田さんのDDDの話ちゃんと聞いたことなかったのでドメイン駆動設計 本格入門に行ってきたよメモ 公演の内容 ドメイン駆動設計本格入門 今日の夜の #devlove Premium のイベントで発表する資料です。内容が細かい…

ある事柄についてみんなでどう思っているかを指で表現する『ファイブフィンガー』についてざっとまとめる

書籍カイゼンジャーニーにて紹介されていたテクニックを自分なりに咀嚼し直してみる。 「ファイブフィンガー」とは チーム内での問題を見つけ出すために、ある事柄において個人個人がどう思っているかを5本の指で表現する手法。 取り組みの良し悪しなどに関…

RubocopのBundler/OrderedGemsは空行やコメント行があると反応しなくなる

rubocopってgemの順番にイチイチつっこんできますよね…みたいな記憶だけがあって実際には言われないな…みたいな話で気づいたメモ、原理までは追えなかったのでとりあえず。 前提 Bundler/OrderedGems が default で enable なので反応する 当該コード:ruboc…

RailsでフォームからじゃないPOSTリクエスト時にrenderしてみる

特異な要望を頂いたのでRailsというフレームワーク的に対応しているかの実証実験メモ。 大前提 こんな実装はおすすめできないので、素直にHTMLを表示するだけならGETリクエストを使うようにしてください…。 環境 $ bin/rails -v Rails 5.2.2 検証 Controller…

rubyでpng画像をBASE64化してHTMLに貼り付ける

話には聞いていたがやったことないのでやってみる。 環境 $ ruby -v ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin18] やり方 png画像をBASE64に変換する こんな感じで対象画像をtarget.pngという名前で配置 $ tree . ├── convert.rb └── target…

SlackにGithubを設定するときのコマンド

だいたいいつもやり方を忘れるのでチートシート やり方 GitHubのプラグインを入れる 下部のAppから GitHubを選択して インストール 対象のリポジトリを選択する 仮に shinkufencer/moshi2police を対象にしたい場合は /github subscribe shinkufencer/moshi2…

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

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

GitHubのコミットメッセージの考え方を整理したいときに読みたいスライド『Rails コントリビューションから学んだ Git / GitHub 術』

期末とロール転換でエンジニア的な仕事が減っているのもあり、スライド回顧録です。 speakerdeck.com 動画版は下記 おはようございます。本日公開の動画(1/2)は、株式会社永和システムマネジメント @koic さんによる『Rails コントリビューションから学ん…

Googleには重厚な「評価ガイドライン」がある

Googleの検索品質には綿密なガイドラインがある。という紹介だけ。 リンク元 https://twitter.com/searchliaison/status/1050447190320009219 どんな内容なのか 大きく3つのパートに別れ、さらにブレイクダウンしている Part 1: Page Quality Rating Guideli…

エンドユーザからみた製品の品質をわかりやすく表す「狩野モデル」についてざっくりまとめる

品質の話を最近やるので 「狩野モデル」とは エンドユーザの満足度を縦軸、横軸を物理的な充足を縦軸とした二軸で品質のカテゴライズをするモデル。 狩野モデルの図 大きく3つに分かれる 当たり前品質(基本品質) 図では青の曲線で示される部分。満たしている…

bundlerのpathを指定しない場合のインストール先

実は知らなかったシリーズ 概略 通常のgemと同じところにインストールされる。 ネタ元 By default, Bundler installs gems to the same location as gem install.(中略) Therefore, git gems are downloaded and installed into ~/.bundle rather than $GEM_…

APIのURL設計に迷ったら読みたいスライド『RESTful API の みつけかた』

スライド回顧録です。 speakerdeck.com RailsのAPI設計などしていると、どうしてもそのURI設計に悩む。ありがちなものは思いつくが、新しいプロダクトに挑んでいるとどうしてもそうも行かない。そんなときに読み返したいのがこのスライド。 ありがちな名付け…

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

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

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

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

Railsの複数形、単数形のルールを知りたい場合はrails/activesupport/lib/active_support/inflections.rb を見ると良い

Modelは複数形に、みたいな情報のベース定義。 環境 $ bin/rails -v Rails 5.2.2 前提 Railsの単数形、複数形、例外は登録することができる。 inflect.pluralは複数形への変換を定義 inflect.singularは単数形への変換を定義 inflect.irregularは単数形と複…

『表参道.rb #44 〜Ruby/Railsパフォーマンス〜』に行ってきたよあっさりメモ

実は行きたかったけど全然行けてなかった表参道rb、途中着席だけど 表参道.rb #44 〜Ruby/Railsパフォーマンス〜 - connpass に行ってきました。 ざっくりLT感想 パフォーマンスチューニングの話だったので負荷対策した話とかActiveRecord周りの話とか聞けて…

『1チームスクラムと大規模スクラム(LeSS)ではPO目線で何が変わるのか?』に行ってきたよメモ

LeSS,そういうのもあるのか!ということでチームスクラムと大規模スクラム(LeSS)ではPO目線で何が変わるのか?- POStudy ~アジャイル・プロダクトマネジメント研究会~ に行ってきたメモ LeSSの概要説明 Youtubeの紹介動画を見ながらポイントごとの説明が…

GithubのIssueの編集は履歴に残るし、diffも見れる

めっちゃ便利やんということで一口メモ Issueに下記のようなに「edited」で履歴が展開される 履歴のうちのアイテムを1つタップするとdiffが表示される。すごい。 チェックボックス系のdiffも残るので、なんかチェックリストをIssueにしてチェックの履歴を見…

RubyのStringリテラルのfrozenはプラス演算子で解除できる

あ、こんな書き方あるんだっていうメモ 出典 instance method String#+@ (Ruby 2.6.0) 実例 freze_text = "hubuki" #=> "hubuki" # freezeで凍結 freze_text.freeze #=> "hubuki" # 代入しようとするとエラー freze_text << "a" RuntimeError: can't modify …

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

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

SimpleとEasyを簡潔に説明したいときに見せたいスライド『SimpleとEasyは違う』

スライド回顧録です。 speakerdeck.com 一人暮らしをして、ちょっとでも料理をする人は買う「めんつゆ」。めんつゆは万能であり、パスタと和えて炒めれば和風パスタができあがり、そばを茹でればつけ汁として使え、肉じゃがなどの煮物ではそれなりの味が出せ…