Baby step - 思考と実験の足跡

日常のちょっとした、気になって試したこと集です。

VSCodeの拡張機能を指定したプロジェクトに追加する

背景

VSCodeでは、設定や拡張機能を「個人」「プロジェクト」単位で設定できます。 そのことは覚えているのですが、具体的にどうやって「プロジェクトに拡張機能を追加する」か忘れてしまいました...。

備忘録として、手順や参考記事をまとめます。 今回は例として、フォーマッターであるPrettierを導入します。

導入手順

まさに、という記事があったので参考にさせていただきました。

cf. VSCodeでプロジェクト単位の拡張機能を設定する - Qiita

ざっくりとした手順はこんな感じです。

  1. 自分のローカルに拡張機能を追加する
  2. レコメンドする拡張機能を .vscode/extensions.json に記述する
  3. 拡張機能のレコメンドを受け取るよう .vscode/settings.json に記述する

自分のローカルに拡張機能を追加する

これはいつもどおりですね。 下から2つ目の拡張機能のタブを押し、インストールしたい拡張機能を選びます。

f:id:yukke722:20210107072336p:plain
VSCode > extension

レコメンドする拡張機能を .vscode/extensions.json に記述する

上記の位置にファイルを作ります(なければ)。 該当ファイルに以下のように書きます。

{
  "recommendations": [
    "esbenp.prettier-vscode"
  ]
}

recomendations内に書いた要素が、プロジェクトメンバーにレコメンドされます。

拡張機能のレコメンドを受け取るよう .vscode/settings.json に記述する

いままでの作業だけでは、プロジェクトメンバーに拡張機能のレコメンドはされないようです。

.vscode/settings.jsonに追記することでレコメンドされるようになります。

{
  "extensions.ignoreRecommendations": false // 追加
}

おわりに

やろうとしていたことを、先人がほぼまとめてくださっていたのでスムースに設定できました。

余談 - Prettierの感想

便利ではある反面、必ずしも自分の好み通りに出力してくれない点もありました。

具体的には、こんな感じになります。

- "required": [
- "status",
- "message",
- "detail"
- ]
+ "required": ["status", "message", "detail"]

個人的には、配列の要素は複数行に分かれているほうが見やすいんですよね〜

(ちょっと使った程度なのでもしかするとできるのかもですが)今回は導入を見送りました。 API開発をする中で、一部のjsonファイルをフォーマットする、が目的だったので。

フロント側のコードを多めに書く時に、再度検討しようと思いました。

OpenAPIのadditional_propertyオプションってなに?

背景

友人とアプリ開発をしています。 わたしがRailsでバックエンドを、友人がDart/Flutterでアプリを担当しています。

Railsapipieのgemを導入し、Swagger定義を出力できるようにしました。

cf. Docker+Rails6+apipieを使ってAPI定義をSwagger UIに表示 - Qiita

出力したJSONを使って、アプリ側でコードを自動生成するようなのですが、どうもうまくいかない様子...。

調査してもらったところ「additional_propertyがfalseなのが問題」とのこと。 しかしながらadditional_propertyがなんなのか、よくわかってなかったので調査しました。

※1 以下に関してはまだわかってないです。1つずつ理解を進めます。

  • そもそもDart/Flutterとは?
  • Flutterでどのようにswagger.jsonを使うのか?
  • Swagger定義ファイルの正式名称はなにか

※2 全体像がわかった時に「Flutterで利用できるswagger.jsonを出力するためのapipieの設定とハマリポイント」ついてもまとめたいと思います

additional_propertyとは?

propertiesで指定したプロパティ以外も受け付けるかどうか」を指定するオプションのようです。

  • trueの場合は、propertiesに記載のないプロパティも受け付ける
  • falseの場合は、propertiesに記載のないプロパティを受け付けない

こちらに実例付きで詳しく説明されていました。

cf. json-schema: オブジェクトの設定 - nju33

apipieでadditional_propertyを指定する

apipieでは、additional_propertyはfalseが初期値です。 trueにするために、以下の1行を追加すればOKです。

