std::stringの受け取り方法による速度

C++

C++のムーブと右辺値参照を見直してたら勘違いしていた所あったので、引数の型による速度差を調べてみた。 [C++] gcc 12.1.0 - Wandbox 値渡しだとmoveしても遅いので参照で受ける必要がある。 (/ω\)ハズカシーィ

std::tupleの反復処理

C++

std::tupleで反復処理をさせる方法 #include <tuple> #include <string> #include <iostream> #include <utility> template <class Value> void print_value(std::ostream& stream, std::size_t index, const Value& value){ stream << "index(" << index << ") " << value << std::endl; } template </class></utility></iostream></string></tuple>

Rustのファイルパース

Rustでログのパース処理を書こうと思った時迷ってたのでメモ 最初ファイルの内容全部読んで改行コードで分割しようと思ったが、このやり方は手間でBuReaderを使って行毎のイテレータを作るのが良さそう

MongoDB基礎

仕事でMongoDBを使うことになりそうなので、調べたことのメモ MongoDBとは NoSQLの1つ。 NoSQLの特徴は - スキーマレス - テーブル結合ができない - トランザクションがない - 水平スケールアウトが用意 RDBとの用語の違い RDB MongoDB table collection row…

Rust入門③

Rustは1つのリソースに対して単一の所有者を持たせ、必要な時に借用(一時的な貸与)が基本となっている。 ただ、構成によっては対応しきれないことがある。 そういった場合に活用できるデータ構造の紹介 共同所有者 標準ライブラリに複数の所有者をもたせる…

Rust入門② 基礎文法

基本 プリミティブ型 ユニット型 空を表す型でサイズも0バイトになる。 空のタプル型で () で表現する。 値を返さない関数の戻り値もユニット型になる。 真理値 bool型 値は true, false を持つ。 整数 型 符号 ビット幅 i8 あり 8 u8 なし 8 i16 あり 16 u1…

Rust入門① 環境について

インストール 公式を見るのが良さそう インストールをするとホームディレクトリ配下に .rustup と .cargo というディレクトリができる。 - .rustup ツールチェインの本体 - .cargo rustc, cargo, rustupなどのコマンドが格納されている ※windowsの場合先にVi…

Deno入門

Denoとは? 読み方「での」らしい JavaScript、TypeScriptの動作環境 作者はNode.jsと同じ人(ライアン・ダール) Node.jsの後悔をもとに再設計をしたもの JavaScriptのエンジンにはV8を採用 Node.jsとの違い TypeScriptのビルドイン Node.jsでTypeScriptを…

nginxでhttps2設定

仕事の都合でローカルにhttp2を立てたのでその記録 ローカルで行う事を前提にしているので環境としてdockerを採用して証明書は自己証明書で進める。 nginxの用意 dockerでnginxのイメージからコンテナを用意 docker run -it -d --name http2 -p 80:80 -p 443…

シーンからGameObjectを検索して自動アタッチ

Unityを使っているとよくやるのがクラスの変数にシーン上にあるGameObjectをアタッチするという行為 GameObjectの数が少なければ簡単なんだけれど * 階層が深い * デザイナーから納品されたもの などといった場合にはどこに目的のものがあるのか探したり、間…

phoenixのjsライブラリ追加方法(brunchを利用)

nodeモジュールを追加してページ側のjsで利用する時にbrunchの使い方で詰まったので忘れないために ※ver1.2系で行った方法なのでver1.3だとまた少し違うかも 基本 nodeのモジュールをnpmで手に入れてweb/static/js/app.jsにimportを行いmix phoenix.digest …

Unityパフォーマンス最適化のポイントメモ

【Unity道場16】パフォーマンス最適化のポイント に行ってきました。 その時のメモ ちょいちょい抜けてる所あるのでそこだけ注意 パフォーマンスの良いアプリ パフォーマンス, 反応 CPU と GPU どっちをチューニングするべき -> 両方 どちらか片方でも時間か…

Golang 覚書 その2

qiita.com やっとその2が書けた。。。 主にデータ構造について記載。

TOMLというミニマル言語

設定ファイルをjsonからTOMLに移行 ツールなんかを作るときある程度は自由度持たせるために設定をjsonで書いていたが、最近どうしてもカッコが面倒になってきた。 パラメータが少ない時なんかは問題無いんだけど、データが増えてくるとどうしても書くのが手…

Go言語 覚書 その1

最近go言語を始めたので、忘れないための覚書をqiitaに投稿。 qiita.com とりあえず環境構築、制御構造、関数に関して記載

古いバージョンのUnityスクリプトリファレンスのURL

