ASP.NET Core で Hangfire を用いた永続化バックグラウンドジョブの実装
Hangfire は、.NET アプリケーション向けの分散型ジョブスケジューラであり、データベース(MySQL や SQL Server など)を用いてジョブ状態を永続化できます。本稿では、ASP.NET Core 7/8 環境下で MySQL をストレージとして Hangfire を構成・運用する方法を、実践的な設定とコード例を交えて解説します。
必要な NuGet パッケージ
Hangfire.AspNetCore
Hangfire.My ...
6月25日 21:25 投稿
JDBCの基本操作と実用的な応用テクニック
JDBC(Java Database Connectivity)は、Javaアプリケーションがリレーショナルデータベースと連携するための標準APIです。各データベースベンダーが独自のドライバーを提供し、JDBC仕様に準拠して実装します。
主な利点
統一されたインターフェースで、異なるDBへの対応が容易
学習コストが低く、初学者にも扱いやすい
パフォーマンスが高く、大規模データ処理に ...
6月25日 17:21 投稿
gh-ostツールの紹介と活用方法
概要
gh-ostはGitHubが開発したオンラインDDL(Online Data Definition Language)変更ツールで、MySQLデータベース専用です。このツールはテーブルをロックすることなくデータベーススキーマの変更を実行でき、従来のALTER TABLEコマンドが引き起こす可能性のある長時間のテーブルロック問題を回避します。これは、高可用性が厳しく要求される本番環境において特に重要で ...
6月24日 23:11 投稿
MySQLの文字列関数と日付関数の実践ガイド
文字列処理関数の詳細
MySQLの文字列操作機能を活用した実用例を解説します。
CONCAT関数の応用
複数の文字列を結合する際の基本的な使用方法です。
SELECT CONCAT('開発', 'チーム', 'A') AS team_name;
-- 結果: '開発チームA'
文字列の大小変換
英語文字列のケース変換処理を示します。
SELECT UPPER('mysql') AS upper_result;
-- 結果: 'MYSQL'
SELECT LOWER('SQL') ...
6月24日 19:07 投稿
MySQLのsql_mode設定によるデータ整合性の制御
MySQLにはsql_modeという重要な設定変数が存在します。この設定は多くのケースで見過ごされがちですが、データベースの挙動を大きく左右する要素です。デフォルト設定では非標準的なデータ操作が許可されてしまうため、本番環境では必ず適切な厳格モードへの設定が推奨されます。
現在適用されているsql_modeの値は以下のクエリで確認可能です。
SHOW VARIABLES LIKE 's ...
6月24日 19:04 投稿
MySQL 複合インデックスの動作原理と最適化戦略
検証環境の構築
まず、検証用のテーブルとデータを準備します。複合インデックス idx_name_age_job を staff_name, staff_age, job_role 列に設定します。
CREATE TABLE `staff_records` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`staff_name` varchar(24) NOT NULL DEFAULT '' COMMENT '氏名',
`staff_age` int(11) NOT NULL DEFAULT '0' COMMENT '年齢',
`job_ ...
6月24日 18:51 投稿
JSPとServletを使用した基本的なウェブアプリケーションの構築
開発環境
Apache NetBeans IDE 17
MySQL 8.0.31
JDK 1.8
Apache Tomcat 10.0.12
プロジェクト構造
実装コード
JSPファイル
signin.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<html>
<head>
<title>ログイン</title>
<style>
body {
font-family: Arial, sans-serif;
background-color: ...
6月24日 18:46 投稿
LinuxサーバーにおけるMySQLデータベースのバージョン一致移行手順
MySQL 8.0のインストール手順
1. CentOS 8用のパッケージをダウンロード
まず、以前のCentOS 7用のパッケージをクリアします。
cd /tmp/mysql-install
rm -f *.rpm
次に、CentOS 8に適したMySQL 8.0.26 RPMパッケージをダウンロードします。
wget https://repo.mysql.com/yum/mysql-8.0-community/el/8/x86_64/mysql-community-common-8.0.26-1.el8.x86_64.rpm
wge ...
6月24日 16:20 投稿
kbmMWでデータベース操作を簡略化する – 既存データベースの取り込み機能
kbmMWはデータベーステーブルのメタデータ解析機能を備えており、新バージョンではこの機能を強化して既存テーブルからORMエンティティクラスを自動生成できるようになります。これにより、クエリ実行やデータ保存、メタデータ操作(フィールド追加/変更/削除)が可能になります。
ORMの設計では、テーブル構造変更に伴う作業を抽象化するのが目的です。kbmMWではORMクラス ...
6月24日 01:13 投稿
ログシステム設計に関する面接問題
逆順ページネーションを用いたログ一覧ページの実装方法
目標:「発生時刻で逆順に表示し、スクロールでページ遷移(SNS風)して最新の50件を取得する」ログシステムの設計を実現する。
要件概要
各ログは発生時刻(タイムスタンプ)と内容(最大500文字)を持つ。
最新の50件を表示し、下方向へのスクロールによるページ遷移をサポートする。
ページ遷移時に重複や漏れが ...
6月24日 01:11 投稿