BLOGS

KEISUKE MIYAKO

warning: file_get_contents(http://www.telize.com/geoip/54.82.79.109) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /var/www/www.4d.com/docs/includes/common.inc(1762) : eval()'d code on line 4.
27/10/2016

2016年9月28日,v16のベータ版がパートナー向けに公開されました。v16は,15R5に続くアップグレードです。慣例に従い,5回目のRリリースでバージョン番号が変わりました。v16へのアップグレードは,メンテナンスサービスが適用されるユーザーには無償で,そうではないユーザーには有償で提供されます。この記事では,次期バージョンの注目ポイントを紹介しています。

 

Read more

04/10/2016

デベロッパー・カンファレンスで紹介されたように,15R5からは『プリエンプティブモード』でメソッドが実行できるようになりました。別名『スレッドセーフ』とも呼ばれる,この新しい実行モードでは,複数のCPUコアに実行コンテキスト(『プロセス』)分散して同時に処理することができます。これまでの4Dは,複数のプロセスを同時に実行した場合,内部スケジューラーがそれぞれのプロセスを公平に停止/再開することにより,単一のCPUコアだけで実行していました(協調的マルチタスク)。プリエンプティブモードは,集計処理やレポート出力などのパフォーマンスを引き上げる可能性を秘めていますが,効果的に使用するためには,その仕組みを理解することが肝要です。

 

Read more

16/08/2016

前回に引き続き,15R5の注目ポイントを紹介したいと思います。

 

Read more

10/08/2016

QUIT 4Dコマンド,あるいは標準アクションの「終了」が実行されると,まず,On Exitデータベースメソッドが実行され,起動中のプロセスを閉じる機会が与えられます。On Exitの終了後も残っているプロセスは,遅延または停止状態であればスリープを解かれ,続けて強制的にアボートされてゆきます。

 

On Exitデータベースメソッドが存在しない場合,起動中のプロセスはすぐにスリープを解かれ,すべて強制的に終了されてゆきます。ですから,On Exitが定義されていないアプリケーションは,常に異常な方法で終了する可能性があります。アプリケーションを終了するためにOn Exitデータベースメソッドを使用することが推奨されているのはそのためです。

 

Read more

10/08/2016

Count tasksは,起動したプロセスの数を返すコマンドです。プロセスの番号は再利用されるため,このコマンドは,セッション中,同時に実行されたプロセスの最高数(ピーク値)と指しているともいわれてきました。言い換えるなら,アプリケーションを再起動するまで,Count tasksから返される数が減ることはありません。

 

15R5では,プリエンプティブモードの対応により,プロセスマネージャーが抜本的に見直されています。その結果,リストの末尾にある終了プロセスは,パージされるようになりました。以前のバージョンでは,そのようなプロセスも「終了」状態のまま残され,不要にリソースを消費していました。

 

今後,起動プロセスの最高数を記録したいのであれば,Count tasksから返された最高値を変数などに保持することが勧められています。


09/08/2016

v15(正確にはv14R3)では,DELAY PROCESSコマンドが改良され,Tick(1/60秒)を下回る遅延時間を指定することができるようになりました。たとえば,0.5 Tick(1/120秒)といった実数値をコマンドに渡すことができます。プロセスの遅延時間を短くすれば,(特にコンパイルモードで)より多くの処理を進めることができるはずですが,Windowsプラットフォームでは,期待に反する結果になることがあります。この記事では,1/60秒以下のプロセス遅延を指定する場合の注意点を説明しています。

 

Read more

08/08/2016

v15以降,SMTP_QuickSendコマンドにMIMEをそのまま渡すことができるようになりました。本来,14R5で追加された4D Write ProのWP EXPORT VARIABLEと併用するための拡張ですが,これは4D Internet Commandsによるメール送信の方法論を変える非常に重要な変更点です。SMTP_QuickSendは,もはや単なる簡易的なメール送信コマンドではありません。MIMEをそのまま渡すことができるので,暗号化・認証・HTMLメールはもちろん,ファイル添付・Cc・Bcc・OAuth認証などもSMTP_QuickSendで対応することができます。SMTP_Sendの制限や不具合を回避することさえできることがあります。この記事では,ケーススタディとして,ISO-2022-JPエンコーディングのサポートを取り上げたいと思います。

 

Read more

06/07/2016

4DのHTTPサーバーは,HelperToolの助けにより,1023以下のポート番号で起動することができます。たとえば,80/443といったwell knownポートで公開することもできます。しかし,OS X Serverがインストールされた環境では,ポート番号のコンフリクトを避けるため,追加のステップを踏む必要があるかもしれません。

 

Read more

09/06/2016

5月26日には15R4が正式リリースされ,6月2日には15R5のベータ版が4D Forumsで公開されました。Rリリースは,アジャイル開発の手法を踏襲し,記述〜開発〜検証がすべて完了した単発の新コマンド等の『短期開発計画』と,4D Write Proのような終わりのない『長期開発計画(EPIC)』の成果が反映されており,それぞれ20~30個のアップグレード項目が含まれています。

 

一般向けのオンライン・ドキュメントサイト doc.4d.com には,正式にリリースされた最新バージョンの情報が掲載されています。この記事を執筆している時点では15R4のドキュメントが公開されています。一方,デベロッパー向けのオンライン・ドキュメントサイト livedoc.4d.com にログインすれば,これまでリリースされたすべてのバージョンのリファレンスを閲覧またはダウンロードすることができます。

 

Read more

07/06/2016

2016年6月2日,15R5のベータ版がパートナー向けに公開されました。この記事では,次期バージョンの注目ポイントを紹介しています。

 

Read more