JAVA関連のことを調べてみた2019年12月14日

JAVA関連のことを調べてみた2019年12月14日

C#とAndroidによるUDP通信で加速度センサの値を取得するアプリケーション

#大まかな内容
ここでは、Androidの加速度センサの値をC#で取得し、その値によってAndroidの端末がどのように動いたかを感知するために作成している。

#Androidのアプリケーション
このアプリケーションでは、三軸(X,Y,Z)の加速度センサの値をUDP通信で送る。端末が、どの軸方向に向いているかを分かりやすくるために、各軸が一定の値以上になった場合に音声が鳴るように作成した。

##アプリケーションのGUI
ASUSTab K013の場合

##ソースコード
ソケット通信を行うので、Androidmanifest.xmlに下記を追加する。

“`xml:Androidmanifest.xml
<

元記事を表示

Thymeleafでヘッダーフッターを共通化する方法

# 概要
Spring BootとThymeleafを使って作るWebアプリで、各htmlのページに共通しているヘッダーやフッターを共通化する方法

## 環境
– Java8
– Spring Boot
– version: 2.1.9.RELEASE
– Thymeleaf
– version: 3.0.11.RELEASE
– Eclipse
– version: 2018-09 (4.9.0)

# サンプル
## ディレクトリ構成
Java側は省略しますが、templateと静的コンテンツの配置はこんな感じ。

“`plaintext:dir
src/main/resources
├── static
│   ├── css
│   │   ├── common.css
│   │   └── top.css
│   └── js
│      └── datepicker.js
└── templates
├── common.html
└── index.html
“`
SpringBootは`templates`配下のHTMLからCSSやJS

元記事を表示

Java(Wicket-Spring boot)で作ったシステムを学内サーバにデプロイする方法

# Javaシステムのデプロイ方法を書きました

ぜひ、なにか修正すべき箇所があればご指摘お願いいたします。
自分自身、経験が浅いため、知見がほしいです。:bow_tone1:

[こちらのgithubにあります。](https://github.com/hatsuki0111/JavaDeploy/blob/master/%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4.md)

元記事を表示

Elasticsearch 7.0から、OpenJDKがバンドルされるようになっていたという話

# TL;DR

* Elasticsearchは、7.0からOpenJDKをバンドルするようになっている
* バンドルされているOpenJDKは、AdoptOpenJDKの模様
* デフォルトでは、バンドルされているOpenJDKで起動する
* 変更したい場合は、`JAVA_HOME`を設定する

ちなみに、**LogstashにはOpenJDKがバンドルされていません**。

# ドキュメントとリリースノート

CentOSに`yum`でElasticsearchをインストールした時に、インストールしたパッケージ内部で持っているJDKで起動しているのに、ふと気づきました。

ドキュメントを読んでみると、どうやらOpenJDKをバンドルしているようです。

[Install Elasticsearch with RPM](https://www.elastic.co/guide/en/elasticsearch/reference/7.5/rpm.html)

> Elasticsearch includes a bundled version of OpenJDK from th

元記事を表示

Codecademy 何?

# 初めに
この記事は、SLP KBIT Advent Calendar 2019 の13日目の記事です。

プログラミングを自分でやってみたいときこのウェブサイトは役に立つかもしれない。
#どうして Codecademy❓
良い点
○ たくさん言語を学ぶことができる
○ 説明が詳しい
○ シラバスに沿って勉強する
悪い点
○ 日本語に翻訳しなければならない
○ 無料ではない
#やってみよう
1.言語を選択する
![Capture.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549495/df380ea5-981b-0df3-216a-ab3f2fefe3aa.jpeg)
![Capture2.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549495/c1ec0253-872f-352b-8733-f43acc7dc3db.jpeg)
2.説明を読む
![Capture5.JPG](https://qiita-im

元記事を表示

ジェネリクスと関数型インターフェースを活用した便利メソッドの作り方

# 便利メソッドの作成
多人数でチームを組んで開発を行っていると共通で行いたい処理などがでてきます。
例えば文字列操作や日付操作などは色々なシーンで使われますが、その際には便利なライブラリを利用したり、便利なメソッドが集まったクラスなどを作成したりするかと思います。

特定のクラスに対する処理であればある程度簡単に作れてしまいますが、多人数で開発する場合には様々なクラスに対して共通の処理を行いたいといった要望がでてきます。

その際に利用すると便利なものが「ジェネリクス」や「関数型インターフェース」といったものです。
この2つについてはなんとなく知っていても実際にどう使っていいかわかりにくという人もいるかと思います。

そこで今回は実際に便利メソッドを作る工程を追いながら実際にどのように使うのかを紹介してみたいと思います。
※ 作りながら雰囲気をつかんでもらうため「ジェネリクス」や「関数型インターフェース」の紹介は軽めです

## ジェネリクス (総称型) とは

データ型の定義に対してパラメータのように渡すことで、同じような構造をもつプログラムを複数のデータ型に対応できるようにした

元記事を表示

Tomcatサーバーの構成を公開できませんでした。

#自己紹介
みなさん初めまして。**Falchan**と申します!
今年の4月から未経験からJavaの学習を始めてるバチバチの初心者です(^^♪
4月からやってるというもの、壁に当たりすぎて実質1,2ヶ月分の学習しか出来ていない気がしますが(~_~;)
そんなことはさておき、今更ながらアウトプットもかねて自分と同じ未経験の方の力になれたらと思い記事を書かせていただきます。
どこか間違いがあったり、ご意見、アドバイスなどがありましたらコメントしていただけると幸いです。

前置きが長くなってしまいましたが本題へ…

Javaを使用してWebアプリケーションを作成し、実行の際に発生したエラーです。

#実行環境
– 【Spring Tool Suite 4】
Version: 4.4.2.RELEASE
– Apache-Tomcat Version: 9.0.27
– JRE Java8

実行環境を書く理由はそれぞれのソフトの互換性があるため、バージョンが違うだけでうまく実行できないという状況が発生します。
なので、「上記に記載しているソフト、バージョンだと動いたよ」という証拠にもな

元記事を表示

Android Java FragmentでCameraXライブラリ使ってみた

Google I/O 2019で紹介されたCameraXをJavaでFragment上で試してみたので簡単にご紹介。

##準備

公式の[チュートリアル](https://codelabs.developers.google.com/codelabs/camerax-getting-started/#0)をみながら進めていくと楽チンなのでこちらを見ながら進めていきます。

プロジェクト作成や、dependenciesの追加などはチュートリアル通りに進めるだけなので本記事では割愛。

##プレビュー用のビューを追加
Fragmentで表示するlayout.xmlにTextureViewを追加します。

“`xml

