uzullaがブログ

uzullaがブログです。

費用ゼロ円でリアルタイムなログ監視(ログのプッシュ通知)をしていく

こんちわ、うずらです。

現在デプロイをしたいんだけど、できない、というつらい状態で待ち時間が発生しております。

世界の中心で愛をさけんでいますが、(検閲削除)なので、なにもできないストレスを発散しているともいいます。

本題、ログ監視

さて、みなさんログ監視していますか?特にFatalなログ監視というものは非常に重要ですね。

ログはデバッグログしかない、クレームがきてから対応すればいい、Uncaughtな例外を見ない、運用開始したら/dev/nullおくりにする、E_ALLあるいは-1ではない、といった方々におかれましては、ピンとこないかもしれません。

しかし、Fatalなログを監視することで、なにか発生した問題に先立って対応できるので(対応しないとしても、知っていて無視するのと、しらずに来るのは違います)、大変便利です。攻めの監視です。

そういったことが「いみわかんない」という方々には、残念ながら本エントリは多分やくだたないと思います。(あるいは一切エラーなんて発生しないエンジニアにも不要かなと思います)

リアルタイムログ監視とは?

正しい意味はわかりませんが、ここでは /var/log/critical.log になにかが吐き出されたら、即座に通知してくれるもの、を指します。

「一般的には」、そういったものはfluentdpapertrailなどでログ集約をおこない、ログサーバーに送信し、何らかでFatal、Criticalか判定し、プラグインなどでSlackに通知、等とするのかなと思います。かっこいいですね!

所で、現場によってはそういうものに工数やお金がでないことも非常によくあります(個人の主観です)。

しかし、パラノイアなエンジニアは、特にリリース直後はログファイルをtail -fして眺め続ける、などの行為をします。一般的には理解され難いのですが、サガというやつでしょう。

ログを眺める行為はツイッターなみに中毒性があるので(主観)他の仕事がおろそかになってよくありません。逆に他の仕事していると気づけませんね、さらにいえば最近の不安定なインターネットだとsshが切れて止まってるなんてこともあります。

もっとログの方から、直接的に教えてほしいですよね。エラーよ、オレに訴えかけてきてくれ。

boson + LINE notify

というところで、以下のようなことをぼやいたら「作れ」というレスがきました。そうですね、わかる。

しかし作るのは面倒(だいぶ自分勝手)

すると、突如技術的筋力で有名な id:moznion がつくってくれました!!!すごい!!!今度なんかおごります!!!

github.com

使い方

基本的にbosonはSTDINがきたら、ログの行を置換してボディをつくってくれるので、それをWebhookに投げる、というものです。

たぶんSlackでもなんでもいいのですが、Slackになげてもどうせ僕しかみませんので、自分のLINEに飛ぶようにしたいと思います。

LINE notify については公式Docsを見ていただくとして、とにかくAPI tokenを取得します。

notify-bot.line.me

BosonをDLします、 リリースページから自分にあったバイナリをDLしましょう、Goは楽でいいな。

github.com

あとはサーバーでscreenなどを立ち上げ*1

そこの中でこうじゃ!

$ tail -n 1 -F /var/log/critical.log | ~/boson --url "https://notify-api.line.me/api/notify" --header "Content-Type: application/x-www-form-urlencoded" --header "Authorization: Bearer {API token}" --body "message=OMG: {{ line }}" --url-encode-body-replacement

-n 1は重要で、これしておかないと本当に飛ぶ設定になっているか怪しいものがありますね。

-F も重要ですね、ログならローテーションあるでしょう。

あとはデタッチ等します!

あとはご飯でも食べに行きましょう。アラートがあれば即座にLINEに通知が飛んできます!やった!

f:id:uzulla:20200807175428p:plain

f:id:uzulla:20200807175505p:plain

これで誰より早くUnhandled Errorを検知することができ、サービスの品質が向上しますね!!(自己満足)

このためにも

ログは常時選別し、「必要なものだけ出す」「無意味な(ノイズな)ログは消す」ということを心がけましょう。

ところで私はログレベルという昔からの慣習を全く信用しておらず、目的別にログファイル自体をわけています。

なので、通知は本当にやべえときしか連続できたりしません。

なお、Bosonにはgrep機能がありますので、色々やれば大丈夫です、僕は使わないですが。

tail からパイプでコマンドをつなぐ事もできますが(たとえばgrep -vしたいこともあるでしょう)、バッファリングに注意してください(ここでは解説しません、むずかしいので)そこでミスると、いつまでも送信されないなんてことがあります。

履歴はけしていい

たまに、Notifyの会話のハンバーガーメニューから、その他>履歴削除 しておくと気分がはれやかです。

