- 0.0.1. Spring Boot の環境構築
- 0.0.2. 初めてSpringを使ったので神経衰弱のゲームを作りました
- 0.0.3. 【Java】標準入力を取得するコードまとめ
- 0.0.4. Spring boot + Ajax 簡易掲示板作成 (編集機能)
- 0.0.5. NablarchのRESTfulウェブサービスのExampleをPostgreSQLを使うように変更してみる
- 0.0.6. 【備忘録】Eclipseで動的WebをAntビルドしてWARを作る
- 0.0.7. Python,Ruby,PHP,Java,JavaScript,Perlの日付・時刻の比較
- 0.0.8. Maven で jarファイル に dependency が反映されない場合
- 0.0.9. ルジャンドルの公式をJavaで実装する
- 0.0.10. JSONIC で POJO の JSON 変換を試してみたら private class まで出力してくれた件
- 0.0.11. Kubernetes上で実行されているDatadog AgentでJava JMX カスタムメトリクスを取得する方法
- 0.0.12. Cookieの取得・設定・削除
- 0.0.13. Python,Ruby,PHP,Java,JavaScript,Perlの文字コードの比較
- 0.0.14. 【備忘録】Eclipseで動的Webを新規作成してGitHub管理まで
- 0.0.15. Joda-Timeで固定の現在時刻を返す
- 0.0.16. 【AWS】Javaのアプリをデプロイ part2
- 1. 【JDK インストール】
- 2. 【apache インストール】
- 3. Postgres インストール
- 4. 【VPCの起動とサブネットを構成】
Spring Boot の環境構築
# はじめに
最近業務でJAVA のフレームワークのSpring Boot に触れる機会がありました。
そこでSpring Boot について勉強し、環境構築が簡単にできたので、そのメモを残したいと思います:bow:
Spring Boot を触ってみたいという方にご参考になれば幸いです。# 環境
“`
macOS Monterey 10.15.7
java 11.0.11
maven 3.8.6
“`# 環境構築手順
1. https://start.spring.io/ を開き、spring bootの初期設定を行う
こちらでアプリを開発していく上で必要なライブラリを設定していきます
例: 私が勉強した時に使用した設定を以下画像に載せておきます。参考程度にご確認くださいー:raised_hands:
(以下画像の設定は[こちら](https://start.spring.io/#!type=maven-project&language=java&platformVersion=3.0.0-SNAPSHOT&packaging=jar&jvmVersion=11&
初めてSpringを使ったので神経衰弱のゲームを作りました
初めましてりちゃ丸です
転職活動をしたくてキータ始めました転職活動で面接をする際に作品を見せると転職しやすくなると考えて
Springで神経衰弱が出来るゲームを作りました
これまでには学校内で見せる用にジャカルタEEやAndroidStudioなどでWEBアプリを作ったりスマホアプリを作ったり
してましたがフレームワークは初めてなので先ずはゲームにしましたルールは52枚の普通のトランプを並べて数字が合っていれば消していき
26回全部消えたら終わりというルールにしました目標はSpringBootの使い方を覚える事とどこまで覚えているのかのテストでした
![home.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2879865/4164582d-48ff-b6e9-f0c2-8872081325c2.jpeg)
Spring公式テンプレートのSpring WebとThymeleafを使用しました
先ずはコントローラ部分のclass
testController.java
ここで画面推移の際
【Java】標準入力を取得するコードまとめ
## 環境
[paiza.IO](https://paiza.io/ja)## はじめに
この記事では、Javaの標準入力を取得するコードを入力の種類別に紹介する。:::note
`nextInt()` は状況に応じて `nextLong()` , `nextDouble()` 等に変更する。→ [メソッド一覧](https://docs.oracle.com/javase/jp/11/docs/api/java.base/java/util/Scanner.html#Scanner.3TFECy)
:::## 文字列(1行)
“`:入力例
abc
“`### Scanner.next()
“`java
import java.util.Scanner;public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.next();
}
}
“`
Spring boot + Ajax 簡易掲示板作成 (編集機能)
# 最初に
今回の記事は前回投稿した[Spring boot + Ajax 簡易掲示板作成 (投稿機能)](https://qiita.com/Sesoniso/items/a3c2b2c32bff09bfbbd5)に編集機能を追加するための記事となります。
環境構築などは前回の記事に記載していますので先にそちらをご覧ください。・本記事の完成ページ
![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2645309/538cc764-3fb6-b5a2-78c5-0c9efe85b356.png)
# 1. サンプルコード
## 1.1 HTMLファイル
“`html:/src/main/resources/templates/top.html
TOP画面 NablarchのRESTfulウェブサービスのExampleをPostgreSQLを使うように変更してみる# What’s?
Nablarchのサンプルといえば、GitHub上に各種Exampleが公開されています。
[https://github.com/orgs/nablarch/repositories?language=&q=example&sort=&type=all](https://github.com/orgs/nablarch/repositories?language=&q=example&sort=&type=all)
これらのExampleはデータベースがH2なのですが、他のRDBMSを扱う際に手っ取り早くアプリケーションを扱うにはこのExampleが最も近いので、こちらを他のRDBMSを使うように変更するようにしてみました。
対象は、RESTfulウェブサービスのExampleとします。
https://github.com/nablarch/nablarch-example-rest
ちなみにですが、Exampleには以下の注意点があります。
> ExampleはNablarchの機能の利用方法を示した実装例であり、Exampleを改修して本格的な
【備忘録】Eclipseで動的WebをAntビルドしてWARを作る
# 概要
前回の備忘録(下記)に続いて、Antビルドをしてwarファイルを作ってみます。https://qiita.com/TAKANEKOMACHI/items/ed84bfb1fa54765e47b2
# 手順1:Antビルドファイルを作成する
まずは、この状態であること(前回の続き)から確認してください。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/222251/0a1998ae-17e4-5644-0223-720053daf24d.png)
プロジェクトを選択して右クリックし、「エクスポート」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/222251/6cd654d8-46f9-db56-2f93-0c5d5d76d201.png)
「一般」-「Antビルドファイル」を選択して「次へ」
![image.png](https://qiita-image-
Python,Ruby,PHP,Java,JavaScript,Perlの日付・時刻の比較
Python,Ruby,PHP,Java,JavaScript,Perlの日付・時刻の比較
# Python
https://qiita.com/papi_tokei/items/43b1d15a6694f576486c
# Ruby
https://qiita.com/prgseek/items/c0fc2ffc8e1736348486
# PHP
https://qiita.com/aminevsky/items/a222845ddbdd2536da56
# Java
https://qiita.com/suema0331/items/35da67426ffea0fb4435
# JavaScript
https://qiita.com/mzmz__02/items/e316d3962e7d3ecfebf8
# Perl
https://perlzemi.com/blog/
Maven で jarファイル に dependency が反映されない場合
備忘録
## jar ファイルに \
の内容が追加されない。 以下のように maven-jar-plugin を使用した pom.xml に記入した
“`xml:pom.xml
org.apache.maven.plugins
maven-compiler-plugin
${java.version}
org.apache.maven.plugins
maven-jar-
ルジャンドルの公式をJavaで実装する
よく見ているヨビノリさんの動画で、ハーバード&MIT数学トーナメントのこんな問題が紹介されていました。「n!の末尾に290個の0が並ぶ最小の自然数nを求めよ」。
解法は動画の素晴らしい解説を見ていただくとして、今回はJavaで問題を解いてみます。類似の問題が毎年出題されているようですので、ある数(int)を与えると、その階乗(BigInteger)とその全ての素因数と冪指数の配列(int[][])を保持できるクラスを作成し、より汎用的に使えるようにしてみましょう。数学クイズ以外の用途が思い浮かばないけど。
“`java:LugendresFactorizer.java
package FactorialSolver;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.lang.Math;
import java.math.BigInteger;pub
JSONIC で POJO の JSON 変換を試してみたら private class まで出力してくれた件
# JSONIC とは
[JSONIC](https://github.com/hidekatsu-izuno/jsonic) (Simple JSON encoder/decoder written in java) はシンプルなで使いやすい Java 用 json ライブラリです。ライセンスは Apache 2.0。
既に古くなっており、公式でも [jackson](https://github.com/FasterXML/jackson) への移行を推奨しています。が、いまだに多くのシステムで使われているとおもいます。
# Java Object を JSON 化してみる
とりあえず、以下のような簡単な古典的な Java Object (POJO: Plain Old Java Object) を用意してみます。
“`java:User.java
public class User {
public int age;
private String name;
public String getName() {
return this.name;
}
pu
Kubernetes上で実行されているDatadog AgentでJava JMX カスタムメトリクスを取得する方法
## はじめに
今回は、Kubernetes上で実行されているDatadog AgentでJMXカスタムメトリクスを取得する方法を記述していきたいと思います。## 本記事を読むにあたっての前提条件
* 本記事で指すアプリケーションはTomcat+SpringBootで作られたアプリケーションのことです。* 本記事はKubernetes上で実行されているDatadog AgentでJava JMXカスタムメトリクスを取得するための設定方法に取り上げています。Java JMXカスタムメトリクスをアプリケーションのコード上でどう設定するか等については触れません。
* なお、Datadog-AgentはDaemonSetで動かします。## 実行環境
* Kubernetes環境
– EKS
* application
– Java
* Tomcat + SpringBoot
## 設定方法### Datadog Agent側
#### Configmap.yamlの設定“`yaml:configmap.yaml
apiVersion: v1
kind
Cookieの取得・設定・削除
## 前提
`name=test` というCookieを操作する
## Java
Cookieの取得
“`java
public Response get(@CookieValue(value=”test”, required=false) String cookieValue){
String value = cookieValue; //SpringBootならこれでOK。簡単。
}
“`Cookieの設定
“`java
public void set(HttpServletRequest request, HttpServletResponse response){
Cookie cookie = new Cookie(“test”, “value”);
cookie.setSecure(true);
cookie.setHttpOnly(true);
cookie.setPath(“/cookie”);
response.addCookie(cookie); //生成したCookieをレスポンスに追加する。
}
Python,Ruby,PHP,Java,JavaScript,Perlの文字コードの比較
Python,Ruby,PHP,Java,JavaScript,Perlの文字コードの比較
# Python
https://qiita.com/ny7760/items/d9c247781a790210936d
# Ruby
https://qiita.com/ima1zumi/items/28ef13f5af3d9afdeaf3
# PHP
https://qiita.com/suin/items/3edfb9cb15e26bffba11
# Java
https://qiita.com/motoki1990/items/cee6a4a75c0320b79ec4
# JavaScript
https://qiita.com/weal/items/3b3ddfb8157047119554
# Perl
https://perlzemi.com/blog/201610061475
【備忘録】Eclipseで動的Webを新規作成してGitHub管理まで
# 概要
Eclipseで動的Webのプロジェクトを触っていると、「すでに出来ているプロジェクトへの改変」作業を繰り返すので、実は「新規」で作ろうとすると手順が思い出せずアタフタします。なので、ここでは備忘録としてEclipse(Pleiades)で新規に動的Webを作成し、HelloWorldを表示するServlertを作成した上でGitHubに登録するまでの手順を備忘録で残しておきます。
★初稿では「Mavenに変換」してMavenプロジェクトにしてましたが、記載内容的には意味がなかったので、Maven化するのを削除しました。(9/26)
# 前提条件
* Eclipse環境(Pleiades)【今回は2022-09版で進めます】
→Java Full Editionを使用しています。
→正確には2022-06を更新して09にしてます。(が、途中で2022-09にすげ変わってます。途中で気づいた)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/222251/718cc3d
Joda-Timeで固定の現在時刻を返す
例えば、ユニットテストで現在時刻返すメソッドを固定日付で返したい、などのケースがある。
“`gradle
implementation ‘joda-time:joda-time:2.11.1’
“`“`java
import org.joda.time.DateTime;
import org.joda.time.DateTimeUtils;public class JodaTImeSsample {
public static void main(String[] args) {DateTimeUtils.setCurrentMillisFixed(DateTime.parse(“2010-06-30T01:20”).getMillis());
DateTime now = DateTime.now();
System.out.println(now); // 2010-06-30T01:20:00.000+09:00DateTimeUtils.setCurrentMillisSystem(); // 現在時刻を返すように
【AWS】Javaのアプリをデプロイ part2
jarファイルを使用している為かtomcatをインストールしなくてもデプロイして起動する事が
出来ました。【JDK インストール】
//ルートユーザーに変更
「sudo su」
//Java11をインストール
「sudo yum install java-11-amazon-corretto-headless」
//インストール後に確認
「java –version」
「javac –version」【apache インストール】
//apacheをインストール
「yum install -y httpd」
//インストール後にapacheを確認
まずapacheを起動させます。
「systemctl start httpd」
ブラウザにEC2のIPアドレスを入力してapacheのページが
開ければ確認完了。Postgres インストール
//インストール
「sudo yum install -y postgresql postgresql-server postgresql-devel postgresq
Java で N-gram 書いてみました
## きっかけ
未経験からの IT エンジニアへの転職活動をしているのですが、その情報収集で Java を使う現場が多いと聞いたので、Java で N-gram を実装してみました。
## 入力と出力
イメージとしては、
“`java
String[] documents = {
“test1”,
“test2”,
“test3”,
}
“`の各document に、create_ngram なる関数を当てて、インデックスを作り、search_query(query) という関数で検索をするイメージです。
アウトプットは、以下のような感じです。“`
{0=[2, 44, 1, 43, 0, 42], 1=[2, 17, 1, 16, 0, 15]}
“`文書ID と マッチした文字の箇所が出力されます。
検索は OR など色々とあると思いますが、完全一致の AND 検索で検索させました。コードは下にあります。
https://github.com/YmBIgo/Java_Easy_Ngram/blob/master/NgramCreator2.java
【AWS】Javaのアプリをデプロイ part1
今回はAWSの設定の仕方からJavaのアプリ(jarファイル)をデプロイする方法を記述します。
※メモになるので内容は拙いです。【VPCの起動とサブネットを構成】
VPCダッシュボードで「VPCを作成」をクリックします。
・作成するリソースはVPCのみ。
・名前タグは「aws_test」とします。
・CIDRブロックは「10.0.0.0/16」にしておきます。その他の設定はデフォルトです。
![vpc_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2665680/01884a11-85ef-c504-68a6-833035110163.png)
続いてサブネットの構成を行います。
VPC IDは先程作成したVPCを選択して下さい。
![サブネット1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2665680/e3934058-249b-7bfa-a223-b9681afd0d45
【Jackson】nullを特定の値にシリアライズする3通りの方法
## TL;DR
`Jackson`で`null`を特定の値にシリアライズする場合、以下の3つの方法が有ります[^haaku]。[^haaku]: 自分が把握している限りです。
1. `ObjectMapper`にシリアライザーを設定する
2. `JsonSerialize`アノテーションにシリアライザーを指定する
3. マッパー固有の方法で設定する以下、それぞれの方法について書きます。
ここで、説明のためのシリアライザーとしては以下を用います。
このシリアライザーは`null`を`n/a`という文字列にシリアライズします。“`java
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;import java.io.IOException;
public class MyNullValueSeria
メモ(serialize,deserialize)
# Serialize,Edit,Deserialize
イメージ
serialize -> 製品を設計図にする (インスタンス→byte)
deserialize -> 設計図を製品にする (byte→インスタンス)serialize -> edit -> deserialize
製品のままではいじれないところを設計図に落とし込んで(serialize)変更(edit)、変更した設計図を基に再度製品化(deserialize)する感じ?Spigotプラグインで使う機会があったので書きました。
エンチャ本の内容を操作するのにItemStackをシリアライズしてMapにしてからEnchantmentStorageMeta(以後、Meta)を取得して弄る。弄ったMetaをデシリアライズしてItemStackにして終わり、という流れ。
なお、Spigotではシリアライズ化したデータであってもSpigot APIを通さずに直接編集すると怒られてエラーが出る場合があるので注意。# 参考
https://qiita.com/NBT/items/9f76c9