MirakurunのProgramID、network_id+service_id+event_idだったのか……
ボンクラプログラマー
頭とお腹が弱い。
最近は個人鯖の @shibafu528 がメインです。
⚠️ CW設定のない下品な発言が非常に多いです。これは仕様ですのでご了承下さい。
ℹ️ spam対策でフォロー承認制にしています。上の一文が構わないという方ならお気軽にどうぞ。
FINAL FANTASY XIV 関連の著作物は
(C) SQUARE ENIX CO., LTD. All Rights Reserved.
MirakurunのProgramID、network_id+service_id+event_idだったのか……
おきてからずっと朝飯も食わずにprotoファイル書いてる……
Already existsはgrpc status codeに存在するが、既に存在したら何もせずにデータ返す系の動きにしたかったので、それとなく伝えるだけの感じにした
うーむ、雑にprotoこねこねしてるがこれでいける気がまるでしねぇな
2時間もprotoこねこねしてたらそりゃしんどくもなるが、結局データ構造が神なのでそうなるんだよな
最初に決めたデータ構造で全てが上手くいくことはありえないので、ほどほどにしたほうがよい
クイズ 俺はどこでミスったのでcargo buildに怒られているでしょうが発生した
メソッドの型ミスっぽいエラーが出た→A.俺がprotoファイルでtypoしていた
Rustだからというべきか、tonicの構造というべきか、ProtobufのServiceがtraitとして表現されるので全部とりあえず実装しないとビルドが通らんね
ruby-grpcだとServiceのスタブを継承してオーバーライドする形なので、とりあえず虚無でも全部UNIMPLEMENTEDで返ってくるサーバにできるんだけど
これあるサービスはRustで書いたり、またあるサービスはgoで書いたりしてみたら勉強になって楽しいかもしれんな
これあれだな、Serviceに〜Serviceってつけると命名に死ぬほど困ることになるな
protobuf上のService名がそのままtraitの名前になるので、じゃあstructの名前どうするよ?ServiceServiceか?ServiceImplか?いやimplって別のとこでも言うとるやんみたいになる
実はgrpcのexamplesはこれを巧妙に回避していて、〜Serviceって命名をしていないんだよな
これ、
use path::to::trait::HogeService as HogeServiceTrait;
struct HogeService;
impl HogeServiceTrait for HogeService { ... }
として回避する方法が考えられる
network_id, service_id, event_idをPKにしようとしたら、Chinachu beta時代のデータにはnidが残ってなかった回
36進数strをu16にしたいんですが、u16::from_str_radixしかないすか
Chinachu beta時代のid
Chinachu beta時代にevent_idが衝突して回避文字が入ったid
Chinachu gammaのid
Chinachu gammaでevent_idが衝突してタイムスタンプが末尾に入ったid
の4種類があるな?
そして、4番目のパターンは途中で修正されたbugなので、Chinachu gammaにおいてはID重複が存在する
でもID重複も、俺が録画してたやつだとニチアサ枠くらいなんだよな…
これ、else側でchinachu gamma形式のIDであることを正しく確認してないので修正中
/^[0-9a-z]+(-\d+)?$/ であることを確認しないといけない
間違えた、後ろも36進数だ
/^[0-9a-z]+(-[0-9a-z]+)?$/
あと、いれこになって欝陶しいので普通にグローバル置きしようとおもいます (どの道この.rs内でしか使わんし)
once_cellだとクロージャ書きまくることになるけど、macro_useしなくて済むんやなあ
program_idどうするか考えてコード書いてただけで日が落ちてしまったんだが??
今日、20:00〜名取さなで、21:00〜日下夏稀なんですよー
DTV向けのストレージシステムなのでdtvaultって名前つけて書いてるけど、どうみても童貞vault
JSONをファイルまたはargvから読む、前者は一括処理、後者は単一レコード処理。として、argvに直書きされてるやつなんか実質一生なのでコピーしなくてもやれるんちゃうかって思ったわけです
なんでargvに直書きされてるのを想定してるかは、まあ、そういう渡し方をしてくる外部プログラムと繋げたいからです……
(argvにjson書き殴らせるしかないI/Fを見た時、俺はもちろん絶句しましたよ)
Q. 本当にそんなものあるんですか
A. https://github.com/Chinachu/Chinachu/blob/988a87e72e4b9e19deb433b57eda92813361f3ad/app-operator.js#L450
これうっかりあっちがわはテンプレ展開するのかと思ったら、マジでそのままexecするやつやん ちょっとclapの設定考え直さねば
この連携I/Fだとこっちのコマンドに必要な設定値とかどうしたものか。中継用sh置いてもいいけど、JSONぶんなげてくるヤバインターフェースな時点で下手なもの噛ましたらエスケープミスって死にそう
chinachu-operatorのenvに設定してあげれば引き継げるか
clap、通常は2引数を必須で受けるけど、特定のオプションが指定されてるときはそれらを受け付けない、みたいなのも書けるんやなー
コンパイルされているはずのprotoに対応するstructが見えなくてRPCメッセージ作れねえ
今日中にクライアント側プロトタイプ作り上げたかったんだがなー
This account is not set to public on notestock.
そたえぬのPHPコードの頭にBOM入れてQuirksモードにしちゃおーーーーwwwwwwww
これは素PHPerを怒らせることができるって体験から知ってるからな
エントリポイントになってるファイルの頭に仕込むだけで爆破することができる、namespaceいらんとこでもわざと書いておくと処理系がFatalしてくれるので分かりやすくなる(まめちしき)
CSSはQuirksになりJSONエンドポイントは頭にゴミがついてJSON.parseできなくなった回本当に今でも怒れるな
あぁ、やはりJSとかいう頭ゆるふわ言語から吐かれたJSONとかいうゆるふわフォーマットを静的型言語でしばくのだっっっっっっっっっる
もっと鬱になってるのはこのJSONにはordered objectが含まれていることです
number | stringが湧いてくるわ、ordered objectが湧いてくるわ、JSだなあ。
error[E0277]: the trait bound `indexmap::map::IndexMap<std::string::String, std::string::String>: _::_serde::Deserialize<'_>` is not satisfied
そもそもOption<BTreeMap<String, String>>で受けてたほうがおかしかったか
Option<serde_json::Map<String, serde_json::Value>> で宣言部コンパイル通過した
JSON の曖昧な部分は struct レベルでは Value で受けて型チェックを自前でやると曖昧さが増したときに対応しやすいかもしれない(個人の感想です)
普通cargo runのRunningの行に出る量じゃない文字列が出ている
cargo run stub "$(jq うにゃうにゃ ファイル)"
みたいなコマンドラインだからね…
流石にコマンドライン上は正気を保ってるけど、展開結果がヤバすぎるし実運用できそうだったら本番でこうなる予定なんだよな……
あとはこれをgRPCでサーバ(※実装は存在していないものとする)に送りつければ、このクライアントexecutableの役割は終わりです
いい加減なデータの加工はいい加減にデータを操作できる言語でやったほうがいい、これが私の遺言です
This account is not set to public on notestock.
とんてー並でかなり満腹になった、体調めちゃくちゃ悪いかもしれない
テキスト処理なんもわからんし、何なら任意の事象分からんから何も言わんほうがマシやwww
かくいう私も日本語2バイトに親しむ必要性とかはあっても他の国を理解していないので、他国のエンジニアに残念そうな目を向けられたことはあります
This account is not set to public on notestock.
テスト頑張るほどrspecとfactory_botがゲロクソ重いのが悪い〜!
そういえばおもちゃ用のPCを1台買う予定で、飽きたらエンコ鯖にするかもしれん
調べ物でタブ開きすぎて、あーこれだからChromeはクソなんだよなーってなってる
tonic-buildで生成したコードがIntelliJで補完されないのつれぇ〜〜〜
猫わ、青汁みたいな色のダイアログボックスの第一印象を読者に植え付けた罪
rustfmtが80文字で折り返すからせっっまつって流石に設定書いた
ProtobufではMessage型のフィールドはnullableだけど、しかしこれがRustとなるといちいちSomeでラップすることになるのか……?
Protobufメッセージをそのままドメインタイプとして使うのはよくないが、しかしそれはそれとして雑にメソッドをextensionできたほうが取り回しやすいんだけどなあ
pb typeだけ別crateで生成してるから何も拡張できなく自分でしてるだけとも
ハッ ここはウサミン星じゃない!?
乗り過ごしちゃった〜!
1時間も寝れねえならその1時間でコード書けたじゃん、クソクソ
寝るならがっつり寝たいのにそのように振る舞わない肉体がクソや
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
あ〜〜プログラミングどうやったらいいかわかんね〜〜〜〜〜〜
将来家の中で生TSが走りまわるかもしれんので肉増やしてもいいかもしれないなあ
別にネイティブの開発でネイティブUIコンポーネントスタックに乗るように書くのは特殊でもなんでもなくて、かつてのメインストリームですが?
それこそPCのOSでも変わりはしないでしょう、せいぜいWindowsならWindowくらいしかないだけで
現代では高級なレイヤーの上に宣言的に書くのが多くなってるから、下が実はDOMだったりネイティブUIコンポーネントだったりするだけだ
メモリだけ多いのクソRailsアプリデプロイするのに使えそう
念の為サラダチキンかってきてあるけど食わなくていいかな〜ってなってる
マジで俺なんかよりよほど社会にボコボコにされている人達がいるんだという認識が強まるばかりである
しっかし前期じゃ運動太郎しか取らねえと言われていた高校だったのになんで通ったんだろう、glitchかな
M1で開発してGravitonインスタンスにデプロイしようぜ
私の地雷は涼風青葉ちゃんがビジネスのために身体を売られてる同人誌です
高校の部活では後輩から競プロでマウント取られ放題になったり、Androidアプリを作れ!ただしHAXMは使えないしADBドライバも使えないけどな!という拷問を受けていたりしていた
ブートデバイス選択が縛られてなかったのでArch Linuxを焼いたUSBメモリからOSをブートすると全てが解決したんですよ
FEとかAPのお勉強をしたり、アキバいくついでに変な大会に出ることになる部だったけど、オフシーズンは作業不能なリソースでアプリ開発を試みる拷問や、Adobe CS3あたりが自由に使えたので部員や顧問の写真でクソコラを作る活動などがあった
手元のタイムスタンプが2016年9月なので再放送でもしてたのかな
やべー長いcargo runを叩いて送ったデータがメモリ上に蓄積されて、別のプログラムからgRPCでクエリできたわーいみたいなところまでやった
Chinachu
↓ exec (M2TSファイルパス、番組情報)
dtvault-collector-chinachu
↓ gRPC (番組情報)
dtvault-central ←→ storage
↑↓ gRPC (req: ID, res: 番組情報)
<client>
TSファイルも送信する気だけど、これはちょっとどういう構成にしようかなと思っている。
一旦dtvault-centralでStreaming RPCでベタに受けてもいいんだけど、単一障害点になるというか、トラフィックが集中しすぎる
BLOBストレージ用のマイクロサービスを追加で作ってそっちに送るようにするとか、考えたり考えてなかったり
dtvault-centralは番組情報を保存する必要があるので、ここでは何かしらのDBを用意したほうがいいか…
RustでDB……DBどれにすっかなあ。俺が使い慣れてるからPostgresという選択は大いにアリ
あいやよくわかってないな、これ同期・非同期ってどう選ぶべきなんだ
nkzn氏がM1 MacでHAXMインストールできない当然のスクショでふぁぼ稼いでて笑っている
昔からゴミと言われ続けてきたarmイメージでの実行はどうなるんだろう でもqemu経由するのか…動くのか?
@babukaru Kensington SlimBlade Trackball
千本パズル - ニコニコ動画
https://www.nicovideo.jp/watch/sm37823992
Tissueもうっかりenv設定が変な状態でデプロイするとLaravelという名前のサービスになる風評被害バグがある
Cocotodon完成させなくも公開したくもないからiMastのMac版出てほしい
そりゃgitオブジェクトと作業ディレクトリの両方にデータあるんだからそうよ
This account is not set to public on notestock.
グルミクのマッチング相手がアレンって名前だったので250msウェイトで音ゲーできないでしょとか思ってしまった
仕事しながら唐突にTDD本読みたくなったが、2冊あるうちの片方しかすぐ出せる場所にねえ…
あるじゃねえかって思うはずですが、これはあひるの脇腹に刺す用なので…
俺の手元にはテロ組織の陰謀によってKent BeckのTDD本が2冊ある、2冊目が届いたときにあひるにでもと言われた気がする
VPN切り忘れたまま音声作品DLしたわけじゃないなら赦される
This account is not set to public on notestock.
RS以外もやるのかよ!?
【94h~_マサラタウン編】ペットの魚がポケモンクリア_Fish Play Pokemon【作業用BGM】 - YouTube
https://www.youtube.com/watch?v=XACws4lMyrA
This account is not set to public on notestock.
んなことしたら承認欲求が満たせなくなって死んじゃうでしょうが
This account is not set to public on notestock.
Streaming RPCを使うためにRustの非同期にもうちょっと踏み込む羽目にあってしまっている
勢いで書いたけどChannelもTaskもなんもわかってないね
対向のプログラム書きたかったが思ったより時間食ってしまった
クライアント書く、サーバ書く、クライアント書く、サーバ書く、を交互にやってる気がする
雑に書くにはGoのが楽だったかもしんねー、にはなってきてる
でけーバイナリを1MB単位で読み取って分割送信みたいなコード書いてるんだけど、えっ送信ペイロード作るたびに新しいVecにコピーするんですか……!?になってる
BufReader.readのdestは1回だけ確保して使い回してるけど
Protobufからの生成structがもうVec<u8>なので死
あっ、先に見積り最大のVecを確保してProtobuf messageにmoveしてから、そこをreadのdestにして実読み取りバイト数でin-place resizeするみたいなテク存在したりしない?
なんか下手に使い回しのバッファ用意するよりも、どうせVec求められるなら毎回とりあえず最大で確保してresizeのほうが利口っぽそうだな
確かにスタックに1MBってやべえな、言われるまで考えてなかった…
めっちゃ適当にスクショ上げてたけど、人間の補完能力なら読めるかもみたいな潰れ方しててアッ…
Chinachuのrecorded.json、久々に今の容量チェックしたら16MBまで膨れていた
used 6.0Gi
buff/cache 21Gi
でクソ笑ってる
なにこのメモリの使い方……と思ったがさっきバカでかいファイルコピーしてたからそれか?
なんやかんや実家のような安心感を覚える言語はJavaかもしれない
AVX-512対応マシン持ってるけど活かされてるのかは分からないし自分では活かせない
遷移時ポップアップ広告とhistory APIで手前に他記事リストねじこむサイトが嫌いです。よろしく。
広告業界自浄ができなさすぎるのでもっとAppleに荒らされてほしい
まあシノギみたいな連中にそんなん求めるのが無駄だし、他のヤクザと抗争させるしかねーんだわ
実家出るまえに高く積まれていた漫画、忘れていた あれを大量に段ボールに詰めたことも
手元にある日2回の薬を見て、朝飲み忘れたことに気づきました
デレ5000兆年くらいやってなかったからあらゆるシーン移動でロードが長いんやけど
最近小さい画面でゲームするの苦手っぽくなったからiPad Proにデレステのアカウント移すかなあ でも有料石残ってそうなんだよなあ
iPad Proに入ってるサブ垢で1回プレイしたけど、5レーンだと手の移動がいたずらに大きすぎるな
パッパラパーマークが掌クルッしてて吹き出してる https://privacymark.jp/news/system/2020/1118.html
PC数日だけ納期早くなったけど、2日早くなったくらいで通知されてもなんも嬉しくねえな
なんかClient streaming受けてる側のプロセスがすさまじくCPUを食う
localhost → localhostの通信で、30分のTSをgRPCで1MB刻みで送りつけて40秒くらいか
送信側はCPU 30%くらいなのになんで受信やたら食ってるんだろう
mode: lisp-interaction って書いたテキストファイルで計算式をメモしておくとすぐ評価できて便利なんですねえ
悪ふざけでデレのアセット一括DLを2台で走らせてるんですが、iPad Proクッソ早い
というかDL開始前のデータチェックからして異様に速かった DL済アセットの量の差はありそうだが…
デレステやるのに12.9インチは流石にでかすぎるが、しかし任意のiOS Deviceに移したほうがストレージIO的なメリットがありそう
はやいストレージ、あらゆる体験がよくなるからやっぱ正義やね…
データ、移すか…?って思いはしたが、やっぱり少し有料石あったわ
Ivy機おいてきてあるから、最悪手ぶらで実家に帰ってもネットサーフィンくらいはPCでできるのか
録画鯖をDefine R5にごっそり載せ替えて静音化をはかりてえ
HDD5発も積んでるのにむりやりmATXサイズの箱に入れてるの無理があるんだよな
なんかのコマンドが実行されたと思ったら強制射精させられた。えっ何この夢…?
えっ何で何で何でちんちんはstdoutじゃないでしょ何で、みたいなよく分からんこと口走ってた、夢の中で
引っ掛けられてる電柱っていつもだいたい同じだなあ、マーキングって言うくらいだしそういうものかなと思いながら通勤してる
そろそろ突然PT3おじゃんになったときのためにPLEXのチューナー試してもいいかもしれんな
百合漫画渡されても百合の味わい方をあまりよく分かってないんだよな
なんか職場PCのChromium更新してから、カジュアルにGmailとかがアンロードされた感じの動きしててすっげえ鬱陶しい
今日変なJS見てこれバグなのか狙い通りなのかどっちよ…みたいなこと書いたら一瞬でこれはこういうイディオムがあってな…と言われてJS怖すぎて震えた
type Ochinchin interface {
ejaculate() Sperm
}
if err != nil {
return err
}
しか覚えてない
今これを見ていますって書いてMac App Storeのスクショを貼りそうになったが、リアルネームが入っていることに気づけたので取り消しました
今日はバカっぽいスクリプトを作って社内Slackに放流したらもっとちゃんとした場所に置いてって言われてハイ…つってた
fzf、会社で使ってるくせに家ではインストールすらしていない
今はコードを書く気が思ったより起きなくて、Xcodeが永遠にアップデート完了しないのをながめてます
8時くらいに目覚めたけどもっと寝かせろやボケ!!つって寝たら体調悪くなって草
普段買ってるボディソープがヨドで売り切れてて発注を1トランザクションに収められねー でもそろそろ買っとかないと切らしたときに思い出しそう
実はyuzuki.hachune.netに2週間くらい疎通できていない
M1 Airが優勝しまくってる風になってるから、俺の持ってる最後のIntel Airがゴミみたいじゃないですかー
Air 2020 Early、初期はJB製品がOS巻き込んでクラッシュしまくるし、アップルシコリンで早々に終売になったし受難の型番すぎる
クソ強くロックがかかるWin32に慣れていると違和感がすごい
書いているプログラムに求められているのが効率か、効率を損なってでも確実に仕事を終わらせないといけないのかによっていたずらにアロケーションを走らせることが許されるかは変わるって話はしなくていいですよね?
まあ俺は何も考えずにヒープからメモリをガメるし処理系に全部任せるんですけどね、知識がないので
Androidアプリですら今は富豪的な開発が許されている Dalvikはゴミだった
HotSpotがある程度よしなにGCしてくれるから困ってなかった人たちが突然DalvikのゴミカスGCに翻弄された日々〜
必要のないオブジェクトを不必要に量産したら遅い、一応最近実感することはあってソダネ…ってなった
許容範囲を越えてたので最適化するお仕事などが発生してたので
俺rust 1.41.1で開発してたのマジ?????wwwwwww
たしかにこのマシンでrustup updateした覚えだいぶないわ……
stable-x86_64-unknown-linux-gnu updated - rustc 1.48.0 (7eac88abb 2020-11-16) (from rustc 1.41.1 (f3e1a954d 2020-02-24))
そういえばdtvaultをMBAでデバッグビルドするとどれくらいかかるかな
Finished dev [unoptimized + debuginfo] target(s) in 1m 35s
コード書く気もおきんし、ゲームもうまくできないし、外に出る気もおきんわけだ
Spring次やるならMustach使う、あるいはAPIサーバにする
This account is not set to public on notestock.
Thymeleaf、使いはしたけど趣味がどうしても合わなかった
JVMに居座ったままJavaやめたい人たちは既にシフトしてしまってるし、Kotlinみたいな実用振り言語に移りたい人がJavaに残ってなさそう
Android界隈は古いJavaバイトコードとランタイムライブラリに縛られてるのでJavaの新機能とか言われても…な空気がずっとあったし、かといって言語を良くするのにScala乗っけるのはヘビーだとか趣味が合わないとかであまり受け入れられず、Kotlinが一気にゲームチェンジしてしまった感がある
Kotlinはそれなりに素直なバイトコードで、便利なラムダ取る系操作もそれなりに展開されたバイトコードになるし、初期はそんなにランタイムもでかくなかったし(今は知らん)、パラダイムシフトも大きすぎないし、まあ受け入れやすかった所ありますね…
関数を取るメソッドが全部、普通のJavaのように暗黙にクラス生成されて仮想呼び出しにされてたらAndroid的には64k limitが一気に近づくわ遅いわで良いことがない
今ではあまり恐れないかもしれないけど、64k limitは恐怖そのものでしたので
64kを簡単に越える楽しい方法があって、Eclipse Collectionsっていう便利ライブラリ入れると一撃で死んう
別にAndroid 5.0+ならランタイムが複数のdexを軽量にロードしてくれるからどうでもいい
今なら本当にどうでもいいが、Android 4.4までをサポートする時代ならmultidexにするとアプリの起動時間に大幅なペナルティがかかるから体験のためには回避したほうが良い
Eclipse Collectionsの主な適用領域、素のJava Collection Frameworkで足りないものを補うこと
そして、プリミティブ型に対するボクシングペナルティなしのコレクションを手に入れること
昔はListViewのレンダリングのたびにオートボクシングの処理を繰り返すのGCに負荷がかかるから避けたくて、ListViewから参照されうるプリミティブ型を格納したいコレクションはEclipse Collectionsのもので置き換えるとかしてた
もうAndroid何年もやってないから分からなくなっちゃったんなあ
tonicのサーバがマルチスレッドで走ってるのかよくわからん
thread-id crate入れてみたけど、まじで同じスレッドでしか走ってねー
feature flag全然立ててなかったからじゃねーかwwwwwww
はい、rt-threaded有効にしたのでちゃんと並列になりました
カチューぴゃ - ニコニコ動画
https://www.nicovideo.jp/watch/sm37846715
collector→centralの通信はできるようになったけど、格納のデータ構造を何も考えてなかったので先に進めない
あー完全に主目的を見失いかけていた。俺が欲しいのはファイルをどこにどう置くか、ファイルを追加した後にポストプロセスをいい感じにキックしてくれるのを任せられるサーバデーモンがほしいんだ
間違っても録画予約と視聴のソフトウェアがほしいわけではない、それはもういくらでもある
一番達成しないといけないこと、ストレージをデタッチしても良いようにすること
iPad Pro 12.9inch + Apple Pencil、保存できるホワイトボードとして便利
適当にジェネリック書いてたらコンパイルは通るけど本当に必要な制約になってるのか自信が持てないプログラムが生まれた