「boson自体の監視はどうするか」

そんなこと考えるなら、しっかりした基盤を組みましょう。

できないこと

レンサバではうごかんね(動くかもしれんけど)

やってはいけないこと

長期的にこれを運用するのはおかしいでしょう。そうなったらちゃんと金と工数をゲットしましょう。

これはパラノイア気味のエンジニアが「自主的におこなう」という事であり、正常な体制としてみれば「まったく正しくない」方法です。まともにしたいなら、前述の通りログコレクタをしっかりと作り込んでログ監視をしましょう。そこにお金ももらうべきですし、通知が飛ぶ時間帯を指定したりするべきでしょう。

もしあなたがマネージャーであれば、これをエンジニアに強制するのは人権侵害に等しい行為です、やめろ。あるいは自分のLINEを登録して、連絡は営業時間にしろ。

まとめ

自分みたいなパラノイアなエンジニアであれば、きっと安定稼働までは自主的にログをみてしまう(工数がでなくても!お金がでなくても!)と思いますし、その時にtailにはりつくのは非生産的です。こういったツールを活用し、もっと他の生産的活動をしましょう!!

現場からは以上です。

*1:あるいはtmuxやnohupでもいいですが

オンライン懇親会でどう快適にテーブルを分けるか?あるいは聞き耳をたてる実験 at Hachioji.pm #79

こんばんは、uzullaです。

Hachioji.pmがオンライン化しはじめました

次回はこちら、ついに81回めです(Hachioji.pmは0-originです)

hachiojipm.connpass.com

さて、オンラインカンファレンス・勉強会どうなるかなーって思って色々ツールはためしているんですが、色々課題あるなって感じています。考えていた課題を3行で。

  • 大勢でオンライン懇親会(ZOOM呑み)するとハチャメチャなので部屋を分けたい
  • 分けても、飛び込んだり、抜け出したり、サーフするの難しくない?
  • 現実みたいに隣のテーブルの声がきこえればよいのでは?

で、このエントリとなる、やったことを3行で。

課題

特にテック系のコミュニティでは毎月、毎週のように勉強会やカンファレンスが開催されています。そこでは発表は元より、様々なコミュニケーションも生まれ、IT系エンジニアとして勉強し、楽しんだりしてきました。

しかし、COVID-19によるリアルイベントの自粛により、コミュニティはオンラインに移行をはじめました。IT系のエンジニアはオンラインテレカンツールに慣れているので、一見容易に移行ができるのではないかと思っていましたが、一参加者として非常に違和感を感じ始めました、会話ができないことです。

オンラインの通話(テレカン懇親会、Zoom飲み会)は人数が増えると(具体的には4人以上)破綻しやすいな、という感想になりました。話す人しか話さなくなる(まあ、現実でもそう言うところはあるが、不可能にちかくね?となる) (「10人(等)の会もあるよ!」というのはそうなのだが、(現実もそうだが)コミュニケーションのクオリティは劣化し、パネルディスカッションに近づいていく)

あ、ROMというか、聞き専が悪いというわけではない、むしろオンラインは聞き専にとってききとりやすくて最高だとおもう、ただ、喋り始められないというところが問題だといっています。

f:id:uzulla:20200429190615p:plain

また、今会話をしている人に遠慮して「はじめまして!何の人ですか?」みたいな世間話、アイスブレイクがしづらい環境と感じており、すでにリレーションができている人はともかく、そうではない人が「コミュニティ」に参加できないと感じている(と、私はあまりリレーションのないオンラインカンファレンスにいって感じた)

そうはいっても、3〜4人が上限ではいささかコミュニティとしてさびしい。それを課題と考える人はたくさんいるので、chを分けることになる、これはDiscordでもzoomでも手間の差でできる。あるいはもっと便利にしようと、たとえばRemoなどはバーチャルなテーブル(ch)を用意し、テーブル間を簡単に移動できる(ということになっている…)。

ただ、現実と違って別テーブルの会話は聞こえなくなる。となると「何話してるのかな?」と突然とびこんだり、あるいは「あっちのテーブルでPHPの話しているからいってきます!」みたいなのができない。「XXさんがさ」と遠くからきこえて「なになに?」ということもできない。 また、様子のみえないchに飛び込むのは非常な心理的ストレスがかかる。

f:id:uzulla:20200429190932p:plain

ということで「聞き耳がたてられれば解決するかも?」ということで、今回ツールを作ってみることにした。

「喋っている内容を」ほかの人が喋りながら「目で」聞き耳をたてることができるので、複数チャンネルでのオンライン飲み会で、テーブルを渡り歩くことができるのではないか?全体の雰囲気を感じられるのではないか?というPoCになります。

