JAVA関連のことを調べてみた2022年11月04日

JAVA関連のことを調べてみた2022年11月04日

Lucene がやっていることをまとめてみた。

## Lucene のソースコードを読んでみました。

Java の勉強をしたいと思って、Lucene の ソースコードを読んでみました。簡単に言えば、下のコードの流れのソースコードを1つ1つ拾った感じです。

“`java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.io.IOException;
import java.io.File;

import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.codecs.simpletext.SimpleTextCodec;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field.Store;
impo

元記事を表示

static修飾子についての覚え書き

# はじめに
Javaの修飾子に関しての覚え書きです。
この情報は不正確かもしれないのでご了承ください。

# static修飾子
static修飾子つけたメゾッドは、Processingでいう関数のようなものになる。
つまり、staticなメゾッドは呼びだすために、わざわざインスタンスを生成する必要がない。
## Processingのメゾッド、関数
Processingにおいては、「クラスメゾッド」と「関数」は区別されており、関数はクラスの外に独立して記述できる。以下が実際の例
“`java:Exam.pde
class Exam{

public void methodA(){ //これがクラスメゾッド
println(“Example1”);
}
}
“`
“`java:methodA.pde
public void methodA(){ //これが関数
println(“Example2”);
}
“`
以上2つを呼び出すときは以下のようにする。(そもそもProcessingでは、Javaにおけるメインメゾッドが「setup関数」

元記事を表示

機械学習、Java、GridDBを利用した不正取引検知

今日、金融の世界では、金融データが新しい通貨となっています。しかし、ますます拡大する金融データを従来の統計的手法で処理することは難しくなってきています。機械学習は、企業価値や株価、あるいは金融詐欺の検出といった形で金融データを予測するプログラムの作成を可能にする一連のテクニックとモジュールを提供します。

本稿では、クレジットカード決済を利用したお客様の不正取引を検知することができる決定木の作成について説明します。本レポートでは、Javaプログラミングを用いた決定木の実装を取り上げます。この記事ではまず、機械学習アルゴリズムの主な要件について説明します。次に、データセットとその主な構成要素について説明します。その後、決定木を使って決定木を実装を行います。最後に、GridDB の read、write、store メソッドを実装し、展開とテストのためにデータを保存しています。

[ フルソースコードはこちら ][1]

## 必要条件

Weka 3.9: weka.jar ファイルをダウンロードし、以下のパスに配置します。
/usr/share/java/.

GridDB 4.6:イ

元記事を表示

eclipseとmavenとspring ざっくり説明

java bronze合格して開発者を目指し始めた初心者向けの説明

今までプリミティブ型の最大桁数くらいしか習ってなかったのにいきなりいろんな用語でてきてわかんないよ!っていう人向け

_______

ビルド

javaアプリケーションを作成するには、「ビルド」という手順を踏まなければいけません。

「ビルド」という手順を容易に済ませてくれるのが「ビルドツール」です。
_______

maven

mavenはビルドツールです。
mavenの場合、ビルドの設定を記載するファイルはpom.xmlになります。

_______

spring

springはjavaのソースファイルを書くのに役立つフレームワークです。
(cssのフレームワーク「Bootstrap」のように、おまじない入れるだけで簡単に実装できたりします。)
利用するにはビルドツールの設定ファイルに記載が必要です。

_______

eclipse

eclipseにstsをいれると、プロジェクトの新規作成からspringプロジェクトが選べるよ

元記事を表示

Atcoder 競プロ典型90問 【004 Cross Sum】 Javaで詰まった話

こんにちは、[Kuni](https://qiita.com/kuniengineer)です。現在Javaを学習中で、Atcoderでコーディング力を高めているところです。
そこで[競プロ典型90問 004-CrossSum](https://atcoder.jp/contests/typical90/tasks/typical90_d)において、TLEが続いてしまい詰まったので、共有します。

# TLEのプログラムとACのプログラム

TLEとなってしまったプログラム

“`java
import java.util.*;

