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

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

Python,Ruby,PHP,Java,JavaScript,Perlの正規表現の比較

Qiita > プログラミング言語の比較

Python,Ruby,PHP,Java,JavaScript,Perlの正規表現の比較

# Python

https://qiita.com/FukuharaYohei/items/459f27f0d7bbba551af7

# Ruby

https://qiita.com/shizuma/items/4279104026964f1efca6

# PHP

https://qiita.com/miriwo/items/da463cfcae441400381a

# Java

https://qiita.com/suema0331/items/5dde9f91671100a83905

# JavaScript

https://qiita.com/iLLviA/items/b6bf680cd2408edd050f

# Perl

https://perlzemi.com/blog/2

元記事を表示

ECS上のTomcatアクセスログをCloudWatch Logsに出力する

# はじめに

ECS上で動作するコンテナについては標準出力にログが流れるよう設定する必要がありますが、Tomcatアクセスログはデフォルトで標準出力には流れません。
本記事ではTomcatのアクセスログを標準出力とし、CloudWatch Logsに出力する方法を紹介します。

## 環境
– Java11
– tomcat9.0

## 実施内容

方法としては非常にシンプルです。
– アクセスログを日付毎に出力するのではなく、固定ファイル名とする
– 固定ファイルと標準出力のシンボリックリンクを作成する

## server.xmlの用意

server.xmlのAccessLogValveを以下のような設定にする事で、アクセスログを固定ファイル名「access_log.txt」に出力するよう設定します。

“`server.xml
WindowsでJavaをインストールせずに使って、SikuliXを持ち運び可能にする

+ RPAを導入したいけど、お金はない。
+ SikuliX使いたいけど、Javaをインストールしたくない。

そんな人向けの情報です。

—-
## 手順

以下、Oracle OpenJDK を例にします。
1. [jdk.java.net](https://jdk.java.net/) から、Java8 以上で64bit版のWindows用buildをダウンロードします。
ex) [openjdk-20-ea+13_windows-x64_bin.zip](https://jdk.java.net/20/)
1. ダウンロードしたファイルを解凍して、`jdk-xx` フォルダを取り出します。
また、`jdk-xx` フォルダと同じ場所に `sikulixide-2.0.5.jar` を配備します。
1. 環境変数`PATH`に`java.exe` を追加するバッチファイルを作成し、バッチファイルから SikuliX を起動します。
**例)JDK-20 の場合**
“`cmd: sikulix_start.bat
@echo off
pushd %~dp0

元記事を表示

Java:PDFファイルの結合方法

内容がより密接に関連しているが、PDF文書の複数のファイルに分割されている場合、我々は、コンテンツの我々の読み取りや文書の処理を容易にするために、PDF文書にマージすることができます。 この記事では、Javaプログラミングを使用して**PDFファイルを結合する方法**を紹介します。

## 【依存関係の追加】
この方法は、無償のFree Spire.Doc for Javaが必要ですので、先にjarファイルをインポートしてください。
### 1. Maven
Maven を使用している場合、プロジェクトの pom.xml ファイルに以下のコードを追加することで、簡単にアプリケーションに JAR ファイルをインポートすることができます。
“`XML


com.e-iceblue
e-iceblue
https://repo.e-iceblue.com/nexus/content/groups/public/

元記事を表示

ABC043の解答[Java]

## はじめに
A~Cは自力AC、Dは解説ACしたものとなります。
昔のコードなので、そのままのも載せますが書き直した方が良さそうな時は書き換えた物も載せます。

では、見ていきましょう。

## A – キャンディーとN人の子供イージー
問題文は[こちら](https://atcoder.jp/contests/abc043/tasks/abc043_a)

単純にfor文でシミュレーションしました。
“`A.java
import java.util.*;
class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);

//値の受け取り
int N = sc.nextInt();

//答え用変数
int ans = 0;

