みかづきメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ 書いてあるコードは自己責任でご自由にどうぞ

はてなブログで Prism.js を使う

はてなブログのシンタックスハイライトに JSX / TSX が対応してなかったり、 C# の async/await 当たりが永遠に真っ白だったりしてつらかったので、 Prism.js を導入しました。 導入方法は簡単で、こんなコードを設定の「 head に要素を追加」の部分に付け足…

VRChat でキッシュちゃんを使う

これは技術記事?って思ったけど Unity なのでセーフ。 VRChat で kawaii ポーズキメたいのでビビッときたキッシュちゃんを購入しました。 で、これをこの動画を参考に設定していていってアップロードしました。 しかしながら、表情関連が全く動かないという…

styled-components で定義したコンポーネントから Props を取り出したい

例えば下のようなコンポーネントがあって、 import colors from "colors.css"; import styled from "styled-components"; type Props = { primary?: boolean; } const Button = styled.button<Props>` border: 1px solid ${props => props.primary ? colors.blue : </props>…

React で特定条件で useState を使っているコンポーネントが2回描画される

React.js にて、再描画される必要が無いコンポーネントが、なぜか再描画されている事があった。 調べてみると、 React.StrictMode と useState を使っている場合、再描画しているらしい。 github.com つまり、こういうふうにやってると、描画される必要が無…

Test::More で Non-zero wait status: 14 とでてテストが正常に終了しない

Test::More などを使ってテストしている際、 Non-zero wait status: 14 と出てしまい、 テストが全て走らずに、見た目上は成功して終了する、というケースに遭遇しました。 最も近いものとしては、この現象になります。 www.perlmonks.org exit status が違…

pipenv install mysqlclient が失敗する

タイトル通り、以下の環境で pipenv install のうち、 mysqlclient が失敗してつらい。 なんか Ruby の mysql2 でもつらかった記憶があるので、 MySQL 周りはつらいのだろう。 環境はこんな感じ macOS Mojave 10.14.6 MySQL 5.6 (たぶん) Python 3.7.4 pipen…

TypeScript で文字列パラメータから型を得たい

どういうことかと言われると、こんな感じ。 ある関数 A はパラメータに指定された文字列によって返すクラスが異なる 上記関数 A を良い感じに型付けしたい 自分にはこんな感じの型定義しか思いつかなかった。 class ClassA { ... } class ClassB { ... } typ…

JavaScript のテストで Date を Mock したい

時間に関わるテストをしようと思うと、 Date をなんとかしないといけない。 ただ、 Jest でやろうとするといろいろ面倒だったので、サクッとする方法。 探してみるとそれっぽい事をしてくれる Node モジュールを見つけた。 www.npmjs.com yarn add mockdate …

Windows で壁紙が変更されたことを知りたい

C#

壁紙が変更されたことを検知して、何かしたい!って場面に遭遇したので簡単に残しておきます。 Microsoft.Win32.SystemEvents.UserPreferenceChanged は DPI の調整などでも発動するので、 それ以外の方法で知る必要があります。 そこで、 ManagementEventWa…

ローカルで GitHub Actions 開発をやりたい!

GitHub Actions をちまちま作っているのですが、いちいち push などをせずにローカル環境で 開発する方法みたいなのが見つからなかったので書いておきます。 (そもそも GitHub Actions を作っている人があまりいなさそうだけど...)

AWS CDK で cron イベントを発行したい

定期実行は Azure Functions が楽に使えて良いのですが、ストレージで料金発生していたので、 おとなしく AWS でやることにしたので、そのときのメモです。

Pixela と Azure Functions で日々の SNS への投稿数を記録したい

2018年11月中旬頃から、 Misskey への日々の投稿数を Pixela に記録しているので、 私はこうやりました!という記事です。 普段はあまりしない自作の成果物の宣伝もあるけど許してネ。

人生で初めてアドベントカレンダーに参加してみた感想

某社のアドベントカレンダーに寄稿したので、それの感想みたいなのを。 技術記事ではないけども、まあ分類としてはこっちかなということでこちらに。

GitHub + CircleCI + AWS CDK で自動デプロイをやりたい

ブログネタ何か欲しいとつぶやいたら、「AWS CDK で何か書いて」とネタをもらったので、 AWS CDK でのデプロイを自動化しました。 自動化は正義です。

microblog.pub インスタンスを建てたい

microblog.pub の API ラッパーを作ろうと思ってインスタンスを建てようと思ったのだけど、 README.md 通りにやっても建ちあがらないので、構築方法のメモ。

AWS Cloud Development Kit で静的サイトをデプロイしたい

aws-cdk の更新をそこそこウォッチしているのですが、 最近のアップデートでファイルを投げることに対応していたので、やってみようと思います。

Vuex + VuexFire + Vuex Type Helper + TypeScript で Action を型アリで書きたい

Vuex で Firebase を良い感じに扱えるようにしてくれる VuexFire と、 TypeScript で Vuex モジュールを良い感じにかけるようにしてくれる Vue Type Helper 、 それぞれを同時に使って、型チェックや保管が効く状態で扱いたかった。 通常通り書くならこんな…

Firestore で Reference 型のデータを作りたい

Firestore には RDB の外部キー制約的な雰囲気の参照型 (reference) が使えます。 Node.js (firebase-admin) から、参照型のデータを追加するには、以下のようにします。 import { firestore } from "firebase-admin"; import { v4 as uuid } from "uuid"; c…

API Gateway + AWS Lambda で CORS 対応したい

API Gateway + AWS Lambda で API を作って、 CORS 対応したい。 API Gateway 側に「CORS を有効にする」という設定はあるのだけど、うまくいかなかった。 解決方法としては、 Lambda 側でも CORS のためにヘッダーを追加する必要があった。 exports.handler…

Amazon Cognito で自身のドメインを使いたい

https://{service-name}.{region}~ みたいなのじゃなくて、自分の持っているドメインで設定したい。 ということではまってしまったのでやり方のメモ。

GitHub + CircleCI + Netlify で自動でドキュメントの公開をしたい

ライブラリなどを公開する場合、ソースコード内に記述したコメントなどを元に、 自動でドキュメントを生成し、公開してくれていると非常に助かったりします。 例えば、 .NET の場合は XML ドキュメントコメントを書いてくれれば、非常に助かります。 今回は…

一部 DirectX 製ゲームが起動しないのをなんとかしたい

具体的には Angel Beats! 1st beat や メルヘンフォーレスト が一切起動しなかった。 現象としては再起動直後は正常に動作するが、数十秒~数分後に上記エラーが発生する。 また、起動後、企業ロゴやライセンスチェックなどが起こることもなく、クラッシュし…

GitHub で diff を表示しないようにしたい

Git

Node.js を使って GitHub Pages を作るときなど、必然的に minify されたファイルや コンパイル済みファイル、バイナリファイルなどを commit する必要がある場合があります。 そういったとき、テキストデータとして表示可能な物は、 diff に表示されてしま…

EnumWindows で見えない UWP アプリを除外したい

突然の Win32 ネタです。 トップレベルウィンドウを列挙する場合、 EnumWindows を使うのですが、 そのとき、見えないウィンドウなども混ざってしまいます。 そういうのを除外する方法です。

Internal compiler error: 型 'Microsoft.Cci.DummyModuleReference' のオブジェクトを型 'Microsoft.Cci.IAssemblyReference' にキャストできません。

タイトルママのエラーが Release ビルド時に出た。 ソリューションを閉じる NuGet キャッシュを全て消す (VS から消すと、消せませんでしたと出ることがあるが、それで OK) プロジェクトの .vs ディレクトリを消す bin や obj などのビルド時に生成されたデ…

Vue でいっぱい transition したい

ページ遷移で transition して、ページ内コンテンツ切替で transition してってしたかった。 // App.vue <template lang="pug"> .container transition(name="router-transition" mode="out-in" leave-active-class="..." ...) router-view </template> // components/Page1.vue <template lang="pug"> .wrapper tr</template>…

Flow をやっつける

開発中、なにか重いなーと思ったら Flow がいっぱい動いていたので、やっつける方法。 $ yarn flow stop これでおっけー。

LittleMaidReengaged をビルドしたい

README 通りにやってしたのパッチ当てれば動きます。 diff --git a/build.gradle b/build.gradle index 1541fdb..1f90c5f 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ sourceSets.main { } jar { doFirst { - archivesBaseName = "[1.9.4…

Amon2 で View で使えるメソッドを追加したい

Rails だと Helper メソッドと言われている View で使える関数を追加したい。 そんなときは、 lib/MyProj/Web/ViewFunctions.pm に追加すれば使えるようになります。 # lib/MyProj/Web/ViewFunctions.pm package MyProj::Web::ViewFunctions; # (略) sub kaw…

PerlTidy の自動フォーマットを、特定区間で無効化したい

いやわざとそうやってるんだよみたいな部分まで直されてしまうので、無効化したい。 例えば、下のコードは勝手に良い感じ (?) にフォーマットされてしまう。 my @test_cases = ( [ {}, [] ] ); そんなときはコメント <<< と >>> で囲めばその部分だけ無視し…