JAVA関連のことを調べてみた2023年10月03日

JAVA関連のことを調べてみた2023年10月03日

【JAVA入門】サーブレット、JSPについて簡潔説明

## サーブレット
 Javaプログラムを使用してWebアプリケーションを開発するための技術です。サーブレットは、クライアントからのHTTPリクエストを受け取り、処理し、HTTPレスポンスをブラウザに返します。

##### サーブレットコンテナ
 サーブレットは、サーバー上で実行される特別な環境で動作します。この環境は「サーブレットコンテナ」と呼ばれ、HTTPリクエストの受信からサーブレットの呼び出し、HTTPレスポンスの送信までを管理します。代表的なサーブレットコンテナには、Apache Tomcat、Jetty、IBM WebSphereなどがあります。

## JSP
 サーブレットと同じ、サーバサイドプログラムの技術です。サーブレットクラスの代わりにJSPファイルを使用します。
 JSPはHTML内にJavaコードを埋め込むことができ、サーバーサイドで実行されます。

##### JSP実行の仕組み
 JSが初めてアクセスされた時、JSPサーブレットが自動で生成され、自動でコンパイルされる。クラスファイルを実行するとオブジェクトが生成されてブラウザに出力される。2回目以降のア

元記事を表示

【Java入門】各用語を簡単に解説(コンストラクタ,継承,インターフェース,static,例外の説明)

## はじめに

 javaの基本用語である『コンストラクタ,継承,インターフェース,static,例外』について目的・特徴・書き方に分けて簡単に説明します。javaの研修や後輩に教えるときなど簡潔に説明しなくてはいけないと時にお使いください。

## コンストラクタ
 クラスからオブジェクトを作成する際に呼び出される特殊なメソッドです。

#### ・目的
**1\. オブジェクトの初期化**

 クラスのインスタンス(オブジェクト)を作成する際に、そのオブジェクトの初期化を行います。
 コンストラクタは、オブジェクトがどのように初期化されるかを定義します。

**2\. メンバ変数の設定**

 コンストラクタを使用して、オブジェクトのメンバ変数(インスタンス変数)に初期値を設定できます。

#### ・特徴
* コンストラクタの名前はクラスの名前と同じであり、戻り値型を指定しません。コンストラクタは戻り値を持たないため、voidも指定しません。

* 複数のコンストラクタを定義できます。これをオーバーロードと呼びます。異なる引数リストを持つ複数のコンストラクタを定義することで、オ

元記事を表示

Javaで「格納されている文字列の長さを変更する」の動作を確認してみた

# 概要

Javaで「格納されている文字列の長さを変更する」の動作を確認してみました。以下のページを参考にしました。

https://www.javadrive.jp/start/stringbuilder/index9.html

# 実装

