2019-01-01から1年間の記事一覧

【2.3.3対応】Stellarisで使用しているMODとおすすめMODの紹介

3.0.3対応の記事書きました@2021年06月06日 takap-tech.com はじめに 前回おすすめMODを書いてから2年が経過しました。記事を書いた当初バージョンは「1.6.2」でしたが2019年8月現在「2.3.3」までアップデートされています。2.0以降ゲームシステムに大幅な…

C#とC++で任意の型をスターリンソートする

ネットで少しだけ話題になったネタ系ソートアルゴリズムのスターリンソート(というかフィルター?)をC#とC++で実装してみようと思います。 スターリンソートとは? C#の実装 オリジナルの実装 少し改造してみる C++で実装 オリジナルの実装 少し改造してみ…

Cocos2d-xのListViewをGridView風の表示として扱うためのライブラリ

Cocos2d-xの「ListView {cocos2d::ui}」でグリッド風の表示(GridView)を扱うためのライブラリを作成しました。 ある程度動作が確認できたので公開したいと思います。 動いているところ 実際に動作させると以下のようになります。 1行の中に複数のアイテム…

Twiterの新デザインで広告(プロモーション)を非表示化(ブロック)する方法

2020-08-30 注意: Adblock側で広告ブロックが正式に対応されたようです。この方法は現在必要ありません。読む前に注意ですが、サイトの構造がめちゃくちゃ変わりやすいので半年もするとこの内容は効果が無くなってると思います。思い出したら更新しようとは…

C#のファイル操作で発生する例外のメモ

自分向けのメモ。耄碌したのか同じことを何回も調べてたのでまとめ。 ファイル操作 存在する or 存在しないファイルに対してメソッドを実行したときの挙動 メソッド名 結果 メッセージ File.Copy sourceFileName : FileNotFoundException ファイル '${0}' が…

.NET CoreでTextFieldParserを使用したCSVの読み取り

