- 0.1. Javaで何か作ってみる(2022/10/22 Day2)
- 0.2. JavaのWebアプリケーションからAzureCosmosDBへ接続し値を更新・参照する方法
- 0.3. Python,Ruby,PHP,Java,JavaScript,Perlの比較演算子の比較
- 0.4. [java] 配列の指定された文字列の出現回数を数える
- 0.5. デスクトップマスコットを作ってみる。【アニメーション遷移編】
- 0.6. Javaで何か作ってみる(2022/10/21 Day1)
- 0.7. 【Java】toString()だと『ぬるぽ』になる話
- 0.8. 【個人的メモ】List 〜 参照渡し・addAllの理解 〜
- 0.9. 「Apach POI」を使ってJavaでExcelファイルを操作してみた
- 0.10. gRPCを使ってあそんでみる クライアント編
- 0.11. 【kabuswebapp】auカブコム証券のkabuステーションREST APIをJava Servletで叩く
- 0.12. Javaで何か作ってみる
- 0.13. Java のレガシーなサービスで使ってきた Aurora MySQL v1 を v3 にバージョンアップした話
- 0.14. paizaラーニング Bランクレベルアップメニュー 文字列を切り取る Java 解答
- 0.15. paizaラーニング Bランクレベルアップメニュー 足すか掛けるか Java 解答
- 0.16. paizaラーニング Bランクレベルアップメニュー 5以上の整数の合計 Java 解答
- 0.17. paizaラーニング Bランクレベルアップメニュー 占い Java 解答
- 0.18. Java JDBCの基本構文
- 1. パッケージのインポート
- 2. JDBCドライバのロード
Javaで何か作ってみる(2022/10/22 Day2)
## 今日やった事
– Windows環境に、Java開発環境を構築した。
## 参考にしたもの
– [【超絶丁寧解説】Javaプログラミングをゼロから学ぶ!絶対挫折させない「基礎入門」講座【講師評価4.3】](https://www.udemy.com/course/uz-java-kiso/)
→ Javaの勉強に使用しているUdemyの動画教材。
まだ序盤しか見ていないが、環境構築で、「EclipseをインストールするだけでOK」で、
済ませすに、JDKを使って環境構築する方法や、JDKの歴史等を解説してくれていて、
とても親切。声も聞き取りやすい。
– [Java環境構築(Adoptium(旧:AdoptOpenJDK))](https://zenn.dev/sasakiki/articles/54f68ee1576380)
→ 上記 動画教材で、AdoptOpenJDKを紹介しているが、名前が変わっていて、
「あれ、違うぞ?」と思って、調べたら見つかったサイト。
とても分かりやすか
JavaのWebアプリケーションからAzureCosmosDBへ接続し値を更新・参照する方法
# 初めに
Azure Cosmos DBを使用してアプリケーションを作成したときに
色々調べたことをまとめて記事にしておこうと思います。本記事では、Azure Cosmos DBの接続から追加・更新・削除の方法を記載していきます。
Azure Portalについての操作(App ServiceやAzure Cosmos DBのデータベース作成やコンテナの作成方法など)は
記載しません。CosmosDBを使用したjavaアプリケーションのチュートリアル的なものは公式のドキュメントに
色々あるので、そちらを参照してください。[チュートリアル: Azure Cosmos DB および NoSQL 用 API を使った Java Web アプリケーションの作成](https://learn.microsoft.com/ja-jp/azure/cosmos-db/nosql/tutorial-java-web-app)
# 前提
Azureで構築する内容になります。
#### Webアプリケーション側(Azure App Service)
一応記載していますが、本記事の内容
Python,Ruby,PHP,Java,JavaScript,Perlの比較演算子の比較
Python,Ruby,PHP,Java,JavaScript,Perlの比較演算子の比較
# Python
https://qiita.com/G-Rape/items/cd3f2f284ba990164564
# Ruby
https://qiita.com/yusuke_blog1026/items/ab33bdfa495597d04f0b
# PHP
https://qiita.com/yukachin0414/items/cfb02cbbdd31a52902e8
# Java
https://qiita.com/takahirocook/items/748990882f2de7a630a1
# JavaScript
https://qiita.com/miriwo/items/e9ca0a2779ed2c8117c3
# Perl
https://perlzemi.c
[java] 配列の指定された文字列の出現回数を数える
# 初めに
javaに限らず、ある文字列の出現回数を求めたいときがあると思う。多くのプログラミング言語では関数を使えば簡単に実装できるが、簡単に実装する。
# 実装
List型引数を持ち、Mapを返り値に持つgetWordCountMap関数を実装した。 “`csharp
public static MapgetWordCountMap(List wordList){
Mapcount = new HashMap<>();
String[] count1 = new String[wordList.size()];
int check=0;for(String s:wordList){
check = 0;
for(String key : count.keySet()){
if(s.equals(key)){
デスクトップマスコットを作ってみる。【アニメーション遷移編】
# 初めに
前回までの内容では、アニメーションの再生を行うタイムラインを管理するクラスの作成を行いました。
今回はアニメーションの遷移を行う用のクラスを作成していきます。設計は、[前回の記事](https://qiita.com/urado/items/f951f5f05d74be4dc9b4)の**実装方針**の箇所に記載している通りに進めていきます。
ここができると、やっとマスコットらしきものが完成します。
# アニメーションコントローラ
アニメーションコントローラはマスコットから特定のイベントでアニメーションを切り替えたい場合に
指定のアニメーションへの切り替えを行うクラスです。現在のアニメーションの状態から遷移可能かを判定し、遷移可能であれば現在のアニメーションを停止して
遷移先のアニメーションへと切り替えを行います。アニメーションの現在の状態を保持するために、staticで状態を持つようにします。
操作するメソッドは同期処理にしたほうがいいかもです。“`java:JDAnimationController.java
public final class
Javaで何か作ってみる(2022/10/21 Day1)
## 今日やった事
– Qiitaで、「Javaで何かを作る」と宣言した。
## 所感
– Qiitaの記事を書けたのは良かったものの、それ以外は何も出来なかった。
## 明日の予定
– 何かしら、Javaの勉強は進めたい。
– Qiitaの記事を整理して、後々振り返りしやすくしたい。(タイトル、レイアウト、タグ付けetc)
【Java】toString()だと『ぬるぽ』になる話
# 経緯
DBから主キーをもとに特定のレコードを参照したあとに、カラム名と値をセットにMapに詰めてから値を取得しようとした時の話Mapの値はObject型なので欲しい値をString型に変換しようと
“`java:
//map:レコードの情報が入ったMap→ <カラム名、値>
String value = map.get(“カラム名”).tostring();
“`
こんな感じで書きました。
カラム名に該当する値を取ってきてObject型からString型に変換する時にtoString()を使って変数に詰めていました。すると現場の上長からレビュー時にこんなご指摘が。。。
上長「toString()だと『ぬるぽ』しちゃうかもしれないので別のやり方で変換してください。」
私「承知です!」
(ほほう、、、なるほど、、、。
確かにカラムの値がnullの可能性もあるか、、。というかぬるぽとか気にしてなかった、、、。ってかぬるぽになるんや?)正直、String型に変換する時にそこまで考えていなかった私は事前に『ぬるぽ』を回避す
【個人的メモ】List 〜 参照渡し・addAllの理解 〜
# 目次
[1.参照型とは](#1-参照型とは)
[2.参照渡しの理解](#2-参照渡しの理解)
[3.addAllの理解](#3-addallの理解)# 1. 参照型とは
参照型の変数には「アドレス」が格納されている。
その「アドレス」のメモリ上(一時的にデータを保管しておく場所)に、値が格納されている。
このように「アドレス」を参照し、値にアクセスする型の総称を「参照型」という。
オブジェクト(変数)の生成はnew演算子を使っておこなう。
nullは参照先がない状態のこと。
# 2. 参照渡しの理解“`java
package jp.co.study.sample;import java.util.ArrayList;
import java.util.List;public class Qiita {
public static void main (String args[]) {// ①さかなリスト作成
ListfishList = new ArrayList ();
「Apach POI」を使ってJavaでExcelファイルを操作してみた
##
JavaからExcelファイルを操作できるようにするライブラリ「Apach POI」を使ってみました。
プログラミングを初めるときにどの言語でも最初に行う「Hello World」みたいに、
動きましたー!すごいー!、、、のような内容です。ちなみに、Excelが無い環境でも動きます。ちょっと感動しました。
(Excelが入っていないプライベートPCでもxlsxファイルを出力できました)## 開発環境
– Eclipse:202209
– Java:SE11
– Apach POI:5.2.3## 環境構築
まずは、主役となる「Apach POI」を以下からダウンロード
https://poi.apache.org/
ダウンロード→「Binary Distribution」→「poi-bin-5.2.3-20220909.zip」→「HTTP」Eclipse上の操作
– 新規「Javaプロジェクト」
– Java11
– 「ライブラリ」→「クラスパス」→「外部JARの追加」
– 解凍したフォルダの中のjarファイルをすべて追加する今回はシンプルに何も考えず環境構
gRPCを使ってあそんでみる クライアント編
# gRPCを使ってあそんでみるの目的
ログデータを永続化するgRPCサービスを立ち上げログを記録する。## 今回のお題
ログを記録するgRPCサービスに対してメッセージを送信しログに記録されるか確認します。## ■事前環境
・Windows10 バージョン21H2
・IntelliJ IDEA 2022.1.4(Community Edition)
・OpenJDK Runtime Environment Zulu17.36+17-CA (build 17.0.4.1+1-LTS)
・Gradle## 1.クライアントクラスを作成
https://qiita.com/shigemax999/items/fa9c3354ee79691b36d5サービス起動編の続きとなります。
サービスに対してメッセージを送信するクライアントクラスを作成します。
サービスに対してステータスをINFO、メッセージにhello world.のリクエストを送信するクラスです。
レスポンスステータスを標準出力に表示させています。
~~~ ClientMain.java
package loggi
【kabuswebapp】auカブコム証券のkabuステーションREST APIをJava Servletで叩く
# はじめに
過去記事は「[auカブコム証券のkabuステーションREST APIに関する記事一覧](https://qiita.com/hiuchida/items/611ba237dc1d1f6e3dca)」。
2番目の記事「[auカブコム証券のkabuステーションREST APIをjava(generated by the swagger code generator)で叩く](https://qiita.com/hiuchida/items/73b7fc846d4c9501ef2f)」では、Swaggerを使ってRESTクライアントをソース生成して、javaのコンソールアプリを作成した。
毎回プロセス起動するため、認証トークンをファイルに保存して、ファイルロックで排他制御したりしたが、Webアプリならば、常駐しているので、javaならばsynchronizedでスレッド同期できることから、以前と同じように、単体のREST APIを呼び出すServletページを作ってみる。
# swagger editorとその他APIヘルパー
なかなかの手間なので、コンソールアプリ(
Javaで何か作ってみる
## はじめに
仕事の合間の持て余した時間を使って、
何か作ろうと思い、Qiitaに記録を残そうと思う。## コンセプト
技術日記って事で、進捗の有無に関わらず、
毎日投稿していきたいと思う。
自分が好きで始める事なので、
毎日投稿はMustではなく、Wantで、
のびのびやれたらと思う。## 対象者
自分。日記なので、人に見られる事を想定して
書くつもりはない。だから拙い文章になると思う。
もちろん、
参考になる事があれば参照してもらってもいいし、
アドバイスもしてもらえるのは嬉しい。## 簡単な経歴
エンジニアのスタートはC#で、3年ほどやって、
その後は、PHPやJavaScriptをやっている。
詳しい経歴は、Twitterとか見てもらえるといいかな。## Javaを選んだ理由
単純に、これまで業務でやった事がなく、
やってみたいと思ったのがきっかけ。
C#を長くやっていて、似ている部分は多いし、
何か作ってみて、
今後のキャリアに活かせたらいいかなと思っている。## 今後の予定
2022年12月までは、Javaの基礎と、
Springのお作法等を学んで、
Java のレガシーなサービスで使ってきた Aurora MySQL v1 を v3 にバージョンアップした話
2022 年 2 月に Amazon Aurora MySQL 互換版のバージョン 1(以降「Aurora MySQL v1」と表記)の EoL 発表を受けて、Java のレガシーな Web サービスで使ってきた Aurora MySQL v1 を v3 にバージョンアップした記録です。
※後日 Zenn で本にまとめる予定なので、この記事は要約版となります。
## 対象サービスの概要
– Java の 15 年 over モノのレガシーなシステム
– その上に Web アプリケーションが複数
– 5 年前 AWS に Lift & Shift したのを機に DB を MySQL 5.5 から Aurora MySQL v1 に移行
– DB の接続には MySQL Connector/J 5.1 または 8.0(一部)を使用## なぜ Aurora MySQL v2 ではなく v3 に移行したのか?
いくつか理由はありますが、主に以下の 2 点が大きいです。
– 本家 MySQL 5.7 の EoL が迫る中、**一旦 v2 を挟むと最悪の場合 2 年で 2 回バー
paizaラーニング Bランクレベルアップメニュー 文字列を切り取る Java 解答
# STEP: 12 文字列の分割
## 問題
https://paiza.jp/works/mondai/prob60/substring_0## 解答
“`java:step12.java
import java.util.*;public class Main {
public static void main(String[] args) {Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
System.out.println(sc.next());
}
}
}
“`## 結果
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2918186/6cf3f656-318a-7d4b-2d17-421dad0399f2.png)# STEP: 13 整数の足し算
## 問題
https://paiza.jp/w
paizaラーニング Bランクレベルアップメニュー 足すか掛けるか Java 解答
# STEP: 7 インクリメント
## 問題
https://paiza.jp/works/mondai/prob60/total_value_0
## 解答
“`java:step7.java
import java.util.*;public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int total = addStandardInputAndM(n, 1);
System.out.println(total);
}/**
* 標準入力とmの足し算をする
*
* @param n 標準入力
* @param m 足したい数字
*
* @return 計算結果
*/
public static int add
paizaラーニング Bランクレベルアップメニュー 5以上の整数の合計 Java 解答
# STEP: 1 インクリメント
## 問題
https://paiza.jp/works/mondai/prob60/5_or_more_0## 解答
“`java:step1.java
import java.util.*;public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println(addUp(n, 1));
}/** nにmを足した数値の計算関数
*
* @param int n 標準入力の値
* @param int m 標準入力に足したい値
* @return 足し算の結果
*/
public static int addUp(int n, int m){
return n
paizaラーニング Bランクレベルアップメニュー 占い Java 解答
# STEP: 57 連想配列(辞書)を使う
## 問題
https://paiza.jp/works/mondai/prob60/fortune_telling_0## 解答
“`java:step57javapublic class Main {
public static void main(String[] args) {
HashMapmap = new HashMap ();
map.put(“Kyoko”, “B”);
map.put(“Rio”, “O”);
map.put(“Tsubame”, “AB”);
map.put(“KurodaSensei”, “A”);
map.put(“NekoSensei”, “A”);System.out.println(“Kyoko” + ” ” + map.get(“Kyoko”));
Syst
Java JDBCの基本構文
研修の中でJDBCに関して学びましたが、わかりにくくかつ覚えることが多いように感じたのでまとめてみました。
パッケージのインポート
“` Java
import java.sql.Connection; //DB接続のためのインタフェース
import java.sql.DriverManager; //ドライバのロード
import java.sql.PreparedStatement;//プリペアードステートメント(SQL文をコンパイルするやつ)
import java.sql.ResultSet;//SELECT文を実行した際取得するデータの型
import java.sql.SQLException;//例外
“`JDBCドライバのロード
“`Java
Class.forName(“ドライバの名前”);
“`
| DBMS | ドライバクラスのFQCN |
| ————– | ————————–
Python,Ruby,PHP,Java,JavaScript,PerlのMySQLの比較
Python,Ruby,PHP,Java,JavaScript,PerlのMySQLの比較
# Python
https://qiita.com/ab-boy_ringo/items/f05bb6329f51e1632965
# Ruby
https://qiita.com/hukuro310/items/ec91beaecd11157e0640
# PHP
https://qiita.com/ab-boy_ringo/items/8274c66b6692966fdc55
# Java
https://qiita.com/namari/items/50d9aac0faf6b7e7b314
# JavaScript
https://qiita.com/PianoScoreJP/items/7ed172cd0e7846641e13
# Perl
https://perlzemi.co
Spring_web開発でよく使うメソッド
addAttribute(thymeleafで参照するkey, thymeleafに渡したいオブジェクト)
:thymeleafにオブジェクトを渡すことができる。