- 1. Firestoreのコレクションやドキュメントへのパス(文字列)を取得する関数を自動生成するコマンド
- 2. 【第二回目/Java学習】初学者によるJava学習 基本構造について
- 3. いろんな言語での文字列操作の比較(VBA, Java, C#, PHP, Python, JavaScript)
- 4. JavaでPDFドキュメントを暗号化または復号化する方法
- 5. #5 switch
- 6. Java SrtingBuilderの使い方
- 7. #4 while
- 8. JavaでWordドキュメント内のテキストを置換する方法
- 9. #3 配列,多次元配列,length
- 10. 戸建て住宅マーケティングAI 開発 (0)
- 11. 年/月/日 の一部が省略された日付をパースして LocalDateTime を取得する方法
- 12. Struts2 Validation
- 13. #2 変数
- 14. OUTPUT句の結果をJavaアプリケーション上で受け取りたい
- 15. #1 文字の出力、for文、if文
- 16. Constructor
- 17. TXTファイルをWord、PDF、画像(JPG、PNG、BMP、TIFF)に変換する (Java)
- 18. ABC260A~Dの解答[Java]
- 19. 自分の解説記事内で使用するテンプレートの紹介[ABC258~]
- 20. Mockito使い方メモ
Firestoreのコレクションやドキュメントへのパス(文字列)を取得する関数を自動生成するコマンド
# はじめに
Firestoreにアクセスするときに、`/some_collection/some_doc_id/other_collection/other_doc_id` みたいにコレクションやドキュメントのパスを書くのって少し面倒じゃないですか? 特にWebとAndroidの両方でFirestore使っているときなんかは、TypescriptとKotlinで似たような文字列をコード中に定義することになるので、筆者は少し億劫になってしまいます。(Firestoreは書き方の自由度が高いので、そもそもこのように書かないぜって人も沢山いると思いますが、、、)ということで、`コレクションの構造を定義したファイル`をインプットに取って、各言語ごとに、`コレクションやドキュメントのパス(文字列)を取得する関数やメソッド`をはきだすコマンドを作成しました。
今回作ったコマンドはこちらに置いてあります。(主なコードはシェルスクリプトで書きました。)
https://github.com/ppdx999/firepath
# Usage
## 前提
Firestoreのコレクション
【第二回目/Java学習】初学者によるJava学習 基本構造について
【この記事について】
=
Javaの勉強を始めた初学者のアウトプット記事となります。
間違いなどございましたら指摘等いただけますと大変勉強になりますので
お時間あればコメントお願いいたします。1.本日の課題
=
Java基礎構造2.参考図書
=
スッキリわかるJava入門 第三版3.勉強内容:ソースコードの基本構造
=**◉構造について:全体構造**
–“`java:Hello.java
//↓①クラス名”Hello”
public class Hello{ //②クラスブロック
//↓③メソッド名”main”
public static void main(String() args){//④メソッドブロック名
System.out.println(“Hello World!”);
System.out.println(“Good Morning”);
}//④
}//②“`
**①クラス/クラス名**
**②クラスブロック**
**③メソッド/メソッド名**
**④メソッドブロ
いろんな言語での文字列操作の比較(VBA, Java, C#, PHP, Python, JavaScript)
うちのような小さな会社が、受託案件を長年やっているといろんな言語の保守メンテをやる必要があるのですが
文字列操作、この言語でなだっけ?とよく忘れてしまいます…
よく使うものを中心に文字列操作をまとめていきます。
完全に個人的な忘備録です。主にVBAを中心に Java, C#, PHP, Python, JavaScriptについて書いていきます
[文字数の長さを取得する](#文字数の長さを取得する)
[文字列から指定文字数の文字を取得する(トリミング)](#文字列から指定文字数の文字を取得する(トリミング))
[文字列から左側の指定文字数の文字を取得する](#文字列から左側の指定文字数の文字を取得する)
[文字列から右側の指定文字数の文字を取得する](#文字列から右側の指定文字数の文字を取得する)
[文字列から指定文字を検索する](#文字列から指定文字を検索する)
[文字列の後ろから指定文字を検索する](#文字列の後ろから指定文字を検索する)
[文字列を置換する](#文字列を置換する)
[アルファベットの小文字を大文字に変換する](#アルファベットの小文字を大文字に変換する)
JavaでPDFドキュメントを暗号化または復号化する方法
契約書や請求書など、数多くの機密ドキュメントがPDFフォーマットで保存されています。これらの機密ドキュメントをインターネット上で共有することは、あなたの許可なく他の人がドキュメントの内容にアクセスできる可能性があるため、リスクとなります。この問題を解決するためには、ドキュメントをパスワードで暗号化することが有効です。今回は、Javaで***PDFドキュメントを暗号化・復号化する方法***を紹介します。
## 【依存関係の追加】
> この方法は、無償のFree Spire.Doc for Javaが必要ですので、先にjarファイルをインポートしてください。### 1. Maven
Maven を使用している場合、プロジェクトの pom.xml ファイルに以下のコードを追加することで、簡単にアプリケーションに JAR ファイルをインポートすることができます。
“`XML
com.e-iceblue
e-iceblue
h
#5 switch
# 学習内容
switch文の学習
“`java
/* ソースコード */
public class Select{
public static void main(String[] args){
int num = 2;
System.out.println(“受ける科目は?”);switch(num){
case 1: //式の値が1の場合
System.out.println(“国語”);
break;
case 2: //式の値が2の場合
System.out.println(“数学”);
break;
default: //どれにも当てはまらなかった場合
break;
}String str = “Italy”;
System.out.println(“\n” + “行ってみたい国は?”);swi
Java SrtingBuilderの使い方
久しぶりにJava SkillCheckを解いていたら恐ろしく忘れていたので、、
備忘録として復習しながら記録しておくことにします。【skillCkeckの設問】
Javaの標準入力から任意の文字列を入力し、取得した文字列を反転させた文字列を出力A. StringBuilder.reverseを使用
ここからは Java SrtingBuilderについてのまとめ
JavaのSrtingBuilderは文字列を扱うクラスのこと
StringとはJavaに用意された標準クラスの一つ「java.lang」というパッケージ
Stringクラスに格納されたデータは一度代入されると変更はできない。
例)String str = “いぬ” のあと値に str =”ねこ”と入力しても出力はされるが
strが格納された”いぬ”のメモリ領域を参照しているのではなく、新たなstrとしてstr”ねこ”メモリ領域に格納される。基本コード
“`php:Main.java
public class Main {public static void main(String[] arg
#4 while
# 学習内容
“`java
/* ソースコード */
public class Loop{
public static void main(String[] args){
int i=1;
while(i<5){ //条件が "true" の間,処理を繰り返す System.out.println("この処理は" + i + "回目です"); i++; } while(i>5){ //条件が “false” のため、行われない
System.out.println(“この処理は” + i + “回目です。”);
i++;
}int a =1;
do{ //後述の while文が “false” でも処理がされる
System.out.println(“これは” + a + “回目です。”);
a++;
}while(a<5); System.ou
JavaでWordドキュメント内のテキストを置換する方法
Word ドキュメント内のテキストを置換する必要がある場合があります。例えば、ドキュメント内で誰かの名前のスペルを何度も間違えてしまい、正しい名前に更新する必要がある場合や、テンプレートからWordドキュメントを生成する際に、プレースホルダーのテキストを置き換える必要がある場合などです。この操作を自動化するために、この記事では、Free Spire.Doc for Javaライブラリを使用して***Wordドキュメント内のテキストを置換する方法***について説明します。この記事では、以下のトピックを扱います。
– ドキュメント内のテキストの置換
– 表内のテキストの置換
– テキストを画像に置き換える
– 正規表現によるテキストの置換## 【依存関係の追加】
> この方法は、無償のFree Spire.Doc for Javaが必要ですので、先にjarファイルをインポートしてください。### 1. Maven
Maven を使用している場合、プロジェクトの pom.xml ファイルに以下のコードを追加することで、簡単にアプリケーションに JAR ファイルをインポートすることがで
#3 配列,多次元配列,length
# 学習内容
配列。参考 -> https://www.youtube.com/watch?v=nSmO1s-dkxY&list=PLru8-xuz0YvyZhvDRZvakIFW6-MHky-lD&index=4
“`java
public class Hairetu{
public static void main(String[] args) {
int[] num = new int[2]; //new -> 配列を生成する,デフォルトで”0″が入る
// 配列 “num” には参照値が入る
num[0] = 75; // [添字]は0から始まる
num[1] = 96;int[] a = {92,75,43}; // 配列の初期化
System.out.println(num[0] + “\n” + num[1]); // “\n”は改行
System.out.println(a.length); // “配列.length”で配列数を割り出せる}
}
“
戸建て住宅マーケティングAI 開発 (0)
これから、積もってきた python vue.js java 等の kipple を使って
戸建て住宅を題材に、マーケティングシステム(AI ?) の開発してみます。以下のurlは、とりあえず立ち上げたもので、
今後、必要な機能を継ぎ足していきます。[![タイトルなし.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2639/a87baac6-01c0-ce21-ce73-bd1c1dada726.png)](https://15db.end0tknr.jp/)
年/月/日 の一部が省略された日付をパースして LocalDateTime を取得する方法
(この記事は [地平線に行く](https://yujisoftware.hatenablog.com/entry/2022/07/18/233301) とのマルチポストです)
# 年が省略されている日付(`月/日`)の場合
まずは、[DateTimeFormatter](https://docs.oracle.com/javase/jp/17/docs/api/java.base/java/time/format/DateTimeFormatter.html) を用意します。
“`java
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(“MM/dd”);
“`次に、日付を [**MonthDay クラス**](https://docs.oracle.com/javase/jp/17/docs/api/java.base/java/time/MonthDay.html)でパースします。
“`java
MonthDay monthDay = MonthDay.parse(“07/18”, formatte
Struts2 Validation
# 概要
Struts2のValidationフレームワークについて
調査対象:struts-6.0.0-SNAPSHOT# 組み込みのValidator
| クラス| タイプ| 機能 |対象|
|:–|:–|:–|:–|
|[RequiredFieldValidator](#requiredfieldvalidator)|required|指定したフィールドがnot nullであることを検証する。|フィールド|
|[RequiredStringValidator](#requiredstringvalidator)|requiredstring|指定したフィールドがnot nullかつ長さが0より大きいことを検証する。|フィールド|
|[IntRangeFieldValidator](#intrangefieldvalidator)|int|int型数値が指定した値の範囲内であること|フィールド|
|[LongRangeFieldValidator](#longrangefieldvalidator)|long|long型数値が指定した値の範囲内であること|フィールド|
#2 変数
参考 -> https://www.youtube.com/watch?v=ukNoszW09BI&list=PLru8-xuz0YvyZhvDRZvakIFW6-MHky-lD&index=3
# 学習内容
変数について。
“`java
public class Hensuu{
public static void main(String[] args) {
boolean bln = true;
char ch = ‘a’; //シングルクォーテーションを忘れない
byte by = 3;
long lo = 96l; //末尾に”l”(L)を忘れない
float fl = -35.2f; //末尾に”f”(F)を忘れないSystem.out.println(bln);
System.out.println(ch);
System.out.println(by);
System.out.println(lo);
System.out.printl
OUTPUT句の結果をJavaアプリケーション上で受け取りたい
SQLServerには削除したり更新したりしたデータを返す[OUTPUT句](https://docs.microsoft.com/ja-jp/sql/t-sql/queries/output-clause-transact-sql?view=sql-server-ver16)というものがあります。OUTPUT句の結果をJavaアプリケーション上で受け取りたい場合は`PreparedStatement::executeQuery`を利用して、SQLを発行すれば良いです。OUTPUT句はDELETE文やUPDATE文で利用しますが、通常DELETE文やUPDATE文の発行に利用する`PreparedStatement::executeUpdate`ではOUTPUT句の結果を受け取れないことに注意する必要があります。
未検証ですが、データベース接続に何らかのライブラリを使う場合は、通常SELECT文を発行するためのAPIを用いて、OUTPUT句を含むDELETE文なりUPDATE文なりを発行すればよいかと思われます。
以下は従業員の情報を格納する`employees`テーブルからidが
#1 文字の出力、for文、if文
# 学習内容
今回は、”Hello World” ~ “if文(条件分岐)” までやった。“`java
class Hello{ // Helloクラス
public static void main(String[] args) { //mainメソッド
for(int i=1; i<5; i++){ // iが5未満の場合、処理をする if(i < 3){ // iが3未満ならば、挨拶する System.out.println("Hello World!"); }else{ // iが3以上ならば数字を出力する System.out.println(i); } } } } ``` 参考 -> http://blueplace.sakura.ne.jp/basic/JavaBasicSample.html#src205## class
プログラムを実行するための処理をひとまとまりにしたもの。
この中で、メソッドやフィールドなどを
Constructor
# Constructor
classは基本生成者を持っているが接近指定者が*privateなのでseに目立たない
* 基本生成者
(1) seが生成者を定義しないと、基本生成者を自動的に生成する
(2) 媒介変数と何のコマンドも含まない
(3)seが生成者を作ったら基本生成はない* private : classの中だけオブジェクト化
* オブジェクト化(instance)
(1)オブジェクト化とはクラス(設計図)を参照してオブジェクト(商品)を作ることを意味する。
一つの設計図を利用して様々な商品を作ることができる。
* Constructorは Overloadingができる
—
# Constructor使い方
class 中で生成者を呼び出すためにはオブジェクト化をした後に呼び出すことができる。
“`
className ObjectName = new className();
“`
* new : メモリの空間を確保し、その空間のアドレスをオブジェクトに渡す役割をする
* クラスは参照型データで、オブジェクトのアドレスを保存する
“
TXTファイルをWord、PDF、画像(JPG、PNG、BMP、TIFF)に変換する (Java)
TXTファイルは、任意のテキストエディタで開いて処理することができるプレーンテキストファイルです。TXTは一般的なファイル形式ですが、いくつかの欠点があります。例えば、TXTファイルは、画像、書式、フォントをサポートしていません。これらの理由から、TXTファイルをWord、PDF、画像など、他のファイル形式に変換する必要がある場合があります。この記事では、Spire.Doc for Javaを使って***TXTファイルをWord、PDF、画像に変換する方法***について説明します。
次のようなテーマを取り上げる予定です。
– Javaを使用してTXTファイルをWordやPDFに変換する
– Javaを使用してTXTファイルをJPG、PNG、またはBMP画像に変換する
– Javaを使用してTXTファイルをTIFF画像に変換する
## 【依存関係の追加】
> この方法は、無償のFree Spire.Doc for Javaが必要ですので、先にjarファイルをインポートしてください。
### 1. Maven
Maven を使用している場合、プロジェクトの pom.xml ファイルに以下の
ABC260A~Dの解答[Java]
## はじめに
A~Cはコンテスト中に、Dはコンテスト後に解けたので今回もA~Dを解説していきます。では、見ていきましょう。
## A – A Unique Letter
問題文は[こちら](https://atcoder.jp/contests/abc260/tasks/abc260_a)普通に互いに異なるかどうか調べれば良いです。
今回はchar[]として受け取り、if~else文で分岐させてみました。
※やっていることは[physics0523さんの解説](https://atcoder.jp/contests/abc260/editorial/4443)の最初の実装例と同じです。
“`A.java
class Main{static Library Sys = new Library();
static SimpleScanner ss = new SimpleScanner();public static void main(String[] args)throws IOException{
//Sをchar[]として受け取る
char[]
自分の解説記事内で使用するテンプレートの紹介[ABC258~]
## はじめに
これまでと違って別クラスにまとめるようにしました。また、入力を受け取るクラスができたので新しく記事に書いた方が良いかなぁと思って書きました。コード自体に何のメソッドか書く形にしているので、見にくい等ありましたらコメントください。別に見出しを作って解説を書きます。
## 自作ライブラリ(Library)
SimpleScannerをまだ信頼していないのでBufferedReaderは残してあります。
“`Library.java
class Library{//入出力用
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
PrintWriter out=new PrintWriter(System.out);//N!とN!^-1を記録する用(コンストラクタに渡せば記録できる)
private long[] Factorials,InFactorials;//mod系の計算に使うやつ(これだけ変えたい時用にpublicにしてる)(setter作っても良
Mockito使い方メモ
# Mockito とは
– Java のテストでモックを簡単に扱えるようにするためのフレームワーク
– 指定されたクラスのモックを作成し、任意のメソッドをスタブ化して指定した値を返すようにしたり、モックのメソッドが期待した通りに呼び出されたかどうかを検証したりできる
– `static` や `final` なメソッドのモック化もできたりする(昔はできなかったはずだけど、いつの頃からかできるようになってた)
– モックの振る舞いの定義を型安全に定義できるのが大きな特徴(だと思う)
– 読み方は「もきーと」# 環境
“`text
> gradle –version————————————————————
Gradle 7.4.2
————————————————————Build time: 2022-03-31 15:25:29 UTC
Revision: 540473b8118064efcc26