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

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

JavaとJMeterをインストールする

# 概要

Java(JMeterの動作に必要)およびJMeterのインストール方法を説明します。

– Macの場合およびWindowsの場合を扱います。
– jenvを使う場合の説明は、ここでは割愛します。

# Javaをインストール

Oracle Javaの有償化を巡って、Javaの開発環境(JDK)には様々な種類がありややこしくなっています。

– バージョン8まで
– Oracle JDKを無償で利用できました。
– バージョン9以降
– Oracle JDKが有償化されました。
– 代替となるOpen JDKが様々な機関から無償で提供されるようになりました。
– バージョン17以降
– Oracle JDKが再び無償で利用できるようになりました。([こちら](https://www.publickey1.jp/blog/21/oracle_jdkjava_17.html)を参照)

JMeterを利用する際は、利用するJDKのバージョンと種類を選定した上で、下記のいずれかの方法でインストールしてください。

> JDKのバージョンおよび種

元記事を表示

【OOP】05_ポリモーフィズム

こんにちは、コイキングです。

本記事では OOP(Object Oriented Programming == オブジェクト指向プログラミング)の説明のうち、ポリモーフィズムについて、説明したいと思います。

******
# 1. ポリモーフィズムとは?
**一つの機能が状況によって、違う結果を出す事で、**
Javaでは’親クラス’又は’インターフェース’を定義し、親を継承した子クラスで親の機能を再定義して**親クラスの参照変数から子クラスのインスタンスを参照し、**親クラスの参照変数から子クラスごとに再定義されたメソッドを呼び出すこととするのを言います。

## 1) ポリモーフィズムの長所
– 多種多様なインスタンスを一つの親の参照変数にて管理できるため、**コードの量が減り、コードの維持保守がより楽になります。**
– 一つの親を共有する子クラスを増やし機能を再定義することで新機能の追加が可能がため、**拡張に有利で、結合度が強くならないようにコードの実装ができます。**

## 2) ポリモーフィズムの短所
– ちゃんと活用するのは難しいため、プログラマーの能力によりコー

元記事を表示

Java Silver SE11 5章

# Java Silver SE11 5章
[黒本](https://www.amazon.co.jp/gp/product/4295007625/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1)をもとに学んだことをアウトプットしていきます。
主に問題を解いていて、間違えた箇所もしくは知らなかった内容になります。

## 配列
Javaの配列は、配列クラスから作成されたインスタンスであり、複数の値を取り扱う。
配列が扱う値のことを要素と呼ぶ。
以下のような特徴がある。

* 同じ型か互換性のある型を扱える
* インスタンス生成時に要素数を決める
* 後から変更できない

### 宣言とインスタンス生成
宣言時には以下のルールがある。

* 記述する[]は、変数名の前後に入れることができる
* 宣言時に要素数の指定はできない
* 配列型の変数には、あくまで配列インスタンスへの参照のみが代入されているので要素は関係ない

* 2次元配列を生成する場合の流れ(int[][]array = new int[2][2];)
1. 1次

元記事を表示

Java基礎(アウトプット用)

### メソッドの定義,呼び出し

“`java
class Main{
public static void main(String[]args){
hello();
}
public static void hello(){
System.out.println(“Hello World”);
}
}
“`

###引数をメソッドに渡す

“`java
class Main{
public static void main(String[]args){
hello(“Bob”);
}
public static void hello(String name){

System.out.println(name + “さんこんにちは”);
}
}
“`

###複数の引数を渡す
“`java
class Main{
public static void main(String[]args){
printPrice(“ピザ”,3000);
printPrice(“コーラ”,150);

元記事を表示

プログラミング言語を簡単にまとめる

##Java
JavaとはC言語ベースに開発された汎用性の高いプログラミング言語。求人需要が多い
WEBサービスから業務システム、組み込み、など多岐に渡り開発現場で採用されている。
フレームワークはspring Framework

##Ruby
Rubyとはオブジェクト指向のプログラミング言語。コードはシンプルに書きやすく読みやすい。
WEBサービスやWEBアプリケーションができる。
フレームワークのRuby on Rails。クックパッドや食べログに使用されている

##PHP
PHPとは動的なWEBページを生成することができるサーバーサイドのスクリプト語。HTMLは静的WEBページ。
他のプログラミング言語と比べると文法が比較的容易なので取得しやすい。
フレームワークはLaravel

## C#
マイクロソフト社が開発したオブジェクト指向のプログラミング言語。Javaと似ている。
GUIアプリケーション、WEBアプリケーション、ゲーム開発ができる
フレームワークはASP.NET

元記事を表示

Kotlinデビューしたくて環境構築してみた

# はじめに
Kotlinを触ってみたくなったので、環境構築をしてみました。
実際に動かすのは、今後になる予定です。

# 環境構築(Windows)
## JDKのインストールをする

1.公式サイトからJDKをダウンロードする
https://www.oracle.com/java/technologies/downloads/#jdk17-windows

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/397779/e268999c-43d7-70a0-086f-3aab9ca40368.png)

2.インストールする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/397779/64ba3798-24b6-6f5a-48cb-e2a390fd40db.png)

3.環境変数の設定をする

「スタートメニュー」>「設定」>「システム」>「詳細情報」>「システムの詳細設定」>「環

元記事を表示

必要な .class ファイルから間接的に参照されています

エラー解消に時間がかかったのでメモ。
ビルドパスのエラーの可能性があるのはわかっていたのですが…。

今後はjavaのビルド・パスを見て、
JREシステム・ライブラリがアンバインドとなっていないかを真っ先に確認すること:zap:

「アンバインド済み」という言葉があった場合は、
一旦除去して同じライブラリ(or Jar)を入れなおすと治ります。

元記事を表示

Log4Shellについて知っておいた方がよいこと

本記事は2022年1月4日に公開した英語ブログ[Log4Shell webinar: What you need to know](https://snyk.io/blog/log4shell-webinar-what-you-need-to-know/)を日本語化した内容です。

[![logo-solid-background.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216557/14d05b40-70b7-5276-27e9-2ecfe395db03.png)](https://snyk.io/jp)

多くのJavaアプリケーションに影響を与える[Log4Shellの脆弱性](https://snyk.io/log4j-vulnerability-resources/)については、すでに耳にしたり、対処したりしたことがあるのではないでしょうか。この重要なゼロデイ脆弱性についての最新情報を提供するため、弊社では最近オンラインセミナーを開催しました。

「Log4Shellについて知っておく

元記事を表示

Javaを通してPDFをPDF / Aに変換する方法

##背景
PDF形式をPDF / A形式に変換することにより、ドキュメントのレイアウト、フォーマット、フォント、サイズなどが変更されないように保護し、ドキュメントの読み取りとアクセスを保証しながら、ドキュメントのセキュリティ保護の目的を達成できます。この記事では、Javaバックエンドプログラムコードを使用してPDFをPDF / A1A、2A、3A、1B、2B、および3B標準に変換する方法を示します。以下は、その方法と手順です。

jarパッケージのインポート
Spire.Pdf.jarはこのプログラムにインポートされます。**[ダウンロード](https://www.e-iceblue.com/Download/pdf-for-java.html)**とインポートを実装するために、Mavenプログラムでpom.xmlの次のコンテンツを構成できます。


com.e-iceblue
e-iceblue
https://repo.

元記事を表示

Javaでデータベースに接続する

#はじめに
この記事は独習JSP&サーブレット第3版に基づいて、データベースを勉強していた際に躓いた点をまとめた記事です。最新版のJDBCやデータベースを使用している人は、同じようなエラーで躓いていると思うので参考になれば嬉しいです。

## 環境
– Tomcat 10.0
– MySQL 8.0
– MySQLドライバ(JDBC):mysql-connector-java-8.0.27

## jspからデーターベースに接続する

以下のようにconnect.jspファイルからデータベースに接続するとする。
データソースの設定はcontext.xmlで行う。

“`jsp:connect.jsp
<%@ page contentType="text/html;charset=UTF-8" import="java.sql.*, javax.naming.*, javax.sql.*" %>




データベースへの接続

<

元記事を表示

EclipseでPayaraTools導入エラー

#環境
* mac OS Monterey
* Eclipse IDE for Enterprise Java and Web Developers – macOS x86_64 (Eclipse IDE 2021-12 R Packages)

#原因
__Details__

“`
Cannot complete the install because one or more required items could not be found.
Software being installed: Payara Tools 1.4.0.202110041326 (org.eclipse.payara.tools.feature.group 1.4.0.202110041326)
Missing requirement: Payara Tools1.4.0.202110041326(org.eclipse.payara.tools.feature.group 1.4.0.202110041326) requires ‘org.eclipse.equinox.p2.iu; org.ec

元記事を表示

Java開発者のためのセキュアコーディングのコツ10個

本記事は2019年9月16日に公開した弊社英語ブログ[10 Java security best practices](https://snyk.io/blog/10-java-security-best-practices/)を日本語化した内容です。

[![logo-solid-background.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216557/7e96b3c4-cdd6-82db-5ce2-6cf02b879715.png)](https://snyk.io/jp)

このチートシートでは、オープンソースのメンテナーと開発者の両方に向けた、Java言語におけるセキュアコーディングのコツ10個を取り上げます。このチートシートは、SnykのデベロッパーアドボケートのBrian Vermeerと、Java チャンピオンであり[Manicode](https://manicode.com/) Securityの創設者であるJim Manicoとのコラボレーションによって作成されたものです。

元記事を表示

AtCoder Beginner Contest 016をやった(Java)

AtCoder Beginner Contest 016をやった。
[C](https://atcoder.jp/contests/abc016/tasks/abc016_3)問題の解き方が知りたいです。
図に書いて大まかにどのようなこと言っているのかは理解できますが、実装的に同実装すればタイムアウト起きないのか知りたく。

##[A](https://atcoder.jp/contests/abc016/tasks/abc016_1)
問題文に与えられたとおりに実装すれば答えが出ます。

“`Java
import java.util.*;

public class Main {
public static void main(String[] args) throws Exception {
Scanner scan = new Scanner(System.in);
System.out.println(scan.nextInt() % scan.nextInt() == 0 ? “YES” : “NO”);
}
}
“`

元記事を表示

Javaを使用してPDFでテキストの回転と傾きを設定する

##背景
この記事では、Javaプログラムを使用してPDFドキュメントのテキストの回転と傾きを設定する方法を紹介します。テキストの傾きを設定するときは、メソッドTransformText(page);を定義し、page.getCanvas().skewTransform(float angleX、float angleY);を設定して、テキストの傾きを実現します。テキストの回転を設定するときは、メソッドRotateText(page)を定義します。 ;そしてpage.getCanvas()。rotateTransform(float angle);を設定して、テキストの回転を実現します。詳細なコードについて以下の内容をご参照ください。

注:PDFクラスライブラリツール**[Spire.PDF for Java](https://www.e-iceblue.com/Download/pdf-for-java.html)**を使用する必要があります。jarパッケージをダウンロードするか、libフォルダー内のjarファイルを解凍してjavaプログラムにインポートするか、mavenリポジトリ

元記事を表示

【OOP】04_継承

こんにちは、コイキングです。

本記事では OOP(Object Oriented Programming == オブジェクト指向プログラミング)の説明のうち、
継承について、説明したいと思います。

******

# 1. 継承とは?
**親クラスのメンバー変数とメソッド**を子クラスから**継承して使えること**を言います。

※ extendsキーワードを用いて継承する親クラスを定義し、継承かんけいを設定する事ができます。

public class 子クラス extends 親クラス {

}

※ 例示コード

“`java:Animal.java
public class Animal {
protected String name;
protected int age;

public Animal() {}

public Animal(String name, int age) {
this.name = name;
this.age = age;
}

public void printName() {
System.out.prin

元記事を表示

MyBatisGeneratorのMapper自動生成機能をカスタマイズして見た

MyBatisでSpringプロジェクトの環境構築をして、MyBatisGeneratorのDto,Dao,Mapperの自動生成機能を使って見たが、いくつ改善したいところがあります。
・Springのアノテーションを自動追加したい
・Lombokを対応したい
・DtoとDaoのファイル名を馴染みなXXXDto.javaとXXXDao.javaに改修したい
以上の課題を解決するため、MyBatisGeneratorのPluginAdapterによって自動生成機能をカスタマイズして見ました。

##環境構成
・eclipse
・Java
・MyBatis-Spring
・MyBatisGenerator
・Spring-boot
・Lombok
・Maven

##依頼注入一覧

“`pom.xml

元記事を表示

JavaでWekaによる機械学習 01-数値データの推測

# Javaで機械学習したくない?

機械学習といえばPythonって風潮ですが、Javaが得意な人は、今更Python学ぶのかなという気持ちになるでしょう。できれば、得意なJavaで機械学習できたら嬉しいですね。自分が開発したソフトに組み込めるし。

そんなことで、機械学習エンジンのWekaのAPIで色々と試してみようということで書き始めたいと思います。(間違いがあったらご指摘お願いします)

まずは、数値データの推測からはじめます。

こちらの書籍(機械学習コレクション Weka入門) https://www.amazon.co.jp/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3-Weka%E5%85%A5%E9%96%80-I%E3%83%BB-BOOKS-%E5%92%8C%E7%94%B0/dp/4777520889 に出ているサンプルをAPIを使ってやってみることにしましょう。

CSVデータは以下の通り。末尾から2行目の売上が「?」となっ

元記事を表示

MouseController

“`java
package org.tei;

import java.awt.AWTException;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Robot;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;

import javax.swing.JButton;
import javax.swing.JFrame;

public class MouseController implements Runnable {

private Robot robot;
private boolean isStop = false;

public MouseController() {
try {
ControllerFrame fr

元記事を表示

KotlinでviewBindingを使う

## ブロジェクト作成
赤のMainActivityを開きSplitで開くと、コードとデザインを同時に確認できます。
水色が`texttView`のコードとエディタです。
![スクリーンショット 2022-01-17 16.48.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/755375/9abe33b5-9bb7-281c-fd0d-fa209cba6ad8.png)

## ボタン追加
ボタンを追加すると、コードとデザイン両方追加されます。
![スクリーンショット 2022-01-17 17.05.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/755375/c56b9b9c-4324-34bb-abad-889b3d0051b3.png)

## 背景色も変更してみる
赤枠のbackgroundをいじれば変更できました。
![スクリーンショット 2022-01-17 17.08.42.png](https

元記事を表示

プロジェクト間共通ライブラリを GitLab Package Registry に登録して使う

そこそこ以上の規模のプロジェクトを作る際、どうしても複数プロジェクト間で共有する共通ライブラリ(`*.jar`など)を作りたいことがあると思うのですが、GitLabには [GitLab Package Registry](https://docs.gitlab.com/ee/user/packages/package_registry/) という **共通ライブラリをGitLabに登録できる便利な機能** があります。

通常であれば、 [Sonatype Nexus](https://www.sonatype.com/products/repository-oss) や [JFrog](https://jfrog.com/ja/) といったアーティファクトマネージャを別個で立てなければならないのですが、これを使えばGitLab一つで済むので非常に楽です。

従来は有料版のみの機能だったのですが、なんと 13.3 から全エディションで利用可能になっています。

そういうことで、実際に仕事で使ってみたのですが、ややドキュメントが分かりづらかったので、概要を適当にまとめておきます。

#

元記事を表示

OTHERカテゴリの最新記事