JAVA関連のことを調べてみた2021年01月06日

JAVA関連のことを調べてみた2021年01月06日

Java  PowerPointにウォーターマークを追加・削除

ウォーターマークとは静止画像や動画の盗用を防ぐため、著作権を表示する文字やロゴ、図のことです。今回はSpire.Presentation for Javaを利用してJavaでPowerPointに画像のウォーターマークと文字のウォーターマークを追加・削除する方法を紹介します。

下準備

1.E-iceblueの公式サイトからFree Spire. Presentation for Java無料版をダウンロードしてください。

f:id:lendoris:20210106113230p:pl</p></blockquote>
</blockquote>
<aside class='widget widget-post'>
<div class='tag-cloud-link'>Java</div>
<div class='tag-cloud-link'>PowerPoint</div>
<div class='tag-cloud-link'>ウォーターマーク</div>
</aside>
<div><a style='width:100%;' class='btn__link' href='https://qiita.com/iceblue/items/f8104a90895a5b7d8787'>元記事を表示</a></div>
<h3 id=Javaでbyte配列をgzip圧縮してファイル出力する

タイトルの処理を作成した際に試行錯誤したメモ。

## とりあえず書いたソース
こんな感じでbyte配列をgzipにしてファイルに出力してました。
先に別用途でファイル出力する処理を書いていたのを改造した際に、あれこれ調べながら付け足し付け足ししてしまい、今思うと謎に冗長な書き方をしてます。

“`java:test.java
byte[] bytes = output.toByteArray();
// byte[]をgzip化
String gzipStr = “”;
try {
ByteArrayOutputStream out = new ByteArrayOutputStream();
GZIPOutputStream gzip = new GZIPOutputStream(out);
gzip.write(bytes);
gzip.close();
gzipStr = out.toStrin

元記事を表示

【Java】Mapの使い方

#プログラミング勉強日記
2020年1月5日
JavaでのMapの扱い方を簡単にまとめる。

#Mapとは
 Mapはキーと値の2つの要素からなる複数のデータを格納できるものである。キーは値に名前を付けるようなもので、値の1つ1つにキーが存在する。このキーと値がペアになっているのがMapの特徴である。そのため、Mapから値を探すときにキーを目印に探すことができる。

#HashMapで初期化する方法
 Mapはインターフェースなので、インスタンスを生成するにはそれを実装したクラスを使用しないといけない。Mapのインスタンスを生成するのによく使われているのが、HashMapクラスである。

“`java:HashMapクラスを使って宣言する方法
Map<キーの型名, 値の型名> オブジェクト名 = new HashMap<>();
“`
 宣言するときにはキーと値のデータ型を指定する必要がある。

“`java:サンプルコード
import java.util.HashMap;
import java.util.Map;

