kanemeate

働きたくない

ビットコハメ太郎

ビットコイン買ったこと無い。

f:id:i_ll:20200119153108p:plain 

例のバブってた頃にアンチを気取りつつもこっそり仮想通貨に手を出し無事養分になり早2年が過ぎた。

当時はクソ人気でスムーズに口座が開けず順番待ちとなり、2018年1月中旬という出遅れも出遅れの時期にやっとコインチェックで買えるようになってXRPXEM、LSKをそれぞれ約10万ずつ買った。ある程度期待しつつもギャンブル扱いなので、当時特にバブル枠で盛り上がっていたXRPと性質が近いと考えたXEMとLSKの3種を購入。コインチェックの他にはZaifも開いたが、先にコインチェックから開設通知が来たのでコインチェックを選んだだけである。Zaifに至ってはテックビューロは実質廃業の運命をたどっており、センスがないので余計なことはしてはいけないことがよくわかる。

早々に全体的に落ち込んできたので撤退したい気持ちになりつつボケっとしていたら2週間もしないうちにコインチェック事件が発生し、全取引がロックされて強制ホールド。事件のバタバタを見て、民主主義で運営される通貨なんてものは幻想で、所詮怪しい団体が管理決定権を持っているだけのクソ怪しい通貨でしかないと感じたことがセキュリティリスク以上に大きく、今後関わる必要がないなと判断して完全撤退を決定。

値下がり続けるのを指を咥えて見ることしかできずコインチェックに怒りを募らせつつも待ち続け、3/12にXRP、3/22にLSKが取引再開された瞬間に即全売却して撤退。XEMが賠償で50%程度、XRPとLSKが1/3程度になり、結果10万強が帰ってきて無事致命傷で済んだ。仮に事件直前に売っていても20万帰ってきてないし、XEMは0を覚悟したので思いの外マシではあった。

とっくに撤退しているがコインチェックのアカウント自体はずっと持っており(Zaifは移管手続きをしておらず、一切入金もしていないのでそのまま消えた)、各種お知らせメールが飛んできていてウザいのでそろそろクローズするかと思って久々にログインした。

仮に今でも持っていたらどうなるのかを確認してみた。1/19 0:00価格で、XRP 26.575円、XEM 4.395円、LSK 77.535円になっており、暴落騒ぎの当時どころじゃないレベルで下がっていた。持っていた量で計算すると16278円になった(XEMは強制売却なのでそうはならないが)。金は簡単に溶ける。

他の通貨を見てもマシなもので1/3〜1/5程度になっており、酷いものだと数%になっていた。ビットコインだけは当時とほぼ同等の水準を維持していて、これだけは何かモノになるんかなって思わないでもない。

もう手を出すことはないと思うのでクローズ申請を先程出した。

Web開発で食いだして1年たった

転職してからは既に1年以上経っているが、未経験ゆえ見習い期間が長く、実際のプロダクト開発に参加したのがこのあたりだったので、ちゃんと職業として1年というのはだいたいこれくらい。

サーバーサイド、フロントエンド、ある程度のインフラ、運用と技術的にサービスに関わることを色々やっている。趣味でも簡単なアプリケーションを作れるようになり、PCさえあれば何かが実現できるというのは体験が本当に良い。働く上でも組織への依存が少ないのは安心できる。

求人が多くて待遇が良さそうという理由でWebの自社開発を狙って就活し、なんかあっけなく就職できてしまい、なんとかうまくやっている。なんかよくわからないままに昇進しており、もう少し頑張るとテックリード(呼称は適当にぼかしてる)に手が届きそうな感じになっている。日々知らんことばっかで困ってはいる。

経験1年というのはそれなりに足切りになっているようで、歴として1年越えたあたりから転職サイトでのアプローチや文面付きのスカウトが増えてきた。色々な会社があるなあというお気持ちになった。今の所は給与も技量の割に良い水準の額を貰っている上、まだいいペースで伸びる見込みがある。仕事も能力に対してチャレンジングなことをやらせてもらっている。せっかく社内でそれなりにポジション取りもできているので積極的に動く気はない。不満も無いわけではないがあんまり行きたい会社もあるわけでもない。

とはいえ、ここ1年は手当たり次第に知識を吸い上げるのに執着していたが、そういうモチベーションは正直減った。技術は手段という思想が強いものの、OSSとか起業とかやっていくモチベもなければ趣味も豊富とは言えず、人生真面目にやっていく必要性を感じている。労働は糞。

こっそり進捗してる

誰も見てないけど地味に機能増やしてる。https://recommend-2434.netlify.com/

ライバー指定ランダム表示機能と期間指定ランダム表示機能を追加した。

検索制限強めにかけてたり複合検索できるようにしてないのはDynamoDBがそういうの向いてないから。

