Tech
WASMってモジュールとコンポーネントがあって初見じゃよくわからないですよね。 ということでこの辺りの思考整理をする記事です。 諸概念の整理 WASMモジュールとWASMコンポーネント? まず、WASMを学ぼうとした時に「モジュール」と「コンポーネント」とい…
3. cats-effect3(CE3)を利用したScalaの並列・並行処理 前編の続き。 並列処理入門(前編) - JKになりたい 3.1 実装サンプル 詳細な説明の前に、GoやRubyと同じ実装サンプルを提示しざっくりと動き方を確認する。 CE3でも、Goと同じくN:Mモデルを採用してい…
1.1「並列処理」と「並行処理」の違い まず両者ともに「非同期処理」であることは同じ。1つのタスクの実行完了を待たずに、他のタスクを動かすことができる。 違いはその実行方法となる。 並列に実行する場合 複数のコアにタスクが割り当てられ、物理的に同…
はじめに 個人ゲーム開発で困ることといえば、巨大な容量を誇るリポジトリのバージョン管理ですよね。皆さんどうしてますか? 色々なオプションがあるかと思いますが、一番格安かつデータ消失などにも強い方法として自分はAPIGateway+Lambda+S3の組み合わせ…
追記 本記事で利用しているHoudiniで作成したVolumeTextureを以下に公開しておきます。 こちら利用すれば、Houdiniをもっていない方でもお試しできます。 いつまで公開しているかは未定。ダウンロードできなかったらごめん。 ColorSmoke.zip - Google ドライ…
sakataharumi.hatenablog.jp この記事のUE版。 Houdini Engine PluginとSideFX Labは導入済みであることを前提としています。 VATのエクスポート(by Houdini) VATのエクスポートは前回の記事を見ながら行います。 Labs Vertex Animation Texturesノードを使…
現象 会話シーンのデモをテスト的に作っていました。(会話シーンの作り方は本旨でないので扱いません) 話しかける操作を実行した際に、会話のダイアログを出しWidgetに対して操作ができるように、かつキャラクターは操作できないようにしないといけないの…
数多のキャラクターやアニメーションが無料で、しかも商用利用もできてしまうという夢のようなサービスMixamo このアニメーションを使ってゲームを作れたら最高ですよね。今回はVRMで作った自分のキャラクターモデルを動かしてみようと思います。 当然、ボー…
AIcrowd が主催しているコンペ、AI Blitzの#12に参加したのでそのときの結果と解法を記録としてブログに残しておこうと思います。 AIcrowdで開催されるコンペってKaggleよりエンターテイメント性のあるユニークなコンペが多く、前々から興味はあったんですよ…
おはぽえ〜〜 先日、私の通っている女子高の同級生との会話で、Scalaの変位指定パラメータの話題になりまして。(イマドキのJKはScalaが流行中!) 変位指定パラメータって、どういうものかの解説はたくさんあるんだけど、どういう時に使うか?みたいな話が…
並行処理と並列処理 並行処理(concurrent processing) 1つのCPU(コア)スレッドを切り替えながら複数のタスクを実行すること。 人間の目には複数のタスクが同時に進んでいるように見える 実行するスレッドを切り替える必要があるのでコンテキストスイッチの…
前置き 以下が、今回の例で使用するViewとModelです。 class PostViewSet(viewsets.ModelViewSet): authentication_classes = [FirebaseAuthentication] queryset = Post.objects.all() serializer_class = PostSerializer class Post(models.Model): user =…
はじめに Solidityでは意図せずstorage領域を書き換えられてしまう可能性があります。 アクセス修飾子は関係ありません。privateな変数であっても脆弱性のあるコードを書くと簡単に書き換えられてしまいます。 今回はstorage領域が意図せず書き換えられてし…
内容 メールアドレス+パスワード認証、Facebook認証によりサインインし、AWSサービスの一時的なアクセス権限を取得する。 それを使って、DynamoDBにアクセスしてデータを取得する。 ただし、DynamoDBには自分のIDに該当するデータしか取得することはできな…
AWS KeyManagementServiceについて調査したので、そのときのメモ書きを置いておきます。 KeyManagementServiceというサービス単体で存在しているわけではないので、サービス検索でKMSなど入力しても出てこないので注意>< IAM→暗号化キーからKMSのコンソー…
ネストしたモナドの取り扱い モナドがネストして帰ってくることがあります。 例えば、DBに接続してユーザレコードを取り出す時、DBに接続できたかどうかを表すEither、該当のユーザがいたかどうかを表すOptionのモナドがネストして帰ってくるケースを考えて…
昨日から色々あってGo langで開発をはじめました。 超にわかですが、気づいたことやハマったことなどあれば備忘録を残しておこうと思います。 今回は、gormを使ってBelongToの関係にあるFishモデルとWaterAreeモデルのリレーションを組んでみます。 github.c…
Functional Programming in ScalaのExercise6.11の問題をStateモナドを使用して解いてみます。 問題設定 スナックの自動販売機をモデリングする有限状態オートマトンを実装する。 この自動販売機は2種類の入力を受け付ける。 1つは硬貨の投入、もう1つはハン…
Stateモナドについてざっくりと。 状態の変化を伴うミュータブルな計算をFunctional Programmingのコンテキストで表現可能にしたもの。 catsにおけるStateモナドのapplyメソッドのシグネチャは以下のようになっています def apply[S, A](f: S => (S, A)): St…
SwiftのOptionalをResultにするExtension書いたのでメモ。 Resultはこのライブラリを入れてます github.com 実装 import Result extension Optional { func toResult<E: Error>(error: E) -> Result<Wrapped, E> { guard let value = self else { return .failure(error) } return </wrapped,></e:>…
確か5系まではmainのpipelineしかありませんでした。 なので、こんな感じでtagなどでoutput先を切り替えたりしてました。。 output { if "hoge_feed" in [tags] { elasticsearch { hosts => ["http://127.0.0.1:9200"] index => "hoge" document_id => "%{it…
DCGANによる顔画像の生成 データセットはみんな使ってるこれ。 mmlab.ie.cuhk.edu.hk 画像サイズを28x28x3(RGB)に整形して入力とする。 ポイントは、batch_normalizationを導入すること、らしい。 これは、ミニバッチ毎にデータを標準化する手法。 各レイヤ…
GANってなんや GAN => 敵対的生成ネットワーク 敵対的、とあるように2つの異[なった役割のネットワークが競い合う。 よく説明で使われるのは警察と偽札を作ろうとする偽造者の例。 警察は特定の紙幣を調べ、本物か偽札かを判別する。 偽造者は本物とそっくり…
VTuberになりたい!のでやってみました。 ざっくりした作り方とか、制作過程のメモとかは↓で。 sakataharumi.hatenablog.jp 1. とりあえず動いた! 感動の瞬間です。 なんか鏡が暗いし、内股で、手の角度もおかしい、表情もない等欠点ばかりですが、とりあえ…
女子高生になりたい。 せや、バーチャルユーチューバーになればええんや! ということで、VTuber環境を構築したメモです。 成果物はこの記事に置いてます。 sakataharumi.hatenablog.jp 使用したもの [VR Device] HTC Vive [ソフトウェア] Unity(開発) OBS S…
LSTMの解説をしようと思ったけど、なかなか重い腰があがらなかった。 なので、以前に輪講で使用した資料をそのまま貼り付けて記事にしようと思う。。。 MLP深層学習 LSTM from Shuhei Sowa 間違っている点もあると思います。随時ご指摘願えたら嬉しいです。 …
MAMPのPHPにphp-mecabを導入する方法ってあまり載ってないようなので書いておこうと思います。 mecab自体は入っている事を前提としているので注意。 環境OSX 10.11.6 mecab 0.996 MAMP 4.0.6 PHP 7.0.12 MAMPが4系じゃない場合はアップデートして下さい。 導…
SQLAlchemyのback_populatesとbackrefって何がどう違うの?っていうかどっちも書かないとどうなるの?という疑問に対する答え。 結論から書くと、 (1)backrefを使用した場合 双方向のリレーションを自動的に組んでくれる。 (2)back_populatesを使用した場合 …
Xcode8でFirebaseのCrash Reportingを使おうとしたらハマったのでその時の話をメモっときます。 (1) Firebaseの導入 まずは、https://firebase.google.com/docs/ios/setup に書いてある通りにFirebaseを導入していきます。 そして、iOSシミュレータ上でRUNし…
大規模サービズ技術入門に紹介されている圧縮プログラミングを試してみます。 圧縮対象のデータは http://gihyo.jp/book/2010/978-4-7741-4307-1/support#supportDownload からダウンロードできるeid_tags.txtというデータです。 中身は「タイトル 数字1,数…