ぺんぎんらぼ

お笑いとマンガ好きなしょぼしょぼWeb系エンジニアの日記です。たまに絵を描きます。

お笑いとマンガ好きなしょぼしょぼWeb系エンジニアの日記です

Eclipseで始めるJava SEでJPA (Jakarta Persistence) アプリケーション

データベースにアクセスするアプリケーションを作るとき、どのような方法でデータベースアクセスを実装してますか?やっぱりMyBatis?まさかのJDBC? Jakarta EEではデータベースアクセスのフレームワークとしてJPA (Jakarta Persistence PI) というものが用…

Eclipseで始めるJakarta EE 10プログラミング超入門 ③ - JPAアプリケーションの作成

データベースにアクセスするアプリケーションを作るとき、どのような方法でデータベースアクセスを実装してますか?やっぱりMyBatis?まさかのJDBC? Jakarta EEではデータベースアクセスのフレームワークとしてJPA (Jakarta Persistence PI) というものが用…

Eclipseで始めるJakarta EE 10プログラミング超入門 ② - Servletアプリケーションの作成

Jakarta EEのアプリを作ったことがなくても、JavaでWebアプリを作ったことがあるなら「サーブレット」という言葉が聞いたことがあると思います。 「サーブレット」はJavaでWebアプリケーションを構築するうえで、基本的で低レベルな方式となります。 今回は…

Eclipseで始めるJakarta EE 10プログラミング超入門 ① - Gradleプロジェクトの作成

Jakarta EE (旧Java EE)でアプリを作ってみたいけど、Jakarta EEは難しそうだしなー。とりあえず簡単に始められるSpring Bootでいいか。 という方、多くないですか?そもそも、Spring Bootがあるから、Jakarta EEは興味ない!って人も多いと思います。 Jakar…

EclipseでGradleのシングルプロジェクトを作る

EclipseではBuildshipプラグインによりGUIで簡単にGradleのプロジェクトを作成することができます。 ある時、Gradleのプロジェクトを作成したところ、プロジェクトが入れ子になった「マルチプロジェクト」としてプロジェクトが作成され、「なんで?」となり…

最新版FESS - 本運用環境で起動する

最新版FESSの設定方法 FESSの各種設定方法は公式サイトで公開されていますが、検索サイトで検索すると、古いバージョンのドキュメントが検索結果の上位に表示されることが多いです。 ここではバージョン14にて、よく使う設定を抜粋して、まとめておきます。 …

最新版FESS - デスクトップ検索の設定

最新版FESSの設定方法 FESSの各種設定方法は公式サイトで公開されていますが、検索サイトで検索すると、古いバージョンのドキュメントが検索結果の上位に表示されることが多いです。 ここではバージョン14にて、よく使う設定を抜粋して、まとめておきます。 …

EclipseでGit超入門 - リモートブランチの削除

Gitを使うのは初めて。EclipseからGitを使うことになった。そんなあなたのためのEclipseでGit超入門です。 難しいことは説明せず、必要なことだけを解りやすく説明していきます。 eclipseでリモートブランチを削除 不要になったリモートブランチの削除を頼ま…

EclipseでGit超入門 - 複数のコミットをまとめる

Gitを使うのは初めて。EclipseからGitを使うことになった。そんなあなたのためのEclipseでGit超入門です。 難しいことは説明せず、必要なことだけを解りやすく説明していきます。 修正ミスで何回かコミットしちゃった! こんなことありませんか? 修正漏れと…

RustでToDoアプリ②~jsonファイルから読み取ったデータをDtoにセット~

この記事はRustでCLIベースのToDoアプリを作っていくシリーズの第二回です。 第一回はこちら。 今回はToDo用のデータを入れておくためのDtoを定義し、jsonファイルから読み取ったデータをそのDtoに設定する処理を書いていきましょう。 コード(main.rs) use s…

RustでToDoアプリ①~標準入力の内容を出力~

RustでToDoアプリ(CLIで入力してjson形式でファイル保存) 何回かに分け、コマンドラインから値を入力しjsonファイルとして保存するToDoアプリケーションを作っていこうと思います。 その中で併せてRust言語の特徴を説明していきます。 第一回のこの記事で…

64bitと32bitの違い

CPUの命令セット 「64 bit OS」や「32 bit OS」と言う言葉を耳にします。 この64ビットや32ビットとは「CPUの命令セット」のことです。 64ビットOSは64ビットアドレスを使用してメモリにアクセスし、32ビットOSは32ビットアドレスを使用してメモリをアクセス…

Jakarta EE (Java EE) Topics - @Inject or @EJB ?

Java EEではコンポーネントの管理に「CDI」と「EJB」があります。 どちらかで統一したいところですが、それぞれ役割が分かれていて、Backing Beanのような画面のコンポーネントは「CDI」、ビジネスロジックや永続化のコンポーネントは「EJB」と、使い分ける…

Jakarta EE (Java EE)のバージョン情報

2022/9に、5年ぶりのメジャーバージョンアップであるJakarta EE 10が発表されました。 いろいろと変更が入っていますが、注目すべき点としてはCDI 4.0で、Enterprise Bean (EJB) の代替手段がCDIに用意されたことです。これにより、今まではプレゼンテーショ…

よくあるDIの勘違い③ - Java EEのdependentスコープ

Java EEのCDIには、dependentというスコープがあります。 このdependentスコープのライフサイクルについて、勘違いしているケースをよく見ます。 どんな勘違い? このdependentのライフサイクルについて、「Inject先のBeanのスコープに準ずる」というような…

