SATOXのシテオク日記

~ふもっふ、ふもふも~

PRG

C#(libclang)でCソース解析

人類は誰しも2つの種類に分類される。 C言語ソースファイルを解析したいか解析したくないかである。 自分は前者。 ……というわけで、C#でC言語のソースを解析しようと、数ヶ月じゃ済まないくらい試行錯誤した末、自力ではかなり難しいという結論に達しまして…

X(Twitter)ロゴを肉球アイコンに変えるブラウザ拡張機能つくった

PRG

自作のPochitter!がこれまで利用できたAPI廃止により使えなくなり、あまつさえ愛すべき「Twitter」という名称の変更。そして愛すべき鳥のアイコンが「𝕏」アイコンに……そんななんとも言えないできごとがあった2023年7月24日(頃)。 「𝕏」なんてちっとも愛嬌な…

C#でXMLにXSLTをかます

以前は結構使う機会があったと思うのですが、最近はどうだろう。XSL Transformations(XSLT)をC#で行いたい機会があって調べたのでメモ。 ちなみに、XSLTとはXMLに記述されたデータをスクリプトなどなしに思い通りの出力形式に変換する仕組み。 必要な情報…

メモ:C# WebDriverを使ってウェブサイト(html)をPDF出力

急に必要になったのでメモ。 C# Slenium.WebDriver(chrome)を使ったPDFレンダリング出力方法についてのメモ。 プロジェクトにnugetで以下をインストール Selenium.WebDriver WebDriverManager urlをPDF出力(outputPdf)する関数PrintToPdfは以下 using System…

SSD1306のコントラスト(輝度)を変えてみる

PRG

SSD1306という制御ICを使った5~600円で買える有機ELディスプレイがあります。 1インチにも満たない小ささながら、128✕64の解像度です。 SATOXさん、最近電子工作にハマっており、この安価なディスプレイで遊んでます。 0.96インチ 128×64ドッ…

Unityプロジェクトで消しても良いファイル

PRG

Unityのプロジェクトファイル群を人に渡したいとき、ZIPに圧縮して渡したりしますが、とてもサイズが大きくなることがあります。1~100GB以上とか、規模によっては渡せねーよ!というサイズ。 今まで見て見ぬ振りをしてましたが、プロジェクトを開く際に生成…

Twitterアイコンを自動更新できたら面白いかも

PRG

会社のお昼休みに昨今余り目立たないPHPでつくってみたTwitterアイコンを設定するプログラムを作ってみました。 なんと、下記リンクをクリックするとSATOXさんのTwitterアイコンを変更することができます!(笑) http://satoxpochi.sakura.ne.jp/twiconc…

Google Chrome拡張機能を作った話

PRG

ブログ更新をすっかりサボっていた間、そういえばGoogle Chrome拡張機能を作ってました。 もう9ヶ月も前の話。 1つはSHOWROOMの星ボーナスを集めることができる便利ツール。もう一つはChatworkというSlackのような企業向けチャットツールの機能拡張ツール。…

YouTube APIで遊んでみた

ふとYouTube APIで遊んでみたくなり、気がついたらライブ配信のコメントを取得してコメントを音声合成で再生する、という謎アプリ(.NETのフォームアプリ)ができあがってました(笑)。 YouTube API 実験アプリ(コメント音声合成再生付き) コードを貼り付けよ…

Visual Studio Installerにインストール環境条件をつける

PRG

Windows Storeアプリがメジャーになってきているこの昨今、レガシーなインストーラーアプリなんてのを頑張るのもしゃくなわけですが、Windows10 64bit以降のみの環境にスンストール可能なインストーラーを作りたい衝動に駆られ、調べてみたというマニアック…

全天球動画編集前のファイル仕分けバッチ作ってみた

PRG

最近、GoPro 6台を使って全天球動画を作る機会があったのですが、面倒なのがファイルの仕分け。 6台それぞれに録画された複数のmp4(H.264)ファイルをPC上に同期を取った状態で間違いないようにコピーする必要があり、手作業でやるのは面倒だし、なんだか間違…

Android+Eclipse+NDKの問題

PRG

Android+Eclipse(ADT)+NDKで、C/C++ソースコードを一度でも開くとヘッダパス未解決に。 つまり「Unresolved inclusion」が問題でエラーとなり、Androidのプログラムが実行できなくなる問題が起きることがあります。 そもそもCDTの問題なのですが、この問題が…

サロゲートペアと日本語文字揃え問題

PRG

C#(.NET)の関数では基本Unicodeで文字を扱うことになるわけですが、サロゲートペアにも対応しています。……なんて得意げに語りましたが、あまりよく知りませんでした。 サロゲートペア、すなわち、基本16ビットの文字コードなのですが16ビット×2を使って1文…

画像文字認証reCAPTCHAをPHPで使ってみる

PRG

bot対策として誰でも一度は遭遇したことがあるのではないでしょうか。画像を見て文字入力を促されるウェブサイト上の機能。 画像文字認証はアカウント作成時などに悪意のあるプログラムによるものではなく、人間が入力していることを判断させる事が目的です…

PNGファイルの文字情報をいぢってみる