public class Sample {
pub

元記事を表示

Android アプリ開発した際の躓きポイントを纏めてみた

#概要
とあることから、Google Maps APIを使用したAndroidアプリを作成することになったので、
参考にしたリンクを備忘録のために纏めました。

#環境編
##前提
[Androidコードディング規約](https://qiita.com/Reyurnible/items/2de397b80391189af8e4)
[もしあなたが急にAndroidアプリを業務で作るはめになった場合の選択肢(2021年初頭版)](https://qiita.com/Gazyu/items/dafdb74c4aadf722da92?utm_source=Qiita%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%B9&utm_campaign=d50d3688f4-Qiita_newsletter_440_12_09_2020&utm_medium=email&utm_term=0_e44feaa081-d50d3688f4-33582113)

##Android Studio
[Android studio の Gradleについて調べてみた](https://qii

元記事を表示

【Eclipse】Version 1.8.0_261 of the JVM is not suitable for this product. Version: 11 or greater is required エラー

Pleiades All in One Javaをダウンロード
手順に従って、ファイルを解凍
pleiades/eclipse/eclipe.exeと進んだところ

Version 1.8.0_261 of the JVM is not suitable for this product. Version: 11 or greater is required

といったエラーが出て、eclipseを起動できませんでした

【解決策】

まずこちらの動画を参考にしました

eclipse.iniファイル(画像の下から3番目、名前はeclipseとしか書いてないのでわかりづらい)を編集
![スクリーンショット (6).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1003099/ff5ffc01-5052-4bd8-7a93-959f8275e8b9.png)

-vm
Javaのバージョンを指定

元記事を表示

【Android】 DB上に保存しているレコードをCSV形式(カンマ区切り)で保存する。

## ご挨拶
かなり久々の投稿になります。少し雑談から。急ぎの方は横の目次からジャンプしてください。
2020年は今まで生きてきた中である意味衝撃的でエキセントリックな1年でした。
皆さんも環境の変化やコロナへの不安などで、心が落ち着かない毎日を過ごされたかと思います。

自分も働く環境など、いろんなものが今までからガラッと180度変わった1年でした。
まさか、BTSにハマるなんて思いもしなかったし。(この投稿を書きながら今も聞いています。)

そんな中でもこの投稿を(ひいてはQiitaを)見に来られた方は、何かしらのシステム(アプリ)を自分の手で作り出すことに夢中になっている方かとお見受けします。

自分が嫌になることが多いこの職業ですが、「自分はできる!」と信じて頑張って欲しいです。

自分が投稿しているものは深い技術のものではなく、素人程度の技術をシンプルに応用しているものが
多いです。
まだまだ勉強中の身ですが、アプリ開発をされている方の少しでもお役に立てれば幸いです。

## 今回の目的
DB上に保存しているレコードをCSV形式(カンマ区切り)で保存して、そのデータを取り込

元記事を表示

Mockito使用時にUnfinishedStubbingExceptionが出た

# この記事は?
Mockito使用時にUnfinishedStubbingExceptionとなり、調査に時間がかかったためメモ

# 起きた事象
以下のエラーが発生したが、原因が分からなかった

“` shell
Unfinished stubbing detected here:
location
E.g. thenReturn() may be missing.
Examples of correct stubbing:
when(mock.isOk()).thenReturn(true);
when(mock.isOk()).thenThrow(exception);
doThrow(exception).when(mock).someVoidMethod();
Hints:
1. missing thenReturn()
2. you are trying to stub a final method, which is not supported
3: you are stubbing the behaviour of another mo

元記事を表示

【Spring】【Thymeleaf】CSRFトークンを入れる

###formやbuttonをカスタマイズしていると、送信先やCSRFトークンが入らなくて遷移できなかった
thymeleafを利用して

“`java

“`
のように`@{}`を使ってaction属性を書けば、自動的にCSRFトークンがhiddenで入る

つまり

“`java

“`

では、CSRFトークンは入らない。
なのでこの状態でsubmitしても遷移できなかった。

###button毎に送信先を変える手法だと、CSRFトークンが入らない

“`html

元記事を表示

Jenkinsを用いた自動テストの導入メモ

## やりたいこと

Jenkinsを利用して、Javaプロジェクトに自動テストを導入します。
・masterブランチにプッシュした時点、テストを自動に実施します。
・テスト結果として、カバレッジ率を表示されます。

## 環境
macOS Big Sur 11.1
Homebrew 2.7.1-56-gff931c2
Jenkins 2.273
Java 1.8
ngrok 2.3.35

この記事に利用するサンプルは、Githubに置いてあります。
https://github.com/koyi2016/JenkinsDemo

## Jenkinsのインストール
macのターミラルを開いて、コマンドを実行します。

“`
brew install jenkins
“`

すぐにインストールされるので、Jenkinsを起動します。

“`
java -jar /usr/local/opt/jenkins/libexec/jenkins.war
“`

正常に起動できたら、以下のようなメッセージが表示されます。

“`
Running from: /usr/local/

元記事を表示

【Java ~ 今迄の復習をしながら自己紹介プログラムの作成) ~ 】勉強メモ(7)

Java学習中。
今迄の勉強した事の総復習。
ほぼ自分の勉強メモです。
過度な期待はしないでください。

過去投稿記事

[【Java~変数の定義、型変換について~】勉強メモ](https://qiita.com/k-yasuhiro/items/43ef789c8be7b669046a)
[【Java ~真偽値~】勉強メモ(2)](https://qiita.com/k-yasuhiro/items/5a75e6130552abd03934)
[【Java ~条件分岐・繰り返し処理~】勉強メモ(3)](https://qiita.com/k-yasuhiro/items/cc7ceb00bc795d1ea33c)
[【Java ~配列~】勉強メモ(4)](https://qiita.com/k-yasuhiro/items/97da0fe073ce5f8ce8d4)
[【Java ~メソッド~】勉強メモ(5)](https://qiita.com/k-yasuhiro/items/5b56fbae04fece175b88)
[【Java ~ クラス ~ 】勉強メモ(6)]

元記事を表示

javaでgzipの実装

java で gzip の実装

“`java:server.java
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.zip.GZIPOutputStream;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.spring

元記事を表示

多分これがオブジェクト指向

## はじめに
この記事は、[オブジェクト指向でなぜつくるのか](https://www.amazon.co.jp/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%81%A7%E3%81%AA%E3%81%9C%E3%81%A4%E3%81%8F%E3%82%8B%E3%81%AE%E3%81%8B-%E7%AC%AC2%E7%89%88-%E5%B9%B3%E6%BE%A4-%E7%AB%A0/dp/4822284654)という著書と、[黒本著者が教える やさしくない!? Java](https://www.youtube.com/channel/UC42DlV-0RDb6fJ8A3IbAang/videos)のYoutubeチャンネルを見たもの、私の経験に基づく理解を整理したいと思って執筆しました。
上記はとてもわかりやすかったので、是非ご覧になってください。

あと、以下の説明で出てくるサンプルコードはすべてJavaです。
なるべくJava特有の書き方は避けますが、ご了承くださ

元記事を表示

CouchbaseにおけるHA/DR対応 (Java SDK注解)

# はじめに

本記事では、CouchbaseにおけるHA/DR対応(の一側面)について記します。

ここでは、HA/DR用に待機クラスターがホットスタンバイされているケースについて解説します。

Couchbaseは、分散システム/クラスターとして、ノード/サーバ障害レベルのHAに対応していますが、ここでは、(いわば、さらに進んだHA要件への対応として)上記のケースを対象とした機能について解説します。

# クロスデータセンターレプリケーション (XDCR)

Couchbaseのクロスデータセンターレプリケーション (XDCR)は、データのレプリケーション(複製)のための機能ですが、名称に則してみれば、そのターゲットは、異なるデータセンター間で、ということを示しているものの、ソフトウェアの実際の機能としては、複数クラスター間でのデータの複製を行うものになります。同一データセンター内の複数クラスター間であっても当然利用できますが、一般に異なるトポロジー間で複製を実現する方がハードルが高いことから、この様な名称が(価値訴求のために)採用されていると考えることができるかと思います。

X

元記事を表示

AndroidアプリでUSBシリアル通信(usb-serial-for-android)

## やったこと
市販のAndroidタブレットとシリアルインタフェースを持ったデバイス間の通信をしてみました。
通信プロトコルは、素のシリアル通信と、modbusどちらでも成功しました。

## 構成イメージ
[リンク先](https://www.ratoc-e2estore.com/blog/2012/08/usb60mi-01)の構成図とほとんど同じような構成です。
今回、シリアル通信の知識はゼロからスタートしたので、このサイトを死ぬほど見て勉強しました。
とてもわかりやすく纏まっていて助かりました。このサイトがなかったら多分実現できてません。

## ライブラリ情報
usb-serial-for-android v2.2.2(https://github.com/mik3y/usb-serial-for-android/releases)
2020/4月ぐらいの話なので、バージョン古くてごめんなさい。

## 説明したいこと
当時はライブラリの使用方法について、ReadMeに書いてある内容があまり充実していなかったので、記事を書きたいと思っていました。
今は多少充実しているので

元記事を表示

JavaとSpring Bootを使用したポートフォリオアプリを制作

#はじめに

2020年8月から4ヶ月間RaiseTechというエンジニアリングスクールに通い、主にJavaとSpring Bootを使用したWebアプリケーション制作について学習しておりました。
その中で学んだことからポートフォリオとしてシンプルな機能のアプリを制作したので、そのアプリケーションについての機能、制作手順、課題をまとめています。

まだ実装できていない機能や使い勝手含め機能としては不完全ではありますが、

・2020年内での制作、公開を期限として制作したこと
・とにかく一旦リリースすること

を最重要視したため現状で一旦公開しております。
※今後も機能は順次追加予定です

#制作期間

制作期間は 11/22~12/15
AWSの学習、デプロイ完了まで 12/16~12/30

全体として公開までおよそ5週間です。

#成果物

インディーズバンドとライブハウス間の「チケット共有管理システム」

TicketManagerTool

GitHub https://github.com/KeitaUenishi/TicketManegerTool2.git

#制作の

元記事を表示

【Java】フォルダの権限を取得する方法

#プログラミング勉強日記
2020年1月4日
ファイルにアクセスしたらファイルの権限がなく、プログラムが実装できないことがある。フォルダも同様に権限を取得する必要があるので、その方法を簡単にまとめる。

#java.ioでフォルダの権限を取得する方法
 java.ioは古いAPIである。
 フォルダの権限はjava.io.FileクラスのcanWtriteメソッドやisHiddenメソッドで取得する。

“`java
import java.io.File;

public class Sample {
public static void main(String[] args) {
File file = new File(“c:\\test”);

if (file.canWrite()) {
System.out.println(“書き込みできます”);
} else {
System.out.println(“読み取り専用です”);
}

元記事を表示

できるパイソニアはpass文をうまく使う +Javaの昔話

pass文がかなり便利そうなのでメモを残しておきます。
恐らく、ある程度経験があれば、コレが結構強力だと分かる・・・はず。

#pass文とは
「何もしない」ことを定義します

こんな感じ

“`hoge.py
class hoge:
def foo(self):
pass
“`

コレで何が出来るの、と思うでしょうが、コレかなり強力な文です。

一言で言うと、Javaの**インターフェース**に似ていますね。

ですが、実際にはコレの強力さが分かりづらいと思いますんで、
具体例を作っていきます。

#空のコンストラクタを指定する

例えばこんな感じに空のコンストラクタを書くのが有効です。

“`hoge.py
class someEntity:
def __init__(self):
pass
“`

何が有効かというと**仕様変更に強い**のです!

例えば、このクラスの仕様が変わって「引数が増えたよ~」と注文が来たとしましょう
その時には passを書き換えてこう書けます

“`hoge.py
class s

元記事を表示

JavaでRedis Streamを使う

https://paluch.biz/blog/174-a-first-look-at-redis-streams-and-how-to-use-them-with-java.html

Redis Streams have made it into Redis’ unstable branch since the beginning of this year, and the first clients start with the adoption of Redis Streams APIs. That makes it an excellent time to take a look what Redis Streams provide and how you can use them from a client perspective.

Disclaimer: Redis Streams are available as a first draft and are not part of a stable release yet. APIs are subject to ch

元記事を表示

【Java】string.formatの使い方

# string.format とは?

引数に指定した書式を元に文字列を整形して返すというメソッドです。

#書き方
第一引数は決められた書式に従って書く必要があります。第二引数以降は第一引数で決めた書式に割り当てるための変数を渡します。

“`java
public static String format(String format,Object… args)
“`

# 実装例

指定された書式の文字列と引数を使って、書式付き文字列を返します。
**書式は(%〜)と書いて指定**します。
**整数(10進整数)を整形する場合は`d`、文字列を整形する場合は`s`**を使います。

“`java
int year = 2021;
String str = String.format(“今年は%d年です。”, year);
System.out.println(str); //今年は2021年です。

// はじめに0を追加
System.out.println(String.format(“%05d”,

元記事を表示

【Java】フォルダの作成方法

#プログラミング勉強日記
2020年1月3日
フォルダの作成方法について簡単にまとめる。Java7から機能を改善した`java.nio(NEW I/O 2)`でのフォルダ作成についてまとめる。

#フォルダを作成する方法
 作成するフォルダのパスの指定にはjava.niofile.Pathsクラスのgetメソッドで行う。フォルダを1つだけ作成する場合は、java.nio.FilesクラスのcreateDirectoryメソッドを使う。親フォルダを含めたすべてのフォルダ階層をまとめて作成する場合にはcreateDirectoriesメソッドを使う。

#サンプルコード
 ファイルがすでに存在する場合は、FileAlreadyExistsExceptionの例外が発生する。

“`java
try {
// 絶対パスで作成
Path path1 = Paths.get(“c:\\Test1”);
Files.createDirectory(path1);

// 親フォルダを含めて作成
Path pat

  • OTHERカテゴリの最新記事