OracleのDockerコンテナ初回起動が遅すぎる問題とその対処法

OracleのDockerコンテナの初回起動が非常に遅いという問題は、すでに広く知られています。 この遅さの原因は、コンテナの初回作成時にOracleの初期セットアップ処理が実行されるためです。 一度この初期セットアップを済ませてしまえば、以降の起動はそこま…

MinecraftのBedrock 版サーバーをAWSに建ててみた

息子がSwitchで、Minecraftを始めたので、私もiphoneでMinecraftを、始めてみました。 息子とマルチプレーをしたいのですが、Minecraftが提供するRealmsという有料のサーバーを借りる必要があります。 しかも、Switch版でオンラインゲームをするには、Ninten…

Filter pattern in awslogs contains single quotes?

シングルクオートを含む文字列、例えば、'sample'で、CloudWatch Logsを検索したいとき、フィルターパターンとして、"'sample'"を指定すると... awslogs get ${LOG_GROUP} ALL --start ${START} --end ${END} -f "'sample'" Oops! エラーになります。 Traceb…

EC2にセッションマネージャー経由で接続する方法 〜CLI編〜

~/.ssh/configの設定は不要です。 ssh \ -i 秘密鍵のパス \ -o ProxyCommand="aws ssm start-session \ --target %h --document-name AWS-StartSSHSession \ --parameters 'portNumber=%p' \ --profile AWSプロファイル名" \ ec2-user@インスタンスID scpも…

Reactによる確認ダイアログの実装サンプル