.NET Coreに"TextFieldParser"ないじゃん!作ろう!(当然Unityにも無いです。 、、、とはいっても.NET Core3.0で移植されるみたいなのでそれまでのつなぎって感じですかね、、、? つまり、C#でCSVの読み取りを検索するとよく出てくる「TextFieldParser」(…

C++でstd::mapにキーが存在するか調べる(C++20含む

C++の連想配列クラスのstd::mapの、テーブル内にキーが存在するかどうか確認するための方法の紹介です。 ものすごーく古くからあるクラスなので若干クセがあります。 C++20ならcontainsメソッドを使う C++20であればmapにcontainsというメソッドが追加されて…

Cocos2d-xでテクスチャの簡易ヒットテスト(ver3.17.1対応版)

Cocos2d-xでテクスチャの簡易ヒットテスト(ver3.17.1で確認済み) 今回は、四角いSpriteのテクスチャー内において、色がついている場所がタッチされたかそうでないかを判断する方法を紹介したいと思います。 絵にすると以下のような感じになります。テクスチ…

C++で時間計測 & ストップウォッチを実装する

C++11から「std::chrono」という時間を表す型がいくつか追加になっています。 従来の時間取得方法からずいぶん使いやすい形で機能が提供されています。 ある区間の時間を図るには以下のように記述します。 #include <iostream> #include <chrono> void Foo() { // 開始・終了時</chrono></iostream>…

Backblaze社のHDD故障率2018年年間レポート + 各年ごとのレポート

先日、クラウドストレージ運営会社のBackblazeが定期的に発表しているHDD故障率のデータの2018年の年間故障率が発表されたので表を文字起こししてみました。2018年の1年間の故障率(2018年1月1日~12月31日)までの範囲です。(毎回、なぜか表が画像で検索が…

Backblaze社のHDD故障率2018年3Qレポート

先日、クラウドストレージ運営会社のBackblazeが定期的に発表しているHDD故障率のデータの2018年3Qデータが発表されたので表を文字起こししてみました。2018年3Qデータ(2018年7月1日~9月30日)までの範囲です。(何故か表が画像で検索がめちゃくちゃしづら…

C++でUUID(GUID)風のデータを生成する

C++

C++でUUID(GUID)風のデータ列を取得するを紹介したいと思います。 あくまで「風」なので実際に使用した結果、何らかの障害が発生したとしても責任は負えません。それでも良ければ以下参照ください。 確認環境 紹介する実装は以下環境で作成・確認していま…

Backblaze社のHDD故障率2018年2Qレポート

先日、クラウドストレージ運営会社のBackblazeが定期的に発表しているHDD故障率のデータの2018年度2Qデータが発表されたので表を文字起こししてみました。2018年2Qデータ(2018年4月1日~6月30日)までの範囲です。(何故か表が画像で検索がめちゃくちゃしづ…

【C#】リストの内容をランダムに重複せず取り出す

ある数列の内容を重複せずにランダムに取り出す方法を紹介したいと思います。 「同じ数字は出したくない」という場面で使用できるかと思います。 この実装を使用した場合の使用方法は以下の通りです。 public static void Main(string[] args) { // リストの…

Backblaze社のHDD故障率2018年1Qレポート

先日、クラウドストレージ運営会社のBackblazeが定期的に発表しているHDD故障率のデータの2018年度1Qデータが発表されたので表を文字起こししてみました。2018年1Qデータ(2018年1月1日~3月31日)までの範囲です。(何故か表が画像で検索がめちゃくちゃしづ…

C#で乱数を作成する & 毎回異なるシードを指定する方法

C#(Unity以外/.NET FM, .NET Core)で乱数を生成するには、System.Randum クラスを使用します。 Randomクラスの基本的な使い方 短時間でRandomクラスを複数インスタンス化すると乱数が同値になる 回避案(1) Randomクラスのインスタンスを全体で使いまわす …

C#でSQL(Sqlite3)の交差テーブルの内容をListとして取得する

前回SQLを使って交差テーブル(中間テーブル・関連テーブル)の内容を列挙しましたが、今回はその問い合わせ結果をC#から呼び出してみたいと思います。 前回の記事で使用した以下のテーブル定義とデータは既にファイルに保存してあるものとします。 実施環境 W…

C++でif文の条件式中で変数に数値を代入するとどうなるのか?

以下ただの個人的なメモです。 言語仕様として falseは「0」 trueは「0以外」 int a = 1; if(a = 1) // ★条件式の中で代入してしまう { cout << "true" << endl; } else { cout << "false" << endl; } 結果は「true」が出力される。 aに1が代入されて if(1) …

C#でStopwatchを使った時間計測を1行でできるようにする

ある特定の区間の実行時間を測定したい事があると思います。 その場合、一般的にはStopwatch(System.Diagnostics名前空間内)を使って以下コードを記述していると思います。 // 典型的な時間計測のコード public static void Main(string[] args) { // 千回…

【C#】Consoleの出力先を変更する

Consoleの出力先をファイルにしたりカスタムクラス用いて任意の出力先を設定する方法です。 確認環境 Consoleの出力先の変更方法 Consoleの出力先をファイルに変更する 変更した後に出力先を元に戻す カスタム出力先を指定する Consoleとトレースに同時に出…

Sqlite3で交差テーブルでリストを取得する

SQL(Sqlite3)で交差テーブルでリストを取得する N対N、多対多、のデータを表す時に現れる、SQLのアンチパターンの「ジェイウォーク」対策として「交差テーブル」(中間テーブル・関連テーブルと呼んだりするときもあります。)を取り上げたいと思います。 ち…

C#で一時フォルダを扱う

C#

C# で Windows の一時フォルダと一時ファイルパスの取得は以下関数を使用すると取得できます。 一時フォルダの取得は「Path.GetTempPath()」 一時ファイルの取得は「Path.GetTempFileName()」 但し、GetTempFileNameはファイルパスを取得できますがファイル…

Cocos2d-x 3.17.1からビルドがcmakeに変更された件に対応する、ほかトラブル対応

Cocos2d-x 3.17.1 の Androidのプロジェクトは、デフォルトのビルドシステムが「ndk-bild」から「cmake」に変更されています。それと、急に色々エラーが出たのでそれらの対応方法です。 // // ~\proj.android\gradle.properties // # android native code bu…

shared_ptrをOUTパラメータで使用する

C++

C++ の shared_ptr を引数の OUTパラメータに指定する方法の紹介です。 方法は非常に簡単です。引数を参照渡しすることで実現できます。 // 引数を参照にすることでOUTパラメータとして受け取れる void create(shared_ptr<Any>& out_value); これを呼び出し側で以</any>…

C#でGUIDをToStringするときに使用できる書式

C#でGUID(128bit長の一意の識別子)を生成するには、標準ライブラリ内のGuidクラス(System名前空間内)を使用します。 using System; public static void Main(string[] args) { Guid id = Guid.NewGuid(); Console.WriteLine(id.ToString()); // c1b2e279…

BluePrint APIでnumberにマイナスを指定する方法

数字を以下のようにアポストロフィで囲みます。 + Response 500 + Attributes + code: `-2500` (number, optional) - こんな感じ バックスラッシュとかアポストロフィが効かなくて一瞬焦った。