以下のファイルを作成しました。
“`JSample9_1.java
class JSample9_1{
public static void main(String[] args){
StringBuilder sb = new StringBuilder();

sb.append(“ABCDEF”);
System.out.println(“[” + sb.toString() + “]”);
System.out.println(sb.length());

sb.setLength(3);
System.out.println(“[” + sb.toString() + “]”);
System.out.println(sb.length());

sb.setL

元記事を表示

ANN: Dogelog Player for Java

It has been already 2 years since we started a new Prolog system. This new Prolog systems is 100% written in Prolog, including the I/O and the runtime compiler. We managed to adress the JavaScript and the Python target.

![doge_java.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/416192/660baa00-53a8-4848-8508-02fec62cd6fd.png)

We now completed a new target, namely Java. This target is different since in contrast to JavaScript and Python, the Java programming language is a type

元記事を表示

[AWS] Amazon Textractの実装と機能

# AWSのAmazon Textractの概要と機能

## 概要
Amazon Textractは、AWSのクラウドベースの光学文字認識(OCR)サービス。このサービスは、印刷された文書や手書きのメモ、テーブルなどの情報を構造化されたデータに抽出し、機械的な処理や分析に利用することができる。Amazon Textractは、文字や単語の位置情報、テーブルのセルや行の情報などを抽出するため、精度の高い結果を提供する。

## 機能
以下に、Amazon Textractの主な機能を示します。

1. テキスト抽出: イメージファイルやPDFなどの文書から、文字の情報を抽出し、手書きの文字や印刷された文字に対しても高い精度で認識が可能。
2. テーブル抽出: テキストベースで構成された表やグリッドの情報を抽出し、テーブル内のセル、行、列の情報を構造化した形式で提供する。
3. フォーム抽出: フォームの情報(氏名、住所、電話番号など)を自動的に抽出し、複数のフォーム項目を一括で処理することができる。
4. 関連画像抽出: 文書に関連する画像を検出し、抽出することができる。画像内のオブジ

元記事を表示

スッキリわかるJava入門 実践編 第3版 まとめ – part7 -さまざまなファイル形式

# はじめに
こんにちは ◤●ㅅ●◥ノ

今回は代表的なデータフォーマットとその操作方法について学びました!

## 第7章 さまざまなファイル形式
### 1.データフォーマット
複数のデータについてどのような形式や順序で保存するかを定めたルール
→ __データフォーマット__
複数のデータをファイルに保存したり、ネットワークを経由して遠隔地に伝送する場合に役立つ
ファイル内のデータ構造→ファイルフォーマット
メッセージのデータ構造→メッセージフォーマットor電文フォーマット

### 2.CSV形式
複数のデータをカンマで区切って順に格納するデータフォーマット形式
→ __CSV__ と呼ばれている

書き込み…各データの合間にカンマ記号を出力する
読み込み…基本的に1文字ずつ読み進めながらカンマかどうかを判断する

### 3.プロパティファイル形式
CSV形式のカンマ区切りやスペース区切りでは力不足な場合
→Javaでは __プロパティファイル形式__ を用いる

形式には次のようなルールに従って、データをキーと値のペアで格納する
:star: プロパティファイル形式の

元記事を表示

EclipseのCheckStyleで【cannot initialize module JavadocMethod – Property ‘scope’ does not exist】

# 問題
Eclipseで、数年前に作成されたCheckstyleを適用したら、エラーになった。
Checkstyle execution failed due to an internal error.

Eclipseのログには以下が出力されていた。
cannot initialize module TreeWalker – cannot initialize module JavadocMethod – Property ‘scope’ does not exist, please check the documentation

※{ワークスペースのディレクトリ}/.metadata/.log

# 解決方法
`cannot initialize module JavadocMethod – Property ‘scope’ does not exist`と言われているのだから、scopeを定義している箇所を削除。
“`sampleCheckstyle.xml