確認ダイアログのReactコンポーネント meets kintone import React, { FC, useCallback, useState } from "react"; import { Dialog } from "@kintone/kintone-ui-component"; import { Button } from "../Button"; type EventHandler = (e: React.Synthetic…

playwright on container imageをAWS Lambdaで動かす

dockerコンテナ上のアプリをAWS Lambda上で呼び出すには、awslambdaricというのが必要なようです。 dockerイメージは以下のようになります。 # Define custom function directory ARG FUNCTION_DIR="/function" FROM --platform=linux/amd64 python:3.10-sli…

Anker PowerConf H700

Anker PowerConf H700(ワイヤレスヘッドセット Bluetooth 5.0)【パソコン用 / Web会議 / 通話ノイズリダクション / マイク搭載 / アクティブノイズキャンセリング / マルチポイント / 外音取り込み / USBアダプタ付属】AnkerAmazon 去年、このヘッドセット…

Enumの名称は単数形か複数系か

learn.microsoft.com ほとんどの Enum 型には単数名を使用しますが、ビット フィールドのEnum 型には複数名を使用するのがよいそうです。 Javaは、Enumで、ビットフィールドを表現できない(かわりにEnumSetを用いる)ので、単数が当たり前で、 他の言語を使…

Django(DRF)のレスポンスにcodeを含める

DRFのレスポンスは、通常は、メッセージが表示されるだけ。 { "param1": [ "この項目は必須です。" ] } APIの例外クラスを見ると、エラーコード(code)が指定されることがわかります。 このcodeをレスポンスに含めたい場合、どうするか。 class APIException(…

キャメルケースにおける略語の表現

HTML(HyperText Markup Language)、XML(Extensible Markup Language)などの略語は、通常、全て大文字で表現しますが、クラス名などのキャメルケースでは、どうするか、いつも悩ましい、私です。 qiita.com JAVAは、どうもHtmlというふうに、略語も一つの単語…

Oracle JDK8 Install in github action

github actionで、JDKをインストールする場合は、以下のgithub actionが提供されていますが、 難点は、OracleのJDKはサポートされていないことです。 github.com そういった場合、Oracleからwgetしてインストールするgithub actionを書くわけですが、今回、…

.envとPycharm

JetBrain製のエディターで、.envファイルを読み込ませたいときは、 EnvFileというプラグインを使用するとよいです。 github.com EAP版やアップグレード直後などに、ために、そのプラグインが使えないケースがあり、少し手間ではあるけど、 以下のように、pip…

突如、WebMoneyのAPIが、SSLPeerUnverifiedExceptionを投げ始めた。

TLS1.2に移行したようです。 すでに知られていることですが、java7は、デフォルトではTLS1.2をサポートしていません。 TLS1.2限定のサーバにリクエストを送信すると、以下のようなExceptionがスローされました。 javax.net.ssl.SSLPeerUnverifiedException: …

PayPay Open Payment API(OPA)の突合ファイルをOpenCSVで読み込んでみた。

PayPay OPAでは、前日の取引データなどが、突合ファイルとして生成され、HTTP GETで取得することができます。 こちらのPayPayのディベロッパサイトに、sampleの突合ファイルがありますので、取得して読み込んでみました。 Web Cashier - PayPay Open Payment…

PayPay Open Payment API(OPA)とSpring Framework(旧)の相性問題

github.com PayPay決済のSDKを追加したところ、Tomcatが起動しないトラブルが発生しました。 org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [************.class]; nested exception is…

PayPay Open Payment API(OPA)のWebhookをjacksonしてみた

PayPay決済では、PayPay Open Payment API(OPA)という、決済操作をするAPIを提供しています。 その一つに、PayPay側からイベント通知を行うWebhookを提供しており、以下ようなJSON形式のデータがPostされるようです。 そのJSON形式のデータをjacksonで、デ…

知らんうちにmaven-eclipse-pluginが引退してた。

古いプロジェクトを、最新のEclipseで開いたのだけど、ClassNotFoundで、WTPが起動しない。 どうも、maven-eclipse-pluginが、最新のEclipseでは、うまく動かなくなっていた。 調べてみると、maven-eclipse-pluginは、とっくにEOLのようだ。 pom.xmlから、以…

javax.servlet.UnavailableException: In a Servlet 3.0+ application, you must not define a log4jServletFilter in web.xml. Log4j 2 defines this for you automatically.

Tomcat7に、古いWebアプリをデプロイしたら、log4jにまつわるエラーにより、WEBアプリが立ち上がらない問題に遭遇しました。 Tomcatのログを見ると、以下のようなエラーが出ていました。 SEVERE: Error during ServletContainerInitializer processing javax…

About DDD Structure

アプリケーションのアーキテクチャの勉強のため、githubに、随時、まとめていこうと思いました。DDDは、概念が難しく、実装に落とし込むことが難しいです。それゆえ、忌避される傾向もあるように感じます。たしかに、現場では、クラスをどうつくっていくか、…

Received fatal alert: protocol_version -> [Help 1]

How To Install Maven To Eclipse

Mysql2::Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INDEX `xxx` TO `yyy`' at line 1: ALTER TABLE `zzz` RENAME INDEX `xxx` TO `yyy`

とあるRuby製Webアプリの移管作業で発生したトラブルです。 データベースを作成するため、マイグレーションを実行したら、以下のようなエラーが発生しました。 Mysql2::Error: You have an error in your SQL syntax; check the manual that corresponds to …

Powermock + SpringでJUnitをやってみた

Spring Bootはやり方があるらしいが、素のSpring Frameworkだったら、どうやるんだろう。 ぜんぜん、ぐぐっても出てこないので、はまりつつ、やってみました。まず、アノテーション設定はこうします @RunWithと@PowerMockRunnerDelegateで、JUnit + PowerMoc…

jmockitのDeencapsulationがdeletedされてた

jmockitには、DeencapsulationというマジカルなUtilityクラスがあります。 通常は、アクセスできないフィールドやメソッドにアクセスすることができちゃう禁断のクラスです。 このクラスが、最新のバージョンで削除されていることが発覚しました。ことの経緯…

FTPサーバをiOSアプリに組み込む方法ついて

最近、オイコノミアを録画対象にいれました。 id:ryu-htmです。iOSアプリをFTPサーバにする方法ついて調べており、 Cで実装されたFTPサーバライブラリをサンプルのアプリに組み込んでました。github.com そもそも、アップルは許してくれるのだろうか? 外部…

詳解 Swift(第4版)を結局買った

詳解 Swift 第4版作者:荻原 剛志発売日: 2017/12/26メディア: 単行本1日2章ずつ読み、年末年始休暇中に読み切ろうという計画を立てました。 時間的に短いので、写経なし。ただひたすら読む。つらいなぁ。 がんばるぞぉーー。年末年始の特番の誘惑に負けない…

アプリ開発をはじめるにあたり

お世話になったお客さんとの仕事が終わりました。Hotな案件だったのですが、 IoTがどこまで実現しているのか、課題は何があるのか、 どういう仕組み(アーキテクチャ)で実現しているのか、 現状がみられて、とても実績をつませて頂きました。 撤退すると聞…

JPEGファイルのバイナリからExifが読めるようになるまでに見たサイト

けんしのページ - Exifファイルフォーマット - 最初に見た。ざっくりとはわかったけど、タグの位置の説明が理解できず挫折した。 http://dev.exiv2.org/projects/exiv2/wiki/The_Metadata_in_JPEG_files OSSライブラリのExiv2について調べていたら見つけた。…

詳解 Swift(第4版)が出そう

詳解 Swift 第4版作者:荻原 剛志発売日: 2017/12/26メディア: 単行本毎年、クリスマスの時期に出るんですね。Swiftは、一年毎にバージョンアップされるし、 本書く人も、たいへんですよね。 そろそろ、仕様が安定してくれればいいけど。ちなみに、自分は、3…

Adobe XMP Toolkit SDKをiOSアプリに組み込んでみた

画像ファイルに埋め込まれているメタ情報の中に、XML形式で格納されたデータがあります。 ざっくり言えば、ExifのXML版でしょうか。 XMPというAdobeによって標準化されたフォーマットなんだそうです。iOSアプリのための、このデータを扱うOSSのライブラリを…

増田 亨さんが待望の書籍化

DDD

現場で役立つシステム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法作者:増田 亨発売日: 2017/07/05メディア: 単行本(ソフトカバー) 増田さんは、あの難解なDDDを実践しているということで、 以前から、尊敬していたエンジニアの一人です。…