ぷるぷるの雑記

低レイヤーがんばるぞいなブログ. 記事のご利用は自己責任で.

USBシリアル変換ICとは

AVRなどのMCUやフラッシュへのプログラミングには通常シリアルポートが必要になる. ただし、現代のコンピュータで物理的なシリアルポートを持っているのはまれであり、通常はUSBシリアル変換ICを介してUSBポートからプログラミングすることになる. そんなUSB…

ArduinoIDEのフォルダ構成

環境 項目 説明 OS Windows11 ArduinoIDE 2.1.0 esp32パッケージv2.0.6を別途インストールしています 全般的なファイル・フォルダ フォルダ 説明 C:\Users\<ユーザー名>\AppData\Local\Programs\Arduino IDE\Arduino IDE.exe Arduino IDE本体 C:\Users\<ユー…

WPFその1 -XAMLの書き方-

今更ながら趣味でWPF(Windows Presentation Foundation)を始めました. その過程でXAML(Extensible Application Markup Language)を書き始めたのですが、かなり独特な言語だったのでその備忘録第一弾です. 開発言語はC#を想定します. XAMLとWPFの関係 XAMLを…

Windowsでどうしてもリンクできないとき

Window用のC/C++プログラムのビルド時にどうしてもリンクできないときは以下の確認をしましょう 1. verboseオプション 2. ライブラリディレクトリの設定 3. ライブラリファイルの設定 4. シンボル情報 5.そもそも類似名のシンボルも存在しないとき 参考 1. v…

Eclipseをダークモードにする

Windows->Preference->General->Appearance のThemeをDarkにする.

LiteDB.Studioのビルド方法

C#

実行環境 項目 説明 OS Windows11 Visual Studio 2019 or 2022 .NET Framework 4.7.2 ソースコードのダウンロード LiteDB.StudioのソースコードとLiteDBのソースコードをGithubからダウンロードします. LiteDB.StudioのビルドにLiteDBが必要になります. gith…

VC++のVisual Studioにおけるビルド

Visual Studio(MSBuild)でVC++をビルドするときの箇条書きメモ. MyProjectというウインドウを持つMFCプロジェクトのx64ビルドを想定. 実行環境 項目 説明 OS Windows11 Visual Studio 2017 ビルドターゲット x64 関連するパス パス 主なファイル 説明 C:\Pro…

VC++でOpenCVを利用する

ビルド済みのOpenCVをインストールしてVisual StudioのC++プロジェクトから利用してみます. 実行環境 インストール Visual Studioで空のプロジェクト作成 追加のインクルードディレクトリ 追加のライブラリディレクトリ 追加の依存ファイル ビルド&実行 トラ…

MSBuildとは

Visual Studioをインストールしたり、個別にBuild Tools for Visual StudioをインストールするとMSBuildがインストールされます. リファレンスでは以下のように説明されています. Microsoft Build Engine は、アプリケーションをビルドするためのプラットフ…

Microsoft Visual C++ Build Tools を個別に入れてみる

Visual Studio 2015のMicrosoft Visual C++ Build Toolsを個別に入れてみて実際のビルドには何が必要なのかを確認しました. 実行環境 項目 バージョン OS Windows11 22H2 Visual Studio 2015 インストーラーの取得 まずはVisual Studioの以前のバージョンを…

JavaScriptのイベントの伝搬とターゲット要素

JavaScriptのイベントの伝搬(バブリングとキャプチャリング)とターゲット要素について実験をしながら理解を深めていきましょう. コーディングで楽をするためにVueを使いますが、シュガーシンタックスを使うだけなので生のJavaScriptでも同じ結果になります…

Vueでドラッグ&ドロップできるリストを作る

Vueでドラッグ&ドロップ (以下D&D)で動かせるリストを作ってみようと思います. Vueのバージョン ステップ1. 静的なリスト ステップ2. D&Dできるようにする ステップ3. D&Dでイベントを渡す ステップ4. DataTransferクラスを利用する ステップ5. 要素を入れ…

Androidアプリのリソースについてのメモ

以下Android StudioでKotlinを使用した開発を想定. Rクラスの生成場所を除けばJavaでも同じはず. 実行環境 項目 値 OS Windows11 Android Studio Electric Eel 2022.1.1 開発言語 Kotlin リソースの定義方法 リソース名とキーについて、以下のことは覚えてい…

Visual Studio におけるC++の種類

なんかよくわからないですけどVisual StudioにおけるC++アプリケーションっていろんな種類があるじゃないですか. 自分なりにまとめてみました. 以下、Visual Studio上のC/C++を総称してMSVCと呼ぶことにします. 実行形式による区分 ネイティブコードの小区分…

Android StudioでVisual Studio Code のように行を移動、コピーする

