JAVA関連のことを調べてみた2019年11月14日

JAVA関連のことを調べてみた2019年11月14日

自動読み込み機能のゲームランチャー を作った話[Java]

#1. はじめに
 私は大学でゲームなどを製作する部活に所属しています。学園祭で長年ゲームを展示するために使われていたゲームランチャー(以下、ゲームランチャー のことをランチャーということがあります)の仕様を知っている人が少なくなってきたので自分で一から作り直そうとしました。色々、間に合わなかったものもありますが形にはなったのでお話ししたいと思います。
 
 この記事ではランチャーのデザイン面についてはあまり触れません。
 **主にどのように自動読み込みをするかどうかについての話や、データのフォルダ構造、苦労した点などをお話しします。**作ろうとしている言語がJavaではなくてもわかりやすく説明できたらなと思います。

スクリーンショット 2019-11-11 22.01.36.pngjava初級編

##インクリメントとデクリメント

プログラムの=は代入なので、自己代入ができます。

int x = 5;
x = x + 1;
//xは6になる

++はインクリメント演算子と言います。変数の値に1を追加して代入する命令です。
x++;
x = + 1;
//どっちも同じ、 xに1追加される

–はデクリメントといい、1引きます。

##真理値
booleanと言う型があります。
booleanは、true(真)またはfalse(偽)を入れられます

真理値とも言います。

本当の事ならtrue 嘘ならfalseと覚えましょう。
あるいは、スイッチがオンならtrue,オフならfalse

boolean a = true;

元記事を表示

java初級

##画面に入力する命令

今回はScannerを使います。この行を1行目に書きます
import java.util.Scanner;

mainの中に準備をします。
Scanner sc = new Scanner(System.in);

入力を受け取りたいところで受け取って変数に代入します。
int x = sc.nextInt(); //整数を取りたい場合
String s = sc.next(); //文字列を取りたい場合

元記事を表示

ようこそJavaライブラリの沼へ!!

こんにちはNev(ネブ)です。
Javaを勉強し始めて早10日、すでにJavaの面白さに取りつかれているので調子に乗りつつ勉強したことをログとして投下したいと思います。

