CHUWI HeroBoxにLinuxディストリビューションをインストール

前口上 小型で気軽に使えるLinuxサーバが欲しくてCHUWI HeroBoxをゲット。 試行錯誤をしまくって、何とかモノになったので覚え書き。 CHUWI HeroBox ミニPC 小型PC 8GBメモリー 256GB SSD Celeron N4100 プロセッサー Windows10 高速Wi-Fi/BT4.0/Type-C/USB …

実験:空のstd::vectorから要素を取得するとどうなるか?

ふとした疑問 std::vectorには最後尾の要素を取得するbackというメソッドがあります。 もし、vectorが空の場合backメソッドを呼ぶとどうなるのか実験してみました。 書いたコードはこんな感じ。期待する動作は空要素を返すか、何らかの例外を投げてくれるか…

FireDAC / C++Builder のちょっとした小ネタ×3

C++BuilderとFireDACの小ネタ三連発

Delphiでラムダ式

Delphi 10.3 Rioでは、Delphi言語のエンハンスとして、インライン変数宣言とインライン変数の型推論が導入されました。これによりDelphiでラムダ式(無名メソッド)が書きやすくなりましたのでご紹介します。ソースコードでラムダ式を使うメリットとしては以…

続・RAD Studio 10.2.2 Tokyo Starterをちょっとだけいじってみた。

今度はJCLとJVCLのインストールに挑戦。 JCLとJVCLはGetItからダウンロード・インストールできるのだけど、JVCLはパッケージがインストールされない。 コンパイル済みのバイナリがあるのだけど、こっちもこっちで同じ。 ・30761 Jedi Code Library Snapshot …

RAD Studio 10.2.2 Tokyo Starterをちょっとだけいじってみた。

はてなダイアリーからはてなブログに移行しての第一弾。ここ数年放置状態だったけど、これからは更新頻度が上がるはず。 ということで、RAD Studio 10.2.2 Tokyoのレビューのような物。 しかし、まぁ、立ち上げていきなりdark themeで立ち上がって驚いた。 V…

移行一発目

放置状態だったはてなダイアリーから移行してみた。 (旧) http://d.hatena.ne.jp/A7M/

第5回 Delphi talksに参加してきた

この手のイベントに参加するのは本当に久しぶり。楽しい時間を過ごせました。 LTのネタは諸事情により2年3ヶ月ほど塩漬け状態な、コードフォーマッタープラグインネタ。あまり役に立たない、昨日使用したプレゼンを公開します。 ちなみに、プラグインそのも…

UnicodeからShift-JISへの変換、どうする?

