メインカテゴリーを選択しなおす
2021年末にIT業界を騒がせたlog4jの脆弱性を調べてみた
2021年末にホットな話題となったlog4jの2.x系のバージョンに含まれた脆弱性(CVE-2021-44228)についての記事です。ログに出力する文字列を細工して、攻撃先のサーバに負荷をかけてしまう脆弱性がありました。それについてまとめています。
Template Methodパターンを使って簡単なアプリを作ってみた
デザインパターンの一つ、Template Methodパターンを勉強してみました。今回はQtとC++を使って、簡単な(無意味な)GUIアプリを作ってみました。テンプレートを使うように実装することで、コードの構造が綺麗になるのかも?というのが実感できました。
今私は転職活動を行っています、前職はSES関連企業に勤めていました。 今までプログラマとして働いている方はバックボーンや知見があるので、ご自身で判断はできると思います。これからプログラマを目指すまたはフリーランスを目指す方は選ぶ言語によって
プログラミングの基本的な概念の一つ「変数」と「データ型」。これらの概念の理解はプログラミング学習において欠かせません。 Javaのデータ型から変数宣言、基本的な操作について説明します。
Javaの勉強を始めて、Java SE 11 Silverの資格を取得しなければいけなくなった人向けにWebで勉強できるように問題と解答この記事にまとめてみました。※解説は含みません
ChatGPTにGoとエンタープライズ開発について聞いてみた。
わりとGoのアーキテクチャーってこだわり強いのが多いけどスタンダードなのってどういうのなんだろ。 Goとエンタ
ChatGPTにJavaでユニットオブワークのパターンを書いてもらった
トランザクションはいつの時代も難しい。 Unit of Workとは "Unit of Work"(作業単位)
Javaソースコードにおける、プログラムで実行されない「その他の場合」のif文
if文の「その他の場合」においては、エラーを示すログ情報を出力する処理を、記述しましょう。ログ情報を見ることで、プログラム処理でどういう不具合が起きているか、わかるからです。
Javaプログラミングにおける、インタフェースと抽象クラスと具象クラスの違い
インタフェース、抽象クラス、具象クラス、これらの違いには、何がありますか?「メソッドの宣言」または「メソッドの実装」において、個数に違いがあります。
Javaプログラミングで、メソッドの実装を義務付けて、メソッドを再利用する方法
Javaプログラミングで抽象クラスを使うと、以下の二つの事を同時に実現できます。クラスのメソッドの実装を義務付け。クラスのメソッドを再利用。
Javaプログラミングで、多くのメソッドを再利用しやすいクラス継承という方法
Javaプログラミングで、クラスを継承する方法を用いたら、多くのメソッドを再利用しやすいです。
値の設定と取得をまとめて管理する、Javaプログラミングにおける「値を設定するメソッド」「値を取得するメソッド」
「値を設定するメソッド」「値を取得するメソッド」を、適切に作成してください。そうしたら、メンバ変数の値を保護できます。
一般的な英単語を使う、Javaプログラミングで、わかりやすい変数名の付け方
Javaプログラミングの変数名を付ける際、一般的な英単語を使いましょう。英単語が表す意味から、「変数の働き」を予想しやすいからです。
クラス名を名詞にする、Javaプログラミングで、わかりやすいクラス名の付け方
Javaプログラミングのクラス名は、名詞にします。クラス名を名詞にすると、クラスの役割を「分類している感じ」がして、わかりやすいです。
Javaソースコードにおいて、波括弧 {} を使用して変数の寿命を限定する書き方
Javaソースコードにおいて、波括弧 { } を使用して、変数の寿命(変数の有効範囲)を限定できます。変数の有効範囲を限定することは、変数が間違った場所で使われることを防ぎます。
Javaソースコードにおいて、if文で肯定的な条件分岐を優先する書き方
Javaソースコードのif文において、肯定的な条件分岐を優先する書き方があります。肯定的な条件が成り立つ場合、セミコロン(;)だけを記述する書き方です。
ユーザー操作によって発生した情報、Javaソースコードの条件分岐
Javaソースコードのif文に指定する条件は、一般的に、ユーザー操作によって発生した情報です。例えば、マウスをクリックしたという情報があります。
Java(GraalVM/Micronaut)でOpenAI API入門
javaのcommand lineアプリケーションでもサクッとChatGPTのようなやり取りをするアプリケーションが作れるようです。 準備 今回使うJavaやそのライブラリをインストールします。 SDKMAN このコマンドでインストール curl -s "https://get.sdkman.io" bash 参考:https://sdkman.io/ Java sdkmanを利用してインストールします。今回利用するのはこのバージョン GraalVM 22.3.1.r17 sdk install java 22.3.1.r17-grl Micronaut 4系だと、m1macでもnativeコンパイルして動かせたので4系を選択 sdk install micronaut 4.0.0-M4 native image GraalVMでコマンドとしてビルドするならこれも。 gu install native-image プロジェクトの作成 続いて、プロジェクトを作成します。 mn create-cli-app example.micronaut.chatfunc --build=gradle --lang=java こんな感じのコマンドを入力すると、chatfuncというフォルダにベースアプリが生成されます。 gradleに依存ライブラリのインストール OpenAIのAPIを呼ぶために今回は、ライブラリ「azure-ai-openai」をbuild.gradleに追加します。 build.gradle dependencies { ... 省略 implementation("com.azure:azure-ai-openai:1.0.0-beta.2") ... 省略 } 参考:https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/openai/azure-ai-openai プログラミング 今回はこのファイルを編集するだけです。OPENAI_API_KEYは環境変数から渡す想定で、@Valueで変数に紐付けしています。あとは、azure-ai-openaiのgithubのサンプルを参考に chat
Test the PRIVATE method with jUnit
A tech article for Java test code for the PRIVATE methods
【Java】文字列(String)の操作|調査、検索、切り出し、変換、分割、整形
今回はJavaのStringクラスにあるメソッドの使い方をサンプルコードを交えてお伝えしていきたいと思います。
Javaの勉強を始めて、Java SE Bronzeの資格を取得しなければいけなくなった人向けにWebで勉強できるように問題と解答この記事にまとめてみました。※解説は含みません
MyBatisを用いたJavaプロジェクトにて、MySQLのストアドプロシージャ(Stored Procedure)を呼び出そうとして戦った記録
Windows PCでの言語ごとの開発環境構築方法とHello Worldと表示させる方法
WindowsのPCでプログラミングを学ぶためには、各言語の開発環境を構築する必要があります。本記事では、Windows PCで各言語の開発環境を構築する方法と、言語ごとにHello Worldを画面表示させるコードを紹介します。Javaの開発環境構築Javaは、Windows PCで最も人気のある言語の1つです。Javaを実行するためには、Java Development Kit(JDK)をダウンロードする必要があります。構築手順1.JDK
Javaの学習におすすめの本を5つ紹介しています。最初にJavaについて簡単に説明して、その後におすすめの本を紹介します。ゲストさんJavaを学びたいけど、どの本が良いの?学習におすすめの本を教えて!yasuakiこんな方は是非、確認してみ
JavaのList型について!ArrayListの使い方や配列との違いについて説明
この記事では、JavaのList型とは?だけではなく実際の実装例などを交えて紹介しています。
【Java】GSONを利用したJavaでのJSONの利用方法
GsonとはGsonは、Googleが提供するJavaオブジェクトをJSON表現に変換するためのJavaライブラリです。また、JSONの文字列を同等のJavaオブジェクトに変換することもできます。Gsonは、ソースコードのない既存のオブジェ
Java『正規表現』記号の種類と使い方|PatternクラスとMatcherクラス
Javaの正規表現について説明します。 パターンの作成方法や各種記号の使い方をマスターして データベースにある複雑な文字列のチェックや置換処理を実現しましょう!
JavaのFileクラスについて説明します。 パソコンのファイルをプログラムから操作する方法をマスターして、 システム開発のスキルをさらにレベルアップさせましょう。
Java『try~catchで例外処理』Exceptionとthrow|finallyの使い方
Javaの例外処理について説明します。 try~catch、throw、finallyの使い方を覚えて、 想定外の結果が発生した時にも対処できる強固なプログラムを目指しましょう。
Java『Mapの使い方』HashMapを使ったデータ操作まとめ
JavaのMapについて説明します。 マップは1つのオブジェクトが持つ複数の情報をまとめて管理するのに便利です。 リストと組み合わせれば複雑なデータ操作も可能になります。
Java『Listの使い方』ArrayListを使ったデータ操作まとめ
JavaのListについて説明します。 ArrayListの使い方をマスターすると、複雑なアルゴリズムを考えることなく、 複数のデータを効率良く操作できるようになります。
Java『オーバーロードとは?』メリットと使い道|オーバーライドとの違い
Javaのオーバーロードについて説明します。 オーバーロードは大きなプログラムを複数人で開発する時に効果を発揮します。 オーバーライドとの違いやメリットについても解説します。
『Javaを使う環境を準備する』Eclipseのダウンロードとインストール|起動とワークスペースの設定
Javaを使う環境を準備する方法を説明します。 Javaの統合開発環境であるEclipseのダウンロードとインストール、 起動方法とワークスペースの設定まで解説します。
Java『Eclipseでプログラムを新規作成して実行する方法』プロジェクト作成
EclipseでJavaのプログラムを新規作成して実行する方法を説明します。 文法を覚える前に、まずはEclipse上でプログラムが動くイメージを身につけましょう。