元記事を表示

LaravelとSpringBootでDIコンテナを利用してみる

# はじめに
これは[ユアマイスターAdventCalendar2019の13日目](https://qiita.com/advent-calendar/2019/yourmystar)の記事です。
(社会人になってから学んだことをアウトプットする記事になります。)

## 今回の経緯
社会人になってからDI(依存性の注入)という概念を知りました。
WEBサービスの開発を行う際に、フレームワークを利用する場面は多々ありましたが、主に利用していた`Cake PHP`ではDIという概念は出ていなかったと記憶しています。
(記憶違いだったらすみません。)

DIは、インスタンスをnewで作成して利用するのではなく、DIコンテナやサービスコンテナ呼ばれるもの(SpringBootではDIコンテナ、Laravelではサービスコンテナと呼ばれます)を利用して、あらかじめ登録されたインスタンスを利用します。

今回は、業務で利用しているSpringBootでのDIコンテナの利用、最近独学で学んでいるLaravelでのサービスコンテナを利用してみるというテーマで記事を書いてみたいと思います。

##

元記事を表示

日付と時刻

個人的な勉強のためにまとめたものです

#日付と時刻

Java SE 8から日付や時刻を扱うための新しいAPIが追加された

##クラス

###LocalDate

**日付**を管理するクラス

###LocalTime

**タイムゾーンなし時刻**を管理するクラス
時間は、ナノ秒の精度まで表さすことができる

###DateTimeFormatter

指定した**日付パターン**に変更するクラス
「事前定義されている標準フォーマッター」、「ローカル固有のフォーマッター」、「カスタムパターンを使ったフォーマッター」の3種類がある(より複雑なフォーマッターは**DateTimeFormatterBuilder**によって提供)

###Duration

**時刻の差**を管理するクラス

###Period

**日付の差**を管理するクラス

###ZonedDateTime

**タイムゾーンあり時刻**を管理するクラス

##メソッド

###ofメソッド

日付けを指定してインスタンス生成するときに使うメソッド

###nowメソッド

現在の時刻でインスタン

元記事を表示

Alibaba Java Coding Guidelinesについて

##はじめに
初めてQuiitaにブログを書く機会が現れたので、ここに来ました!
現在、自分の技術武器は二つがあります、JavaとAlibaba Cloud。そしてこの二つを組み合わせ、何か書きたかったです。
色々がありますが、今回Alibaba Java Coding Guidelinesについてちょっと紹介したいと思います。
何で?自分のコードもっとキレイにしたいですから!

###Alibaba Java Coding Guidelinesとは?
長年にわたるAlibabaの技術チーム内部のベストプログラミングプラクティス。
様々なJavaプログラミングチームが同じルールに則ってプログラミングすることにより、コードクオリティーを高め、お互いのプログラムの再利用と理解を促進しているものです。

このGuidelineは、他のプログラマーも利用できるよう[GitHub](https://github.com/alibaba/p3c?spm=a2c65.11461447.0.0.5d19d1cdpnXlEo)で公開されており、現在2万弱の★がついています。また、アップデートされ続けてい

元記事を表示

【Java】OS依存な標準ライブラリを挙げてみる

# はじめに
この記事は[Java Advent Calendar 2019](https://qiita.com/advent-calendar/2019/java)の13日目の記事です。13日の金曜日です。不吉ですね。

不吉といえば、OS依存ってなんか不吉な感じがしませんか?
たとえばWindows環境で動作確認を行った時は問題なかったけど、Linux環境で動かしたらエラーになった…なんてことがあったりします。Write once, run anywhereなJavaですが、OSごとの違いを考慮しなくていいわけではありません。
そこでこの記事では、Javaの標準ライブラリでOS依存が隠れている例をいくつか紹介してみます。

## この記事における「OS依存」
一口にOS依存といっても色々なことが考えられますが、この記事ではプログラムの実行結果がOSによって変わってしまう場合のことを「OS依存」と表現することにします。
内部的にOSネイティブなAPIを呼ぶメソッドはたくさんありそうですが、どのOSでも同じ実行結果になるのであれば、この記事においてはOS依存ではないと考えます。

#

元記事を表示

Selenideを用いてブラウザ自動操作環境を5分で作成してみる

#はじめに
この記事は[エムスリーキャリア Advent Calendar 2019 13日目の記事です。](https://qiita.com/advent-calendar/2019/m3c)
この記事ではSelenium WebDriverのラッパーである[Selenide](https://selenide.org/index.html)を使ってブラウザ操作をサクッと試してみます。

#対象読者
– とりあえずブラウザの自動操作を試してみたい人
– JavaでUIテストを書いてみたい人
– ブラウザ操作を行うツールを作成したい人

#開発環境の準備
それではまず開発環境の準備から始めていきます。
IDEにはeclispeを使用します。
[https://mergedoc.osdn.jp/](https://mergedoc.osdn.jp/)よりJava Full Editionをダウンロードし、任意の場所に解凍します。
![eclipse.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/

元記事を表示

授業で習ったJavaの復習をつらつらと part4

# はじめに
今回扱うもの

– メソッド
– 継承
– インターフェース

前回の「コンストラクタ」同様、オブジェクト指向に関する場所なので分かりづらい。例を挙げながらつらつらと記述していく。part3までは読んでね。
今回の部分まで理解できると違う言語でもプログラミングしやすくなり、とても便利な考え方です。がんばりましょう。

# メソッド

ここではオブジェクト指向で超重要な部分、メソッドについてお話する。
メソッドとは、自分が作成したオブジェクトに対して「どんな挙動をするか」を記述する部分である。「ノートPC」というオブジェクトを作った場合、コンストラクタでは「誰の」や「色」、「ハード構成」のような物体そのものに対して記述していく。対して**メソッドは「起動する」「ネットワークにつなぐ」「ファイルを圧縮する」のような行動・状態遷移を定義**できる。

“`java/Car.java
public class Car
{
int number;
String owner;
int speed;

public Car()
{

元記事を表示

[Spring MVC] パス変数の受け渡し方について

Springでのパス変数の受け取り方、リダイレクト先への渡し方メモ
## パス変数を受け取る方法
“`java
// (1)
@GetMapping(“{name}”)
public String detail(@PathVariable String name) {
return “detail”;
}

// (2)
@GetMapping(“idol/{name}”)
public String idolDetail(@PathVariable(“name”) String idolName) {
return “idol/detail”;
}

// (3)
@GetMapping(“unit/{unitId}/idol/{idolId}”)
public String idolDetail(@PathVariable(“unitId”) Integer unitId, @PathVariable(“idolId”) Integer idolId) {
return “idol/detail”;
}
“`
パス内に含まれる値をメソッドの処理内で利用し

元記事を表示

javaとは

まだまだ根強い活躍の場面が多い、javaについて書こうと思います。

# javaとは
C言語の構文を主に引き継いだプログラミング言語です、

汎用的でOSに依存しないためサーバーサイドでも活躍し
androidやガラケーでもアプリを組むことが可能です。

# javaの開発
開発にはJDK(Java Development Kit)を使用します。
Javaのサイトからダウンロードすることができます。

リンク先: [JDK](https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)

# javaのメリット

* 汎用的でOSに依存しない
* オブジェクト指向である
* 処理速度が速い

など大きなメリットが特徴です。

## 汎用的でOSに依存しない
根本的にプラットフォームに依存しないので
OSに関係なく、Windows, Linuxなどで動作させることができる言語です。

## オブジェクト指向である
プログラムの管理を細かくできるので
チーム開発など効率が上がりま

元記事を表示

Java 13 の新機能紹介

# Java 13 で何が変わったか
Java 13 になってGCの改善等色々と行われました。
今回はプログラムを書くにあたってわかりやすく変わった以下の変更について紹介します。

– テキストブロック
– switch 式

## 新機能を試してみる
まずは以下のページにある Java 13 をインストールして試してみます。
https://adoptopenjdk.net/

jshell を使って試そうとしたところまだプレビュー版の機能ということで使用できませんでした。
そこで jshell のオプションに –enable-preview を付けて実行します。

“`java
jshell –enable-preview
“`

## テキストブロック
今までは複数行の文字列を定義する場合 “” で囲み + 演算子で文字列を結合してきました。

“`java
jshell> String html = “\n” +
…> ” \n” +
…> ”

元記事を表示

Windows: Java Maven Project in Eclipse

#Windows: Java Maven Project in Eclipse
##Tomcat 9
ダウンロードする
>https://tomcat.apache.org/download-90.cgi

NEXTをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/546056/4c4e9820-51ea-2dab-b026-60968d4f5107.png)
I agreeをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/546056/8fa63cd1-2685-f2c0-9d88-c98ecde1e078.png)

Service Startup を選ぶ(パソコンをオンにする時にTOMCAT自動に始まります。)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/546056

元記事を表示

Java で Spresense の開発をしてみる(1)

# この記事について
2019/12/2 に、Spresense開発ボードでJavaをサポートする旨のプレスリリースが行われました。
→ [Spresense development board from Sony now also supports Java](https://developer.sony.com/ja/posts/spresense-development-board-from-sony-now-also-supports-java/)
ということで、実際に試してみます。

今回は、やってみたら意外と面倒で時間がかかった、開発環境の構築についてをまとめてみます。

# Spresense Java 開発環境について
Spresense の Java の開発には、 [MicroEJ](https://developer.microej.com/sony-spresense-getting-started-sdk.html) という組み込み向けのJava開発環境を使用します。

開発環境の構築手順は https://github.com/MicroEJ/Platform

元記事を表示

Tomcatとは

学習用資料

###サーバーとは何か?

一言で言うと、リクエストを受け取ってそれに対してレスポンスを返すもの。
例えば、一般的なwebサイトではURLというリクエストをサーバーに送ってhtmlをレスポンスでもらう。
プログラミングにおいて、サーバーを作ろうと思った時言語の中にサーバーを簡単にたてれるものがあるがJavaに関していうとそれは難しい。なので、あらかじめサーバーの機能が入ったものをインストールしてそれと連携してサーバーを作っていく。

###Tomcatとは何か?

Tomcatはサーバーの機能が入ったものでJava Servletと連携しやすくしたものである。
ということで、簡単なサーブレットを作ってみよう。
まずはイクリプスを開く。ここで右上の×ボタンの下がJava EEが青くなっていることに注意。

![java.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/514262/f4ab65fe-1c1f-a8fc-48af-f5876bc606c1.png)

ここで右クリック→New→

元記事を表示

OTHERカテゴリの最新記事