実行環境 はじめに 手順 残念ながら行の複製は... 実行環境 項目 バージョン OS Windows11 Android Studio Android Studio Electric Eel 2022.1.1 Patch 2 はじめに Android StudioではKeymapを編集すると自動でコピーが生成され、そのコピーを編集すること…

C++でのbool型の入出力

C++の標準ストリームにbool型を書き込むと、trueの場合は1、falseの場合は0が表示される. std::boolalphaを事前に書き込んでおくと、文字列として出力される. std::noboolalphaを書き込むと元に戻る. #include<iostream> int main() { std::cout << true << std::endl;</iostream>…

C++のpair型の使い方

実行環境は mingw (GCC 11.2.0) 初期化 要素へのアクセス 標準出力への表示 代入 比較演算子 == < 構造化束縛 参考 初期化 ヘルパ関数std::make_pair()か、初期化子を使うと初期化できる. #include<iostream> using namespace std; int main() { pair<int,int> p1=make_pair(1,2</int,int></iostream>…

深さ優先探索はなぜ難しいのか

いきなりですがタイトル詐欺です. 正しくは「私にとって深さ優先探索はなぜ難しいのか」です. この記事を書こうと思ったきっかけですが、DFSの問題を解くときにDFSで解けると分かっていても実装が出来ないということを何度か体験したからです. なので時間を…

JavaScriptのmapとfilter

最近JavaScriptのmap()とfilter()を知ったので、基本的な使い方をメモしておく. mapとfilterの比較 同じところ 異なるところ mapの使い方 各要素を逆数にした新しい配列を生成 単純に配列をディープコピー 文字を追加する filterの使い方 閾値より大きいもの…

JavaScriptの配列のキーに文字列は使えるの?

結論から言うと、見かけ上使えますがそれは配列ではなく配列のプロパティです. それに気づくまでのメモを残しておきます. クラスの関係 連想配列はオブジェクトのプロパティ for...inとfor...of 参考 クラスの関係 前提として、JavaScriptではArrayクラスはO…

BlenderのModifierについてのメモ

Modifierとは 公式マニュアルには次のように書かれている. Modifiers are automatic operations that affect an object's geometry in a non-destructive way. With modifiers, you can perform many effects automatically that would otherwise be too ted…

Blenderでモデルの頂点数を表示する

Overlays->Stastics にチェックを入れると選択したオブジェクトの頂点数などの情報を表示できるようになる. Overlays->Stasticsにチェックを入れる

Blenderのビューポートのカメラの設定

Nを押すと表示されるサイドバーの中のViewパネルにViewという項目があるので、ここの値をいじればビューポートのカメラの設定をいじることが出来る. 巨大すぎるものや小さすぎるものをモデリングするときに便利. ViewパネルのViewの設定

Blenderで3Dカーソルの位置を指定する

Nを押すと表示されるサイドバーの中のViewパネルに3D Cursorという項目があるので、ここの値をいじれば3D Cursorの位置や回転などをいじることが出来る. Viewパネルの3D Cursorの設定

Blenderで親子関係を付与する

Blenderでオブジェクトの親子関係を付与するには、自分が知る限り3つの方法がある Ctrl + P Object->Parent Object Properties -> Relations -> Parent 先に述べておくが、1と2に関してはInverse(逆行列)を用いるか否かで挙動がかなり異なる. また、3に関…

Blenderで法線を表示する

Blenderでモデルの法線を表示するにはモデルを選択した状態でEditモード->Overlays->Normals にチェックを入れればよい. Overlays->Normals Normalsを有効にした様子 また、Overlaysには似たような機能として面の方向を(たぶん接空間内?)rgbで表示させる機能…

Blenderで頂点の位置を数値で指定する

移動距離を数値で指定 Edit Mode にする 頂点を1つ以上選択する Gキーを押す 左クリック Moveのオペレータパネルを表示する 数値を指定する 座標を数値で指定 Edit Modeにする 頂点を1つあるいは2つ以上選択する Nキーを押してTransformパネルを表示する 数…

Arduino IDE でビルドとアップロード中のメッセージを表示する

File -> Preferences -> Settings -> Show verbose output during にチェックを入れればよい. IDEのバージョンによって見た目は若干違うが、設定の仕方は同じ. File->Preferences を選択 Show verbose output during の項目をチェック

Blenderのメモリ使用量を抑える

Blenderでアニメーションの作成中、アニメーションを再生するたびにメモリの使用量がえぐいほど増える現象に出くわしました. Blenderってそういうものだからと言われたらおしまいなのですが、なんとかしたいですよね. やりなおし(Undo)の設定をいじると操作…

C++でハンドラをシンプルに書きたい

C++でデスクトップアプリケーションを書いているとイベントハンドラ(メッセージハンドラ)を書くことになると思います. ボタンをクリックしたら何かを実行するくらいであれば問題ないですが、右クリック中にマウスを動かしたときはAという動き、マウスホイ…