2022年散財したモノ

この記事はチームスピリット Advent Calendar 2022の14日目の記事です。

adventar.org

こんにちは。毎年この時期だけ記事を投稿する落合です。
もう2022年も終わりということで、自分が今年散財したモノをまとめてみました。
が、誰が興味持つんだよという感じなので、家に生息している猫の画像だけ見て帰ってください。

狭くないんか

PC周辺機器

Logicool MX MECHANICAL MINIの青軸

https://www.logicool.co.jp/ja-jp/products/keyboards/mx-mechanical.920-010793.html

打鍵感がとても良く、打ってて楽しい。
バッテリーはバックライト切れば半年以上持つし、Type-Cだから気にならない。3台まで接続して切り替えられるのもグッド。
一番右の列にHome/End, Page up/downがあるのが唯一の欠点で、たまにページが意図せずビュンビュン飛ぶ。

Apple Magic Trackpad2

前述のキーボードと色がベストマッチ。
立って作業するときにマウスだと厳しいので買った。
BetterTouchToolを入れるとタブを閉じたり移動したりをトラックパッドだけで出来てめちゃ便利。

頼むから充電端子をType-Cにしてくれ。

Tourbox elite

https://www.tourboxtech.com/jp/TourBoxElite-product.html

左手用デバイス。最初に設定を模索する必要があるが、一度最強の設定を作れたら手元を見なくても操作できるのでめちゃくちゃ捗る。しかし高い(2万)。
以下のような割り当てで落ち着いた。よく使うウィンドウの切り替えや通話のミュート、タブの移動が一瞬でできて便利。しかし高い。

Tourboxのボタン 割り当て動作
上キー Slack表示
左キー ブラウザ表示
右キー VSCode表示
下キー Teams表示
トップボタン+下キー Teamsをミュート
トップボタン+上キー Slackハドルをミュート
サイドボタン+ダイヤル回転 ブラウザタブ前後移動
ダイヤル押し込み タブを閉じる

アプリごとにショートカット設定を切り替えたりできるけど、絶対忘れるので使っていない。

Moft Z

https://www.moftjapan.com/products/moft-z-sit-stand-desk?variant=42378051977473

普通のデスクでも立って作業できるようになる。
リモートワークで座りすぎ感があったので買った。
普段は本棚に立てておいて、使う時だけササッと組み立てて一瞬で立ち作業環境が作れるのでとても良い。しかし高い(7000円)。

Moft Zの上に前述のキーボード、トラックパッド、Tourboxを載せて使ってます。

技術書

色々買ったけど積みまくってるので、買ってみて良さげだった書籍たちを書きます。(完読したとは言ってない)

ちょうぜつソフトウェア設計入門

gihyo.jp

クリーンアーキテクチャという単語に釣られて買ったけど、表紙の見た目に反してめっちゃ濃い。
ただ上辺を撫でただけのハウツー本じゃなくて、良い設計ってどんなのか?その設計手法を用いると何が良いのか?というところから解説してくれてるのがとても良い。まだ全部読めてないけど。
PHP使わない人が読んでも全く問題なし。

ゾンビスクラムサバイバルガイド

https://www.maruzen-publishing.co.jp/item/b304740.html

スクラムってどういうの?どうやって始めるの?といった内容を解説してる本は他にもあるが、一度腐敗したスクラムチームを立て直すというところにここまでフォーカスしてる本はあまり見かけない気がしたので買った。
まだ序盤しか読めてないが、読んでてウワ…ァ…ってなりますね。

その他もろもろ

音楽系ガジェット

音楽系ガジェットは見た目が可愛すぎて欲しくなってしまう。ポチポチいじって音を出して遊ぶだけでも気晴らしになります。

Elektron polyend tracker

Polyend Tracker | Elektron Distribution Group

見た目が超いい。
一応サンプラーですが、大きめの液晶がついていてLSDj(ゲームボーイの作曲ソフト)みたいな感じのシーケンサを搭載してるので割と自由に作曲できます。
操作性が気持ちよく、特にキーの部分がメカニカルキーボードみたいな感じなので打鍵感最高。
充電端子もType-Cで偉いです。

sonicware LIVEN 8bit warp

https://ja.sonicware.jp/products/liven-8bit-warps

8bitな音が出せるシンセ。正直見た目が気に入ってポチってしまった。
大量にあるツマミを回しまくって音作りする工程が楽しい。

nreal air

https://www.nreal.jp/

サングラス型のディスプレイ。Macに繋げばどこでも使える外部モニタになる。
スマホとも繋げられるが対応機種が限られていて微妙。LG V60との相性が最強で、デスクトップモードで使えるし、スマホの画面を消してもnreal air上で画面が見える。(それ以外の機種ではスマホと連動して画面が消えてしまいとても微妙)

Oculus quest 2も持っていますが、重量が重すぎてしばらく使ってると首が痛くなるのでこっちのが使う機会多いです…。

JD razor MS-205R(キックボード)

