はじめは、C++11のハッシュテーブル(unordered_map)を使おうと思ったのだが、
永続化の処理を書いたりする必要があるなど、大変にプログラムを書くのに時間が掛かる事が判明したので、
先人の書いた素晴らしいコードを利用させてもらおうと思う。(しかも自分で書くより処理が速い。はず。)
環境:
win7x64にインストールしたVirtualBox上の
CentOS7
LevelDBをつかってみた
を大いに参考にした……のに つまずいた。
①
geditのショートカットキーからbuildできなかった。
[致命的エラー: /usr/local/include/leveldb/db.h: 許可がありません]
→権限が足りないらしいので、スーパーユーザーになる必要がある。
→[makefile]を作成したディレクトリ上で、右クリック→[端末の中に開く(E)]
→[su]コマンドでsuper userになる。
→[make]コマンドでbuild
あるいは、始めからrootでログインしておけばいけるかもしれない。
今度試してみる。
→できた。(当然ではあるが)
②
参考にしたサイトで、一部
int main(int argc, char *argv) {
となっているが、たぶん
int main(int argc, char *argv[]) {
かな?
③
[`leveldb::Options::Options()' に対する定義されていない参照です]
[`leveldb::DB::Open(leveldb::Options const&, std::string const&, leveldb::DB**)' に対する定義されていない参照です]
→コンパイルオプションを付けるのを忘れていた。
[ /usr/local/lib/libleveldb.a -lpthread -I /usr/local/include/leveldb/ ]
を追加。
[故]ぶろぐ
2015年2月25日水曜日
bloggerで一日の間にメール投稿できる限度数
C++ による socket通信 でBloggerにメールで投稿するテストをしていたら、
何故か投稿できない代わりに、メールボックスに以下のメッセージが返信された。
「
Delivery to the following recipient failed permanently:
XXXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXX@blogger.com
Technical details of permanent failure:
You have exceeded the the allowable number of posts without solving a captcha.
----- Original message -----
~省略~
----- End of message -----
」
要するに、
「 (人間である事を証明するための) 画像認証無しに許されている投稿の数の限度を超過しました。」
と言っており、投稿でき無くなった。
実際の所、Bloggerの管理ページを開いて、投稿しようとすると、
画像認証ができ来て、それをパスすると上手く行く。
(ただ、残念ながら、メールでの投稿はこの後も失敗したので、
どうやら制限が解除されるまで待つしか無さそうだ。)
何処かのページの1日あたり50投稿が限度と書いてあったので、
今度試す時に実際に数えてみようと思う。(送信履歴を消してしまった。)
→50でした。
何故か投稿できない代わりに、メールボックスに以下のメッセージが返信された。
「
Delivery to the following recipient failed permanently:
XXXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXX@blogger.com
Technical details of permanent failure:
You have exceeded the the allowable number of posts without solving a captcha.
----- Original message -----
~省略~
----- End of message -----
」
要するに、
「 (人間である事を証明するための) 画像認証無しに許されている投稿の数の限度を超過しました。」
と言っており、投稿でき無くなった。
実際の所、Bloggerの管理ページを開いて、投稿しようとすると、
画像認証ができ来て、それをパスすると上手く行く。
(ただ、残念ながら、メールでの投稿はこの後も失敗したので、
どうやら制限が解除されるまで待つしか無さそうだ。)
何処かのページの1日あたり50投稿が限度と書いてあったので、
今度試す時に実際に数えてみようと思う。(送信履歴を消してしまった。)
→50でした。
2015年2月24日火曜日
2015年2月18日水曜日
Unicode処理②::UTF16(Unicode)をUTF8に変換する。
Unicode : 文字コードの一種。
UTF16 , UTF8 : Unicodeをファイルに保存する場合の保存方法(バイナリ値)。
[例]=================================================
あ : Unicode値 : 0x3042
は、UTF16なら、
big endian : 0x30 , 0x42
little endian : 0x42 , 0x30
↓変換……したい。
あ : UTF8なら、0xE3 81 82
(UTF8では、仕様上big endian も little endianも関係無い。)
====================================================
(14) UTF-16からUTF-8への文字コード変換
を参考にして変換してみる。(変換表はwikiのUTF-8にもある。)
UTF16 , UTF8 : Unicodeをファイルに保存する場合の保存方法(バイナリ値)。
[例]=================================================
あ : Unicode値 : 0x3042
は、UTF16なら、
big endian : 0x30 , 0x42
little endian : 0x42 , 0x30
↓変換……したい。
あ : UTF8なら、0xE3 81 82
(UTF8では、仕様上big endian も little endianも関係無い。)
====================================================
(14) UTF-16からUTF-8への文字コード変換
を参考にして変換してみる。(変換表はwikiのUTF-8にもある。)
登録:
投稿 (Atom)