### apipie.rb
config.swagger_allow_additional_properties_in_response = true

cf. Apipie/apipie-rails: Ruby on Rails API documentation tool

githubのissue/PR検索でよく使うパターンをまとめてみた

たびたび忘れるので、備忘録としてまとめてみました。

cf. Issue およびプルリクエストを検索する - GitHub Docs


今回のスプリントで自分が担当しているissue

is:issue assignee:USERNAME milestone:CURRENT_MILESTONE

前回のスプリントで自分が作成したPR

is:pr author:USERNAME milestone:PREVIOUS_MILESTONE

1週間以内に自分にメンションされたissue or PR

mentions:USERNAME updated:>YYYY-MM-DD // 1週間前の日付

※ メンションされた日付を直接取れないので、1週間以内に更新された日付で代用

自分にレビュー依頼されているPR

is:open is:pr review-requested:USERNAME

今年1年で自分が担当しクローズされたissue

is:issue assignee:USERNAME closed:2020-01-01..2020-12-31

2020年に自分が作成しマージされたPR

is:pr author:USERNAME merged:2020-01-01..2020-12-31

子育てをする前に目標設定力を高めておかねば、と感じた話

正月休みには、嫁の実感にご挨拶&遊びに行きました。 ごちそうをいただきながら楽しくお話しできて、良い時間を過ごせました。

この時間は、いままでの人生で体験した「楽しい」や「面白い」とは、ちょっと違ったんですよね。 表現が適切かわからないけど「豊か」だなって。

流れで、嫁の幼少期のアルバムやビデオを見せてもらいました。 8mmビデオをDVDに焼き直して、大事に残してたんですよね。

1-4歳ぐらいのビデオを見ながら「面影があるな〜」「かわいいな〜」など、感想を交えて楽しく見させてもらいました。

そんなとき、ふと

「自分も数年後親になり、こういう時間を過ごせるの?」 「仕事のことなど考えずマインドフルに、こういう時間を過ごせるの?」

と自問しまして。

それに対する自分の回答は「NO」だったんですよね。

子供が産まれる前に、どうにかしたい。絶対に。


おぼろげながら、この課題を解決するためには「目標設定力」が必要と思っています。 何かというと、大きなテーマのスコープを小さくし、具体的なゴールと指標を作る力

そもそも、なぜ不安になるかというと

  • 自分の現在地がわからない
  • どちらに向かうのがいいかわからない
  • ゴールがどこかわからない

と感じていたからです。

だから、適切に目標を設定できるようになれば、これらの不安は少しずつ減っていくはず。

※ 最近読んだこれらの本にも影響を受けています。

たいていのことは20時間で習得できる | ジョシュ・カウフマン, 土方 奈美 |本 | 通販 | Amazon

SOFT SKILLS ソフトウェア開発者の人生マニュアル | ジョン・ソンメズ, まつもとゆきひろ(解説), 長尾 高弘 |本 | 通販 | Amazon

適切な目標を立てることは「学び方を学ぶ」プロセスの1つかもしれませんね。


さて「目標設定力」を高めるために、以下のようなプロセスを踏んでいこうと考えています。

  1. 本屋を利用して、関心の高いテーマを見つける
  2. 見つけたテーマの本の目次を読み、自分に必要と思うことを具体的にピックアップする
  3. ピックアップした項目を元に、具体的なゴールと所要時間を設定する
  4. Googleカレンダーに入れて、計画通りやりきる

なお、本屋を利用する話は↓にまとめました。

https://yukke722.hatenablog.jp/entry/2020/12/31/085635 yukke722.hatenablog.jp

取り組む過程で別の課題が見つかることもあると思います。

思いつく範囲でのif-thenプランニングはこんな感じ↓

  • テーマから何が必要かわからなければ、詳しい人に相談する
  • 所要時間から大きくずれるようなら、見積もり力を高める施策を打つ
  • 計画通り着手できないなら、生活習慣を見直す

ざっくりしてるものもありますが、対策は具体的なケースに依るのでこんなものでしょう。


