Oqiita Memohttps://www.oqiita.comメモとか技術情報とかなんでも情報発信Wed, 20 Nov 2024 07:43:23 +0000jahourly1130686379【GeneXus】QRコード作成(C#)https://www.oqiita.com/?p=3164https://www.oqiita.com/?p=3164#respondWed, 20 Nov 2024 07:43:20 +0000https://www.oqiita.com/?p=3164

GeneXusだとQRコードが標準でサポートされてないのでネイティブで実装する方法を備忘録として。 環境 ・GeneXus17・C#・.NetFramework4 ライブラリ作成 まずはC#のライブラリを作成 作り方は数 ... ]]>

GeneXusだとQRコードが標準でサポートされてないので
ネイティブで実装する方法を備忘録として。

環境

・GeneXus17
・C#
・.NetFramework4

ライブラリ作成

まずはC#のライブラリを作成

作り方は数年前の私が書いてるので適当に参考にして

今回はC#なのでこちらのライブラリを使用。Visual StudioのNuGetで適当に取得。

オプション等渡せる値は多いけど、
今回はQRコードにするURLと、QRコードを保存する絶対パスを引数として指定できるようにします。

QRCode.cs
using System;
namespace GxQRCode
{ public class QRCode { public static void Create(String URL, String Path) { var writer = new ZXing.BarcodeWriter { Format = ZXing.BarcodeFormat.QR_CODE, Options = new ZXing.QrCode.QrCodeEncodingOptions { Height = 200, Width = 200, Margin = 1 } }; var bitmap = writer.Write(URL); bitmap.Save(Path); } }
}

今回は以下のように設定
namespace(DLL名):GxQRCode
class(GX側のオブジェクト名):QRCode
method名(GX側の呼び出す際のメソッド名):Create

GeneXus側

KBを適当に作成して、「External Object」を作成。
これもこちらの記事を参考に設定。(プロパティ値を設定するのがメンドイ)

Visual Studioで作成したDLLと、ZXingのDLLをKB側にコピーしたら
ビルドをしてエラーが無ければ問題なし。

適当な画面を作成して、ボタン押下でQRコードを作成するようにコーディング。

Event
Event 'QRCreate'	// ファイル名に付与するタイムスタンプ文字列を作成	&DateTime = Now()	&DateStr = PadL(&DateTime.Year().ToString().Trim(), 4, !"0") +	PadL(&DateTime.Month().ToString().Trim(), 2, !"0") +	PadL(&DateTime.Day().ToString().Trim(), 2, !"0") +	!"_" +	PadL(&DateTime.Hour().ToString().Trim(), 2, !"0") +	PadL(&DateTime.Minute().ToString().Trim(), 2, !"0") +	PadL(&DateTime.Second().ToString().Trim(), 2, !"0") +	!"_" +	PadL(&DateTime.Millisecond().ToString().Trim(), 3, !"0")	// 絶対パスを作成	&Directory.Source = !"C:\Models\GX17U2_QRTEST_20241112\CSharpModel\web\qrcode"	// ファイル名とURIを作成	&URI = &Directory.GetAbsoluteName() + &File.Separator + !"qrcode_" + &DateStr + !".png"	// QRコードを作成	QRCode.Create(&QRString, &URI)	// 画像を表示	&Blob.FromString(&URI)	&URL = PathToUrl(&Blob)	&Image.FromURL(&URL)
Endevent

所定の場所にQRコードが作成されました。
パス作成部分がハードコーディングなのはご愛嬌で・・・w

作成ボタンを押下したら、画面上に表示してみます。

同じ要領でボタン押下したら、PDFに画像を表示します。

(まぁ画面もPDFも同じっちゃ同じ)

まとめ

ということで今回はQRコードの画像を作成してみました。
生成系AIとか当たり前にある世の中ですが
さすがにQRコード1個にAI使いたいかと言われると・・・微妙かなとw

以上!

]]>
https://www.oqiita.com/?feed=rss2&p=316403164
メール設定https://www.oqiita.com/?p=3137https://www.oqiita.com/?p=3137#respondWed, 02 Oct 2024 07:58:36 +0000https://www.oqiita.com/?p=3137

