Web」カテゴリーアーカイブ

4D v16: フォームの2ページ目にWebエリアを配置しない

4D v16: フォームの2ページ目にWebエリアを配置しない

フォームにWebエリアを配置して、WA SET PAGE CONTENTでhtmlコンテンツをレンダリングしています。

このフォームで表示したいWebエリアが4つあって、1ページのフォームでは入りきらない。そこでページを増やして2ページ目にWebエリアを配置したのでした。するとその2ページのWebエリアにhtmlコンテンツが表示されない。

不思議なことに3ページに移動させて戻ったりすると2ページのWebエリアは表示される。2ページから1ページに戻って、2ページに行くと表示される。しかしウインドウを開いた直後に2ページに移動させたときだけはどうしても表示されないのでした。メソッドが悪いわけではなさそう。

(4D サポートに電話して確認、解決しました)

これは4D、というかWebエリアの仕様でした。Webエリアは表示方法や画面制御について外部のレンダリングを使っていて、そのため4Dが制御しきれない部分があって、ウインドウを開いた直後に表示されるページ(1ページと0ページ)には、ウインドウを開いたタイミングで表示されるが、別ページのWebエリアにはオブジェクトがロードされる前にコマンドを実行しても作用しない、ということでした。どうやらFORM GOTO PAGE(2)の直後にWA SET PAGE CONTENTを実行しても、まだWebエリアはロードしきれていないため内容が表示されない。

で、回避策を考えました。
1)ページをやめて別のウインドウを開く
2)0ページに配置して、1ページを表示するときは四角形で隠しておく
3)0ページに配置して、2ページ目を表示するときだけ所定の位置に移動させ、ほかのページを表示するときは遠くに移動させておく
4)0ページに配置して、2ページ目を表示するときだけVisible、ほかのページを表示するときはInvisible

1)はできることはわかっているけど仕様変更なのでやりたくない。2)から試す。すると、1ページ目に置いた四角形は、0ページのボタンとか四角形を隠すことはできるが、0ページのWebエリアを隠せない。Webエリアは常に一番前に表示されてしまう。順番も4Dが制御しきれない部分のようです。左の図の2つあるWebエリアのうち、後ろの方を0ページに、前の方を1ページに配置したら、右の図のように1ページ目の四角形やボタンよりも前に表示されてしまう。これも驚きの結果だ。

 

3)はOK。ちょっとコードがトリッキーに見えるけど、これでも良しか。
4)もOK。こちらは仕様に納得感があり、コードはシンプル。これを採用。

マニュアルを見ると、次のように書いてあります。VISIBLEやMOVEで制御しろと言っているような...

Webエリアのプログラムによる管理
他の動的なフォームオブジェクトのように、Webエリアはオブジェクト名とテキスト型の変数名を持ちます。これらはWebエリアをプログラミングに よって処理する際に使用されます。 特にWebエリアに対して OBJECT SET VISIBLE コマンドと OBJECT MOVE コマンドを使用することができます。

Mac OS 10.6のWebサーバを移転、SSLはどうなった?

Mac OS 10.6のWebサーバを移転、SSLはどうなった?

藤沢事務所からSSL認証付きのWebサーバを七里ガ浜に移動しました。
IPアドレスが変更になって、Mac OS 10.6.8のシステム環境設定の[ネットワーク]でアドレスを手入力して、インターネット接続を確認しました。[共有]でWeb共有している状態はそのままです。...で、繋がらないという問題について語ります。

1.証明書を再発行したり、再設定する必要は無い
RapidSSLの代理店であるエスロジカル社のサポートにお伺いしました。最高のサポートでした。

2.Web共有で使われているApache2のディレクトリ
confファイルは、/etc/apache2にあります。ここにVirtualHostの記述があって「ポート443が旧アドレスになっているのでは?」というのがエスロジカル社から聞いた話でして。あたりです。confファイルは大元が「httpd.conf」でその中でモジュール化が図られている場合が多く、今回は「httpd-vhosts.conf」を見てみましたが443の記述がありません。
どうやら「extra」というディレクトリにインクルードファイルがあるようです。

3.cd extra
ここで「443」という記述が含まれているファイルを探してみたところ、「httpd-ssl.conf」が見つかりました。次のようにします。

4.grep 443 ht*.*
cd extra/
grep 443 *.*
httpd-ssl.conf:# Listen directives: “Listen [::]:443” and “Listen 0.0.0.0:443”
httpd-ssl.conf:Listen 443
httpd-ssl.conf:
httpd-ssl.conf:ServerName ●.●.●.jp:443

5.sudo vi httpd-ssl.conf
これで修正して保存。

6.Webサーバを再起動
Webサーバだけ再起動すれば良いところを、念のためマシンを再起動しました。

これで接続できるようになりました。!!!
エスロジカル社のサポートの方、ありがとうございました。

HTTP/2

HTTP/2について理解をまとめてみました。

□ HTTP/1.1の弱点

通信回線の使い方に無駄が多かった。基本的にHTMLの要素を一つ一つ、リクエストを送信して、レスポンスを受信してからページを構成する、というものだからです。

 

□ HTTP/2

次の4つの特徴を理解したいです。とくにAとBです。

A.多重化(フレームをストリームに乗せて送る)

B.平行リクエスト数(リクエストを同時にいくつも送れる)

C.ヘッダ圧縮

D.優先度制御

 

□ 2015年5月

タイミングとして機が熟した理由

1)SPDYプロトコルによる実験 Google

2)バンド幅が拡大

3)モバイルはRTT(Round trip time)が大きい

4)HTTPSへ移行して、接続確立に要する処理が重い

 

□ まとめ...

要するに、

これまでURLごとにサーバまで送っていた方法を、一度クライアントでURLという荷物をまとめて、途切れの無い大きな「かたまり状態」にして送る、サーバはそれらの荷物をひもといてリクエストに応答させて、そのレスポンスをまた「かたまり状態」にまとめて送る方法を使えるようにした、ということ。

現在ではHTTP/1.1の利用を前提とすると、通信回線が空いているために、送る前と後にローカルでCPUによって細工を施した方が全体としてページの表示が速くなる、というお話です。一つのパケットを大きくして、同時に送れる数を増やす。一方でパケットの中身に工夫して、リクエストをばらばらにしてもまた集める方法を用意した、ついでにヘッダを圧縮したり、重み付けができる要したり、と小細工を入れて、さらなる高速化を図っている。

ファイルを圧縮して送って回答した方が全体として速い、ということと似ていると思いました。大きな違いは、ブラウザとWebサーバソフトが勝手に実行する、ところです。

 

参考資料:WEWB+DB Press Vol.89 速習HTTP/2 奥一穂氏