DynamoDBでRDSみたいな柔軟な検索っぽいこともできないことはなくて、全スキャンしてアプリ側でフィルターかければできるんだけど、そんなことやれば当然通信量が嵩むから費用面もパフォーマンス面も厳しい。某iitaとかにそんな方法がいっぱい書いてある。○んでほしい。

とりあえずライバーと期間絞り込みはあると嬉しいかなって思ってそれだけインデックス貼って現実的なコストで持ってこれるようにした。柔軟に条件指定できるような代物ではないので範囲制限かけたりして対策している。ゆるして。

f:id:i_ll:20191019231130p:plain

 

そういえば怠け者が極まりすぎてシックスパッド買った。

確かに刺激くるな〜って思いながら恐る恐るレベル上げていって11くらいでそこそこ効きそうって感じになった。腹の肉で阻まれたのかもしれない。

にじさんじランダマイザー

とりあえず公開した。https://recommend-2434.netlify.com/

今の所レコメンドは大嘘で、既存のにじさんじ動画から完全ランダムに表示するだけ。ボタン押すとまたランダムに表示されます。

とりあえずfaviconとGAだけ入れた。機能追加は追ってやっていきます。デザインも一切してないので今後がんばりますってことで。

先日書いた通り、API Gateway & Lambda & DynamoDBのよくあるパターンで作った。
LambdaはPythonで書いた。最初はnodeで書いてたけど、DynamoDBから取得したデータをレスポンスに入れることがどうしてもできず諦めた。

ホスティングはモル計算機と同じくnetlifyを利用。前は手元でビルドしてからデプロイしてたけど、今回はちゃんとGitHub連携してpushしたら勝手にbuildして反映してくれるようにした。めっちゃ簡単だったのでちゃんとやっとこうねという話。

データの更新自体は適当なタイミングで手元でバッチ処理走らせて、その内容を基にDynamoにデータ送って反映という感じ。1日1回〜2回くらい新規動画データを反映する予定。

f:id:i_ll:20191006234135p:plain

 

とりあえずランダム出しでリリースできることを目標に

レコメンドロジックの実装は時間がかかりそうなので、まずはランダムで動画を出せる状態でリリースする方針でやろうかと。まあ表示対象のライバーくらいは選べるようにしようかと思う。

どうせREST APIでやるし、簡単な処理だしってことでAPI Gateway & Lambdaを使ってみようと思い立ったがここで問題が一つ。

現状はRDSに全部データをぶち込んでいるが、LambdaとRDSの相性は非常に悪いことで知られている。リクエストごとに一つコンテナが起動し、それぞれがRDSに接続するので簡単に接続数オーバーになってしまう。コンテナ間はやりとりできないのでコネクションプールとかも使えない。

色々と工夫している事例はあるし、そもそもそんなものを気にするようなアクセスは来ないだろうけど、わざわざ明確なアンチパターンをやることもないのでセオリー通りDynamoDBを使うことにした。どうせ無料枠分のプロビジョニングでやるから問題が解決するわけではないけど、万が一盛り上がることがあれば設定変えるだけでスケーリングできるので。

データ自体はRDSに溜め込んでいて、まずは識別できるID情報とライバーに対応するID、videoIDくらいをインポートすることにした。DynamoDBは直接ファイルとかからインポートする方法が提供されていないので、Data Pipelineを使うかバッチインサートで25件ずつチマチマやるかのどちらかになる。

大した件数でもないし、金もかかるので(すぐ終わるだろうから大した額ではないだろうけど)後者でやった。DBから25件ずつcsvの形で引っ張ってsedで加工を繰り返してjsonに書き換えてAWS CLIのbatch-write-itemで投げるのをループするだけのお粗末なスクリプトでインポートした。

大したことやってないけど無駄に色々調べてたら時間食ってしまった。Lambda実装して必要そうなセキュリティかけたらプレ版ってことで公開できそう。フロントエンドも多少はCSSやらで装飾したほうがよさそうだけど。

FAVRICに行った

お誘いがあってFAVRICに行ってきました。公式サイトはこちら→https://favric.jp/

f:id:i_ll:20190930224229j:plain

このイベントを知ったのが開催1週間前。
実際に行くか不透明だったので当日まで特にTwitterで言及してませんでした。
割とタイムラインにはVのおたくがいるはずなのにFAVRICに関して言及されたツイートをほとんど見かけることがなかったので、どの程度宣伝がうまくいってるんだろうという疑問がありました。
音楽系、オタク系問わずライブに類するものに行ったことがなく、そういうのに1回位参加してみるかという気持ちとせっかくのVのイベントなのでという気持ちで参加することに。

公式サイトもやや謎めいており、ファッションショーをテーマにした何かということ以上の情報がほとんど読み取れず。
実際のところはファッションショーをモチーフにしたライブという感じでした。ペンライトに関する言及などもあり、ライブ色が強いんだろうという予想をしていたのですが、ファッションショー要素はおまけ程度で完全にライブといった感じ。まあターゲットから考えてもファッションショーが盛り上がるとは思えないし妥当。