メールアドレスが欲しい。 仕事が変わるたびにメアドが変わるのめんどくさいのでドメインもあるんだから、メールくらい持っててもいいかなーという衝動に駆られ設定してみました。 仕事用のドメイン分けたほうがいいかなーとかも思った ... ]]>

メールアドレスが欲しい。

仕事が変わるたびにメアドが変わるのめんどくさいので
ドメインもあるんだから、メールくらい持っててもいいかなーという
衝動に駆られ設定してみました。

仕事用のドメイン分けたほうがいいかなーとかも思ったんですが
それもめんどくさいので、oqiita.comを乱用。

現状

・通常のブログ用のドメインはお名前.comで取得済み。
・ブログ用のwordpressはAWSのEC2で稼働済み。
・Route53でホストゾーンを設定済み。

準備

とりあえずお名前.comでメールドメイン(お名前メール)を申し込み。
この辺は割愛。適当にググって金を払ってください。

ステータスが「稼働中」になったらOK

レンタルサーバーコントロールパネル?でメールアドレスを発行。
今回は適当なアドレスを作成

とりあえずこれでアドレスの発行は完了。
この段階でメーラーに設定は可能。

送受信

このままだとメールの送受信ができないので設定を追加します。

レンタルサーバーコントロールパネルでドメイン一覧を表示して
該当のドメンのDNSを確認します。

MX、TXT、TXT(default._domainkey)が大事。

AWSのRoute53の既にBlog用で作ったホストゾーンにレコードを追加します。
レンタルサーバーコントロールパネルで確認した
MX、TXT、TXT(default._domainkey)を設定します。

MX

この時優先順位も設定しましょう。
例:10 mail9999.onamae.ne.jp

TXT

TXT default._domainkey

default._domainkeyを設定するとき、エラーが出ると思います。
こちらは以下の記事でも説明があるように、長すぎるようなので文字列を分割します。


ちなみにTXTとdefault._domainkeyが設定されてないと
Gmailのようなセキュリティ厳しめのところとメールやり取りしようとすると
エラーになるので全部設定することをオススメします。

確認

メールの送受信をいろんなメールアドレスとやり取りして
問題無ければ、OKです。

まとめ

フリーアドレスで十分だと思ったんですが、
フリーアドレスも何個もあると訳分らなくなるし
信用されないとか言われたので、もういっそのこと自分で管理したほうが早くね?
ってなった感じですね。

以上!

]]>
https://www.oqiita.com/?feed=rss2&p=313703137
【GeneXus】KBの削除方法https://www.oqiita.com/?p=3118https://www.oqiita.com/?p=3118#respondFri, 16 Aug 2024 06:48:19 +0000https://www.oqiita.com/?p=3118

KBの削除方法を聞かれたのでメモ。 環境 ・GeneXus 18・SQLServer 2019・IIS(ちょっとJavaも書いてる) 今回いらないKBは「SampleKB」です。フォルダパスなどは、開始ページなどで確認し ... ]]>

KBの削除方法を聞かれたのでメモ。

環境

・GeneXus 18
・SQLServer 2019
・IIS
(ちょっとJavaも書いてる)

今回いらないKBは「SampleKB」です。
フォルダパスなどは、開始ページなどで確認しておく。

注意1
私がいつも実施してる手順ってだけで
もっといい方法があるかもしれない。

その場合はコメントでも書いてください。たまに承認してます!

注意2
自己責任で実施してください。
お仕事(プロジェクト)によっては削除しちゃダメだったり
削除方法が決まっている場合もあるので、あくまでも参考程度で。

① GeneXusを閉じる


GeneXusがKBを開いていると削除できないので閉じます。

② SQLServerからデタッチ


SQL Server Management Studio(SSMS)を起動して、
KBのDB(GX_KB_~~~)をデタッチします。

DBを右クリックして
タスク > デタッチ

デタッチの説明は割愛です。気になる人は勝手に調べて。

③ KBフォルダを削除

事前に調べたKBフォルダを削除します。

※フォルダが削除できない場合、GeneXusのタスクが残ってる場合があるので
タスクマネージャーからGeneXusタスクを終了後にフォルダを削除する。

④ APサーバーからAPPを削除

・.Net Frameworkの場合
IISの管理コンソールを開いて該当のAPPを右クリックして削除