PRG

PNG画像をちょっと編集してみたくなってフォーマットを調べてみました。 と言っても、画像を編集したいわけではなくPNGファイル内に格納されているテキストについて編集したかったわけです。 結果的にはうまくいって、任意の文字を追加できるようなプログラ…

Git/Gitoliteをさくらレンタルサーバで使う

PRG

この後ごちゃごちゃと書きますが、さくらインターネットのレンタルサーバにGit/Gitoliteをインストールしてみたというメモ書きです。 まぁこのあたりに詳しい人が見れば当たり前すぎてズッコケて(死語)しまうかも知れませんが。 GitとGitoliteGit使ってます…

いまさら聞けないSocketプロキシサーバ通信

PRG

一般プログラマにとっては一番低レベルの通信レイヤであるSocketを使って最近いろいろ遊んでいます。 そこでふとプロキシサーバ経由でHTTP通信をする必要が出てきたので、いろいろ調べた結果をご紹介します。結論から言うと、とっても簡単です。 通常通信と…

いまさら聞けないHTTPマルチパートフォームデータ送信

PRG

放蕩SATOXさん、最近、ネットワーク関連の勉強をしておりまして、アプリケーションからPHPを叩いたりしたりしています。 リモートプロシージャ的にマルチパートフォームデータで任意のコマンドやバイナリファイルを送ったりなんかするのですが、Socket…

OAuthでTwitterアクセス!

PRG

世の中の技術ドキュメントはどうも真面目でよろしくない。 まぁこれはSATOXが不真面目だからなんですが(笑)、もちろん技術的な内容や背景を知って然るべきとは思うものの、そんなものはきっと後から付いてくるんじゃないかと。 つまり、そんなことは後…

Pochitterの作り方

先日、Pochitterというツールを公開いたしまして、良くも悪くも反響を頂いております。 雑誌掲載についても1つ進展がありまして、晋遊社さんから10/13発売予定の「Windows100% 11月号」に続き、インフォレスト(株)さんから10/29発売予定の「フリーソフトス…

OS 3.0.1実機で実行できなくなった話

PRG

iPhoneアプリを勉強しているわけですが、気がつけばiPhone実機でのデバッグが出来なくなっていました。 「供給されるiPhoneが接続されていません」というエラーが出て実行すら出来ないのです。 いろいろ調べてみるとiPhone 3GSのOSバージョンを3.0.1に上げて…

iPhone開発者登録、ビルド、実行まで

PRG

ひょんな事からiPhoneに続きMacも手に入ってしまいました。MacBook Proくん。 というわけで、いよいよiPhoneアプリを開発できる環境が整いました。 Palm全盛のときも何を作ろうかとワクワクしたもんですが、そのワクワク感が沸々と沸いています。 しかしなが…

C#でTwitterアプリを作ってみた

PRG

最近、ぼそぼそと使っているTwitter。 やや過剰かと思うほど政治や企業でも利用されてきているサービスです。 ちなみに、SATOXのアカウントは以下。フォローうぇるかむです♪ アカウント: satoxpochi URL: http://twitter.com/satoxpochi んで、Twi…

エミュレータで遊んでみない!?

PRG

Androidの開発機Android Dev Phone 1とGDD-09などでいろいろAndroidで遊んでいます。 最近はWindows Mobile PhoneにもAndroidをインストールするハックが流行っているみたいで、なかなか面白い流れではあります。 んで、今時「Androidってな〜に?」と置いて…

ListViewの仮想表示モード その2

PRG

さてさて、興味のない方には申し訳ないですけども、本日もListViewのVirtualModeのネタです。 なんとか選択されているListViewItemの取得が出来るようになりました。■選択アイテムの問題キモとなるのは次の2点。 (1)「ListView.ListViewItemCollection」…

ListViewの仮想表示モード その1

PRG

いやね、たいした話ではないのですが、ListView(.NET/C#)のVirtualMode(仮想表示)を使ってみたというネタ。 ListViewにはListViewItemと呼ばれる項目を表示できるわけですが、そのアイテムが大量にある場合、その登録に時間が掛かるわけです。ちょっとぐらい…

嗚呼っ、TextBoxのビープ音が消えない!!

PRG

当方.NET Framework1.1、C++でツールアプリケーションを開発しているのですが、TextBox上でエンターキーを押したときに鳴るBeep音がうっとうしくて消したいのですが消す方法が分かりません。 ネット上にVBの上での消し方として、「KeyPressイベント内でエン…

XPスタイルの外観にするには

PRG

どんなアプリケーションでもWindowsXPだからといってXPスタイル(LUNA)になるわけではないことはご存知だと思います。 んじゃあ、XPスタイルの外観にするにはどうしたらいいのか。 答えは2つ。 1つ目は、ここに書いてあるXMLファイルをアプリexeと同じ場所…

STL文字列とStringの相互変換

PRG

すいません、SATOXのシテオク日記では初めてですかね……何って、プログラミングのお話ですぞ(笑)。 .NETで遊び初めてしばらく経ちましたが、腹の立つことがありました。 「System::Stringをcharポインタにする」 いやぁ、きっとコレって過去の資産を活用…