カンテラの光の下で

dNaga392's memorandom

Chromeのタブを整理する 2020 Winter

調べてまた後で読もう/使おうと思ってどんどん増えていくものといえば? そう、Chromeのタブです。 2020年下半期の棚卸として、開ききったタブを閉じるためブログに掃き出しておきます。 Yahoo ファイナンス 米国株の運用で一時期見ていました。Slackがこん…

【C++】Java の intBitsToFloat を実装する

Java の Float には intBitsToFloat というstatic関数が存在します。 これはint型のビット列をfloat型のビット列とみなして変換するものです。 int型とfloat型は、一般にデータサイズが同じ32bitです。 そのため、バイナリデータを扱うなど、ビット列を操作…

World Emoji Day 2020 🎉

リモートワークに伴いSlackやTeamsなどのチャットツールの普及によりすっかり定着したEmojiですが、Emojiを世界的に祝う日がこの7月17日だというのは知らない人も多かったでしょう。 なぜ7月17日が「World Emoji Day」なのかというと、カレンダーのEmojiの多…

【SQL】SQLを書く際に便利なWebツール

SQL 文を書く際に、「おおっ!これ便利!」と感じたツールを紹介します。 随時追加予定ですので、ご推薦などありましたらコメントにバシバシ送ってください!₍₍(ง˘ω˘)ว⁾⁾ 構文チェッカ EverSQL Validator フォーマッタ SQLフォーマッターFor WEB

【C++】Windowsのバージョン情報を取得する

C++

要点 C++でWindowsのバージョン情報を取得します。 Windows 固有のライブラリ ntdll.dll の RtlGetVersion 関数を使います。 内部バージョンが取得できるので、ユーザー向け表示にはひと手間必要です。 説明 Windows のバージョン情報を取得する方法はいくつ…

【C++】std::sort とラムダ式を使ったカスタムソート

クラスや構造体のソートには、標準ライブラリ <algorithm> の std::sort を使う方法があります。 Qt でも同様の qSort がありましたが、 std::sort に置き換えることが推奨されています。 次の例は、座標情報のリストに対して、第1ソート条件にX座標の逆順、第2ソート条</algorithm>…

コーディングのケーススタイルまとめ

コーディングにおけるケーススタイル(Case Style)とは、一つまたは複数の単語で命名する場合に、どのような表記で命名するかのスタイルです。 一般に採用されているケーススタイルは、おおむね次の3種類です。 呼称 単語の区切り 例 Camel case (単語の…

PlantUML で ER 図を描く

PlantUML の公式ドキュメントにはER図の例がありませんが、クラス図の応用で描くことができるようです。 次の記事にてその紹介があります。 qiita.com 次は記事を参考にした作成例です: @startuml !define MAIN_ENTITY #E2EFDA-C6E0B4 !define MAIN_ENTITY_…

「ジオ展2019」アフターレポート

先週の4月20日(金)、「ジオ展2019」が開催されました。 すでに一週間が経ち、GWが始まってしまいましたが、非常に新鮮で楽しい経験だったので記事としました。 ジオ展とは 「地図位置情報関連の企業やサービスが一堂に出展するミニ展示会」です。 今年2019…

「ソ連製の世界地図 “レッド・アトラス”を読む」に行きました

`昨日2019/04/16に、下北沢の本屋B&Bにてトークイベントが開催されました。 bookandbeer.com イベントでは、ユーリィ・イズムィコの名でも有名な軍事アナリストの小泉悠さんと、「大砲とスタンプ」を連載している漫画家の速水螺旋人さんが登壇されました。 …

「レッド・アトラス」を読んで

地図は人間が生み出した最も美しい世界の描き方のひとつである。 そう思うほど地図好きな私がこの本を手にするのに時間はかかりませんでした。 レッド・アトラス 恐るべきソ連の世界地図作者: ジョン・デイビス,アレクサンダー・J・ケント,ナショナルジオグ…

【GitHub】issue template url ジェネレータを作った【GitLab】

Vue.jp を使って、GitHubとGitLabに対応する issue template url ジェネレータを作りました。 dnaga392.github.io dnaga392.gitlab.io GitLabを仕事で使っていて、issueのテンプレートが欲かったので作ってみました。 GitLabでのテンプレートには他の手法も…

【Qt】QSignalMapperは まいそうされます。

画像のような複数のUIの操作に応じて一つのUIを更新する処理は QSignalMapper が担ってきました。 しかし Qt5 では QSignalMapper は非推奨とされ、 ラムダ式 への置き換えが推奨されます。 そこで、実際にどのように置き換えていくかをここに記録します。 …

【Rust】Rustチュートリアルをはじめました

いまイケてる言語と噂の[要出典]Rustを触ってみました。 www.rust-lang.org まだチュートリアル第2節の「数当てゲームをプログラムする」までしか進んでないですが、 よさが感じられたのでここで記録しておきます(チュートリアルは付録込みで21節までありま…

ドヤ会のススメ( ・´ー・`)

ちょっと誇張タイトルです。 先日会社でドヤ勉強会(以降、「ドヤ会」と呼びます)を開催しました。 それまで不定期ながら会社で勉強会が開催されていたのですが、 しばらく開催されなくなっていたので、じゃあ自分がやるかと企画したのがドヤ会です。 ドヤ…