・Javaの場合
Tomcatのwebappsから該当のAPPフォルダを削除
※Tomcat以外の場合も、該当のAppフォルダやApp情報を削除

⑤ DBの削除(任意)

APPで使用した、DBを削除する必要がある場合は削除します。

ここはデタッチじゃなく、削除で良い。

⑥ 開始ページの調整(任意)

上記手順だけだと開始ページのリンクが残るので、消します。(消さなくても開けないので見た目の問題)

以下のファイルを編集して該当の不要部分を削除します。
C:\Users\【ユーザー名】\AppData\Roaming\GeneXus\GeneXus\18\recentsKBs.xml

まとめ

とりあえず簡単でしたが削除方法をまとめました。
e-learningとかでも教えないし
私も誰かに教わった記憶が無いので
なんか皆好きなやり方で削除してるのかなwww

以上

]]>
https://www.oqiita.com/?feed=rss2&p=311803118
なんかいろいろ雑記https://www.oqiita.com/?p=3095https://www.oqiita.com/?p=3095#commentsFri, 07 Jun 2024 07:23:58 +0000https://www.oqiita.com/?p=3095

CentOSのサポートが切れたりいろんな節目だったのでいろいろ変えました。 CentOSのサポート終了 CentOS7のサポートが2024年6月30日で終了です。あんまり仕事関係だと使ってるところ少なかったイメージですが ... ]]>

CentOSのサポートが切れたりいろんな節目だったのでいろいろ変えました。

CentOSのサポート終了

CentOS7のサポートが2024年6月30日で終了です。
あんまり仕事関係だと使ってるところ少なかったイメージですが
昔は良くお世話になったイメージ。

あとはこのサイトもCentOSでしたーw

ありがとうCentOS!!!!!さらばCentOS!!!!!

GCP → AWS

このBlogはいろんなサーバーを転々としてますw
GCPでなぜかGCEが新しく立ち上がらなくなるという謎現象でGCP卒業w

構成は昔と何も変えてないけどずっとKUSANAGIを使ってます。
別にこだわりがあるわけではないけど、なんかセットになってるし便利。

サポートもしっかりしてて
移行とかの手順などもあったりで、情報が多いのがいいと思う。
ノーマルのwordpressも使ったことあるけど、いろんな情報があってメンドイ。

Gutenberg(グーテンベルク)

wordpressのエディタはだいぶ前にGutenbergになりましたが
クラシックエディタを今でも使ってる方が多いと思います。

私もその一人でした(笑)
(まぁ全然投稿サボってたけど)

ある会社のあるブログもクラシックエディタで
正直ダサいし、新しい機能ぐらい使えよってことで
このブログでは Gutenberg(グーテンベルク)を使うことにしました!!!

もちろん出たばっかでバグばっかなら使わないことも正しい!
ただ出てからだいぶたつ(たぶん5年くらい?)のでもう使ってもいいでしょう!

※どのエディタ使っても見た目は変わらないので、あとは使い勝手の問題ですねw

まとめ

ということで、ヒマもやりたいことも増えてきたので、ダラダラと更新頻度を上げたいですね。

以上!

]]>
https://www.oqiita.com/?feed=rss2&p=309513095
【GeneXus】モジュールサーバーhttps://www.oqiita.com/?p=3042https://www.oqiita.com/?p=3042#respondTue, 14 Feb 2023 10:37:01 +0000https://www.oqiita.com/?p=3042

GeneXusの自作モジュールの配布方法(nexusサーバー)について。 GeneXusの自作モジュールを配布するサーバーnexusの設定のメモ なんか4年前くらいに書いてたのを思いだして再配布できるようになってたから調 ... ]]>

GeneXusの自作モジュールの配布方法(nexusサーバー)について。

GeneXusの自作モジュールを配布するサーバーnexusの設定のメモ

なんか4年前くらいに書いてたのを思いだして再配布できるようになってたから調べたら
いろいろ罠があって、でもできたので一応載せておきますw
(まぁ俺がやるんだからできて当然だよね!)


参考
モジュールサーバーwiki.genexus.jp

使用した環境

GeneXus 17u10
Docker Desktop 4.16.3
Maven 3.9.0
sonatype nexus(最新版:OSS 3.47.1-01)

