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

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

これからエンジニアを目指す人に読んでほしいWeb開発まとめ

# はじめに
この記事は,以下に当てはまる方が読むことを想定しています.
– エンジニアとして働いたことがない方
– IT企業に就職を考えている方
– Web開発の流れを理解したい方
– HTMLやCSS以外のことを知りたい駆け出しエンジニアの方

# 全体の流れ
どの企業もそうだと思いますが,いきなり開発から始まることはめったにありません.
基本的には,以下のような流れでシステム開発が進んでいきます.知らない単語が出てくると思いますが,後で詳しく説明するので,気にせず読み進めて大丈夫です.

1. チケットが切られる
1. MTGに参加する
1. スケジュールを立てる
1. 調査を行う
1. 設計をする
1. 設計書をもとにDEV環境で開発を行う
1. ユニットテストを行う
1. ソースコードをGitHubに上げて,チームの人にレビューしてもらう
1. STG環境デプロイする
1. テストケースを作成する
1. ブラウザテストを行う
1. リリースに向けたドキュメントを作

元記事を表示

【Java SE11 Silver】入社1ヶ月でJava Silver合格した勉強法

## はじめに
こんにちは、名古屋勤務の1年目エンジニアです。

私は、今年6月前職を辞めてプログラミングスクールに通い、先月IT企業に転職しました。

先月から社外のJava研修で学習しながらJava Silverの勉強を進めていました。

そこで今回は、勉強方法やコツを共有したいと思います。

:::note info
ちなみに合格点65点のところ85点で合格しました。
:::

前提として、プログラミングスクールでは10週間ほどRubyについて学びましたが、
Javaの知識はゼロの状態で始まりました。

前職もITとは全く関係なく、正真正銘の初心者です。