public class Main {
public static void main(String[] args){
//標準入力受け取り準備
Scanner scanner = new Scanner(System.in);

//Intで読み込み
int H = scanner.nextInt();
int W = scan

元記事を表示

IBM Cloud® Code Engine に超シンプルなWARアプリをibmcloud CLIからデプロイする

# 概要

1. WAR を作成
1. Dockerfile を作成する
1. Code Engine にデプロイする

# WAR の準備

サンプルとしてこんなWebアプリを用意しておきます。
今回はJSPを配置しただけのものです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110265/7b1e0289-c1f7-18c2-2fdb-118b8f35a4e3.png)

“`jsp:index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>




Hello

<%=new java.util.Date()%>

  1. OK
元記事を表示

Spring Cloud FunctionでAzure Functionsアプリ

# はじめに

Spring Cloud Functionとは、関数(Function)によってビジネスロジックを実装し、実行環境に依存せず、同じコードでWebエンドポイント、ストリーム処理、タスクを実行できるようにするフレームワークです。
AWS LambdaやAzure Functionsなどのサーバーレス環境で動作させることができます。
要はSpringの便利機能を使いながらFunction開発できますというシロモノです。

https://spring.io/projects/spring-cloud-function

この記事ではSpring Cloud Function × Azure Functionsを試してみます。
Mavenを使っているサンプルが多かったので、Gradleでプロジェクト作成したいと思います。

https://learn.microsoft.com/ja-jp/azure/developer/java/spring-framework/getting-started-with-spring-cloud-function-in-azure

元記事を表示

【mybatis】接続先DBをSQLの内容等で振り分け【Java, Spring】

# 接続先DBをSQLの内容等で振り分け
### 概要
・負荷分散、データ分割などの理由で接続先のDBを振り分けたい
・org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource を利用
・MyBatis のSQL実行をインターセプト

## 環境
・SpringFramework 4
・mybatis 3.2
・mybatis-spring 1.2
・mysql (jdbc)

## 構成
・Source/Replica (Master/Slave)
・デフォルトは Source の方に接続、特別な場合に Replica の方へ接続するなどコードで色々設定が可能
・インターセプターで接続先を設定する

## コード
### DynamicDataSource
“`java
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;

public class DynamicDataSource extends

元記事を表示

Struts1.3でWebアプリケーションを開発してみた

## はじめに
Struts1.3を使ってWebアプリケーションを開発したので、開発を通じた経験・感想を記事にしてみました。
「今さらStruts??」というのが正直なところですが、現在入っている現場で使用されているフレームワークがStruts1.3であり、勉強も兼ねて、このフレームワークでの開発を選択しました。

以下が、ソースリポジトリ(GitHub)へのリンクです。
[struts-school-search](https://github.com/shu0n/struts-school-search)
Docker上で起動する想定の構成にしていますので、各々の環境で起動していただき、ご意見をいただければ幸いです。

## どんなWebアプリケーションを開発しよう、、、
開発するにあたって、どんなWebアプリケーションを開発するかをまず考える必要があります。
あまり簡単なアプリケーションだとあまり勉強にはなりませんし、大きすぎると完遂できずに終わってしまいます。
その辺りを考慮して、以下の目的をもったWebアプリケーションを開発することにしました。

– 主催しているスクール情報

元記事を表示

SDK30以降で”com.android.camera.action.CROP”のintentが機能しない

## はじめに
– SDK30以降デフォルトで入っているギャラリーアプリ以外で画像のクロップができなくなった

## 元のコード
“`java:ImageEditActivity.java
Intent intent = new Intent(“com.android.camera.action.CROP”);
//intentに対して色々
grantPermissions();
startActivityForResult(intent, requestCode);
“`

“`kotlin:PermissionsManager.kt
fun grantPermissions(){
context.packageManager.queryIntentActivities(
intent,
PackageManager.MATCH_DEFAULT_ONLY
).forEach { resolveInfo ->
//権限の付与
}
}
“`

ちなみに`startActivit

元記事を表示

mvnコマンドを走らせたときにエラーが出る

## 現象
SpringBootプロジェクトをビルドしようと`mvn package`コマンドを走らせたときに次のようなエラーが発生した。

“`.bash
Execution default-jar of goal org.apache.maven.plugins:maven-jar-plugin:2.6:jar failed: An API incompatibility was encountered while executing org.apache.maven.plugins:maven-jar-plugin:2.6:jar: java.lang.ExceptionInInitializerError: null
“`

## 解決方法
[このリンク](https://github.com/Kotlin/kotlin-interactive-shell/issues/63)に解決方法が紹介されていた。

どうやらmavenプラグインのバージョンが古いことが問題らしい。
やることは単純で、pom.xml中の`maven-jar-plugin`のバージョン指定を`3.0.0

元記事を表示

Lucene が 結果を取得する様子を探ってみる

自分用の備忘録なので結構はしょります。後で記事にします。

## Lucene の IndexSearcher.search の createWeight は文書結果を取得しない。

createWeight は BM25 ? などで使う 統計情報を取得するだけで、マッチした文書の一覧取得までは行っていない。

SimpleTextCodec ですが [ここら辺のコード](https://github.com/apache/lucene/blob/44b4602776a63d93896d887e5000c9e3ca7c3119/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java#L722-L727) を見れば、`lastDocsStart` しかインデックスしていないことが分かる。

“`java
fstCompiler.add(
Util.toIntsRef(lastTerm.get(), scratchI

元記事を表示

SQL文を自動生成するプログラムをつくる⑦

# はじめに
この記事は[「SQL文を自動生成するプログラムをつくる⑥」](https://qiita.com/NotNor/items/1a4bc01aac06067780c9)からの続きです。

今日知ったことなんですけど、
マクロを使えばSQL文の生成がある程度自動化できるみたいですね。
ちょっと落ち込みました。まあ、プログラムは完成させますが…

# 前回までのあらすじ
①. SQL文を自動生成するプログラムを作ることを決めた
②. DBの各値を格納するエンティティ(偽)を検討
③. エンティティ(偽)のコーディング
④. SQL文の自動生成部分(GenerateSqlクラスとする)の設計
⑤. GenerateSqlクラスのreadCsvFile メゾッドのコーディング
⑥. readCsvFile メゾッドのテストと問題点の整理
⑦. SQLの復習から予定変更。ちょっと思いついたことがあるのでそれをやる ←今回

# csvToAttributes メゾットを作る
[前回](https://qiita.com/NotNor/items/1a4bc01aac06067780c

元記事を表示

JTableをマウスホイールでスクロールさせる

CustomV4でテーブルを左右に連結したときに、スクロールバーを片方のテーブルにしか表示させない場合、スクロールバーを表示していない側のテーブルがスクロールできなかった。

以下のようにしたらスクロールできたのでメモがてらまとめておく。

“`
scrollLeft.getViewport().addMouseWheelListener(new MouseWheelListener() {
@Override
public void mouseWheelMoved(MouseWheelEvent e) {
JViewport vport = scrollLeft.getViewport();
Point vp = vport.getViewPosition();
vp.translate(0, e.getWheelRotation()*getTableFixed().getRowHeight());
getTableFixed().scrollRectToVisible(new Rectangle(vp

元記事を表示

SQL文を自動生成するプログラムをつくる⑥

# はじめに
この記事は[「SQL文を自動生成するプログラムをつくる⑤」](https://qiita.com/NotNor/items/0fdeb470efd52a0fe011)からの続きです。

# 前回までのあらすじ
①. SQL文を自動生成するプログラムを作ることを決めた
②. DBの各値を格納するエンティティ(偽)を検討
③. エンティティ(偽)のコーディング
④. SQL文の自動生成部分(GenerateSqlクラスとする)の設計
⑤. GenerateSqlクラスのreadCsvFile メゾッドのコーディング
⑥. SQLの復習(予定) しかし、readCsvFile メゾッドの問題発覚 ←今回

# メゾッド readCsvFile を使ってみる
前回、メゾッド readCsvFile をコーディングしたのですが、実際に動くか試していなかったので、やってみました。標準入力からcsvファイルのパスを読み込んで、csvファイルの行と列を取得することで動作確認としました。
まず、以下のコードでやろうとすると、
“`java:Test.java
import java.io

元記事を表示

繰り返してみるfor.while(学んだこと)

for文while文で繰り返してみる
===
~~~java repeat.java
public class repeat{
public static void main(String[]args){
for(int i=1; i<=5; i++){ System.out.println(i+"回繰り返している(for)"); } int j=1; while(j<=5){ System.out.println(j+"回繰り返している(while)"); j++; } } } ~~~ 結果 === 1回繰り返している(for) 2回繰り返している(for) 3回繰り返している(for) 4回繰り返している(for) 5回繰り返している(for) 1回繰り返している(while) 2回繰り返している(while) 3回繰り返している(while) 4回繰り返している(while) 5回繰り返している(while)

元記事を表示

Javaの例外処理

Javaの例外処理についてのアウトプットをします!
## 例外とは
コンパイルが成功しても、実行した際にエラーが発生することがある。実行時に発生したエラーのことを例外と呼ぶ。例外が発生することを、「例外がスローされる」と言う。
例外クラスとchecked例外とuncheked例外の2種類に分類される。
checked例外はDBなどJava実行環境以外が原因で発生し、uncheked例外は実行中のプログラムが原因で発生する。checked例外は例外処理が必須である。

## try-catch-finally
tryブロック、catchブロック、finallyブロックで構成される例外処理。
|try|catch|列3|
|:–|:–:|–:|
|例外が発生しそうな箇所をtryブロックで囲む|例外が発生した場合の処理を記述|例外の発生有無に関係なく実行する処理を記述|

“`java
public class Main{
public static void main(String[] args){
String[] animal = {“猫”,”犬”,”兎

元記事を表示

現場参画 ~立ちはだかるPLSQL~

【この記事のテーマ】
・現場参画 雰囲気
・PLSQL

初投稿になります!
今月の初旬から新しい現場に参画しました。そこの会社は一棟本社ビルを構えワンフロアおしゃれなカフェスペースみたいになっている「ザ・今時のIT会社」という感じです。朝の出勤時間はフレックス制が敷かれている為定時の時刻に来る人はまちまち。私は外部からきているので基本的に定時出社定時退勤です。今まではこんな綺麗なところで働いたところがなかったので毎日とてもウキウキしながら通っています。

本題ですがPLSQL!です。みなさんは聞いたことありますか??今までSQLは沢山扱ってきましたがPLSQLは初めて出会いました。一緒のタイミングで参画した方にも聞きましたがやはり初めて扱うそうでした。ネットを色々と探してみてもSQLに比べて文献が少ないようにみえました。

——————————————
PLSQLを扱うメリット SQLに対して何が違うのか
一つこれに限るという結論に至りました。

・複数のSQL文をまとめて実行できる!

一文一文実行しなければいけないSQL文

元記事を表示

【Java初心者向け②】インスタンスの作成と実行

## javaのインスタンスについて理解する
Javaはコンパイル言語のため、実行の前にコンパイルが必要になります。
コンパイル方法が分からない方は下記でコンパイル方法を学習してください。

https://qiita.com/kousueke/items/31f12740c912afafe4c5

## 環境
– Windows10,11
– Java 19.0.1

## 流れ
– 今回使用するプログラムの概要
– 用語説明
– クラスの作成
– インスタンス作成
– インスタンス実行
– コード全体

### 今回使用するプログラムの概要
今回はスポーツを題材にしたプログラムを作成していきます。
処理としては、クラスに定義したメソッド(処理)を用いて、競技名を出力するものになります。

### 用語説明
#### オブジェクト指向
そもそもですが、Javaはオブジェクト指向の言語です。
オブジェクト指向とは
オブジェクト(部品となる物)を作成し、それらのオブジェクトを組み合わせて、プログラム行う言語になります。
また、これから説明するインスタンス化はオブジェクト指向の言語において

元記事を表示

Javaのメソッドについて

## メソッドとは
クラスが持つ操作(機能、どんな処理ができるか、命令文など)のまとまりの事。
詳しく書くと特定のクラスやオブジェクトに所属するグループのことで、内容がまとまっている処理や反復する処理など、いくつかの処理を一つにまとめたものを**メソッド**と呼ぶ。

“`:メソッドの定義の基本の形
戻り値の型 メソッド名 (引数){
処理(命令文)
}
“`

・**引数**:呼び出し元から受け取る値。「この値を使ってデータを処理して欲しい」というときに、渡す値のことを言う。引数がない場合も()は記述する。
・**戻り値**:メソッドの処理の後に呼び出し元に返す値。簡単にいうと処理結果のデータ。「retrun」で指定する。戻り値がない場合は「void」 と記述する。
・**メソッド名**:変数の名前と同じルールで好きな名前をつけることができる。
“`:戻り値を返さない場合
void メソッド名(引数){
処理(命令文)
}
“`

メソッドには
・呼び出す側(呼び出し元)
・呼び出される側
がある
下の写真では左側の1つが呼び出す側(実行用クラス)、右側

元記事を表示

OTHERカテゴリの最新記事