改めて、今年は

  • 小さく具体的な目標を設定し
  • 無理なくスケジュールし
  • 確実にやりきる
  • 習慣を作る

ことにフォーカスして取り組みます。

2-3年後に、子育ての時間を満喫できるようにするぞ〜

格付けチェック2021を見て思いついたこと

はじめに

あけましておめでとうございます。 2021年もよろしくお願いいたします。

さてお正月の恒例といえば 芸能人格付けチェック

AかBか。 究極の二択をついつい見てしまいます。

放送を見ながら考えていたことをゆるっと残したいと思います。

ハズすなら全力で!

四重奏の演奏を見比べて、だいぶ迷って結論をだしました。 妻にも「こっちだと思うけど、だいぶ自信ないなあ」とコメント。

そんな中、芸人さん(たしか)が、こんなコメントを言ってまして。

絶対Bです!音の広がりがぜんっぜん違う。アゴがグワーって揺れましたね

ああ、こういうコメントをするほうが、いまも面白いし、ハズしたときにもツッコみやすくてオイシイな」

と感じました。

どうも自分は性格柄予防線を張ってしまうので、今年はこの芸人さんのような、振り切ったコメントもできるようにしたいと思いました。 ボードゲームなど、遊びの中で一歩ずつ練習しよう。

視聴者でも食べてみたい!

今年から(以前からあったかも?)スマホで参加もできるようになってましたね。 スマホで格付けチェックに参加しよう~スマ格~|朝日放送テレビ

しかしながら、ワインや牛肉などの味覚は体験できない。 食べ比べて見たいんですよね〜どのぐらい違うのか、体験しないとわからない!

例えば、受注生産式に視聴者にも牛肉・タラバガニ・ワインのキットを送ることはできないのかしら? それぞれサイズも一口大なので、ガムシロップ8つぐらいで収まりそうだけどな〜

そんな妄想をしていましたが、GACKT様のコメントによると「鮮度」の要素は大きいと仰ってました。

【格付け】GACKT × 倖田來未!超裏話満載アフタートーク!! - YouTube

配送すると鮮度は落ちるので、今回のプランだとダメだな〜

おわりに

以上、お正月気分のゆるりとした投稿でした。 格付けはいつか、体験してみたいなあ

来年の目標を立てるには本屋がいいよ、という話

201230_蔦屋海浜幕張

はじめに

来年の目標はもう立てましたか?

わたしは近所のカフェで考えていて、大枠は見えてきましたが煮詰まりました。

未来のことを考える時に、実は本屋さんっておすすめのスポットなんです! 今日は計画を立てるときの本屋さん活用法をご紹介します。

手順

  1. なるべく広い本屋に行く
  2. 本棚にある本の表紙をひと通り眺める
  3. 気になった本やテーマがあれば、スマホにメモする
    • テーマに対して感じたこともメモする
    • 感じたことを元にメモを掘り下げる

これを、特定のジャンルにとどまらず、多くの本棚を渡り歩きながらやります。

具体例

例えば、今回わたしは 「備える」暮らしの愛用品 という本に目が止まりました。 「備える」というキーワードを見て、感じることがあったわけですね。

Evernoteに本の表紙を撮って、こんな感じにメモを残す

非常用バッグを用意する

マイナンバーやパスポートのポーチを常に入れておく

災害時にそれとスマホを持って逃げればいいようにしておく

数日分の食料を入れる

例えばHTML/CSSコーナーの棚に行った時のメモはこんな感じ。 重要度とスコープを確認しています。

かけるのでやめる // 勉強しない、の意

それよりデザインの基礎が大事

有料テーマの仕入先を見つける

※ 奥が深いのでここまで

テーマに対してざっくりとしか出てこないときは、目次を見てみましょう!

例えばMySQLの棚を見ている時に「もっとレベルを上げないとなあ、でもどこからやればいいんだろう」と思い当たりました。

そんな時に棚からいくつか本を手に取り、良さそうな本の目次を見てみる。

おうちで学べるデータベースのきほん

