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

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

【初心者】ApacheSpark入門編

# 背景
初心者としてのSpark入門です。
入門編→基本編→応用編という順番でいきたいと思います。
分散処理の基礎知識色々が必要ですが、それを説明するのは苦手なので、下記の資料ご確認いただければ幸いです。
(RDDって何で上手く説明できない。。。)
・初めてのSpark
・Sparkによる実践データ解析 ―大規模データのための機械学習事例集
・入門 PySpark ―PythonとJupyterで活用するSpark 2エコシステム

# 目次
0. 事前準備
1. Sparkのインストール
2. 最初のshell実行
3. IDEA・Maven配置
4. wordcountの実現
5. Spark API
6. RDD[T]のFunctions
7. RDD[(K, V)]のPairRDDFunctions
8. その他

### 事前準備
環境:
Windows+VMware+OS:Ubuntu22.04
Java -version
“`
openjdk version “1.8.0_312”
“`

### Sparkのインストール
インストール前に先ずはSpark用のユー

元記事を表示

サーブレットの内容を変更したのに、ブラウザに反映されない

サーバーの再起動

元記事を表示

初心者がリファクタリングに挑戦してみる#1-2

# はじめに
今回変更した部分としては、力技で書いていたものをクラス化、メソッド化してすっきりさせる、というものです。
[#1-1](https://qiita.com/snow_saboten/items/c43865d57ec63635ab1d)では、全てをtestクラスで記述していましたが、今回Storyクラスを作成しました。
また、ファイルの内容を格納するのに、普通の配列を使っていたところを、ArrayListというものを使うようにしました。これは、配列宣言時に要素数を指定せずに使えて、中身を入れるたびに自動で要素数を増やしてくれる優れもののようです。
使い方は[こちらのサイト](https://www.javadrive.jp/start/collection/index1.html)を参考にさせていただきました。

## 改良コード
“`java:test.java
import java.io.*;
import java.util.ArrayList;

class Story
{
String fileName;
ArrayList sto

元記事を表示

eclipseにオフラインでプラグインをインストールする

# オフライン環境のeclipseにPayara Toolsを導入する。

## プラグインのダウンロード

以下のコマンドを実行
(c:\Dev\tools配下にダウンロードする場合)

“`
eclipse.exe -nosplash -verbose -application org.eclipse.equinox.p2.artifact.repository.mirrorApplication -source https://raw.githubusercontent.com/payara/ecosystem-eclipse-plugin/release-artifacts/repository/latest -destination C:\dev\tools
eclipse.exe -nosplash -verbose -application org.eclipse.equinox.p2.metadata.repository.mirrorApplication -source https://raw.githubusercontent.com/payara/ecosys

元記事を表示

未経験からのエンジニア転職に向けてSpringBootとReactでシフト管理サービスを作成してみた

## はじめに
2022年2月からプログラミング学習を始め、2022年7月現在まで半年近くが経ちました。
未経験からの転職活動にあたってポートフォリオ用にWebアプリケーションを作成したので、機能の紹介とハマった点などをご紹介します。
同じように未経験から転職する際にポートフォリオを作成する方向けに参考になれば幸いです。

## アプリ概要
シフト管理作成サービス「E-Shifty」を作成しました。
ラク(Easy)にShiftを管理できることを目指し、主な機能は以下のとおりです。
– 各従業員のログイン機能
– 従業員情報の管理や新規登録ができる
– シフトを確認できる
– 来月分の休み希望を提出できる
– 管理者は提出された休み希望を元に半自動でシフトを作成できる

## 作成背景
シフト制のフルタイムで働いている妻が頻

元記事を表示

Dockerにoraclelinuxのコンテナを立ててspringbootをoracledatabaseと紐づけて実行

### Docker
“`:コンテナ起動
$ docker run -v /mnt/c/pleiades-2021-12-java-win-64bit-jre_20211219/pleiades/workspace:/test-table -it -d -p 1521:1521 -p 33000:33000 -e NILS_LANG=japanese_Japan.AL32UTF8 –name oraclelinux_33000 oraclelinux:8
8e672b26613be176678c6baa0ea18c3eefc8f635fb386862463a6add147fb9f1
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8e672b26613b

元記事を表示

JavaでPowerPointのプレゼンテーションを作成する方法

魅力のあるプレゼンテーションを作成することは、集中力を必要とする緻密な作業です。 完璧な仕上がりにするためには、図形のサイズや位置を変えたり、文字の色を変えたりするなど、常に細部の微調整を行う必要があります。 このため、手動でPowerPointのドキュメントを作成する方が、コードを使用するよりも効率的であることが多いのです。 しかし、場合によっては、プログラミングで行うこともあります。
この記事では、無料のSpire.Presentation for Javaを使って、**簡単なPowerPointプレゼンテーションを作成し**、**そこに基本要素(テキスト形状、画像形状、リスト、テーブルを含む)を挿入する方法**を学びます。Spire.Presentation for Javaは、JavaアプリケーションでPowerPointドキュメントを処理するための無料のクラスライブラリです。
> この記事の主な内容は、以下の部分を含みます。

– PowerPointドキュメントを作成する
– 最初のスライドを取得し、背景画像を設定する
– テキストを挿入する
– 画像を挿入する
– リスト

元記事を表示

isNaNはTRUEじゃないの?

## 今回記事を記述した背景
☆isNaNを書いてつまづいた人へ。
暇だったのである問題を解いていました。
問題の内容は
入力した引数が
*数字だったら5枚する
*数字ではなければ”ERROR”という文字を返す
という簡単な問題を作っていました。
## 記入したコード
“`Python
function num(input){
if(isNaN(input)){
console.log(input * 5)
}else{
console.log(‘error’)
}
}

num(3);
“`
*numの中身が数字だったら→numを5倍するなので、3を入れたら15になるかとおもいきや、、errorになってしもーた。
### isNaN(input)は、数字かどうか判断するものだと思っていました。。

## 原因

### isNaN() 関数の性格な意味は引数が NaN (非数) かどうかを判定します。
つまり、
非数NaNであればTrue
そうでなければFalse
## 修正
“`Python
function num(input){
if(!isN

元記事を表示

データからCSVを作る

“`
package design.controller;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;

public class TestYou {

/*CSV出力パス*/
public static final String CSV_FILE_PATH = “C:\\csv\\”;
/*CSV出力パス*/
public static final String CSV_FILE_NAME = “CSV_PRI

元記事を表示

JavaでExcelの円グラフを作成する方法

円グラフは、サークルチャートとも呼ばれ、各成分の全体的な比率を直接グラフ化することができます。円グラフは、抽象的なデータをより素早く、直感的に分析するのに役立ちます。この記事では、Javaで円グラフを作成する方法を紹介します。
> 本記事では、以下の4点を中心に解説します。

– 円グラフを作成する
– 分離型円グラフを作成する
– 1つのスライスを分離した円グラフを作成する
– リンググラフを作成する

## 【依存関係の追加】
> この方法は、無償のFree Spire.XLS for Javaが必要ですので、先にjarファイルをインポートしてください。

### 1. Maven
Maven を使用している場合、プロジェクトの pom.xml ファイルに以下のコードを追加することで、簡単にアプリケーションに JAR ファイルをインポートすることができます。
“`XML


com.e-iceblue
e-iceblue

元記事を表示

Spring BootでSelenideを使う

# 環境
– macOS Monterey 12.4
– Google Chrome 103.0.5060.134
– JDK 17.0.1 (Eclipse Temurin)
– Spring Boot 2.7.1
– Selenide 6.6.6

# Selenideとは
Seleniumを使いやすくしたラッパーライブラリだそうです。

公式サイト→ https://selenide.org/

# 依存性の追加
pom.xmlに、spring-boot-starter-testと共にselenideを追加します。

“`xml:pom.xml



org.springframework.boot
spring-boot-starter-test
test

元記事を表示

Java の 例外

Java の例外について情報をまとめる

# 例外の種類(継承関係)
Java の例外クラス Throwable, Error, Exception, RuntimeException の階層を整理
`Exception` を継承した例外は検査例外となり`throws` や `try-catch` して例外処理しないとコンパイルエラーとなる
`RuntimeException` を継承した例外は非検査例外となり例外処理しなくてもコンパイルエラーにならない
`Throwable`, `Error` を明示的に使うケースあまりない(使う時はどんな例外も絶対に Java の外に出したくない時など...)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/51758/bbca4a07-fe43-138a-29f8-696f17dbb19b.png)

|クラス|概要|例|
|:–|:–|:–|
|Throwable|例外の基底クラス
throws/try-cathc必要
|-|
|

元記事を表示

嫌いな技術(ガベージコレクション、Microsoft Teams、アクセシビリティ…)で、気分が落ち込みます

嫌いな技術を以下に示す。

(1)ガベージコレクション
実装の容易性から、開発言語としてJavaが選ばれたりするが、大規模システムになると意図しないタイミングでガベージコレクションが発生する。まあ、回避できるのでそんなに大きな問題ではない。

(2)Microsoft Teamsのお行儀の悪さ
信じられないくらいメモリを食う。プロセス数も異常。普通なら、ポートをポーリングするようにコーデイングしないといけないのに、開発者はわかってないのかなぁ。増改築を繰り返したような地方の温泉旅館のような構造になっていると思われる。幹部から言われるがままに、仕様を追加させられた感が半端ない。あと、**「Enterで送信するという仕様」もどうかと思います。**

(3)アクセシビリティ
Officeで、エクセルやワードを使っていますが、アクセシビリティについて指摘されたりします。自分用のメモとして使っているので、わざとピンク色や赤色をつかっているのですが、なんか怒られているような感じがして**若干気分が落ち込みます。**

元記事を表示

#6 演算子,型変換

# 演算子
プログラム内での優先順位の順に紹介

### 1.インクリメント、デクリメント演算子
|演算子|意味|コード例|結果|
|:—:|:—:|—:|—:|
|++|1プラスする|i=1; i++;|i=2|
|–|1マイナスする|i=1; i–;|i=0|

### 2.算術演算子
|演算子|意味|コード例|結果|
|:—:|:—:|—:|—:|
|+|足し算|1+3|4
|-|引き算|10-4|6
|*|掛け算|5*3|15
|/|割り算|9/3|3
|%|割り算の余り|12%5|2

### 3.比較演算子
|演算子|意味|コード例|結果|
|:—:|:—:|—:|—:|
|==|左辺と右辺が等しい|①10/2 == 5 , ➁10/2 == 3|①true , ②false|
|!=|左辺と右辺が等しくない|➀2+4 != 6 , ➁2+4 != 5|➀false , ➁true|
|<|左辺は右辺未満|➀6 < 6 , ➁4 < 9|➀false , ➁true| |>|左辺は右辺を超える|➀8 > 4 , ➁12 >

元記事を表示

初心者がリファクタリングに挑戦してみる#1-1

# 初めに
とりあえず入門書を一周終わらせたので、知識をものにするためにリファクタリングに挑戦することにしました。続くかはわかりませんが、第一弾です。
## 最初のコード
“`java:test.java
import java.io.*;

class test
{
public static void main(String[] args) throws IOException
{

BufferedReader br = new BufferedReader(new FileReader(“test1.txt”));
String [] story = new String [10];
String str;

for(int i=0; i

元記事を表示

ローカルCSVを読み込みDto作成

“`
package design.controller;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class TestYou {

private void readLocalCsv() {
try {
// Fileル名称
String fileName = “c:/csv/TestYou.csv”;
File file = new File(fileName);
// File読み込み
BufferedReader br = new BufferedReader(new FileReader(file));
// Fileヘッダ
boolean isHeader = true;
//File行
String line = null;
// File行

元記事を表示

Collectionを変更不可にする(Collections.unmodifiableXX)

MAPを使用する際、「Collections.unmodifiable使ってください」と指示があったのでどういうものなのか調べました。

## 実際に使用したコード例

“`
/**
* テストマップ.
*/
private static final Map TEST_MAP =
Collections.unmodifiableMap(new HashMap() {
{
put(“MAP_KEY1”, “MAP_VALUE1”);
put(“MAP_KEY2”, “MAP_VALUE2”);
put(“MAP_KEY3”, “MAP_VALUE3”);
put(“MAP_KEY4”, “MAP_VALUE4”);
}

元記事を表示

Firestoreのコレクションやドキュメントへのパス(文字列)を取得する関数を自動生成するコマンド

# はじめに
Firestoreにアクセスするときに、`/some_collection/some_doc_id/other_collection/other_doc_id` みたいにコレクションやドキュメントのパスを書くのって少し面倒じゃないですか? 特にWebとAndroidの両方でFirestore使っているときなんかは、TypescriptとKotlinで似たような文字列をコード中に定義することになるので、筆者は少し億劫になってしまいます。(Firestoreは書き方の自由度が高いので、そもそもこのように書かないぜって人も沢山いると思いますが、、、)

ということで、`コレクションの構造を定義したファイル`をインプットに取って、各言語ごとに、`コレクションやドキュメントのパス(文字列)を取得する関数やメソッド`をはきだすコマンドを作成しました。

今回作ったコマンドはこちらに置いてあります。(主なコードはシェルスクリプトで書きました。)

https://github.com/ppdx999/firepath

# Usage

## 前提
Firestoreのコレクション

元記事を表示

【第二回目/Java学習】初学者によるJava学習 基本構造について

【この記事について】
=
Javaの勉強を始めた初学者のアウトプット記事となります。
間違いなどございましたら指摘等いただけますと大変勉強になりますので
お時間あればコメントお願いいたします。

1.本日の課題
=
Java基礎構造

2.参考図書
=
スッキリわかるJava入門 第三版 

3.勉強内容:ソースコードの基本構造
=

**◉構造について:全体構造**

“`java:Hello.java 
//↓①クラス名”Hello”
public class Hello{ //②クラスブロック
//↓③メソッド名”main”
public static void main(String() args){//④メソッドブロック名
System.out.println(“Hello World!”);
System.out.println(“Good Morning”);
}//④
}//②

“`
**①クラス/クラス名**
**②クラスブロック**
**③メソッド/メソッド名**
**④メソッドブロ

元記事を表示

いろんな言語での文字列操作の比較(VBA, Java, C#, PHP, Python, JavaScript)

うちのような小さな会社が、受託案件を長年やっているといろんな言語の保守メンテをやる必要があるのですが
文字列操作、この言語でなだっけ?とよく忘れてしまいます…
よく使うものを中心に文字列操作をまとめていきます。
完全に個人的な忘備録です。

主にVBAを中心に Java, C#, PHP, Python, JavaScriptについて書いていきます

[文字数の長さを取得する](#文字数の長さを取得する)
[文字列から指定文字数の文字を取得する(トリミング)](#文字列から指定文字数の文字を取得する(トリミング))
[文字列から左側の指定文字数の文字を取得する](#文字列から左側の指定文字数の文字を取得する)
[文字列から右側の指定文字数の文字を取得する](#文字列から右側の指定文字数の文字を取得する)
[文字列から指定文字を検索する](#文字列から指定文字を検索する)
[文字列の後ろから指定文字を検索する](#文字列の後ろから指定文字を検索する)
[文字列を置換する](#文字列を置換する)
[アルファベットの小文字を大文字に変換する](#アルファベットの小文字を大文字に変換する)

元記事を表示

OTHERカテゴリの最新記事