【C++】ifstreamで一行戻す

C++

ifstrean には「一行戻すため」の関数は存在しない。しかし、tellg() と seekg() を用いることで実現できる。 std::ifstream myReadFile("route.txt"); .... auto oldpos = myReadFile.tellg(); // stores the position getline(myReadFile, line); myReadFi…

【地理】ポケモン新作の「ガラル地方」をスコットランド地方とみた

要点 ポケモンの新作の発表があった。舞台は「ガラル地方」。 「ガラル地方」のモチーフをブリテン島と考える人たちがいた。 「ガラル地方」のモチーフをスコットランド地方と考え、類似性が挙げてみた。 「ガラル地方」とは ガラル地方は、昨日のニンテンド…

【C++11】スコープ列挙型(Scoped enumerations)

TL;DR enum classで定義した列挙型は、従来のenumに加えて、「整数型への暗黙の型変換を行わない」「列挙型のスコープを持つ」という機能を持つ。 enum class Color { Red, Green, Blue }; // 単にRedと指定するのではなく、どの列挙型に属するのかを指定す…

【Git】 コマンドを間違えたとき git reflog が便利だった

Git

導入 コミットをしたものの止めたくなったとき、 git reset HEAD^ をすることがあるでしょう。 あの日の私もそんな思いで git reset HEAD^ を叩いていました。 ところが思ったより一回多く git reset HEAD^ を叩いてしまいました。 これでは本来含めたかった…

【Qt】Qt 5.11.2 を MinGW 64 bit 向けにビルドした

Qt は Qt Online Installer により複数の環境に対応したライブラリがインストールできます。しかし、Windows 向け g++ が利用できる MinGW の 64bit 環境に対応するものはなく、該当の環境での開発を望む場合、開発者自身の手でQtのソースからビルドする必要…

【Hyper-V】VMのディスク領域を増やす

Hyper-VのVMのディスク領域を拡張しました。 要点 「ディスクの編集」で仮想ハードディスクを拡張します。 VMで「ボリュームの拡張」をします。 回復パーティションがある場合、ツール「AOMEI Partition Assistant」を使います。 内容 VMでライブラリをビル…

【Hyper-V】「一般のアクセスが拒否されました」

概要 Hyper-Vの仮想ハードディスク(Virtual hard disks)を移動して戻したら、「一般のアクセスが拒否されました」と出るようになった。 そもそもなんでそんな事したのかと言うと、チェックポイントがハードディスクを圧迫して削除すらできなっていたためで…

バッチファイルを実行ファイルにする

概要 DOSのバッチファイル(*.bat)を実行ファイル(*.exe)にする 「Bat To Exe Converter」というツールが便利 アイコンも指定できる 背景 普段はPythonを書いているのですが、Windows開発しているとバッチファイルを書くことがあります。 MS-DOSがあれば動く…

Excelのアドレス文字をPythonで組み立てた

概要 xlwings のAPIが遅いので、文字列処理でアドレス文字を求めました 動機 皆さんご存知の通り、Excelにはセルのアドレスを表すA1 とか C3 ってありますよね。 これってVBAだと、RangeオブジェクトのAddressプロパティで取得できて、 xlwingsでもxlwings.R…

Pythonのデフォルト引数で注意すること

概要 引数のデフォルト値は 1 度だけしか評価されない つまり、デフォルト引数で指定した値は、関数実行ごとには初期化されない (list や dict のような)変更可能なオブジェクトを指定したい場合は、代わりに None を指定するとよい 現象 関数のデフォルト…

【markdown-it】markdownをパースするHTMLを作ってみた

要点 Fetch API と markdown-it で markdown をパースする HTML を作った githubにも上げた(https://github.com/dNaga392/md-index) 動機 これまで、 markdown ファイルは markdown viewer (Firefox Add-on)を使って表示していたのだが、 他人に見せると…

【matplotlib】散布図を3D描画する

要点 matplotlib.axes.Axes.scatterを使います matplotlib.backends.backend_qt5agg.FigureCanvasQTAgg に描画すると、クリック&ドラッグで角度(仰角・方位角)を変えられます 使用例 import matplotlib.pyplot as plt import seaborn as sns from mpl_too…

【matplotlib】散布図を描画する

要点 matplotlib.axes.Axes.scatterを使います。 使用例 import matplotlib.pyplot as plt import seaborn as sns df = sns.load_dataset('iris') x = df['sepal_length'] y = df['sepal_width'] fig = plt.figure() ax = fig.add_subplot(1, 1, 1) ax.scatt…

実を言うとTab Groupsはもうだめです。

今朝 Firefox を開くと、Tab Groups からの last notify のページが開きました。 記事によると、これまでアドオンとして提供されていたTab Groupsの開発が中止されるとのことでした。 タブグループ機能がFirefox本体から廃止され、その代わりになったのがこ…

【Git】 fatal: not under version control, source=A.txt, destination=B.txt

Git

Gitで表題のようなエラーが出た。 ファイル名をチェックすると、ファイル名の一部が大文字小文字で異なっていた。 これは git を介さずにファイル名を変更したためとのこと[1]。 解決法には以下の2つがある。 元のファイル名に戻す。 ファイル名変更をgitに…