JAVA関連のことを調べてみた

JAVA関連のことを調べてみた

【完全版】3ヶ月でAndroidエンジニアを目指すためのロードマップ

# はじめに

ご覧いただきありがとうございます。[Gon](https://x.com/engineer_gon)です!
Androidアプリ開発の世界へようこそ!

今回は、友人がAndroidエンジニアを目指すと聞いて実践的なロードマップを作ってみることにしました。

僕自身、Javaのレガシーなシステム開発からキャリアをスタートしましたが、働き方の自由度や仕事の楽しさを求めて、独学でKotlinを学び、Androidアプリ開発へとスキルチェンジしました。

フリーランスのAndroidエンジニアとしては3年以上働いていますが、基本的にフルリモートで働けるためすごく自由度が高いですし、単価も上がりやすく、何より楽しんで仕事できてます。

「**どこから始めればいいのか分からない**」という方も多いと思うので、今回のロードマップが皆さんの参考になれば嬉しいです。

# ロードマップ

![](https://storage.googleapis.com/zenn-user-upload/034d54a65890-20240908.png)

## 2024年にAndroid開発者に

元記事を表示

SpringBootでシンプルなCRUDアプリを作ったときの備忘録

# はじめに
SpringBootによるシンプルなCRUDアプリケーション作成を学んだ際に、特に記憶しておきたいと思ったことを備忘録として残します。

# アプリの概要
– シンプルなユーザ管理アプリ
– ユーザ登録、一覧、検索、更新、削除、管理者専用ページ遷移、認証、認可機能を持つ

# 開発環境
– Eclipse(Pleiades) Version: 2023-12 (4.30.0)
– Java SE 21
– MacBook air

# 依存ライブラリ
“`xml:pom.xmlの内容抜粋

org.springframework.boot
spring-boot-starter-data-jdbc


org.springframework.boot
spring-boot-starter-jdbc

元記事を表示

Java の同期制御(Semaphore、CountDownLatch)

CountDownLatch と Semaphore はどちらも Java の同期制御 を行うためのツールですが、用途や動作は異なります。ここでは、それぞれの違いと使い方について説明します。

## 1. Semaphore とは
Semaphore は、指定した数の「許可(permits)」を管理し、スレッドが許可の数を超えて同時にリソースにアクセスできないようにするために使います。例えば、Semaphore(3) であれば、同時に3つのスレッドまでしかリソースにアクセスできません。ある意味で「スレッドの同時アクセス制限」に適したクラスです。

特徴
許可を取得する (acquire) と、許可の数が減少します。
許可を解放する (release) と、許可の数が増加します。
同時にアクセスできるスレッド数を制御するために使われます。
使用例
“`java
import java.util.concurrent.Semaphore;

public class SemaphoreExample {
private static final Semaphore semapho

元記事を表示

Spring FrameWorkのJava Config

DIコンテナに、Java Configクラスを使用してコンポーネントを登録する方法を書いてみました!
## Java Configクラス
DIコンテナに対してコンポーネントを登録するための、設定クラス。ここで設定したコンポーネントが、DIコンテナに登録される。

“`java
@Configuration
public class AppConfig {

@Bean
UserRepository userRepository() {
return new UserRepositoryImpl();
}
}
“`
## ルックアップ
ルックアップとはDIコンテナからBeanを取得すること。

**取得方法**
1つ目はBeanの型(UserRepository)を指定する方法。指定した型を持つBeanが1つだけ存在する場合に使用する。今回は、Java Configクラスで設定したUserRepository型は1つだけなので、これで取得できる。

“`java
UserRepository userRepository = context.getBean(U

元記事を表示

\\だとバグるが、\\\\だとバグらないプログラム(正規表現)

# 話のはじまり
こんにちは、来年度までに就職をしたい甘いレモン市場と言います。
皆さんはよき正規表現ライフを送っているでしょうか?正規表現を使いこなしたいですよね。
正規表現で文字列パターンを指定する際に、「\」(バックスラッシュ記号もしくは半角¥記号。区別のため、この1文字を「」付きで記述します)という文字列が含まれているか調べたくなることがあると思います。
たとえば[『スッキリわかるJava入門 第4版』](https://sukkiri.jp/books/sukkiri_java4) の次の練習問題のシチュエーションを考えてみましょう。
> 練習15-2
> フォルダ名が入っている変数folderと、ファイル名が入っている変数fileがあります。fileは必ず「readme.txt」のような形式をしていますが、folderは末尾に\記号が付いている場合と付いていない場合の両方がありえます。たとえば、「c:\javadev」や「c:\user\」のどちらもfolderの値としては正しい形式です。
> folderとfileを連結して、「c:\javadev\readme.txt」

元記事を表示

SpringBoot で TiDB Cloud Serverless に接続する

## TL;DR

ローカルの SpringBoot アプリケーションで TiDB を使ってみた。

## はじめに

TiDB は、MySQL 互換の NewSQL データベースで、昨今いろんな企業が導入しているらしい。

– https://pingcap.co.jp/case-study/
– https://www.publickey1.jp/blog/24/newsqltidbpr.html
– https://speakerdeck.com/leveragestech/tidb-user-day-tidbhayin-nodan-wan-ninarunoka-rehatetukunoke-ti-toxin-tanatiao-zhan-tidb-user-day-2024

私が TiDB を知ったのは ServerlessDays Tokyo 2023 のセッションなので 1 年前になるが、今回重い腰を上げて使ってみた。