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

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

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つが呼び出す側(実行用クラス)、右側

元記事を表示

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

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

# 前回までのあらすじ
①. SQL文を自動生成するプログラムを作ることを決めた
②. DBの各値を格納するエンティティ(偽)を検討
③. エンティティ(偽)のコーディング
④. SQL文の自動生成部分(GenerateSqlクラスとする)の設計
⑤. GenerateSqlクラスのコーディング ←今回

# GenerateSqlクラス (続き)
 前回、クラスの設計がとりあえず終わったので今回からコーディングを始めます。それにあたって以下の順番でやります(予定)。
1\. メゾッド「readCsvFile」のコーディング ←今回
2\. SQLの復習
3\. メゾッド「createSql」のコーディング
4\. メゾッド「main」のコーディング

# メゾッド readCsvFile
## 概要
メゾッド readCsvFileはcsvファイルを読み込むためのメゾッドです。標準入力で

元記事を表示

Android studioアプリ開発の解説動画を観て、おみくじアプリを作りました。

今の自身のレベル

  • paizaラーニングのJava入門編6まで学習した
  • 入門編7に入る前に、Cランクレベルアップメニューをした

なぜ入門編を終わらせる前にアプリ開発を学習したいと思ったのか

paizaラーニングである程度、プログラミングらしいことができるようになってきたので、実際に動くものをパソコンで作ってみたいと思ったからです。

学習させていただいた解説動画

こちらの解説動画で学習させていただきました!
Android Studioを使ったアプリ開発を勉強するにあたって、Android特有の関数(AndroidSDK)が分からない…という壁にぶち当たっていたのですが、こちらの解説動画では、それについてどのように作用するのかなど細かく解説されており、詰まらずにアプリを完成させることができました!

出来上がったもの

元記事を表示

【kabuslib】auカブコム証券のkabuステーションREST APIをswaggerで生成したライブラリ

# はじめに

過去記事は「[auカブコム証券のkabuステーションREST APIに関する記事一覧](https://qiita.com/hiuchida/items/611ba237dc1d1f6e3dca)」。

swagger-uiからjavaのクライアントソースを生成し、独立したライブラリでレポジトリを作成する。

# 実装

kabusappからソースをkabuslibへ移動させる。
ラッパーAPIと列挙体はkabusapp側に残す。

同様にkabuswebappもkabuslibを依存させる。

# githubソース

https://github.com/hiuchida/kabuslib

元記事を表示

JAVAの命名規則について

こんにちは。
現在JAVAを独学で勉強中で、気づいたことがあったので、同じところでつまづかない人が出ないようにとメモを残しておくことにしました。

結論から言うと、クラス名をファイル名(拡張子を除く)と同じ名前にしないとコンパイルエラーが出ました。
そのプロセスのお話になります。

目次

1. 動作環境
2. 例文
3. 検証手順
4. 検証結果
5. 検証結果からの考察
6. 結論

1. 動作環境

✔️cloud9
✔️Linux
✔️JAVA”11.0.2″

2. 例文

“`JAVAの構文.java
public class クラス名{
public class void main(String… args){
処理内容
}
}

“`
上記構文に従って、

“`PracticeScript.java
public class PracticeScript{
public class void main(String… args){

元記事を表示

OTHERカテゴリの最新記事