訪問:17517人(206,548PV)
今月:192人(523PV)
前月:410人(1,201PV)
from 2016
2020年5月
         
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28
 
29
 
30
 
31
 
           
休み 営業 半日
AM
PM
今日 今日
休み
不明
イベント


24件 5ページ

4Dブログ

HTTP クライアント



やっと目的のサイトにログインすることができました!
今HTTPクライアントのプログラムを初めて開発中です。
多少の試行錯誤がありましたが、サポートのお力も借りつつひとまず大きな山を超えました。
業務効率化のために4Dサーバーからサイトのデータを自動的にダウンロードしてDBに保存します。
写真はログインフォームをコピペしてローカルでどのようなデータが送られるのかチェックしたところです。
ブラウザの動きを確認しながら4Dでそれを模倣して実現します。
これでやっと一気に開発が進むと思います。

ちなみにHTTP Requestで送信するデータのフォーマットを大きく勘違いしていて無駄な時間を費やしました。
HTTP GetとHTTP Requestは対のようなコマンドと勘違いして、Getで受信するデータがHTMLならRequestで送信するデータもHTMLかと思い込んでいました。データのフォーマットが全く違っていました。
ここに気がついたのは4D社のサポートへ問い合わせしてからでした。

理屈はわかっていても未経験の部分はえらい勘違いがあったりしますね。
急いで開発を進めなくてはいけませんが、とりあえずやれやれです。


Youtubeチャンネル準備中



ただいまYoutubeチャンネルを準備中です!
日本ではちょっとマイナーな4Dを広めるため動画配信を計画してます。
4Dのテクニカルチップスや旬なネタの他にシステム開発の基礎知識も含めて色々と発信していきたいです。
動画をアップしたらまたお知らせしますので、よろしくお願いします。


22年現役システムバージョンアップ



皆さんこんにちは。久しぶりにブログを更新しています。
最近はやはりバージョンアップの依頼が増えてきました。
そんな中で既存のお客様のシステムがなんと最初の開発が1998年。
それから22年が経過していました。
今回はv13からv17orv18?にバージョンアップします。
こんなに長く使っていただけると本当にありがたいことです。
ちなみにこのシステムはフォークリフトのメンテナンスマニュアルの版下を自動生成するものです。
時代の流れでPDFによる納品が増えてきたようですがまだまだしばらくは活躍してくれそうです。


PDF印刷



先日Webシステムをv17にバージョンアップしました。 Webシステムはフォームをほとんど使わないので、その分バージョンアップ工数が少なくてすみます。 しかし印刷フォームは使います。サーバーサイドで印刷処理を行ってPDFファイルを生成しクライアントはそれをダウンロードする形で印刷ロジックを構成します。 今回のバージョンアップで4Dv17_64bitになったわけですが、今まで使っていたサードパーティーの「PDF Creator」を使わなくて済むようになりました。 プリンタードライバーはWindows10標準の「Microsoft Print to PDF」が使われるようです。 これでMacOS同様にOS標準機能でPDF出力ができるようになりました。


CALL WORKER


CALL WORKERを使うことで処理時間が1/8になった!

昨日v17にアップグレードしたお客様のシステムが不安定なので急遽メンテナンスに行ってきました。
データ保存時クライアント異常終了?(比較的データ量が多い場合?)
詳しい原因はただいま調査中です。それで、これをきっかけに採番処理が原因かもということで見直しをしました。
「CALL WORKERを使ってはいかがですか?」見直しのヒントをくれたのは4D社のサポートです。
早速マニュアルを見るとv15R5で新しく追加されたコマンドでした。
問題はデッドロックを避けるためにトランザクションの外(別プロセス)で採番処理を行っていたため、プロセスの起動・終了が採番が必要なだけ大量に行われることかも?
実は今までこの問題は起きてなかったのですが、今回なんとv17にアップグレードすることで問題となりました。
最近のバージョンで感じるのは4Dもシビアになってきたな〜(細部に注意が必要?)ということです。
急いでCALL WORKERを使ったロジックに採番処理を変更し、というかめっちゃ楽になったやん!
プロセス間通信のために受け渡しのロジックがあったのだけれど、それほとんど必要なくなったわ!
100個の連番を採番してテストしてみると、改良前が24秒、改良後が3秒、はやっ。
それはそうですわ、いちいちプロセス立ち上げなくてもワーカーが常駐してるから。
そして異常終了していた処理をエンドユーザーの方に試してもらうと、サクッと処理が完了しました。
一体どんな処理してたのと気になる方にご説明すると、100点ほどの商品の在庫移動です。
棚の変更になるのですが、在庫データの取引明細を追加するときにデータの連番を付与してます。
連番の振り方も自動とかプライマリキーとか色々ありますが、過去にsequence numberに悩まされた自分は自前で採番する方法を取ってます。
めでたしめでたし、と思ったら「システム終了できません!」、あっ!
終了ボタンに全ての画面を閉じたかどうかのチェックを入れてたので、ワーカーがまだ残っているためチェックに引っかかったのです。
ワーカーはチェックで無視するようにしてシステム終了できました。
そんなCALL WORKERなかなか使えそう。v16(v15R5)以降のお客様に横展開します。



24件 5ページ