Unity5で開発をしている最中にUnity5.1がリリースされてUnity公式のAPIリファレンスも5.1に対応されたため、過去のAPIが確認できなくなってしまいとても焦った。 いろいろ調べて旧バージョンのUnityAPIを確認する方法がわかったので忘れないように残しておく…

UnityのPropertyDrawerでReorderableListを利用する

UnityでReorderableListが使えるようになっていたのでPropertyDrawerで指定出来るようにしてみた ReorderableList 本当なら public class ReorderableListTest : MonoBehaviour { [ReorderableList]public List<int> data_; } こんな形でIntReorderableListみたい</int>…

初めてのcmake備忘録

最近vimを利用してC++を書く関係でmakefileを調べたりしてたが、先日cmakeを利用してのプロジェクト構築がmakefile書くよりも楽で便利にとても気に入ったので忘れないように備忘録として書いておこう。 ワーキングディレクトリ(cmakeの実行結果出力先)はど…

vagrant使い方まとめ

1.box取得 vagrant box add [**Box名**][**BoxのURL**] 上記のコマンドでboxを追加することができる。 DLするBoxはVagrantbox.esに記載されているのでこの中から選択して追加してやる ※追加したboxを確認する場合 vagrant box list で確認することができる。…

node.jsを始めました。

最近作りたいものがなくていろいろとやってたけど、"node.js"でやりたいことができたので暫くこれで記事更新ができるといいな。。。 とりあえず環境設定から nvmインストール "node.js"を始めようとして調べてたら"python"とか"ruby"とかでもあったように"nv…

pythonで画像編集

pythonで画像合成を行う場合pillowとうモジュールが楽だった。 ※Pillowは、Pythonの画像処理ライブラリで、Python Imaging Library (PIL)のforkプロジェクトです。 まあPILからして知らないわけですが。。。。 pip install pillow でモジュールの追加!! 画像…

関数テーブル

C++

if文はそこまで嫌いではないのだが、switchはとても嫌いだ。 というのもswitchを使うときは大抵その関数が大きくなるからだ!!(自分の書き方的な所もあるのだろうが) だからといってswitchをif文に変えれば嫌いじゃなくなる!! というわけでもない。 結…

pythonでのデータ型

タプル タプルは複数の要素から構成される。 初期化後に内包する値に対して変更することができないimmutableなコレクションとなる python_tuple = ( "year", "month", "day", 1, 3 ) print( python_tuple ) タプルで要素に対してアクセスする場合は配列と同…

C#でUnixTimeを扱う

C#

C#では時間計算をする際にDateTimeクラスを利用する。 DateTimeクラスではUnix時間を習得をすることができない。 そのためC#でUnixTimeを利用する場合utcから算出する必要がある. UnixTimeは開始はUTCで1970年1月1日0時0分0秒から計算開始なので 現在のUTCか…

C#での型変換

C#のキャストで詰まった所があったので忘れないように書いておこう。 C#の型変換は暗黙的変換と明示的変換の2つがある。 暗黙的型変換 変数に対して別の型の変数を代入すると自動的に型を変換してくれる機能。 int a = 10; long b = a; float c = 10.0f; dou…

C#での暗号化

Unityを仕事で触って暗号化周りに着手しそうなのでC#での暗号化を試してみた。 試した方式はAESキーサイズ128bitでECBモードとCBCモード cocos2d-xで暗号化周りを入れてた時は自分でブロックサイズが足りない時に追加のコードとか書いてけどC#ならその辺考え…

MonoBehaviourのUpdateメソッド

MonoBehaviourクラスのオーバーライドメソッドの中にUpdate関連のメソッドが複数ありそれぞれの違いを調べてのでまとめておく。 MonoBehaviourクラスに用意されているUpdate関数は下の3つがある。 Update 毎フレーム呼び出されるメソッド LateUpdate Update…

Unityでdot by dotの表示をする方法

Unityで2D機能がサポートされたのでいろいろと触ってみたけど 2Dスプライトをdot by dotで表示をする場合適切に設定をしてやらないとダメなので備忘録として書き記す。 まずゲームの2D描画用のカメラの設定を「Projection」から「Orthographic」に変更。 変…

Clojureの環境構築

何を思ったのか突然Clojureをやろうと思って環境の構築だけしたので忘れないために残しておく。 Clojureのインストールに関して調べてみるとLeiningen(ライニンゲンと読むらしい)を利用してやるほうがおすすめらしい。 自分はmacを使用しているのでhomebre…

pythonでのオプションパース

仕事の関係で簡単なツールをpythonで作ったりします。 オプション周りが面倒だと思い、今まで固定順番での指定をしていたのですが、オプションの簡単な対応方法を見つけました。 getoptモジュールを利用する pythonのモジュールでgetoptというものがありこれ…