今回はメンドイのでDockerを使用。
Dockerとmaven使ったことない人はちょっと難しいかもね!

ざっくりした流れとしては
dockerでnexusサーバーを起動して、Repositoryを作成して
GXからmavenを使用してnexusサーバーにアップロードして
他のGX(違うKB)でnexusサーバーからモジュールをダウンロードする。って感じです。

sonatype nexusとは

コンポーネントパーツ、アセンブリ、完成品の管理・配布を行うための、サーバーソフトウェアです。
ブラウザで管理画面を表示し
コンポーネントパーツ等を管理するタイプのサーバーソフトウェアです。

docker

作業前にdockerのアップデートは適当に。

nexusのimageを取得してコンテナを起動するんですが
ここが罠。GeneXus wikiに書いてるURLは古くて最後のほうに行くと
うまく動かないという罠。

GeneXus wikiに書いてるURL:https://hub.docker.com/r/sonatype/nexus/
最新のURL:https://hub.docker.com/r/sonatype/nexus3/

pull

docker pull sonatype/nexus3

Adminのパスワードが必要なので永続データをボリュームで外だし、ボリュームのパスは個人の環境なので適当に。

起動

docker run -d -p 8081:8081 --name nexus -v C:\docker\nexus\nexus-data:/nexus-data sonatype/nexus3
確認

docker ps

以下のURLにアクセス
http://localhost:8081/
(起動まで少しかかる)

起動完了

nexusにログインします。
ID:admin
パスワード:ボリュームの中にパスワードファイル(admin.password)があるのでそれを参照

初回ログイン後は
パスワードの変更があるので、画面に従ってパスワードを変更する。

リポジトリを作成

いろいろと設定(とくにこだわり無い場合はデフォルトでOK)

maven

nexusにアップロードするのにmavenが必要なので、入ってない人は入れてください。

URLからmavenのZipをダウンロードして、ダウンロードしたZipを適当なところに解凍して、Pathを通す。
https://maven.apache.org/download.cgi

今回は「apache-maven-3.9.0-bin.zip」を使用。

以下のコマンドでPathが通ったか確認

バージョン確認

mvn -version
Apache Maven 3.9.0 (9b58d2bad23a66be161c4664ef21ce219c2c8584)
Maven home: C:\Maven\apache-maven-3.9.0
Java version: 17.0.2, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk-17.0.2
Default locale: ja_JP, platform encoding: MS932
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

設定ファイルを作成(ディレクトリが無い場合は手動で作成)
%USERPROFILE%\.m2\settings.xml

%USERPROFILE%がわからない場合には、cmdで%USERPROFILE%をechoすればOK。

settings.xml

<settings> <servers> <server> <id>★nexus側で作ったRepositoryのName</id> <username>admin</username> <password>★adminのパスワード</password> </server> </servers>
</settings>

今回はお試しなのでadminでアップロード&取得します。

モジュールアップロード

GeneXusからモジュールサーバー(Nexus)を追加。
メニューの
ナレッジマネージャー > 参照モジュールの管理 を開く

追加をクリックして必要な情報を設定。

モジュールを適当に作成

モジュールを右クリックして モジュールのパッケージを作成 を選択。
なんかいろいろと設定(お試しなので全部適当)

一番下の公開するサーバーは
追加したサーバー「oqiita-test-20230214」を選択。

エラーが出なければアップロード完了。

モジュールダウンロード

次はモジュールを使いたいKBからダウンロードを行う。

URL等の設定はアップロードを行ったら、すでにいるはず。
違うPCで使用したい場合は
GeneXusからモジュールサーバー(nexus)を追加する。

メニューの
ナレッジマネージャー > 参照モジュールの管理 を開き、
サーバーを選択し、先ほどアップロードしたモジュールがあることを確認する。

インストールボタンを押せば、ダウンロードとインストールができるので、
あとは使用してみる。

今回はお試しなので引数の数字を足してくれるだけの処理。

制約

制限事項としては画面とかトランザクションは含めることができません。
この記事読んでる人はそれくらい当然理解してるでしょう!

エラー

