- 1. [paiza]売り切れ!在庫の山!(【殿堂入りキャンペーン】残り物の量 (paizaランク C 相当)
- 2. [paiza]フィズバズ(Fizz Buzz (paizaランク C 相当)
- 3. [paiza]アルミ缶の上にある。。。(みかんの仕分け (paizaランク C 相当)
- 4. (調査中)Mockitoを使用して、JavaでJarFileオブジェクトのopenConnectionメソッドをモックにする
- 5. Javaのメモリ領域(スタック領域、ヒープ領域)について
- 6. Javaで指定のファイルがテキストファイルかどうか判定する
- 7. Java Collection ・Map 例題 100本ノック
- 8. Java Collectionで使えるメソッドについて
- 9. 解いてみた。「Sランク:文字列収集」
- 10. [paiza]あんぱいあー(野球の審判 (paizaランク C 相当)
- 11. [paiza]ドリームジャンボ(宝くじ (paizaランク C 相当)
- 12. Paiza×Qiitaキャンペーン 全問Javaで解説してみた【D Eメールアドレス 編】
- 13. [paiza]ポムポムプリンのおしり(【殿堂入りキャンペーン】N倍の文字列 (paizaランク D 相当)
- 14. [paiza]どんどん足していこうね~(足し算 (paizaランク D 相当)
- 15. [paiza]ちっちゃいことは気にするな(一番小さい値 (paizaランク D 相当)
- 16. [paiza]若さ、若さって何だ?(文字の一致 (paizaランク D 相当)
- 17. Javaで「UNIX_LINESフラグ(\nのみ行末記号として認識される)」の動作を確認してみた
- 18. [paiza]Javaで解いていく事前準備編
- 19. Nablarch v6のウェブプロジェクト用アーキタイプを使って、ウェブアプリケーションを試す
- 20. Spring Securityでの認証における認証用パスワードのハッシュアルゴリズムを更新する
[paiza]売り切れ!在庫の山!(【殿堂入りキャンペーン】残り物の量 (paizaランク C 相当)
# 瓜売りが瓜売りに来て瓜売れ残り売り売り帰る瓜売りの声
うりうりウルセェ!https://paiza.jp/works/mondai/c_rank_skillcheck_archive/leftover
# チェック処理とかは端折ってる
/** ここから定型文 */
ここで記載したクラスについては、
[こっちの記事](https://qiita.com/AsilHatake/items/40204293bdf59cb9f9d8)に書いてある、標準入力をList化したりしてるMainクラスから呼び出す予定だし・なんか継承したりしてるYO!!ちな、Mainを実行して標準入力から入力するのクソ面倒くさいので、
Java編については問題の入力例をパラメータにしたテストクラスとかも作って公開するYO!!開発・実行環境はこんな感じ
– VSCode
– Java 17
– jUnit 5.9
– mavenpom.xmlはこんな感じ
“`xml:pom.xml
[paiza]フィズバズ(Fizz Buzz (paizaランク C 相当)
# 3がつくときだけアホになるやつではない
【世界の…】が付くと、山ちゃん(手羽先のアレ)が思いついちゃう。https://paiza.jp/works/mondai/c_rank_skillcheck_sample/fizz-buzz
# チェック処理とかは端折ってる
/** ここから定型文 */
ここで記載したクラスについては、
[こっちの記事](https://qiita.com/AsilHatake/items/40204293bdf59cb9f9d8)に書いてある、標準入力をList化したりしてるMainクラスから呼び出す予定だし・なんか継承したりしてるYO!!ちな、Mainを実行して標準入力から入力するのクソ面倒くさいので、
Java編については問題の入力例をパラメータにしたテストクラスとかも作って公開するYO!!開発・実行環境はこんな感じ
– VSCode
– Java 17
– jUnit 5.9
– mavenpom.xmlはこんな感じ
“`xml:pom.xml
[paiza]アルミ缶の上にある。。。(みかんの仕分け (paizaランク C 相当)
# 仕分けと聞くと。。。
【2位じゃダメなんでしょうか?】の2位にすらなれなかった人が思い出されるなぁ。。。
仕事をするうえでも、タスクの仕分けを上手くして順序・効率よく作業が出来るようにしないといけないですね。https://paiza.jp/works/mondai/c_rank_skillcheck_archive/mikan
# チェック処理とかは端折ってる
/** ここから定型文 */
ここで記載したクラスについては、
[こっちの記事](https://qiita.com/AsilHatake/items/40204293bdf59cb9f9d8)に書いてある、標準入力をList化したりしてるMainクラスから呼び出す予定だし・なんか継承したりしてるYO!!ちな、Mainを実行して標準入力から入力するのクソ面倒くさいので、
Java編については問題の入力例をパラメータにしたテストクラスとかも作って公開するYO!!開発・実行環境はこんな感じ
– VSCode
– Java 17
– jUnit 5
(調査中)Mockitoを使用して、JavaでJarFileオブジェクトのopenConnectionメソッドをモックにする
手順
JarFileオブジェクトをモックする: Mockitoを使用して、JarFileクラスのモックを作成します。
openConnectionメソッドをモックする: モックされたJarFileオブジェクトがopenConnectionメソッドを呼び出した際に、モックされたJarURLConnectionを返すように設定します。
テスト内でモックを使用する: テストコード内で、モックされたJarFileを使用します。
以下はその例です。“`java
import static org.mockito.Mockito.*;import java.net.JarURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.util.jar.JarFile;
import org.junit.jupiter.api.Test;public class JarFileTest {
@Test
void testOpenConnection() throws Exce
Javaのメモリ領域(スタック領域、ヒープ領域)について
# 目次
[メモリ](#メモリ)
[スタック領域とは](#%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF%E9%A0%98%E5%9F%9F%E3%81%A8%E3%81%AF)
[ヒープ領域とは](#%E3%83%92%E3%83%BC%E3%83%97%E9%A0%98%E5%9F%9F%E3%81%A8%E3%81%AF)
[メモリ確保のイメージ](#メモリ確保のイメージ)
[値型のメモリ確保のイメージ](#値型のメモリ確保のイメージ)
[参照型のメモリ確保のイメージ](#参照型のメモリ確保のイメージ)
[おまけ](#おまけ)
[リストとは](#リストとは)
[挿入](#挿入)
[削除](#削除)
[単方向リスト](#単方向リスト)
[循環リスト](#循環リスト)
[参考文献、参考サイト](#%E5%8F%82%E8%80%83%E6%96%87%E7%8C%AE%E5%8F%82%E8%80%83%E3%82%B5%E3%82%A4%E3%83%88)
[関連記事](#関連記事)# メモリ
プログラムの実行時に利用される記憶領域(メモリ領域)には
Javaで指定のファイルがテキストファイルかどうか判定する
Javaを用いて指定のファイルがテキストファイルかどうかを判定する方法を調べたので備忘録としてまとめます。
[Apatch Tika](https://tika.apache.org/)を用いてファイルの[MIME TYPE](https://developer.mozilla.org/ja/docs/Web/HTTP/Basics_of_HTTP/MIME_types)を判定してもらう方法が手軽にできてよかったです。
Mavenのライブラリをインポートします。
“`xml:pom.xml
org.apache.tika
tika-core
2.9.2
“`Apache Tikaを使ってファイルがテキストファイルかどうかを判定するコード例です。
“`java
import org.apache.tika.Tika;
import java.io.File;
import
Java Collection ・Map 例題 100本ノック
次のコードの出力を答えてください。
変数は、以降の問題に引き継いでいくと考えてください。
# 問1
“`java
Listlist = new ArrayList<>(Arrays.asList(0, 1, 2, 4));
Listlist2 = new ArrayList<>(Arrays.asList(1, 3));
“`
“`java
System.out.println(list.add(5));
System.out.println(list);
“`問1の解答
true [0, 1, 2, 4, 5]# 問2
“`java
System.out.println(list.addAll(list2));
System.out.println(list);
“`問2の解答
tr
Java Collectionで使えるメソッドについて
Collectionインターフェイス、およびそのサブインターフェイス、サブクラスで利用できるメソッド、要素の追加、削除ができるメソッドについて整理してみました。
# Collection インターフェイス
## 挿入
### `boolean add(E e)`
指定された要素 e をコレクションに追加します。成功した場合は true を返します。### `boolean addAll(Collection extends E> c)`
指定されたコレクション c のすべての要素をこのコレクションに追加します。
少なくとも 1 つの要素が追加された場合は true を返します。## 削除
### `void clear()`
コレクションからすべての要素を削除します。空のコレクションになります。### `boolean remove(Object o)`
指定された要素 o をこのコレクションから削除します。存在し、削除された場合は true を返します。
注意点として、要素のインデックスではなく、要素の値そのものを引数に指定する必要があります。### `de
解いてみた。「Sランク:文字列収集」
# 問題
[「Sランク:文字列収集」](https://paiza.jp/works/mondai/real_event/word_collection)# コード
Javaで解いてみました。``` Java
import java.util.*;// 文字列とその値段を保持するクラス
class StrPrice {
public String str = "";
public int price = 0;
}public class Main {
public static void main(String[] args) {Scanner sc = new Scanner(System.in);
int nN = sc.nextInt();
int nM = sc.nextInt();// 文字列とその値段の読み込み
StrPrice[] asp = new StrPrice[nN];
for (int i = 0; i < nN; i
[paiza]あんぱいあー(野球の審判 (paizaランク C 相当)
# そろそろ審判ってAIにならないのか?
野球に然り、オリンピックに然り、誤審がどうのこうのって騒がれてるけど、
AIじゃなくてもいいけどビデオ判定で全部済ませればよくね?とか思っちゃう今日このごろ。
そしたら審判分の人件費浮くよね?(カメラとかの維持費のほうが高いのかしら?https://paiza.jp/works/mondai/c_rank_skillcheck_archive/umpire
# チェック処理とかは端折ってる
/** ここから定型文 */
ここで記載したクラスについては、
[こっちの記事](https://qiita.com/AsilHatake/items/40204293bdf59cb9f9d8)に書いてある、標準入力をList化したりしてるMainクラスから呼び出す予定だし・なんか継承したりしてるYO!!ちな、Mainを実行して標準入力から入力するのクソ面倒くさいので、
Java編については問題の入力例をパラメータにしたテストクラスとかも作って公開するYO!!開発・実行環境はこんな感じ
[paiza]ドリームジャンボ(宝くじ (paizaランク C 相当)
# 頼む当たってくれ!
業務に囚われない趣味プログラマーになりたいんだ。。。https://paiza.jp/works/mondai/c_rank_skillcheck_archive/lottery
# チェック処理とかは端折ってる
/** ここから定型文 */
ここで記載したクラスについては、
[こっちの記事](https://qiita.com/AsilHatake/items/40204293bdf59cb9f9d8)に書いてある、標準入力をList化したりしてるMainクラスから呼び出す予定だし・なんか継承したりしてるYO!!ちな、Mainを実行して標準入力から入力するのクソ面倒くさいので、
Java編については問題の入力例をパラメータにしたテストクラスとかも作って公開するYO!!開発・実行環境はこんな感じ
- VSCode
- Java 17
- jUnit 5.9
- mavenpom.xmlはこんな感じ
```xml:pom.xml
Paiza×Qiitaキャンペーン 全問Javaで解説してみた【D Eメールアドレス 編】
# 問題へのリンク
https://paiza.jp/works/mondai/d_rank_skillcheck_archive/email_address
# 解答コード
詳細
~~~
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
final String S = scanner.next();
final String T = scanner.next();System.out.printf("%s@%s\n",S,T);
scanner.close();
}
}~~~
# 解説
詳細
~~~
System.out.println(S + "@" + T);
~~~
でもいいんで
[paiza]ポムポムプリンのおしり(【殿堂入りキャンペーン】N倍の文字列 (paizaランク D 相当)
# 見上げた夜空の星達の光
プログラムなら掛け算のアレだし、SQLだと全カラム取ってくる的なアレだし、何でもござれのワイルドカード的なアレを沢山繋げちゃうZO!!とりあえずJavaでDランクはコレにて終了!
https://paiza.jp/works/mondai/d_rank_skillcheck_archive/square
# チェック処理とかは端折ってる
/** ここから定型文 */
ここで記載したクラスについては、
[こっちの記事](https://qiita.com/AsilHatake/items/40204293bdf59cb9f9d8)に書いてある、標準入力をList化したりしてるMainクラスから呼び出す予定だし・なんか継承したりしてるYO!!ちな、Mainを実行して標準入力から入力するのクソ面倒くさいので、
Java編については問題の入力例をパラメータにしたテストクラスとかも作って公開するYO!!開発・実行環境はこんな感じ
- VSCode
- Java 17
- jUnit 5
[paiza]どんどん足していこうね~(足し算 (paizaランク D 相当)
# しまっちゃうおじさん
スナドリネコさんみたいなビジュアルなのに、
やってることは拉致・監禁という鬼畜なおじさん。
そりゃ、ぼのぼのも泣くわ...https://paiza.jp/works/mondai/d_rank_skillcheck_sample/addition
# チェック処理とかは端折ってる
/** ここから定型文 */
ここで記載したクラスについては、
[こっちの記事](https://qiita.com/AsilHatake/items/40204293bdf59cb9f9d8)に書いてある、標準入力をList化したりしてるMainクラスから呼び出す予定だし・なんか継承したりしてるYO!!ちな、Mainを実行して標準入力から入力するのクソ面倒くさいので、
Java編については問題の入力例をパラメータにしたテストクラスとかも作って公開するYO!!開発・実行環境はこんな感じ
- VSCode
- Java 17
- jUnit 5.9
- mavenpom.xmlはこんな感じ
```
[paiza]ちっちゃいことは気にするな(一番小さい値 (paizaランク D 相当)
# きょ~れつ~(ワカチコワカチコ
小さい数を探す(ここらへんの文考えるのめんどくなってきたhttps://paiza.jp/works/mondai/d_rank_skillcheck_sample/min_num
# チェック処理とかは端折ってる
/** ここから定型文 */
ここで記載したクラスについては、
[こっちの記事](https://qiita.com/AsilHatake/items/40204293bdf59cb9f9d8)に書いてある、標準入力をList化したりしてるMainクラスから呼び出す予定だし・なんか継承したりしてるYO!!ちな、Mainを実行して標準入力から入力するのクソ面倒くさいので、
Java編については問題の入力例をパラメータにしたテストクラスとかも作って公開するYO!!開発・実行環境はこんな感じ
- VSCode
- Java 17
- jUnit 5.9
- mavenpom.xmlはこんな感じ
```xml:pom.xml
[paiza]若さ、若さって何だ?(文字の一致 (paizaランク D 相当)
# 振り向かないことさ(あばよ涙
タイトルはいつも適当につけてます。タイトル詐欺でスイマセン。
そんなこんなで、正式にJava版(ジャーーーバーン)突入!!
まずはね、Dランクでイキリ倒してやろうかと(よろしく勇気https://paiza.jp/works/mondai/d_rank_skillcheck_sample/diff_str
# チェック処理とかは端折ってる
/** ここから定型文 */
ここで記載したクラスについては、
[こっちの記事](https://qiita.com/AsilHatake/items/40204293bdf59cb9f9d8)に書いてある、標準入力をList化したりしてるMainクラスから呼び出す予定だし・なんか継承したりしてるYO!!ちな、Mainを実行して標準入力から入力するのクソ面倒くさいので、
Java編については問題の入力例をパラメータにしたテストクラスとかも作って公開するYO!!開発・実行環境はこんな感じ
- VSCode
- Java 17
- jUni
Javaで「UNIX_LINESフラグ(\nのみ行末記号として認識される)」の動作を確認してみた
# 概要
Javaで「UNIX_LINESフラグ(\nのみ行末記号として認識される)」の動作を確認してみました。
以下のページを参考にしました。https://www.javadrive.jp/start/regex/index20.html
# 実装
以下のファイルを作成しました。
```JSample20_1.java
import java.util.regex.*;class JSample20_1{
public static void main(String[] args){
String target1 = "Thank You!\r\nGood Bye";
String target2 = "Good Bye\nThank You!";
String target3 = "Good Bye\r\nThank You!";String regex = "Bye$";
Pattern p1 = Pattern.compile(regex, Pattern.MULTILINE);Matcher m1_1
[paiza]Javaで解いていく事前準備編
# Java編始まるよ~
そんなこんなでJavaScript編が完走できたので、次はJavaでダラダラと解いていくZeeee!!# とりあえず。。。
いきなり問題解いてもアレなので、最初に標準入力から値を受け取ってStringのListに変換する部分だけを実装しようかと。公式でも載ってる↓を見てね
https://paiza.jp/guide/samplecode.html
ほら、これから投稿していくソースは、標準出力を受け取った後のソースにしたいため。
```java:実行するメインクラス
package jp.co.asil;import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;public class Main {
public static void main(String[] args) {
Listlist = new ArrayList<>();
try (Scanner sc = new Sc
Nablarch v6のウェブプロジェクト用アーキタイプを使って、ウェブアプリケーションを試す
# What's?
前にこんなことをやりました。
https://qiita.com/charon/items/91e04b713570a81ca108
この時はNablarch 5のRESTful ウェブサービスを対象にしていましたが、今回は以下のお題でやってみようかなと思います。
- Nablarch 6u1を使う
- ウェブプロジェクト用アーキタイプからウェブアプリケーションプロジェクトを作成する
- データベースをPostgreSQLに切り替える# 環境
今回の環境はこちらです。
```shell
$ java --version
openjdk 21.0.4 2024-07-16
OpenJDK Runtime Environment (build 21.0.4+7-Ubuntu-1ubuntu222.04)
OpenJDK 64-Bit Server VM (build 21.0.4+7-Ubuntu-1ubuntu222.04, mixed mode, sharing)$ mvn --version
Apache Maven 3.9.8 (36645
Spring Securityでの認証における認証用パスワードのハッシュアルゴリズムを更新する
# はじめに
長い期間運用しているサイトだと、認証用のパスワードのハッシュアルゴリズムが陳腐化してしまうことが少なくありません。
その問題に対応するための仕組みがSpring Securityには備えられています。
そして、その仕組みは現在使用中のシステムにおいても適用できるようになっています。
ここでは、Spring Securityにて、パスワードのハッシュアルゴリズムを更新する方法を紹介します。# パスワードエンコーダーの定義
DelegatingPasswordEncoderを使用することで、複数のパスワードエンコーダーを登録することが出来ます。
それにより、新しいハッシュアルゴリズムが出来た時に、新たなエンコーダーを登録することで、同一システム内に複数のハッシュアルゴリズムの共存が可能になります。```java:ApplicationConfig
@Bean("passwordEncoder")
public PasswordEncoder passwordEncoder() {
Map