著者名: Nicolas Brachfogel

Nicolas Brachfogel
- プロダクトオーナー & シニアデベロッパー - Nicolas Brachfogelは、2017年にシニアデベロッパーとして4Dに入社しました(4D Serverとネットワークを担当)。Apple Siliconのリリースを管理するプロダクトオーナーとして、ユーザーストーリーを書いて機能仕様に落とし込み、機能実装が顧客のニーズを満たしているかを確認する役割を担っています。Institut Supérieur d'Informatique Appliquée (INSIA) を卒業した Nicolas は、2001年にソフトウェア開発者としてのキャリアをスタートさせました。JavaとC++で数年間コーディングした後、ゲーム会社のクライアント・サーバー開発を専門に担当。サーバー開発者/アーキテクトとして、多くのゲーム(Dofus Arena、Drakerz、Trivial Pursuit Go!)のサーバーアーキテクチャに携わり、成功を収めてきました。
製品 blank

ノンブロッキング印刷

4D 20 R4 では、4D 内部の印刷ジョブの管理が大幅に改善されました。4D は、複数の印刷ジョブを並行して実行できるようになり、アプリケーションの反応性が格段に向上すると同時に、並行する印刷ジョブの管理が容易になりました。

詳しく説明しましょう!

製品 blank

クライアントサーバー通信用のSSL/TLS証明書を自動生成

クライアントサーバー間の通信のセキュリティを簡素化するために、4D 20 R4以降、4D Server は、4D が提供するデフォルトの証明書に依存する代わりに、独自のSSL/TLS証明書を生成します。

このアップデートは、テスト環境と本番環境の両方に大きなメリットをもたらします。独自の証明書を提供する必要なく、セキュリティ対策が強化されます。何が変わるのか説明しましょう。

製品 blank

SSL/TLS: ECDSA証明書のサポート

4D は SSL/TLS を使用して、クライアントサーバー間の通信と HTTPリクエストを保護します。4D は10年以上前から RSA暗号をサポートしており、4D 20 R3 では ECDSA暗号を追加しました。いい機会なので、セキュリティについて少しお話ししましょう。

製品 blank

ORDA: Blob/ピクチャー属性へのパスの割り当て

従来のやり方では、SET EXTERNAL DATA PATHコマンドを使うことによって、ピクチャーや BLOB をデータファイルの外に置くことができました。このコマンドは ORDA に適応していないため、v20 R3 では同様の機能を追加することにしました: Blob およびピクチャー属性に、ファイルへの参照を割り当てる機能です。詳しく説明しましょう。

製品 blank

PHPコマンドの廃止予定と4DビルトインのPHPインタプリタの削除

PHPは、Web開発において重要な役割を果たし、またzip、ハッシュ、LDAP機能など、ネイティブ言語ではまだ利用できない機能を提供するために4D v12で導入されました。4Dは、これらのPHP機能の多くをコア機能に取り込んできました。その結果、4D v20 R3ではビルトインのPHPインタプリタを削除し、v21ではPHPコマンドの廃止予定プロセスを開始することにしました。

4DからPHPコマンドを完全に削除するわけではありませんが、今後はPHPコードを実行するためにはシステムワーカーを使って実行することが強く推奨されます。

このブログでは、この移行プロセスについて説明しながら、PHP Execute コマンドを通して外部インタープリタを使用する方法や、システムワーカーでPHP コードを効率的に実行する方法を説明します。

製品 blank

QUICレイヤーを有効化するには

4D v20 ベータ版では、開発中の 新しいQUICネットワーク・レイヤー をお見せすることができました。このレイヤーはまだベータ版なため、LTS の最終リリースでは無効化されました。QUICレイヤーはフィーチャーリリースで提供されますので、その開発と改良に、ぜひご協力ください。

4D v20 では、ネットワークレイヤーの切り替えはインタプリターモードでのみ可能で、組み込みアプリケーションの場合は新規ビルドが必要でしたが、4D v20 R2 では、コンパイル/ビルドされたアプリケーションでもレイヤーの切り替えが可能で、本番環境であってもストラクチャー設定、ユーザー設定、およびデータファイル用のユーザー設定から切り替えてテストすることができます

製品 blank

クラスプロパティの宣言

4Dランゲージは常に改良を続けています。v20 では、クラスの使い勝手を良くする新機能として、”宣言されたクラスプロパティ” をお届けします。クラスプロパティを宣言することで、オートコンプリートを大幅に改善し、コンパイル時に分かりやすいエラーを出すこともできます。その方法を詳しく説明しましょう!

製品 blank

ORDAコールのログをサーバー上に残す

ORDAのリリース以来、その人気はとどまることを知らず、今や本番環境のサーバーでも広く使われています。4D v20では、ORDAリクエストがサーバー側でどのようにログが記録されるかについて、2つの改良が施されています。1つ目は、リクエストログの改善で、ORDAの呼び出しに関するより多くの情報を記録するようになりました。もう1つは、クライアント側のORDAログと同様のサーバー側のORDAログが追加されたことです。それでは、これらの新機能をご紹介しましょう。

製品 blank

複数ジャーナルの自動統合

デベロッパーやデータベース管理者であれば、破損データを迅速に復旧することの重要性をご存知でしょう。バックアップとジャーナルは、このタスクを支援します。しかし、時にはバックアップそのものが破損し、古いバックアップを復元して複数のジャーナルを連続して統合する必要がある場合があります。あるいは、ジャーナルファイルのサイズがすぐ大きくなってしまうため、そしてサーバーのハードディスクを整理するためにも、定期的に新しいものを作成したいかもしれません。あるいは、独自の方法でデータベース をバックアップしているのかもしれません。これらの場合、複数のジャーナルを統合する必要がありますが、これはメンテナンス・セキュリティ・センターを使って手動でおこなうしかありません。

4D v20 では、データベースの起動時に、複数のジャーナルを自動的に統合することができます。その仕組みについて説明しましょう。