ニコニコ生放送のお絵描き放送ネタでペンタブレットを使う
ニコニコ生放送のお絵描き放送ネタで、ペンタブで描こうとしたらページがスクロールしてしまった。 これを防ぎたい。 開発者ツールから以下を実行する。 document.body.style = 'margin: 0; height: 100%; overflow: hidden;' 元に戻すには(bodyタグにstyle属性がない場合)、 document.body.style = ''
ニコニコ生放送のお絵描き放送ネタで、ペンタブで描こうとしたらページがスクロールしてしまった。 これを防ぎたい。 開発者ツールから以下を実行する。 document.body.style = 'margin: 0; height: 100%; overflow: hidden;' 元に戻すには(bodyタグにstyle属性がない場合)、 document.body.style = ''
技術ノートチャンネルには「具体的な解決策が見つかったものを報告・共有する記事」を載せたかったかもしれない。 わかりませんでした。いかがでしたか? を避けたい。 でも、具体的な解決策がわからないんだけど、これどうしたらいいのか悩んでる、ということを共有する記事もほしい。 Twitterに投げるには分量が多いとか。 未解決タグを付ける方法はありそう? でも20%くらい解決したんだけど…みたいな場合に中途半端な未解決タグが付きそう。 前の記事を参照して、解決策1個みつけたわ、みたいな記事があってもいいと思うんだけど、それが100%の解決策でなかったりする場合にベストアンサーではないよねみたいなことがある。 質問IDでも振って紐づけるか??? この記事にリンクしている記事一覧とかあればそれでいいのか?(実装が面倒かも?) まあタイトル詐欺しなければどういう運用しても別にいいのでは… 記事が増えすぎて質が落ちる・埋もれるかもしれんという問題はあるかも? 先にJoplinとかScrapboxとかである程度整理してからの方が雑記事になりにくそう。 そういうのを作業ログチャンネルに入れたかったんだけど、なんだかんだそのレベルの文章をアップロードするのは面倒くさい。 記事としてのまとまりが悪くなりがちな気がする(話題があちこち飛んだり、矛盾した考えがあったりする)。 JoplinとかScrapboxに書くのがちょうどいい? うーん。 https://blog.aoirint.com/entry/2022/pip_compile_metadata_generation_failed/ 上を書くにあたって、Joplinに下書きして、記事としてまとめたものを公開して、下書きをScrapboxに公開する、とバージョン違いのコピーが3個できた。 Joplin: コンセプトがはっきりしないMarkdownの下書き ブログ: 一応方針を固めたもの、Markdown Scrapbox: Joplinの下書きをScrapbox書式に修正したもの これがこういうバージョン違いなんですよ、ということを説明するDBがほしくなる。 バージョンの同期とか面倒だし、あんまりいろんなところに分散させたくないな、とは思うんだけど、いきなりScrapboxに書くのは軽重問わずセンシティブな情報が事故で公開されるということが起きそうで怖い。 でも正直、バージョン管理とか面倒なことを考えているのは無駄な気もする。 記事を書くモチベーションを上げたいんだけど、それとは関係ないのではと思った。 今回については、はじめは自分用のメモのつもりで書いていたけど、Joplinだとどんどん新しいノートが増えて埋もれるし、あんまり検索にヒットしなくて公益性があるなと思ったから記事化した。 埋もれることについては、だいたいキーワードを総当たりの文字列検索でなんとかなるんだけど、ちょっとしたメモ書きは整理するのが難しいし、Joplin上には1700ノートくらい、Evernoteにはツイートとかも保存しているから42000ノートくらいあって、この中に埋もれさせるのは微妙な感じがする… それよりも、SSGに10分かかるのが微妙。 あと、noindexした記事がGitHubの公開リポジトリを通じてGitHub Searchにひっかかったり、Googleにインデックスされる可能性があったり、いまの実装だとnoindexなのにサイトマップに送信されてしまったりが微妙。 雑記チャンネルは、検索性・一覧性を悪くするためにわざとタイトルを付けなかったり、複数の内容を1記事に収めたりしていたんだけど、古いやつをちょっと分割してみた。 粗探しをする人とかエゴサーチャーとか正義の晒し屋とか伝書鳩とかに見つかりにくくしたいんだけど、ある程度こなれてきたらいいのかなとちょっとだけ思った(麻痺)。
https://qiita.com/aoirint/items/09ea153751a65bf4876f#github-release%E4%BD%9C%E6%88%90%E6%99%82%E3%81%ABpypi%E3%81%AB%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3%83%BC%E3%83%89 上の記事のWorkflowテンプレートをちょっと改良した。 GitHub Release作成時にリリースタグをパッケージバージョンにしてpush 構成 mypackage/__init__.pyに以下のように開発用のバージョン情報を記述する。 リリース時にGithub Actionsでリリースタグに置換してからPyPIにpushする。 __VERSION__ = '0.0.0' GitHub Secrets PYPI_API_TOKEN GitHub Workflow .github/workflows/pypi.yml name: Publish a package to PyPI on: release: types: - created env: VERSION: ${{ github.event.release.tag_name != '' && github.event.release.tag_name || '0.0.0' }} jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Setup Python uses: actions/setup-python@v2 with: python-version: 3.x - name: Install Dependencies run: | pip3 install -r requirements.txt pip3 install wheel - name: Replace version run: | sed -i "s/__VERSION__ = '0.0.0'/__VERSION__ = '${{ env.VERSION }}'/" mypackage/__init__.py - name: Build Package run: python3 setup.py sdist bdist_wheel - name: Publish to PyPI uses: pypa/gh-action-pypi-publish@release/v1 with: user: __token__ password: ${{ secrets.PYPI_API_TOKEN }}
https://blog.aoirint.com/entry/2021/github_actions_docker_io_token/ 上の記事のWorkflowテンプレートをちょっと改良した。 Docker Hub以外のDockerレジストリに対応 GitHub Release作成時にリリースタグをイメージタグにしてpush レジストリURL Docker Hub: docker.io GitHub Container Registry: ghcr.io GitLab Container Registry: registry.gitlab.com GitHub Secrets DOCKER_USERNAME DOCKER_TOKEN GitHub Workflow .github/workflows/docker.yml https://github.com/docker/login-action https://github.com/docker/build-push-action name: Push to Docker registry on: push: branches: - main release: types: - created env: IMAGE_NAME: docker.io/username/imagename IMAGE_TAG: ${{ github.event.release.tag_name != '' && github.event.release.tag_name || 'latest' }} jobs: push: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Setup Docker Buildx id: buildx uses: docker/setup-buildx-action@v2 - name: Login to Docker Registry uses: docker/login-action@v2 with: registry: docker.io username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_TOKEN }} - name: Build and Deploy Docker image uses: docker/build-push-action@v3 env: IMAGE_NAME_AND_TAG: ${{ format('{0}:{1}', env.IMAGE_NAME, env.IMAGE_TAG) }} with: context: . builder: ${{ steps.buildx.outputs.name }} file: ./Dockerfile push: true tags: ${{ env.IMAGE_NAME_AND_TAG }} cache-from: type=registry,ref=${{ env.IMAGE_NAME_AND_TAG }}-buildcache cache-to: type=registry,ref=${{ env.IMAGE_NAME_AND_TAG }}-buildcache,mode=max
pip-compileは、pip-toolsパッケージ(jazzband/pip-tools)に含まれるコマンドで、 Pythonパッケージのリストrequirements.inから、 依存ツリーのライブラリバージョンリストrequirements.txtを出力してくれる便利なツールである。 入力例 requirements.in django requests gunicorn mysqlclient python-dateutil requests-oauthlib schedule pip-compile requirements.in 出力例 requirements.txt # # This file is autogenerated by pip-compile with python 3.8 # To update, run: # # pip-compile requirements.in # asgiref==3.5.2 # via django backports-zoneinfo==0.2.1 # via django certifi==2022.6.15 # via requests charset-normalizer==2.0.12 # via requests django==4.0.5 # via -r requirements.in gunicorn==20.1.0 # via -r requirements.in idna==3.3 # via requests mysqlclient==2.1.1 # via -r requirements.in oauthlib==3.2.0 # via requests-oauthlib python-dateutil==2.8.2 # via -r requirements.in requests==2.28.0 # via # -r requirements.in # requests-oauthlib requests-oauthlib==1.3.1 # via -r requirements.in schedule==1.1.0 # via -r requirements.in six==1.16.0 # via python-dateutil sqlparse==0.4.2 # via django urllib3==1.26.9 # via requests # The following packages are considered to be unsafe in a requirements file: # setuptools https://pypi.org/project/pip-tools/ (現在 pip-tools==6.6.2) https://github.com/jazzband/pip-tools ところでPythonパッケージは、システムパッケージの事前インストールを要求することがある。 以下、システムパッケージ名はDebian/Ubuntuを想定する。 ...
modding公式ポリシー: https://www.innersloth.com/among-us-mod-policy/ ReactorのDiscordに解析に使えるDLL(Assembly-CSharp.dll)が投下されている(実装入り) https://qiita.com/Koke1024/items/b22eb842b01399f5694f https://github.com/NuclearPowered/Reactor 実装が不要でインタフェースだけの確認の場合、Il2CppDumperにGameAssembly.dllとglobal-metadata.datをかませて、実装が含まれないAssembly-CSharp.dllを吐き出させることができるので、自前で確認できる(公式アプデ後最速で確認するのに有用) https://github.com/Perfare/Il2CppDumper DLLのデコンパイルには、Assembly-CSharp.dllをdnSpyやILSpyに読ませるとよい https://github.com/dnSpy/dnSpy https://github.com/icsharpcode/ILSpy 処理をインジェクションするためのフレームワーク https://github.com/BepInEx/BepInEx
Gatsby重い 投稿画面ほしい(WebAPIでGit触るのは遅いから嫌) FindyとかにRSSクロールさせているけれど、趣旨に合わない記事を載せたくない 載せたい記事=技術系の記事 新しいアプリケーションをリリースした 技術解説 載せたくない記事=個人的な記事 同人イベント参加してきた 日記 質の低い作業メモ 運用の例 ブログ:趣旨に合う記事だけ投稿する、Twitter:個人的なこと 技術ブログ:載せたい記事だけ投稿する、日常ブログ・Twitter:個人的なこと 記事を書く体力がないことが問題? -それはそう APIのURL一覧とか、参考URL1個載せたら解決する問題とか、そういうメモレベルの記録を残す場所がほしい それはいまScrapbox・Joplin・Evernoteになっている 権利的にpublicにできない個人的な動画クリップとかPDFとかを整理してprivateに残す場所がほしい 小さいサービスを作ってデプロイする頻度を上げたい?? 1つサービスを作るとDBがついてくるから難しいという課題意識がある DBをホストするためにメモリを消費する VPSのメモリ資源は有限 自分1人しか使わないシステムならSQLite3で十分ではないか Postgresは案外軽いかも? 実はDBよりアプリの方がメモリ消費が大きいのではないか DBを作ること自体は簡単でも、未来の保守変更移行が発生する その経験が浅いので、安易にDBを作ることに忌避感がある URLの永続性 エゴサ回避 クソリプ回避 はてなブックマーク、URL付き晒し、スクショ晒しがあるから無理では? こいつここでこんなこと言ってるぜ(=みんなで叩こう)、というやつ 裏アカウントは燃える 画面はReactで作りたい プレビュー モバイル対応 Twitter埋め込み Mastodon埋め込み ニコニコ動画埋め込み YouTube埋め込み OGP埋め込み
設定に自信がないときは、Rate limitが緩いLet’s EncryptのStaging環境で試してから本番環境でやり直す Staging環境を使うには、certbotのオプションに --test-cert をつける 本番環境の場合、1時間内に5回失敗すると一時的に弾かれるようになる(too many failed authorizations recently) Staging環境の場合、1時間内に60回失敗まで緩められている 本番環境 https://letsencrypt.org/docs/rate-limits/ Staging環境 https://letsencrypt.org/docs/staging-environment/
https://qiita.com/umi/items/2074aac509a6e78c4ef4 https://gnupg.org/download/ Windowsバイナリ https://gpg4win.org/get-gpg4win.html https://keybase.io/aoirint フィンガープリント: EFA9 05B1 BAB7 B91E DFF0 5A3F 9404 6621 FF11 BC4B 有効期限: 2024-06-11 公開鍵 -----BEGIN PGP PUBLIC KEY BLOCK----- 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 CF2HZCE7if9HHxNo12HF21ncFQ== =Wkdz -----END PGP PUBLIC KEY BLOCK-----
無料効果音で遊ぼう!(小森平): https://taira-komori.jpn.org/freesound.html DOVA-SYNDROME: https://dova-s.jp/se/ ぷー!: https://dova-s.jp/se/play1226.html 効果音ラボ: https://soundeffect-lab.info/ 声素材: https://soundeffect-lab.info/sound/voice/game.html