ウイング様から開業祝いをいただきました リンクを取得 Facebook × Pinterest メール 他のアプリ 12月 05, 2022 株式会社ウイング様より開業祝いをいただきました。https://www.weing.co.jp誠にありがとうございます。暖かい御心とセンスの良さに感動です。顧客も社員もパートナーも大事にする社風は本当に素敵ですね。今後ともどうぞ宜しくお願い致します。 リンクを取得 Facebook × Pinterest メール 他のアプリ コメント
ログファイルの出力/ローテート設定(log4j2) 1月 20, 2022 log4jの脆弱性が世間を賑わしまして、GeneXusでも対応方法がいくつか出ておりました GeneXus日本語SAC log4j ライブラリに関連する脆弱性(CVE-2021-44228)について https://sac.genexus.jp/viewtr_saclist.aspx?50554, それはそれとしてシステムの運用においてログを正しく出力することは必要です。 GeneXusでもlog4jの機能が組み込まれており、デフォルトでログファイルへの出力が可能となっています。 Log 外部オブジェクト http://wiki.genexus.jp/hwiki.aspx?Log+%E5%A4%96%E9%83%A8%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88 ログファイルの出力場所/ローテートの設定などはlog4j2.xmlに記載されています。 Tomcatの場合だと C:\Program Files\Apache Software Foundation\Tomcat 8.5\webapps\XXXXX\WEB-INF\classes\log4j2.xml GeneXusのナレッジベースプロパティから調整できる値はこちら それ以外の設定内容は直接log4j2.xmlに設定する形となります。 細かい設定はlog4j2のドキュメントなどを参照して設定頂ければ良いと思いますので、 基本的な部分と注意点だけ記載します。 ①デフォルトだとTomcatの場合は以下に出力されます C:\Program Files\Apache Software Foundation\Tomcat 8.5\webapps\XXXXX\logs\client.log ローテートされたバックアップファイルの方は C:\Program Files\Apache Software Foundation\Tomcat 8.5\webapps\XXXXX\logs\old\ の配下に.gzの形で保存されます。 ②ログの出力場所とファイル名については GeneXusのナレッジベースプロパティから設定できますが、それだと以下のような形になります。 <Property name="logPath">${main:0... Read more »
GeneXus17 Angularジェネレータを確認 5月 03, 2021 GeneXus17にAngularジェネレータが追加されたので試してみました。 Angularジェネレータはまだベータ版なのですね。 17のアップグレードのどこかか、18で正式版という感じなのでしょうか。 Angular アプリケーションの開発 http://wiki.genexus.jp/hwiki.aspx?Angular+アプリケーションの開発 こちらの概要を見るとAngularはフロントサイド(画面系)に使用されて、 サーバー側は今までと同じようにJavaや.NETで生成・動作させる形になるようです。 スマートデバイスと同じ構成イメージだと思います。 「My first Angular application」に従って確認していきます 開発環境セットアップ システム要件 https://wiki.genexus.com/commwiki/wiki?42541,Angular+Generator+prerequisites+for+development+environment 1) Node.jsをインストール https://nodejs.org/en/ インストーラーをダウンロードしてインストール 先週はv15.14.0だったのですが、もう16がでてますね、早いな。 2) バージョン確認 インストールしたらコマンドプロンプトからバージョンを確認します node --version 3) npm package managerのインストール こちらはNode.jsと一緒にインストールされてますので、バージョン確認だけ npm --version 4) Angular CLIのインストール こちらはコマンドプロンプトからインストール npm install -g @angular/cli 「Node.js」が実行環境で 「npm」はNode.jsのモジュールを管理するツール 「Angular CLI」はNode.jsのコマンドラインツールということでした 5) 動作テスト 試しに(GeneXusとは関係なく)Angularのプロジェクトを作成してみます コマンドラインからプロジェクトを作成(AngularAppTestがプロジェクト名) ng new AngularAppTest ここにプロジェクトディレクトリが作成されました C:\Users\syusa\... Read more »
Tomcatの設定5:メモリ調整と起動モード 6月 17, 2019 Tomcatで運用する場合で、いくつか考慮した方が良い設定・情報を記載します。 Tomcatのデフォルトでは初期メモリが128MB、最大が256MBとなっています。 市販のパソコンでもメモリは4GBや8GBは有りますので、初期値は非常に小さいです。 Linuxの場合は、Tomcatの起動オプションで、設定してください。 WindowsのTomcatの場合は設定コンソールから設定します。 サーバーのスペックや構成に合わせて必ず調整した方が良いものは以下の内容になります。 1.メモリ(ヒープ領域) -Xms :Initial memory pool -Xmx :Maximum memory pool Tomcat起動時に初期メモリが確保され、不足したら拡張を繰り返す形となります。(最大値まで) 個人的にはどうせ拡張するのであれば、初期メモリの時点である程度確保しておいた方が良いと考えてます。 その方が拡張の際の処理動作コストも軽減されますので。 どの位の設定が良いのかは一概には言えず、 私の経験則からの例ですが、総メモリが8GBで、TomcatとPostgreSQLが同居したサーバーの場合であれば、初期2GB、最大3GB位の設定にしますね。 2.起動モード Tomcatには起動モードが2種類あり、「クライアントモード」と「サーバモード」があります。 <クライアントモード> 起動時間を短縮し、メモリサイズを縮小するように調整されている。 起動時に「-client」オプションを付けて実行する。 <サーバーモード> プログラム実行速度が最大になるように設計されている。 起動時に「-server」オプションを付けて実行する。 運用時にはサーバーモードで動作させるようにしましょう。 3.メモリ(Permanent領域) -XX:PermSize ・・・ Permanent 領域の初期値 こちらは運用中の影響ではなく、Tomcatが起動できるかどうかという設定です。 プログラムが大量にある場合、Tomcat起動時にロードしきれずにエラーになったり、 起動が遅かったりしますので、その際には拡張した方が良いです。 サーバーモードの初期値は64MBです。 システムの規模がそこそ... Read more »
ナレッジベースを名前を変えてコピーする方法 7月 08, 2019 ナレッジベースのコピーは、基本的な機能としては無く、少々面倒な手順が必要です。 新しいプロジェクトのために新規ナレッジベースを用意する際に、過去のナレッジベースから開発をスタートさせたい場合は良くあります。 それ以外でも、他者にナレッジベースを渡したい場合にも使えますので、覚えておいて頂くと何かと役に立ちます。 ちなみにGeneXusServerがあると簡単に実施できますが、今回は、GeneXusServerが無い場合の手順を掲載します。 ※以下の手順はGeneXus16U2ですが、GeneXus15 Ev1から同じ手順で行えます。 1.GeneXusを終了する GeneXusが起動していると行えない処理があるため、必ず終了しましょう。 2.SQLServerから元のKBをデタッチ 1)SQLServerのManagement Studioを起動して、 ナレッジベースが格納されているデータベースをデタッチします。 2)システムDBも併せてコピーする場合はそれもデタッチします。 ※システムDBがSQLServer以外の場合は、ダンプ/バックアップ 等 3.KBフォルダをコピー 1)KBフォルダをコピーします。 2)フォルダ名を新しいKB名に変更します。 4.KBフォルダ内の不要ファイルを削除、ファイル名を変更 1)以下のファイルを残して、削除します。 ・GX_KB_TestKB_WWP_16U2.mdf (ナレッジベース格納DB) ・GX_KB_TestKB_WWP_16U2_log.ldf (ナレッジベース格納DBのログ) ・knowledgebase.connection (ナレッジベース格納DBがどこにあるかを示すファイル) ・TestKB_WWP_16U2.gxw (GeneXus起動用のショートカット) ・TestKB_WWP_16U2_DB.mdf (システムDB) ・TestKB_WWP_16U2_DB_log.ldf (システムDBのログ) 2)ファイル名を新しいKB名に合わせて変更します。 TestKB_WWP_16U2 → TestKB_WWP_16U2_COPY ・GX_KB_TestKB_WWP_16U... Read more »
参照整合制約(外部キー制約)とGeneXus 12月 03, 2018 GeneXusがデータベースを作成する際、 デフォルトだと 参照整合制約(外部キー制約)も生成します が、 あくまでもデフォルトであり、プロパティで変更することができます。 データストアのプロパティで[Declare referential integrity]がYesだと生成します。 Noだと生成しません。 ※但し、初回に設定しておくか、Noにした後に「DBの再編成」を行う必要があります。 Declare referential integrity property https://wiki.genexus.com/commwiki/servlet/wiki?9093,Declare+referential+integrity+property, 「参照整合制約」があるとどうなるか、ですが。 1)データ移行や、テストデータ作成時にDB構造を考慮する必要がある 親子関係の場合、子のデータを先に作ることができません。 親のデータを削除することができません。 トランとマスタの関係の場合も同じで、マスタが無いとエラーになります。 これは結構大変です。 GeneXusはアジャイル開発で進めることが多いですので、 テーブル構造が固まってないタイミングでもプロトタイプをガンガン作っていきます。 その際に、テストデータを用意するのに、 DB構造を踏まえてデータの投入や作成をするのは面倒ですし、 あまりDBに詳しくないメンバーがいた場合、 エラーの内容が理解できずに時間を浪費してしまうこともあるでしょう。 2)DB再編成時に失敗する これはGeneXus特有で、少々困った事象ですが、 DBを再編成する際にGeneXusはデータも移行しようとします。 機能自体は非常に有益です。 テストデータをなるべく残してくれるので助かります。 ただ、適当なテストデータが入っていて、「参照整合制約」がある状態だと DB再編成時に失敗して、生成し直しになってしまうことが割とあります。 3)テーブル同士の関連で不整合なデータが生成されない 親子関係、マスタとトランの関係をDBが管理しますので、 もし、システムの仕様が誤っていたとしても、DB側がエラーを出します。 ですので、確実にデータの整合性が管理されます。... Read more »
GeneXusのオプション設定、起動時オプション 11月 14, 2018 GeneXusをインストールした後に、私が 必ず行う設定 を紹介します。 GeneXusの[ツール][オプション] ①KBエクスプローラーにディスクリプションを表示 これが こうなる ②ダイアグラムにディスクリプションを表示 これが こうなる ③ビルドオプション ・インスタンスの同時生成 ・インスタンスの同時分析 これはビルド時にCPUを何コア使うかの設定です。 良いPCを使っている場合は、こちらの設定を確認した方が良いです。 GeneXusは基本1オブジェクトが1ソースとなります。 1ソースに割り当たるコアは一つだけです。 なので、1オブジェクトが大きい場合のビルド時間はCPUの個数ではなく速さに依存します。 ただ、複数オブジェクトをビルドする場合やリビルドする場合には 並列で処理が行われるので、かなりの差が出てきます。 ビルドは分析(Specify)と生成(Build)に分かれており、分析は割と早く終わります。 これに割り当てるのが「インスタンスの同時分析」です。 生成(Build)が実際のJavaソースや.NETのソースの生成です。 物理的にファイルを作るので時間が掛かります。 これに割り当てるのが「インスタンスの同時分析」で、時間が掛かる場合は大体こちらです。 全部のCPUコアをあててしまうとOSが止まるでしょうから、最適な数値を設定するのが良いでしょう。 複数の同時生成処理と分析処理のインスタンス http://wiki.genexus.jp/hwiki.aspx?%E8%A4%87%E6%95%B0%E3%81%AE%E5%90%8C%E6%99%82%E7%94%9F%E6%88%90%E5%87%A6%E7%90%86%E3%81%A8%E5%88%86%E6%9E%90%E5%87%A6%E7%90%86%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9, ・ナビゲーション詳細 こちらをTrueにすると、トランザクション画面をビルドした後のナビゲーションで Rulesに指定した内容の実行順序が出てきます。 トランザクション画面を利用... Read more »
コメント
コメントを投稿