ランウェイを3D投影で作って歩いているように見せたりするのかなどと過剰な期待をしつつ現地に向かい、会場図を見てまーそんなもんだよねという感想になる。あと、結構小ぢんまりしたイベントだなという感想を持った。 

楽しかった部分を書くと、ベタながらヒトガタは非常に良くて最高になってしまった。後はでろーんが非常に良かった。でろーんに関しては個人的に強い感情は持っていなかったのですが、煽りの上手さが抜群でバチバチに感銘を受けてしまった。実際かなり好きになった。限界さんが感極まって絶叫していたのも非常に良かった。

問題点は多数指摘されているので今更ではあるものの思いついたものを記載。
・物販処理の手際が悪かった(会計のwifiの調子が悪かった模様)
・アナウンスが不明瞭で何を言っているかわからず、誘導がスムーズでなかった
・詳細なルールが公式ページになく、雑多なTwitterを漁る必要があった
 ペンライトに関するルールは結構重要に思えたが、ツイートしか存在しなかった
 EGOIST撮影禁止ルールも同様で、ほぼ口コミで把握するような状態だった
・現場のEGOIST撮影禁止、ルーキーズ撮影OKに関するアナウンスが薄暗い中カンバン振ってるだけ
・ルーキーズランウェイが特に顕著であったが、全体的に描画がカクカクしたり不自然な部分が見られた
・ディスプレイに遮られてまともに見えないエリアが存在する

技術的な部分はよくわからないので、まだ未成熟で難しい部分なんだろうなどと思っていたものの、既存のユースのレベルで未熟という感じみたい。ルーキーズの準備が直前で終わったという発言など、現場はそもそも工数不足で相当の極限状態だったのではと推察できる。うまくいっているかという観点では現場の高揚感とよく見えない画面で判断がつかなかったが、素人目でもなんだこれ?って思っちゃうシーンも多数あった。

ファッションショーという出発点は悪くなかったのかなと思いつつもあまり活かした構成になっていなかったなと思う。ランウェイの部分もカクカクしたイマイチ解像度のキャラクターが流れていくばかりで見る気が起きず、結局メインモニターしか見なかった。コンセプトの実現方法という観点では失敗だったんじゃないかなあ。

Twitter等の観測範囲ではやはり賛否両論で、純粋に楽しんだ意見も多くありつつ、かなり厳しい意見も多く見られた。楽しかったという感想も退屈だったという感想もあり、どちらも理解できるというのが本音。

同じようにライブイベントやるなら、おそらくアイドルや声優ライブの方が圧倒的に楽しいだろうという感想は持った。適当だけど。
各種費用、時間、現地に行く体力などを勘案すると正直あまり割に合っていない。

FAVRICはどうやら電通が仕切っていたようですが(関係者席っぽいところに電通と書かれた席が多数あった)、正直IT系に弱い印象しかないのでちょっと穿って見ちゃう部分もある。もしサイバーだったらどうだったんだろうとか思ったりもした。

とはいえ、上で書いたようにそれなりに楽しんだのも事実。来年もやるようなので、よりうまい感じにやって業界を盛り上げてほしいと思うばかり。

検索APIを使った関連動画取得

なんか関連動画取得するAPIがあったような気がするな〜ってAPIリファレンス眺めてたらありましたね1発100quota消費するSearch APIが。relatedToVideoId=[videoId]ってリクエストURLに含めておくと、関連する動画をいくらか取得できて、デフォルトだと関連度順に並べて提供してくれるという動きをする。

1本の動画につき1リクエストで最大50本の関連動画を引っ張ってこれるわけですが、先述の通り100quotaも消費するので頑張っても1日100回しか叩けない。

毎日の制限がある上に微量のデータしか取れないのでさっさと格納する仕組みを作りたかったのと、データサイエンス系御用達の分析用DWHとかを使うまでもないデータ量なのでとりあえず普通に使っているRDBに取得順通りにぶちこむだけにした。

取得と格納はシェルスクリプトでやった。さっさとやりたいのとjq使いたかったから。jqクソ便利。シェルの振る舞いで結構ハマってしまい出来上がったスクリプトzshじゃないと動かない残念なモノになってしまった(zsh使っててコマンドごとの動作確認もzshでやった結果)。

取得したデータを使ってマッピングしてみたいなことがやりたいんだけど、そのあたりの知見は全然ないのでとりあえずデータ貯めながら勉強しつつ試してみる方針。それっぽい技術に触れたのはだいぶ前に50%の確率で株価が上がるか下がるかを当てるアプリを作った時くらい(scikit-learnでSVMやった)。それもちょっと方向性違うよねって感じ。