コード日進月歩

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

時間がないんだよね…という断り文句が頻出したときに見たいスライド『「時間がない」症候群、その傾向と対策』

スライド回顧録です。

対象のスライド

speakerdeck.com

みどころ

「時間がないからやれない」という話になったときに文字通り時間がない場合もあるが、実は純粋に「時間がない」だけではないのではないか?というところに切り込んでみた実例のスライド。自分自身も思い当たる節がある部分もあり、共感もできる部分も多い。またさまざまな状態がしっかりと言語化されているので、メンバーとしての立ち位置でも気づきがあり、リーディングする立場でも気づきのあるスライドです。

関連リンク

ユニバーサルデザインフォント(UDフォント)に関してざっくりまとめる

ユニバーサルデザインフォント(UDフォント)とは

フォントメーカーのイワタ社が提唱したもので定義としては以下のように書かれています。

UDフォントとは、ユニバーサルデザインの考えに基づいて作った文字(書体)をいいます。家電製品に表示する文字にも、年齢や障害の有無に関係なく、多くの人が少しでも見やすい文字を作ろうということで開発を始めました。 - UDフォント開発のきっかけと発売までの道のり(1/5):NICT

そのため何か仕様などがあるわけではなく、ユニバーサルデザインのコンセプトを汲んだフォント全般のことを指す。

イワタ社以外のUDフォント

2006年に「イワタUDフォント」がさきがけとなり、他の日本語書体を扱うフォントメーカーもUDのコンセプトに合わせたフォントをつくるようになり、2022年現在ではモリサワ社やモトヤ社、フォントワークス社などもUDフォントを作成している。

日本発祥の概念

もともと日本のイワタ社が提唱したものであるため、2022年時点では海外では認知が広くなく、日本国外ではまだ認知度の低い概念と思われる。(Googleトレンドで UD Font で比較しても検索ボリュームは日本のみある状況)

参考リンク

RubyのYARDにはRDocのような:nodoc:は存在しない

そもそもRDocの:nodoc:とは

Rubyに標準的に備わっているドキュメント生成のライブラリRDocには:nodoc:というオプションがある。これはどういうものかはドキュメントに記載がある。

指定した要素をドキュメントに含めません。 - library rdoc (Ruby 3.1 リファレンスマニュアル)

上記の通り「ドキュメントが存在しない」ということを示すものである。

YARDには対するものがない

YARDにはドキュメントの省略というものが存在しない、またデフォルトではYARDはpublicメソッドのみをドキュメント化する。

YARDにはなぜ:nodoc:が存在しないのか

互換性のある機能がありそうなものの、存在しないことに関してはYARDのReadmeに記載がある

YARD will by default only document code in your public visibility. You can document your protected and private code by adding --protected or --private to the option switches. In addition, you can add --no-private to also ignore any object that has the @private meta-tag. This is similar to RDoc's ":nodoc:" behaviour, though the distinction is important. RDoc implies that the object with :nodoc: would not be documented, whereas YARD still recommends documenting private objects for the private API (for maintainer/developer consumption). - GitHub - lsegal/yard: YARD is a Ruby Documentation tool. The Y stands for "Yay!"

上記の中にあるように

RDocは:nodoc:を持つオブジェクトはドキュメント化されないことを意味しますが、YARDはプライベートAPIのためのプライベートオブジェクトをドキュメント化することを推奨しています

という旨の一文があるので、原則としてドキュメントを書いてほしい意図から記述自体を用意していないということだと思われる。

参考サイト

RailsでRSpecを使う際にテストデータ用のファイルを置く場合はspec/fixtures/file配下が良さそう

CSVアップロード機能のテストなどをするときにテストデータを置きたいときのメモ

出典元

file fixture - RSpec Rails - RSpec - Relish

ドキュメントいわく

Rails 5 adds simple access to sample files called file fixtures.File fixtures are normal files stored in spec/fixtures/files by default.

ということで spec/fixtures/file というところに配置すれば file_fixture というメソッドから読み込みが可能なため、何か必要な場合は置くことを進めている。

file_fixtureとは

ActiveSupportでテスト用のメソッドが用意されており、そのうちの一つ。RSpecではその仕組みに乗ることを推奨している。そのためPureなRubyのコードでは使えない機能ではあるので気をつけること。

ActiveSupport::Testing::FileFixtures

参考サイト

キャパシティを超える要望に関して誠実に応えたいときに見たいスライド「Noを伝える技術」

ステークホルダーの要求をプロダクトバックログに載せたときの優先順位付けなどに悩んだときによみたいスライド

対象のスライド

speakerdeck.com

みどころ

タスクとしてやりたいことを積み上げて行っていく場合、やりたいことが無限に発生するときがある。さらにタスクは自分から湧き出るものではなく、他人から依頼されるものもある。往々にしてそういうものは受け付けるだけ受け付けてやらずにタスクとして残しっぱなしにし、やる側も依頼した側も不明瞭な状態になる…なんてことが起きる場合がある。そういう他人から依頼されたものに対していかに誠実に「できない」と告げるべきかを整理できる内容となっている。

仕事とは人対人のコミュニケーションなので、いかにして「できない」をお互い納得できる形でできるかを考えなおすきっかけにもなるので万人に気づきがある内容だと思います。

関連リンク

表データのエクスポートフォーマットはカンマ区切り(CSV)よりもタブ区切り(TSV)が使いやすい

何もしないとCSVだけど、TSVのほうがいいよねという話を言語化したものです。

TL;DR

  • Excelなどの表データ書き出しでCSV(Comma Separated Value)を選択したくなったらTSV(Tab Separated Value)のほうがおすすめ
  • データの性質によるが、文字列においては , よりもタブ文字が含まれることのほうが稀なため、TSVを選択すると悩みごとが一つ減る。

今回考えるもの

Excelスプレッドシートなどで作られたデータをシステムにインポートするときに使われる形式として「CSVで書き出し」などがあるが、その選択肢として何がよいか整理するというのが今回のポイント。

今回扱うCSVとTSVの定義

CSV(Comma Separated Value)

文字通り、カンマで区切った値を指す。表の罫線に当たる部分をカンマで切り分ける形のデータ構造になっている。また、基本は1行を1つの独立したデータとして扱い、複数行つくることで表組みのようなデータの形式を提供する。

なお、こちらに関してはRFCで仕様が定義されている

RFC 4180 - Common Format and MIME Type for Comma-Separated Values (CSV) Files

TSV(Tab Separated Value)

Tab文字(正規表現などだと \t で表現されるもの)で区切った値を指す。前項のCSVと区切り文字が異なる以外はほぼ同じ概念となる。

TSVのほうが勝る点

一番大きいのは「実データにカンマが入ることはあるが、タブが入ることは稀」というところ。

数値だけを扱うデータの表の場合はそこまで考えるところは少ないが、データに文字列が入る場合にはデータの性質によってはカンマが入るためそれらを考慮してエスケープをかけるなどの必要性が出てくる。

また、TSVの場合はテキストエディタで開いた状態のものをコピペしてExcelなどの表計算ソフトに貼ると自動でセルごとに入れてくれるという特徴がある。

改行などがないデータを扱う場合はTSVをおすすめしたいです。

関連リンク

Google MeetはPWA版があり、単体アプリとして使える

Zoomはアプリがあるけど、Meetはアプリがないので迷子になりがち。という人向けのかんたんなメモ

インストール方法

Google MeetのTOPページからPWAとしてインストールできる。PWAなのでインストール方法は下記の方法を参照のこと。

プログレッシブ ウェブアプリを利用する - パソコン - Google Chrome ヘルプ

参考リンク