JAVA関連のことを調べてみた2021年02月27日

JAVA関連のことを調べてみた2021年02月27日

RaspberryPiにJAVA用のOpenCVをインストールしてWindows+Eclipseからリモートデバッグする方法①

記)2021/02/27
具体的な導入方法を順次追加する。
Windows10を基準に書く。Macは持っていないので不明
無茶苦茶長いので、頑張って読み込んで下さい。

ちなみに、以下の記事(英語)を読めばわかると言えば身も蓋もないので日本語で詳しく書くことにする。
https://qengineering.eu/install-opencv-4.5-on-raspberry-pi-4.html

①RaspberryPiにOSをインストールする。
https://www.raspberrypi.org/software/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/672650/3157cc87-8433-9b65-79df-0fa2f02efbef.png)
あ)Windows10PCにマイクロSDカード(16gでも実験だけなら可能だが、実用的なものを作るには最低でも32G以上を推奨)をセットし前記ソフトをインストールし起動。指示に従い書き込み
い)マイクロSDをラズベリパイへセッ

元記事を表示

google-java-formatをVSCode・macOS環境で利用する

#対象とする読者
VSCode・macOS環境でのjava開発にて[Google Java Style](https://google.github.io/styleguide/javaguide.html)に自動整形するフォーマッタ([google-java-format](https://github.com/google/google-java-format))を適用させたい方

#環境
macOS Catalina (version: 10.15.7)
VSCode for macOS (version: 1.53.2)

#設定法
– ターミナルにてHomebrewでgoogle-java-formatをインストール

“`bash

brew install google-java-format
“`

– VSCodeにて拡張機能emeraldwalk.runonsaveをインストール
![Screen Shot 2021-02-27 at 10.27.37.png](https://qiita-image-store.s3.ap-northeast-1.ama

元記事を表示

先頭から7bitが年、4ビットが月、残り5ビットが日 (Elixir)

# はじめに
– [Elixir](https://elixir-lang.org/)楽しんでいますか:bangbang::bangbang::bangbang:
– [Android](https://developer.android.com/?hl=ja)でSuicaの履歴をみるというものを作ってみました
– 「先頭から7bitが年、4ビットが月、残り5ビットが日」、「とある2バイトが残高、ただしリトルエンディアン」こういった処理って地味にけっこうたいへんではないでしょうか
– [Elixir](https://elixir-lang.org/)ならパターンマッチですっきり書けますのでご紹介します
– 2021/2/27に開催する[autoracex #12](https://autoracex.connpass.com/event/205985/)というもくもく会の成果とします

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

元記事を表示

あらためてJavaを学習する(その1)変数

Java学習の備忘録です。
Javaインストールから簡単なクラスの説明などは「あらためてJavaを学習する(その0)」で解説してます。
[あらためてJavaを学習する(その0)](https://qiita.com/takuyaTT/items/982a2706cf716f34774b)

## 変数(variable)
メモリ領域(記憶装置)に名前(識別子)をつけて値を保存すること。
変数を用いることで、データを一定期間記憶し必要なときに利用することができる

1. メモリの場所に変数名をつける
2. `データ型`を指定して、`値(value)`を代入する
3. 値を呼び出す際は、変数名 → メモリ番地を参照 → 値を取得 の順になる

変数に入れる値のことを`リテラル`と呼ぶ。

### 識別子のルール

* 予約語以外であれば任意で指定可能
* 英数字、アンダースコア(_)、ドルマーク($)が利用可能。
* 数字で始まることはできない

<重要ポイント>
**小文字と大文字は区別される**

### データ型
データ型は2種類ある。

* 基本データ型(プリミティブ型)
変数

元記事を表示

Java小テスト② 〜 for 編 〜

これは友達向けのJavaの小テストです。
Java初心者の文法腕試しでお使いくださいー!!

今日はfor文の小テストを作りたいと思います!

問題1:ミスを探しなさい。

“`java
public static void main(String[] args) {
for i = 0; i < 10; i++ { System.out.println(i); } } ``` 問題2:出力されるものは何か? ```java public static void main(String[] args) { for(int i = 0; i < 100; i += 10) { System.out.print(i); } } ``` 問題3:以下を満たすプログラムを書きなさい。 - 100回繰り返す。 - 回数が3の倍数のときは, 「Fizz」を出力する - 回数が5の倍数のときは. 「Buzz」を出力する - 3と5の公倍数である場合は「FizzBuzz」を出力する - それ以外は数字をそのまま出力する。

元記事を表示

Javaの機能

#クラス定義

“`java
class クラス名 {

}
“`
クラス名は**英字の大文字で始まる名詞**にする。**キャメルケース**で命名。

#mainメソッド

“`java
class クラス名 {
public static void main(String[] args){

}
}
“`

プログラムの処理を開始する場所。
クラスの中に定義され、JVMは`main`メソッドの先頭から処理を実行する。

#データ出力

“`java
System.out.println(“こんにちは”);
System.out.println(1);
“`

“`java:出力
こんにちは
1
“`

`System.out.println`は出力時、**改行される**。

“`java
System.out.print(“こんにちは”);
System.out.print(1);
“`

“`java:出力
こんにちは1
“`

`System.out.print`は出力時、**改行されない**。

#コメントアウト

“`java

元記事を表示

【Java】String型と数値型の型変換をまとめてみた

#プログラミング勉強日記

#本題
String型 → int型
Integer.parseInt();
Integer.valueOf();

String型 → byte型
Byte.parseByte();
Byte.valueOf();

String型 → short型
Short.parseShort
Short.valueOf

String型 → logng型
Long.parseLong();
Long.valueOf();

String型 → float型
Float.parseFloat();
Float.valueOf();

String型 → double型
Double.parseDouble();
Double.valueOf();

数値型 → String型
String.valueOf();

int型 → String型
Integer.toString();

byte型 → String型
Byte.toString();

short型 → String型
Short.toString();

long型 → String型
Long.t

元記事を表示

Quarkus – Creating Your First Application  やってみた

AWS Lambda などの Function-as-a-Service (FaaS) に投入する関数を Java で書こうと思って調べたところ、Quarkus (クォーカス) という、Java でマイクロサービスを作るのに適したフレームワークがあると知ったので、試してみました。

一応サーバーが起動するところまで到達できましたが、Quarkus をこれから使いたいという方に役立つ情報というよりは、新技術を試すときにありがちな試行錯誤の記録です。一般に、うまくいった事例だけが記事になって残る傾向があり、新技術にトライする際のトラブルにどう立ち向かうか、あるいはいつ立ち向かうのをやめるかということは記事になることが少ないと思います。今回は、一つの事例として公開させていただきます。

Quarkus の Creating Your First Application で示されているアプリをビルドすることにだけ関心があるという方は、[GraalVM で再度試す](#graalvm-%E3%81%A7%E5%86%8D%E5%BA%A6%E8%A9%A6%E3%81%99)の節だけ参考にしてい

元記事を表示

Java 小テスト① 〜if 編〜

これは友達向けのJavaの小テストです。
Java初心者の文法腕試しでお使いくださいー!!

今日はif文の小テストを作りたいと思います!

第1問:ミスを探し, 動く状態を作りなさい。

“`java
public static void main(String[] args) {
int grade = 90;

if grade >= 90 {
System.out.println(“秀”);
} else if grade >= 80 & grade < 90 { System.out.println("優"); } else if grade >= 70 & grade < 80 { System.out.println("良"); } else if grade >= 60 & grade < 70 { System.out.println("可"); } else {

元記事を表示

文字列連結時、大量の場合➡効率について

文字列連結時、大量の場合➡効率について、以下は参考になります。

“`sample.js
//効率悪い例:
  detail += “aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa”;
  detail += “aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa”;
  detail += “aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa”;
//改善例:
  detail += “aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa”
+ “aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa”;
+ “aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa”

元記事を表示

Javaで学ぶアルゴリズム 第7弾:乱数

# #Javaで学ぶアルゴリズム < 乱数 >

##はじめに
Javaは授業で触れただけで全くの初心者であり,何もわかっていない.なので,基本的なアルゴリズムをJavaで実装し,アルゴリズムの理解を深めるとともに,Javaにも慣れていきたい.
その第7弾として乱数を扱う.

##乱数
意味としては無作為に得られるランダムな数値であるが,コンピュータ言語にある乱数発生ライブラリはすべて**擬似乱数**と呼ばれる計算によって求められる乱数である.ここでは,その発生方法の仕組みや,評価も実装を通して学ぶ.なお,その2つは**一様乱数(線形合同法)**と**ボックス・ミュラー法**である.

##一様乱数(線形合同法)
一様乱数の説明を示した後,実装を行う.
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951300/07267cdc-100d-ac9a-0ff8-4a8131695a1b.png)

####実装
以下にソースコードとそのときの出力を示す.
#####ソースコード: 一様

元記事を表示

Javaで String (文字列) を昇順 (asc)・降順 (desc) にソートする

#はじめに:

##やりたいこと
文字列 (String) をソートしたい。
・ “627118” -> (昇順) -> “112678”
・ “627118” -> (降順) -> “876211”
・ “Hello World” -> (昇順) -> ” HWdellloor”
・ “Hello World” -> (降順) -> “roollledWH ”

#考察

## 昇順ソート
・これはすんなりいった。「やったこと」 の”StringSortAsc”を参照ください。
 String => char[] => Arrays.sort() => New String()

## 降順ソート
・一旦 String を char [] にして

“`
// char 配列に変換
char[] charArr = str.toCharArray();
“`

・Arrays.sort の第2引数に Collections.reverseOrder() を渡す

“`
import java.util.Collections;

Arrays.sort(charA

元記事を表示

intellijでdoma2の実装クラスが自動生成されない場合の解決法

## 概要
通常doma2ではinterfaceを実装してbuildするとその実装クラスが自動で生成される。
しかしintellijのbuildボタン(緑のボタン)でbuildを行う場合、この自動生成が行われず、DBからのデータ取得に失敗する場合がある。

自分含めまわりで何人かハマっている人がいたのでその際の解決法を記載

## 原因と解決法
preference/Build,Execution,Deployment/Build tools/Gradle
でintellijのbuildボタンで行う処理が設定できる。
ここの
“`Build and run using: “`

がデフォルトではGradleになっているが、既存ファイルを開いた時にIntellij IDEAになっている事があり、その場合はdomaクラスが自動生成されない。

その場合は画像のようにデフォルトのgradleに戻してから再起動すればdoma実装クラスが自動生成できる様になっているはず
![スクリーンショット 2021-01-15 17.45.36.png](https://qiita-image-sto

元記事を表示

【エラー】tomcat8080は使用されています

## tomcatでやらかした話
tomcatを初めて触ったとき、コンソールで起動して、eclipseでも起動して、このエラー出しました。

それまでRailsをやってたので、localhostはコンソールで起動するものって思い込んでた:baby_tone1:

テキストエディタから起動できるなんて発想がなかったし、他の言語やってるとそれに囚われがちって気づきました。

## 解消方法
####①コンソールで起動していたtomcatを停止させる

– macのコマンドは[こちら](https://qiita.com/okapie/items/f3d66552bc1533e7af44)から

→eclipseでサーバーを実行出来たらよし:thumbsup:

#### ②裏で動いてるtomcatを停止させる
1.Macのターミナルから「lsof -i:8080」と入力する

2.PIDに記載されている数字を確認する
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
      ****     
     ココ!

3.ターミナルに「

元記事を表示

DatePickerDialogとSQLite

DatePickerDialogを用いた日付取得とSQLiteへの連携について

GitHubを見にきてください。

元記事を表示

【エラー】unknown column ‘~’ in ‘field ~’

## エラー
DBにデータを保存したいのに出来ない…
コンソールを確認したところ下記のエラー:eyes:

“`
unknown column ‘question_id’ in ‘field list’
“`

## 原因
question_idは、questionsテーブルの中にあるのに、correct_answersって書いてた…:baby_tone1:

“`
String sql = “INSERT INTO correct_answers (question_id, answer, created_at, updated_at) values (?,?,current_timestamp(),current_timestamp())”;
“`

## まとめ
記事少ないと思ったらこんなヘナチョコミスかよ。
もうこんなミスしたくない:hugging:
今後同じエラーがでた時のためにも備忘録。

①データベースエラーだったらまずDBに関わる部分全部確認すること
・DAOのSQL文、Beanのカラム名、DBのカラム名が同じか
・DAOのSQL文のテーブル名間違ってないか

元記事を表示

FileMaker ServerからJDBCで検索する

ある案件でFileMaker Server上のデータを検索するプログラムを開発する機会があり、その備忘録として以下に記します。

## FileMaker Serverの構築
環境を汚したくないので、Vagrant+VirtualBoxでゲストマシンを作成し、バージョン19で新登場したLinux版をインストールします。

|ソフト|バージョン|
|—|—|
|FileMaker Server|19.2.1.23|
|Vagrant|2.2.14|
|vagrant-hostmanager|1.8.9|
|VirtualBox|6.1.18|
|CentOSイメージ|centos/7 (virtualbox, 2004.01)|

### ゲストマシンの作成

“`ruby:Vagrantfile
def read_ip_address(machine)
command = “ip a | grep ‘inet’ | grep -v ‘127.0.0.1’ | cut -d: -f2 | awk ‘{ print $2 }’ | cut -f1 -d /”
resul

元記事を表示

Java PDF をTIFFに変換

Spire.PDF for Javaを使ってPDF をTIFFに変換することができます。そして、文書のページと指定するページだけをTIFFで保存することができます。

下準備

1.E-iceblueの公式サイトからFree Spire.PDF for Java無料版をダウンロードしてください。

f:id:lendoris:20210224144116p:plain

Java PDF をイメージで保存

      

今回はJavaでPDF をイメージで保存する方法を紹介します。Spire.PDF for Javaを使ってJpeg, Jpg, Png, Bmp, Tiff, Gif, EMFといった形式に変換することができます。今日はPNGを例にあげて説明しましょう。

下準備

1.E-iceblueの公式サイトからFree Spire.PDF for Java無料版をダウンロードしてください。

f:id:lendoris:20210224144116p:p</p></blockquote>
</blockquote>
<aside class='widget widget-post'>
<div class='tag-cloud-link'>Java</div>
<div class='tag-cloud-link'>PDF</div>
<div class='tag-cloud-link'>イメージ保存</div>
</aside>
<div><a style='width:100%;' class='btn__link' href='https://qiita.com/iceblue/items/ad9b2598f7bd91250c13'>元記事を表示</a></div>
<h3 id=【エラー】Parameter index out of range

## エラー
DAO,Beans,Servletを作成し、JSPを表示しようとしたところ、JSPが表示されなかった。コンソールを確認したところ下記のエラーを発見:eyes:

“`
Parameter index out of range (4 > number of parameters, which is 3).
“`

## 原因
パラメーターが4つあるのに、`?`が3つしかなかった:sweat_drops:

“`
String sql = “INSERT INTO questions (question_id, answer, created_at, updated_at) values (?,?,?)”;
“`

## まとめ
パラメーターと`?`は同じ数用意しよう:point_up:

記事が少なくて時間を浪費してしまったので備忘録。こんなミスするの私くらいだろう。

## 引用
[java.sql.SQLException: Parameter index out of range (2 > number of parameters, which is 0)
]