- 1. Java Hack
- 2. 日付の期間判定・過去未来判定について
- 3. [Java] 天パの人による適当な入門 Java編 その0 (コードの決まり事)
- 4. マッスルJava基礎日記(1日目)
- 5. [Mac]Visual Studio Code(VS Code)にJavaをインストールする
- 6. For文の中にFor文を入れる二重ループについて
- 7. Java を使ってEclipseのコンソールにカレンダーを表示させてみた。
- 8. [Java] 天パの人による適当な入門 Java編 その1 (print,println)
- 9. Javaのクラスメソッド
- 10. GraalVMを使ってみる
- 11. [Mac]Visual Studio CodeにJavaをインストールする
- 12. JavaによるExcelコメントの追加、読み取り、削除
- 13. MacにJava開発環境をインストールする
- 14. JavaでTODOアプリを制作しよう2 Spring Initializrで雛形を作ってHello worldしたい
- 15. PlayframeworkでHikariCPのコネクション数をDataDogでモニタリング
- 16. Java(Jsoup)を使って株価チャートをスクレイピングをしてみた
- 17. [Java] Date 関連用語メモ
- 18. Db2を利用したJavaアプリケーションでERRORCODE=-4471が発生する。
- 19. 多段階選抜 (Java/Groovy/Scala)
- 20. 覗き見可能なイテレータを作ってみる
Java Hack
#Java Hackとは
Javaのいわゆる案件に入るための準備
#Javaはお金になるし、面白い案件に入れると(信じる)
← 作ってからkotlinにすることもできると思われる。
#コンテンツ
・Javaそのもの
・Spring
・SQL
・DB周り
・ネットワーク
・シラバス作成
#Javaそのもの
教材を使う。
#Spring
APIから作り上げていく。
#SQL
Progate道場コースまで完了
https://prog-8.com/languages/sql
・ポートフォリオの事前準備中に強化と情報収集を行う。
#DB周り その他
#シラバス
日付の期間判定・過去未来判定について
# 結論
ミリ秒にして大小判定するのマジおすすめ
※Javaを例にしていますが、どの言語でも同じ話です※良い子のみんなは、java.util.Dateなんて使わずに[Joda-Time](https://www.joda.org/joda-time/)つかうか、Java 1.8以降ならTime APIを使おうネ)
**※ただの参考コードです。Dateクラスの非推奨コンストラクタ使うのやめようね**
“`java
Date nowDate= new Date();
// 2020/4/1 00:00:00 ~2020/4/30 23:59:59 の場合に「キャンペーン期間中だよ」と出力
if (nowDate.getTime() >= new Date(2020, 3, 1, 0, 0, 0).getTime()
&& nowDate.getTime() < new Date(2020, 4, 1, 0, 0, 0).getTime()) { System.out.println("キャンペーン期間中だよ"); } ``` # 言い訳 皆さんは、J
[Java] 天パの人による適当な入門 Java編 その0 (コードの決まり事)
##コードの決まり
その0は、番外編というか、なんとなくわかっていくだろうけどめっちゃ大切なことを書いています。
本編はその1からです。シリーズの説明なども書いています。
https://qiita.com/Shodai-Kurasaki/items/99cf6b0ec1a8e80640b1
### { } について“`java:Sample1.java
class Sample1
{
public static void main(String[] args)
{
System.out.println(“Hello World!”);
}
}
“`
このようにコード内には{ }が存在しています。たくさんコードをうつしていくと大体どこにあるかがわかってきますが、覚えてほしいのは、
**{と} の数が必ず同じになるようにする**
ということです(例外:文字としての { は数えません)。すぐにこのセットをたくさん使うプログラムを書くことになるとおもいますが、その時1つでも足りなければもう動きません。
**それの防止のために{ }のセットごとに階段状にしています。
マッスルJava基礎日記(1日目)
駆け出し脳筋のプログラム日記
学んだことをまとめる#Javaの特徴
– C/C++を踏襲した文法体型
– オブジェクト思考言語
– 静的型言語
– 変数、引数、戻り値には必ず型を宣言しなければならない!!#Java Virtual Machine(JVM/JavaVM)
– Javaのバイナリ形式をそのまま解釈して実行出来る仮想的なマシン
– 各OSでは専用のJavaVMを使うことで共通の実行結果を得る# クラスとは?!
– 状態・状況や振る舞い・動作をまとめて定義できるプログラムの定義
| 車クラス | 状態・状況 | 振る舞い・動作 |
|:———–|———————–|————|
| [Mac]Visual Studio Code(VS Code)にJavaをインストールする#はじめに
今回行った環境は以下の通り“`
OS:MacOS Catalina(バージョン 10.15.4)
Java:14
“`#Javaのインストール
拡張機能にて「Java Extension Pack」をインストールします。
VS Codeで以下のコマンドを実行し、拡張機能インストール画面を表示します。
「Command + Shift + x」検索画面にて「java」を入力し、「Java Extension Pack」を選択してインストール
インストールした結果、↓の画面が表示された場合は「手動でダウンロード」を選択
最近JavaSilverを学習しているYuheiです。
問題を解いてたら、二重ループについて理解できない部分がありましたので、調べてみました。
結果は下記の通りです。
# 二重ループとは
別名多重ループとも言い、For文の中に更にFor文を入れて、2つのループにしている状態をいいます。
下記は、九九を表示するためのコードです。
“`
public class KuKu {
public static void main(String args[]) {
for (int i = 1; i <= 9; i++) { for (int j = 1; j <= 9; j++) { System.out.print(i*j + " "); } System.out.println(); } } } ``` ↑ これを実行すると、結果は下記のようになります。 ``` 1 2 3 4 5 6 7 8 9 2 4Java を使ってEclipseのコンソールにカレンダーを表示させてみた。
あくまでメモ用として。
・cal.set(int year,int month-1,1)するときに月が「0から11」⇒「1月から12月」にセットされることを忘れがちだった。
・cal.getActualMaximum(Calendar.DATE)でxxxx年xx月は何日あるのかを知ることができる。
・曜日と日付は配列を使って格納した。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562148/f116ec42-3b4b-622c-b318-b48dfc7a8bd7.png)
・カレンダーを作って出力するクラス
package foo;
import java.util.Calendar;
public class Calmaker {public void Makecal(int year,int month){
Calendar cal = Calendar.getInstance();
//int weekday = cal.get(Calendar.DAY_
[Java] 天パの人による適当な入門 Java編 その1 (print,println)
##天パの人による適当な入門 について
学校でプログラミングの授業があるけど「わからない・苦手だ」という人や、とりあえずコードが書けるようになりたい人向けです。細かいことはあとでちゃんとやればいいんです。
なので用語もちゃんとした言葉づかいじゃないところもあります。フィーリングに頼る部分もあります。
このシリーズでプログラミングがある程度できるようになったら、**本や大学などで先生が配布した授業資料などにしっかり目を通してください。**このシリーズの知識だけだとそのうち限界がくると思います。みなくてもなんとなくわかっていくとは思いますが、結構基本的かつ大切なことを書いておきました。一応目を通していただきたいです。
https://qiita.com/Shodai-Kurasaki/items/b0137cf03ddd75485a6d
##本編
###文字とかを表示する。
####1-1
何も言わず次のサンプルコードを実行してください。ファイル名はSample1、拡張子は.java (今後ずっと)で。“`java:Sample1.java
class Sample1
{
p
Javaのクラスメソッド
###クラスメソッド
クラスに属するメソッドのことです。
クラスメソッドの定義は、「public static 戻り値の型 メソッド名()」です。
クラスメソッドはインスタンスを生成しない状態でも呼び出せます。
【例】Personクラスとします“`Person.java
class Person {
public static 戻り値の型 メソッド名() {
// メソッドの処理
}
}
“`
【例】“`Main.java
class Main {
public static void main(String[] args) {〜省略〜
Person.printCount();
}
}
“`“`Person.java
class Person {
public static int count = 0;〜省略〜
public static void printCount() {
System.out.println(“合計は” + count + “です”);
}
}
“`
GraalVMを使ってみる
## 前書き
GraalVMのパフォーマンス、しいては、GraalをJITコンパイラとして利用した際のパフォーマンスにフォーカスした記事なので、GraalVMの特徴の一つであるnative imageや、multiple languagesなどに関しては、この記事では触れていない。## 環境
– macOS Mojava 10.14.4
– Scala 2.13.1
– sbt 1.3.8
– GraalVM 20.1## GraalVMとは
Javaで書かれた最新のJITコンパイラ、Graalを搭載したVMである。
[GraalVM公式ドキュメント](https://www.graalvm.org/)によると、Graalには以下の特徴がある。> Graal自体がjavaで実装されているので、標準のJITコンパイラではできなかった部分的なエスケープ分析などの強力な最適化により、Javaプログラムを大幅に高速化できる
実際にどのくらい速くなるのかは後述している。
ちなみに、VM変更するのは面倒であれば、以下のオプションをつけることで、JITコンパイラだけGraalに
[Mac]Visual Studio CodeにJavaをインストールする
以下のページを開き、ダウンロードする。
https://code.visualstudio.com/
ダウンロード以降の手順は↓を参考にすると分かりやすいです。
https://qiita.com/watamura/items/51c70fbb848e5f956fd6
JavaによるExcelコメントの追加、読み取り、削除
注釈は、指定されたExcelセルにプロンプトまたは追加情報を追加するために一般的に使用されるリッチテキスト注釈です。Free Spire.XLS for Javaは、JavaアプリケーションでExcelファイルにコメントを無料で追加および操作する機能を開発者に提供します。この記事では、Free Spire.XLS for Javaを使用してExcelドキュメントのコメントを追加、読み取り、削除する方法を紹介します。
**基本的な手順:**
**1.** [Free Spire.XLS for Java](https://www.e-iceblue.com/Download/xls-for-java-free.html)パッケージをダウンロードして解凍します。
**2.** libフォルダーのSpire.Xls.jarパッケージを依存関係としてJavaアプリケーションにインポートするか、MavenリポジトリーからJARパッケージをインストールします(pom.xmlファイルを構成するコードについては、以下を参照してください)。
**3.** Javaアプリケーションで、新しいJava
MacにJava開発環境をインストールする
# 最終更新日
2020年6月1日検証を行ったmacOSのバージョンは下記です。
– macOS Catalina 10.15.5
インストールするもののバージョンは下記です。
– AdoptOpenJDK 11.0.7 (HotSpot)
– IntelliJ IDEA Community Edition 2020.1.1
– Maven 3.6.3> この記事が古くなった場合、下記の手順は最新のインストール手順とは異なっている可能性があります。
# JDK
## JDKとは
Java Development Kitの略です。Java開発に必要なコンパイラ・JVM(Java Virtual Machine : Java仮想マシン)などが一体になっています。JDKは色々な団体・ベンダーが提供しています。今回はAdoptOpenJDKを利用します。
> 複数バージョンのJDKをインストールしたい場合は、[SDKMAN!](https://sdkman.io/install)を使ったほうがよいでしょう。
## JDKのインストール
(1) https://adopt
JavaでTODOアプリを制作しよう2 Spring Initializrで雛形を作ってHello worldしたい
こんにちは。
[JavaでTODOアプリを制作しよう1 MVCの簡単な説明](https://qiita.com/nomad_kartman/items/bce2f4831b7b769f84f2)の続きの記事です。今回はとりあえずControllerを作ってそこからViewを表示させるところまでやってみたいと思います。
## TODOアプリ作成リンク集
[1: MVCの簡単な説明](https://qiita.com/nomad_kartman/items/bce2f4831b7b769f84f2)
2: Spring Initializrで雛形を作ってHello worldしたい(今ここ)## Springの雛形を作成
まずは[Spring Initializr](https://start.spring.io/)でSpringの雛形を作っていきましょう。
PlayframeworkでHikariCPのコネクション数をDataDogでモニタリング
## アプリケーション側の設定
### hikariCPのMbeansの設定を有効にする
“`application.conf
play.db.prototype.hikaricp.registerMbeans = true
“`### ConnectionPoolにPoolNameを設定する
デフォルトだと HikariCP-1, HikariCP-2 みたいになってしまうので、わかりやすい名前をつける
“`application.conf
db.default.hikaricp.poolName = default
db.default-ro.hikaricp.poolName = default-ro
db.accesslog.hikaricp.poolName = accesslog
“`## DataDog-agentの設定
参考: https://docs.datadoghq.com/ja/integrations/java
### conf.d/jmx.d/conf.yaml を編集する
PoolごとにMBe
Java(Jsoup)を使って株価チャートをスクレイピングをしてみた
#やったこと
Jsoupを使って、Yahoo! Financeの株価チャートをスクレイピングしてみました。
ちなみに、スクレイピングした株価チャートはアリババ(BABA)です。
アリババを選んだ理由は単純に伸びて欲しいからです。。。#こんな感じ
#コード
“`java
@Controller
public class YahooFinanceController {
private static final String YAHOO_FINANCE_URL = “https://stocks.finance.yahoo.co.jp/us/detail/BABA”;@RequestMapping(“/”)
public Str
[Java] Date 関連用語メモ
久々に サーバー側プロジェクトを担当することになりました。
しかも環境がdb & windows & Java など (T、T)
ですので、用語など勉強絡みでメモします。#用語
##1。 ISO-8601暦体系
日付と時刻の表記に関するISOの国際規格基本形式: YYYYMMDDThhmmss+0900
例)20200531T115959+0900##2。 GMT(グリニッジ平均時:Greenwich mean solar time)
英国のグリニッジ(経度0度)の地方平均太陽時
(平均太陽が南中する時を正午とする)
| Db2を利用したJavaアプリケーションでERRORCODE=-4471が発生する。# 環境
本記事を書くにあたって利用した主なソフトウェアのバージョンは次の通りです。
– javac 11.0.4
– openjdk version “11.0.4” 2019-07-16
– IBM DB2 Developer-C Edition 11.5 (Docker/wsl2)
– IBM Data Server Driver for JDBC and SQLJ 4.26.14# 事象
以下のコードは`EMP`というテーブルからすべての`EMPNO`を取得し、標準出力に出力するというものです。
“`java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;public class Main {
public static void main(String[] args) {
String
多段階選抜 (Java/Groovy/Scala)
|多段階選抜|解答日|シリーズ:yieldの練習/ジェネレータを入れ子に/整数平方根・立方根の実装|
|:–|:–|:–|
|問題| |http://nabetani.sakura.ne.jp/hena/ord24eliseq/
https://qiita.com/Nabetani/items/1c83005a854d2c6cbb69|
|Ruby|2014/8/2(当日)|https://qiita.com/cielavenir/items/9f15e29b73ecf98968a5|
|C#/Python|2014/8/4|https://qiita.com/cielavenir/items/a1156e6a4f71ddbe5dcb|
| | |ここから上はdrop_prev_square/drop_prev_cubicをまとめる前の答案|
|Go/C#/Ruby/Python|2014/8/5|https://qiita.com/cielavenir/items/2a685d3080862f2c2c47|
|PHP/JavaScript|2014/9/9|https:
覗き見可能なイテレータを作ってみる
## 前書き
イテレータのラッパークラスを作る際、hasNextの実装に困ることが多い。
ただラップするだけなら内部のイテレータに委譲すれば良いが、都合上そのような戦略を取れない場合だ。次の要素を覗き見れれば便利なのに… というわけで、作ってみる。
## 本題
次のような動作をするクラス、PeekableIteratorを作ってみた。“`Java
var src = java.util.List.of(3, 1, 4);var peekIt = new PeekableIterator<>(src);
while(peekIt.hasNext()) {
System.out.printf(“次の要素は %d です。\n”, peekIt.peek());
System.out.printf(“もう一度言います。 %d です。\n”, peekIt.peek());
System.out.printf(“ほら、本当に %d だったでしょ?\n”, peekIt.next());
System.out.println();
}
Syste