//順に足していく
for(int i=1;i<=N;i++){ ans += i; } //答えの出力 System.out.println(ans); } } ``` 公式$\frac{

元記事を表示

Python,Ruby,PHP,Java,JavaScript,Perlのファイル入出力の比較

Qiita > プログラミング言語の比較

Python,Ruby,PHP,Java,JavaScript,Perlのファイル入出力の比較

# Python

https://qiita.com/onishi_820/items/f3068d5533a1f4f5ae39

# Ruby

https://qiita.com/Morio/items/8f0dc0801cfcb98d8269

# PHP

https://qiita.com/Morio/items/1deca77b370851ed914f

# Java

https://qiita.com/DeraTosev/items/77cd689da4426b892793

# JavaScript

https://qiita.com/shirokuman/items/509b159bf4b8dd1c41ef

# Perl

https://perlzemi.com/blog/20

元記事を表示

Spigotプラグインのコンフィグファイルを読み込む

## コンフィグファイルとは
 プラグイン名のディレクトリ下に配置されるconfig.ymlのことです。
プラグインの中にはこのyamlファイルからデータを読み取って動くものがあります。

## config.ymlからデータを読み取る
 JavaPluginを継承したクラスで`getConfig().get[データ型] “config.yml内でのパス”`のように記述すれば取得することができます。
ですがこの方法だとメインクラスでしか読み取りを行うことができません。
メインクラスにごちゃごちゃ書くのはなんだか嫌ですね。
かといって別のクラスを作成してJavaPluginを継承しようとすると怒られます。

一つのプラグインにおいてJavaPluginを継承したクラスが複数存在するとSpigotに怒られる上にプラグインを認識してくれません。
起動時にめちゃくちゃエラーが出ます。(n敗)

### データ読み取り用のクラス
メインクラスとは別のクラスにconfig.ymlからデータを読み取るメソッドを置きたい。
さて、どうしたらよいでしょうか。
単純明快。
とりあえずYamlConfig

元記事を表示

Java Swing レイアウトで遊ぶ

