HTML/CSS

【CSS】liの高さが揃わない原因とline-heightの正しい関係

リストレイアウトを実装していると、「liごとに高さが揃わない」「同じデザインなのに一部の行だけズレて見える」といった違和感に直面することがあります。この問題は、margin や padding の指定ミスと思われがちですが、実務では lin...
HTML/CSS

【CSS】リストマーカーを画像なしで作る方法|CSSだけで実装するデザインパターン

リストのマーカーを画像で用意すると、デザインの自由度は上がる一方で、画像の管理コストや読み込み負荷が増え、ダークモード対応や色変更にも手間がかかります。実務では「画像を使わずにCSSだけでマーカーを作りたい」という要件がよく出ます。CSSだ...
HTML/CSS

【CSS】番号付きリスト(ol)の数字デザインをCSSで自由に変更する方法

番号付きリストは、手順説明やランキング、注意事項の整理などで頻繁に使われるHTML要素です。しかし、標準の ol はブラウザ依存の数字デザインになるため、デザインに統一感を持たせたい場合や、UIとして見栄えを整えたい場合には物足りなく感じる...
HTML/CSS

【CSS】font-weightとWebフォントの関係を正しく理解する|太さ指定が効かない理由と対策

Webフォントを使ったサイト制作では、font-weight を指定しているにもかかわらず、文字の太さが思ったように変わらないという問題が頻繁に発生します。この原因の多くは、CSSの書き方ではなく、Webフォントと font-weight ...
HTML/CSS

【CSS】フォントの太さが効かない原因と解決方法|font-weightが反映されない理由

CSSで font-weight を指定しているにもかかわらず、文字の太さが変わらないという問題は、Web制作の現場で非常によく遭遇します。bold を指定しても見た目が変わらなかったり、数値指定をしても同じ太さのまま表示されたりする原因は...
HTML/CSS

【CSS】writing-modeとtext-orientationで縦書きを正しく制御する方法

日本語コンテンツを扱うWebサイトでは、縦書きレイアウトを求められる場面が少なからずあります。CSSでは writing-mode と text-orientation を使うことで縦書きを実現できますが、単に指定するだけでは「英数字の向き...
HTML/CSS

【CSS】text-overflow: ellipsisが効かない原因と解決方法

text-overflow: ellipsis は、テキストが要素の幅を超えたときに末尾を「…」で省略できる便利なCSSプロパティです。しかし実際の制作現場では、「指定しているのに効かない」「一部の環境だけ省略されない」といったトラブルが頻...
HTML/CSS

【CSS】text-indentで段落の字下げを行う方法と注意点

Webページで文章を読みやすく整える際、段落の字下げは古くから使われてきた基本的な表現手法です。CSSでは text-indent を使うことで、HTML構造を崩さずに段落の先頭だけを下げることができます。しかし、使い方を誤るとレイアウト崩...
HTML/CSS

【CSS】letter-spacing正解例|可読性を損なわない文字間調整の考え方

Webサイトの文字組みを調整する際に、line-height や font-size は意識していても、letter-spacing は感覚的に指定してしまっているケースが少なくありません。しかし letter-spacing は、可読性や...
PL/SQL

【PL/SQL】BULK COLLECTとFORALLによる一括処理パターンの最適化

逐次処理で1行ずつFETCHしてDMLを発行する構造は、SQLエンジンとの往復とコンテキストスイッチが支配的になりスループットが頭打ちになる。PL/SQLはBULK COLLECTとFORALLを併用することで、抽出・検証・適用を「行の塊」...
PL/SQL

【PL/SQL】再帰WITH句と階層問い合わせの実用パターン

データモデルに潜む入れ子構造や親子関係を、アプリケーションのループや一時表に頼らずSQLで直接表現するためには、Oracleの階層問い合わせ(CONNECT BY)と再帰WITH句(Recursive Subquery Factoring)...
PL/SQL

【PL/SQL】分析関数(Analytic Function)を活用した集計ロジックの簡素化

カーソル処理や一時表を多用して段階集計を作り込むよりも、分析関数を用いて「結果セットの各行に、同一パーティション内の集約・順位・前後関係を付与する」発想へ転換すると、SQL一発でロジックを簡素化できる。PL/SQLのループや状態変数を置き換...
PL/SQL

【PL/SQL】MERGE文の高度利用:バルク更新と排他制御を両立する条件設計

大量データの更新と同時アクセスの安定性を両立させるには、MERGEを単なる「UPSERT文」として使うのではなく、USING句の設計、ON条件の粒度、WHEN MATCHED/NOT MATCHEDの分岐、行レベルの追加条件、そしてエラーロ...
PL/SQL

【PL/SQL】カーソルFORループ最適化とFETCH制御のベストプラクティス

逐次処理のカーソルFORループは読みやすさと安全性の点で優れている一方で、行ごとのコンテキストスイッチとコミット頻度の誤用が性能劣化を招きやすい。高スループットが要求されるバッチやETLでは、BULK COLLECTとLIMITによるフェッ...
PL/SQL

【PL/SQL】動的SQLとBIND変数の最適設計:SQL Injection防止とキャッシュ効率の両立

埋め込み値を文字列連結してSQLを生成する手法は、機密情報の漏洩や意図しないデータ改変を引き起こすだけでなく、カーソル共有を阻害してハードパースを多発させるため、可用性と性能の両面で致命的な設計欠陥になる。PL/SQLで動的SQLを扱う際は...
PL/SQL

【PL/SQL】非同期処理設計の高度化:ジョブチェーンとイベント駆動制御

非同期処理を単なるバッチの定刻実行として捉えると、ピーク負荷への追従や外部イベントの変化に対して鈍重になる。DBMS_SCHEDULERはチェーンとイベント駆動の二本柱により、処理を細かな段階へ分解し、条件や結果に応じて分岐させることができ...
PL/SQL

【PL/SQL】パッケージAPI設計における互換性維持とバージョン戦略

パッケージAPIは一度公開すると利用側のコードが増殖し、わずかな仕様変更が全社的なコンパイル失敗や想定外の副作用を引き起こす。大規模なPL/SQL環境では、互換性を壊さずに進化させるための契約設計と移行の手順、さらにEdition-Base...
PL/SQL

【PL/SQL】マルチスキーマ環境での権限管理とInvoker Rights設計

マルチスキーマでPL/SQLを運用する場合、データを保持するスキーマとアプリケーションAPIを提供するスキーマ、さらにはバッチや外部接続用の技術スキーマが併存し、権限の境界が曖昧になると保守性とセキュリティの両面で脆弱になる。Invoker...
PL/SQL

【PL/SQL】ロギングとトレーサビリティを両立する監査設計

PL/SQLで業務イベントを正しく記録しつつ、問題発生時に実行経路を迅速に再現できる仕組みを整えるには、アプリケーションロギングとデータベース監査、さらに実行トレースの三層を目的別に設計して整合させることが不可欠である。ロギングは業務文脈を...
PL/SQL

【PL/SQL】大規模システムにおけるモジュール分割と依存制御の最適化

PL/SQLを用いたシステム開発が長期化し、機能が拡大していくと、必然的にパッケージ間の依存が増大し、構造が複雑化する。初期段階では単一のスキーマや共通パッケージで十分に運用できたとしても、機能単位の拡張が繰り返されるにつれ、依存関係の制御...