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

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

0から始めるJava入門 その1

# はじめに
今年の春からIT企業に入りました。自分自身、大学でC言語触ってたくらいのスタートでした。
そんな中、プログラミング研修を受けてて思ったのが、分かりづらい….でした。結局、研修が充実していると聞いて入ったものの、自習で全て賄う形になってしまいました。
そんなプログラミング完全初心者の新入社員(新入生?)に向けて、プログラミングってこんなんだよというのを伝えられればと思い書き始めました。

※ 一部、分かりやすさ重視で実際とは異なる記述をしています。(コンパイルなど)
 完全な初心者に向けての記述なので、分かっている人はスルーしてください。

## 環境
プログラミングをやるには環境が必要です。
javaはなんかめんどくさくて、jdkを入れないと動かなかったりなんだりがあります。
プログラミング自体、色々な開発環境や実行環境などありますが、とりあえずjavaを始めるならDokojavaでいいと思います。**Dokojava**で検索すれば出てきます。
いちいちパスワード打つのめんどいという人は、eclipse をダウンロードしましょう。”pleiades”で検索して(おそ

元記事を表示

Selenide + XlsMapperで自動画面テストを行う

# 環境と実装方法
IDE:eclipse(Oxygen.3)
言語:Java

環境構築まで
eclipseで新規のMavenプロジェクトを作成。
以下のコードを入力して、実行→Maven Install

“`



com.codeborne
selenide
5.9.0
test



junit
junit
4.12



元記事を表示

実務未経験者が業務システム(Java)を実装する前にIT用語を一覧にまとめる

#はじめに
皆さまこんにちは。@kanato4と申します。
今年未経験で転職し、IT業界に飛び込んだペーペーです。

入社して3か月はシステムのテスト・エビデンス取得が大半で、プログラミングの勉強は家でするような生活が続いていたのですが、実務ではどんな開発をやっているのか知りたい!と思ったので現場の業務システムの設計書を読みはじめることにしました。

ですが。。設計書を読み進めると、普段あまり目にしない横文字や略語?ばかりで理解しようとしても全然頭に入ってきませんでした。。。

というわけで、設計書等で出た分からないワードを片っ端から調べあげて理解してやろう!というのが本記事を書くきっかけでした。

※本記事は業務システム開発(Java)に入る前に調べたことをメモとして残す目的で執筆しています。

#分からなかった単語集

##プログラミング言語関係(Java関係)
###J2EE
Java 2 Platform, Enterprise Editionの略。
大規模開発において、Javaでプログラミングを行う際に言語処理系が提供する機能を呼び出す規約(API)のセットなどが定義されてい

元記事を表示

【資格試験】(JavaSE8Gold)学習振り返り&まとめ

#はじめに
2020年の7月にJavaSE8Gold資格を何とか取得しました!
ですが、あまりよろしくない点数だったのでJavaGoldSE11の黒本が出たタイミングで移行試験を受けて理解度を高めようと考えています。

と言う事で次回受験に向けて今回の試験の振り返ります。

#前提
初心者の勉強方法なので、業務でガリガリやっている人には向けにはならない気がします。。。
それを前提に生暖かく読んで頂ければと思います。
(むしろ何か間違えていたら指摘くださると嬉しいです←

#JavaSE8Gold試験について
公式より抜粋。
この試験を初心者が取得したとしても、経験的差が圧倒的で本当の中級者には達していないと思います。ですが、公式見解的に中上級者として認められるというのは嬉しい事ですよね。

>Oracle Certified Java Programmer, Gold SE 8 認定資格は、設計者の意図を正しく理解して独力で機能実装が行える中上級者向け資格です。Javaアプリケーション開発に必要とされる汎用的なプログラミング知識を有し、設計者の意図を正しく理解して独力で機能実装が行える

元記事を表示

エンジニアの本棚卸し

#目的

自分がインプットしてきた技術関連知識の足跡整理。
文字にするとキリがないので、~~面倒ではない~~視覚的に集約されているという点で本棚の書籍写真でペタペタ整理。

#足跡
##入り口はC言語
![C言語、C++](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188787/280209d5-2ae3-8ba3-dadf-cb5e5f82bc3d.jpeg)

猫でも分かるC言語で自分が猫未満であることを悟り、苦しんで〜みたいな名前の書籍を読んだ記憶。
DXLibraryを使用してゲーム製作をしたり、遺伝的アルゴリズムでレースゲームのゴール時間を最適化したり、TCP/IPレイヤをイジったり、二度デストラクタを呼び壊したり、ダングリングポインタを参照して壊したり、壊したり。

##Webアプリケーションに興味が出てPHPあたり
![PHP、JavaScript](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188787/851e6d

元記事を表示

Oracleから公開されたTribuoを気を取り直してやってみたら中の人は熱い感じの人だった

##前置き
リアルタイムでいろいろ更新されているため、情報整理のために、再度チュートリアルの内容をまとめました。本記事は[こちら](https://tribuo.org/learn/4.0/docs/)の内容を元に書いたものです。

##資料について
[元ネタはこちらを参照してください。](https://tribuo.org/learn/4.0/docs)
[日本語が必要ならこちらを参照してください。](https://qiita.com/jashika/items/bc03dbbca92ba38f4502)
[アヤメデータのダウンロードはこちらを参照してください。](https://archive.ics.uci.edu/ml/machine-learning-databases/iris)
[ソースコードはこちらを参照してください。](https://github.com/oracle/tribuo)
[Java Docはこちらを参照してください。](https://tribuo.org/learn/4.0/javadoc)

##変更点
[CSVデータロードの不具合は修正されて

元記事を表示

Java初学者がeclipseでショートカットキーを使えるように設定してみた

eclipseでJavaの学習をするにあたり、ショートカットキーがうまく効かずに困ったので、解決策をメモします。

## 使用環境
**macOS CataLina**
**eclipse2019/ Full Edition**

eclipseについては、Pleiades All in One というパッケージを使用しています。日本語化プラグインもそのまま使えるので便利です。

ちなみに、こちらからダウンロードできます。
https://mergedoc.osdn.jp/

## 手順

**Eclipseの設定 > 一般 > キー**

の **「スキーム」** が **”デフォルト”** の箇所を**”Emacs”** に変更。

→ **「適用して閉じる」**を選択。

これだけです!!

少しでもお役に立てれば幸いです。

元記事を表示

Doma入門 – Criteria APIで動的にWHERE句を組み立てる

## はじめに

データベースアクセスライブラリの評価項目はいくつかありますが、その中でも動的なSQLをどれだけ組み立てやすいかというのは優先度が高い項目なのではと思います。静的なSQLは簡単に書けるのに、動的なSQLとなると途端に大変になってしまうというのはありがちですね。特に業務系のアプリケーションの場合、画面に複数の検索項目があり、指定されていたら検索条件に含め指定されていなければ含めないというような要件がありますが、ライブラリが提供する機能によってはアプリケーションのコードが条件分岐だらけになり可読性が低下してしまいます。

この記事では[Doma](https://github.com/domaframework/doma) 2.43.0のCriteria APIを使って動的にSQLのWHERE句を組み立てる機能を紹介し、Domaでは上述した問題をどのように解決できるかを示します。

DomaやCriteria APIの概要については、[Doma入門 – Criteria APIの紹介](https://qiita.com/nakamura-to/items/cf97c6b5

元記事を表示

【Java開発】Javaのメモリ

#初めに

皆さん。こんにちは!

DreamHanksの254cmです。

今回は今までのjava記事で少しずつ言及されましたが

扱ってなかったメモリについて簡単に扱おうと思います。

Java記事のまとめは[こちら](https://qiita.com/DreamHanks/items/6b1996e1f8ed66bbd456)です。

##JVM

メモリについて話す前にJVMというものを分かる必要があります。

JVMは「**Java Virtual Machine**」の略であり、Javaプログラムを実際に実行するものです。

JVMはCPUやオペレーティングシステムに関係せず、Javaプログラムを実行することができます。

そのJVMの中にはClass Loader,Execution Engine, Garbage Collector, Runtime Data Areaなどで

構成されていますが、今回は「**Garbage Collector**」「**Runtime Data Area**」だけを扱います。

###Garbage Collector

Garb

元記事を表示

一緒に覚えるとわかりやすい「Dependency Injection」と「継承」について

#はじめに
DreamHanksの松下です。今回は「Dependency Injection」と「継承(extends)」について解説していきます。

[連載記事まとめ](https://qiita.com/DreamHanks/items/7df703a509ef22f64d2c)

#「Dependency Injection」と「継承」とは

###Dependency Injectionとは
他のクラスやインターフェースのオブジェクトを実装したいクラス内で生成することによって、
他のクラスのメソッドを使えるようにするもの。

###継承(extends)とは
実装しているクラスをサブクラス(子クラス)だとして、スーパークラス(親クラス)を継承(extends)
することによって親のクラスのメソッドを使えるようにすること

**要するに両者とも実装したいJavaクラスに他のクラスのメソッドを使えるようにしたいというものです。**
他にも「コンストラクタインジェクション」、「setter/getterインジェクション」

元記事を表示

【Java】STS (Eclipse) に AdoptOpen JDK を設定する

# STS(Eclipse) に JDK を設定したい
・Eclipse を 2020-09 に更新したら jre で Eclipse 動かしてるよ!ってメッセージが出る
・メモリ状態の把握のために MissionControl 入れようとしたらJDKで動いてないと駄目だった!

・・・という理由でEclipseを jdk で動かしたいがどのJDKにすれば良いか迷ったので忘備録です。
## 環境
・Windows10 64bit
・STS4 (Eclipse2020-09)
・AdoptOpenJDK 11, ~~15~~ (15だとエラー出ます、不具合直るまで待ったほうがよいかも)

## JDKって色々ありますね・・・

・Oracle JDK (Java SE)
https://www.oracle.com/java/technologies/javase-downloads.html
jdk download とか検索すると出る、元々は商用利用可能だったが今はライセンスが必要な jdk。

・Open JDK
https://openjdk.java.net/install

元記事を表示

【Android / Java】 フラグメントでの画面遷移と戻る処理

# はじめに
Android Studio で Javaを用いたモバイルアプリの開発を学んでいます。
layoutファイルについてはあまり力を入れて記述していません(ざっくりです)。画面切り替えの動作等にフォーカスしているため、stringファイルは使用しませんでした。

### 学んだ内容
– “FragmentManager“ “FragmentTransaction“ を用いた表示フラグメントの切り替え(画面遷移)
– “addToBackStack“ “popBackStack“ を用いたアクションバー戻るボタンクリックで戻る動作

# 学習のために作成したサンプルアプリの概要
1つのアクティビティにメインとなるフラグメントを用意し、そこからボタンを押すことによって2つのフラグメントに行き来ができるだけの簡単なアプリ。
アクティビティ:1つ
フラグメント:3つ(メイン1つ、サブ2つ)

この①、②ボタンでサブフラグメント1、サブフラグメント2にそれぞれ遷移する

メイン画面(MainFragment)|
———————-|

元記事を表示

SpringBootで/errorに対応する自作Controllerを作成する方法

想定外の例外をログ出力するのに必要だったので、
SpringBootで/errorに対応する自作Controllerを作成する方法を調べた。

下記URLの通りにやれば可能。
https://www.logicbig.com/tutorials/spring-framework/spring-boot/implementing-error-controller.html

URLがリンク切れになった時ようにソースをコピペしておく。

“`java:
@Controller
public class MyCustomErrorController implements ErrorController {

@RequestMapping(“/error”)
@ResponseBody
public String handleError(HttpServletRequest request) {
Integer statusCode = (Integer) request.getAttribute(“javax.servlet.error.status_code”

元記事を表示

【Java7以降】一時ファイル削除漏れを防ぐ

# 目的
一時ファイルの削除し忘れや、異常終了時にファイル削除されずに終了してしまうことを防ぐ。

# 実装例
### delete文を使用してファイル削除
“`java:delete文で一時ファイル削除
Path path = null;
try {
// 一時ファイル作成
path = Files.createTempFile(“test”, “.tmp”);
OutputStream out = Files.newOutputStream(path);
String data = “test”;
out.write(data.getBytes());

// ファイルに書き込み
out.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
// 処理終了時にファイル削除
Files.deleteIfExist

元記事を表示

YellowfinのAPIとwebserviceを使ってダッシュボードのレポートを全てExcelでダウンロードする

![ExcelDL.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223443/9c54b340-3247-ac42-4c20-e358179ba816.gif)

#やりたいこと
またまたタイトル通りなのですが、前回の記事[FetchでExcelファイルがダウンロードできるページに条件をPOSTしてブラウザダウンロードする](https://qiita.com/celery/items/36607b7ea0e2382add32)でExcelのダウンロードをできるようになったので、Yellowfinのダッシュボードにある全てのレポートをExcelでダウンロードしたいってところです。
検証しているのはversion9.2.2ではBaseAPI,reportAPI,filterAPI,DashboardAPIとコードモードでいろいろなことができるようになっているので、そこで各レポートの情報を取得し、foreachで回す感じです。

##前準備をします
ダッシュボードを作成後に、コードwidgetからボタンの

元記事を表示

Doma入門 – Criteria APIの紹介

## はじめに

[Doma](https://github.com/domaframework/doma)はJava 8以上で動作するデータベースアクセスフレームワークです。JDBCドライバが提供されるデータベース、主なものでいえば、MySQL、PosgreSQL、Microsoft SQL Sever、H2 Databaseのようなデータベースにアクセスできます。

Domaの最近のバージョンで型安全にSQLを組み立てるための新しいAPI、[Criteira API](https://doma.readthedocs.io/en/2.43.0/criteria-api/)が追加されました。この記事では、執筆時点で最新のバージョン2.43.0に基づいてCriteria APIを紹介します。

## エンティティクラスの定義

次のようなデータベーススキーマがあるとします。

“`sql
create table employee (
id integer not null primary key,
name varchar(255) not null,
ag

元記事を表示

【Java】ループ処理と九九の表

#forループで九九の表を作る

“`java
public class Enshu0112 {

public static void main(String[] args) {
System.out.println(“九九の表”);
System.out.println(“\t| 1 2 3 4 5 6 7 8 9”); // 最初の見出しの行
System.out.println(“—-+————————————“);
for (int i = 1; i < 10; i++) { // 縦のループ System.out.printf("%3d |", i); for (int j = 1; j < 10; j++) { // 横のループ System.out.printf("%3d", (j*i)); // 表示桁を合わせて縦が揃うようにする } System.out.println(); // 改行を挿入 } } } ``` #\tで縦を合わせようと

元記事を表示

Spring BootでRESTなサービスを作ったときの備忘録

## 概要
STSを使ってSpring WebでRESTなサービスを使ったときの備忘録を残しておきます。
主に自分用。
Spring Webとは、Spring Frameworkをベースにした
Webアプリケーションフレームワークです。

開発環境は次の通りです。
OS : Windows 7 Home Edition 64bit
Java : JavaSE 8 update 181
Spring Boot : 2.3.4
STS : 4.6.1

## STSのセットアップ
STSのセットアップは[自分の備忘録](https://qiita.com/harayoshi/items/fca60e68087640b26292)を参考にしました。

## プロジェクトの作成
Create new Spring Starter Projectでプロジェクト作成、
参照したライブラリは以下の通りです。

– Spring Web
– Spring Data JPA
– Oracle Driver
– Lombok

## アプリケーションの作成
作成したクラス、設定ファイル、用意したデ

元記事を表示

SpringでJsonデータを送受信するAPI作成

– Java 8
– Eclipse Version: 2020-09
– Windows 10

久しぶりにSpringでのお仕事でした。
Springにて、APIをひとつ作成するというもの。

備忘のために、ひな形作成までをまとめます。
ちなみに、Spring Boot は初めてでした。

## 仕様
Jsonでポストされたデータを受け取り、いろいろやってJsonデータを返します。

## 開発環境

– Pleiades All in One Eclipse を選択
https://mergedoc.osdn.jp/#pleiades.html からダウンロード
Eclipse 2020 > Windows 64bit > Java Full Edition を選択

– 7-Zipが必要らしいので、それもダウンロード・インストール
https://sevenzip.osdn.jp/

## プロジェクト作成

– 「ファイル > 新規 > プロジェクト」で新規プロジェクトウィザーとを開く
Spring Boot > Spring スターター・プロジェクトを選択

![creat

元記事を表示

thymeleafで共通部分のcssが適用されない

##はじめに
thymeleaf layout dialect機能を使用したサイトにおいて、共通部分のcssが適用されない事案が発生したので、その対処法について紹介します。

##環境
OS: macOS Catalina 10.15.6
JDK:14.0.1
Spring Boot 2.3.3
jquery 3.3.1-1
bootstrap 4.2.1

##エラー概要
共通部分にcssが正常に適用されると下図のように画面上部に深緑のヘッダー、ロゴ、検索窓が表示されます。
![スクリーンショット 2020-09-28 15.01.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639462/5c54a7c6-c450-8137-0673-8c18fabb87e5.png)

今回、他のページより深い階層にhtmlファイルを作成、格納し実行したところ下記のようになりました。

共通部分に含まれているナビゲーションバー、ロゴ、検索窓は表示されているので、thymeleaf layout dialec

元記事を表示

OTHERカテゴリの最新記事