気まま研究所ブログ

ITとバイク、思ったことをてきとーに書きます。

func(i, i++)の落とし穴 評価順序の違い

Twitterで流れてきてふと気になったので備忘録。
もっぱら高級言語ばっかり触ってきたので一瞬わからなかったのですが、C言語ではこのようなコードはコンパイラ依存で結果が変わります。

ANSI-Cの規格書に目を通したわけではないので間違いがあったらご指摘いただけると幸いです。

続きを読む

WPF TreeViewで選択や展開を保持したまま再描写する

f:id:AonaSuzutsuki:20191125155058p:plain

こんにちは。
タイトル考えたけどいいのが思いつかなかった。
ただの雑記だしいいか。

本題ですが、TreeViewってあんまり使う機会思いつかないけど地味に結構使うコントロールだと思います。
私も最近XMLエディタを作ることがあって使ったんですが、普通にItemSourceに設定するだけじゃ再描写で選択していたアイテムや展開していたアイテムが元に戻ってしまいます。
XMLだとデータを変更した後だったり、再描写する機会がかなりあるのでそういった状態も保持したまま再描写したいものです。
今回はそんな状態を持たせたまま再描写するお話です。

続きを読む

Dトラッカー 125のチェーン調整してみた

f:id:AonaSuzutsuki:20191105141057j:plain

こんにちは。
久しぶりのバイクネタです。
直近で和歌山ツーリングを控えているものの、チェーンがたるんたるんだったのでチェーン調整を急遽することに。
マニュアル持ってないので雑 and 雑ですが、参考程度になればと思います。

続きを読む

MAMPの環境変数を変更してパスを通してffmpegを動かす

f:id:AonaSuzutsuki:20190905161810p:plain

こんにちは。
個人レベルの内製ツールをPHPで開発しているのですが、その時にffmpegを動かそうと思いパスを通して実行したもののなぜか実行できません。
実行したコマンドをターミナルで実行しても普通に動くし、なんでじゃと思ったらMAMPのapache2(以下MAMP)はユーザとは別でパスを通しているようでした。
ググっても/usr/binに置けとか出てきますが、最新のmacOSはroot権限でも書き込めないのでどうしてもパスを通す必要があります。
ということで、今回はMAMPに独自のパスを通してみます。

続きを読む

C# 高速にフォアグラウンドのプロセス名を取得する

f:id:AonaSuzutsuki:20190828112131p:plain

こんにちは。
最近バイクネタかWindowsネタばかりでしたが、今回はC#ネタを少し。
C#ではProcessクラスよりプロセス名の取得が簡単にできます。
しかしながら、プロセス取得は重い処理なため、取得頻度が多いとボトルネックになることがあります。
そこで今回はWin32APIを用いて高速にプロセス名を取得してみます。
なお、Chromeなどの複数プロセスを連携するアプリの場合はうまく取得できない場合があります。
ビルド設定を32bit優先にしないようにすれば取れます。

続きを読む

起動しないWindowsからUSBメモリとUbuntuでデータを救出する

f:id:AonaSuzutsuki:20190712133930p:plain

記事の量が膨大になったのでホームページ上にて書き直しました。
Ubuntuで起動しないWindowsからデータを取り出す
ブログの方にも気が向いたら同じ記事をあげるかも。
以下の内容は古いので試す際は注意してください。

以前、「Windowsが起動しなくなった時のデータ救出法」という同様の記事を書きましたが、Ubuntuの試用版を用いることでもうちょっと簡単に救出できるのでその方法をご紹介します。
ただ、USBメディアを作成していない場合はもう一台普通に動くパソコン(今回はMac)が必要なので持ってない場合は前記事の方法くらいしかないでしょう。
事前に作っておくと幸せになれるかも。

また、もしこの作業中にデータ消えたり何らかのトラブル起きても責任負わないのでよろしくお願いします。

続きを読む