2024-10

Java

【Java】Gradleでプロジェクトを管理する基本

こんにちは、かつコーチです。前回はJavaの代表的なビルドツールであるMavenを解説しました。今回はもう一つの主要ツールGradleを扱います。私は最初、MavenのXML記法に慣れた状態でGradleを触り、build.gradleの書...
Java

【Java】Mavenでプロジェクトを管理する基本

こんにちは、かつコーチです。前回まではファイル1〜2個の小さなプログラムをjavac・javaコマンドで動かしてきました。しかし実際の開発では、外部ライブラリを何十個も使い、ファイルも数百に及びます。そこで使われるのが、Javaの代表的なビ...
Java

【Java】javac・javaコマンドで理解するコンパイルと実行の仕組み

こんにちは、かつコーチです。前回はIntelliJ IDEAでボタン一つでJavaを実行できるようになりました。ただ、IDEの「実行ボタン」の裏側で何が起きているかを知らないと、エラーが出たときに対処できません。今回は、IntelliJを使...
Java

【Java】IntelliJ IDEAでJava開発環境を整える

こんにちは、かつコーチです。前回JDKをインストールし、コマンドラインでJavaを動かせるようになりました。とはいえ、メモ帳やターミナルだけで開発を続けるのは非効率です。今回は、Java開発の定番IDEであるIntelliJ IDEAを使っ...
Java

【Java】JDKのインストールとバージョン管理

こんにちは、かつコーチです。前回はJavaがどんな言語かを解説しました。今回は、実際にJavaのコードを動かすための第一歩、JDK(Java Development Kit)のインストールを行います。私は最初のインストール時に、PATH設定...
Java

【Java】Javaとは?オブジェクト指向と「一度書けばどこでも動く」を初心者向けに解説

こんにちは、かつコーチです。「Javaを学びたいけれど、そもそもJavaが何なのか分からない」という相談をよく受けます。名前が似ているJavaScriptと混同してしまう人も多く、私自身も学習を始めたころ「JavaScriptを勉強すればJ...
Go

【Go】比較検証 : GoアプリをDockerでビルド・デプロイし、Python/Node.jsと比較する

こんにちは、かつコーチです。これでGo編は20本目、最終回です。これまで入門・基本文法・並行処理・CLIツール・Web APIと積み上げてきましたが、最後は本番運用に欠かせないデプロイの話で締めくくります。Docker編で解説したマルチステ...
Go

【Go】channelの基本:goroutine同士でデータをやり取りする

こんにちは、かつコーチです。前回はgoroutineの基本を解説しました。goroutineは便利な反面、そのままでは複数の歯車がバラバラに動くだけで、お互いにデータをやり取りできません。そこで登場するのがchannelです。この記事では、...
Go

【Go】配列とスライスの違い・使い方

こんにちは、かつコーチです。「配列とスライス、結局どっちを使えばいいの?」。Goを学び始めると、必ずと言っていいほどぶつかる疑問です。結論から言うと、実務ではスライスを使う場面がほとんどです。この記事では、配列とスライスの違いを整理しつつ、...
Go

【Go】実践:ファイル一括処理CLIツールを作る

こんにちは、かつコーチです。前回の記事では、flagパッケージでコマンドライン引数を受け取る基本を解説しました。今回はその知識を使って、実際に手元のフォルダで使えるCLIツール(コマンドラインから操作するツール)を1本作ります。作るのは、指...
Go

【Go】if・switchで条件分岐する

こんにちは、かつコーチです。プログラムを書いていると、「条件によって処理を変えたい」という場面は必ず出てきます。この記事では、Goの条件分岐の基本であるif文とswitch文の使い方を解説します。他の言語を経験している方ほど戸惑いやすいポイ...
Go

【Go】変数宣言とデータ型の基本(varと:=の使い分け)

こんにちは、かつコーチです。Goを書き始めると、すぐにvarと:=という2種類の変数宣言に出会います。「どっちを使えばいいの?」と迷う方は多いのではないでしょうか。この記事では、基本データ型とあわせて、2つの宣言方法の違いと使い分けを解説し...
Go

【Go】goroutineの基本:軽量スレッドで並行処理する

こんにちは、かつコーチです。前回の記事ではエラーハンドリングの基本を解説しました。今回はGoの大きな魅力の1つであるgoroutineについて、基本から実体験を交えて解説します。「goをつけるだけで並行処理できるらしいけど、実際どう動くの?...
Go

【Go】for文の基本:Goにwhileがない理由

こんにちは、かつコーチです。「Goでループを書きたいのに、whileって書いてもエラーになる」。他の言語からGoに入った人が、最初につまずくポイントの一つです。実はGoには繰り返し構文がforしかありません。この記事では、なぜGoがforだ...
Go

【Go】flagパッケージでコマンドライン引数を扱う基本

こんにちは、かつコーチです。今回は実用寄りに、CLIツール作りに欠かせないflagパッケージの基本を解説します。go run main.go -name=Taroのような引数を受け取りたいとき、最初に使う標準ライブラリです。flagパッケー...
Go

【Go】エラーハンドリングの基本:if err != nilの流儀

こんにちは、かつコーチです。Go言語を書き始めた人が最初にとまどうのが、エラー処理の書き方だと思います。「なんでtry-catchがないんだろう」「if err != nilばっかりでコードが縦に伸びる」。そう感じたことがある人は多いはずで...
Go

【Go】Go言語の環境構築とGoモジュールの基本(go mod init)

こんにちは、かつコーチです。Goを始めようと思っても、「インストールはどうやるの?」「go modって何?」とつまずく方は多いです。この記事では、インストール手順からgo mod initの意味まで順番に解説します。読み終える頃には、自分の...
Go

【Go】Goとは?シンプルさと高速性を両立する言語を初心者向けに解説

こんにちは、かつコーチです。「Go言語って最近よく聞くけど、結局どんな言語なの?」そんな疑問を持ってこの記事にたどり着いた方も多いと思います。今回はGo言語がどんな特徴を持つ言語なのか、初心者の方にもわかりやすく解説します。読み終える頃には...