https://www.amazon.co.jp/%E3%82%B8%E3%82%A7%E3%82%A4%E3%83%87%E3%82%A3%E3%83%AC%E3%83%BC%E3%82%B6%E3%83%BC-JD-Razor-MS-205R-B-RAZOR/dp/B01EH35GY0

ちょこっとした距離の往復が多くて徒歩だと面倒だったので買った。スイーっと進めてたのしい。(小学生並みの感想)
軽くて小さいのでスケボーバッグの中に入れて玄関に置いておけるし、コンビニとか入る時もバッグに入れて持って入れる。
子供用っぽいので走るとタイヤがキラキラして少々恥ずかしかったが、ホイールの中の磁石抜いたら光らないように出来た。よかったよかった。

以上です。解散!

音声入力でタスク管理しつつねこを集められるアプリを作って冷蔵庫に貼りつけた話

 こんにちは。SDチームの落合です。

突然ですが皆さん。家に余ったタブレット(ありますよね???)、どのように活用されていますか?
我が家では冷蔵庫に貼り付けてます。カレンダーを確認したりレシピを表示しながら料理できて便利ですよ!!

 で、これはこれで便利なのですが、ある日ふとこう思いました。

「音声入力できるTODOメモが冷蔵庫にくっついておいたら、身内でのタスク共有に便利なのでは?」

ということで、今回の記事は、お勉強と実益も兼ねて「音声入力できるちょっと変わったTODOアプリ」を作成したお話です。(というのは建前で、無理やりネタを捻出しました。)

f:id:ts_nochiai:20201213200913j:plain

どんなアプリを作ったのか?

アプリ

https://qnaiv.github.io/vtodo/

ソースコード

GitHub - qnaiv/vtodo

  • 音声入力でタスクを管理できます。冷蔵庫に貼り付けられたタブレットでも操作しやすいUIです。

    f:id:ts_nochiai:20201213201305g:plain

  • タスクを完了すると、なぜかランダムでねこの画像がもらえます。

    f:id:ts_nochiai:20201213201330g:plain

  • 集めたねこを一覧で見れます。(151匹を超えると、一番古いねこが押し出されます)

    f:id:ts_nochiai:20201213201352g:plain

アーキテクチャ・利用技術

f:id:ts_nochiai:20201213203947p:plain

上記のようなアーキテクチャになっており、無料かつサーバレスを実現できています。

各要素を簡単に説明していきましょう。

Nuxt.js

Nuxt.js - ユニバーサル Vue.js アプリケーション

Vue.jsベースで作られたWebアプリフレームワークです。

ルーティングを自動でしてくれたり、PWAに勝手に対応してくれたりしてメッチャ便利。Vue.jsも最近アツいのでオススメです。(と言いつつ殆ど使いこなせてない)

Vuetify

Vuetify — A Material Design Framework for Vue.js

Vue.js向けのUIフレームワークで、簡単にマテリアルデザインなWebアプリを組み立てられます。

デザインセンス皆無マンの御用達ってわけです。

Web Speech API

Web Speech API - Web API | MDN

今回の目玉。音声認識・読み上げができるWeb標準APIです。

数行で実装でき、認識精度も良い感じでした。

対応状況を見ると、SafariiOSにはまだ対応していないようですね…。

うちのタブレットAndroidだったのでOKでした。

f:id:ts_nochiai:20201213201930p:plain

LocalStorage

Web Storage API - Web API | MDN

これもWeb標準の機能です。

ブラウザ内にデータを保管できます。

クッキーと違って有効期限がなかったり、サイズ制限が緩かったり、サーバにデータを飛ばさなくて済みます。

オンライン上に保管するほどでもないデータを扱いたい時に便利です。

Github Actions

Actions | GitHub

CI/CDサービスです。Publicリポジトリなら無料で使えます!

今回はこのサービスを使って、リポジトリにプッシュしたら自動でGithub Pagesに静的ファイル(HTMLとJS)をデプロイするジョブを動かしてます。

機能改修などをした時に自動的に最新版が公開される仕組みになっているわけですね。

Github Pages

GitHub Pages について - GitHub Docs

ホスティング(Webページを公開できる)サービスです。これもPublicリポジトリなら無料で利用できます。すげー時代だ。

TheCatAPI

TheCatAPI - Cats as a Service, Everyday is Caturday.

ねこの画像を取得できるPublic APIです。

https://api.thecatapi.com/v1/images/search 

上記のエンドポイントをリクエストすると、ランダムでねこ画像のURLがもらえます。

ねこガチャですね。たまにGif画像も出てきます。

実装について 

Web Speech API

f:id:ts_nochiai:20201213213434p:plain
こんな感じで、最小限に書くと10行くらいで音声認識を実装できます。

設定次第で、長文を連続で文字起こししたりもできるっぽい。

LocalStorage

f:id:ts_nochiai:20201213213853p:plain

ストレージに格納するときは、

localStorage.[任意のキー名] = JSON.stringify(オブジェクト) 

ストレージから取り出すときは、

JSON.parse(localStorage.[任意のキー名])

これだけ。

作ってみた感想

