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

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

Java覚え書き

java

Oracleから対象のJDKインストーラをダウンロード
2019/4/19からダウンロードにアカウントらしきものが必要になった。
めんどい、プロファイルは作ったら削除するには18か月一切いじらず個人情報を消されるのを待つか、自分で問い合わせフォームから削除依頼をしなくてはならない、めんどい

インストール後環境変数の指定をする
こういうの(プログラム関係)は、PCのシステムにインストールしてあることを教えなくてはならない、それをする(じゃあ果たしてこれはインストールといえるのか?)

検索で「システム環境変数の編集」より編集する。
(コントロールパネル→システム→システムの詳細設定)

システム環境変数
変数名 JAVA_HOME
値 C:\~~\Java\jdk1.8.0_261

変数名「Path」の値に
%JAVA_HOME%\bin
を追加

とりあえずこれで定番の
Hello_World
はできるはず、メモ帳かなんかで

“`java:Hallo_World.java
public class Hallo_World{
public static vo

元記事を表示

【忘備録】Java : 文字列検索

# はじめに
`trim`と`contains`はよく使うと思います。
## String検索
### 1, contains
文字列内に特定文字列が含まれるか検索。
小文字、大文字は区別している
含まれるなら`true`。
含まれないなら`false`。

“`StringSearch.java
public class StringSearch {
public static void main(String[] args) {
String JAVA = “Java”;
String RUBY = “Ruby”;
String SOFTWARE = “Software”;

String word1 = “I study Java”;
String word2 = “I made app made by Ruby on rails”;
String word3 = “I want to be Software develop

元記事を表示

kotlinとjavaで画面遷移したい!

# はじめに…

この記事は[4個前の記事](https://qiita.com/sato-na/items/cc23f9b1db9c948dc00e)で書いた、

**7日間毎日記事投稿の5日目**

になってます

使うコードは下に貼りますが、このアプリの詳しい機能はその4個前の記事をご覧ください!

– java版 : https://github.com/sato-na/guruwake_java

– kotlin版 : https://github.com/sato-na/guruwake_kotlin

↓ここからが今回の記事の本題です↓

# それぞれの言語で画面遷移をするには…

## 画面遷移の基礎

– javaの場合

“`java
Intent intent = new intent(遷移前のアクティビティ.this, 遷移後のアクティビティ.class);
startActivity(intent);
“`

例)

“`java:MainActivity.java
Intent intent = new Intent(MainActivity.thi

元記事を表示

基礎Webアプリケーション作成 Servlet/JSP(ログアウト機能)

#はじめに
今回は前回、[基礎Webアプリケーション作成 Servlet/JSP(投稿画面)](https://qiita.com/tatufut/items/762e83382b124d793ee1)の続きを行います。
この記事で目指すのはセッションスコープの破棄を行いログアウトする機能を実装します。

##実行環境
– Eclipse4.16
– Tomcat9
– Java11

##1.ログアウト処理に関するコントローラー

“`java:Logout.java
@WebServlet(“/Logout”)
public class Logout extends HttpServlet {
private static final long serialVersionUID = 1L;

public Logout() {
super();
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletExcep

元記事を表示

JavaはPowerPointスライドにテキストボックスを追加します

テキストボックスは、移動可能でサイズ変更可能なテキストまたはグラフィックコンテナを指します。PowerPointでは、新しいコンテンツを追加する必要がある場合、多くの場合、新しいテキストボックスを挿入する必要があります。
この記事では、Free Spire.Presentation for Javaを使用してテキストボックスをPowerPointスライドに追加し、テキストボックスの境界線のスタイル、塗りつぶし効果、シャドウ効果、テキストボックスの回転、テキストスタイルなどを設定する方法。

**JARパッケージのインポート**
**方法1:**[Free Spire.Presentation for Java](https://www.e-iceblue.com/Download/presentation-for-java-free.html)をダウンロードして解凍し、libフォルダーのSpire.Presentation.jarパッケージを依存関係としてJavaアプリケーションにインポートします。
**方法2:**Mavenリポジトリから直接JARパッケージをインストールし、pom.

元記事を表示

Java で gRPC サーバーを書くことによって Java 知識をアップデートする (2)

gRPC サーバーを書いて理解するだけなのだが、なかなか知らないことが多くて先に進まない。ただし、自分なりにゆっくりやってみる。
二回目のトピックは `Future` と `Callable` インターフェイスについてだ。これを理解しないことには、`gRPC` は理解できない。この辺りは、C# の Task や async/await の仕組みに近そうな香りを感じるのでお題として

**FanOut/FanIn** を Java で実装してみようと思う。

# Callable インターフェイス

単純にT型の戻り値を戻すようなインターフェイスになっている。

“`java
@FunctionalInterface
public interface Callable {
/**
* Computes a result, or throws an exception if unable to do so.
*
* @return computed result
* @throws Exception if unable to compute a result
*/

元記事を表示

Java練習問題「中級」

## Java練習問題「中級」

### 整数値を入力させ、その値が偶数ならばeven、奇数ならばoddと表示するプログラムを作成せよ。
“`java
private static void question40(int num1) {
System.out.println(“問40”);
if (num1 % 2 == 0) {
System.out.println(“even”);
} else {
System.out.println(“odd”);
}
}
“`
###整数値を入力させ、その値が一桁の自然数かそうでないか判定するプログラムを作成せよ。
“`java
private static void question41(int num1) {
System.out.println(“問41”);
if (num1 > 0 && num1 <= 9) { Sys

元記事を表示

FizzBuzz問題

FizzBuzz問題を解いてみました!
もっとすっきりかける気がしますがまた今度解いてみようと思います。

##FizzBuss問題
1以上100以下の整数を順に画面に出力します。

ただし、3の倍数の場合には”Fizz”、5の倍数の場合には”Buzz”、3かつ5の倍数の場合には”FizzBuzz”を、数字のかわりに画面に出力します。

“`java

public class FizzBuzz {
public static void main(String[] args) {
for (int i = 1; i <= 100; i++) { // forで1から100までの数でループ for (①初期化式; ②条件式; ④反復式) //反復式では繰り返し後に行いたい処理を書く(繰り返し時には必ずiが+1される) if (i % 3 == 0) { // 3の倍数かつ5の倍数のとき if (i % 5 == 0) {

元記事を表示

リファクタリング_メモ_20200819

#リファクタリング

**1.プログラム改善について**

  プログラム開発はとても複雑な行為で、試行錯誤を行いながら進めます。
  その方法はさまざまで、レビューを開いてどこを改善すべきか、このまま開発を進めてよいかなどを
  お客さんに確認して進めたりします。

  また、期限、締め切りが迫っているなどの理由で「好ましくないが手軽な書き方」をあえて
  選択しなければいけないこともあるでしょう。
  ※期限を守ることを最大限努力してもダメな場合

  ですから、**意識せずに放っておくと開発中のプログラムはどんどん複雑になってしまいます。**
  後から見ると、自分でも「なんでこんなわかりにくいコードを書いたんだろう?」と思うことは、
  熟練したエンジニアでも決して珍しくありません。
  同じようなクラスをコピペで増やしていって後で修正が大変になる、などがその例ですね。

  しかし複雑なコードになればなるほど修正も大変です。
  複雑なプログラムほど最初は軽微なものでも、時間がたつとともにどんどん雪だるまのように
  複雑さが増えて最後には手をつけられないようになります

元記事を表示

Javaのswitch文とbreak、Kotlinのwhen式と…

## Javaのswitch文の場合

問題。以下のJavaコードの “`main(…)“` を呼び出したときの “`countOnes(int[])“` の結果は何でしょう(筆者としては引っかけようという気持ちはあまりないので、まぁお気軽に)?

“`java:SwitchSample.java
public class SwitchSample {
public static int countOnes(int[] numbers) {
int counter = 0;
for(int number : numbers) {
switch(number) {
case 0:
System.out.println(“ZERO”);
break;
case 1:
counter++;
defaul

元記事を表示

Prototypeパターン

###Protytypeパターン
クラスからインスタンスを生成するのではなく、インスタンスから別のインスタンスを作り出す。原型となる、模範となるインスタンスを元に新しいインスタンスを作る。

###Prototype(原型)の役
インスタンスをコピーして新しいインスタンスを作るためのメソッドを定める。

““java
package framework;

public interface Product extends Cloneable {
// 「使う」ためのメソッド。使うが何を意味するかはサブクラスの実装に任されている
public abstract void use(String s);
// インスタンスの複製を行う
public abstract Product createClone();
}
““

###ConcretePrototype(具体的な原型)の役
インスタンスをコピーして新しいインスタンスを作るメソッドを実際に実装する。

““java
import framework.Product;

public class MessageBo

元記事を表示

Java SE Bronze試験のテスト内容

**Java SE Bronze試験のテスト内容**
言語未経験者向けの入門資格。Java言語を使用したオブジェクト指向プログラミングの基本的な知識を有することを評価することを目的としている。

**1. Java言語のプログラムの流れ**
– 1.1.Javaプログラムのコンパイルと実行
1.2.Javaテクノロジーの特徴の説明
1.3.Javaプラットフォーム各エディションの特徴の説明

**2.データの宣言と使用**
2.1.Java言語でのデータ型の説明(基本型、参照型)
2.2.各種変数や定数の宣言と初期化、有効範囲
2.3.配列(1次配列のみ)の生成と使用
2.4.コマンドライン引数の利用

**3.演算子と分岐文**
3.1.各種演算子の使用
3.2.演算子の優先順位
3.3.if、if/else文の作成と使用
3.4.switch文の作成と使用

**4.ループ文**
4.1.while文の作成と使用
4.2.for文及び拡張for文の作成と使用
4.3.do-while文の作成と使用
4.4.ループのネスティン

元記事を表示

Singletonパターン

###Singletonパターン
インスタンスが1つしか存在しないことを保証するパターンのこと。

###Singletonの役
Singletonの役は唯一のインスタンスを得るためのstaticメソッドを持つ。
このメソッドはいつも同じインスタンスを返す。

““java
package singleton;

public class Singleton {
private static Singleton singleton = new Singleton();

// コンストラクタをprivateにすることでクラス外からコンストラクタを呼び出すことを禁止する
private Singleton() {
System.out.println(“インスタンスを生成しました”);
}

// インスタンスを返すstaticなメソッドを提供する
public static Singleton getInstance() {
return singleton;
}
}
““

###呼び出し元

““java
package singlet

元記事を表示

【Java】文字列の扱い(StringクラスとStringBuilderクラス編)

備忘録。

## Stringクラス
 String型のデータである文字列は、それ自身を書き換えることができません。また、String型は参照型であるため、初期化されたString型の変数に、異なる文字列を際代入すると、元の文字列が書き換えられるのではなく、新しい文字列が生成され、変数の**参照先が切り替わります**。

## Stringクラスのメソッド
“`Java:Sample.java
String s = “onigiri”;
“`

|メソッド|説明|結果|
|:———–|:————|:————|
|charAt(2)|引数にある文字を返す。開始は0番目|i|
|equals(“onigiri”)|引数の文字列と同じか比較し、boolean値で返す。|true|
|intern()|文字列プールの中にある一意の文字列を返す|onigiri|
|indexOf(‘g’)|引数の文字が最初に出現する位置を返す。開始は0番目|3|
|length()|文字列の数を返す|7|
|replace(‘i’,’Y’)|第1引数の文字を、

元記事を表示

kotlinとjavaで関数を作りたい!

# はじめに…

この記事は[3個前の記事](https://qiita.com/sato-na/items/cc23f9b1db9c948dc00e)で書いた、

**7日間毎日記事投稿の4日目**

になってます

使うコードは下に貼りますが、このアプリの詳しい機能はその3個前の記事をご覧ください!

– java版 : https://github.com/sato-na/guruwake_java

– kotlin版 : https://github.com/sato-na/guruwake_kotlin

↓ここからが今回の記事の本題です↓

# それぞれの言語で関数を作るには…

– javaの場合

“`java
修飾子 戻り値の型 関数名(引数, 引数, …) {
関数の内容
return 戻り値
}
“`

例)
※ 引数なし、戻り値なしの関数を定義している

“`java:WhoActivity.java
private void addMember() { // 78行目
EditText memberET = findViewB

元記事を表示

Galasaを使ってみた

#はじめに
[Galasa](https://galasa.dev/)というz/OSをベースとしたハイブリッド・クラウド・アプリケーションのためのテストフレームワークがオープンソースのプロジェクトとして提供されています。これはまだ提供されてから日が浅く(2019年の12月にV0.3.0リリース)、当記事執筆時点(2020年8月)でもV0.10.0というレベルでまだまだこれからという感じのモノなのですが、z/OSのアプリケーションをターゲットにしているというところが魅力的です。しかも、CICS TSの開発拠点でもあるIBM Hursley Lab(UK)で作られているというのが激アツです。ということで、このGalasaを使ってみた時のログです。

#Galasa概要

Galasaはz/OSをベースとしたハイブリッド・クラウド・アプリケーションのためのテストフレームワークです。Eclipseのプラグインが提供されていますので、3270アプリやz/OSのバッチアプリなどのテストコードをEclipse上でJUnitライクにJavaで実装しテスト実行を行うことができます。
サンプルのテストコー

元記事を表示

JavaからSalesforceRESTAPIを叩く

#はじめに
本記事はJavaからSalesforceのRESTAPIを叩くソースコードの備忘録です。
プロパティファイルなど省略している部分も多いので、このまま書いても動くわけではありません。

とりあえず以下3点がわかれば良いと思っています。
1. JSON形式でリクエストを送信/受信する書き方
2. JSON形式でレスポンスを送信/受信する書き方
3. 配列型のJSONの作成方法

##リクエスト・レスポンスの形式
リクエスト

“`JSON:JSON
{
“request” : [
[
“id” : “000”,
“name” : “sample0”
]
[
“id” : “001”,
“name” : “sample1”
]
]
}
“`
レスポンス

“`JSON:JSON
{
“results” : [
[
“id” : “000”,
“name” : “sample0”,
“status” : “200”
]
[
“id”

元記事を表示

Spring Boot + GradleでWebサイトを作ってみる(jdk1.8.x)

# これは何?
JavaでWebサイトを作るのってどうやるの?という、最初の一歩で、成果物はHTMLページが1枚表示されるのみです。Webサーバを動作させブラウザに表示させることを目標とした記事です。
動作したら、修正を加えながら覚えていくと良いと思います。

# 動作確認したシステム要件
2020年8月に以下の要件で動作確認を行っています。

– macOS 10.14.6
– Homebrew 2.4.12
– Gradle 6.6
– jdk1.8.x
– git

ここで利用するサンプルコードは [GitHub](https://github.com/ryoyakawai/java_gradle_springboot_helloworld)にあります。

# 1. 手順:まずは動かしてみる
## 1.1. Projectのディレクトリを作成して移動する

“`bash:Terminal
$ mkdir -p helloworld; cd $_
“`

## 1.2. Gradle Projectを初期化する

“`bash:Terminal
$ gradle init
`

元記事を表示

51歳(現52)からのプログラミング 備忘 VScodeでjarの追加 Class.forName java.lang.ClassNotFoundException:com.mysql.cj.jdbc.Drive

VScodeでjavaしてると、たまにハマります。
今回は、DB(mysql)を扱うために、mysqlのjdbcを使いたかったのですが、

java.long.ClassNotFoundException: com.mysql.cj.jdbc.Driver
っていうエラーが止められなかった。
解決に丸1日(涙

VScodeでは、外部jarファイルの導入は、[java Dependency Viewer]を使うので、VScodeの拡張機能で[Project Manager for java ]をインスツールしときます(jdk8ならインスツールバージョンは0.9.0とか古いのを使ってね)。

では下記備忘です!

![vscode_dependenciew.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399000/b9897759-8921-1246-3ec9-74ef8c44f556.jpeg)
①でjavaファイルを選択し
②のエクスプローラメニュー[ … ]を選択して
③jdk8  

元記事を表示

护网礼盒:哥斯拉Godzilla shell管理工具

护网期间,各大厂商的waf不断,在静态查杀、流量通信等方面对webshell进行拦截,众红队急需一款优秀的权限管理工具,冰蝎3.0的发布可能缓解了流量加密的困境,但是冰蝎3.0的bug众多,很多朋友甚至连不上冰蝎的shell,于是[@BeichenDream](https://github.com/BeichenDream)决定公开他所开发的一款shell权限管理工具,名为“哥斯拉”。

# 简单使用方法
在哥斯拉安装之前,你需要安装jdk1.8的环境。双击Godzilla.jar打开,此时会在同目录下生成data.db数据库存放数据。首页长这样
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/593424/5a75e3b1-9b6e-7b2d-9142-134785133157.png)

点击 **管理**-**添加** 生成所需的webshell,哥斯拉支持jsp、php、aspx等多种载荷,java和c#的载荷原生实现AES加密,PHP使用亦或加密。生成时需要记住自己的生成配置用以

元記事を表示

OTHERカテゴリの最新記事