実験

  • Discordで、あるchの音声をリアルタイムにspeech to text(文字起こし)に食わせて、取れたテキストをリアルタイムにchに流し込む
  • 「聞き耳」程度の精度がでるか?

やってみよう!ということで勢い作成したコードはこちらです。

github.com

で、自分の所属するコミュニティたるHachioji.pm #79 でやってみました。ログ(?)はエントリ最後においておきますが、まあ、最高!これで一発あたるぞ!とはならなかったですね。

f:id:uzulla:20200429193129p:plain

  • 「実用上」の認識精度はまあ…よくない。自分のPCのマイクからなら結構いけるので、テレカンのエンコードが相性悪いのかも、あるいはもっと単純に相手方マイク音質か?
  • discord ブーストして 音声ビットレートあげたらワンチャン?(なお、Discordは他と比べて音が良いイメージがある、しかし他で試してはいない)
  • 話者の切り替わりがひろえないと結構ムズカシイ、でもこれは「そういうサポートをしている」APIもあるので、解決できそう
  • Speech to textは「できるだけ広いチャンク」で処理するので、リアルタイム性に乏しい。会話は途切れなく行われるのでしかたなさもある(これもサイレンス調整できそうだが)
  • 文字起こしされない会話がかなりある。
  • 3〜4時間やって、かかったお金は$5くらい?(GCPのSpeech to text)
  • しかし、1chに1匹bot買うの大変すぎるのではw

うーん、「現時点では」無し寄りの有りかな…でも、工夫でいける気もする。どうでしょうね。まあやってみた感じ、面白さはあるし、がんばれば実用近くはなりそうと思う。

ボットのセットアップ、構造について

f:id:uzulla:20200429192225p:plain

オーディオについては、Loopbackというアプリと、Soundflowerを組み合わせてルーティングしています。 GCPのサンプルコードはSoXをつかっている(CoreAudioをきく?)ので、LoopbackでChrome(Discord)の音をSoundFlowerにOutして、それをMacの「サウンドを入力する装置」(マイク入力)に設定しています。

f:id:uzulla:20200429192354p:plain

展望

アイディアとして

  • Botの通常WebCam動画が表示されるところに文字情報を出したい(テキストchへきりかえめんどい)
  • 会話より、単語のほうが嬉しい…たとえば「PHP」とか(が、単語はマジで拾えないな〜となった)

などがあります。

WebCam動画の差し込みは仮想UVC関連をつかえば簡単やろ!」って思ってるんですが、昨今のMacのテレカンソフトは仮想UVC蹴ってくるんですよね…、Zoomとか、Slackのテレカンツールとか、Discordもアプリ版はダメだった記憶。

BotWindowsLinux、あるいは(落ちやすいのだが…)ブラウザでやるなどの解決策がありますが、よく考えたら「HWとして認識させればいいなら、LinuxのGadgetドライバとして認識させれば、物理仮想Webcamになるな???」ということで調査中です。

まあ、仕事は結構忙しいのであんまこれやってる暇もないんですけど(仕事先にこのブログみられたら、やってんなや!って言われそう)、必要は発明の母ですからね、この不便さを忘れずになにか作って試してみたいですね。

ではまた!

で、以下、実際のログです

全部だとすごいことになるので、いくつか抜粋です。