## 勉強方法
結論から言いますと、__黒本を3周しました__
[Java Silver 黒本](https://www.amazon.co.jp/%E5%BE%B9%E5%BA%95%E6%94%BB%E7%95%A5Java-SE-11-Silver%E5%95%8F%E9%A1%8C%E9%9B%86-1Z0-815/dp/4295007625/ref=pd_bxgy_sccl_2/355-3502044-3384762

元記事を表示

gradleのTIPS

## Gradle buildが実行できないとき

以下コマンドを対象のプロジェクトのディレクトリ内で実行してビルドする。
適当なgradleのバージョンを引っ張って実行してくれる
“`bash
./gradlew build
“`

成功したら、プロジェクトディレクトリ内のlib配下 にjarファイルが作成されるので、
lib配下に移動して実行できる
“`bash
pwd hogeProject
cd lib
ls hoge.jar
java -jar hoge.jar
“`

## build.gradleの記述

以下のように書き換えることでJREのバージョンに対応した形でビルドできる
“`java
sourceCompatibility = ’11’
targetCompatibility = ’11’

sourceCompatibility = ‘8’
targetCompatibility = ‘8’
“`

jarにビルドするときは以下のようにマニフェストの記述が必要
“`java
jar {
manifest {
attribu

元記事を表示

TL;DR 2022年版macOSにJavaをインストールする方法

“`sh
brew install java

sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

echo ‘export PATH=”/opt/homebrew/opt/openjdk/bin:$PATH”‘ >> ~/.zshrc
source ~/.zshrc
“`

元記事を表示

マージしたチャートデータからテクニカル指標を計算する(パラボリック編)

# はじめに

前記事
1. [auカブコム証券のkabuステーションREST APIをcurlで叩く](https://qiita.com/hiuchida/items/fcdd3d6ff921b386a37e)
2. [auカブコム証券のkabuステーションREST APIをjava(generated by the swagger code generator)で叩く](https://qiita.com/hiuchida/items/73b7fc846d4c9501ef2f)
3. [auカブコム証券のkabuステーションREST APIの残高照会をcurlとjavaで叩く](https://qiita.com/hiuchida/items/9eb5336755a3d1b1a3df)
4. [auカブコム証券のkabuステーションREST APIの残高照会から先物OPのdeltaを計算する](https://qiita.com/hiuchida/items/6e0d8d5114192bec1632)
5. [auカブコム証券のkabuステーションREST APIのテスト用モック

元記事を表示

Python,Ruby,PHP,Java,JavaScript,Perlのオブジェクト指向プログラミングの比較

Python JavaScript PHP Java Ruby

Qiita > プログラミング言語の比較

Python,Ruby,PHP,Java,JavaScript,Perlのオブジェクト指向プログラミングの比較

# Python

https://qiita.com/kaitolucifer/items/926ed9bc08426ad8e835

# Ruby

https://qiita.com/shogo-1988/items/e749208c0733bbe025c0

# PHP

https://qiita.com/mpyw/items/41230bec5c02142ae691

# Java

https://qiita.com/nao0725/items/aba8126c50bf85543c78

# JavaScript

https://qiita.com/shotets/items/e4b2ca36f5cbdc39

元記事を表示

OpenJDKとJDKディストリビューション

https://qiita.com/yoshioterada/items/38cc9e5e0c95f8be84e1

https://qiita.com/yoshioterada/items/2a54dfb60a02a26a2c35

JDKディストリビューション、なぜこんなに種類があるのか。
[OpenJDKと各種JDKディストリビューションの情報源まとめ #minjava](https://qiita.com/yamadamn/items/2dd26a014791b9557199)
以下等がわかりやすかったので自分のためにまとめていたものの蔵出しです…
[JDK、Oracle JDK、OpenJDK、Java SEってなに?](https://qiita.com/nowokay/items/c1de127354cd1b0ddc5e)

## [Java SEとは](https://www.javadrive.jp/start/install/index5.html#section1)
– Java Platform, Standard Edition の略。
– Java

元記事を表示

時刻のみのtime_tを作ってみた

# はじめに

前記事
1. [auカブコム証券のkabuステーションREST APIをcurlで叩く](https://qiita.com/hiuchida/items/fcdd3d6ff921b386a37e)
2. [auカブコム証券のkabuステーションREST APIをjava(generated by the swagger code generator)で叩く](https://qiita.com/hiuchida/items/73b7fc846d4c9501ef2f)
3. [auカブコム証券のkabuステーションREST APIの残高照会をcurlとjavaで叩く](https://qiita.com/hiuchida/items/9eb5336755a3d1b1a3df)
4. [auカブコム証券のkabuステーションREST APIの残高照会から先物OPのdeltaを計算する](https://qiita.com/hiuchida/items/6e0d8d5114192bec1632)
5. [auカブコム証券のkabuステーションREST APIのテスト用モック

元記事を表示

【ほぼメモ】Scalaの表現力の高さに恐れおののいたJavaエンジニア

トランプを表現するクラスを書いてみた。
こんな書き方できんのかよ…

“`scala:Hello.scala
package example

import example.Suits._
import example.ValueHolder._

object Hello {
def main(args: Array[String]) = {
println(Ace of Spades) // すごい
println(2 of Diamonds) // とてもすごい
}
}

sealed trait Suits {
def emoji: String
}

object Suits {
object Diamonds extends Suits {
override def emoji: String = “♦”
}
object Clubs extends Suits {
override def emoji: String = “♣”

元記事を表示

Lucene の Tokenizer で 「数字%」や「文字列&文字列」を許容する

備忘録

https://mikolajkania.com/2017/08/27/How-to-change-standard-tokenizer-rules/

を参考にしました。

コードは、

https://github.com/YmBIgo/JFlex_Test/blob/master/lucene_tokenizer.flex.java

https://github.com/YmBIgo/JFlex_Test/blob/master/Sample_Lucene.java

にあります。

## StandardTokenizer

Lucene の `StandartAnalyzer` では、`StandardTokenizer` という 絵文字など1文字なのに3バイト以上で認識されてしまうものを修正するなどの機能があります。つまり、Lucene で全文検索をする際の最初の前処理をしているところと言ってもいいでしょう。

この StandardTokeniser の初期の設定で、Lucene で 「20%」など「数字%」や「A&E」など「文字列&文字列」が弾かれてし

元記事を表示

【Java】覚えた用語一覧集 2 データ型

## データ型 使用頻度の高いもの
|種類|型名 |内容|
|:–|:–|:–|
|整数型 |int|-2147483648 ~ 2147483647 までの整数を取り扱える箱|
|文字列クラス|String| “java”、”勉強”、”Mac” などの複数の文字を扱える箱|

##
|種類|型名|内容|
|:–|:–|:–|
|整数型| byte| -128 ~ 127 までの整数を取り扱える箱|
|整数型| short| -32768 ~ 32767 までの整数を取り扱える箱|
整数型| long| -92223372036854775808 ~ 9223372036854775807 までの整数を取り扱える箱|
|浮動小数点型| float| ± 3.4 × 1039 ~ ± 1.4 × 10 – 45 細かい数字を扱える箱|
|浮動小数点型| double| ± 1.8 × 10308 ~ ± 3.4 × 10 – 324 さらに細かい数字を扱える箱|
|論理型| boolean true| ( 真 ) or false ( 偽 ) 真偽を測る箱|
|文字型| c

元記事を表示

【Java】覚えた用語一覧集 1

## 用語集

|用語|意味|
|:–|:–|
|クラス|データと処理のかたまりのことをクラスと呼ぶ|
|フィールド|クラス内でどのような情報を扱うかのデータのこと|
|メソッド|クラス内に書かれた処理のこと|
|引数|メソットを処理する際に設定できる条件 イメージは材料|
|戻り値|引数を渡して処理を実行した際に戻ってくる結果|
|インスタンス(化)|クラスから作られたオブジェクト、設計図 イメージはレシピ|
|コンストラクタ|インスタンスを呼び出すタイミングで呼び出される特別なメソットのこと|

元記事を表示

Docker-composeでSpringBoot×PostgreSQL環境構築

## 事前知識
https://qiita.com/ryome/items/240f36923f5cb989da27

https://qiita.com/ryome/items/4b6b934b1b2021acfa26

https://qiita.com/ryome/items/6e59dcbe4735d45d58a3

https://qiita.com/ryome/items/3d4de62b560aac31bede

https://qiita.com/ryome/items/56a3263f347a08bd860f

https://qiita.com/ryome/items/35df47a01a7fe3ac70ee

## 環境

| 環境 | バージョン |
| —————— | ———- |
| Docker | 20.10.17 |
| Docker-Compose | 1.29.2 |
| Java | 11 |

元記事を表示

IntelliJで「11は無効なソース・リリースです」

最近、Intellij を使用するようになりました。
しかし、Intellij を使用している際、「11は無効なソース・リリースです」というエラーが発生しました。
Java のバージョンに問題がある事までは、わかったのですが、具体的にどうしたらいいかという事が分かりませんでした。

このエラーの原因を調整していく中で、Intellij の以下部分を修正する必要が分りました。

– Project SDK
`プロジェクトを右クリック→Open Module Settings→Project→Project SDK`
上記の順に進んでいくと、Project SDK があります。
このProject SDK を該当のバージョンに修正する必要があります。

– Language level
`プロジェクトを右クリック→Open Module Settings→Module→Source→Language level`
Language level のバージョンを該当のバージョンに修正する必要があります。

– Module SDK
`Modules→Dependencies→Module S

元記事を表示

日付文字列を指定したフォーマットで整形する

Java 8から導入されたDate and Time APIで実装するとこんな感じです。

“`java:Qiita.java
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.ResolverStyle;

public class Qiita {

public static void main(String[] args) {

String srcDateStr = “20221002”;
String srcPattern = “yyyyMMdd”;
String destDateStr = null;
String destPattern = “yyyy-MM-dd”;
try {
LocalDate date = LocalDate.parse(srcDateStr, DateTimeFormatter.ofPattern

元記事を表示

ABC271A~Eの解答[Java]

## はじめに
今回はEまで解けたのでEまで載せます。
なお、Cはコンテスト中のものも載せますがかなり汚いのでコンテスト後に解いたものも載せます。

では見ていきましょう。

## A – 484558
問題文は[こちら](https://atcoder.jp/contests/abc271/tasks/abc271_a)

printfでいけそうとは思ったのですが16進数の時の書式指定ってどう書くんだ・・・?ってなったのでif文で2文字にしました。
“`A.java
class Main{

static Library System = new Library(java.lang.System.in,java.lang.System.out);

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

//Nの受け取り(16進数に変換して大文字に)
String N = Integer.toString(System.in.nextInt(),16).toUpperCase();

//1文字なら

元記事を表示

Jextract を使って、Java から libcurl を使ってみる

Jextract に libcurl を呼び出すサンプルがありました。これを試しに動かしてみました。
(まだ Preview の [Foreign Function & Memory API](https://openjdk.java.net/jeps/424) を使います)

ちなみに、ほかにも以下のライブラリを使うサンプルが置いてあります。
|ディレクトリ|実行するライブラリ|
|—|—|
|cblas|OpenBLAS(行列演算ライブラリ)|
|lapack|LAPACK (数値解析ソフトウェアライブラリ)|
|libclang|Clang の C インタフェースライブラリ|
|libcurl|cURL(データ転送ライブラリ)|
|libffmpeg|FFmpeg(動画・音声の記録・変換・再生ライブラリ)|
|libgit2|Git(バージョン管理)|
|libjimage|ImageJ(画像処理ライブラリ)|
|libproc|/proc インターフェイス|
|lp_solve|lp_solve(混合整数線形計画法のソルバー)|
|opengl|OpenGL(2次元/3

元記事を表示

JFlex のコンパイル後のファイルを読んでみた。

## JFlex とは?
今回は、Lucene というオープンソースの全文検索ライブラリを読もうと思ったら、意味不明な Javaファイルがあって、調べたら JFlex で書かれていたことが判明したのですが、その JFlex のファイルに関する 情報が無かったので記事にしました。どこかで同じように、JFlex の謎ファイルを見つけた人の一助になればと思います。

JFlex とは、パーサーで言うところの lexer を作ってくれるライブラリで、作った lexer で文字列をブロックに分けたりなどのことを自分でカスタマイズできます。
使い方は、flex ファイルという特別なファイルを作って、それを JFlex の jar にかませると、lexer が実装された Java ファイルが出力されるようになっている。
噛み砕いて説明すると、

1:[JFlex の jar をダウンロード](https://www.jflex.de/download.html)
2:flex ファイルを作成する。(今回は[作ってあるもの](https://inst.eecs.berkeley.edu/~cs164/

元記事を表示

Java の Charset のバイトオーダーとBOM

[Java のサポートされているエンコーディングの一覧](https://docs.oracle.com/javase/jp/18/intl/supported-encodings.htm)を見ていると、`UTF-16`, `UTF-16BE`, `UTF-16LE`, `x-UTF-16LE-BOM` とあって、なにが違うんだろうと思って調べてみました。

まとめると、読み・書き時のバイトオーダー (BO) [^bo] と書き込み時の BOM (Byte Order Mark) の違いでした。
* 読み込み時のバイトオーダー
* BE / LE が付かないものは、BOM から自動的に判定
* 書き込み時のバイトオーダー
* BE / LE が付かないものは、BIG バイトオーダー
* BOM の有無
* UTF-8 に「BOM あり」で書き込むものはない[^bom]

[^bo]: バイトオーダー = エンディアン
[^bom]: バイトオーダーに関わらず同じ内容になるので、本来は UTF-8 に BOM (Byte Order Mark) は不要

|名称|

元記事を表示

【Spring Security】WebSecurityConfigurerAdapterからの脱却

# はじめに
Spring bootでログイン機能を実装する方法を解説している記事を探した際、現在では非推奨になっているやり方でログイン機能を実装している記事ばかりが出てきて苦労したので、備忘録として書き残しておきます。

# WebSecurityConfigurerAdapterは現在非推奨に
Spring bootのログイン機能の実装方法を検索すると、多くはこれを継承してうんたらかんたらみたいな記事が出てくると思います。ですが、これは現在非推奨になっています。使っても深刻なエラーになったりはしませんが、非推奨にされたものを使い続けるのは将来のことを考えるとよくありません。

# Configクラスの書き方
ソースコードは以下のようになります。WebSecurityConfigurerAdapterを継承していないことに注目してください。これが現時点での新しい書き方です。URLなどは自身のWebサイトで使うものに応じて置き換えてください。

“`java
package dev.itboot.todo.config;

import org.springframework.bo

元記事を表示

OTHERカテゴリの最新記事