- 1. Python,Ruby,PHP,Java,JavaScript,Perlのファイル・ディレクトリ操作の比較
- 2. 【Java】コンパイル時にpackage文に関するエラーが出た場合の対処法
- 3. Javaの文字列操作
- 4. Java:複数のExcelドキュメントをマージする方法
- 5. オーバーロードとはなにか〜Java編〜
- 6. Gatlingを使って負荷試験をする手順
- 7. Python,Ruby,PHP,Java,JavaScript,Perlの文字列連結の比較
- 8. Javaのequalsメソッドについて
- 9. MediatorLiveDataでNullPointerExceptionが出たときの対処法
- 10. Python,Ruby,PHP,Java,JavaScript,Perlの四則演算の比較
- 11. インクリメント演算子の前置と後置について
- 12. 半日404エラー解消に悩みまくった(Tomcat・サーブレット)
- 13. めちゃくちゃ簡易のビンゴゲームを作る #3
- 14. doma-templateでJdbcTemplateを2-way SQL化したサンプルをApache License 2.0で公開しました
- 15. ABC244A~Dの解答[Java]
- 16. [Java]staticを初心者向けに解説
- 17. JavaのSerializableに対する自分の理解
- 18. Python,Ruby,PHP,Java,JavaScript,Perlのデバッガ(デバッグ)の比較
- 19. switch文利用の注意点について(忘れないように)
- 20. 【Java基礎】インターフェース
Python,Ruby,PHP,Java,JavaScript,Perlのファイル・ディレクトリ操作の比較
Python,Ruby,PHP,Java,JavaScript,Perlのファイル・ディレクトリ操作の比較
# Python
https://qiita.com/supersaiakujin/items/12451cd2b8315fe7d054
# Ruby
https://qiita.com/prgseek/items/38f74d99b74baa3b42f7
# PHP
https://qiita.com/daichi87gi/items/111cd922991e4a18d1ef
# Java
https://qiita.com/suema0331/items/03330a663773204afc5f
# JavaScript
https://qiita.com/turmericN/items/28e8bc8fca07285ddffc
# Perl
https://perlz
【Java】コンパイル時にpackage文に関するエラーが出た場合の対処法
## 環境
+ Microsoft Windows 10.0.22000.856
+ PowerShell 7.2.4
+ Java 18.0.2.1## はじめに
Javaのpackage文を使用した際に、コンパイル( `javac Main.java` )で `エラー: シンボルを見つけられません` あるいは `error: cannot find symbol` のようなエラーが出た場合の対処法について説明する。“`:ディレクトリ構成
6-1/(カレントディレクトリ)
├ Kouhan.java(commentパッケージに所属する)
├ Main.java
└ Zenhan.java(commentパッケージに所属する)
“`各ファイルの中身
[『スッキリわかるJava入門 第3版』](https://sukkiri.jp/books/sukkiri_java3)の練習問題6-1のコードを一部引用する。
“`java:Main.java
import comment.Zenhan;public
Javaの文字列操作
Javaの文字列操作に関するメモ書きです
## 文字列調査
### equals
equalsメソッドは2つの値が等しいかを調べるメソッドです。
下記サンプルコードのように、2つの文字列が等しいか判定するのに利用します。“`java
public class Main {
public static void main(String[] args) {
String s1 = “iamcat”;
String s2 = “iamcat”;
String s3 = “IAmCat”;
if (s1.equals(s2)) {
System.out.println(“s1とs2は等しい”);
}
// equalsは大文字と小文字を区別する
if (s1.equals(s3)) {
System.out.println(“s1とs3は等しい”);
}
}
}
“`
実行結果
“`java
s1とs2は等しい
“`
数値の比較では ==演算子 を使用しますが、文字列の比較ではequ
Java:複数のExcelドキュメントをマージする方法
Excelドキュメントを操作する際に、複数のExcelドキュメントを1つのドキュメントにマージするのは非常に実用的な機能です。この機能は、関連ドキュメントを一緒に配置するのに役立ち、後で検索するのに便利です。[Free Spire.XLS for Java](https://jp.e-iceblue.com/introduce/free-spire-excel-for-java.html)は、複数のExcelファイルのマージを簡単に実行するのに役立ちます。具体的な操作の詳細は次のとおりです。
## Spire.XLS.Jarのインストール
方法1:
mavenを使用している場合は、次のコードをプロジェクトのpom.xmlファイルに追加することで、JARファイルをアプリケーションにインポートできます。
“`ruby:qiita.rb
com.e-iceblue
e-iceblue
https://repo.e-icebl
オーバーロードとはなにか〜Java編〜
## オーバーロードとは
オーバーロードとは、クラス内に同じ名前のメソッドを複数定義するときに用いる考え方。
## オーバーロードする時のルールは?
引数の型や引数の数が異なる必要がある。
## 引数の数が異なる場合のオーバーロード(OK)
“`java
public class Practice {//引数の数がaの1つ
public void result(int a){
System.out.println(“int a=”+a);//int a=1
}//引数の数がa,bの2つ
public void result(int a, int b){
System.out.println(“int a=”+a+”,int b=”+b);//int a=2,int b=3
}public static void main(String[] args) {
Practice practice = new Practice();
practi
Gatlingを使って負荷試験をする手順
# 概要
**Gatling**とは、**負荷試験のためのテストツール**です。
社内ツールの負荷試験のために初めて使用したので、インストールからGatling実行結果を確認するまでの手順をまとめました。# インストール
### OpenJDKのインストールGatlingは**Java**でテストシナリオを書いていきます。
以前はScalaのみ対応だったのですが、Gatling 3.7からJava(とKotlin)で書けるようになりました。[Oracle公式サイト](https://www.oracle.com/technetwork/java/javase/downloads/index.html)からJDKをダウンロード、インストールします。
インストール後、以下を実行し、Javaのバージョンが表示されていればインストール完了です。“`
java -version
“`### Gatlingのインストール
Gatling公式サイトからzipパッケージをダウンロードし、解凍します。
コマンドでも取得できます。
“`
// ダウンロード
wget
Python,Ruby,PHP,Java,JavaScript,Perlの文字列連結の比較
Python,Ruby,PHP,Java,JavaScript,Perlの文字列連結の比較
# Python
https://qiita.com/masa2223/items/cf3c4cc104e90d3c40d3
# Ruby
https://qiita.com/Kta-M/items/c7c2fb0b61b11d3a2c48
# PHP
https://qiita.com/horikeso/items/01463f5e17985428055c
# Java
https://qiita.com/supercell1023koeda/items/a548f2bdd811168e7c44
# JavaScript
https://qiita.com/saka212/items/11ce1f1d6316c1fbf15b
# Perl
https://perlzemi.com/bl
Javaのequalsメソッドについて
今日の実務で、実装レビューにて指摘があった箇所を備忘録として残す。
Javaの経験が浅い方や、古いバージョン(8以前)を中心に実装していた方が8以降のバージョンを扱い始めた方にもためになるかと思います。
## Stringクラスのequalsメソッド
Java歴が浅い方や最近学習を始めたという方は、文字列比較のために、Stringクラスのequalsメソッドを基本として学ぶと思います。
(僕も研修や独学時代はこれしか学びませんでしたし、今も癖で使ってしまいます。)Stringクラスのequalsメソッドは、比較する文字列が同値であるかどうかを判定してくれます。
なので、参照先が異なっていたとしてもtrueを返却してくれます。
“`java
String a = “あいう”;
String b = “あいう”;
String c = new String(“あいう”);System.out.print(a.equals(b));//true
System.out.print(a.equals(c));//true
“`(余談:実はObjec
MediatorLiveDataでNullPointerExceptionが出たときの対処法
### はじめに
以下のエラーが出た。> at androidx.databinding.ViewDataBinding.updateRegistration(ViewDataBinding.java:653)
“`java:ActivityMainBindingImpl.java
if (vModel != null) {
// read vModel.isNetworkError
vModelIsNetworkError = vModel.isNetworkError();
}
pdateLiveDataRegistration(0, vModelIsNetworkError); //この行で上記のエラー
“`>Caused by: java.lang.NullPointerException: Attempt to invoke virtual method ‘void androidx.lifecycle.LiveData.observeForever(androidx.lifecycle.Observer)’ on a null object
Python,Ruby,PHP,Java,JavaScript,Perlの四則演算の比較
Python,Ruby,PHP,Java,JavaScript,Perlの四則演算の比較
# Python
https://qiita.com/hiroyuki_mrp/items/d7e4c2d75e947ab99caf
# Ruby
https://qiita.com/mat827/items/ee569f6549b83bb954e2
# PHP
https://qiita.com/koala_56/items/7ed631f62cf0f225f5a6
# Java
https://qiita.com/takahirocook/items/748990882f2de7a630a1
# JavaScript
https://qiita.com/_haya_/items/dbe80010a0a8ac9d70b1
# Perl
https://perlzemi.com/blog/
インクリメント演算子の前置と後置について
# インクリメント演算子の前置と後置の違い
javaシルバーの資格勉強をしていた際、インクリメント演算子が前と後ろに置かれているものがあり、「どっちだったかな〜」とど忘れしたので、その備忘録として。
# 前置のインクリメント
“`
++i
“`
このようなもの。# 後置のインクリメント
“`
i++
“`
このようなもの# どう違うのか
簡単にいってしまうと、評価されるタイミングが違う。
前置インクリメントの例
“`
int num=0;System.out.println(++num);
//1が表示される
“`
先にnum=0にプラス1してから(評価してから)表示させている。続いて後置インクリメントの例
“`
int num=0;System.out.println(num++); //0が表示
System.out.println(num); //1が表示
“`
1回目のSysoutでは後置インクリメントなので、一旦変数numの値を表示してから、プラス1をしている。
2回目のSysoutでは、1回目でプラス1した値(
半日404エラー解消に悩みまくった(Tomcat・サーブレット)
# 試したことメモ。
①サーバー上に追加し直し。(eclipse上)
これのことね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287651/f06e1853-2e40-47b9-4895-07d9e3d2f9ce.png)②(html or jspの)form action=”●●●”と(サーブレット側の)@WebServlet(“/●●●”)の一致を行った。
③buildフォルダにclassファイルができていない。
→プロジェクトのビルドが必要。取り急ぎ~
めちゃくちゃ簡易のビンゴゲームを作る #3
# はじめに
[前回までの記事](https://qiita.com/snow_saboten/items/cb3fd3af99575f12eeee)で見た目的にはビンゴゲームになってきたので、次の段階として、ビンゴゲームのリーチやビンゴの判定機能を作りたい。検索すれば答えがヒットするんだろうけど、自分で考え抜きたい意地が発現してしまったので、記事を書きながら頭を整理しつつ、作っていきたいと思う。# ふわっと作戦を考える
今ふわっと考えていることとしては、現状はカードに縦5マス並べたものを5列横に並べているのだが、これを二次元配列を使っての配置に変更すること。これで、縦横の判定はしやすくなるだろうと予想している。斜めに関しては、2パターンしかないし、個別に書き連ねるのが良いのかな?# まず二次元配列での配置で現状までの機能をつくる
## コード
“`Java
public class BingoGame extends JFrame implements ActionListener{
JButton mkCardBtn;
JPanel BingoCardPanel;
doma-templateでJdbcTemplateを2-way SQL化したサンプルをApache License 2.0で公開しました
# doma-templateの紹介
## doma-templateとは?
常々、SpringのJdbcTemplateでDomaの2-way SQLを使えたらいいのになあ・・・と思っていました。で、?のようなことをつぶやいたら、Doma作者のnakamura_toさんからこんなリプライをいただきました!
例えばですが、doma-coreライブラリに依存する形で新しいライブラリを提供するとかなら比較的簡単に実現できる気がします。ライブラリのgroup idがorg.seasar.domaでも構わないですよね?
— toshihiro nakamura (@nakamura_to) August 31, 2022
ABC244A~Dの解答[Java]
## はじめに
初めて4完したコンテストですね。懐かしい。
なお、コードは当時提出したものと簡単に書き直したものの二つを載せます。では、見ていきましょう。
## A - Last Letter
問題文は[こちら](https://atcoder.jp/contests/abc244/tasks/abc244_a)そのままですね。
0-indexedであることに注意しましょう。
```A.java
import java.io.*;
class Main{
public static void main(String[] args)throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));//Nは使わない
String decoy = br.readLine();//Sの受け取り
String str = br.readLine();//末尾だけ切り出して出力
System.out.println(str.su
[Java]staticを初心者向けに解説
# Java初学者に向けて
Java初学者がだいたいよくわからなくて詰まりがちなstaticをなるべくわかりやすくなると思って解説していきます。# クラスとインスタンス
まずはここの違いを認識しましょう。クラスとは設計図です。
```java
// ロボットの設計図
public class Robot{
private String name;public Robot(){
}public Robot(String name){
this.name = name;
}public String getName(){
return this.name;
}
}
```インスタンスとは、設計図を基につくったオブジェクトです。
```java
public static void main(String args[]){
Robot dora = new Robot("ドラえもん");
Robot koro = new Ro
JavaのSerializableに対する自分の理解
# そもそもSerializableとは
javadoc↓
https://docs.oracle.com/javase/jp/8/docs/api/java/io/Serializable.html`java.io.Serializable`がimplementされたクラスは、serialize(=直列化)できる。
serializeとは、具体的にはバイト配列化させるということ。バイト化させることで、クラスのデータをストリーム(ファイル)やディスクに読み書きできるようになるため、低レイヤでのデータやりとりが可能になる。
おもにdtoやformクラスにimplementすることが多い。
# Serializableをimplementしないことによって起きる害
sessionにdtoを詰める際は、dtoが直列化可能である必要がある。
(=Serializableをimplementしている必要がある)https://teratail.com/questions/78928
> HttpSessionオブジェクトは、コンテナへ特に設定しない場合はメモリに格納されたまま
Python,Ruby,PHP,Java,JavaScript,Perlのデバッガ(デバッグ)の比較
Python,Ruby,PHP,Java,JavaScript,Perlのデバッガ(デバッグ)の比較
# Python
https://qiita.com/kaitolucifer/items/dc58efebd72d72a8feb2
# Ruby
https://qiita.com/port-development/items/5ea6448eb2b45c70ef65
https://qiita.com/suketa/items/52c60d79332c9a24f973
# PHP
https://qiita.com/ryouya3948/items/0055c1935b7bd62ba3b9
# Java
https://qiita.com/gatchan03/items/3c43b674e2b7c4b5c5cb
# JavaScript
https://qiita.com/a_
switch文利用の注意点について(忘れないように)
本日実務で久しぶりにswitch文を実装する機会があったので、
Java silverにて学んだことをもう1度おさらいで備忘録として残そうかと思います。## Switch文利用の注意点
注意点は3つです。
基本的には、統合開発環境(eclipseなど)が赤線で教えてくれますが、
最初から知っていれば無駄な修正時間も省けます。### ①:case文の処理後は、break or returnを忘れない
```java
String status = "open";
int i = 0;
switch (status) {
case "open":
i++;
case "close":
i++;
break;//ここまで処理が実行されてしまう
}
```これは統合環境(eclipseなど)でも赤線を引っ張られないので、記載漏れがあった場合、
テスト時に気づく必要があります。case文に該当すれば、その中の処理が実施されますが、breakもしくはreturnをしないと次のcase文まで実行してしまいます。
### ②:case文で指定す
【Java基礎】インターフェース
# はじめに
最近Java基礎の研修を受けました。学生時代にJavaを授業で習って基礎は身につけていたのですが、忘れていた内容もあったので備忘録として書き残してみます。この記事では、**Javaの基礎的な内容に関してまとめていきます**。
今回は**インターフェース**です。# インターフェースとは
**インターフェース**とは、原則として、**publicな抽象メソッドだけを宣言できるクラスのようなもの**です。コンストラクタも宣言することができません。また、**インスタンス化できない**のも特徴です。# インターフェースの宣言
インターフェースは以下のように宣言します。
```java:インターフェースの形式
修飾子 interface インターフェース名 {
インターフェースのメンバ
}
```## メソッド
インターフェースには、publicな抽象メソッドが宣言できます。
```java:抽象メソッドの宣言例
interface Booking {
public abstract String getTitle();
List