TechsMex

技術エンジニア C++/Python/Java

Bill Pugh singleton (initilization-on-demand holder idiom)

概要 Singletonの実装方法を探している際に見つけたエレガントで感動した書き方について紹介する。 一般的なSingletonの実装方法 下記に一般的な実装方法を紹介する。 public class GeneralSingleton { private static GeneralSingleton instance = new Gene…

Java : Path.ofとPaths.ofの違い

概要 プロになるJava 12.1においてPath.ofメソッドが使われているが、Java11以前ではPaths.getメソッドを使用していた。 これらの違いについて調べてみた。 Paths.ofメソッドについて 公式リンク:docs.oracle.com Java 20現在、Paths.ofの内部実装ではPath.o…

wezterm, exit_behavior="CloseOnCleanExit"の対処法

発端 最近、Rust製ターミナルエミュレータのweztermを利用しているが、 CTRL-Dでターミナルを閉じることができない現象に見舞われた。 この状況が発生すると操作を受け付けなくなり、自分でターミナルを閉じるする他なくなる。 以下、その際に表示される表示…

Arch Linuxのインストール方法、解説

背景 C++開発用に古いノートPCにubuntuを入れていたが、最近動作が遅くなってきてしまった。 そこで以前より興味のあったArch Linuxを導入した。その際の備忘録を残す。 基本的には英語版の公式wikiを見つつ、各種ブログを見ながらインストールした。 環境 T…

テンプレートクラス内のusingによるエイリアス宣言について

背景 問題点 結論 ソースコード double_map.h double_map.cc 出力 背景 以下のようなテンプレートクラスにおいて、 使用する型を短縮したい場合がある。 例えばコンテナ型を用いる場合、テンプレートが入れ子になって ごちゃごちゃして見づらい。 template <class T, class K> </class>…

using template type parameter ‘T’ after ‘class’ エラーについて

発端 原因 結論 ソースコード 発端 C++テンプレートの勉強をしていた時の備忘録 試しに二次元連想配列(キーを二つ持つ配列)をテンプレートクラスを 使ったところ、コンパイルエラーが発生した 以下コンパイルエラーの一部 double_map.h:18:21: error: using …

TechMex について

TechMexについて 日々の学んだことを備忘録として残すためにブログ開設しました プログラミング、ロボット技術関係の記録を残していきます