なし崩し的にDelphi Advent Calendar 2012に記事を書く羽目になった件について。(ぉぃ まぁ、実業務でのちょっとした覚え書きな件もあるので、いい機会だし久しぶりに更新してみる。ここ数年でプログラミング環境はUnicodeを意識せざるを得なくなった。DBの…

clang 3.1をWindowsで使ってみた

次期C++BuilderのC++コンパイラがLLVM/clangになる*1というので、早速いじってみた。まずはインストール。現時点でWindows上でclangを動かすにはmingwが必要とのことで、まずはmingwのインストール。 http://sourceforge.net/projects/mingw/files/Installer…

第21回エンバカデロデベロッパーキャンプに行ってきた

ある意味、ネタ満載の楽しい「キャンプ」でした。まとめるのが面倒なので、箇条書き。 C++Builder使いにとっては、今年は俺のターン!! お、俺はデモの神にそそのかされて無理矢理失敗させられたんだって感じで、最高のタイミングでデモの神が降臨するなwwwww…

Ubuntu 11.10カスタマイズ関連の覚え書き

Ubuntu 11.10をインストールしたのだけど、気に入らないところがあったのでカスタマイズしてみた。 GUIシェルをgnome-shellにする。 個人的にUnityは好きになれないので、従来のgnome-shellにする。 端末を開いて以下のコマンドを実行。まず、apt-get update…

Webセミナー「アンドキュメンテッド(?) VCL 〜逆引きVCL新機能〜」自己フォロー

QAで指摘があった件を試してみました。 TListViewのグルーピングがうまくいかなかった件 本当は、こんな感じに表示されるはずでした。 テストは、64bit版のWindows 7でテーマ有効。実機はWindows 7の32bit版。この辺の差異かな…。 TDirectory.GetFilesでファ…

第20回エンバカデロ デベロッパーキャンプで喋れなくなりました。

明日のセッションA4「アンドキュメンテッド(?) VCL 〜逆引きVCL新機能〜」は自分の諸事情により急遽講演中止となりました。 セッションを申し込まれた方、大変申し訳ありません。明日の分は、後日Webセミナーとして実施する予定です。

RAD Studio XEとF-Secure Internet Security 2011の相性問題

メインマシンのセキュリティソフトをウイルスバスターからエフセキュア インターネット セキュリティ 2011に乗り換えたのだけど、RAD Studio XEを起動すると「使用許諾コードが不正」と判断されてRAD Studioが起動しなかった。 これは、エフセキュア インタ…

C++BuilderではOpen Tools APIを使ったアドオンをデバッグできない件についての回避方法

C++BuilderではOpen Tools APIを使ったアドオンをデバッグできない件があり、これをQC#92188として登録したのだけど、Embarcaderoから回答があって一応の解決法が見つかりました。以下の手順でアドオンのデバッグが可能。 OTAを使ったプロジェクトをC++Build…

Universal Character Set Detector C LibraryをDelphi XEから使用する

C++Builderで試した、Mozillaのエンコーディング自動判別ライブラリである「universalchardet」をDLL化したのをDelphiで動作させてみました。バイナリはhttp://a7m.sakura.ne.jp/SOURCE/universalchardet-CB.7zに用意したもので、C++Builder XE(BCC32.EXE 6.…

7月21日のウェブセミナーと、第20回エンバカデロ デベロッパーキャンプで喋ります。

7/21のオンラインセミナーは、13/14回デベロッパーキャンプでやったポインタというかメモリ管理ネタの再演。 このネタの評判がいいとの話しでオファーがあったのでオンラインセミナーとして再演します。9/6の第20回デベロッパーキャンプは「アンドキュメンテ…

スマートポインタの使い方 その3:メモリ以外のリソースをスマートポインタで管理する

デリーターとは スマートポインタが管理できるのは、メモリ領域だけではなく「構築」と「破棄」がペアになっている任意のリソースも管理できる。 例えば、Cのfopen関数でオープンしたファイルをfclose関数でクローズしたり、あるいは、Windows APIのGDIオブ…

Console2を導入する

コマンドプロンプトの補完アプリであるConsole2を導入してみる。 アーカイブはプロジェクトページの[Files|console-devel|2.00]より、最新版をダウンロード。 Console2はそのままだと日本語が入力が出来ないので、http://wiki.pythonpath.jp/moin/ConsoleIme…

スマートポインタの使い方 その2:shared_ptr

shared_ptrを使ってみる unique_ptrが変数の寿命が尽きた段階でメモリ領域を開放するのに対し、shared_ptrは参照カウンタを持ち参照カウンタがゼロになるとメモリ領域を開放する。 #include <tchar.h> #ifdef __BORLANDC__ #include <boost/tr1/memory.hpp> namespace std { using namespace</boost/tr1/memory.hpp></tchar.h>…

TBalloonHint::ShowHintの使い方

TBalloonHint::ShowHintに問題があるみたいで、代替にJVCLのTJvBalloonHintを使うというエントリーを書いたのだけれども、Embarcaderoの高橋さんからコメントがあって、再テスト。自分の勘違いで問題が無いことが確認できたのだけれども、以下の点に注意。 T…

スマートポインタの使い方 その1:unique_ptr

スマートポインタって何? C++において、operator newでメモリ領域(ヒープ領域)を動的に確保した場合、その領域はoperator deleteでプログラマが責任を持って解放してやらなければならない。しかし、deleteを書き忘れたり、例外が発生したときの処理を怠っ…

CentOS 5.6で最低限のWebアプリ開発環境を構築する

半ば個人的な手順書。少々怪しいかも。すべてCUIで行う場合を想定。 開発ツールのインストール デフォルトではgccとか入らないので。 # yum groupinstall 'Development Tools' 'Development Libraries' PHP5.3をインストール デフォルトのPHPは5.1なので、5.…

第19回 エンバカデロ・デベロッパーキャンプ セッションT3自己フォロー

参加者の皆様お疲れ様でした。プレゼンの最初でいきなりしくじってしまいましたが、何とか完走できたつもりです。不明な点等ありましたらコメントください。 C++Builderでの問題点 なぜか、IDEの言語が日本語だとC++Builderで作ったアドオンがデバッグ出来な…

第19回 エンバカデロ・デベロッパーキャンプ開催形態変更

東北関東大震災の影響により、デベロッパーキャンプの開催形態がバーチャル(オンラインセミナー)形式に変更になりました。会場参加の場合、いつもは印刷したレジュメを会場で配るのですが、今回は事前にオンラインで配布することとなりますので注意してく…

static_castとreinterpret_castの違いについて試してみた

昨日のネタのうち、キャスト関連は思い込みとか理解不足なところがあったので、実際に動かしてみた。 //--------------------------------------------------------------------------- #include <iostream> #pragma hdrstop #include <tchar.h> //----------------------------</tchar.h></iostream>…

「C++プログラマであるかを見分ける10の質問」に答えてみた。

「C++プログラマであるかを見分ける10の質問」に答えてみた。自分の解釈だとこんな感じ。正解かどうか、特に2のreinterpret_castと10は自信なし。ちなみに、Java版は/.Jの日記で。 1. iterator の役割について説明せよ. ポインタがメモリのアドレスを指し示…

Open Tools API その4:続・ソースエディタへのアクセス ソースエディタの「中身」をいじる

エディタの編集バッファ ビュー(IOTAEditView)のBufferプロパティがソースエディタ内部のバッファで、ソースファイルの中身を編集する。インターフェースはITOAEditBuffer。 ソースエディタが1つのファイルをオープンしている場合、ビューは複数あっても、…

Open Tools API その3:ソースエディタへのアクセス

モジュール モジュールとはIDEがアクセスする抽象的なエディタの組み合わせのことで、Delphi/C++Builderのプロジェクトにおけるユニットに相当。ユニットがソースファイル(*.pas/*.cpp)やヘッダファイル(*.h)、フォームファイル(*.dfm)の組み合わせであるよ…