JAVA関連のことを調べてみた2020年02月29日

JAVA関連のことを調べてみた2020年02月29日

eclipse.ini に java の場所を指定する

# eclipse 起動時の java を変えたいとき
eclipse 起動時にエラーになった場合とかに、java の場所を指定したくなった。

– java の場所 は
– `-vm` で設定する
– `-vmargs` の前に書く

“`text:eclipse.ini
・ ・ ・ ・ ・ ・
-vm
C:/java/jdk1.8.0_161/bin/java
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx4g
・ ・ ・ ・ ・ ・

元記事を表示

this()について

this()の意味が分からなかったので書き残しておきます。

# 使用例
プログラムを実行した時間を求めるコードです。

“`java:qiita.java
import java.util.*;

public class Main {
public static void main(String[] args) throws Exception {
System.out.println(new Date());

“`

実行すると

“`java:qiita.java

Fri Feb 28 14:22:03 UTC 2020

“`
new Date()で何が起こっているか確認すると

“`java:Date.class

public class Date
implements java.io.Serializable, Cloneable, Comparable
{
private static final BaseCalendar gcal =

元記事を表示

COTOHA 構文解析APIについてコメント

#掛かりうけ元は複数

>投稿2 [COTOHA API の構文解析 を Java でパースする](https://qiita.com/oyahiroki/items/a300eca1278f57d1106d)

のテストをしていて気づいたのですが、[APIデモ](https://api.ce-cotoha.com/demo) では
「嫁と娘は旅行に行った。」の解析結果について

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110265/542fa82e-8147-d536-be7c-5fa97bc83a98.png)

のように出力されるので、これがてっきり正解をすべて表しているのかと思っていましたが、実際には

“`json

{
“id” : 2,
“form” : “娘”,
“kana” : “ムスメ”,
“lemma” : “娘”,
“pos” : “名詞”,
“dependency_labels”

元記事を表示

DBLINKを使用した Oracle Database で、DBLINK元と先のデータを取得して表示するJavaコードのサンプル

DBLINKを使用した Oracle Database で DBLINK元と先のデータを取得して表示するJavaコードのサンプルです。
某チャットの某質問で「ソース(情報源)はありますか?」と聞かれて「ぐぬぬ。」となったので、書いてみますた。彡(゚)(゚)

# 1. 環境と構成

下記の構成で検証してみました。

> Java → (JDBC) → User_A → (DBLINK) → User_B

環境は Virtualbox の下記環境を使ってます。初めから色々入ってて、セットアップもラクなんで。彡(゚)(゚)

> OTN の VirtualBoxイメージ で Oracle DB 19c環境 を 楽々構築
> https://qiita.com/ora_gonsuke777/items/b41f37637e59319796b4

# 2. User_A の作成とデータ挿入

まずは User_A を作成して、データを挿入します。

“`sql
export ORACLE_HOME=/u01/app/oracle/product/version/db_1
export P

元記事を表示

Selenideオプション一覧

#まえがき
Selenideを利用した自動テストを作成する場合、コーディングせずにSelenideにパラメータを与えておくだけで動作を切り替えられるオプションがあります。
これらを知り、活用することで無駄なコーディングを避けられるので、Selenideをガッツリ利用する場合にはあらかじめ把握したほうが無難です。

実際にオプションを読み込んでいる処理はSelenideConfig.javaにかかれているので、SelenideConfig上のコードとともに見ていきましょう。
ドキュメントの内容と自分が利用してきた経験を踏まえた簡単な説明と個人的な所感も記載しています。
間違ってたらごめんなさい。

#前提
今回の解説はselenideのバージョン5.7ベースに記載しており、公式ドキュメントによる解説は下記ページからも参照が可能です。
https://selenide.org/javadoc/current/com/codeborne/selenide/Configuration.html

#オプション一覧
##selenide.browser
活用度★★★
どのブラウザを利用するか指定

元記事を表示

Gradleに入門する

## Gradle概要

* GroovyベースまたはKotolinベースのDSLで書く
* [プラグイン](https://docs.gradle.org/current/userguide/plugin_reference.html)を活用することで車輪の再発明の防止というか一般的な流れの踏襲ができる
* 当然だが、自らの環境にあわせてカスタマイズする分は自作する必要がある
* [サードパーティプラグイン](https://plugins.gradle.org/)
* ビルドタスクを管理する
* 依存関係を管理する
* Antのラッパーになる
* **Gradleラッパーにより個別インストール不要**
* アップデートは下記のようにコマンド実行すると、次回コマンド実行時に必要なバージョンをダウンロードしてキャッシュされる。

“`shell:sample_upgrade_wrapper
# Version 6.1.1は2020/02/07時点最新
./gradlew wrapper –gradle-version=6.1.1 —

元記事を表示

51歳からの(現52)プログラミング 備忘 FileOutputStream android.content.Context.openFileOutput(java.lang.String, int)’ on a null object reference

こんなコードがあったとする

“`java:SampleActivity
Context context;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContantView(R.layout.sample);
context = getApplicationContext();

new AsyncTask().execute();
}

public void fileWrite(){
try{
openFileOutput(“fileName”,Context.MODE_APPEND);
}
}
“`
“`java:AsyncTask
@Override
protected void onPostExecute(String s){
super.onPostExecute(s);

SampleActivity sampleA = new Sample

元記事を表示

メソッドの分割について(Java)

#メソッドを分割する手順
冗長なコードを書いてしまい可読性が悪化しました。
以下の手順でメソッドを分割したいと思います。

1. printDataメソッドとfullNameメソッドを作成
2. fullNameメソッドの中身を記述
3. printDataメソッドの中身を記述
4. printDataメソッドの呼び出すための記述

“`Main.java
import java.util.Scanner;

class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);

System.out.print(“名前:”);
String firstName = scanner.next();

System.out.print(“名字:”);
String lastName = scanner.next();

String name = firstName + ” ” + last

元記事を表示

Spring DI関連アノテーションについて

> ## Spring DI関連アノテーションの種類
>>
Context Configuration Annotations
 
@Scope
@Autowired
@Resource
@Inject
@Required
@Named
@Order
@PostConstruct
@PreDestroy

> #### @Scope
>
一般的に @Component @Service @Repository などで自動的にスキャニングするBeanはシングルトンとして一つのみ生成されるが、これを変更するためには @Scope アノテーションを使えばよい。つまり、Beanの範囲を設定してあげる。

> singleton – `IoC コンテナー`当たり一つのBeanをリターン
prototype – `リクエスト`がある度に新しいBeanを作成し、リターン
request – `HTTP request オブジェクト`当たり一つのBeanをリターン
session – `HTTP session オブジェクト`当たり一つのBeanをリターン
globalS

元記事を表示

Androidの用語を整理

#Androidの基礎用語を整理
##Context
・アプリケーションの環境情報とかをグローバル(Android OSの全域)で受け渡しするためのインターフェース
・アクティビティの起動とかブロードキャスト、インテントの受け取りといった他のアプリからの応答を行え、アンドロイド特有のリソース・クラスにアクセスすることも出来る。
 アプリ全体の状態を持っていて、何から起動されたかどういう状態か、何にアクセスしようとしているか、といった情報を受け渡すために使っている。ということでいいのかも。(次のサイトから抜粋)
http://individualmemo.blog104.fc2.com/blog-entry-41.html
#Activity
アプリの画面を表示するためのコンポーネントであり、また、状態の保存・復帰のための仕組みや、他のコンポーネントを呼び出す機能がある。ライフサイクルは今後追加
#Intent
 各コンポーネントの要求をシステムに伝えて、意図にあった相手のコンポーネントとつながる。
#Fragment
FragmentはActivity上で運用されるものの独立した機

元記事を表示

【Java】lengthとlength()とsize()の違い

#この記事の内容
Javaで配列や文字列の長さを取得するとき、lengthなのかlength()なのかsize()なのかごっちゃになるので、その辺りを勉強を兼ねてまとめました。

#結論

|length|length()|size()|
|——|——–|——|
|**配列**の長さ|**文字列**の長さ|**コレクション**の要素数|

#length、length()、size()の違い

###length

lengthは配列の長さを取得するのに使われます。

“`java
int[] a = new int [100];
a.length; // 100
a.length(); // コンパイルエラー
“`

配列のメンバであるlengthフィールドを利用するため、()は不要となります。

###length()
length()は文字列の長さを取得するのに使われます。

“`java
String str = “aiueo”
str.length; // コンパイルエラー
str.length(); // 5
“`

文字

元記事を表示

配列の奇数と偶数の和を出力するプログラム(Java)

#手順について
配列の奇数の和と偶数の和をそれぞれ求め、その結果を表示するプログラムです。
以下の手順で記述していきます。

1. 数字の配列を管理するための変数を定義
2. 偶数と奇数を管理するための変数を定義
3. for文で繰り返し処理を記述
4. if文で奇数と偶数の条件分岐を記述
5. 結果を出力ための記述

#数字の配列を管理するための変数を定義

“`Main.java
class Main {
public static void main(String[] args) {
// 変数numbersに、与えられた数字の配列を代入
int[] numbers = {1, 4, 6, 9, 13, 16};
}
}
“`
#偶数と奇数を管理するための変数を定義
“`Main.java
class Main {
public static void main(String[] args) {
int[] numbers = {1, 4, 6, 9, 13, 16};
// 変数oddSumを定義し0を代入しておく(これが奇数)
int

元記事を表示

Java言語で学ぶデザインパターン入門の2章のまとめ

お久しぶりです。白々です。
前回は、「Iteratorパターン」に関しての記事を作成しました。
前回の記事は、後述のappendixに記載しています。
今回は、「Adapterパターン」に関して記載したいと思います。
また、「Java言語で学ぶデザインパターン入門」には、サンプルプログラムも有りますが、著作権の都合上省かせて頂きます。御了承ください。

#第2章 Adapter -皮かぶせて再利用
日本で使っている電化製品があると思います。
この電気製品を海外でコンセントを利用する時に、電圧が違うので、コンセントの変換器を持っていくと思います。
このように、すでに供給されている物をそのまま利用できない場合に、使うことができる形に変換することで利用できるようになります。
このような、変換を行うパターンをAdapterパターンと言うそうです。
「Java言語で学ぶデザインパターン入門」には、
>「すでに提供されているもの」と「必要なもの」との「ずれ」を埋めるためのデザインパターン

と言う記載がありました。
このAdapterパターンは、Wrapperパターンとも呼ぶそうです。

##な

元記事を表示

Minecraft1.12.2で1.14のSweet berryのような植物ブロックを追加したメモ(サンプルコード)

#Minecraft1.12.2で1.14のSweet berryのような植物ブロックを追加したメモ(サンプルコード)
右クリックで収穫できる茂みを作るよ

##環境
– Forge MDK: forge-1.12.2-14.23.5.2768

##前提
– 追加したブロックやアイテムの登録用クラスやプロキシクラスを用意してある
– (僕は[あゆたきさんのチュートリアル](https://ayutakimm.wp-x.jp/universal-jp/contents-tree-jp/)の通りにやりました)
– テクスチャのドット絵を用意してある

##参考にしたバニラのコード
備考: 新しい処理は何も書いていなくてバニラの変数に代入したりしただけです

– 1.12.2の
– ItemFood.class
– ItemSeed.class
– BlockCrops.class
– BlockCarrots.class
– apple.json
– acacia_sapling.json
– carrots.json

元記事を表示

【Java】あるディレクトリの下のファイル全てに対して処理を行う

別に目新しくもなんともないのですが、なんとなく投稿してみます。

掲題のような処理を行うには、Java7で追加されてたFiles#walkFileTree()がよさそうです。

“`WalkFileTreeSample.java
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;
import java.io.*;

public class WalkFileTreeSample {
public static void main(String[] args) throws IOException {
Path start = Paths.get(“/Users/daiki/go”);

Files.walkFileTree(start, new SimpleFileVisitor() {
@Override
public FileVisitResult visitF

元記事を表示

Spring bootでapplication.propertiesの設定値を起動時に変更する方法

新型コロナの影響が徐々に職場にも出始めていていつ出社停止になるかドキドキしています。

そんな中、久しぶりに丸一日ハマったので記録しておくことにしました。
しかも理解できればとても単純な話でかなり凹んでます。
おそらくJavaやってる人からすれば初歩的すぎてWebに公開するまでもないようなことなのかもしれません。。

## やりたいこと
* アプリケーション起動時に設定ファイルを読み込んで値を設定したい。

こんな簡単なことに8h。

## ハマったポイント
* classes/application.propertiesを書き換えても値が反映されない。

## 事象再現

https://github.com/t-o-z/configuration-demo

Readmeの通りにセットアップして、

“`
docker run config-demo
“`

するとapplication.propertiesに含まれている

“`
. ____ _ __ _ _
/\\ / ___’_ __ _ _(_)_ __ __

元記事を表示

Android StudioでUsageStatsManagerを使う方法(他のアプリの起動時間を調べる方法)

## 前提

Windows 10
Android Studio最新版
Java

**この方法は、2020/02/27時点では私のスマートフォンのおいては正常に動作しました。**
**仕様変更があるかもしれないので、コピペしてうまく行かない場合は公式ドキュメントを参考にしましょう。**

## やりたいこと

他のアプリがその日どれくらい起動していたかを取得する必要がありました。
例えば、下の画像はActionDashというアプリで、他のアプリの起動時間を表示しています。
[](
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183842/204c2e67-128d-8889-6ae4-172c6a1155a8.png)
)

結論から言うと、[UsageStatsManager](https://developer.android.com/reference/android/app/usage/UsageStatsManager)を使えば良いです。

## UsageStatsMan

元記事を表示

51歳からの(現52)プログラミング 備忘 3行 android ボタンにフォーカスを移動する

“`
Button btn = findViewById(R.id.btn);

btn.setFocusable(true);
btn.setFocusableInTouchMode(true);
btn.requestFocusFromTouch();
“`

元記事を表示

OWASP dependency check と認証プロキシと私

# OWASP dependency checkとは
[ここ](https://www.pupha.net/archives/3692/)が一番わかり易いサイトかと思います。
同サイトでも記載されているように、あるモジュールに対して、既知の脆弱性を持ったライブラリを
使っていないかをチェックするツールとなっています。

元はJavaアプリや.NETアプリ向けのツールで、今はプロトとして以下のものも対応しつつある状態。
* Python アプリケーション
* Ruby アプリケーション
* PHP (Composer) アプリケーション
* Node.js アプリケーション

# 実行環境
OS:CentOS 7.7
OWASP dependency check:5.3.0

# 現象
CLI版を使ったのですが、[マニュアル](https://jeremylong.github.io/DependencyCheck/dependency-check-cli/arguments.html)に従って、
Proxyサーバ、Proxyポート、Proxy認証の情

元記事を表示

Minecraftのテクスチャなどを指定するJsonを自動生成するクラスを作った【1.12.2】

#はじめに
今更ですが、Minecraftのリソースは1.8以降からブロックステートなるものが実装され、それに伴いテクスチャを割り当てるためにJsonを書かないといけなくなりました。それもあって簡単に3Dモデルを実装したりすることが可能になりました。しかし、Modding時、全ての追加コンテンツに最低でも1つのJsonを書かなくてはならず、非常にめんどくさいと感じていました。

実はコード自体は数ヶ月前に作っていたのですが、久しぶりにカキカキして使いやすいように書き直しました。

せっかくなので公開します!

#開発環境
– Windows 10
– Minecraft 1.12.2
– Minecraft Forge 14.23.5.2847
– IntelliJ IDEA 2019.1.4
– Gradle 3.0
– Forge Gradle 2.3-SNAPSHOT

#ソースコード
GitHubにてソースコードを公開しています。
また、開発にあたって [**GitHub defeatedcrow/HeatAndClimateLib**](https://github.co

元記事を表示

OTHERカテゴリの最新記事