한국어 | English | 日本語
Webアプリケーションエンジニア (経験8.8年)
Engineering
「スロットリングとデバウンスの違い」
スロットリングとデバウンスは、マウススクロールイベントが適用されているウェブページでユーザーがスクロールする際に発生する、数百から数千もの呼び出しによるブラウザのメモリ過負荷やパフォーマンス低下を防ぐための解決策です。呼び出し数を減らすことで性能劣化を回避します。呼び出し間の間隔を制御するのがスロットリング、多数の呼び出しを少数の呼び出しにグループ化するのがデバウンスです。
Difference between throttling and debouncing
Engineering
CORS - クロスオリジンAJAX呼び出しのためのSOP補完ポリシー
私がWeb開発を始めたばかりの頃、最初に出くわした問題がCORSでした。CORSはそれ自体が問題ではなく、開発者にそのリクエストがCORS規則に従っていないことを伝えるための規約です。CORS規約はWebブラウザのセキュリティ要素です。ブログを作成する際、外部画像をリンクすることがあります。このように外部にある単純なリソースを取得することはセキュリティ上の問題になりませんが、POSTやPUTのようなAJAX呼び出しを通じて外部にある動的なリソースを取得することは、サーバーの状態を変更するためセキュリティ上の問題となります。したがって、サーバーの状態変更(クッキーヘッダーなどを介したクライアントの状態変更も含む)に関連する呼び出しの際には、その呼び出しが開発者の意図したものかどうかを厳密に検証する必要があります。そうしないと、ブログに悪意のあるスクリプトが注入され、外部ドメインに対して意図しないサーバーリソースを操作するAJAXが呼び出される可能性があるからです。
Engineering
JavaScriptランタイム環境: Chrome「ブラウザ」とNode.js「サーバー」
ChromeブラウザとNode.jsはどちらも、V8という有名なJavaScriptエンジンを使用しています。JavaScriptエンジンを基盤として構築されたChromeブラウザとNode.jsは、JavaScriptランタイム環境と呼ばれます。簡単に言えば、JavaScript言語で動作する環境という意味です。では、両者の違いは何でしょうか? Chromeブラウザ環境は、レンダリングに関連するDOM処理、AXIOSのような外部リソース呼び出し処理、画像処理など、ユーザーがブラウザで必要とするあらゆる機能をWeb APIとして追加提供します。一方、Node.jsサーバー環境では、多数のリクエストを受け入れるために、イベントキュー、イベントループ(シングルスレッド)と共にワーカースレッド構成を追加提供します。
Engineering
Spring Security: SecurityContextHolder のスレッド共有戦略
並列処理のために導入した`parallelStream`内でSpring Securityのセッション情報が断続的に消失するという奇妙なバグに遭遇しました。「シュレーディンガーの猫」のように、リロードするたびに結果が変わるこの現象の原因を掘り下げ、SecurityContextHolderがマルチスレッド環境でセッションデータを共有する3つの戦略について考察します。
더 많은 글들 보기
Opinion
LLMフィルターが奪う会話の筋肉とコミュニケーション様式
会話における無礼さを濾過し、洗練された回答を生成するLLMツールが日常化した現代において、私たちは本当に思慮深い会話をしているのだろうか?リアルタイムのコミュニケーションにおける数多くの失敗を通じて磨かれるべき会話能力が、外部ツールに依存することで退化している現象と、それがもたらす社会的な不安や世代間の行動様式の変化について考察する。
シニア採用における年俸交渉の最適なタイミングと戦略
年俸交渉は単なる数字の交換ではなく、心理的な駆け引きとタイミングが重要です。本稿では、企業側にとって、候補者が計算的な態度を取りがちな最終合格後よりも、採用プロセスの初期段階から段階的に交渉を進めることが、なぜより効率的であり、率直な情報の共有に繋がるのかを考察します。
法治主義の限界と人間の多様性
全ての人間の行為を単一の法体系で規制できるという信念は、傲慢であるかもしれない。この記事は、中世の階層的な統制から脱却し、現代の無限の自由を手に入れた人類が直面する法治主義の逆説と、多様性という名のもとに深化する社会的強制力と他者への悪魔化現象を鋭く分析する。
なぜ哲学は未だに過去に留まっているのか
第一次世界大戦や産業革命といった激動期を経て現代に至るまで、人類の知性史は目覚ましく発展したが、哲学は依然として過去の遺産に留まっているように見える。社会的な葛藤の温度が臨界点を超えつつある今日、なぜ私たちには時代を貫く新しい哲学的洞察が現れないのか、という疑問を投げかける。
短縮された集中力と持続力を取り戻すための執筆
LLMの登場により開発速度は向上しましたが、逆説的に、物事にじっくりと取り組む忍耐力は減少しました。短期的な成果に固執しがちなこの時代において、文章を書くという「遅い行為」を通じて、粘り強さと待つ姿勢を取り戻していく、筆者の個人的な省察と訓練の過程を記しています。
토스트 예시 메세지