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

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

Java初心者脱却ブートキャンプ その1 Javaクラスの構成と書き方

新入社員でJavaを勉強し始めたみなさんに対し、
不定期で更新していきたいと思います。

今回のテーマは「クラスの書き方」です。

## クラスの基本形

まずは、クラスの基本形です。例として「人」を表すクラスを考えてみましょう。

“`java

public class Person {

/** 氏名 */
private String name;

/** 年齢 */
private int age;

/**
* コンストラクタ
* @param name 氏名
* @param age 年齢
*/
public Person(String name, int age) {
this.name = name;
this.age = age;
}

/**
* 年齢の取得
*/
public int getAge() {
return this.age;
}

/**
* ひとつ歳をとる
*/
public void countUpAge() {

元記事を表示

eclipse all in one インストール

Eclipseのインストールメモ。

# ダウンロード

https://mergedoc.osdn.jp/

#### ここで好きなバージョンを選択(今回はEclipse 2020を想定)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224453/2be65382-9073-8fb1-81af-56a3356b4d1d.png)
####なんやかんや入ってるFull Editionを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224453/b4710423-ac76-c834-5b6f-88281806de55.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/224453/586da9b7-cf85-ed90-1269-be064b80e30f.png)

# インストー

元記事を表示

【初心者でもできる‼】Windows10にEclipseをインストールする方法(Java環境構築)

## 1.Eclipseとは
– Eclipseとは、コンピュータプログラミングにおいて使用される `統合開発環境(IDE)` である。
– Eclipseは、 `オープンソースのソフトウェア` であり、 Eclipse Public Licenseの条件に基づいてリリースされている。
– Eclipseは、主に `Javaアプリケーションの開発` に使用される。

※ `4.Eclipseの日本語化` を先に読むことをお勧めします。

## 2.Eclipseのダウンロード
![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449867/15c5abe5-1aa2-ac65-42e3-c8baf83b74ee.png)
1. [Eclipse Downloads | The Eclipse Foundation](https://www.eclipse.org/downloads/) へアクセスする。
2. `Download 64 bit` ボタンをクリックする。
![02.png](http

元記事を表示

macでSpringBoot環境構築メモ

##はじめに
javaを勉強するにあたってspringの環境構築をmacで行ったので
備忘録として記録します。

##1,OPEN jdkのインストール

以下のサイトからダウンロード
http://jdk.java.net/13/
今回は13.0.2をダウンロードしました。

ファイルを解凍した後に以下のコマンドで
JavaVirtualMachinesに移動

“`
$ sudo mv jdk-13.jdk /Library/Java/JavaVirtualMachines/
“`

他のアプリケーションなどがJavaを利用する場合に
JDKのインストールされているディレクトリを探せるように環境変数JAVA_HOMEを設定

“`
$ export JAVA_HOME=`/usr/libexec/java_home -v 13`
“`

###JDKとは??
Java SE Development Kit
Javaでプログラムを作るためにコンパイラなどの必要なツールが入った開発キット。
Javaの実行環境であるJREも含まれている。

##2,Spring Tool Sui

元記事を表示

JavaでIf式をしてみる

## まえがき

本稿は、こちらの記事に影響を受けて衝動的に作られました。
[4歳娘「パパ、constしか使わないで?」](https://qiita.com/Yametaro/items/17f5a0434afa9b88c3b1)

## 本文

みなさん、Javaは好きですか。

私は最近まであまり好きではありませんでしたが、最近は結構好きです。

なんだかんだライブラリも豊富ですし、モダンな構文やsyntax sugarも増えてきました。

ただ、If式が無いのはいただけないので、それっぽいものを作ってみました。

## 完成品

“`java
public class Iff {
Map, Supplier> evaluations = new LinkedHashMap<>();
private Supplier elsef;

public Iff(Predicate condition, Supplier then) {
evaluations.put(condition, then);

元記事を表示

Spring Cloud ConfigのEmbedding the Config Server

Spring Cloud Configは基本的にはserverとclientに分かれて使うもの(と思う)が、組み込みモードで起動することも出来る。

リファレンス的には[Spring Cloud Config – Embedding the Config Server](https://cloud.spring.io/spring-cloud-static/spring-cloud-config/2.2.2.RELEASE/reference/html/#_serving_plain_text)のあたり。

# ソースコード

“`gradle:build.gradle
plugins {
id ‘org.springframework.boot’ version ‘2.2.6.RELEASE’
id ‘io.spring.dependency-management’ version ‘1.0.9.RELEASE’
id ‘java’
}

sourceCompatibility = ’11’
repositories {
mavenCentral()
}
ext {

元記事を表示

【Java】LocalDate, DateTimeformatterで取得した曜日を日本語で表示する方法

##開発環境

・ホストOS: Windows10 Home insider build preview
・ゲストOS: WSL2 Ubuntu18.04 LTS
・VScode ver1.44.2
・Java openjdk11

##問題

“`java

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class Time {
public static void main(String[] args) {
LocalDate localDate = LocalDate.of(2020, 6, 3).plusMonths(1).plusDays(24);

DateTimeFormatter formmater = DateTimeFormatter.ofPattern(“yyyy年MM月dd日(E)”);

String format = localDate.format(formmater)

元記事を表示

加速度センサのサンプリング周波数を調整できるAndroidアプリを作った話

#概要
私事ですがサクジツ,3軸加速度センサの値がcsvファイルで欲しくなりました.Qiita仲間の皆さんであれば誰しもこのような経験はあると思います

ということでXperiaが手元にあったので,google playから早速検索,加速度センサロガーなるものを片っ端からインストールしてみました

するとなんと!サンプリング周波数が任意に設定できません...

しかしiOSには設定できそうなアプリが存在したので,Androidでも作れるのではないかと健闘した物語です

#まず調査
(注意)この章は作業ログならぬ勉強ログっぽく書いていきますので,日記感覚で見てください

すべてのアプリ(サンプル数6,7個)に共通している点で,サンプリングの間隔を大体でしか調整できませんでした

これについて調査していくと,加速度センサにおいては他の端末センサと違い具体的なサンプリングのレートを調整することができないらしいです
[SensorManagerのリファレンス](https://developer.android.com/reference/android/hardware/SensorMana

元記事を表示

技術面接に使える質問を作ってみた(上級IT技術者:テックリード/シニアデベロッパ向け )

経験のある上級IT技術者向けに、技術面接用の質問を作ってみました。
*質問は(Javaに限らず)オブジェクト指向言語をベースに考えられています。

#対象読者
テックリードやシニアデベロッパほか上級IT技術者採用で技術面接を行いたいが良い質問が思い浮かばない面接担当者

#対象ポジション
– 開発チームの生産性向上を図るテックリード
– プログラミング教育やコードレビューを行うシニアデベロッパ

#質問の目的
チームの開発効率やコードの保守効率を上げることを目的としたポジションにおいて、その候補者が**効率向上のひとつの鍵となる基本的な設計知識を有しているか**把握する。
– 開発・保守効率を意識した設計の理解
– オブジェクト指向の理解

#質問その1
1. 言語仕様として抽象クラスやインタフェースは何のために存在しますか?
2. クラスの抽象化によって得られる利益はなんですか?
3. クラスが具象ではなく抽象に依存すべきなのはなぜですか?
4. ポリモーフィズムの仕様とその目的について説明してください

#質問その2
以下のコードにはいくつかの問題点があります。
1. 問題点とその

元記事を表示

Gitを使ったチーム開発(eclipse編)

## Eclipseでチーム開発する際のシンプルな方法(今の段階)

Eclipseでチーム開発をすることはよくあることですがこれを執筆している段階では
感染症対策の問題もあり開発者がすべてリモートの環境で開発することも多くなってきました。

なのでそうなってくるとGitの**pull**がないとチーム開発は大変な困難なものになります。
今の段階でチームが「明日から全員リモートでチーム開発をしてください!」と言われたときにどうすればシンプルにうまくいくのか自分の考えも含め説明させていただきます。

以下のeclipseの環境で実施しています。

– **Photon Release (4.8.0)**

結論としては以下になりました。

– リポジトリの管理者を決めmasterブランチを管理する。
– 各開発者はそれぞれブランチを持つ
– 各開発者はコミットをする前に必ずpullをする

## 以下が自分の考えるシンプルな開発のやり方です

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0

元記事を表示

Javassist 使用全解析

## 前言
Java中所有的类都被编译为class文件来运行,在编译完class文件之后,类不能再被显示修改,而`Javassist`就是用来处理编译后的class文件,它可以用来修改方法或者新增方法,并且不需要深入了解字节码,还可以生成一个新的类对象。

## 创建class
创建maven项目,引入Javassist库

“`xml


javassist
javassist
3.12.1.GA

“`
使用javassist来创建一个Person类

“`java
package com.y4er.learn;

import javassist.*;

public cl

元記事を表示

Ruby と Perl と Java で解く AtCoder dwangoプログラミングコンテスト B

# はじめに
*[AtCoder Problems](https://kenkoooo.com/atcoder/#/)* の Recommendation を利用して、過去の問題を解いています。
AtCoder さん、AtCoder Problems さん、ありがとうございます。
# 今回のお題
*[AtCoder dwangoプログラミングコンテスト B – ニコニコ文字列](https://atcoder.jp/contests/dwango2015-prelims/tasks/dwango2015_prelims_2)*
Difficulty: 832

今回のテーマは、reduce による集計
# Ruby
例えば文字列`1251251252525`について `25` -> `a`に変換し文字のカウントをし易くします。=> `1a1a1aaa`
連続した`a`の個数は、(1, 1, 3) ですので、それぞれについて組合せ数を合計します。

“`bit.rb
s = gets.chomp

s.gsub!(/25/, ‘a’

元記事を表示

java error処理のまとめ

““

import java.util.*;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
// Your code here!
/*int a =0/0;
System.out.println(“XXXXXXXX”);*/

String str=”simizu”;//ここをヌルにすると例外が発生するが、非検査例外なので、トライしなくてもOK
int i = str.length();

System.out.println(str + “は” + i + “文字”);

//throw new StackOverflowError(“StackOverflowError”); メモリーのオーバーフローここはキャッチできない、、そもそもサーバー落ちてたらキャッチできないよね

元記事を表示

【Kotlin】Kotlin入門

#####Java、Python、JavaScriptに続きKotlin勉強しました。
#【Kotlin】Kotlin入門
#####「順次進行」「条件分岐」
(今後「繰り返し」)

##実行
“`kotlin:Hello.kt
fun main(){
println(“Hello”)
}
“`
“`:出力
Hello
““

##変数
“`kotlin:Variable.kt
fun main(){
var num:Int = 1
println(num)
}
“`
“`:出力
1
““

##データ型
“`kotlin:Data.kt
fun main(){
val data01:Int = 55;
val data02:Int =44;
var data03:Boolean;

data03 = (data01 < data02); println(data03); } ``` ```:出力 true ```` ##配列 ```kotlin:Array.kt fun main(

元記事を表示

初心者の僕がSpringBoot の学習を始める時にわかりやすかったサイト

最近SpringBootの勉強を始めました。
学習始めの時は、勉強の仕方がわからなくて、手こずる事があると思うので、始めるならこれでやって欲しいと僕が思うものを紹介します。(コロナで図書館が使えなかったので全てネットです)

**僕の始めた時の状態**

・スッキリわかるJava入門
・スッキリわかるJava入門実践編
でJavaの基礎をある程度おさえた

YouTube(UZUZ就活チャンネル)にあった
プログラミング講座のデータベース編以降を2倍速で流し見してイメージを掴んだ
[https://www.youtube.com/playlist?list=PLXXalsdlzX-JPOXLaE4e-L3FgFDw_Y71M]

めっちゃ初心者です…

そんな初心者から見て
*わかりやすかった!*
*参考になった!*
*始めるならこれでやって欲しい!*
というサイトを紹介します。

#####1つ目
[https://qiita.com/suke_masa/items/9dd3300c3190d6445ff8]

SpringFrameworkの勉強会の記事です。
この記事の初めの2つ

元記事を表示

Gradle における api, implementation, compileOnly の モジュール依存関係 の 違い

# Gradle dependencies の話
表でざっくりと説明

## このような依存関係があったとして、

“`
app
|-> api project(“:module-a”)
| |-> api project(“:module-a-a”)
| |-> implementation project(“:module-a-i”)
| |-> compileOnly project(“:module-a-c”)
|-> implementation project(“:module-i”)
|-> api project(“:module-i-a”)
|-> implementation project(“:module-i-i”)
|-> compileOnly project(“:module-i-c”)

“`

### appモジュールからの実行と可視性はこのようになる。

| モジュール | 実行[^1] | 直接参照できるか[^2] |
|—|—|—|
| module-a

元記事を表示

【java】java入門

#####javaとQiita初めて使ってみました
#【java】java入門
#####「順次進行」「条件分岐」「繰り返し」

##実行
“`java:Hello.java
class Hello {
public static void main(String[] args){
System.out.println(“Hello”);
}
}
“`
“`:出力
Hello
““

##変数
“`java:Variable.java
class variable {
public static void main(String[] arg){
int var = 1;
System.out.println(var);
}
}
“`
“`:出力
1
““

##データ型
“`java:Data.java
class data{
public static void main(String[]args){
int data01 = 10;

元記事を表示

SPRING BOOT 学習記録02

![SPRINGBOOT.001.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/598207/f3bb3381-89a4-53ac-b7bd-0e17853b2795.jpeg)

#Dependency Injection
依存性の注入
インスタンスの管理
![DI.001.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/598207/d44b9ef9-7386-140e-3d28-d6dbdbce46a8.jpeg)

##依存性

元記事を表示

Hibernate_CRUD

# 設定など
## データベース作成
Mysqlにて適宜DBを作成してください

## テーブル作成
“`
CREATE TABLE `user` (
`id` int NOT NULL AUTO_INCREMENT,
`first_name` varchar(45) NOT NULL,
`last_name` varchar(45) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id_UNIQUE` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
“`
# 接続情報を指定
“`demo\src\main\resources\hibernate.cfg.xml

元記事を表示

画面

# ヘッダ、フッタなどの共通化

common.htmlなど共通部品用のHTMLファイルを用意します。

“`demo\src\main\resources\templates\common.html

ヘッダー


“`
画面固有のHTMLでcommon.htmlで定義したHTMLを読み込むように指定します。

“`demo\src\main\resources\templates\templateTest\index.html


“`

# 解説
index.htmlの
“`

元記事を表示

OTHERカテゴリの最新記事