## 多分、Macのマイクをひろってしまっている「明瞭な変換」していた時
kikimimi:  MySQL
kikimimi:  postgresql
kikimimi:  アパッチ
kikimimi:  エンジンエックス
kikimimi:  hex 変換できない
kikimimi:  exendin 微妙だな
kikimimi:  ではあと何か入ってしゃべった時にどういう変化になるのかそこがちょっと分からない
kikimimi:  ドゥテスト
kikimimi:  この後帰ります
kikimimi:  お酒はありますね冷蔵庫の中に
kikimimi:  はーい
## 多分、拾い始めた
kikimimi: 歩数教えてください安芸南加工日ノ神と少しテストがてら Discord で話してたんですけどなんだろうこの人の顔が出るじゃないですかこれを極力小さくすると人間はストレスが減るということがやっぱり分かりますね全画面に全画面に人の顔をしているとすごい圧迫的な感じがあるんであの人の顔がなんだろう30°ってくらいになる Twitter のアイコンぐらいになるぐらい小さくした方が良い精神的なもの苦労さんです
kikimimi: 宿すか皆さん生きてますか
kikimimi: ナースと家から出ない事になってもう窓窓の外が明るくなってると嘘だと思ってる
kikimimi: 亡くなってからしか取れないコンビニと
kikimimi: 今日母と姉スーパーね弁当屋さんとやり始めてるみたいなの見るとやっぱちょっと我慢すればみたいな間違いない
kikimimi: なんだ面白いなトピックスってやつ来た瞬間に蹴りたいなと思いアテンドに書いてあるみろやなんでこいつ遊んでみてねんだシーア天道町俺の声だけで良くしてもみんな見てくれないんだなということはよくわかる
kikimimi: あぐらかいてたこれやろ
kikimimi: やれよマジであのアテンドがなくなってしまったんで当て逃げというチャンネルは完全に
kikimimi: 遠いとまあなんかそういうことを考えるとうまい具合にオンラインに対応していくっていうことが必要だと思うんですけどまぁ難しいですね世の中そんな甘くないぞというのが非常によくあるのが今作のことなんか皆さんを LINE の中に参加しました何でもいいですけどこういう
kikimimi: なくてもただひたすら Slack だけみたいな
kikimimi: それで見てましたけど
kikimimi: 見ると観るで終わりなんすよねセミナーんだよな
kikimimi: とんちが入った
## 自分がLTしていたときのあたり(この件について、LTした)
kikimimi:  じゃあじゃあえっとどうしようかな誰か誰かやります
kikimimi: 色々あるあるんですけれどもまあ動くは動くんだなぁみたいな2時間で作った割にはま動く何回か拝見する意味もないと思う俺のそうだねお風呂入らして涙オンラインズームに移行しましたこの人数でこれだけに知ってる人間でもやっぱりこう話してるとこ話のコリジョンが発生してまあ厳しいですね8人とかは2人3人4人ぐらいが限度なんじゃないかなと個人的な意見としてある感じですが一度に8人とかはそもそもリアルでもマッキーもある人はまあ四人ぐらい出て今実数34人ぐらいになるみたいな世界観があるのかなそれでいて悪いとかそういうんじゃなくてそれはそれで全然土曜されてしかるべきなんですか色にはなりづらいねっていうところでまさにンカイリ村限界かな
kikimimi: リアルでもね8時とかほも無理なんであと20人ズームのみたいなネタで光インターネットやってきて写真を見るんですけどまあ絶対成立するわけはないそんなの一人なのそれを誇らしくツイートしてる人だけはずっと喋って終わってるでしょみたいな世界だなあそうは言ってもコミュニティオンラインでコミュニティとしてやって行くのに34人が限界の世界観でやっていくっていうのはまあ寂しいですねあの寂しいっていうか嫌そうだよには楽しいんだけど新しい人はタブ増えないしそこまで定期的にネタを持って来ない人はほぼ自動になるしかない世界があるのはちょっと厳しい現実ではこれが何じゃないか聞いた改めていえばマジつ手ぶら別れて言ってまよに咳とかで4人でしゃぶりてちょっとじゃあ僕は他の席行ってきます離れる
kikimimi: 明日のはちゃんとできるからまあいいし丸いは僕みたいな人間はまあ声でかくすれば勝てるみたいな世界があるわけでも全部で声高くするってほぼ迷惑ならびに怒られるシーアの隣の家から怒られそもそもなんかそんなにでかいことだったので全て解決しようという話があり荷物があります
kikimimi: まじか乗ったら行く部屋作りますけどあのーあれちょっと待ってお前言えないですよ柏原選手歳をとりジェネラルに画像貼るの方に舞台がありましたの方に聞いてみたいの日だったんですけどまあ鏡野町使ってみてこんなもんしたもんやらんだという感想になりましたバグが多いしテーブルに人が座るんすよただ僕のアイコン開いてあの花壁アイコンがいてで僕スマホで入って満足した後スマホを切ったらその人が消えない
kikimimi: このテーブルに入る入らないそうだから管理者に行って多分こいつはいないから半紙てくれみたいなそういう面白いを予防しないといけないそんなの話にならないし見た世界でまぁあとはまありすことに関して言うと今のもうみんないっこんちゃんに入ってます一応これチャンネル二個あってハッピー防止するとか出られればあの四人とかどんどんわかる7月 Discord チャンネルいくらでも作れるはずなんでマイクラでもかどうか知らんけどある手伝ってまだ解決するだね結局ここから先がちゃんと書けてないとこの道の向こうの方から例えばあのあれはもう頭には知ってるんだよねみたいなさせたなった時なんだ俺のこと呼んだか見たいな
kikimimi: 何て言ったり空気を呼んで上映していくとかあるいは空気を読んで離れていくっていうことは非常に難しい現実ではどうやってそれを解決されてるかって言うとまたも聞き耳を立てることができてるからだなっていうのが基本的なばおちんしてあるんじゃないかなっていう風に思っていて今なので音声を認識してて薬起こすみたいなのであると女で聞き耳を立てることができるんじゃないかなというところがまぁ個人的な夏かま proof of Concept じゃないすけど目標としてあるとそれを試してみようかなというところで作ってみて実際に少し動かしてません結果に関しては今の上の方を見てみると分かるけど単語はなんとなく拾えるのかな
kikimimi: まあ聞き耳ってそんなに正しく聞こえるもんじゃなくて良いはずだからまたデバイスコートって単語を拾うとか空気を読むて団子を拾うとかなそういうぐらいでいいのか逆に完全にログが取れてる必要性はあんまりないかなと思っているのであるいはもうちょっとこれでもうちょっとマシなぐらいの認識になればこういうものは例えばだけど今僕ジャスコにしてるんでもう一人の人としてこうプリンが出てると思うよねこういうところに他のテーブルテーブル会で話がありますよみたいな掃除してなんだか他にテーブル席では好きな子が見れればなかなかもうその前につけるの話ししてみたいと言ってくるわ雨そうだねあのほぼ今いるテーブルで興味のない話があったとしてもこの話をでき実際興味あんだよねって言って去っていくことはできるだけがある
kikimimi: 非常に重要なのかなと思ってこれを調整していけば新しいなんだろうね
kikimimi: だからではないものができるんじゃないのに僕は思っているって言うのはまあ詳しいところは特には和式説明するとこもほとんどないんですけれども後で発表資料をあげるかもしれないした船スライムジェネラルに貼っておくので皆さん興味があれば見ていたどうしてこうか見たいなと思ったんですけど我々はこれぐらい8人とかあるいは12とか巻いて話をする化け物をま作って送るのは非常に良い話だなと思うしお金かかんないんでこういう場を多少維持していくってのは何だろうとりあえずな延命措置してはこれでもいいと
kikimimi: しまおちょっとレバテックカンファレンスセミナー消しの誰か払い的なものあるけど僕らもまあ見ていくっていうところがまあワンチャンあるんところで考えつつバイあったところで Facebook 今くれたんだありがとう山気合を入れたあのベンチャーとかあるいはを手が全部まま寝ると言わないけどうまいことやると思うんですかするために囲まれ彼らに気付かせるために今いろいろあることやっていくこのスタイル蜂に刺されたやんけどこういうのだから作って多分出してく俺の面白いよこういう手があるんじゃないのっていうのを待っていましてくってのが必要なんじゃないかなとかじゃないとマジで1年間セミナー
kikimimi: YouTube を見続ける
kikimimi: 非常に僕はぬか喜びさせられて
kikimimi: なのであのまだ分かるので感想とか書きたくないストリーム送り続けるって結構その難易度は高いと思うからやっぱないんですかね
kikimimi: そうなんすかねなんか grpc が裏で走ってるんで JR し PC をサポートするために Google じゃないやな奴はまず PHP 2になる PC って言ってくるの資格書入れましょうから始まったんで僕は無理ってで一番そう中でコードが一番シンプルだよ昔の
kikimimi: イベントみたいな動きをするような行動を提供してたのがノートのライブラリだったんですよね
kikimimi: 木造 Discord にテキストをポストするっていうのも必要だったんでそれはもうノートで書けばたんじゃないですかだからもうのどしかないなっていう感じなんだ剛とかジャパン待ったけど元 Java 僕と死んじゃうと思うそんなに時間かける石屋しなかったですよ昨日かおとといくらいにこの技術でやろってて今日の昼ぐらいから貼って書いてある年かな
kikimimi: Microsoft は単純にあの見ようと思って見ていたんですけどまあもう Google で動いちゃったからまあいいかなという感じでそうな意見としては特に誰か別にいるかの動きがいいから順番に全部試したらそういうところのうまく言えるかなと思ったんだけど本当に試してないんで感想がないというのも書くんがそれを飲むのかと思ってまあそれを取るにそんな設定だった
kikimimi: チューハイ飲むと大分アリスの周りが褒めてあげないといくら寂しいからってみたこれで良い形は分かりますね
kikimimi: 仙台飲み始める
kikimimi: 無料オフラインでもあの人
kikimimi: 普段よりカンファレンス関係ありませんありませんでした今回作ったこのプロダクトは漢詩8文字を読みながら何か他の人と話をすると結構どこにあてんしょん持って行かれるか見たいのでわかるんじゃないですかだからこのここに出したいんだよ俺はどっかにいると灰色画像として出すところを本当になりますけど QVC の行動で結構大変なんだねユニバーサル
kikimimi: 結構大変なんだ反応 jisコードあ嘆く見えるんですよ確かに API で本当にメールしてみるわなんか知らなかったそれもう多分実装するとたぶん僕は画面を見てるっていう手で{{{誤検知でエロワードきたので検閲削除}}}いじらないで他の所が見れるんでかみさんの言っていたところクリアできなかったら隣で話してる話題がちょっと聞こえてた話をするみたいなことをやろうとするとなんかもう一つそういうのが必要そうですよね終わっちゃったらよかったらアバターでアバターの距離が近いと祭みたいなそういうのってなかなか難しいと思うんだよね何か良いアイデアがあればすごく5分
kikimimi: リモワ実家でも微妙に小さく聞こえてくるみたいな機能があるらしくて
kikimimi: アパッチとかっていうんどう認識されたんでエンジン X はカタカナで出てきたのでまぁやろうと思えばこのどっちかって言うと文章を出すよりもあの昔ののデリシャスみたいなタグクラウド的なものがホワホワ出てるとかそういうのをお金取られるんだけどそんなにねいい認識じゃない気がする
## 他の人のLTと、終わりかけ
kikimimi: コミットとかしたら同じことを気にして同じこと言っとコミットとかしたら同じことが鈴木ともみとしても習わない漢字で分かんないすよねいいなことがあるそれをまずって何するところからアルタネイティブソフトで色々あります
kikimimi: 待ってくんないと困るの意味が使えない人もいるので行くのはなんかいろんな対処方法あるよねおってなった時のペロペロこれは見て未だに本当に終了の仕方を覚えられない日々を過ごし方わかんないローディングローディングすげーメッセージバラバラって流れたこれ今クスって何この場にいいワックスの人がいないってことだけ旅行かいます
kikimimi: てあげてる写真集お渡し会と私は日も OK なんであの後の作業は全部ビームなんですけどあの家で働いてる人たちは日も使えないんであのそっからきっととの連動とかもあるんで設定してますかるパックもさすがに入りと変数を言いまくりすることはないぞぺってそうだけどガルパ君の声が聞こえないとされてんだよね
kikimimi: なんか雨マイクがなんかうまくマカオと開いてないんじゃないかもう今車に俺はないと思うって言ってもしなかったような感覚論タクシーとかその VI 住んでいますが価値があるのは驚き最初に話してると思うよ俺はそうですかはい大丈夫ですよ意外にいるか
kikimimi: 別シートこだわりを作らないといけないですよなそうなのですごいは今はそれを否定するジェットシェルって8エスケープアスタリスクとかの扱いが立ったりするじゃんあの保管するためのバクスラでエスケープしないといけないとかあそれこの前あの新卒研修行ってた時サポートした時にそれで困っててアプリ
kikimimi: Shell parameter 文字を教えちゃんと最初に教えるしかないっていうのはあると思いますけどね間違いの部分もあるんで覚えることが覚えることが多いのは間違いないと中でエクスプラネーションとか展開してでも抑制できまのバーストパールやって君は来ずそのモバイルシステムするみたいに欲しいそれがもデフォルトなっちゃいました
kikimimi: ライセンスの問題でセットしてるんだったんですもんね gpl が嫌という言葉と違ってみんないみたいな話した方が全然違う話なんですけどもないパンは何で. PM にレーニンサブルーチンみたいなのを書きたいんですかこれはですねあのーまずですねあのある数があった時にその声をテストするための行動を食っても試せるようにしたいみたい
kikimimi: 済むからとかそういうえっとですねあのこれ半分教育も入ってるんすよまりさのモジュールの書き方とかクラスの書き方みたいなのを教えて行く時にそのちょっと書いてはすぐコマンド行から動かすんでその他してうまく動いたものを組み合わせてまた新しいメソッド借りてみたいなの子ステップバイステップで教えていくっていうそういう教育プロセスと組み合わせては基本的にテスト書かなくて呼ばないよねっていうのを買いたいそのテスト書く前からどのコマンド行で使いながらこうこんなこんな過疎メソッドがあると便利だよねこういう風なのを避ける男と男のデータ変換できるよね皇室御するとこの結果が帰ってくるよねみたいな濃厚をボトムアップに積み上げて
kikimimi: 例えば最初からその最初に例えば. PM じゃなくて本当. PL 的な感じで手続き的なものを買っていうよりかは足をもうちょっとモジュール化. PM か書いたほうがいいよって言うを叱って欲しいそうですねそこはですねと PL の前にパールのベルトをしてるんですよまずコマンド業法とその. PL を省いてコマンドワンライナーでスタートワンライナーと PM を直結させるみたいみたいなのにしたいってことなんだそうやそういうプロセスが一番初心者にとってサマーランドが短くて語学びやすいってんですねあとついでにコマンド熊野古道
kikimimi: あのパールのでバンカーがすぐ使えるさっきみたいに車の実行できる PM に出力と頭に perl スペース- D って書くだけで馬鹿に突っ込めるんで即座にこのメソッドを試せるありました他のネタにスイッチしてください明日のゲットでお花でもよくあるんでますゲットぷとをロールでやると同じような感じでコマンドとして使えるようになるのでますねあのテストか基本的なテスト書くのとあと大工とかあの辺で
kikimimi: えっとえっと何をあげています次回開催を入れたらどうですかね僕別にいつでも多分できると思うなら他の人はなかなか難しいとも言えないからゴールデンウィークの2日とか4日とか5日とかでもいいですかそれ全然わかんない基本的大丈夫ですお店ゴールデンウィーク

