- 1. 【Android/Java】BootCompleteでの起動時処理(Android11)
- 2. SpringBoot + Java + Gradle環境で”Hello World”
- 3. 遺伝的アルゴリズムを体験する
- 4. Nablarch: writeタグとrawWriteタグの違いは?brタグを使用できるのはどっち?
- 5. JPAのざっくり解説
- 6. Discordボット開発:Javaで実装する音声処理機能のすべて【その③】
- 7. データ型の変換(Java、Python)
- 8. thymeleaf : TemplateInputException でハマった件_変数定義編
- 9. Javaについての個人メモ
- 10. Java / Google Drive APIでファイルをごみ箱に入れる方法
- 11. tWAS9.0 , Keycloak 構成自動化での備忘録
- 12. Spring Interceptor
- 13. Discordボットのためのリアルタイム音声処理:LavaPlayerでInputStreamに対応する
- 14. springのHTTP Interfaceでhttp client実装を切り替え
- 15. Discordボット開発:Javaで実装する音声処理機能のすべて【その②】
- 16. Javaで標準入出力を利用して外部コマンドをフィルターとして利用する
- 17. JavaをインストールしないでJavaアプレットを実行する方法
- 18. Discordボット開発:Javaで実装する音声処理機能のすべて【その①】
- 19. GCP Dataplex機能/実装
- 20. Javaにおける桁区切り文字の効果的な使い方
【Android/Java】BootCompleteでの起動時処理(Android11)
## やりたいこと
色々と記事があるけど、BootCompleteの動作の整理を行いたい## Step1.通常設定(BootCompleteの受信)
(出尽くしている内容だが)以下を追加する#### AndroidManifest.xml
~~~xml
SpringBoot + Java + Gradle環境で”Hello World”
## 環境
– SpringBoot 2.2.7
– Java 1.8
– Gradle 6.3## Javaの設定(IntelliJ )
ファイル < プロジェクト構造 < プロジェクト設定 < プロジェクト ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2981742/463aa415-0271-37ea-8245-5e05c2ec6e75.png) < モジュール ソース ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2981742/aba0033a-f9f8-b0dd-773e-03fdf1670c4f.png) 依存関係 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2981742/e2c2090d-67b4-a439-024b-bf1637ca1301.png) ファイル
遺伝的アルゴリズムを体験する
# 概要
機械学習の一つに遺伝的アルゴリズムというものがある。原理は単純で「良いものと良いものを組み合わせれば、さらに良いものが生まれるはず」というものだ。今回は簡単な問題を例にあげて実際に最適解を得る事を確認する。コードはgitHubにおいておく。今回使用したコードを活用して別の記事を書く予定のため、より使いやすいように改良をしていくつもりだ。
https://github.com/NEKOHUKURO/GA_num_of_one
# 遺伝的アルゴリズムの簡単な説明
この章で遺伝的アルゴリズムの簡単な説明を行う。## 遺伝情報の表現方法
遺伝的アルゴリズムはそれぞれの個体が遺伝子として0と1で構成された配列を持つ。
遺伝子の長ながさは個体ごとに変わることはない。## 子孫を残す
個体は他の個体と子孫を残す
親はそれぞれの遺伝子を組み合わせたものを子孫として生成する。
基本的に獲得形質は遺伝させないが本によってはそのようなアプローチを紹介するものもある。
また子孫を残す際、一定の確立で遺伝子の一部を反転させる。これを突然変異という。## 優れたものが子孫を残
Nablarch: writeタグとrawWriteタグの違いは?brタグを使用できるのはどっち?
# 結論
:::note
– brタグを使用できるのは、rawWriteタグ。
– writeタグは、デフォルトではbrタグを使用できない。
– 一方、自動エスケープされるので、安全性が高いメリットがある。
::::::note alert
– rawWriteタグはセキュリティリスクに注意する必要がある。
– 外部から入力可能な値にrawWriteタグを使用するのはご法度。
:::## 前提:Nablarchのカスタムタグについて
https://nablarch.github.io/docs/LATEST/doc/application_framework/application_framework/libraries/tag.html#tag
## コードサンプル
nablarch-example-webでテストする。実行方法はREADMEを参照。
https://github.com/nablarch/nablarch-example-web
“`java
/**
* ログイン画面を表示。
*
* @para
JPAのざっくり解説
Java開発3年目くらいの時、新しい現場でJPAってなんだよってなったのでその時に書いていた記事の再掲です。
# **JPAって誰?**
今回取り上げているJPAっていうのは、
「Java Persistence (JSR 338)」という、
Java EE標準のO/R MappingおよびDAOの技術仕様らしいです。これだけじゃピンとこないので噛み砕くと、
Java EEというのは、Javaでの開発に必要なものをセットにしたもので、
必要な物っていうのは、便利なAPIなどのことです。(ざっくりとしたJava EE概要知りたい人用の参考。[https://agency-star.co.jp/column/java-ee)](https://agency-star.co.jp/column/java-ee))
そして今回取り上げるJPAはその便利なセットの中の一つで、
簡単に言うと、少ない記述量でDBにアクセスしてくれるもののことです。この記事では、ここがわかってたらJPAの実装なんとなくわかる。
というところを目標にしていきます。ちなみにJPAとよく一緒に使われる
Discordボット開発:Javaで実装する音声処理機能のすべて【その③】
こんにちは。この記事は[**Discordボット開発:Javaで実装する音声処理機能のすべて【その②】**](https://qiita.com/blue_islands/items/3667d1740f6018e59695)の続きの記事になります。
# 1. はじめに
Discordボット開発者の皆さん、音声認識機能の導入に際して、技術的な詳細に興味はありませんか?この記事では、Google Cloud Speech-to-Text APIをDiscordボットに統合する具体的なコードの流れを解説します。# 2. Google Cloud Speech-to-Text APIの概要
このAPIは、リアルタイムの音声認識とテキスト変換を可能にし、多言語に対応しています。高い精度と柔軟性で、Discordボットの機能強化に最適です。# 3. 主要なクラスとその役割
このセクションでは、Discordボットの音声認識機能における重要なクラスとそれぞれの役割について詳しく見ていきましょう。## SpeechToTextService:
`SpeechToTextService`
データ型の変換(Java、Python)
データ型の変換についてまとめました。
今回は整数型から文字列に変換する場合を比較します。***Java***
“`Java
public class Main1 {
public static void main(String[] args) {
// 自分の得意な言語で
// Let’s チャレンジ!!//String line = sc.nextLine();
int A = 437326;
int B = 9085;
int ansA = A / B;
int ansB = A % B;
// ラッパークラスを用いて数値を文字列に変換して出力する
System.out.println(Integer.valueOf(ansA).toString() + ” ” + Integer.valueOf(ansB).toString());
}
}
“`***Python***
“`python3
A = 437326
B = 9085
ansA
thymeleaf : TemplateInputException でハマった件_変数定義編
## 背景
JUNITでControlelerのテストをしている際、以下の事象に遭遇した。## エラーログ
Caused by: org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: “class path resource [templates/******.html]” – line 263, col 30)
Caused by: org.attoparser.ParseException: (Line = 263, Column = 30) Malformed markup: Attribute “th:with” appears more than once in element要は、Thymeleafの書き方がいけなかったっぽい。。
## エラーが発生した箇所
divタグ内で使用する変数を「th:with」で定義したのだが、1つにまとめないといけないらしい。(まあ確かにそうか笑)
“`html:エラーが出た箇
Javaについての個人メモ
# Javaについての個人メモ
【Java】イミュータブルな変数ってなんだ?String型変数の特殊性を知る《講義4日目》
令和3年春期試験問題 午前問12
https://www.ap-siken.com/kakomon/17_haru/q17.html
Java / Google Drive APIでファイルをごみ箱に入れる方法
# 結論
“`java
File file = new File();
file.setTrashed(true);
service.files().update(Id, file).execute();
“`以上。
# 補足
Python, Node.jsでの書き方は公式ドキュメントを参照されたし。https://developers.google.com/drive/api/guides/delete?hl=ja#python_1
すでにアップロードされているファイルを`service.files().get(Id)`で取得し、`.setTrash(true).execute()`として直接書き込むことはできない。やろうとすると以下のエラーが出る。
“`json
{
“code”: 403,
“errors”: [
{
“domain”: “global”,
“message”: “The resource body includes fields which are not directly writable.”,
tWAS9.0 , Keycloak 構成自動化での備忘録
# はじめに
tWAS, Keycloak でSAML構成をするのに苦労したところを同じことを調べなくて良いように残しておきます。
以下のページを更新しました。
https://qiita.com/keniooi/items/050b5ae0d8f50bf63c84
https://qiita.com/keniooi/items/cfe2b8ef692b23500a15
# spMetadata.xml をJSON形式に変換
https://stackoverflow.com/questions/53662807/configuring-keycloak-saml-from-the-command-line
を参考に試しましたが、なぜか実行できませんでした。各コマンドを手動で1行づつ実行してたのが原因でした。まとめてはりつけて実行することで実行できました。わかってしまうとどうってことないのですが、気づくのに時間がかかったりします。
ポイント:TOKENは有効期限があるのですぐに使えるようにしましょう。
貼り付け用メモ
“`
export ACCESS_HOST=`h
Spring Interceptor
– Springベースのアプリケーションを開発中であれば、Spring Interceptorを使用する方が、Servlet Filterを使用するよりも統合性の面でより良い。
– URLパターンをさらに細かく設定でき、Servlet FilterのdoFilterよりさらに細かくpreHandle、postHandle、afterCompletionメソッドを設定できるという長所がある。| preHandle | Controller 呼び出し前、応答値がfalseであれば、それ以上進行しない。 |
| — | — |
| postHandle | Controller 呼び出し後、Controlle で例外が発生すると呼び出されない。 |
| afterCompletion | ビューがレンダリングされた後、例外が発生しても常に呼び出し、例外が発生した場合、どのような例外が発生したのかログを出力できる |– どのControllerが呼び出されるのか、呼び出し情報も受け取ることができる。
– どのmodel AndViewが返されるのか、応答情報も受け取ることができ
Discordボットのためのリアルタイム音声処理:LavaPlayerでInputStreamに対応する
こんにちは。この記事は[**Discordボット開発:Javaで実装する音声処理機能のすべて【その②】**](https://qiita.com/blue_islands/items/3667d1740f6018e59695)の**CustomInputStreamSourceManager クラス**についての解説になります。
# 1. はじめに
Discordボット開発者の皆さん、リアルタイムでの音声合成と再生に悩まされたことはありませんか?今回は、その課題を解決するためのLavaPlayerのカスタム`InputStream`について解説します。# 2. 目的
この記事は、Discordボット開発者や音声合成に興味のある方々に向けて、LavaPlayerでのリアルタイム音声合成と再生の方法を紹介します。# 3. LavaPlayerとは?
LavaPlayerは、Javaで書かれた強力で柔軟なオーディオプレイヤーライブラリです。主にDiscordボットの開発で使用され、YouTubeやSoundCloudなどのオンラインソースからの音声再生、ローカルファイルの再生、さ
springのHTTP Interfaceでhttp client実装を切り替え
https://docs.spring.io/spring-framework/reference/integration/rest-clients.html#rest-http-interface に書いてある通り。
# ソースコードなど
“`build.gradle
plugins {
id ‘java’
id ‘org.springframework.boot’ version ‘3.2.2’
id ‘io.spring.dependency-management’ version ‘1.1.4’
}group = ‘com.example’
version = ‘0.0.1-SNAPSHOT’java {
sourceCompatibility = ’17’
}configurations {
compileOnly {
extendsFrom annotationProcessor
}
}repositories {
mavenCentral()
}dependencies {
implementation ‘org.springf
Discordボット開発:Javaで実装する音声処理機能のすべて【その②】
こんにちは。この記事は[**Discordボット開発:Javaで実装する音声処理機能のすべて【その①】**](https://qiita.com/blue_islands/items/854ede846196537918af)の続きの記事になります。
Discordは、ゲームコミュニティだけでなく、様々なオンラインコミュニティで広く使用されています。Discordボットは、これらのコミュニティを活性化し、メンバー間のやり取りをより豊かにするための重要なツールとなっています。特に、音声対話機能を備えたボットは、ユーザー体験を大幅に向上させることができます。本記事は、Javaを使用してDiscordボットに音声処理機能を実装したい開発者向けに書かれています。
# 1. なぜ音声処理機能が重要なのか
音声対話は、ユーザーが直感的にボットとやり取りできるため、コミュニケーションをより自然で親密なものにします。音声コマンドの受け取りや、音声による返答を行うボットは、情報提供やエンターテイメント、さらには教育目的での使用においても、その可能性を大いに広げることができます。
# 2. 主要な
Javaで標準入出力を利用して外部コマンドをフィルターとして利用する
# はじめに
Java言語で外部コマンドの呼び出しは出来れば避けたいものです。
今回は古いPostscriptファイルの内容をApache Solrに投げ込む必要があり、PDFに変換すればそれ以上の処理を追加する必要がないためGhostscriptパッケージに含まれる**ps2pdf**コマンドを利用することにしました。
検証のため、標準入力にtest.psの内容を書き込み、標準出力からデータを読み出した上でtest.pdfとして保存するコードを作成してみました。実際のファイル形式は*.ps.Zになっているためcommons-compressを利用してdecompressしたbyte配列で取得したPostscriptデータを標準入力に渡しています。
標準入出力では全てのデータをstdinに書き込んでからstdoutへの出力が初まるわけではありません。内部ではstdinに書き込みつつ、制御できないタイミングで発生するstdoutからの読み出し処理を同時に実行する必要があります。内部バッファに収まる程度にファイルサイズが小さければ問題ないかもしれませんが、実際のファイルサイズは小さ
JavaをインストールしないでJavaアプレットを実行する方法
![applet-browser-1024×568.png.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3486144/980d5378-c643-917f-4ba5-bb3f9057dbbc.jpeg)
# JavaをインストールしないでJavaアプレットを実行したいですか?
CheerpJ Applet Runner 拡張機能を使えば、Javaをインストールすることなく、Google Chrome上で従来のJavaアプレットを実行できます。[今すぐ無料で試す](https://chrome.google.com/webstore/detail/cheerpj-applet-runner/bbmolahhldcbngedljfadjlognfaaein)
⭐⭐⭐⭐ 110 – 👤 40,000+ users
# JavaをインストールせずにJavaアプレットを実行
CheerpJ Applet Runnerの使い方はとても簡単で、[1クリックで拡張機能をインストールし](https://ch
Discordボット開発:Javaで実装する音声処理機能のすべて【その①】
皆さん、こんにちは!今日はJavaを使ったプログラミングの楽しさを、Spring BootとJDAを使ってDiscordボットを作成する方法を通じてお伝えします。この記事は、プログラミング初心者やJavaに興味がある方々に向けて書いています。
# 1. 効率的なボット開発
Spring BootとJDAを組み合わせることで、効率的かつ簡単にDiscordボットを作成できます。この組み合わせは、コードの複雑さを減らし、開発者が本質的なロジックに集中できるようにします。# 2. なぜSpring BootとJDAか?
– **Spring Boot:** 設定がシンプルで、迅速な開発を可能にします。Spring Bootは、依存関係管理やアプリケーションの構成を簡素化し、開発時間を大幅に短縮します。
– **JDA:** Discord APIとの連携を簡単にし、メッセージの送受信、ユーザー管理などをスムーズに行えます。JDAは、Discordの機能をフルに活用するための強力なツールです。# 3. ソースコードの解説
### DiscordConfigクラス
このクラスは、Dis
GCP Dataplex機能/実装
# GCPのCloud Dataplexの概要
Cloud Dataplexは、Google Cloud Platform(GCP)のサービスの一部であり、データレイク環境を構築し、データの管理と利活用を支援します。以下に、Cloud Dataplexの機能と詳細について説明します。
## 概要
Cloud Dataplexは、大量のデータを一元管理するためのプラットフォームです。データを各種データソースから集約し、それを効率的に分析するための統合データエンジンを提供します。以下にCloud Dataplexの主な特徴を示します。– **データソースの統合**: Cloud Dataplexは、様々なデータソース(データベース、データウェアハウス、クラウドストレージなど)からデータを収集し、一元的に管理します。データの流入や変換、統合が容易に行えます。
– **データのバージョン管理**: Cloud Dataplexは、データの更新や変更を追跡し、バージョン管理を行うことができます。過去のバージョンのデータを参照することにより、データの変化を追跡したり、過去の状態に戻したりす
Javaにおける桁区切り文字の効果的な使い方
### はじめに
Javaプログラミングにおいて、大きな数値の可読性を向上させる方法として、Java 7から導入された桁区切り文字(アンダースコア`_`)について紹介します。### 桁区切り文字の基本
Javaでの数値リテラルは、読みやすさを向上させるためにアンダースコアを使用して桁を区切ることができます。この機能は、特に大きな数値を扱う際に有効です。### 使用方法
アンダースコアは、整数、浮動小数点数、そして長整数リテラル内で使用できます。例えば、`1_000_000`や`2.5_000`のように使います。ただし、アンダースコアを数値の始まり、終わり、小数点のすぐ隣、または接尾辞の直前には置くことはできません。### 利点
桁区切り文字を使うことで、コードの可読性が大幅に向上します。これは、特に数値の桁数が多い場合や、複雑な計算式を扱う際に役立ちます。### 実例
実例として、Javaでの桁区切り文字の使用方法を見てみましょう。以下にいくつかの具体例を示します:1. **整数リテラルの例**:
“`java
int maxUploadSize =