- 1. 【SQL】employeesテーブル
- 1.1. 初めに
- 1.2. :fist:①偶奇の判定
- 1.3. 解答コード(自作)
- 1.3.1. Java Excelの背景に色と画像を追加
- 1.3.2. Eclipseワークスペース新規作成方法
- 1.3.3. [Java] 配列の書き方がスッキリわかる記事
- 1.3.4. 動画で学ぶJHipster (6) fakerの削除
- 1.3.5. むずむずしたJavaコード
- 1.3.6. Basic operation of NIO Buffer classes
- 1.3.7. (JAVA勉強用メモ)4. 制御構造
- 1.3.8. 【雑談】あえて今、20年前のJavaを自由に語る
- 1.3.9. Java11の時代に実装されたSpring BootのアプリケーションはJava17でもworkするのか
- 1.3.10. Java イメージをPDFに変換
- 1.3.11. [paiza]スキルチェック見本問題 Java 数値演算結果で分岐/ 0 が含まれていないか判定 return sc.closeとは
- 1.4. 初めに
- 1.5. 易:relaxed:数値演算結果で分岐 (paizaランク D 相当)
- 1.6. 解答コード
- 1.7. 初めに
- 1.8. 誤答 :point_up:文字列の比較演算子に注意!
Javaで飯食ってるエンジニアがGolangを学んでみる~序章~
とりあえずJavaとの差を意識してメモ書きのように書いてみる。Go→Javaの順
序章と書いたが続くかは不明。。。社会人になり、弊社に入社してからJavaを学んだのだが、
その時は学生時代に研究で利用していたFortranとの対比で基本的な文法は学んで言った記憶があった。
(やり方がいいかは別)今回もJavaとGoがいずれも静的型付け言語であることを利用し、
同じことをそれぞれの文法で書いたらどうなるかを実際にメモ書きしてみた感じ。※Editorじゃないのでミスっていたらすみませんコメントで教えてください
※全部はやってません#コンソール出力
“`Go
import “fmt”
func main(){
var human string = “TOM”
fmt.Printf(“%sは人間です”,human)
}“`
“`java
public static void main(String[] args){
String human = “TOM”;
System.out.printf(“%sは人間です”,h
【SQL】テーブルとレコード(登録処理用)
【SQL】employeesテーブル
テーブルカラム
id・年齢・生年月日・メールアドレス・住所・グループ名
“`sql:CREATE_employees.sql
CREATE TABLE employees(
id INT AUTO_INCREMENT NOT NULL,
name VARCHAR(100) NOT NULL,
age INT(3) NOT NULL,
birthDay DATE NOT NULL,
email VARCHAR(100),
address VARCHAR(100),
groupId VARCHAR(100),
PRIMARY KEY (id)
);
“`レコードの追加(10件)
“`sql:INSERT_employees.sql
INSERT INTO `employees` (
`id`
,`name`
,`age`
,`birthDay`
,`email`
,`address`
MavenプロジェクトをGradleプロジェクトに変換
# 環境
* OS: Windows 10 Home
* Gradle 7.0.2# 前提
* Gradleがセットアップ済みであること
* https://qiita.com/yiwa81/items/ccfd6f397a949a0fbe95# MavenプロジェクトをGradleプロジェクトに変換
* コマンドプロンプトを開き、Mavenプロジェクトのフォルダに移動
* `gradle init` を実行
* 実行例“`
gradle initFound a Maven build. Generate a Gradle build from this? (default: yes) [yes, no]
Select build script DSL:
1: Groovy
2: Kotlin
Enter selection (default: Groovy) [1..2]> Task :init
Maven to Gradle conversion is an incubating feature.
Get more help w
Gradleのセットアップ(Windows)
## 環境
* OS: Windows 10 Home
## 対象のGradleバージョン
* Gradle 7.0.2
## インストール
* 以下からアーカイブをダウンロードする
* https://services.gradle.org/distributions/gradle-7.0.2-bin.zip* アーカイブを展開し、適当なフォルダに配置する
* 例: `C:\Gradle\gradle-7.0.2`* GRADLE_HOME環境変数としてインストールしたフォルダを設定する
* 例: `GRADLE_HOME=C:\Gradle\gradle-7.0.2`* Path環境変数に `%GRADLE_HOME%\bin` を追加する
## 動作確認
* コマンドプロンプトを開き、以下のコマンドが実行できることを確認
`gradle -version`
日付のテストは午後にやろう
`SimpleDateFormat` の `HH` と `hh` は結構な確率で間違えます。
結合テストが軌道に乗ってきた頃に、午後にならないと再現しない謎の不具合が発生します。“`java:
// 現在日時: 2021-09-15 13:24:56DateFormat df1 = new SimpleDateFormat(“yyyyMMddHHmmss”);
// => 20210915 *13* 2456DateFormat df2 = new SimpleDateFormat(“yyyyMMddhhmmss”);
// => 20210915 *01* 2456
“`面倒なので単体テストでちゃんと検知しましょう。
ということで、午後の日付を入力値にするのがポイントです。以下はdjUnitでやるときの例。
“`java:
// 現在日時を固定(超てきとう)
MockObjectManager.addReturnValue(Calendar.class, “getTime”, Timestamp.valueOf(“2021-09-15 13:24:56”)
[paiza]スキルチェック見本問題 Java 偶奇の判定/曜日の判定 (paizaランク D 相当)
初めに
今回2つのスキルチェック問題に挑戦しました。
Dレベルにしては、少し難しく感じました。:fist:①偶奇の判定
https://paiza.jp/works/mondai/conditions_branch/conditions_branch__mod_step3
“`
長さ N の数列Aが与えられます。
この数列に含まれる偶数の要素の個数と、奇数の要素の個数を答えてください。
“`解答コード(自作)
paizaの解答と比べるとあまりスマートとは言えませんが・・・
なんとか正解しました。
拡張for文マスターできれば色々できますね。“`java:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//与えられる数字をキャッチします。
int n = sc.nextInt(
Java Excelの背景に色と画像を追加
Spire.XLS for javaは、パワフルなエクセル向けのライブラリであり、いろいろな機能を搭載していますので、とても便利です。今日の紹介は、Spire.XLS for javaを利用してExcelの背景に色と画像を追加することにします。早速、行きましょう!
下準備
1.E-iceblueの公式サイトからSpire. XLS for Javaをダウンロードしてください。
Eclipseワークスペース新規作成方法
# ワークスペースを新規作成する
Cドライブ直下に新しいフォルダーを作成。
階層が深くなると正常に動かなくなることがある。
名前はなんでも。workspaceなど。
小文字スタート、スネークケース。![image1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1605855/5da699f3-8a41-d5ea-7557-1f832ee6c718.png)
# Eclipseを起動する
前回使用していたワークスペースが選択された状態で起動されるので、
参照を選択して、さきほど作成したフォルダを選択する。![image2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1605855/e11bdc11-96bc-e783-fd0b-6e16f2e6a3e7.png)
![image3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.co
[Java] 配列の書き方がスッキリわかる記事
配列の書き方がいろいろあって、混乱したので自分用にまとめました。
# この記事の対象読者
以下のコードが構文エラーになる理由がわからない人
“`java
int[] ary;
ary = new int[]
ary[0] = 1;
ary[1] = 2;
ary[2] = 3;
“`このエラーの理由がわからない場合は、この記事を読めば頭が整理されてスッキリすると思います。
# 結論配列を定義して使用するためには、以下の3つのステップが必要になります。
– 配列の宣言
– 配列の生成
– 要素の初期化3番目の「要素の初期化」はなくてもエラーにはならないけど、
わかりやすいコードにするためにも、明記することが推奨されてます。# 配列の宣言
まず最初に必要なのは、配列の宣言です。
こんなやつ。
“`java
int[] ary;
“`“`java
int ary[];
“`aryという変数名で配列を宣言してます。
上記はどちらも同じ意味です。
お好みでどうぞ。また、intのところをStringやdouble等、他の型にすることもできま
動画で学ぶJHipster (6) fakerの削除
# 参考動画
# fakerの削除
(動画の6:00ごろ~)
データを自動生成してくれるfakerですが、(動画の流れで)削除します。削除する方法は、
`src/main/resources/config/application-dev.yml`の、以下の部分のfakerを削除して、“`
liquibase:
# Remove ‘faker’ if you do not want the sample data to be loaded automatically
contexts: dev, faker
“`
下記のようにします。“`
liquibase:
# Remove ‘faker’ if you do not want the sample data to be loaded automatically
contexts: dev
“`さらに、`./mvnw clean`を実行します。すると、H2 databaseに入ってい
むずむずしたJavaコード
# むずむずしたJavaコード
普段Javaをつかった開発に従事させていただいてますが、
読む機会のあったコードの中で、おこがましいですが
「ううう、こう書いてもいいのでは」とむずむずすることがありました。今回はそういったむずっとくるコードを改善するコードを記載できればと思います。
## foreach
“`java
class Member {
private String name;
private int age;
// …AllConfigConstructor,getter,setter
}List
members = List.of(
new Member(“Tom”, 21)
, new Member(“Gomez”, 19)
, new Member(“Ame”, 10));Map
teens = new HashMap<>();
members.stream().forEach(member -> {
if (member.ge
Basic operation of NIO Buffer classes
There are 4 internal indicators (capacity, limit, position, remaining) in Buffer classes, example below shows the change of these indicators.
“`java
import java.nio.Buffer;
import java.nio.ByteBuffer;public class BufferTest {
public static void main(String[] args) {
ByteBuffer buf = ByteBuffer.allocate(8);
System.out.println(“[new buf]”);
printBufferInfo(buf);buf.put((byte) 1).put((byte) 2).put((byte) 3);
System.out.println(“[put 3 elements]”);
printBufferInfo(buf);for (i
(JAVA勉強用メモ)4. 制御構造
## for文に関するtips
“`java
for (int i = 0, j = 0; ; ) { } // 型が同じなら複数の変数を宣言できる
for (int i = 0; ; i++, System.out.println(“JAVA”)) { } // 更新文で複数の処理を実行できる
“`## 拡張for文内の変数
拡張for文で要素を格納する変数は一時的なものなので、変数の参照先を変更しても集合には影響しない。“`java
String[] ary = {“A”, “B”, “C”};for (String str: ary) {
str = “X”;
}for (String str: ary) {
System.out.println(str); // -> ABC
}
“`
【雑談】あえて今、20年前のJavaを自由に語る
# はじめに
「10年前の技術」に関する記事。
こんなテーマなら、さらに20年前の話から始めて、私の思い出話を語ろうかなと思う。https://qiita.com/official-events/1e99fc384200c38548fd
この記事では、私が知っている時代の**「Java」**を自由に語る。
語ろうとしている年代(1990年代後半)、私は当時小学生であり、当然SEなんて仕事はしていなかったが、密かに**「システムエンジニアになりたい」**という夢を抱いていた。
そんな私にとってJavaは、**「プログラミング言語として学んだ2番目の言語」**であり、
長い期間きちんと独学していた言語でもあるので、思い入れがたくさんある。
当時からしてみれば、**オブジェクト指向**や**ガベージコレクション**、**AWT/SwingなどのGUIライブラリ**~~(なお今は死語)~~は非常に画期的な機能の一つであった。当時は**「Javaは文法的にもかっちょいいし、Cよりは遅いけど色々ソフトウエアが作れる言語なんだぜ~」**なんて世間の風潮だったわけ。
実際、当時は**
Java11の時代に実装されたSpring BootのアプリケーションはJava17でもworkするのか
## これはなんですか
俺はJava11をやめるぞジョ○ョー!長いから結論を先に書いておきます。
**つこてるライブラリがものによってはworkできない。**
## 諸元
### Java
* https://jdk.java.net/17/
* JDK 17 **Release-Candidate Builds** (2021-08-06)
* arch: macOS/x64### PC
* Darwin bb.local 20.6.0 Darwin Kernel Version 20.6.0: Wed Jun 23 00:26:31 PDT 2021; root:xnu-7195.141.2~5/RELEASE_X86_64 x86_64
* MacOS Big Sur version 11.5.2### Spring Bootその1(軽めのやつ)
* Spring Boot 2.5.0
* 実装されたJavaのclass及びinterface 40個くらい
* Dependencies“`
[INFO] +- org.springframework.boo
Java イメージをPDFに変換
前の記事では、PDFからほかの様々なファイル形式に変換する方法を紹介しましたが、今回はイメージをPDFに逆変換する方法を紹介したいと思います。もちろん、Spire.PDFというライブラリを必要としますよ。下記の通り、ご案内申し上げます!
下準備
1.E-iceblueの公式サイトからSpire.PDF for Javaをダウンロードしてください。
[paiza]スキルチェック見本問題 Java 数値演算結果で分岐/ 0 が含まれていないか判定 return sc.closeとは
初めに
今回もpaizaの見本問題(ランクD)に2問挑戦しました。
新たに、「return」 「sc.close」について学べましたので、
まとめていきます。(記事の後半)易:relaxed:数値演算結果で分岐 (paizaランク D 相当)
https://paiza.jp/works/mondai/conditions_branch/conditions_branch__simple_step3
“`
整数 A, B, C が与えられます。
式 A × B ≦ C が成立している場合はYESを、
そうではない場合はNOを出力してください。
“`解答コード
“`java:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b
inheritdocを調査する
# はじめに
[Visual Studio 2019 version 16.4 Release Notes](https://docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes-v16.4) によると, 継承関係にあるクラスやメソッドには, 親のコメントを引き継いでクイック情報窓に表示するようになりました. `inheritdoc`タグで明示することもできます. `inheritdoc`タグを明示した場合, 警告CS1591は出力されません.
また, 16.4より前のリリースと出力されるXMLドキュメントは変わりません. いつからかはわかりませんが, `inheritdoc`タグの補完がされるようになりました (Visual Studio 2017では候補にでない).**ここから, コメントからドキュメントを生成することに興味のない方には関係がありません.**
`inheritdoc`タグに対応, だけ見て”16.4より前だから対応していないらしい, コメントもそのままコピーしよう”, とならない
[Java基礎⑦]文字列の比較 比較演算子とequals メソッドの違い [paiza]スキルチェック見本問題 単純な条件分岐 Java編
初めに
今回、以下の問題に挑戦し、Javaでの文字列と文字列の比較について学びました。
普通に比較演算子を使用したところ不正解になってしまいました。
(以下は見本問題のため、問題、解答コードの公開は自由です。)https://paiza.jp/works/mondai/conditions_branch/conditions_branch__simple_step1
“`
文字列Sが与えられます。Sがpaizaと一致する場合はYESを、
一致しない場合はNOを出力してください。
“`誤答 :point_up:文字列の比較演算子に注意!
標準入力をlineで受け取り、==の比較演算子を使い、
“paiza”と一致するかをif文で条件分岐させました。
しかしこれだと不正解です。
(line == “paiza”)が成立してくれません。“`java:
import java.util.*;
public class Main {
public static void main(String[] args) {
javaでCUIオセロの制作
#はじめに
javaを勉強する目的で制作してみました。いくつかのサイトを参考にしましたが、裏返すロジックの部分やmainメソッド内など自分で考えた部分が多いので、バグや不都合があるかもしれないです。
#ゲームの流れ
実行するとオセロが開始します。縦列、横列の順番で1~8までの整数を入力していきます。盤上の有効なマスに置くと白と黒のターンが変わり再び入力になります。すべてのマスに駒が置かれるか、白黒どちらか一色になった時点で勝敗を表示します。![スクリーンショット (24).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/685795/f3b9506b-6880-65ac-63af-a4e91e9b080c.png)
![スクリーンショット (23).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/685795/1c1b14ba-8ef7-9540-2d49-7642e207261a.png)#コード
##実行クラ