本日の投下は[SpringBoot](https://spring.io/projects/spring-boot)に関してです。

Javaを勉強していく上で気づいたのですが、Javaはライブラリがとんでもなく優秀。
どれくらい優秀かというと、画面製造・単体テストまでほぼオートで製造できてしまうくらいには優秀です。
生PHPいじくってた私からしたらドン引きするレベルです(笑)
そんなライブラリの魅力に取りつかれたので「サボテン並みのIQ」しかない私でも初ライブラリ使用時にめちゃくちゃわかりやすかった資料をまとめました。

##お世話になった神サイト

■初めてのSpringBoot(2015/8/28資料)
└https://www.slideshare.net/shintanimoto/spring-boot10
→少し古いですが、この資料がSpringBootの精神も含め最高にわかりやすいです。
 なぜSp

元記事を表示

Android Studioを使ってGoogle Playを介さずにリアル(SHARP 304SH)で自作アプリを動かす方法

本内容を利用した場合の一切の責任を私は負いません。

#バージョン
– OS
OS 名: Microsoft Windows 10 Home
OS バージョン: 10.0.18362 N/A ビルド 18362
システムの種類: x64-based PC
– Android Studio
Android Studio 3.5
Build #AI-191.8026.42.35.5791312, built on August 9, 2019
JRE: 1.8.0_202-release-1483-b03 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0
– Android
4.4.2
– ADB USBドライバ
17.1(8698791byte 2019/7/9)

#準備
Android Studioを公式からダウンロード&インストールする。
ADB USBドライバを下記からダウンロード&

元記事を表示

Spring Security の認証処理アーキテクチャを学ぶ

Spring Security は割となんとなくで動作してくれるイメージだけど、カスタマイズしようとするとハマったりするので、アーキテクチャを知れば何とか分かるようになるのではないかという発想から調べてまとめてみた。

以下のようなフォーム認証を行うシナリオに沿って、どのようなクラスがどのような役割を担っているのかを調べる。

1. 未認証の状態で認証が必要なページへアクセスする
2. ログイン画面にリダイレクトされる
3. 情報を入力しログイン処理を実行する
4. ログインが完了し 1でアクセスしていた画面にリダイレクトされる

なお、バージョンは 5.2.1.RELEASE で確認している。

# ログイン画面へリダイレクトされるまで

認証が必要なページに対してまだ認証されていないユーザがアクセスした場合、ログイン画面へ飛ばされる仕組みについて。
ざっくりとしたフローは以下の通り。なお、今回はアクセスした際のチェック処理は説明しないが `AuthenticationException` がスローされるところからスタートする。

![ログイン遷移.png](https://qiit

元記事を表示

Spring injectionいろいろ

#下準備
containerに登録するクラスを作ります。

“`java:Triangle.java

package com.springLearning;

public class Triangle {

public void draw(){
System.o

元記事を表示

外部サービスを使って大量メールを送る – Java & Mailgun

# 前書き
外部サービスのメールAPIを使用して、
添付ファイルを送信したい!となった場合の参考に。
メール送信APIは各種存在していますが、今回はMailgunを使用しています。
メリデメの考察や登録方法などは割愛します。

# 環境
* Java 8
* Spring Framework
* メールサービス:MailgunAPI ([リファレンスリンク](https://documentation.mailgun.com/en/latest/api_reference.html#api-reference))

※lombokは今回は使用していません。使ってもよかったのですが…。

## リファレンスにサンプル載ってるけど?
はい。載ってます。
ただし、サンプルに使用されているJavaのHTTPライブラリの場合、メールの添付ファイルに日本語文字が含まれているとメールの受信側で文字化けしたファイル名になってしまうため、やむなくコードに起こしました。
なお、Java以外の言語のサンプルも載っていますが、そちらは試しておりません。あしからずご了承ください。

## 大まかなコードの流れ

元記事を表示

OpenShiftによるJava EEアプリケーションのモダナイゼーションをやってみた。

# はじめに
IBM CloudのOpenShiftのマネージドサービスである「 Red Hat OpenShift on IBM Cloud 」を使った「OpenShiftによるJava EEアプリケーションのモダナイゼーション」の記事を寄稿しました。
https://www.atmarkit.co.jp/ait/articles/1911/15/news002.html

その記事で使用している「 Red Hat OpenShift on IBM Cloud 」は有料サービスのため、たくさんの人に記事の手順を試してもらうのは難しいと思います。 そこで、**無料で利用できるMiniShiftを使って、気軽にOpenShiftでJava EEアプリケーションのモダナイゼーションを体感してもらえるように、リライトしました。**

**今回はアプリケーション・データベース共に全てコンテナ化するケースを試したいと思います。記事を読んでいただいた方は、記事の内容に加えて複数コンテナの連携(アプリケーションとデーターベース接続)について学べるようになってます。** 記事では、データベースはIB

元記事を表示

JSPで接頭辞cがバインドされていませんとなった時の対応方法

– 環境
– Windows10
– Apache Tomcat 8.5.47
– Eclipse Version: Oxygen.3a Release (4.7.3a)
– Java version 1.8.0_231

# 事象 : JSPファイルを使った処理でログファイルにエラーが出た
“`bash
Caused by: org.xml.sax.SAXParseException: 要素”c:choose”の接頭辞”c”がバインドされていません。
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177)

“`

# 原因 : JSPファイルにJ

元記事を表示

Spring Initializr のパッケージング JAR と WAR の差異

## Spring Initializr で Web アプリケーションを生成

[Spring Initializr](https://start.spring.io/) にて以下の設定で Web アプリケーションの雛形を生成する。

– Project: Gradle Project
– Language: Java
– Spring Boot: 2.2.1
– Java: 8
– Dependencies: Spring Web

Packaging の項目を Jar および War にしたものをそれぞれ生成して diff コマンドで差分を取った。

## Jar と War の差異

“`
$ diff -r jar war
diff -r jar/demo/build.gradle war/demo/build.gradle
4a5
> id ‘war’
16a18
> providedRuntime ‘org.springframework.boot:spring-boot-starter-tomcat’
Only in war/demo/src/main/java/c

元記事を表示

Google App Engine (Java 8) + Spring Boot + Gradle で Hello World

## 概要
– Google App Engine Java 8 スタンダード環境 + Spring Boot の構成でシンプルな Hello World 表示 Web アプリケーションを作る

## 環境
– Google App Engine Java 8 スタンダード環境
– Spring Boot 2.2.0
– Gradle 6.0
– JUnit 5
– Thymeleaf 3

## ソースコード

### ソースコード一覧

“`
├── build.gradle
├── settings.gradle
└── src
├── main
│   ├── java
│   │   └── com
│   │   └── example
│   │   └── helloworld
│   │   ├── HelloworldApplication.java
│   │   ├── HelloworldController.java
│ 

元記事を表示

LINE Messaging API SDKのFlexMessageをキレイに作る方法

# はじめに

`FlexMessage`を使ってみたのですが、**送信時にエラーが起きる**、**体裁がイメージ通りではない**、とかでかなり時間がかかりました。
[Flex Message Simulator β](https://developers.line.biz/console/fx-beta/) を利用すると体裁を確認しながら、かつエラーを起きないいい感じに実装できることに気づいたのでやり方を紹介しようと思います。

# 1.デザインを決める

「Showcase」で自分のイメージにあったサンプルを選びます。

1.サンプル集.png

今回はデフォルトの「Restaurant」を例に紹介します。

# 2.FlexMessageをJavaで実装する

## 2-1. Bobbleを作成する

サン

元記事を表示

1文字が2文字になる?toCharArrayメソッドの罠

# はじめに

以下は、@tak777 さんの[【Java】文字列を一文字ずつ切り出しする方法](https://qiita.com/tak777/items/a065a2ed8fef3f95974c)という記事に書かれた、@saka1029 さんの以下のコメントです。

> Javaのchar型は16ビットですが、Unicodeの文字集合の符号空間は0x0から0x10FFFFで16ビットを超えます。
> Javaは内部コードとしてUTF-16という符号化方式を採用していて、16ビットを超える文字はchar2個で1文字を表現します。
> 例えば「?(ほっけ)」のUnicode番号は0x29E3Dであり、Javaでは0xD867と0xDE3Dの連続した2個のcharから構成されます。
> 記事にあるコードでは1文字の半分を切り出してしまう可能性があることに注意する必要があります。

このコメントを読んで、[サロゲートペア](https://ja.wikipedia.org/wiki/Unicode#%E3%82%B5%E3%83%AD%E3%82%B2%E3%83%BC%E3%83%8

元記事を表示

後輩養成のすすめ。~あの辛い徹夜ラッシュをもうしないために~

# 1.はじめに
## 1.1 経緯
年代によって大きく技術力は変わります。僕は学生ですので会社では年代は関係ないのかもしれませんが、プログラミングを必要としない世界(例えば非IT企業、研究室、中高学校)では大きく変わってしまうのです。もちろん一定数そうゆう人は入ってきます。学校ではパソコン関連の同好会みたいな部署が学園祭のアプリや動画を作っていました。僕の学校で問題だったのは人が足りないということ、そして学年によって差が多いところでした。

## 1.2 なにが問題?
まずは人が足りないということです。学校でやってるアプリとかっていうのは企業の真似事ですからアプリはデザインの人が仕様書作ってみんなで共同作業を…って感じですし、動画は絵コンテから映像化…ここからここまでは○○で…って感じでやるわけですよ。でも人が足りなければできることも少ない、でもやりたい、だから一人でやる。っていう感じに一人に背負わされるわけです。学生なのに労働基準法に抵触(学生だから適法だけども)してるわけですね(笑)

そして二つ目は代によって差があるということです。学校なので留年しない限り進級して卒

元記事を表示

オブジェクト指向という幻惑

# オブジェクトしこうは マヌーサを となえた!

## はじめに
この記事は、オブジェクト指向と言う幻惑に包まれた人に届けたい記事となります。
オブジェクト指向やってるぜ!と言う勇者に読んでほしい記事です。

## オブジェクト指向の幻惑1
**Javaやってるからオブジェクト使ってます!**

・・・

そんな訳はありません。

Javaもマルチパラグイムを採用しており、以下のスタイルでコーディング可能です。
– オブジェクト指向
– 手続き型
– 関数型

Java=オブジェクト指向となってしまってる原因は
Javaを広げるためのマーケティング用語として**オブジェクト指向**というワードを使ってしまったから。
オブジェクト指向を正しく理解しない人を増やした犯人はJava自体だったわけです。

## オブジェクト指向の幻惑2
**データクラス作って、ロジッククラスを作って、役割毎にちゃんとクラスわけしてます**
**俺、オブジェクト指向やってるぜ!**

・・・

それは手続き型です。

これは従来の開発スタイルが
機能毎に担当を別けて、機能毎に開発を行う、**機能分割式**のス

元記事を表示

Azure App Service の Tomcat で Javaのヒープサイズを変更する

#前提
Azure WebApp のサーバータイプはWindows

#操作

1. Azure Webコンソール上で App Service を開く
2. Development Toolsのうち「Advanced Tools」を開く(Kudu)
3. Debug Consoleから「CMD」を開く(単なるコマンドラインではなくGUI的にも使える)
4. デフォルトで「D:\home」が開いている状態なので「D:\home\site\wwwroot」を開く(マウス操作でも可能)
5. [wwwroot]の右側にある「+」をクリックして「New File」を選択する
6. 「web.config」というファイルを作成して以下のようにする。「%AZURE_TOMCAT90%」はTOMCATのバージョンによって異なるので確認する。(SETコマンドで環境変数一覧が表示されるのでそこで確認できる)
7. アプリを再起動する

“`xml


元記事を表示

今更 Amazon Corretto で Servlet を動かしてよう

このエントリでは表題にもある通りこの先は選定に難しくなる Oracle Java の代わりに Amazon Corretto を使って Servlet を動かしてみましょう、という内容になります。
まあ、すでにいくつ同じような記事があるんでしょうね!! でもそんなの気にせず書いていきますよ。

## アプリ類を用意する
今回用意したアプリの各バージョンとかは次のとおりです。細かいバージョンはあってなくても、まあ動くんじゃないかなって思う。

– amazon-corretto-11.0.3.7.1-1-windows-x64.msi
– apache-tomcat-9.0.27.exe
– httpd-2.4.41-win64-VC15.zip
– VC_redist.x64.exe

### まずは Apache をインストール

1. VC_redist.x64.exe をまずは実行します。これは C++ の再配布パッケージですね。Apache のWindowsバイナリを実行するには必要になるっぽいです。
1. httpd-2.4.41-win64-VC15.zip を展開します。

元記事を表示

Eclipseの動的webプロジェクトでコンテキストルートをプロジェクトフォルダにする

– `(プロジェクト名)\.settings\org.eclipse.wst.common.component`を開く。
– ``
の部分を
– ``に書き換える。

“`xml:org.eclipse.wst.common.component


元記事を表示

ProcessingとSQLiteを連携する

Processing3上からSQLiteを使ってデータベース操作する方法のまとめ。

以下のサイトを参考にしています。

SQLiteを使う(オープン・クローズ)

## sqlite-jdbcをスケッチフォルダ内に保存する。

まずはProcessingを開いて、ファイルを保存する。するとスケッチのフォルダが作成される。(今回は、DB_test_1.pdeとして保存してみる)

次に、ProcessingからSQLiteを操作するのに必要なJDBCをスケッチフォルダに保存する。

JDBCはSQL言語ごとに様々なものがあるが、SQLite用JDBCは以下のサイトから入手できる
https://gith

元記事を表示

OTHERカテゴリの最新記事