モジュールを使用するさいにビルド(or コンパイル)でエラーが出る場合は
モジュールのバージョンをアップして、再公開するとウマくいく場合があるので、お試しください。
(エラーの原因は知らん!)

まとめ

前々から再配布ができることは知ってましたが、手順がめんどくさそう&Dockerのやり方毎回忘れるので
手を付けてなかったですが、Dockerは使ってたので
今がチャンス!とばかりに使ってみましたw

やっぱり配布ができて、バージョンも管理できるっていいですね!
画面系が配布できないという欠点?がありますが、
どうせ画面とかWork With Plusでみんなオシャレ(笑)なの作ってるんだから
問題ないでしょう!!!!!!!!

これからもコッチ系の機能が拡充することを願ってます!

以上!!!!!

]]>
https://www.oqiita.com/?feed=rss2&p=304203042
【GXユーザー会 2022】Oqiita勉強会3回目https://www.oqiita.com/?p=3036https://www.oqiita.com/?p=3036#respondWed, 21 Dec 2022 04:57:14 +0000https://www.oqiita.com/?p=3036

ちょっと時間空いたけどやったのでログ 場所 新築の家 参加者 3人 日時 12/10 19時~ 内容 ・Figma入門 Figma入門 仕事?でもFigma使ってるし、GXとも連携できるっぽいので 方向転換してFigma ... ]]>

ちょっと時間空いたけどやったのでログ

場所

新築の家

参加者

3人

日時

12/10 19時~

内容

・Figma入門

Figma入門

仕事?でもFigma使ってるし、GXとも連携できるっぽいので
方向転換してFigmaの勉強会になりましたーw

入門ということで基本ばっか勉強しました。

デザイナーではないので、基本の部分を抑えて
応用?や活用方法はおいおい勉強です!

その他

開発も楽しいけど、デザインもやると楽しい。
どうしても頭が仕事よりの人間なので管理方法とか活用方法を意識しちゃうけど、まぁそのうち役に立つでしょ(知らんけど)

どうしてこうなった!?の図

以上

]]>
https://www.oqiita.com/?feed=rss2&p=303603036
【GXユーザー会 2022】Oqiita勉強会2回目https://www.oqiita.com/?p=3028https://www.oqiita.com/?p=3028#respondThu, 17 Nov 2022 23:04:37 +0000https://www.oqiita.com/?p=3028

完全に私の自己満足な勉強会になったので、Oqiita勉強会という名前にしましたw 場所 煙がいっぱいのお店 参加者 2人 日時 11/17 19時~ 内容 ・Git入門 (Gitは何回も入門するもの) ・Saucetre ... ]]>

完全に私の自己満足な勉強会になったので、Oqiita勉強会という名前にしましたw

場所

煙がいっぱいのお店

参加者

2人

日時

11/17 19時~

内容

・Git入門 (Gitは何回も入門するもの)
・Saucetree
・Next.js
・vercel.com (デプロイ)

Git入門

普通にGitの使いかたをおさらいしただけ。
GXエンジニアだと使えない人が多いよ!(俺は使えるで!)

Saucetree

開発でGit使ったらだいたいコマンドで終わっちゃうけど
視覚的にわかるほうが嬉しいよね!

Next.js

ついこの前バージョンアップしたし、個人的に好きなので
vercelへのデプロイも考えて、Next.jsの使い方をご紹介。
node.jsが動けばだいたいコマンド打つだけでサンプルが動くので助かるw

vercel.com

githubと連携してデプロイをしてみました。
勉強会中にアカウント作成してデプロイまでできるなんて、素晴らしい!

その他

勉強会も1年くらいやって2年目になったけど、いまだにテーマ探しにモクモクしますw

以上、次も勉強会がんばろー

]]>
https://www.oqiita.com/?feed=rss2&p=302803028
【GXユーザー会 2022】Oqiita勉強会1回目https://www.oqiita.com/?p=3019https://www.oqiita.com/?p=3019#respondTue, 25 Oct 2022 04:00:08 +0000https://www.oqiita.com/?p=3019

2021年の発表が無事終わり今回から2022年度になりましたー 場所 どっかの家 参加者 2人 日時 10/19 19時半~ 内容 ・チャットボットについて ・デザインシステムオブジェクトについて チャットボットについて ... ]]>