ところで、八王子は納豆うりきれてません。

こちらからは以上です。

自己流リモートワー筋

コロナがどうこう以前から完全在宅勤務対応型人材のうずらですこんばんは。PCを前に椅子に座り続けての仕事をもう四半世紀はやってます。

さて、突然在宅勤務が始まった皆さんをみていてメンタルもそうですが、体の不調を見かけます。たとえば「腰が痛い…」という声をちらほらみるようになりました。わかる。

椅子

私はここ10年くらいハーマンミラーのエンボディチェアをつかってます。むやみやたらに高いけど、主要な部分以外はプラ部品が多くて高級感がないといわれる不遇の椅子です。そして糞重い。

金を出すならアーロンじゃないの?といわれますが、私は後傾の姿勢で「背中でも体重をささえる」とよいと考えておりますので(これが合わない人もいるとはおもいますが)これが一番なんです。(詳しくは公式サイトをぐぐってみてくれ)

背もたれも無駄に動的なリクライニングなどせず「角度を固定する」ことに特化した作りになっていて、そこも高ポイントですね。ヘッドレストがないのが不評ですが、椅子で居眠りしないならいらないでしょう。あと、後述しますが後頭部をおさえるより首でサポートしたほうがよい。頭の重さを首にかけない。

あと、ヘッドレストはないですが、肩の部分までサポートはあります。肩のあたりまで背中がちょっとだけ左右から包む感じで、それでいて背板(?)が多少しなやかなのですわりながらの背伸びの邪魔にはなりません。