目次には具体的なキーワードが書かれていることが多いので、その中から自分が勉強したいことをピックアップします。

  • 設定ファイル

  • innoDB

  • バックアップ、レストア

  • ログ

  • パフォーマンス改善

こんな感じで、飽きるまでやります。

メリット

  • 表紙が外部刺激になり、同じ場所にずっといるよりもインスピレーションが湧きやすい
  • 本をすぐ手にとってゴールの具体化がしやすい
  • いまの自分にとって本当に必要な本がわかる

おわりに

いかがでしたか? わたしは1-2ヶ月に一度のペースで行っていますが、行くたびに興味を持つテーマが変わるので面白いです。 あるときは開発だったり、あるときは投資だったり...etc.

1つの選択肢として、ぜひ使ってみてください!

DropboxPlusを契約してみた

今回の記事のまとめ

  • DropboxPlusに契約し、Dropboxにファイルを集約した
  • DropboxPlusに契約すると Dropbox Passwordsの機能も使える
  • ソースネクストのキャンペーンで安く返る時がある

背景

  • Dropbox
  • GoogleDrive
  • iCloud
  • 各端末のローカルストレージ

にファイルが点在していました。 それも、同じ目的で使われるファイルが散らばっていたため、ファイル検索の度に複数のストレージを探す羽目に。。

探す手間を減らすためにもファイルを一箇所に集約しようと思い、Finderから操作しやすいDropboxの有料プランを契約することにしました。

購入まで

DropboxPlusの料金は月額1,500円(月間契約)。年間契約だと1,200円です。 ※ 執筆時点

cf. 個人向けプランの料金を比較 - Dropbox

まあそのぐらいするよね〜と思いながらキャンペーンを探すと、ソースネクストでセールがされてました! 定期的にセールが開催されているようです。

今回は運良く、3年契約28,800円のを見つけました。 2年分の料金で3年間使えるので、これはお得!

cf. Dropbox Plus(ドロップボックス プラス)|ソースネクスト

契約後にしたこと

ファイル整理

基本的に全てのストレージの中身をDropboxに集約しました。 (書くと一行ですが、これが面倒だった・・・)

スプレッドシートとスライドはGoogle Driveに、MindNode のファイルはiCloudに置いたままにしました。 その方が扱いやすそうだったので。

Dropbox上のファイルを開いたらスプレッドシートが表示される、ができるならDropboxに寄せてしまいたい

手間はかかりましたが、これだけでもだいぶスッキリ。

Passwords設定

契約するまで気づかなかったのですが、DropboxPlusにはストレージ以外の機能も付いています。

特にありがたいのは、パスワード管理機能である Dropbox Passwords.

Dropbox Passwords の使用方法 | Dropbox ヘルプ

別途 1Passwordのようなパスワード管理サービスを契約しようと思っていたんですよね。

比較記事があまり見当たらなかったので試しに使ったところ、なかなかいい感じ。

良かったポイントとしては、

  • Chromeなどブラウザに登録しているログイン情報をimportできる
  • アカウント作成時に強度の強いパスワードをレコメンドしてくれる
  • 複数デバイス間で連携できる

という点でしょうか。 これを追加料金なしで、ツールを増やすこと無く、利用できるのはとても嬉しい。

比較サイトはあまり良いのが見つけられず。。

以下のはDropbox Passwords単体で使った場合の機能に見えるんですよね。

1Password Business vs. Dropbox Passwords vs. PassCamp Comparison

個人的な感想としては、

  • DropboxPlusに契約するならPasswordsも使う
  • 契約しないなら他のパスワード管理サービスを使うほうが良い

と思っています。 もうしばらく使ってみて、いい点悪い点が見えてきたらまたレビューします。

Dropbox Paper

メモアプリは普段Evernoteを使っているため、こちらはまだ使ってません。 比較記事を読むに、Dropbox Paperだとメモ書き程度のノートもストレージに残ってしまいそうなので、Evernoteのままが良さそうかな。

おわりに

今回はDropbox Plusを使い始めてみたよーというお話でした。

色々実験して、良い活用方法が見つかったらまとめたいと思います。