On note_com from August 24 to 31, 2021.

Summary of articles posted in the last week. 直近一週間に投稿した記事のまとめ Qt5再入門: 状態の保存|チブル・システムズ|note Qt5再入門: 状態の読み込み|チブル・システムズ|note Qt5再入門: QStandardItem|チブル・システムズ|note Qt5再入門:…

On note.com from August 17 to 23, 2021.

Summary of articles posted in the last week. 直近一週間に投稿した記事のまとめ Notes C API探訪: NLS_string_bytes/NLS_string_chars(関数)|チブル・システムズ|note Notes C API探訪: NLS_translate(関数)(その1)|チブル・システムズ|note Notes C …

50日連続投稿に成功!

noteでnotes c apiを中心とした記事連続投稿にチャレンジして、本日50日連続投稿バッチをもらいました。自分自身との戦いに勝利した気分です。 note.com

On note.com from June 28 to July 27, 2021.

note.comに掲載した記事、直近30件のまとめ note.com 私の思い・・・1件 Notes C API探訪・・・26件 React/Sails.js開発メモ・・・1件 つぶやき・・・2件(Doxygen、夏時間)

突然Git Pushができなくなった時の一つの解

それはある日突然訪れた。 取引先と共有しているBitBucket上のリモートリポジトリに、ローカルでコミットしたソースコードがPushできなくなった。ソースコードはSails.jsサーバ上で組んでいるもので、クライアントはReactを使用してビルドしたものだ。 Sails…

GitリポジトリサーバのSSH鍵を使い分け

自分用のメモ。 基本的には以下のページが非常に参考になる。 qiita.com 謝意を述べたい。 これに、私なりの理解や補足を加えておく。 結論 同一のリポジトリサーバ(GitHubやBitBucketのような)内を、目的やアカウントで、使用するSSH鍵を使い分けたい場合、…

DominoでGraphQL

DominoサーバでGraphQLを作れたらいいな・・・と思ったので、超簡単なプロトタイプを作ってみました。 GraphQL、ご存じない方のために簡単に説明すると、「つながり」でできたデータ構造に問い合わせてデータを取得したり、更新したりすることができる「クエ…

W64API不具合レポート〜ExtMgr編

果たして、Lotus Notes C API ToolkitのHCL版はリリースされるのか? 今回のWindows 64ビット版コンパイル時の不具合については簡潔に報告します。 Extension Manager(通称ExtMgr)において、コールバック関数にはEMRecordという構造体へのポインタが渡されま…

Gitで共有しているコードをローカル固有環境で動かす

Gitリモートリポジトリ経由でWebサーバアプリケーションなどを開発している時、URL等の関係でどうしても自身のローカル環境に設定を合わせたい時がある。 今いちばんよい方法だと思っているのは、その設定ファイルをGitの対象ファイルから外す方法。 Node.js…

NSFItemInfoNext対応の悪影響

1年半前の記事で、「NSFItemInfoNext」関数についての対応策について書いた。 chiburusystems.hatenablog.com これについて、その後特に問題もなく順調にいっていたのだが、つい先日、とうとうこの対応が別の形で悪さをする事案に陥った。 以前の記事の概略 …

mongodb c++ driver(windows 64)をビルド/インストールする。

目標 MongoDB C++ Driverをインストールして、C++からMongoDBを操作できるようにする。 公式ガイドはこちら。 mongocxx.org 日本語で参考にしたのはこちら。 qiita.com 環境 Windows 10 Visual Studio 2015 Express 日本語で参考にした記事にはVS2017を使っ…

Hello, DSAPI!

DSAPI(Domino WebServer API)は、DominoサーバのHTTPタスクにアドインするためのAPI。 今回は、これでHelloアプリを作る。 することは2つ。 1つは、インストールに成功したら、DominoのログにHello, DSAPI Init!の表示をする。 もう1つは、ブラウザから/hell…

自分用メモ: Notes C APIアプリをマルチプラットフォーム開発するときのマクロ定義

Windows 32ビット版 -DNT -DW32 -DW -D_X86_ -DND32 -DDTRACE -D_CRT_SECURE_NO_WARNINGS -DPRODUCTION_VERSION -DDUMMY Windows 64ビット版 -DNT -DW32 -DW -DW64 -DND64 -D_AMD64_ -DDTRACE -D_CRT_SECURE_NO_WARNINGS -DND64SERVER -DPRODUCTION_VERSION …

自分用メモ: Qtコマンドラインアプリのmain.cppとNotes C APIの初期化

典型的なQtコマンドラインアプリのmain.cppの書き方。 #include <QCoreApplication> int main(int argc, char *argv[]) { QCoreApplication app(argc, argv); // 処理 return 0; } Qtのイベントループをコマンドラインでも使いたい場合、QTimer::singleShotが使える。 qApp->ex</qcoreapplication>…

NCAPI & C++11+ & RX & Qt #11 ~LMBCS対応文字列クラス

前回の続きになります。 ソースコードはこちらで、git clone後にgit checkout v0.0.3をしてください。 QByteArray QStringがワイド文字列(UTF-16)を扱うクラスであるならば、QByteArrayはシングルバイト、マルチバイト文字列を扱うクラスです。ただ、その性…

NCAPI & C++11+ & RX & Qt #10 ~LMBCS