とにかく前傾にならない、肘で体重をささえない。

外からみるとすっごいだらしないんで、自宅でこそやりやすいスタイルです。

傾きは、色々試すと良い。

あ、あと肘自体は私は肘置きにおいたり置かなかったりですが、肘置きは姿勢をかえたり立ち上がる時にこそとても重要です、つけたほうが良い。

フットレスト

これがさらに重要かもしれないです。使っている人をあんまり見かけないんですけどフットレストです。

正直だっせえ!おしゃれワークスペースに置きたくない!というのはわかりますが、これは後傾姿勢では本当に効果があるのでおすすめします、これがないと太もも裏が圧迫される…とか詳しいことはしりませんけど、どうやら足の重さが分散されますのでお尻もいたくなりづらいです。

なお、足は投げ出し気味で、それに甘えず足は動かしたほうが良いですね。

あ、固定式と可動式がありますが、ダサい可動式にしましょう。やってみないとわからんものです。

座布団

椅子の上に座布団を置くのもよいですね(すると座面が上がってしまうので、フットレストはやっぱり必要です)、高い椅子でも座面はへたるし。ぼくは今は空気をいれる座布団を引いています。表面はスエード調ですが、ムレるのが欠点。まあ相応なスウェットはいてればいいんだけど。

空気圧をいろいろかえて調整しましょう、デブなら気圧高めがよい。

