リモートワークの達人 を読んだ
社内でそーだいさんが薦めていたので読んでみようと思い秒速でポチった。
コロナ禍で本格的にリモートワークをやるようになって約1年。自分がやっていること、できていないことを振り返れる機会になった。
元来自分は働きすぎの気配があるので強引に定時近くになったら強制的に切りのいいところで止めるようにしている。以前はズルズルと仕事をしていたのだけど、どんなに遅くとも19時には終わってご飯食べてニュース見てゆっくりするようにしている。通勤時間がないのでこのニュース見る時間で仕事とプライベートのON/OFFをしている。
あとは、出社している時とリモートワークでも同じ服装をしている。もともとスーツではないので私服でいいのだが、社員証のネックストラップが首にすれるのが嫌なので襟付きのシャツを来ているのを継続している。それをクリーニングに毎週出している。服もパリッとしているので気持ちがいい。
また、自宅に仕事の快適さを導入した。椅子買ったり、ディスプレイ買ったり。
無駄な承認や手続きを根絶しようという項目があって、そういえばなんでこれ承認手続きがいるんだっけ?というのを思い出した。例えば本番サーバにSession Managerで繋ぐときになんで承認手続きがいるんだっけ?というのを思い出した。当時は良かったのかもしれないけど、環境が変わったりしているので、徐々に変えていければなーとは思っている。定期的に棚卸しができる会を作ってみても面白そう。
また、モチベーションが上がらない時は仕事に問題があるというのはそういう考え方があるのか。と感じた。自分は結構自分の中に課題があると感じるタイプなんだけど、自分と仕事の接点を考えた方が良さそうだなーと。確かにマネジャーとして他人のモチベが上がらないときに改善するときはコントロールしやすい仕事側のことが多い気がするので、それを自分に当てはめれば良いということがすっぽり抜けていた。いつから自分のことをコントロールしやすいなんていつから思っていたんだろう。この辺はちゃんと客観的に物事を見切れていないんだろうなーと思う。
2020買ったものまとめ
今年を振り返りつつ買ったものをまとめる。やはりコロナの影響で家で仕事をするようになってからだいぶそこにお金をつぎ込んだ。
衣
仕事では首に社員証が擦れるのが嫌だったのでいつも襟付きのシャツを来ていたがそれを継続。仕事と普段着の違いが出るようにして気持ちを入れ替えていたというのと、洗濯するのが面倒なので襟付きのシャツだとクリーニングに出してもあまり値段がかからないというところを重視。
食
ビール
今年はオンライン飲みがあったりしたのも含めて、@tdakak さんに色々ビールをおすすめしてもらった。多分一番飲んだのはヒューガルデンホワイトと伊勢角屋麦酒のヒメホワイトじゃないかなと思う。ヒューガルデンは近所のスーパーで売ってるのですぐ手に入るところがポイント高い。
ヒメホワイト | クラフトビール・地ビールの通販 伊勢角屋麦酒
TANGERINEのみかん
もともとみかんが好きなので近所のスーパーで買って食べてたのだけどBSニュースで知って購入。ダンボールの中に40〜50個ぐらい入っているので一人でも食べれるレベルなのがいい。
nosh
もともとBase Breadを食べていたのだけど味が単調になっているなと感じたのと、温かいものを食べたかったのでこちらに切り替えた。味は個人で合う、合わないがあるのでヘルシーなものを探している人はいいかも
住
机の広さだけちょっと不満だけど、会社の自席よりも良い環境と整えられたと思っている。
机
部屋が1Kなのであまり大きなものが置けないため、幅100cmぐらいの机を購入。ちょっと手狭だけどこれ以上大きくなると今度は入らなくなるのでこの辺は妥協。
椅子
もともと、普通の椅子にアーユルチェアーをつけて座っていたのだけど、「座らせない」をコンセプトにしている椅子だったので、仕事上ずっと座っているため相性が悪くなってきたので一念発起してオカムラのバロンチェアを購入。バロンチェアが一番納期が短かったのが最終的な決め手だったが、家に入るか少しヒヤヒヤしていた。会社ではコンテッサを使っていたときもあったけどまぁ大して座り心地はかわらない。
ディスプレイ&Webカメラ
会社みたいにミーティングルームと自分の机を往復することがなくなり、ずっとディスプレイ前にいるからと思ってちょっといいものを購入。27inchで最初は机のサイズに比べて大きいと感じたものの今では慣れてしまった。個人所有のMacと会社のMacを交互につなげ直しながら使っている。ちなみにキーボードはRealForce for MacをディスプレイのUSBに挿して使っている。
スペースの都合上、クラムシェルモードでPCを使っているのでWebカメラも買った。マイク機能は使ってないけどミーティングに十分耐えられるクオリティを出してくれている。
EIZO FlexScan 27.0インチ ディスプレイモニター (4K UHD/IPSパネル/ノングレア/ブラック/USB Type-C搭載/5年間保証&無輝点保証) EV2785-BK
- 発売日: 2018/01/30
- メディア: Personal Computers
ロジクール ウェブカメラ C920n ブラック フルHD 1080P ウェブカム ストリーミング 自動フォーカス ステレオマイク 国内正規品 2年間メーカー保証 ブラック
- 発売日: 2019/04/25
- メディア: Personal Computers
イヤホンはAirPods Proのまま
一応SonyのWF-1000XM3とBoseのBose QuietComfort® Earbudsは買ったのだけど、WF-1000XM3は新宿駅近辺でブツブツ切れるのと、iPhone、Macとの相性がやっぱりよいので、AirPods Proを継続して使っている。もともと使っていたBoseのQC20をそのまま使っても良かったのだけど机の上がゴチャゴチャするので断念。
以上、買ったものでした。来年も経済回していくぞ!!
Agile Tech EXPO に参加した
色々なことが変わっていく中で、高速に試してカイゼンしていくことが必要となっている時代で、開発だけのアジャイルではなく、ビジネスとしてのアジャイルが必要になってきてる時代に何ができるだろうか?ということを考えた。
「ソフトウェア開発は文化」という川口さん。文化に根づかせるということはどうしたらいいんだろう?自分の会社でソフトウェア開発は根付いているのか?と感じた。そもそもソフトウェア開発ってなんだろうか?
また、「場」の大切さも改めて感じた。1対1のコミュニケーションではなく、一人ひとりの行動が場の影響を受ける。よって、どのような場を作るかが非常に大切である。また、一人ひとりの行動が場を変えていけるんだなと思った。
MySQL Clientのちょっと便利な設定
MySQL Clientでサーバにつないでからのちょっと便利な設定。使いそうなものをピックアップ
use \u
Databaseのスイッチ
pager less -S
less -S
と同じようなpager設定になる。-S
1行が長いときに折り返さない設定になる。
tee hoge.log(\t)
hoge.log
という名前でログファイルを取る。間違って tee 'hoge.log'
とするとファイル名にシングルコーテーションが入るので注意する
ego (\G)
これは query \G
として使うことが多い。結果を縦に表示してくれる。
source hoge.sql (.)
hoge.sql
を実行する。
status (\s)
現在の設定を表示する
system (!)
\! ls
と書くとlsコマンドを実行する
delimiter (\d)
文の区切り文字を変更する。デフォルトは ;
。誰かがきっと使うんだろう
MySQLのinsert on duplicate key update と replace構文の違い
忘れてたので思い出しながらメモ
TL;DR
- upsert構文として、insert on duplicate key update と replace構文の2つがある
- 似たような挙動だけど違う
- insert on duplicate key update はupdate
- replace構文はdelete insert になる。
実際にやってみた
こういうテーブルを作ってみる
CREATE TABLE `replace_sample` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `email` varchar(255) NOT NULL, `name` varchar(100) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `email` (`email`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
insert into replace_sample(email,name)values('taro@example.com','taro'), ('jiro@example.com','jiro');
mysql> select * from replace_sample; +----+------------------+------+ | id | email | name | +----+------------------+------+ | 1 | taro@example.com | taro | | 2 | jiro@example.com | jiro | +----+------------------+------+
insert on duplicate key update を投げる
mysql> insert into replace_sample(email, name) values('taro@example.com', 'saburo') on duplicate key update name='saburo'; Query OK, 2 rows affected (0.00 sec) mysql> select * from replace_sample; +----+------------------+--------+ | id | email | name | +----+------------------+--------+ | 1 | taro@example.com | saburo | | 2 | jiro@example.com | jiro | +----+------------------+--------+ 2 rows in set (0.01 sec)
replace構文を投げる
mysql> replace into replace_sample(email,name) values('taro@example.com', 'ichiro'); Query OK, 2 rows affected (0.00 sec) mysql> select * from replace_sample; +----+------------------+--------+ | id | email | name | +----+------------------+--------+ | 2 | jiro@example.com | jiro | | 3 | taro@example.com | ichiro | +----+------------------+--------+ 2 rows in set (0.01 sec)
delete - insert されているのがわかる
リンク
IE11上でsvgのinnerHTMLをつかうpolyfill
#ISUCON9 に一人チームで参加してきた
結果
2,410 うまいご飯が食べたい (一人チーム) で敗退でした
詳細
#iscon 準備完了。1人参加なのでラバーダックも参加 pic.twitter.com/70VOMpBFA5
— Eiji Hachiya (@hachi_eiji) September 7, 2019
- 10:40 サーバが10分立っても立ち上がらずに若干焦る。この間にレギュレーションの再確認
- 10:50 ようやく3台立ち上がったので、gitとかsshを仕込む。
- 11:00 3台あるので、2台APサーバ・1台をDBにしようと決意
- 12:00 MySQLのbindの設定で5分ほどハマるが大したことはない
- 13:00 APサーバの冗長化はできた(Redisを入れることを忘れてた)
- 14:00 Redisがなぜか aptからうまく入らない...
- 15:00 APサーバを単に冗長化すると画像がうまくとれないので、冗長化を諦める(ここは後で特定URLだけ1台にすればよかったと気づいた)
- 17:30 コード改善を諦めてindexを貼る作戦に移行する
- 18:10 終了。
感想
とにかく一人は手も、アイデアも全てが足りないということを再認識させられました。2年前にチームで出たのですが、個人戦だと全然違ってました。終わってからこうすればよかったと気づいたので、適度な休憩が必要でした。チームでの開発の大切さを再認識と同時に個人で全部やることの楽しさを実感。講評を見ずにどこまでコードのボトルネックに気付けるのか、直せるのか再度挑戦する予定。こういうイベントは非常にワクワクして楽しい。
運営の皆様ありがとう & お疲れさまでした