きりみんちゃんノート

バーチャル幼女プログラマーです! プログラミングとVTuberの知見などを書くよ! https://www.youtube.com/c/kirimin-chan https://twitter.com/kirimin_chan https://kirimin-chan.site

きりみんちゃんノート

バーチャル幼女プログラマーです! プログラミングとVTuberの知見などを書くよ! https://www.youtube.com/c/kirimin-chan https://twitter.com/kirimin_chan https://kirimin-chan.site

最近の記事

【緑色変】算数の教養がほとんどなかったプログラマがAtCoderを4年やって緑になれた話

こんばんみんみん。 バーチャル幼女プログラマーという肩書でインターネットをやっているきりみんちゃんというものです。 競技プログラミングのAtCoderというサービスに日々取り組んでいるんですが、この度めでたく緑レートになることが出来ました。 いわゆる色変エントリというやつです。 で、誰?3年前にこんなエントリを書いた者です。 VTuberをやったり絵を描いたりしてる社会人エンジニアです。 専門分野はAndroidでしたが、最近はフルスタックエンジニアを目指してフロントエ

    • Nuxt.jsとTypeScriptで実装したオリジナルローグライクカードゲーム「なろうザVTuber」をリリースしました。

      こんにちは、きりみんちゃんです。 普段はVTuberとして配信をしたり競技プログラミングをしたりしています。 先日、個人で開発しているゲーム「なろうザVTuber」のベータ版をリリースしました。 ジャンルはデッキ構築型ローグライク育成シミュレーションみたいな感じです。最近インディー界隈で流行りのやつですね。 ブラウザで無料で遊べます。 ゲーム紹介ゲーム画面はこんな感じです。 思いっきりWebのUIで作成されています。 しかし当たり前ですがちゃんとゲームになっていて、ちょ

      • 執筆のレビューに参加した"問題解決のための「アルゴリズム×数学」が基礎からしっかり身につく本"をダイマする

        こちらの本の執筆中のレビュワーの一人として参加させていただきました。 自分が手伝ったからというのももちろんあるのですが、内容がかなり自分好みなものになってオススメしたい気持ちがかなりあるので、勝手にダイマ記事(not 案件)を書きます。 どういう本か(概要)タイトルどおりなのですが、数学とアルゴリズムについて解説している技術書です。 他のアルゴリズム関連の本に比べると、どちらかといえば数学に比重を置いた内容になっています。   扱う範囲としてはまず中学レベルの数学、具体

        • 義務教育の算数、数学を1から独学で勉強してみた話

          このエントリはMath Advent Calendar 2021の5日目の記事です。 こんにちは、はじめまして。バーチャル幼女プログラマーのきりみんちゃんです。 普段はアプリ開発やWebサービス開発などをやっているVTuberです。 今回はタイトルの通り、算数、数学を勉強した話について話したいと思います。 なお、きりみんちゃんは7歳なのですが一部時空が歪んでいる場合があります。 どうして算数、数学を勉強しようと思ったかきりみんちゃんは不登校であまり義務教育を受けておらず、

          解説を読んでもよく分からなかった人のための「いもす法」の解説

          こんばんみんみん。きりみんちゃんです。 最近いもす法が分かったんだけど、検索して出てくる既存のいもす法の解説を読んでも自分で理解するまでは全然意味を理解出来なかったので、もっと理解しやすいいもす法の解説が書けるのではと思った。 いもす法とは競プロなどで活用出来るアルゴリズムの一つ。 元ネタはいもすさんという方らしい。解説としてよくこのエントリがリンクされる。 どんな問題が解けるの最終的な計算を行う前に前処理を行う手法の一つ。 主に配列やグラフなどの一部分に対して同一の

          解説を読んでもよく分からなかった人のための「いもす法」の解説

          AtCoder茶になってから1年かけて灰に色変しました。

          天才のみなさん、こんばんみんみん。競プロ系VTuberかもしれないきりみんちゃんです。 この度めでたくAtCoderにて色変することができました。 去年の1月に茶色になってから苦節1年、とうとう灰色に戻りました。 あああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ

          AtCoder茶になってから1年かけて灰に色変しました。

          VTuberのプロフィールサイトをリニューアルした話

          こんばんみんみん! バーチャル幼女プログラマーのきりみんちゃんです。 今回はきりみんちゃんのプロフィールサイトであるkirimin-chan.siteを再構築した話を書いてみたいと思います。 突然ですが、創作活動をしているみなさんは自分のプロフィールサイトを持っているでしょうか。 昔は絵師の人などは自分のサイトを作ってプロフィールや作品などを載せるのが当たり前だった気がしますが、最近は作品を投稿する専用のSNSやサービスが普及し、更にTwitterが情報とコミュニケーション

          VTuberのプロフィールサイトをリニューアルした話

          KotlinのBinarySearchを二分探索に使いたい場合の挙動が微妙にむずかしい

          KotlinのArrayやListにはbinarySearch()というメソッドが生えているので、ソート済みのリストに対して二分探索による高速な値の検索が簡単に行うことが出来ます。 (JavaにはArrays.binarySearch()というメソッドがあり、おそらく内部的には同じもの) さて、このメソッドは単にリスト内に存在する値のindexを返すというだけの用途であれば特に迷うことがないですが、競技プログラミングをやっていると「対象の値未満のもっとも近いindex」など

          KotlinのBinarySearchを二分探索に使いたい場合の挙動が微妙にむずかしい

          算数の教養がほとんどないプログラマが1年間AtCoderをやった結果の振り返り

          こんばんみんみん。 バーチャル幼女プログラマーという肩書でインターネットをやっているきりみんちゃんというものです。 去年の7月に競技プログラミングのAtCoderを始めてだいたい1年くらい経ったので、勉強したこととかを振り返りたいと思います。 で、誰?YouTubeでAtCoderの過去問を解く配信をしたり、Twitterで無限にAtCoderについてつぶやいたりしているVTuberです。 普段の仕事での専門分野はAndroidアプリ開発です。 半年くらい前にAtCod

          算数の教養がほとんどないプログラマが1年間AtCoderをやった結果の振り返り

          Firebase Cloud Messagingでのプッシュ受信Android実装まとめ(background時の挙動とか)

          Androidでの実装 Firebase Cloud Messagingによるプッシュ通知を実装したらちょっとややこしかったのでメモです。 公式ドキュメントをちゃんと読めば書いてある内容ですが。 Androidでの実装 プッシュ通知受信時にNotificationを表示し、Notoficationタップでプッシュから受け取ったデータを元に詳細画面を表示させるような動作の実装を想定します。 やることやることは主に  ・build.gradleにライブラリを定義  ・Fire

          Firebase Cloud Messagingでのプッシュ受信Android実装まとめ(background時の挙動とか)

          FragmentをonCreateで何も考えずにaddして増殖するケースが後を絶たない件

          このエントリは元々Qiitaに投稿していたものの移植です。 連続して3つの現場で同じバグが発生しているアプリを直すという経験をしたので、おそらくかなり多発している気がするこのような不幸が発生することが減るように書き残しておきます。 ## Fragmentのaddを何も考えずonCreateに書くとActivityのリストア時にリークする 例えば以下のようなごく単純なサンプルアプリ。 public class MainActivity extends AppCompatA

          FragmentをonCreateで何も考えずにaddして増殖するケースが後を絶たない件

          KotlinでProGuardを使う時にapplyなどのスコープ関数内で無名関数のネストが深くなるとビルドに失敗するバグ

          このエントリは元々Qiitaに投稿していたものの移植です。 なんか辛い現象を踏んでしまって地獄を見たので共有します。 結論だけ先に書くと、対象のクラスのあるpackageを-dontwarnすることで回避できます。 ぼくの場合は作業していたプロジェクトでproguardルールが反映されないという別の問題が同時に発生していたため、コードを書き換える事で対処しようとしてハマってしまいました。 さて、タイトルどおりなのですが、Kotlinを使ったAndroidプロジェクトでPr

          KotlinでProGuardを使う時にapplyなどのスコープ関数内で無名関数のネストが深くなるとビルドに失敗するバグ

          数学得意じゃない系の社会人エンジニアに競プロとAtCoderを全力で布教したい。あるいは競プロのよくある誤解と楽しむコツ

          このエントリは元々Qiitaに投稿したものの移植です。 このエントリはCompetitive Programming (1) Advent Calendar 2019 4日目のエントリで、バーチャル幼女プログラマーきりみんちゃんが書いています。 きりみんちゃんはVTuberとしてAtCoderの過去問を解く配信をしたりしています。 競プロ、しっていますか?さて、みなさんは競技プログラミング/プログラミングコンテストというものをご存知でしょうか。 かなり昔から行われているも

          数学得意じゃない系の社会人エンジニアに競プロとAtCoderを全力で布教したい。あるいは競プロのよくある誤解と楽しむコツ

          VTuberが身を守るためのセキュリティ入門1.パスワード編(非エンジニア向け)

          ※このエントリは元々Qiitaに投稿したものの移植です。 はじめにVTuberがインターネット上で活動する上で身を守るために気をつけた方がよいセキュリティ知識を紹介します。 内容はVTuberの人に限ったものではありませんが、あえて対象を限定した方が読んでもらいやすいかなと思いました。 なお、筆者はエンジニアではありますがセキュリティの専門家ではないということを予めお断りしておきます。 このエントリは公開前に複数のエンジニアに最低限のレビューをして頂きましたが、内容に誤り

          VTuberが身を守るためのセキュリティ入門1.パスワード編(非エンジニア向け)

          node.jsからWebsockets経由でOBSを操作する

          ※このエントリは元々Qiitaに投稿したものの移植です。 動画配信ソフトのOBSをコードから操作して自動化したいなと思ったので調べたメモです。 obs-websocketWebSocketsでOBSを操作出来るようにするプラグインです。 https://github.com/Palakis/obs-websocket インストーラーが用意されているのでGUIからインストールするだけでOBSメニューの「ツール」に`WebSockets Server Settings`とい

          node.jsからWebsockets経由でOBSを操作する

          AtCoder ABC 162 D - RGB Triplets kの求め方

          アルゴリズム部分は書けていたのに計算が出来なくて解けなかった問題。 けんちょんさんが丁寧な解説を書いてくれています。 ただ、一部理解しきれなかったところがあったので、考えたことをメモします。 具体的には i, j, k が等差数列にならなければならないという制約がついているので、効率よく数えることができる。i と j を固定してあげると、k が自動的に決まるのだ。 よって整理すると、 ・i, j (i < j) を固定すると ・k = 2j - i と決まるので (この

          AtCoder ABC 162 D - RGB Triplets kの求め方