旅行時にも使えて便利。

パーカーのフードを首の後の入れる

これはなんというかせこいテクなんですが、エンジニアが大好きなパーカーのフードをちょっとまいて首の後にいれて、それを背もたれに押し付けて、これで首(から後頭部にかけて)をささえると楽になります。これができるくらいに後傾しているのがいいですね。

頭の重さを首にかけないで椅子にかけましょう。(これが単なるヘッドレストだとできない)

これは人の目があるとできない(みっともないからw)テクです。

立ち上がる習慣

頻繁に立って座って水を飲んでトイレにいくことをおすすめします。目安としては30分〜60分に一度立って、背伸びをして、部屋を一周してまた座ると良い。

私は喫煙という悪癖…脳内タイマーがあるのである程度で自動的に立ち上がってますが、一時期禁煙してたときは無限に連続作業ができたので腰が結構やられました。皮肉なものですね。

プランク

プランクはマジで腰に効果があります。個人的にプランクやっても腹はあんまり凹みませんが、腰のだるさはなくなりました。なるほど体幹(体感とかけています)。

とはいえ、効果が出はじめるのにはちょっと時間がかかりますね。1月くらい毎日やってれば出ると思いますが、世界には一ヶ月プランクを欠かさずできる人とできない人がいるので…。でも効果あります。

