uzullaがブログ

uzullaがブログです。

ISUCON 10 にチーム curl gottiで参加し、本当に後一歩(主観)で惜敗しました!!

結果!!!!

f:id:uzulla:20200913235549p:plain

残念!!!32位!!!(御存知の通り、当落ラインは31位でした(といいつつ、学生枠があるのでまあ、そうではないし、追試Failもいるのだが、気分気分…))

(あらためて順位はでるらしいですが、まだ公式がだしてないんで、一回ふせておきます。これは22時の追試時のデータがなぜかブラウザにあったので…)

うおおおおおお!!!!おしい!!!!!!!!

今回は id:moznionid:onk と私の三人参加で、去年の屈辱を晴らすぞ!!実際32位はかなり上出来じゃねえの!!??って思うんですが…。

まあ、負けだよ!といわれたら負けですね…。

すげーおしかったな〜〜。マジで手応えアッたんですけどねえ〜〜…。

参加言語はPHPです

今回はチームメイトにお願いしてPHPで参加しました、理由は私もコードを書きたかったからです!どうせストレージが問題になるのであって、言語でそんな差がつくことはないしね(なお、私は非同期処理も準備はしていた)

結果として、アプリサーバーが足を引っ張る事無く終えました。PHP負けてないぞ(負けてます)

今回PHPのコードは(見ていただくと理解るんですが)PHPだけすごくまっとうな作りになっていて()、オートローダー周りでかなり時間を食ってしまっていました。しかしながら、これはPHP7.4をつかえばPreloadで解決です。PHPはちゃんと速いので全く問題になりませんでした。

また、メモリ効率も断然(前より)上がっているので、2GBのインスタンスであっても48ワーカーにしました、余裕です。

むしろ、ベンチが最初の方で負荷をあげてくれないのがマジで悩みどころで、過去みたいに「セール」機能がないのか!?って本当に悩んだくらいです(それがあれば、1000点伸びるのも夢ではなかった…かも)

チームメイトの話

今回自分はコードを書く、と宣言していたので、普段はOSパラメタやnginxとかをいじってるところを id:moznion にまかせました。nginxのコンフィグって難しいですよね、僕は苦手です。彼はまったく問題無く仕上げてくれたので最高です。

今回静的ファイル周りでの加点要素(ミドルウェアでの飛び道具)はあまりなかったのですが、ミドルウェア周りって本当にミスすると全員に迷惑がかかるのですが、彼はミス無く終えたということがインフラ担当としては最高だったと言えます。つかわなかったけど、redisみたいなのもバッチリしたごしらえしていて安心感がちがいました(私はPHPでRedisとかのコピペコードをつくっていた)

え、わからない?再起動試験が一回もミスなかったんですよ?わかりますか?

(すくなくとも、今回私は「Mysqlのパラメタチューンします!」っていって3回くらいテストコカしたからね?)