はじめに タイトル、短縮しました。とにかく長かった。 僭越ながら、名著をアップデート 私にとってのバイブル的存在、「Notes/Domino APIプログラミング」(2000年 津田義史著)を改めて紹介します。 Notes/Domino APIプログラミング―C++とSTLによる実践的プ…

Notes C API & C++11+ & ReactiveX & Qt #9 ~RxでNotes C API関数をラップ(実装編)

前回の続きになります。 ソースコードは、いつものようにこちらをgit cloneして、git checkout v0.0.2してください。 chiburusystems.hatenablog.com 実装コード 前回目標にした、「Notes C API関数をRx的にラップする」実装側です。 rx::observable<GetServerLatency::ReturnValues> GetServ</getserverlatency::returnvalues>…

Notes C API & C++11+ & ReactiveX & Qt #8 ~RxでNotes C API関数をラップ

お題「Notes C API関数をReactiveXでラップする」 今回はこのお題について考えます。なお、今回のコードは、前回ご紹介した以下のサイトを使います。 github.com Gitを使ってクローンして、v0.0.2をチェックアウトします。 git clone https://github.com/Chi…

Notes C API & C++11+ & ReactiveX & Qt #7 ~ Qtの翻訳システム(コーディング編)

ソースコードサイトの変更 まず最初に、1つご連絡があります。前回までの公開ソースコードを、訳あって以下のサイトに変更しました。 github.com 前回までの解説に使った改訂前のv0.0.1と、このサイトのv0.0.1は、原則合わせてありますので、連載上は問題な…

Notes C API & C++11+ & ReactiveX & Qt #6 ~ Notes C API関数の基本

前回は、Qtの翻訳機能について少し触れました。今回は、このプログラムで肝となるNotes C API「NSFGetServerLatency」についてお話しします。 v0.0.1のソースコードを実行すると、次のような出力が得られます。 2行目、3行目はAPIがユーザにパスワードの入力…

Notes C API & C++11+ & ReactiveX & Qt #5 ~ Qtの翻訳システム

前回はmain.cppとNotes C APIのアラインメントについてお話ししました。今回はQtのアプリケーションとしての仕組みについて、サクッとご紹介します。 main.cppのmain関数が呼び出された直後に、次のような記述があります。 QCoreApplication app(argc, argv);…

Notes C API & C++11+ & ReactiveX & Qt #4 ~ main.cppとアラインメント

前回に引き続き、以下のソースコードについて説明していきます。 github.com 前回のQMakeのプロジェクトファイルに関するトピックはまだまだ尽きません。言語的な要素も持っていて、ビルトインの変数、関数の他に、カスタム変数、関数を定義することもできま…

Notes C API & C++11+ & ReactiveX & Qt #3

ここでは、チュートリアルとして簡単なコマンドラインアプリを作り、Notes C APIの基礎を勉強していきます。C/C++、C++11以降の仕様、ReactiveX/C++、Qtフレームワークについては、必要に応じて触れていきます。 以降の前提条件として、以下のような要件で進…

Notes C API & C++11+ & ReactiveX & Qt #2

リアクティブ・エクステンション(Reactive Extensions、ReactiveX、RX)は奥が深く、勉強を始めてから日の浅い私もまだまだわからないことだらけです。ですが、初級レベルくらいならある程度書けるようになってきたので、Notes APIを例に、RXを適用するとこん…

Notes C API & C++11+ & ReactiveX & Qt #1

仕事でAngularを使い始めました。Angularは、ReactやVueなどと比較されるSPAフレームワークです。開発にはJavaScript回りがわかればいいのですが、TypeScriptから入ることをお勧めされます。 https://angular.io/ www.typescriptlang.org AngularJS(1.x)から…

W64APIにまたしても!DNParseの落とし穴

いつぞやのNSFItemInfoNext関数に続き、またしてもW64で正常に動かないC APIを発見しました。今回は、DNParse関数です。まず、DNParse関数とはなんぞや?というところから。 DNParse関数の接頭辞、「DN」は「Distinguished Name」の略で、識別名を表します。…

DominoサーバにOAuth2認証機能をアドインする「DOAP」

先日、Facebookページで開発を表明したDominoのOAuth2アドインですが、一部の機能を残して0.1.0-betaバージョンが完成しました。 名称は「DOAP」Domino OAuth2 Providerの略です。 このDOAPは、Dominoにアカウントを持っているユーザが、他のWebサービスから…

NSFItemInfoNext関数を64bit Windows Dominoサーバで使用するとクラッシュする

追記 2019-11-24 記事のリンクを追加しました。 ソースコードにcpp指定をしました。 本編 私が、とあるプロジェクトでDominoサーバのアドインを作ったとき、奇妙な現象に悩まされた。 その現象というのは、NSFItemInfoNextというNotes C APIの関数を使うと、…

画面を更新してもチャットの履歴を表示できるようにする

リアルタイムでやり取りしたチャットメッセージは、通常一過性のもので、Web画面を更新してしまうと消えてなくなります。幸い、この連載で扱っているチャットデータは、Notesデータベースに記録されています。この情報を再取得すれば、チャットのやり取りを…

Notesで書いたメッセージをチャットに送る

前回までに、DominoとNode.jsを同居させ、Node.js上でやり取りされたメッセージをNotesに保存するところまで紹介しました。 今回は、Notesクライアントからのメッセージもチャット上に表示します。最終的には保存されているメッセージをリロードできるように…