プランクは一度やればわかりますけど、見た目の10倍キツいので「こんなの無理!」といってやらない人が多いですが、本当に筋肉のない人や腰が弱い人はハーフプランクから始めるのがいいんじゃないですかね。

ただ、ちょっとキツいくらいじゃないと効果でないのでそこは注意。なれたら回数をわけてでも追い込んだほうが良い…きがする。楽にできてたら効果あんまないですね。それでいて必要なのは一日2分とか5分とかだし、寝る前に布団やベッドでやってもいいと思います。

机の高さ、モニタの高さ

これも主義主張あるとは思うんですが、私は書物をするにはすこし高めな机を使っています。よくOAデスクは肘が直角に〜(これ昭和の情報か?)っていわれますが、なんとなく筋によろしくない気がします。

腕は前へならえ状態とまではいいませんが、後傾の姿勢でだらしなく前に腕をなげだす感じの高さで、キーボードはできるだけ遠くにおいております。

モニタの位置は見下ろしがよいといわれていますが(これも昭和か?)、後傾のスタイルだと勢い顔が多少上を向くので無理に下げる必要はないかと思います。むしろノートPCだと首をだいぶさげないといけないので首をやられます。

モニタの遠さ

これ、多分相当に重要だと思うんですが、両手を突き出して届かないくらいの距離のほうが良いです。自分は両手をのばしてさらに拳1〜2個くらい先にある。目の(焦点を合わせる)筋肉を少しでもいたわったほうが良い。

そして、そのためにでかい面積のモニタをかいましょう、DPIをさげろ。私は今つかってるのは42inchです。小さい画面はつらい。

あとは明るさを下げ気味にすることですかね。オフィスは明るいからいいけど、家ってオフィスより暗いんですよね、ざっくりいって、部屋の壁紙と同じくらいの明るさが良いと思います(壁紙の色も色々あるが…)。

エディタの背景を黒くするのももちろんいいんですが、ウェブとかは大体白い背景なので効果があります。

キーボードの高さ

これは趣味の範囲もあるとおもうんですが、パームレストはあったほうが良い。で、手首をうかさない。腕の重さを肩にかけるな。

私は100均のクッションマットを半分にカットして重ねて(当然)キーボードの前におき、大きめなパームレスト兼マウスパッドにしています。枚数かえたり、(カットして)形をかえたり、工夫ができます。

これも相当にダッサイので、自宅でしかできないテクだと思います。

布団の中でスマホを見るな

リモワしていると、無限に仕事ができるので、無限に液晶を見ます。結果私はかなり睡眠をやられている。リモワと全然関係ないようにおもえますが、さっさと寝る努力をいつも以上にしたほうが良い。

特に家の中にしかいないと体力が余って、なおかつ通勤がないので朝起きるのが遅くなりがち、それにまかせていると寝付きが悪くなるのでがんばれ。

耳栓

ヘッドフォンで音楽を聞くのもしばらくすると飽きます(あ、音量は低めがいいですよ)。耳栓、ヘッドマフ、あるいは音楽を流さないでヘッドフォンをかぶるのは結構いいですよ。オフィスほどではないですが、自宅もそれなりに生活音ってやつがある。

個人的には、気合いれて寝たい時や、いまいち眠りが浅いな〜って時には寝る時にもつかうことがあります。

ただ、耳栓って連続利用してると耳穴にダメージがはいることあるんですよね〜、常用は気をつけて。

自炊

これ、買い出しにいくのが面倒なのでやらなくなりがちですが、料理や食器洗いすると適度に立って無心になれるのでおすすめです。

とはいえなあ…いま買い出しにいくのもなあ…。

とりあえずカップ麺はやめよう、野菜多めで作りましょう(月並み)

おわり

というような自己流Tipsをつらつらと書きました。ただしいのかは保証できない、私は正しいと思っている。(自分の経験を科学的な根拠なく語るのは愚者では?w)

一応追記しておくと「この体勢がベストだからこれに固定!」ではなくて、適宜体勢をちょっとかえるとか(深く座ったり、あさくすわったり、腰を左右にひねったり)、なんというかまんべんなくしたほうがよい。これもオフィスだとおちつきないとか、だらしないと言われるが、自宅なら好き放題です、やったね。

リモートワークは電車通勤より自分は楽だとおもうんですが、あきらかに合う合わないがあります。自分の体験がただしいと言いたいわけではないんですが、似たような特性の体を持った人もいるだろうなと。まあ、暇でしょうから、ためしてみてはいかが?

コロナウイルスに負けずに引きこもっていきましょう。