コード日進月歩

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

多人数で電話会議/ビデオチャットをやるときに心がけていること

普段からやっていることを文章化してみる 心がけたいこと 報告の類を終えるときは「以上です。」と言う ネットワークの不調などで音声が飛ぶことがある、そのため言葉をいいかけて終わったのか言い切ったのが判断つかないときがある。 それを回避するために…

RailsでDeepCopyしたい場合はdeep_dupのほうが確実

hoge.dup で大丈夫!と思っていたらそうではなかったのでメモ dupだと何が起きるか 要素そのものを操作されると影響を受けてしまう 例 # 元の配列をつくり、複製を .dup で作る array = ["first"] #=> ["first"] dup_array = array.dup #=> ["first"] # 複製…

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記法ではおなじみ```の記法 長文とか 要点とか で使うとかなりメリハリがでる。 ただしモバイルだと残念な見た目になるのがたまにキズ 大な…

黒いひし形にはてなマークが出る文字(�)はUTF-8変換時のときに変換後の対象がない置き換え文字

� という文字があるがクエスチョンマークだし、ググりにくいしはで、実際コレはなんなんだというメモ � とは ブラウザによっては見えない可能性があるので以下の画像のような文字 ※Specials (Unicode block) - Wikipedia) より引用 これは代替文字(REPLACEM…

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

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

Slackの /remind の文言は複数行で記述する方法がある

あんまり書かれていないのでメモ的な 基本文法 /remind {{対象}} {{文言}} {{時間設定}} /remind me 10秒後に教えて in 10 seconds 書き方 ダブルコーテーションすればいい そうするとこのように出力される 参考リンク リマインダーを設定する – Slack

Rubyには配列を作る方法としてKernel付けのArrayというメソッドが存在する

あー、そういう原理だったのね…というメモ 環境 $ ruby -v ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18] よくある実例 代表的な使い方例 a = "Yeah!" # => "Yeah!" [a] # => ["Yeah!"] Array(a) # => ["Yeah!"] Array(["hoga","…

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

記述箇所を愚直に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_…