1週間くらいかけてチマチマ作ってましたが、vueに触れるのが久々すぎて色々忘れててかなりモタモタしてしまいましたね…。

ぶっちゃけ途中で「こんなアプリ作らなくてもIMEの音声入力機能使えばいいんじゃない?」と冷静になりかけました。

でもねこが可愛いのでオッケーです!(思考停止)

もっと色んなWeb標準APIを試してみたいですね!

最後に

開発中に出現したねこ達

https://cdn2.thecatapi.com/images/MTc1MDUwMg.gif

https://cdn2.thecatapi.com/images/MTg3MTgxMw.gif

 

この記事は チームスピリット Advent Calendar 2020 の13日目に滑り込みで書いた記事です。

adventar.org

 

無人島に持っていきたいChrome Extensions

はじめに

皆さんこんにちは!2020年7月にチームスピリットにジョインした落合です!

この記事はアドベントカレンダー4日目の記事でもあり、私のデビュー記事でもあります。何卒よろしくおねがいします。

今回は軽いジャブとして、私が無人島に流される際に持っていきたいChrome Extensionsランキング(?)を発表したいと思います。

さっそく参りましょう!

3位: Create Link

chrome.google.com

開いてるWebページのリンクを、「ページ名 - URL」の形式やHTML形式、Markdown形式でコピーできる拡張機能です。

地味だけど、サイトを共有する事はよくあるのでめちゃくちゃ多用します!

f:id:ts_nochiai:20201201022310p:plain

↑Plain textを押すと…

チームスピリット|勤怠管理・経費精算・工数管理を一体にした、「働き方改革」プラットフォーム https://www.teamspirit.com/ja-jp/

↑こんな感じ。

2位: ORGanizer for Salesforce

chrome.google.com

Salesforce向けの多機能ツールです。

Salesforce開発者はみんな使ってそう。それくらい欠かせないですね。無人島にSalesforceがあれば是非持っていきたいです。

いくつか便利な機能を挙げると…

組織情報管理

f:id:ts_nochiai:20201201105602p:plain

組織情報を保存しておいて、グルーピングできます。

左側のアイコンのところから、組織を開いたり開発者コンソールに飛んだりできます。

組織識別

f:id:ts_nochiai:20201201104548p:plain

色んな組織を開いているとタブ上で区別がつかなくなるので、このように色分けしたりラベルをつけたり出来ます。

クイックリンク

f:id:ts_nochiai:20201201110021p:plain

検索バーを使って特定の設定ページなどに直接飛べる機能です。

f:id:ts_nochiai:20201201110939p:plain

@objectsと入れればオブジェクトページに直接飛んだり、@loginと入れれば別の組織に飛べたりしてとても便利…。

デフォルトだとControl+Shift+Spaceで表示できますが、私はControl+Shift+Qにカスタムしてます。

クイックコンソール

f:id:ts_nochiai:20201201110353p:plain

クエリを実行したり匿名Apexコードを実行したり出来るコンソールです。

デフォルトだとControl+Shift+Vでいけます。

 1位: Vimium

chrome.google.com

VimライクにChromeを操作できる拡張機能です。

普段Vimを使うことは無いのですが、慣れたら物凄い快適。正直もうこれナシで生きていけません!

以下のようなショートカットキーでブラウザ操作できます。

操作 ショートカット
上にスクロール(半ページ分) U
下にスクロール(半ページ分) D
リンクを開く F
リンクを新しいタブで開く Shift + F
リンクをコピーする yf
戻る Shift + H
進む Shift + L
タブを閉じる X
左のタブへ移動 SHIFT + J
右のタブへ移動 SHIFT + K
履歴検索 O
ブックマーク検索 B

なんといっても目玉はやはり、Fキーの「リンクを開く」です。

f:id:ts_nochiai:20201201021731p:plain
Fキーを押すと、上の画像のようにすべてのリンクにアルファベットが振られます。そしてアルファベットを押すことで、そのリンクに飛ぶ事ができます。

これのおかげでほぼマウスなしでブラウジング出来ます。便利すぎる。

 

番外: Multi Session Box

chrome.google.com

セッションを複製できる拡張機能です。

Salesforceで承認プロセスの動作確認をする時、申請者ユーザと承認者ユーザで同時に同じ組織にログインしたい時がありました。

普通にやろうとすると、先にログインした方のユーザが弾き出されてしまうのですが、この拡張機能を使ってユーザごとにセッションを分ければ同時ログインできました!

無人島には持っていきませんが、瞬間的に超便利だったので番外編として記載しました。

おわりに

いかがでしたか?(某キュレーションサイト感)

皆さんが無人島に持っていくChrome Extensionsもぜひ教えて頂きたいです!

また、アドベントカレンダー13日目にも書かせて頂く予定なのでよろしくお願いします!

adventar.org

デビュー記事こんなんで良かったんだろうか…。

 


f:id:ts_nochiai:20201201115721j:image

実家にいるウサギです。

 

この記事はSalesforce 開発者向けブログ投稿キャンペーンへのエントリー記事です。