2021年の発表が無事終わり今回から2022年度になりましたー

場所

どっかの家

参加者

2人

日時

10/19 19時半~

内容

・チャットボットについて
・デザインシステムオブジェクトについて

チャットボットについて

とりあえずユーザー会でチャットボットをやろうと思ったので
テーマにしたけど企業が出してる有料のチャットボットと比べると
DialogFlowやWatsonと連携するタイプなので、限界がおおいw

デザインシステムオブジェクトについて

GX17u6から使える機能。
テーマオブジェクトがポンコツなのでコッチになるっぽい。

そのうちBlog記事でも書こう(5月から更新止まってるしw)

その他

ワイン1本開けたあとに勉強会してるので、半分くらい記憶ないけど
まぁ大丈夫だろう!!

次回は勝手にインポートされるオブジェクトとか
他の勉強会テーマで勉強会しよう!!!

アップ

酔っぱらって猫に絡む

以上、次も勉強会がんばろー

]]>
https://www.oqiita.com/?feed=rss2&p=301903019
【GXユーザー会 2021】先端技術5.5回(←もうあってるか謎)https://www.oqiita.com/?p=2984https://www.oqiita.com/?p=2984#respondSun, 29 May 2022 21:25:57 +0000https://www.oqiita.com/?p=2984

今回は最終報告会へ向けての作戦会議でした。 場所 煙と酒がある場所 参加者 2人 日時 05/25 18時半~ 内容 ・最終報告会どうするか相談 ・ユーザー会関係ない勉強 最終報告会どうするか相談 本業が忙しくてなんもで ... ]]>

今回は最終報告会へ向けての作戦会議でした。

場所

煙と酒がある場所

参加者

2人

日時

05/25 18時半~

内容

・最終報告会どうするか相談
・ユーザー会関係ない勉強

最終報告会どうするか相談

本業が忙しくてなんもできてない。
6月から本気出す。もう振休使って本気だす。

6月も何気忙しいけどね。
飲み会もあるし、GXの教育資料も作成しないといけないし、筋トレもしたいし。。。。(ヽ”ω`)


↑PCの電源切ってから、写真とってないことを気が付いて写真とったPC

ユーザー会関係ない勉強

参考書籍:良いコード/悪いコードで学ぶ設計入門

例文がJavaなのでJavaが読めないとキツいなと思いました。
Javaが読めれば大丈夫だと思います。

他の言語(まぁ私はGXをメインでやってるのでGXとか)に置き換えれないようなことがあると
結構読んでる途中で「う~ん」って悩みましたw

書籍のなかで「悪魔の~」という言い回しが面白く
結構サクサク読めました。

PGのことを考えて設計、設計書を書きたい方は一読してはいかがでしょうか!?

以上

]]>
https://www.oqiita.com/?feed=rss2&p=298402984
【SQLServer】テーブル一覧、カラム一覧https://www.oqiita.com/?p=2974https://www.oqiita.com/?p=2974#respondSun, 08 May 2022 21:00:25 +0000https://www.oqiita.com/?p=2974

SQLServerメモ テーブル一覧(コメント付き) SELECT systab.name AS テーブル名 , sysex.value AS コメント FROM sys.tables systab RIGHT OUTE ... ]]>

SQLServerメモ

テーブル一覧(コメント付き)

SELECT systab.name AS テーブル名 , sysex.value AS コメント
FROM sys.tables systab RIGHT OUTER JOIN sys.extended_properties sysex ON systab.object_id = sysex.major_id AND sysex.minor_id = 0
WHERE systab.name LIKE '%' -- テーブル名で絞り込み
ORDER BY systab.object_id
;

カラム一覧(コメント付き)

SELECT syscol.name AS カラム名 , sysex.value AS コメント
FROM sys.columns syscol LEFT JOIN sys.extended_properties sysex ON syscol.object_id = sysex.major_id AND syscol.column_id = sysex.minor_id
WHERE object_id in ( SELECT systab.object_id FROM sys.tables systab WHERE systab.name LIKE 'TEST' -- テーブル名で絞り込み )
ORDER BY syscol.column_id
;

まとめ

毎回調べるのめんどい

以上

]]>
https://www.oqiita.com/?feed=rss2&p=297402974