Toshusai blog

知識の保管庫

【Godot】Dictionaryでforループ

for key in dict.keys(): print(dict[key]) キーを取得しなくても要素はキーになる for key in dict: print(dict[key]) キーを使わないなら for value in dict.values(): print(value) Ref docs.godotengine.org docs.godotengine.org

【Godot】子ノードを他の親に移動する

以下のようにやるとnode already has a parentというエラーがでる parent.add_child(node) 一度子ノードを除いてから別の親に追加すれば移動できる if child.get_parent() != null: child.get_parent().remove_child(child) parent.add_child(child) 参考 go…

C#でString.Formatを用いて文字列を挿入する

C#

int hp = 10; String str = String.Format("HP:{0}", hp); Format文字列に{0}, {1}, {2}, ...のように中括弧で0から始まる整数を書くことで第2引数以降のobjectで置換できる。4つ以上の要素は配列で渡すことができる。 int[] hps = {10, 15, 23, 45}; String…

JavaScriptのfetchでPOSTリクエストをする

const obj = {title: "This is fetch"}; const options ={ method: "POST", headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: JSON.stringfy(obj) } fetch("https://example.com", options) .then((res)=> res.json()…

Unityでテクスチャを動的生成する

公式:https://docs.unity3d.com/ja/2017.4/ScriptReference/Texture2D-ctor.html 幅と高さを指定して空のテクスチャを作成する。 int width = 16; int height = 16; Texture2D texture = new Texture2D(width, height); テクスチャのフォーマット、ミニマッ…

Gitでコミットの日時を変更する

Git

1つ前のコミットのcomitter dateとauthor dateを現在の時刻に変更する GIT_COMMITTER_DATE=\"$(date)\" git commit --amend --no-edit --date \"$(date)\" 特定のコミットを変更する git rebase <commit-hash>^ - pickをeに変更して保存 amendで更新 git rebase --continu</commit-hash>…

新婚三択アルゴリズムを1行で実装する

はじめに ご飯にする?お風呂にする?それとも私?という言葉を聞いたことがあるだろうか。この仕事等から帰ってきた旦那さんを出迎えた奥様が提示する三択は一般的には新婚三択と呼ばれているようだ。*1,*2 起源は全員集合の志村けんのコントとするものもあ…

CloudinaryでOGP画像を自動生成する

Cloudinaryとは Cloudinaryは画像や映像、メディアを簡単に配信できるストレージサービス。URLを入力するだけや多くのAPIで画像の編集などがすぐに行える。無料枠も存在する。 テキストを表示する https://cloudinary.com/documentation/image_transformatio…

Gitでファイル権限を差分に含めない

git config core.fileMode false 参考 https://stackoverflow.com/questions/1580596/how-do-i-make-git-ignore-file-mode-chmod-changes

対応ブラウザのみにwebpを配信する

<picture> <source type=\"image/webp\" srcset=\"flower.webp\"> <source type=\"image/jpeg\" srcset=\"flower.jpg\"> <img src=\"flower.jpg\" alt=\"\"> </picture> 参考 https://insanelab.com/blog/web-development/webp-web-design-vs-jpeg-gif-png/#:~:text=WebP%20vs.,-JPEG&text=JPEG%20is%20a%20no%2Dbrainer,JPEG…

nuxt/markdownitでpluginをoption付きで使う

https://github.com/nuxt-community/modules/tree/master/packages/markdownit 公式に載ってなかった https://www.npmjs.com/search?q=keywords:markdown-it-plugin ライブラリをインストールすればnuxt.config.jsのmarkdownit.useにpluginを適用できる。 { …

DockerでHeadless Chrome(puppeteer)を使う

DockerでHeadless Chrome(puppeteer)を使う About ブラウザ操作にはjsのライブラリpuppeteerを使う GitHub: https://github.com/puppeteer/puppeteer Docker Image 日本語フォントに対応したHeadless Chrome Dockerコンテナ FROM mhart/alpine-node:12 ENV P…

【Godot】MenuButtonの使い方

Windowsのアプリの左上にあるようなメニューを作るためのノード PopupMenuをラップしているのだが、エディタからではアイテムを設定できない。 get_popup()からPopupMenuを取得して設定する必要がある。 例 var pop_up = event_menu_button.get_popup() pop_…

Golang Opencv4 Install for Windows

公式 こっち見たほうが確実 Windows :: GoCV - Golang Computer Vision Using OpenCV 4 はじめに Golangのインストール、GitBashのインストールは省略、環境はWindows10、GitBash GoCVのインストール go get -u -d gocv.io/x/gocv MinGw-W64のインストール C…

CordovaでAndroidエミュレーターにビルドしたい

WindowsでCordovaでAndroidビルドする Cordovaの準備 Cordovaをインストールする npm install -g cordova アプリを作る cordova create hello com.example.hello HelloWorld Androidを追加する cordova platform add android ビルドできるか確認する cordova…

Node.jsのインストール

Node.jsのインストール Mac homebrewをupdate brew update nodebrewをインストール brew install nodebrew nodebrewをセットアップ nodebrew setup node.jsをインストール nodebrew install latest Windows https://nodejs.org/en/ インストーラーでインスト…

UnityのTransfrom.Find()について

UnityのTransform.Find()について 2018/03/15, Unity2017.3.0f3 子のオブジェクトを文字列で取得するメソッド。 https://docs.unity3d.com/ScriptReference/Transform.Find.html 公式リファレンス(2017.3)では、以下のようにディレクトリのパスのように記述…

C#でフィールド名をすべて取得する

C#

C#でフィールド名をすべて取得する using UnityEngine; using System.Reflection; User user = new User(); FieldInfo[] infoArray = user.GetType().GetFields(); foreach (var info in infoArray) { Debug.Log(info.Name + ":" + info.GetValue(user)); } …

Gitの使い方まとめ

Git

Gitの備忘録 基本的な使い方 初期化 > git init リモートリポジトリを追加 > git remote add origin https://hogehoge # 削除 > git remote rm otigin コミット > git add [file] # 新規、変更、削除をすべて > git add -A # 変更、削除をすべて > git add -…

PythonでWebスクレイピング

PythonでWebスクレイピング from urllib.request import urlopen from html.parser import HTMLParser class MyHTMLParser(HTMLParser): def handle_starttag(self, tag, attrs): print "Encountered a start tag:", tag def handle_endtag(self, tag): prin…

BlenderのシェイプキーをUnityでブレンドシェイプとして使う

BlenderのシェイプキーをUnityでブレンドシェイプとして使う Blenderのオブジェクトモードでシェイプキーを追加(Basicともう1つ以上) 編集モードでシェイプキーを編集したらFBXで出力してUnityにもっていくと、シェイプキーを付けたメッシュのMeshSkinRen…

PHPの備忘録

PHP

PHPの備忘録

WindowsでPHPをローカルで動かす

PHP

WindowsでPHPをローカル環境で動かす方法 このサイトでXAMPPをダウンロードする。 www.apachefriends.org XAMPPとは最も人気のある開発環境(Apacheディストリビューション)だそうです。 ダウンロードしたら起動して ApacheのActionsのStartを押すだけ、あと…

3SATがNP完全であることの証明

はじめに CNF論理式とは リテラル(論理変数またはその否定)の論理和である節の論理積からなる論理式 CNF論理式: リテラル: 節: SAT問題とは あるCNF論理式を真にするようなリテラルの組み合わせは存在するかどうかの充足可能性問題。 x1を真にx2を偽にすれ…

【JavaScript】MNISTデータベース(バイナリファイル)を扱う

はじめに JavaScriptでバイナリデータを扱いたい。 MNISTデータベースの教師用画像をJavaScriptのcanvasを用いて表示する。 Qiitaから移行。 MNISTデータセットの入手 よく手書き文字認識に使われるデータベース http://yann.lecun.com/exdb/mnist/ ここから…

【AtCoder】ABC072C解説

時間制限 : 2sec / メモリ制限 : 256MB 配点 : 300 点 問題文 長さ N の整数列 a1,a2,…,aN が与えられます。 各 1≤i≤N に対し、ai に 1 足すか、1 引くか、なにもしないかの三つの操作からどれか一つを選んで行います。 この操作の後、ある整数 X を選んで、…

Deep Learning入門概略

はじめに 「オライリー・ジャパンのゼロから作るDeep Learning」を読んで忘れないうちに備忘録的にディープラーニングの教師ありの分類問題についてまとめていきます。 隠れ層が1層の2層ニューラルネットワークを数値微分を使って勾配を求めて学習する部分ま…

【Python】音声を離散フーリエ変換して周波数帯ごとにビジュアライズする

はじめに toshusai.hatenablog.com この記事の時点で音声に関してあやふやだったことが多いので改めて書くことにした。今回はwavファイルを読み込んでフーリエ変換し、周波数ごとに振幅を表示したい。 wavファイルを読み込む import wave import numpy as np…

Blenderで音に合わせてキーフレームを打つ(Blender API)

Blenderで音に合わせてキーフレームを打つ(Blender API) Pythonで音声ファイル(wav)を読み込んで、それに合わせてBlenderにあるオブジェクトの大きさを変えてアニメーションさせたらきっとかっこいいと思ったので。(あとから知ったのだが、Blenderは音声…

【C#】ファイルの読み書き

C#

はじめに ただの簡単なファイルへの書き込み、読み込みのやり方 System.IO.StreamReader, StreamWriterを使う StreamWriterのコンストラクタの第2引数はtrueで追記、falseで上書き。コンストラクタはいっぱいオーバーロードされてるので詳しくはリファレン…