よくあるDIの勘違い② - InjectしたBeanのフィールドに直接アクセスしてはいけない

Spring FrameworkでDIするBeanクラスや、Java EEのCDI Beanクラスにフィールドを定義して状態を持たせることがあります。 @RequestScope public class ReqScope { public String request = "Request-1"; public String getRequest() { return this.request; …

よくあるDIの勘違い① - 異なるスコープを持つBeanの親子関係

Spring FrameworkのDIや、Java EEのCDIの対象となるBeanには「スコープ」が定義されてます。 この「スコープ」の定義によって、Beanのライフサイクルが変わることは広く知られていると思います。 例えば、アプリケーションスコープのBeanは、アプリケーショ…

MediaWikiのお引越し

中古のQNAPを購入したので、これまでラズパイに立てていたMediaWikiをお引越しします。 wikiページは全30ページ程だったので、愚直にテキストをコピペして移行します。 つまり、手作業で移行します。 ページに埋め込んでいた画像たちは、FTPソフトでローカル…

すごく簡単にRaspberry PiのSDカードをバックアップする方法

まえがき バックアップ方法検討 使うもの 実施 おわり まえがき スマホを再起動すると、SDカードに保存していた写真データが消えていました。電源断でいってしまったようです。SDカードのフォーマットで8割復活しました。 ところで、ラズパイのHDDもSDカード…

JavaScriptで1から100までの数値配列を生成する(JavaのIntStream.rangeをやりたい)

JavaScriptで1から100までの数値からなる配列を生成しましょう。 Javaの場合はIntStream.range(1, 101)やrangeClosed(1, 100)で一発ですが、JavaScriptの場合は少し面倒です。 完成版は以下になります。 完成版 const range = (start, end) => [...new Array…

JavaScriptのArray.fill()の注意点

JavaScriptで少し「あれ?」となったことを共有です。 多次元配列の操作中に、思っていたのと違う挙動になってしまいました。 間違った例 コード const loopArray = new Array(3).fill(new Array(2)); // 初期化 for (let y = 0; y < 3; y++) { for (let x =…

Spring Boot + Vue.js で作るWebアプリケーション④ - Eclipseのビルド設定

EclipseでVue.jsのビルド Vue.jsのビルドは、コマンドプロンプトでVue.jsのソースフォルダに移動して、「npm run build」コマンドを実行する必要があります。 また、ビルド実行後に、Eclipse上でプロジェクトをリフレッシュして、ビルド結果を反映する必要が…

Spring Boot + Vue.js で作るWebアプリケーション③ - プロジェクトの作成

Spring Boot + Vue.jsのプロジェクトの作成 今回はSpring Boot + Vue.jsのプロジェクトを作成します。 この記事の手順通りに進めるだけで、Vue.jsのアプリケーションを立ち上げることができます。まずはVue.jsを体験してみましょう! Spring Bootプロジェク…

Spring Boot + Vue.js で作るWebアプリケーション② - 開発環境構築

Vue.jsの開発環境構築 Vue.jsのプログラム構成 Vue.jsは、HTML、JavaScript、CSSを一つのvueファイルというものに記述します。 これだけ聞くと、画面の構成(HTML)、処理の実装(JavaScript)、画面の見た目(CSS)が一つのファイルでごちゃっとしそう・・・と思…

Spring Boot + Vue.js で作るWebアプリケーション① - フロントエンドフレームワークのトレンド

現時点のフロントエンドフレームワークのトレンドは? SPAを作るときにお世話になるフロントエンドフレームワークは「React」、「AngularJS」、「Vue.js」あたりが有名です。 2022年5月時点で、どのフレームワークが流行っているのか、Google Trendsで調べて…

カメラ、極まる。Xperia PRO-I 写真レビュー

前回の開封レビューに引き続き、今回はカメラが極まったという「Xperia PRO-I」で写真を撮影したので、写真にフォーカスしたレビューをします。 あえて、BASICモードで撮影しました。スマホらしく、パシャ撮りでどこまでの写真が撮れるかの確認です。 ソニー…

カメラ、極まる。Xperia PRO-I 開封レビュー

カメラが極まったと話題の「Xperia PRO-I」買っちゃいました! ソニーストアで198,000円(税込)と、そこそこハイスペックなパソコンが買えそうな価格です。 人を選ぶスマホで、一般人のマツキは「Xperia 1 III」を買った方がいいのは明らかでしたが、1.0型セ…

GitLabでCI/CD - Javaプロジェクトのビルドとテスト

みなさん、GitLabを使ってますか? GitLabは、クラウド、オンプレ、Dockerと様々な環境で利用できるGitのリポジトリマネージャーです。 オンプレで利用できることから、社内の開発プロジェクトで利用するケースも多いです。Dockerイメージを使って環境を構築…

QNAPのiSCSIはローカルHDDの代替になるか?

マツキは普段、ノートPCを使ってますが、重い処理をするためのデスクトップPCも使ってます。 で、そのデスクトップPCは、システムドライブはSSDですが、大きなデータ、例えば動画ファイルなんかを置くためにHDDも搭載しています 使っているHDDはこれ。 WESTE…

Java Tips - メソッドの復帰値の型を総称型も含めて取得する

Javaでプログラム内からメソッドの情報を取得する場合、java.lang.reflect.Methodクラスを使用して取得することができます。 今回、以下のメソッドの復帰値の型を取得します。 public List<String> getStringList() { ・・・ } メソッドの復帰値の型を取得 java.lang</string>…