## BorderLayout
BorderLayoutは画面を5つの領域(NORTH,WEST,SOUTH,EAST,CENTER)に分けて自動でコンポーネントの大きさを変えて配置してくれるレイアウトマネージャー。
公式ドキュメントはこちら。
https://docs.oracle.com/javase/jp/8/docs/api/java/awt/BorderLayout.html
とりあえず試してみる。
### フレームサイズ(400,600)の場合
“`Java
setBounds(100,100,400,600);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton N_Btn = new JButton(“北”);
JButton W_Btn = new JButton(“西”);
JButton S_Btn = new JButton(“南”);
JButton E_Btn = new JButton(“東”);

元記事を表示

ABC044の解答[Java]

## はじめに
A~Cは自力AC、Dは解説ACとなります。
昔のコードなので、そのままのも載せますがなるべく見やすく書き換えたものも一緒に載せます。

では、見ていきましょう。

## A – 高橋君とホテルイージー
問題文は[こちら](https://atcoder.jp/contests/abc044/tasks/abc044_a)

特に考えずに場合分けをして解きました。
NがK以下ならN*X、Kより大きいならK*X+(N-K)*Yって感じです。
“`A.java
import java.io.*;
class Main{
public static void main(String[] args)throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

//各値の受け取り
int N = Integer.parseInt(br.readLine());
int K = Integer.parseInt(br.readLine()

元記事を表示

ウマ娘で学ぶポリモーフィズム(多態性)

# ポリモーフィズム(多態性)の特徴とは・・・
あるメソッドの呼び出しに対して、それぞれのオブジェクト毎に異なる動きを実現出来ること。

# ウマ娘を例にすると
”あるメソッド”は、以下HorseGirlクラスのcallメソッドとする。
“`java:HorseGirl.java
package sample;

// ウマ娘クラス(抽象クラス)
public abstract class HorseGirl {
// トレーナーを呼ぶ!
public abstract void call();
}
“`
これをもとに、各オブジェクトに異なる動きを与える。
“`java:AirGroove.java
package sample;

// ウマ娘クラスを継承したエアグルーヴクラス
public class AirGroove extends HorseGirl{

@Override
public void call() {
System.out.println(“たわけ!”);

}

}
“`
“`java:RiceShower.java
package

元記事を表示

@overrideアノテーションについて

# アノテーションの種類

### @override

– **overrideをつけると「必ずオーバーライドしてください」と指定することが可能**
– スペルミスなどが抑制できる

“`

public class Test extends TestOverride {
 
@Override
public void outputs() {
System.out.println(“Hello World!”);
}
 
public static void main(String[] args) {
TestOverride cl = new TestOverride();
cl.output();
}
}
 
public class TestOverride {
 
public void output(

元記事を表示

Python,Ruby,PHP,Java,JavaScript,Perlの関数定義の比較 (メソッド定義・サブルーチン定義なども)

Qiita > プログラミング言語の比較

Python,Ruby,PHP,Java,JavaScript,Perlの関数定義の比較 (メソッド定義・サブルーチン定義なども)

# Python

https://qiita.com/simonritchie/items/0f7b3768031dda834907

# Ruby

https://qiita.com/shizen-shin/items/dd41d1f0176a5e764f9f

# PHP

https://qiita.com/miriwo/items/a33688165a5f36ea8e76

# Java

https://qiita.com/takahirocook/items/5bfe43576d87a2a4006c

# JavaScript

https://qiita.com/tomcky/items/988fc5f56d019e9dc097

# Perl

ht

元記事を表示

Java Silver SE11受験記

7月にJava Silver SE11を受験しました。
結果は残念ながら不合格だったのですが、受験期として残します。

# 使用した教材
・徹底攻略Java SE 11 Silver問題集[1Z0-815]対応
黒本と呼ばれるやつです。
[こちらの教材](https://www.amazon.co.jp/徹底攻略Java-SE-11-Silver問題集-1Z0-815/dp/4295007625/ref=nodl_?dplnkId=068007f9-e5fe-44a7-ac60-93372c287a24)

# 学習期間
1ヶ月弱

# 行った学習
[1回目]
とにかく解説を読む。
⇒簡単な知識しかなく、しばらくJavaのコーディングをしていなかった私にとっては、1回目からいきなり問題を解くのは難しかった。
何を問われているかを把握した後は、ひたすら解説を読み進めていった。
1度目から完全に把握するのは難しいので「へぇ〜こんなのあるんだ。」位のスタンスで良いと思う。

[2回目]
自力でできるところまでで問題を解く。
分からなくなったら解説を見る。
⇒1問毎に知らない知識が

元記事を表示

Python,Ruby,PHP,Java,JavaScript,Perlのプログラミング言語の比較

Qiita > プログラミング言語の比較

Python,Ruby,PHP,Java,JavaScript,Perlのプログラミング言語の比較です。

# 2022年版

## 人気の比較記事

https://qiita.com/yuki_kimoto/items/192d162c73b584fc72b9

https://qiita.com/yuki_kimoto/items/715b7d46c0ece786c900

## 基本文法

https://qiita.com/yuki_kimoto/items/a11a1095fc24be590fce

## 入門

https://qiita.com/yuki_kimoto/items/00aaab90f31194a5de74

## インストール

https://qiita.com/yuki_kimoto/items/7c2f1be70d68065338a4

## 変数

https:/

元記事を表示

java ラムダ式によるソート処理

# ラムダ式とは?
– ラムダ式とは関数型インターフェイスを実装したクラスのインスタンスを、短いコーディング量で簡単に作れてしまう文法のこと

# ラムダ式の使い方

– ソート例

“`java:sample.java

List pageList; //あるモデルのリスト
List newList = new ArrayList();

// pageListをソートする
// ソート条件は次の通り。ファイル更新日付 desc, ファイル名 asc, ページNo asc 
pageList.stream().sorted(Comparator.comparing(SearchResult::getUpdate_dt_is).reversed()
.thenComparing(SearchResult::getPureFileName)
.thenComparing((s1, s2) -> Integer.parseInt(s1.getPageNo()) – Integer.par

元記事を表示

Python,Ruby,PHP,Java,JavaScript,Perlの多次元データ構造の比較

Qiita > プログラミング言語の比較

Python,Ruby,PHP,Java,JavaScript,Perlの多次元データ構造の比較

# Python

https://qiita.com/ko0821/items/4c8a557ec88f2a10bd55

# Ruby

https://qiita.com/vzvu3k6k/items/1705c7f4b29c08787ea0

# PHP

https://qiita.com/shuntaro_tamura/items/784cfd61f355516dfff0

# Java

https://qiita.com/panda-chibi/items/e57799c047be69fe5b79

# JavaScript

https://qiita.com/Stack_up_Rising/items/cb71842d7c3510daf9f0

# Perl

https://per

元記事を表示

(Bug) value of TIME is altered by MySQL JDBC driver

# Description

In MySQL specification the type TIME is not affected by time zone setting. But value of TIME is changed when write to database if following conditions match:
1. default time zone of MySQL server is different from the time zone of Java application
1. using JPA, the field of the entity is LocalTime and the corresponding column is TIME type
1. using mysql-connector-java driver version 8.0.22 (I don’t sure which version of driver is in affect also)

# Bug replication

Set the followin

元記事を表示

intとIntegerとAutoboxingとIntegerCache

バズった(´・ω・`)

### こんにちは、Javaおじさんのシキムです。

40才目前で、プログラム工学に興味を持ったので本や記事で読んだ難しい話を
咀嚼して簡単な言葉で語りたいと思います。

—–
今回は、こちらのおじさん初のバズりツイートのコードについてです。

なんでオブジェクト型を==しているんだとか、127と128で結果が違うんだっていう話でなんかめっちゃ盛り上がっております。

このなんで?に対して、AutoboxingとIntegerCacheを使ってちょっと解説してみたいと思います。

# Autoboxingっていう便利な奴 #
Javaを使っているとおなじみ、ArrayListやクラスHashMapなどがあります。
とっても便利なもので、 **オブジェクト型** なら、キーにも値にも指定することができます。

たとえば、int型であれば以下のようにArrayListを作ることができます。
“`java
ArrayList<

元記事を表示

KiCad で使用するFreerouting v1.6.2がjava 8で起動しなかった件

# 結論

`Freerouting v1.6.2`では
– JAVA JRE or JDKのversion`17`以上をインストールする

ダウンロードは[ここ⤴︎](https://adoptium.net/temurin/releases/)

https://adoptium.net/temurin/releases/

# 以下手順

https://github.com/freerouting/freerouting

![スクリーンショット 2022-08-30 17.32.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/363815/39b30c0c-66ed-b0a8-f17e-17640dba6129.png)

↓ここからインストールしたjava8では動かなかった。

https://www.java.com/ja/download/manual.jsp

[freerouting⤴︎](https://github.com/freerouting/freerouting)

元記事を表示

GraalVM Technologies & Use-Cases

Hi,

This is Nishikawa charging for Java Business Development at Oracle Japan.
I hereby would like to introduce GraalVM, the next generation Oracle JDK.

■ Overall
・  https://www.oracle.com/java/graalvm/
・  Free Dummies eBook Book Download :
   https://www.oracle.com/java/graalvm/graalvm-for-dummies-ebook/

■ Use Cases
a) Pearson
Minutes to Seconds: Pearson VUE’s GraalVM Journey
https://www.oracle.com/nl/a/ocom/docs/customer-reference-pearson.pdf

b) Standard Chartered Bank
Simplifying the clou

元記事を表示

OTHERカテゴリの最新記事