あとはsshの接続confとかの準備もおねがいしました。 (その間私はレギュレーションを呼んで「botを無視せよ、あと、資料請求と椅子売却以外は加点なし、つまりnazotteにsleepをいれよう(真顔」とか言ってました)

id:onkさんはモクモクと不慣れなPHPでも色々となおしてくれました。ところでイスコンってFail直すのがチョー難しいじゃないですか、テストがブラックボックスだし。ちょっとfailしてもリトライしたり、「あそこかな!?」ってなって手が止まるじゃないですか、そこで「よし戻そう」っていって速攻revertするのは本当に胆力がいることだと思うんですけど、即revertしててさすがだな〜となりました。そして id:moznionも、「そうしましょう!」っていっててこの人達はサンクコストないのか?って思った。

あと、たまに「これ、これやって」と id:onk さんがいいます。私はそのとおりにシュッと実装したらビュンと得点がのびます、すごい。やっぱりボトルネックを見抜く目というものは重要ですね。 (おかげで僕は「やったけど速度があがらない!」というのがほとんど無くて、チートだった気がします)

自分のコードの話

PHPerだから、だとはいいませんが、今回のPHPコードは普段PHP書いてない人だと結構しんどかったかもしれません(まあ普段PHPかかない人がPHP選ぶか?というのはありますが)。

onkさんのエントリにもあったんですが、DB負荷がマックスということは全員で認識できて、

「転地テーブルつくって」「はい」

「テーブル分割してアプリなおして」「はい」

という感じでした(そんで、これでパーーンと点数伸びた)

こう書くとまあ、自分がさもすごいような話ですけど、大体id:moznionid:onkさんが「これ、全く別のアプリだよね、なんで一個なの?」みたいな議論をしており、よこできいていた僕は「じゃあ(PHPerには簡単なので)DB接続分割しますわ」と、返して20分くらいで実装したんですけど「すぐにでてきてほぼ一発で通ったのですごかった」といわれたので、すごかったんだと思います(?)

そう、昨今のPHPは静的解析もきっちりきくし、PHPStormなどの支援も強いのでリファクタリングが得意な言語ですね(俺の最近の普段のしごともリファクタリングですが…)。秒でDIとPDO周りを修正するだけ!

(なんですけど、今振り返れば、DIやPDOを普段触らない人はあれむずかしかったのかもな、「db[PDO::class]ってなんだよっておもった」って言われたし)

ただ、バルクインサートの速度の都合なんですかね?initializeがシェル呼んでててウケた。

失敗したなとおもったところ

これは id:onk さんも言う通り、我がチームが前回も今回も3人司令塔みたいな所だったからだと思うんですが、

onk.hatenablog.jp

「これあかんやろ」を全員でめいめいみつけて、めいめいでやっていっており(まあ前述の通り、私は「これやって」は多少ありましたが)指示出しや、「これどうすんの?」みたいなのが多分他チームより少なかった。

これはオーバーヘッドが少ないものの、逆に「得意なやつがやる(やって!)」「わからんところを聞く(おしえて!)」というのがもっとできたかもしれないとはおもったりはする。

結局コード書く!といっていた自分が、(一声はかけましたが)Mysqlのチューニングしたりしてたり、

(まあこれは「暇だったから」ではなく、自分でメトリック見て「やります!」と宣言してやったわけだが。結果、dstatでreadゼロ、CPUもRUNが98%でサーバがHDDだった事は全く問題にならなくなった)

あとは「PHPで!」と言った事に後悔はないんですけど(PHPは今回の案件においては十分に速いし)、「実はエラーログの出し方がよくわからなかった…」といわれたときに「ああ…ごめん…」とちょっとなりました。

(そういえば、ログといえばAppArmorウザかった)

PHPはログ周りが本当にクセがあり、わからない人はマジでわからないと思う。僕はPHPのエラーハンドリング周りに情熱があるタイプなのでさっさと直したが、それをチームメイトにうまく共有できていなかったのを知ったのは、祭りのあとであった。

単純に悔いの残るところ

DB2台にわけたのをAPPはCPUが20~30%あまってたので、3台に分ければよかったですね、あと20分あればできた。(接続先を3つ用意して、サイコロふるだけだったので)そしたらいけたでしょ、しかしできなかったのでいけなかった。

自分がSQLのごく初歩が書けなくなってビビりました。前回もそうだったんですけど、緊張からか普段絶対にできる事が突然できなくなるんですよね、今回はDROP TABLE IF EXISTS Tableがかけなくて(なんで?!?!)ほんとに最初調子が出なかったです。

こういう時「あっ!呆れられたか!?俺はもっと普段できるんですけど!?」ってなってしまい、その後30分くらいメンタル下がったのですが、「普段のチームメイト」とやっているところはこういうのないんだろうなと思いました。これが心理的安全性とか、チームビルディングってやつか?(フリーランス引きこもりの感想)

PHPerまとめ

PHPは以下をちゃんと活用すれば十分に速度が出ます。そこはボトルネックではない。むしろリファクタがやりすい現代のPHPは便利。

PHPerがISUCONで使うべきツールをここにならべておく

  • preload
  • 静的解析と、それをサポートするエディタ
  • xhprof(と秘伝のタレ)
  • (Apache好きなので気に食わないがw) nginxとphp-fpm(の調整)
  • (今回使わなかったが)Redis
  • (今回使わなかったが)curl_multi(をWrapした様々)

今回の問題に限らず、素振りでもちゃんと書けばバンバン得点でてました、それが確認できたことが私の一番うれしかったことであり。そして後もうちょっとで手がとどかなかったという一番悔しい所でありました。

感想まとめ

本当に、あと一歩をのぼれなかった事をまたしばらく引きずるとはおもいますが、ISUCON運営の皆様にはこのような楽しいイベントを開催し、昨今の風評被害(主観です)にも負けず、実装言語にPHPを残してくれていることに最大の感謝をお送りいたします。

isucon.net

ISUCONは本当にたのしい、そして悔しい。

こちらからは以上です。

余談

PHPerで、composer.jsonみて「…?…???えっ…?」ってなった(わかった)人と話したい。だれか!!

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

こんちわ、うずらです。

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

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

本題、ログ監視

さて、みなさんログ監視していますか?特に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日とかでもいいですかそれ全然わかんない基本的大丈夫ですお店ゴールデンウィーク

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

こちらからは以上です。