Javaのフレームワーク「Spring」を使って開発を行っています。
今回はその2になります。[前回はこちらから。](https://qiita.com/nayuziro200/items/b7e0cd1da19072b27252)

# 目次

1. [REST APIとは?](#Chapter1)
2. [APIの作成](#Chapter2)



## REST APIとは?

REST(Representational State Transfer)は、ウェブアーキテクチャの設計原則を指し、RESTful APIはこの原則に従って設計されたウェブAPIの一種になります。

API(Application Programming Interface)は、ソフトウェアアプリケーション同士がコミュニケーションを取るための一連のルール(インターフェースの仕様)になります。

REST APIでは、HTTPで定義するGET

元記事を表示

ユニバーサルロボットへのRTDE通信の実例(JAVA)

# はじめに
世界で多くのシェアを誇る協働ロボットであるユニバーサルロボットは、ロボットの座標値やスピードスライダ値などの取得、または設定できるデータ通信機能を実装しております。
Real-Time Data Exchange(RTDE)通信と呼ばれるもので、ポート30004番にアクセスすることでリアルタイムのデータの取得・設定を可能とします。内容についてはEtherNet/IPの内容と同等なのでPLCがあればこの通信を使うことは不要ですが、ラズパイや外部パソコンからデータ通信を行うときに非常に役立ちます。

https://www.universal-robots.com/articles/ur/interface-communication/real-time-data-exchange-rtde-guide/

RTDE通信の仕組みは次の投稿で詳細にご説明しますが、まずここではどういうことができるのかを知っていただくために、JAVAで通信できるライブラリをOSSでGithubに公開しておりますので、それを使用した例を示します。

# RTDE通信のプログラム例
Githubの公開

元記事を表示

Spring Boot 3アプリのJARをOpen Libertyにデプロイして動かす

Open Liberty 23.0.0.9でSpring Boot 3系のアプリケーションの稼働をサポートする `springBoot-3.0` フィーチャーがリリースされました。
これまでもSpring BootアプリをWARファイルにパッケージングしてデプロイはサポートされていました。`springBoot-3.0` フィーチャー使用することで、JARファイルでの稼働もサポートされます。

この記事ではSpring Boot 3で実装したWebアプリケーションのJARをOpen Libertyにデプロイして動作させてみます。

https://openliberty.io/blog/2023/09/19/23.0.0.9.html

## 本記事で使用するコンポーネント

本記事では以下のコンポーネント・バージョンで動作確認を行っています。
各コンポーネントの別バージョンでは動作しない可能性がありますので、本番投入する際には事前に手元で動作確認することをお勧めします。

|コンポーネント名|バージョン|
|:–|:–|
|JDK|OpenJDK 17.0.8 (IBM Seme

元記事を表示

RatingBarの画像をカスタマイズする方法

# はじめに
RatingBarは評価に使われるツールです
ユーザーに商品の評価などをしてもらうときに便利な機能ですね
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/252283/5954a014-4d35-85de-645b-0f7c4689d832.png)

https://developer.android.com/reference/android/widget/RatingBar

色のカスタマイズなどは容易なのですが、たまに星の画像(形)を変更してほしいという依頼がありします
というわけでカスタマイズ方法の紹介です
ただし、修正方法は公式推奨の変更方法がないので、あまり推奨はできません
RatingBarは元々OSバージョンやユーザー設定によってバグが起きやすいの機能なので変更したくないというのが本音・・
今回はなるべくバグが起きない、且つ、簡単な方法を紹介します(大手サービスでしばらく運用していますが今のところ問題は起きていません)

# 調べたやり方
参考サイト:
Ra

元記事を表示

本気で一ヶ月働いてみて思ったこと

# tech企業の実践就業型インターンシップに参加

一ヶ月の間、平日週5回毎日朝から夕方までフルタイムで働いて思ったことをとにかく書き下していく
いろいろ思い出したり感じたことがあれば随時更新していく

Javaを使って社内システムの開発を行なった
スクラム開発(二週間ごとに課題を決めて毎日報告)

## 開発者としての意識
何年も使えるコードを作る
メンテナンスのしやすさや他人が見やすいか
ー> コードは個人のものではなく会社のもの!

## バックログを明確に
多分これが一番苦労したし一番重要だと思うこと
序盤には「え、俺今何してるの」と思う瞬間がかなりあった
なぜこのようなことに陥るのかというとタスクの優先順位がしっかり設定できていないからである
これができていれば、「何のために何をしているのか」がはっきりし、コーディングを進めることができる
これは研究など普段の生活でも役立つだろう
とてもいいことを学ばせてもらった

脳のリソースは無限じゃないしなんなら自分はその容量が小さいほうだと思う
だからこそ外部記憶装置(ノートとかnotion)を使って実装に集中できるようにする
タス

元記事を表示

Javaでコンパイル時に「エンコーディングwindows-31jにマップできません」が発生

# エラー内容
javaの実行の際にエラーが発生したので対処方法をまとめておきます。

コマンドプロンプトからコンパイラ時に以下のようなエラーが発生しました。

“`
C:\JavaBasic\03>javac Sample0301.java
Sample0301.java:3: エラー: この文字(0x86)は、エンコーディングwindows-31jにマップできません
System.out.println(“Java縺ョ荳也阜縺ク縲√h縺?縺薙◎”);
“`

Sample0301.javaの中身は以下の通りです。
“`Sample0301.java
class Sample0301 {
public static void main(String[] args) {
System.out.println(“Javaの世界へ、ようこそ”);
}
}
“`

# エラーの対処方法
コンパイラでの実行の際に[-encoding UTF-8]を追記したところ無事解決しました。
以下のとおりです。
“`
C:\JavaBasic\03>jav

元記事を表示

solve-calculate数式解析および計算ツール

# solve-calculate

solve-calculateは、主にノードコードやユーザー定義の数式やその他のビジネスシナリオを必要とするためのシンプルな数式解決と計算ツールです。

– github: https://github.com/Sun-June/solve-calculate
– 簡単なオンライン・デモ: [solve-calculate-example](https://solve-example.azurewebsites.net/)
– Java 1.8およびそれ以降のバージョンを最低サポートします。

> このプロジェクトの数式解析および定義の部分は、[javaluator](https://javaluator.sourceforge.net/en/home/)
> の実装方法にインスパイアされています。

> [未来の計画](#未来の計画)もご覧いただけます。

## 使い方

– Maven依存性

“`xml


info.sun-june.solve

元記事を表示

OTHERカテゴリの最新記事