開発 IT用語 韓国語一覧
개발 IT 용어 일본어 목록
689語収録 / 689개 수록
ソフトウェア開発全般に関するIT用語を収録しています。プログラミング言語・設計パターン・開発手法・コードレビュー・リファクタリング・バージョン管理など、エンジニアの実務に欠かせない用語を日韓対訳で学べます。
日本のIT現場では「コミット」「プルリクエスト」「マージ」などGit関連用語をそのまま英語で使いますが、韓国でも同様です。ただし発音が異なるため、口頭でのコミュニケーションでは混乱が生じることがあります。例えば「変数」は韓国語で「변수(ピョンス)」、「関数」は「함수(ハムス)」と漢字語を使います。
また、日本特有の開発文化として「技術的負債」「レビュー指摘」「設計書」などの概念も収録しており、日韓のエンジニア間でのコードレビューや設計議論をスムーズに進めるための語彙を提供します。
소프트웨어 개발 전반에 관한 IT 용어를 수록하고 있습니다. 프로그래밍 언어·설계 패턴·개발 기법·코드 리뷰·리팩토링·버전 관리 등 엔지니어 실무에 필수적인 용어를 한일 대역으로 학습할 수 있습니다.
일본 IT 현장에서는 「커밋」 「풀 리퀘스트」 「머지」 등 Git 관련 용어를 영어 그대로 사용하지만 발음이 다릅니다. 또한 「변수」는 일본어로 「変数(헨스우)」, 「함수」는 「関数(칸스우)」로 한자어를 사용합니다.
본 사전에서는 일본 특유의 개발 문화인 「기술적 부채(技術的負債)」 「리뷰 지적(レビュー指摘)」 「설계서(設計書)」 등의 개념도 수록하여, 일본 개발팀과의 협업을 지원합니다.
ブラウザ上でコードの記述と即時実行が可能なオンライン実行環境。新しいライブラリの動作確認やプロトタイピング、チーム内でのコード共有に利用され、環境構築の手間を省いて素早く検証できる。
브라우저상에서 코드의 기술과 즉시 실행이 가능한 온라인 실행 환경. 새로운 라이브러리의 동작 확인이나 프로토타이핑, 팀 내에서의 코드 공유에 이용되며, 환경 구축의 수고를 덜고 빠르게 검증할 수 있다.
コードを変更した際にアプリを再起動せずリアルタイムで反映する機能。Flutter・React NativeなどのモバイルやWebフレームワークで広く活用され、開発効率を大幅に向上させる。
코드를 변경할 때 앱을 재시작하지 않고 실시간으로 반영하는 기능. Flutter, React Native 등 모바일 및 웹 프레임워크에서 널리 활용되며 개발 효율을 크게 향상시킨다.
インターフェースの定義とメソッドのデフォルト実装を組み合わせた型構成機能。RustやPHPで採用されており、多重継承の複雑さを回避しつつ、横断的な機能を安全に共有できる仕組みを提供する。
인터페이스의 정의와 메서드의 디폴트 구현을 결합한 타입 구성 기능. Rust나 PHP에서 채용되고 있으며, 다중 상속의 복잡함을 회피하면서 횡단적인 기능을 안전하게 공유할 수 있는 구조를 제공한다.
本番環境と並行して新バージョンに実トラフィックを流しつつ、結果をユーザーに返さず内部で動作検証するデプロイ手法。リスクを最小化できる。
프로덕션 환경과 병행하여 새 버전에 실제 트래픽을 흘리면서 결과를 사용자에게 반환하지 않고 내부적으로 동작을 검증하는 배포 기법으로, 리스크를 최소화할 수 있다.
コードエディタ(VS CodeやVimなど)のインデント幅・フォント・拡張機能・フォーマッタなどの設定。チーム開発ではEditorConfigなどで統一することが多い。
코드 에디터(VS Code, Vim 등)의 들여쓰기 너비, 폰트, 확장 기능, 포매터 등의 설정. 팀 개발에서는 EditorConfig 등으로 통일하는 경우가 많다.
テスト実行結果をHTML・JUnit XML・JSONなどの形式で出力するツール。CI/CDパイプラインでのテスト結果の可視化やトレンド分析に使用される。
테스트 실행 결과를 HTML·JUnit XML·JSON 등의 형식으로 출력하는 도구이다. CI/CD 파이프라인에서의 테스트 결과 가시화나 트렌드 분석에 사용된다.
ソフトウェアのバージョン番号をMEJOR.MINOR.PATCHの形式で管理するルール。破壊的変更・機能追加・バグ修正をバージョン番号で明確に伝える手法。
소프트웨어 버전 번호를 MAJOR.MINOR.PATCH 형식으로 관리하는 규칙. 파괴적 변경·기능 추가·버그 수정을 버전 번호로 명확하게 전달하는 방법.
OSやアプリケーションの動作に影響を与える外部設定値。APIキーやDBの接続情報などを、コードに直接書かずに管理するために使用される。
OS나 애플리케이션 동작에 영향을 주는 외부 설정값. API 키나 DB 접속 정보 등을 코드에 직접 작성하지 않고 관리하기 위해 사용된다.
型の互換性を名前ではなく構造(プロパティとメソッドの構成)で判断する型システムの方式である。TypeScriptやGoが採用しており、明示的なインターフェース実装の宣言なしにダックタイピングを型安全に実現する。
타입의 호환성을 이름이 아닌 구조(프로퍼티와 메서드의 구성)로 판단하는 타입 시스템의 방식이다. TypeScript나 Go가 채택하고 있으며 명시적인 인터페이스 구현의 선언 없이 덕 타이핑을 타입 안전하게 실현한다.
操作をオブジェクトとしてカプセル化するデザインパターン。実行・取り消し・キューイングが容易になり、操作履歴管理やUndo/Redo機能の実装に広く活用される。
작업을 객체로 캡슐화하는 디자인 패턴. 실행·취소·큐잉이 용이해지며, 작업 이력 관리나 Undo/Redo 기능 구현에 널리 활용된다.
型がオブジェクトのインスタンスに紐づく型システムの機能。Scalaのpath-dependent typeが代表例で、異なるインスタンスの内部型を型レベルで区別し、不正な混合を防止する。
타입이 객체의 인스턴스에 연결되는 타입 시스템의 기능이다. Scala의 path-dependent type이 대표적이며 다른 인스턴스의 내부 타입을 타입 수준에서 구별하여 부정한 혼합을 방지한다.
リードタイム、デプロイ頻度、変更失敗率、MTTR等のDORA指標をダッシュボードで可視化する取り組み。チームのパフォーマンスを客観的に把握し、改善活動の基盤とする。
리드 타임, 배포 빈도, 변경 실패율, MTTR 등의 DORA 지표를 대시보드로 가시화하는 노력이다. 팀의 퍼포먼스를 객관적으로 파악하고 개선 활동의 기반으로 한다.
CPUが条件分岐の結果を予測して先行実行するハードウェア機構。予測失敗時にはパイプラインのフラッシュが発生するため、分岐パターンを考慮したコード設計が性能最適化に重要となる。
CPU가 조건 분기의 결과를 예측하여 선행 실행하는 하드웨어 기구이다. 예측 실패 시 파이프라인 플러시가 발생하므로 분기 패턴을 고려한 코드 설계가 성능 최적화에 중요하다.
型の互換性を宣言された型名で判定する型システム。Java、C#、Kotlinなどが採用しており、構造が同じでも型名が異なれば互換性がないため、意図しない型の混同を防止できる。
타입의 호환성을 선언된 타입명으로 판정하는 타입 시스템이다. Java, C#, Kotlin 등이 채택하고 있으며 구조가 같아도 타입명이 다르면 호환성이 없어 의도하지 않은 타입 혼동을 방지할 수 있다.
コンパイラが仮想関数呼び出しを具象メソッドの直接呼び出しに置き換える最適化。オブジェクトの具体型がコンパイル時に判明する場合に適用され、vtable経由の間接呼び出しコストを削除する。
컴파일러가 가상 함수 호출을 구상 메서드의 직접 호출로 치환하는 최적화이다. 객체의 구체 타입이 컴파일 시에 판명되는 경우 적용되며 vtable 경유의 간접 호출 비용을 삭제한다.
プロダクトに必要な機能や改善事項を優先順位付けして管理するリスト。プロダクトオーナーが管理し、スプリントごとに上位の項目から開発に着手する。
프로덕트에 필요한 기능이나 개선 사항을 우선순위를 매겨 관리하는 리스트이다. 프로덕트 오너가 관리하며 스프린트마다 상위 항목부터 개발에 착수한다.
サーバーインスタンスを順番に新しいバージョンへ更新していくデプロイ手法。全体を一度に停止せずに段階的に切り替えるため、ダウンタイムなしでリリースが可能である。
서버 인스턴스를 순서대로 새 버전으로 업데이트하는 디플로이 기법이다. 전체를 한 번에 중지하지 않고 단계적으로 전환하므로 다운타임 없이 릴리스가 가능하다.
新機能をユーザーに見えない形で本番環境にデプロイし、バックエンドでのみ動作検証を行うリリース手法。本番トラフィックでの性能検証を安全に実施できる利点がある。
신기능을 사용자에게 보이지 않는 형태로 프로덕션 환경에 배포하고 백엔드에서만 동작 검증을 수행하는 릴리스 기법이다. 프로덕션 트래픽에서의 성능 검증을 안전하게 실시할 수 있는 이점이 있다.
条件分岐によって変数の型を特定のスコープ内で絞り込む仕組み。TypeScriptではtypeofやinstanceofなどの演算子を用いて型を判別し、コンパイラに正確な型情報を伝えることで型安全なコードを実現する。
조건 분기에 의해 변수의 타입을 특정 스코프 내에서 좁히는 구조. TypeScript에서는 typeof나 instanceof 등의 연산자를 사용하여 타입을 판별하고, 컴파일러에 정확한 타입 정보를 전달함으로써 타입 안전한 코드를 실현한다.
ログ出力の重要度を段階的に分類する仕組み。DEBUG・INFO・WARN・ERROR・FATALなどのレベルがあり、環境に応じて出力するログの粒度を制御するために使用する。
로그 출력의 중요도를 단계적으로 분류하는 방식. DEBUG, INFO, WARN, ERROR, FATAL 등의 레벨이 있으며, 환경에 따라 출력할 로그의 세밀도를 제어하기 위해 사용한다.
開発者がコードを書いてからテスト・検証・修正までのサイクルのこと。このループを短縮することで生産性と品質を向上させることができる。
개발자가 코드를 작성한 후 테스트·검증·수정까지의 사이클을 말한다. 이 루프를 단축함으로써 생산성과 품질을 향상시킬 수 있다.
OSSや社内プロジェクトへの積極的な貢献を奨励する組織文化。コードレビュー、バグ修正、ドキュメント改善など多様な形で参加を促す文化的風土を指す。
오픈소스나 사내 프로젝트에 적극적인 기여를 장려하는 조직 문화. 코드 리뷰, 버그 수정, 문서 개선 등 다양한 형태의 참여를 촉진하는 문화적 풍토를 의미한다.
GitHub上でクラウドホスト型の開発環境を即起動できるサービス。ブラウザまたはVS CodeからDev Containerベースの環境に接続でき、ローカル環境なしで開発が完結する。
GitHub에서 클라우드 호스팅형 개발 환경을 즉시 시작할 수 있는 서비스. 브라우저 또는 VS Code에서 Dev Container 기반 환경에 접속할 수 있으며, 로컬 환경 없이 개발이 완결된다.
テストデータをパラメータとして外部から供給し、同じテストロジックを複数の入力で実行する手法。テストコードの重複を削減しつつ、網羅的なテストケースを効率的に作成できる。
테스트 데이터를 매개변수로 외부에서 공급하고 같은 테스트 로직을 복수의 입력으로 실행하는 기법이다. 테스트 코드의 중복을 줄이면서 포괄적인 테스트 케이스를 효율적으로 작성할 수 있다.
コード変更をメインブランチにマージする前に他の開発者がレビューする開発プロセス。バグの早期発見やコード品質の向上、知識共有に役立つ重要な手法である。
코드 변경을 메인 브랜치에 머지하기 전에 다른 개발자가 리뷰하는 개발 프로세스이다. 버그의 조기 발견이나 코드 품질 향상, 지식 공유에 도움이 되는 중요한 기법이다.
同じ操作を何度繰り返しても結果が変わらない性質。HTTPメソッドのGET・PUT・DELETEや、APIの設計・分散システムにおいて重要な概念。
동일한 작업을 여러 번 반복해도 결과가 변하지 않는 성질. HTTP 메서드의 GET·PUT·DELETE나 API 설계·분산 시스템에서 중요한 개념이다.
特定のコミットだけを別のブランチに適用するGit操作。リリースブランチへの緊急バグ修正の適用や、特定の変更だけを取り込む場合に使用される。
특정 커밋만 다른 브랜치에 적용하는 Git 조작이다. 릴리스 브랜치에 긴급 버그 수정을 적용하거나 특정 변경만 가져오는 경우에 사용된다.
既存のオブジェクトに動的に新しい機能を追加するデザインパターン。継承を使わず、ラッパーオブジェクトで機能を拡張するため、柔軟な機能の組み合わせが可能。
기존 객체에 동적으로 새로운 기능을 추가하는 디자인 패턴. 상속을 사용하지 않고 래퍼 객체로 기능을 확장하기 때문에 유연한 기능 조합이 가능합니다.
実際の実装を簡略化した代替実装で、テスト用に動作するオブジェクトのこと。インメモリデータベースなどが代表例で、モックより現実的な振る舞いを提供する。
실제 구현을 간략화한 대체 구현으로 테스트용으로 동작하는 객체이다. 인메모리 데이터베이스 등이 대표적이며 목보다 현실적인 동작을 제공한다.
開発チームの技術的な意思決定をリードするエンジニア。コードレビュー、アーキテクチャ設計、技術方針の策定を担いながら、チームメンバーの育成も行う役割。
개발 팀의 기술적 의사결정을 이끄는 엔지니어. 코드 리뷰, 아키텍처 설계, 기술 방침 수립을 담당하면서 팀원 육성도 병행하는 역할.
クラスのインスタンスを1つだけ生成し、グローバルにアクセスできるようにするデザインパターン。DBコネクションや設定管理などで多用される。
클래스의 인스턴스를 하나만 생성하고 전역으로 접근할 수 있도록 하는 디자인 패턴. DB 커넥션이나 설정 관리 등에서 많이 활용된다.
DDDにおける統合パターンの一つ。サービスが外部の複数クライアントに対し、公開されたプロトコルやAPIを通じてアクセスを提供する設計手法。
DDD에서의 통합 패턴 중 하나로, 서비스가 외부 다수의 클라이언트에게 공개된 프로토콜이나 API를 통해 접근을 제공하는 설계 기법이다.
短期的な開発速度を優先した結果生じる、後で対処が必要なコード品質の問題や設計上の負債。放置すると保守コストが増大する。
단기적인 개발 속도를 우선한 결과 발생하는, 나중에 해결해야 할 코드 품질 문제나 설계상의 부채. 방치하면 유지보수 비용이 증가한다.
「ハック」と「マラソン」を合わせた造語。短期間(1〜2日)でチームを組み、アイデアをプロトタイプとして開発・発表するイベント形式のこと。
'해킹'과 '마라톤'을 합친 신조어. 단기간(1~2일) 동안 팀을 구성해 아이디어를 프로토타입으로 개발하고 발표하는 이벤트 형식.
機能を実装する際の技術的なアプローチや設計方針。チーム内で合意を取ってから開発に着手することで手戻りを最小化する。
기능을 구현할 때의 기술적 접근법이나 설계 방침. 팀 내에서 합의를 얻은 후 개발에 착수하여 재작업을 최소화한다.
「Don't Repeat Yourself」の略。同じコードや知識を複数箇所に重複して書かないという設計原則。保守性・可読性の向上に直結する。
'Don't Repeat Yourself'의 약자. 동일한 코드나 로직을 여러 곳에 중복 작성하지 않는다는 설계 원칙으로, 유지보수성과 가독성 향상에 직결된다.
関数の計算結果をキャッシュし、同じ引数で再呼び出された際に再計算せず保存済みの結果を返す最適化手法。処理速度向上に有効。
함수의 계산 결과를 캐시하여, 동일한 인수로 재호출될 때 재계산 없이 저장된 결과를 반환하는 최적화 기법. 처리 속도 향상에 효과적.
分散システムにおけるリクエストの処理経路を追跡する技術。各サービス間の呼び出し関係やレイテンシをスパンとして記録し、ボトルネックの特定に活用する。
분산 시스템에서 리퀘스트의 처리 경로를 추적하는 기술이다. 각 서비스 간 호출 관계나 레이턴시를 스팬으로 기록하고 병목 지점 특정에 활용한다.
既存の型の部分集合を述語で定義する型。正の整数や非空リストなど、値の条件を型レベルで表現する。リファインメント型と類似するが、型理論では集合論的な構成として区別される。
기존 타입의 부분 집합을 술어로 정의하는 타입이다. 양의 정수나 비어 있지 않은 리스트 등 값의 조건을 타입 수준에서 표현한다. 리파인먼트 타입과 유사하지만 타입 이론에서는 집합론적 구성으로 구별된다.
プロジェクト内のファイルやフォルダの階層的な配置・整理方法。可読性・保守性・チーム開発の効率に大きく影響するため、規約に沿った設計が重要。
프로젝트 내 파일과 폴더의 계층적 배치 및 정리 방법. 가독성·유지보수성·팀 개발 효율에 크게 영향을 미치므로, 규약에 맞는 설계가 중요하다.
ユニットテスト・統合テスト・E2Eテストの適切な比率を設計し、テストスイート全体の効率と信頼性を最適化する手法。下層ほどテスト数を多く、上層ほど少なくする原則に従う。
유닛 테스트·통합 테스트·E2E 테스트의 적절한 비율을 설계하여 테스트 스위트 전체의 효율과 신뢰성을 최적화하는 기법이다. 하층일수록 테스트 수를 많게, 상층일수록 적게 하는 원칙을 따른다.
実行時ではなくコンパイル時に依存オブジェクトの解決と注入を行う設計手法であり、リフレクションを使わないため起動速度の向上と型安全性の保証を同時に実現する技術である。
실행 시가 아닌 컴파일 시에 의존 객체의 해결과 주입을 수행하는 설계 기법이며, 리플렉션을 사용하지 않아 기동 속도의 향상과 타입 안전성의 보증을 동시에 실현한다.
コードを実行せずにソースコードを解析し、バグやセキュリティ脆弱性、コーディング規約違反などを検出する手法。CIパイプラインに組み込まれることが多い。
코드를 실행하지 않고 소스 코드를 분석하여 버그, 보안 취약점, 코딩 규약 위반 등을 검출하는 기법. CI 파이프라인에 통합되는 경우가 많다.
Single Instruction Multiple Dataの原理を活用し、一つの命令で複数のデータを同時に処理する最適化手法。画像処理、音声処理、暗号計算など大量データの並列演算で大幅な性能向上を実現する。
Single Instruction Multiple Data 원리를 활용하여 하나의 명령으로 여러 데이터를 동시에 처리하는 최적화 기법이다. 이미지 처리, 음성 처리, 암호 계산 등 대량 데이터의 병렬 연산에서 대폭적인 성능 향상을 실현한다.
関連するクラスやモジュールをまとめた単位。ライブラリやフレームワークの配布形式としても使われ、npm・pip・Mavenなどのパッケージマネージャーで管理される。
관련 클래스나 모듈을 묶은 단위. 라이브러리나 프레임워크의 배포 형식으로도 사용되며, npm·pip·Maven 등의 패키지 매니저로 관리된다.
互換性のないインタフェース間を仲介する変換層を設ける設計パターンの適用であり、外部ライブラリやレガシーシステムとの統合において内部ドメインモデルとの結合度を低減する。
호환성이 없는 인터페이스 간을 중개하는 변환 층을 마련하는 설계 패턴의 적용이며, 외부 라이브러리나 레거시 시스템과의 통합에서 내부 도메인 모델과의 결합도를 저감한다.
開発作業にかかる工数見積もりの正確さ。プランニングポーカーや過去実績の分析により見積もり精度を継続的に改善していく。
개발 작업에 소요되는 공수 견적의 정확성. 플래닝 포커나 과거 실적 분석을 통해 견적 정확도를 지속적으로 개선해 나간다.
特定の機能や処理を実現する再利用可能な短いコードの断片。IDEやドキュメントに貼り付けて素早く実装するために活用される。
특정 기능이나 처리를 구현하는 재사용 가능한 짧은 코드 조각. IDE나 문서에 붙여넣어 빠르게 구현하기 위해 활용된다.
チーム全員の開発環境をDevContainerやDockerで統一して環境差異によるトラブルを排除する標準であり、必要なツールや拡張機能の設定もコードとして管理して再現性を保証する。
팀 전원의 개발 환경을 DevContainer나 Docker로 통일하여 환경 차이에 의한 트러블을 배제하는 표준이며, 필요한 도구나 확장 기능의 설정도 코드로서 관리하여 재현성을 보장한다.
アルゴリズムの時間・空間計算量をO(n)のように表す記法。入力サイズnに対して処理コストがどう増加するかを示し、アルゴリズムの効率性評価に使われる。
알고리즘의 시간·공간 복잡도를 O(n)처럼 표현하는 표기법. 입력 크기 n에 따라 처리 비용이 어떻게 증가하는지 나타내며, 알고리즘 효율성 평가에 활용된다.
Testcontainersライブラリを用いてテスト実行時にDB・Redis・Kafkaなどの依存サービスをDockerコンテナとして自動起動する手法であり、本番同等の環境で統合テストの信頼性を向上させる。
Testcontainers 라이브러리를 이용하여 테스트 실행 시에 DB·Redis·Kafka 등의 의존 서비스를 Docker 컨테이너로 자동 기동하는 기법이며, 프로덕션 동등의 환경에서 통합 테스트의 신뢰성을 향상시킨다.
性能、可用性、セキュリティなど機能以外のシステム要件を明文化する作業。SLAの数値目標やレスポンスタイムの基準を具体的に定める。
성능, 가용성, 보안 등 기능 이외의 시스템 요건을 명문화하는 작업. SLA 수치 목표나 응답 시간 기준을 구체적으로 정한다.
マイクロサービスごとに最適なデータストアを選択して併用する設計手法であり、リレーショナルDB・ドキュメントDB・キーバリューストアを用途に応じて使い分けてデータ管理を最適化する。
마이크로서비스마다 최적의 데이터 스토어를 선택하여 병용하는 설계 기법이며, 관계형 DB, 문서 DB, 키-밸류 스토어를 용도에 따라 구분하여 데이터 관리를 최적화한다.
VS Codeとコンテナを組み合わせた開発環境仕様。`.devcontainer`に環境定義を記述することでチーム全員が同一の開発環境を使え、「自分のPCでは動く」問題を解消する。
VS Code와 컨테이너를 결합한 개발 환경 사양. `.devcontainer`에 환경 정의를 기술함으로써 팀 전원이 동일한 개발 환경을 사용할 수 있으며, '내 PC에서는 되는데' 문제를 해결한다.
「Keep It Simple, Stupid」の略。設計やコードはできる限りシンプルに保つべきという開発原則。複雑な実装を避け、可読性・保守性を高めることを目的とする。
'Keep It Simple, Stupid'의 약자. 설계나 코드는 가능한 한 단순하게 유지해야 한다는 개발 원칙. 복잡한 구현을 피하고 가독성과 유지보수성을 높이는 것을 목적으로 한다.
トランスパイルやミニファイ後のコードと元のソースコードの対応関係を記録したファイル。ブラウザのDevToolsでデバッグする際に、変換前のコードで直接ブレークポイントを設定できるようにする。
트랜스파일이나 미니파이 후의 코드와 원본 소스 코드의 대응 관계를 기록한 파일. 브라우저의 DevTools에서 디버그할 때 변환 전의 코드에서 직접 브레이크포인트를 설정할 수 있도록 한다.
クラス継承よりもプロトコル(インターフェース)の準拠を重視するSwiftのプログラミングパラダイム。値型とプロトコルの組み合わせにより、参照セマンティクスの複雑さを避けつつ柔軟な型設計を実現する。
클래스 상속보다 프로토콜(인터페이스)의 준거를 중시하는 Swift의 프로그래밍 패러다임. 값 타입과 프로토콜의 조합에 의해 참조 시맨틱스의 복잡함을 피하면서 유연한 타입 설계를 실현한다.
ソースコードや設定ファイルの変更履歴を記録・管理する仕組み。GitやSVNなどのツールを使い、複数人での共同開発やロールバックを可能にする。
소스 코드나 설정 파일의 변경 이력을 기록·관리하는 체계. Git이나 SVN 등의 도구를 사용하여 여러 명이 공동 개발하거나 롤백을 가능하게 한다.
マイクロサービス間のリクエストフローをトレースIDで追跡し、ボトルネックや障害箇所を特定する仕組みの導入。OpenTelemetryやJaegerを使い、サービス間の呼び出し関係を可視化する。
마이크로서비스 간 요청 흐름을 트레이스 ID로 추적하고 병목이나 장애 개소를 특정하는 구조의 도입이다. OpenTelemetry나 Jaeger를 사용하여 서비스 간 호출 관계를 가시화한다.
ソフトウェアアーキテクチャの品質属性を自動的に検証するテストであり、依存関係の方向性やレイヤー間の不正アクセス、循環参照といった構造的劣化をCIパイプラインで継続検出する仕組みである。
소프트웨어 아키텍처의 품질 속성을 자동으로 검증하는 테스트이며, 의존 관계의 방향성이나 레이어 간의 부정 접근, 순환 참조 같은 구조적 열화를 CI 파이프라인에서 지속 검출하는 구조이다.
CI/CDパイプラインのビルド時間を短縮するためにDockerレイヤーキャッシュや依存関係キャッシュを適切に構成する手法であり、不要な再ビルドを排除して開発サイクル全体の生産性を向上させる。
CI/CD 파이프라인의 빌드 시간을 단축하기 위해 Docker 레이어 캐시나 의존 관계 캐시를 적절히 구성하는 기법이며, 불필요한 재빌드를 배제하여 개발 사이클 전체의 생산성을 향상시킨다.
データへのアクセス速度を向上させるため、頻繁に使用するデータを一時的に保存する仕組み。ブラウザ、DB、サーバーサイドなど様々なレイヤーで活用される。
데이터 접근 속도를 향상시키기 위해 자주 사용하는 데이터를 임시로 저장하는 메커니즘. 브라우저, DB, 서버 사이드 등 다양한 레이어에서 활용된다.
障害発生時に影響を受けるユーザー数、機能範囲、データ範囲を迅速に特定する手法。サービスマップや依存関係グラフを活用し、正確な影響評価に基づくコミュニケーションを行う。
장애 발생 시 영향을 받는 사용자 수, 기능 범위, 데이터 범위를 신속히 특정하는 기법이다. 서비스 맵이나 의존 관계 그래프를 활용하여 정확한 영향 평가에 기반한 커뮤니케이션을 수행한다.
モジュール内の要素がどれだけ関連性を持って一つの目的に集中しているかを示す指標。凝集度が高いほど単一責任の原則に沿っており、理解しやすく保守しやすい。
모듈 내 요소가 얼마나 관련성을 갖고 하나의 목적에 집중하고 있는지를 나타내는 지표이다. 응집도가 높을수록 단일 책임 원칙에 부합하며 이해하기 쉽고 유지보수하기 쉽다.
データをメモリ上の特定のバイト境界に配置する制約。CPUのメモリアクセス効率はアライメントに依存し、適切な配置によりキャッシュ効率の向上やSIMD命令の利用が可能になる。
데이터를 메모리상의 특정 바이트 경계에 배치하는 제약이다. CPU의 메모리 접근 효율은 얼라인먼트에 의존하며 적절한 배치로 캐시 효율 향상이나 SIMD 명령 이용이 가능해진다.
関数の戻り値に成功と失敗の両方の可能性を型で明示するエラー処理パターン。例外をスローする代わりにResult型やEither型を返し、呼び出し側にエラー処理を強制することで未処理エラーを防止する。
함수의 반환값에 성공과 실패 양쪽의 가능성을 타입으로 명시하는 에러 처리 패턴. 예외를 던지는 대신 Result 타입이나 Either 타입을 반환하여 호출 측에 에러 처리를 강제함으로써 미처리 에러를 방지한다.
テストで使用するデータオブジェクトを効率的に生成するパターン。Faker.jsやFactoryBotなどを使い、テストごとに必要なデータを宣言的に定義して可読性と保守性を高める。
테스트에서 사용하는 데이터 객체를 효율적으로 생성하는 패턴이다. Faker.js나 FactoryBot 등을 사용하여 테스트마다 필요한 데이터를 선언적으로 정의하여 가독성과 유지보수성을 높인다.
データを特定の順序(昇順・降順など)に並べ替えるアルゴリズムの総称。バブルソート、クイックソート、マージソートなど多種あり、計算量や安定性で使い分ける。
데이터를 특정 순서(오름차순·내림차순 등)로 정렬하는 알고리즘의 총칭. 버블 정렬, 퀵 정렬, 병합 정렬 등 다양하며, 시간 복잡도와 안정성에 따라 구분하여 사용한다.
オブジェクトの生成処理を専用のファクトリークラスに委譲するデザインパターン。インスタンス化のロジックを隠蔽し、疎結合な設計を実現する。
객체 생성 처리를 전용 팩토리 클래스에 위임하는 디자인 패턴. 인스턴스화 로직을 은닉하고 느슨하게 결합된 설계를 실현한다.
プログラムの実行を一時停止・追跡し、バグの原因を特定するためのツール。ブレークポイント設定やステップ実行などの機能を持つ。
프로그램 실행을 일시 중지하거나 추적하여 버그 원인을 파악하는 도구. 브레이크포인트 설정 및 스텝 실행 등의 기능을 제공한다.
システムの状態やKPIを一覧表示するダッシュボード画面の構成・レイアウトを設計すること。情報の優先度や視認性を考慮したUI設計が重要。
시스템 상태나 KPI를 한눈에 표시하는 대시보드 화면의 구성 및 레이아웃을 설계하는 것. 정보 우선순위와 가독성을 고려한 UI 설계가 중요하다.
オブジェクトやリソースの初期化を実際に必要になるまで遅延させるデザインパターン。起動時間の短縮やメモリ使用量の削減に効果があり、重い処理やDBコネクションの確立などに適用される。
객체나 리소스의 초기화를 실제로 필요해질 때까지 지연시키는 디자인 패턴. 기동 시간의 단축이나 메모리 사용량의 삭감에 효과가 있으며, 무거운 처리나 DB 커넥션의 확립 등에 적용된다.
システムの安定稼働のために定期的に行う保守作業。OSパッチ適用、DB最適化、証明書更新などが含まれる。
시스템의 안정 가동을 위해 정기적으로 수행하는 유지보수 작업. OS 패치 적용, DB 최적화, 인증서 갱신 등이 포함된다.
アルゴリズムの処理効率を示す指標。入力サイズnに対してどれだけの時間・空間リソースが必要かをO記法(ビッグオー記法)で表現する。
알고리즘의 처리 효율을 나타내는 지표. 입력 크기 n에 대해 얼마나 많은 시간·공간 자원이 필요한지를 O 표기법(빅오 표기법)으로 나타낸다.
アプリケーションを再起動せずに実行中のプログラムにパッチを適用する技術のこと。ホットフィックスの即時適用やダウンタイムの最小化に利用され、可用性の維持に貢献する。
애플리케이션을 재시작하지 않고 실행 중인 프로그램에 패치를 적용하는 기술을 말한다. 핫픽스의 즉시 적용이나 다운타임 최소화에 이용되며 가용성 유지에 기여한다.
Decentralized Applicationの略。バックエンドのビジネスロジックが中央集権的なサーバーではなく、ブロックチェーン上のスマートコントラクトとして実行されるアプリケーション。
Decentralized Application의 약자. 백엔드의 비즈니스 로직이 중앙 집중적인 서버가 아니라, 블록체인 상의 스마트 컨트랙트로서 실행되는 애플리케이션.
副作用を排除し、純粋関数と不変データを中心に処理を組み立てるプログラミングパラダイム。ScalaやHaskell、Kotlinなどで採用され、バグの少ない保守性の高いコードが書ける。
부작용을 제거하고 순수 함수와 불변 데이터를 중심으로 처리를 구성하는 프로그래밍 패러다임. Scala, Haskell, Kotlin 등에서 채택되며 버그가 적고 유지보수성이 높은 코드를 작성할 수 있다.
異なるシステムやドメイン間を繋ぐ変換レイヤー。外部システムの変更や差異が自システムのドメインモデルに直接影響しないよう保護する設計パターン(ACL)。
서로 다른 시스템이나 도메인 사이를 연결하는 변환 레이어. 외부 시스템의 변경이나 차이가 자체 도메인 모델에 직접 영향을 주지 않도록 보호하는 설계 패턴(ACL).
モジュール内の要素がどれだけ密接に関連しているかを示す指標。高凝集度はモジュールの責務が明確で保守性・再利用性が高い設計を意味する。
모듈 내 요소들이 얼마나 밀접하게 연관되어 있는지를 나타내는 지표. 높은 응집도는 모듈의 책임이 명확하고 유지보수성·재사용성이 높은 설계를 의미한다.
同一のソースコードから常に同一のバイナリが生成されることを検証する仕組みであり、ビルド環境の差異やタイムスタンプの混入を排除してサプライチェーンの信頼性を確保する手法である。
동일한 소스 코드에서 항상 동일한 바이너리가 생성되는 것을 검증하는 구조이며, 빌드 환경의 차이나 타임스탬프의 혼입을 배제하여 공급망의 신뢰성을 확보하는 기법이다.
GitHubとOpenAIが開発したAIコーディングアシスタント。コードの自動補完・関数生成・テストコード作成・バグ修正提案などをエディタ上でリアルタイムに行う。
GitHub와 OpenAI가 개발한 AI 코딩 어시스턴트. 코드 자동 완성·함수 생성·테스트 코드 작성·버그 수정 제안 등을 에디터 상에서 실시간으로 수행한다.
データの生産速度が消費速度を上回った際に上流への流量を動的に調整する制御機構であり、リアクティブストリームの仕様に基づきシステムの安定性とリソースの保護を実現する。
데이터의 생산 속도가 소비 속도를 상회했을 때 상류에 대한 유량을 동적으로 조정하는 제어 메커니즘이며, 리액티브 스트림의 사양에 기반하여 시스템의 안정성과 리소스 보호를 실현한다.
コードの外部動作を変えずに内部構造を改善するための定型的な変換手法。メソッド抽出やクラス分割など、安全にコード品質を向上させる再構成の手法群である。
코드의 외부 동작을 바꾸지 않고 내부 구조를 개선하기 위한 정형적인 변환 기법이다. 메서드 추출이나 클래스 분할 등 안전하게 코드 품질을 향상시키는 재구성 기법군이다.
Pythonの標準パッケージ管理ツール。外部ライブラリのインストール・アップデート・削除をコマンドラインで簡単に行える。`pip install パッケージ名`の形式で使用する。
Python의 표준 패키지 관리 도구. 외부 라이브러리의 설치·업데이트·삭제를 커맨드라인에서 간편하게 수행할 수 있으며, `pip install 패키지명` 형식으로 사용한다.
ソースコードを1行ずつ逐次解釈・実行する方式。コンパイル不要で即時実行できるが、実行速度はコンパイラ方式より遅い傾向がある。PythonやRubyが代表例。
소스 코드를 한 줄씩 순차적으로 해석하고 실행하는 방식. 컴파일이 필요 없어 즉시 실행이 가능하지만, 실행 속도는 컴파일러 방식보다 느린 경향이 있다. Python, Ruby가 대표적인 예다.
クラウドインフラの利用コストをダッシュボードやレポートで可視化する取り組み。タグベースのコスト配分やアラート設定で無駄を削減する。
클라우드 인프라 이용 비용을 대시보드나 리포트로 시각화하는 활동. 태그 기반 비용 배분이나 알림 설정으로 낭비를 절감한다.
アプリケーションの動作に必要な設定値(APIキー、DB接続情報など)をコードから分離し、環境ごとに外部で管理する手法。セキュリティと可搬性を高める。
애플리케이션 동작에 필요한 설정값(API 키, DB 접속 정보 등)을 코드와 분리하여 환경별로 외부에서 관리하는 방법으로, 보안성과 이식성을 높인다.
ソースコードや文字列を別の言語・形式に変換する処理。i18n対応では多言語テキストの翻訳管理、コンパイラでは中間コードへの変換を指す場合もある。
소스 코드나 문자열을 다른 언어·형식으로 변환하는 처리. i18n 대응에서는 다국어 텍스트의 번역 관리, 컴파일러에서는 중간 코드로의 변환을 의미하기도 한다.
システムの設計意図・トレードオフ・代替案を記録した技術文書。将来の開発者が設計判断の背景を理解し、保守・改修を適切に行うための参考資料となる。
시스템의 설계 의도·트레이드오프·대안을 기록한 기술 문서이다. 향후 개발자가 설계 판단의 배경을 이해하고 유지보수·개수를 적절히 수행하기 위한 참고 자료가 된다.
既存の型のプロパティを変換して新しい型を動的に生成するTypeScriptの型構文である。Partial、Required、Readonlyなどの組み込みユーティリティ型の基盤であり、型レベルでの反復処理によりDRYな型定義を実現する。
기존 타입의 프로퍼티를 변환하여 새로운 타입을 동적으로 생성하는 TypeScript의 타입 구문이다. Partial, Required, Readonly 등의 내장 유틸리티 타입의 기반이며 타입 레벨에서의 반복 처리로 DRY한 타입 정의를 실현한다.
一度生成されたら変更できないデータ構造であり、変更操作は新しいインスタンスを返す。スレッドセーフ性が保証され、状態管理の予測可能性が向上する。構造共有により効率的なメモリ利用を実現する。
한 번 생성되면 변경할 수 없는 데이터 구조이며, 변경 조작은 새로운 인스턴스를 반환한다. 스레드 세이프가 보장되고 상태 관리의 예측 가능성이 향상된다. 구조 공유를 통해 효율적인 메모리 사용을 실현한다.
あるモジュールやサービスが他のモジュール・ライブラリに依存している関係のこと。依存関係の管理はビルドやデプロイの安定性に直結する重要な概念。
특정 모듈이나 서비스가 다른 모듈·라이브러리에 의존하는 관계를 말한다. 의존성 관리는 빌드와 배포의 안정성에 직결되는 중요한 개념이다.
コンパイル済みのオブジェクトファイルやライブラリを結合して実行可能ファイルを生成するツール。シンボル解決と再配置を行い、静的リンクと動的リンクの二方式でプログラムを構成する。
컴파일된 오브젝트 파일이나 라이브러리를 결합하여 실행 가능 파일을 생성하는 도구이다. 심볼 해결과 재배치를 수행하며 정적 링크와 동적 링크의 두 방식으로 프로그램을 구성한다.
分割不可能な単一の操作単位。実行中に他のスレッドから割り込まれず、完全に成功するか完全に失敗するかのいずれかとなる処理のこと。
분할할 수 없는 단일 연산 단위. 실행 중 다른 스레드의 개입 없이 완전히 성공하거나 완전히 실패하는 처리를 의미한다.
ASTを直接操作してコードを生成するマクロの一種。Rustのderive、attribute、function-likeの3種類が代表的で、テキスト置換ではなく構文木レベルの変換を行う。
AST를 직접 조작하여 코드를 생성하는 매크로의 일종이다. Rust의 derive, attribute, function-like의 3종류가 대표적이며 텍스트 치환이 아닌 구문 트리 수준의 변환을 수행한다.
カナリアリリースで新バージョンに振り分けたトラフィックのエラー率やレイテンシを自動監視し、閾値に基づいてロールアウトの継続または自動ロールバックを判定する仕組みである。
카나리 릴리스에서 신규 버전에 배분한 트래픽의 에러율이나 지연을 자동 감시하고, 임곗값에 기반하여 롤아웃의 계속 또는 자동 롤백을 판정하는 구조이다.
GroovyまたはKotlin DSLを使用したビルド自動化ツール。AndroidやJavaプロジェクトで広く採用され、依存関係管理やタスク実行を柔軟に定義できる。
Groovy 또는 Kotlin DSL을 사용하는 빌드 자동화 도구. Android 및 Java 프로젝트에서 널리 사용되며, 의존성 관리와 태스크 실행을 유연하게 정의할 수 있다.
カナリアリリース時にメトリクスを自動分析し、新バージョンへの段階的移行を継続するか自動ロールバックするかを判定する仕組み。Kayentaなどの自動分析ツールを活用する。
카나리아 릴리스 시 메트릭스를 자동 분석하여 새 버전으로의 단계적 이행을 계속할지 자동 롤백할지를 판정하는 구조이다. Kayenta 등의 자동 분석 도구를 활용한다.
共通の判別用プロパティを持つユニオン型であり、そのプロパティの値に基づいて型を一意に特定できる。TypeScriptのタグ付きユニオンとも呼ばれ、switch文やif文で型を安全に絞り込み、網羅的な処理を保証する。
공통의 판별용 프로퍼티를 가진 유니온 타입이며 해당 프로퍼티의 값에 기반하여 타입을 유일하게 특정할 수 있다. TypeScript의 태그 부착 유니온이라고도 불리며 switch 문이나 if 문으로 타입을 안전하게 좁혀 망라적 처리를 보증한다.
Kotlinにおいてクラスに紐づく静的メソッドやファクトリメソッドを定義するための特殊なオブジェクト宣言。Javaのstaticメンバーに相当する機能を提供し、ファクトリパターンの実装に広く利用される。
Kotlin에서 클래스에 연결된 정적 메서드나 팩토리 메서드를 정의하기 위한 특수한 객체 선언. Java의 static 멤버에 상당하는 기능을 제공하며, 팩토리 패턴의 구현에 널리 이용된다.
関数の引数として多相関数自体を受け取れるようにする型システムの機能。ランク1多相では呼び出し側が型を決定するが、ランク2以上では受け取り側が複数の型に対して適用できる。
함수의 인수로서 다형 함수 자체를 받을 수 있게 하는 타입 시스템의 기능이다. 랭크1 다형에서는 호출 측이 타입을 결정하지만 랭크2 이상에서는 수신 측이 여러 타입에 대해 적용할 수 있다.
ログ出力をJSON形式などの機械解析可能な構造で統一する標準化の取り組みであり、全サービスで共通のフィールド名やログレベルの定義を策定してログ分析基盤との連携を効率化する。
로그 출력을 JSON 형식 등의 기계 분석 가능한 구조로 통일하는 표준화의 활동이며, 전체 서비스에서 공통의 필드명이나 로그 레벨의 정의를 수립하여 로그 분석 기반과의 연계를 효율화한다.
チーム内でコードの書き方を統一するためのルール集。命名規則・インデント・コメント記述方法などを定め、可読性と保守性を高める。
팀 내에서 코드 작성 방식을 통일하기 위한 규칙 모음. 명명 규칙·들여쓰기·주석 작성 방법 등을 정하여 가독성과 유지보수성을 높인다.
複数の開発者が同じファイルの同じ箇所を変更した際、Gitなどのバージョン管理システムで自動マージできない状態。手動での競合解消が必要。
여러 개발자가 동일한 파일의 같은 부분을 수정했을 때, Git 등의 버전 관리 시스템에서 자동 병합이 불가능한 상태. 수동으로 충돌을 해결해야 한다.
Rustで実装された超高速なPythonリンター。Flake8・pylint・isortなど複数のツールを統合し、従来ツールの100倍以上の速度でコード品質チェックを行う。
Rust로 구현된 초고속 Python 린터. Flake8·pylint·isort 등 여러 도구를 통합하여 기존 도구의 100배 이상의 속도로 코드 품질 검사를 수행한다.
本番環境の緊急バグを修正するために作成する短命のブランチ。通常のリリースサイクルを待たず迅速にパッチを適用する際に使用する。
프로덕션 환경의 긴급 버그를 수정하기 위해 생성하는 단명 브랜치. 통상 릴리스 사이클을 기다리지 않고 신속하게 패치를 적용할 때 사용한다.
アルゴリズムやコードの処理量・構造の複雑さを示す指標。時間計算量(O記法)や循環的複雑度(サイクロマティック複雑度)などで定量的に評価される。
알고리즘이나 코드의 처리량·구조의 복잡함을 나타내는 지표. 시간 복잡도(O 표기법)나 순환 복잡도(사이클로매틱 복잡도) 등으로 정량적으로 평가된다.
テストコードを先に書いてから実装を行う開発手法。Red→Green→Refactorのサイクルを繰り返し、コード品質と保守性を高める。略称はTDD。
테스트 코드를 먼저 작성한 후 구현을 진행하는 개발 방법론. Red→Green→Refactor 사이클을 반복하여 코드 품질과 유지보수성을 높인다. 약칭은 TDD.
メソッドチェーンを用いて、自然言語に近い記述でオブジェクトの操作を連続的に行えるAPIデザインパターン。ビルダーパターンやクエリビルダーに多く採用され、直感的で読みやすいコードを実現する。
메서드 체인을 사용하여 자연어에 가까운 기술로 객체의 조작을 연속적으로 행할 수 있는 API 디자인 패턴. 빌더 패턴이나 쿼리 빌더에 많이 채용되며, 직관적이고 읽기 쉬운 코드를 실현한다.
設定値などをソースコードに直接記述すること。避けるべき手法。
설정값 등을 소스 코드에 직접 기술하는 것. 피해야 할 기법.
複雑に絡み合い読解・保守が困難なコードを、リファクタリングによって整理・構造化し、可読性と保守性を高める作業のこと。
복잡하게 얽혀 있어 이해 및 유지보수가 어려운 코드를 리팩토링을 통해 정리·구조화하여 가독성과 유지보수성을 높이는 작업.
ソースコードを実行可能なソフトウェアに変換するツール。コンパイル・リンク・テスト・デプロイなどの工程を自動化し、開発効率を向上させる。Maven、Gradle、Webpackなどが代表例。
소스 코드를 실행 가능한 소프트웨어로 변환하는 도구. 컴파일·링크·테스트·배포 등의 과정을 자동화하여 개발 효율을 높인다. Maven, Gradle, Webpack 등이 대표적인 예다.
年末年始や大型セール期間など、リスクの高い時期にプロダクション環境へのデプロイを一時的に禁止する運用ルール。サービス安定性を最優先に確保するための措置である。
연말연시나 대형 세일 기간 등 리스크가 높은 시기에 프로덕션 환경으로의 배포를 일시적으로 금지하는 운용 규칙이다. 서비스 안정성을 최우선으로 확보하기 위한 조치이다.
システム障害発生時に原因箇所を特定するための調査プロセス。ログ解析やモニタリングツールを活用して問題の切り分けを行う。
시스템 장애 발생 시 원인 위치를 특정하기 위한 조사 프로세스. 로그 분석이나 모니터링 도구를 활용하여 문제를 분리한다.
SLOのエラーバジェットが消費される速度をリアルタイムで監視し、異常な消費ペースを早期に検知する仕組み。短期間と長期間のバーンレートを組み合わせて多段階で監視する。
SLO의 에러 버짓이 소비되는 속도를 실시간으로 감시하고 이상한 소비 페이스를 조기에 검지하는 구조이다. 단기간과 장기간의 번 레이트를 조합하여 다단계로 감시한다.
コードの品質低下や設計上の問題を定量的・視覚的に把握するプロセス。SonarQubeなどのツールを活用し、リファクタリングの優先順位付けに役立てる。
코드 품질 저하나 설계상의 문제를 정량적·시각적으로 파악하는 프로세스. SonarQube 등의 도구를 활용하여 리팩토링 우선순위 결정에 활용한다.
一度作成したサーバーやコンテナを変更せず、更新時は新しいインスタンスに置き換える運用方針であり、構成のドリフトを防止して環境の再現性と監査可能性を保証する手法である。
한번 생성한 서버나 컨테이너를 변경하지 않고 갱신 시에는 새로운 인스턴스로 교체하는 운용 방침이며, 구성의 드리프트를 방지하여 환경의 재현성과 감사 가능성을 보장하는 기법이다.
変数・関数・クラスなどの名前を付ける際のルール。キャメルケースやスネークケースなど、チームやプロジェクト全体で統一することでコードの可読性と保守性を高める。
변수, 함수, 클래스 등에 이름을 붙일 때의 규칙. 캐멀 케이스나 스네이크 케이스 등을 팀 또는 프로젝트 전체에서 통일함으로써 코드의 가독성과 유지보수성을 높인다.
複数の型をすべて同時に満たすことを要求する型である。TypeScriptのA & Bのように、複数の型の機能を合成して一つの型として表現する。ミックスインパターンやトレイトの合成に活用される。
여러 타입을 모두 동시에 만족할 것을 요구하는 타입이다. TypeScript의 A & B처럼 여러 타입의 기능을 합성하여 하나의 타입으로 표현한다. 믹스인 패턴이나 트레이트의 합성에 활용된다.
プロジェクトが依存する外部ライブラリを最新バージョンに更新する作業。Dependabotなどで自動化し脆弱性対応を迅速に行う。
프로젝트가 의존하는 외부 라이브러리를 최신 버전으로 갱신하는 작업. Dependabot 등으로 자동화하여 취약점 대응을 신속히 수행한다.
コード変更を頻繁にメインブランチへ統合し、自動テストで品質を検証する開発プラクティス。統合の問題を早期に発見し、開発サイクルを加速させることを目的とする。
코드 변경을 빈번하게 메인 브랜치에 통합하고 자동 테스트로 품질을 검증하는 개발 프랙티스이다. 통합 문제를 조기에 발견하고 개발 사이클을 가속하는 것을 목적으로 한다.
処理の完了を待たずに次の処理を進める手法。UIのフリーズ防止やAPIリクエストの並行処理など、パフォーマンス向上に不可欠な技術。async/awaitやPromiseが代表的。
처리 완료를 기다리지 않고 다음 처리를 진행하는 방법론. UI 프리즈 방지나 API 요청의 병렬 처리 등 성능 향상에 필수적인 기술로, async/await와 Promise가 대표적이다.
文字列のパターンマッチングや検索・置換に使う記法。メタ文字を組み合わせて柔軟な文字列操作が可能で、バリデーションやログ解析などに広く活用される。
문자열의 패턴 매칭이나 검색·치환에 사용하는 표기법. 메타 문자를 조합해 유연한 문자열 조작이 가능하며, 유효성 검사나 로그 분석 등에 널리 활용된다.
ソフトウェアアーキテクチャに関する重要な意思決定とその背景・理由を文書化する手法。将来の開発者が過去の設計判断を理解し、同じ議論を繰り返すことを防止する。
소프트웨어 아키텍처에 관한 중요한 의사결정과 그 배경·이유를 문서화하는 기법이다. 미래의 개발자가 과거의 설계 판단을 이해하고 같은 논의를 반복하는 것을 방지한다.
Renovateやdependabotを使い、プロジェクトの依存ライブラリのバージョンアップPRを自動生成する仕組み。セキュリティパッチの迅速な適用と技術的負債の蓄積防止を実現する。
Renovate나 Dependabot을 사용하여 프로젝트의 의존 라이브러리 버전업 PR을 자동 생성하는 구조이다. 보안 패치의 신속한 적용과 기술적 부채의 축적 방지를 실현한다.
SLOのバーンレートに基づいてアラートの閾値と通知条件を設計する手法。誤報を最小化しつつ重要な劣化を見逃さないバランスの取れたアラート体系を構築する。
SLO의 번 레이트에 기반하여 알림의 임곗값과 통지 조건을 설계하는 기법이다. 오보를 최소화하면서 중요한 열화를 놓치지 않는 균형 잡힌 알림 체계를 구축한다.
ソフトウェア設計における再利用可能な解決策のテンプレート。GoFの23パターンが有名で、Singleton・Factory・Observerなど設計の共通言語として活用される。
소프트웨어 설계에서 재사용 가능한 해결책의 템플릿. GoF의 23가지 패턴이 유명하며, Singleton·Factory·Observer 등 설계의 공통 언어로 활용된다.
ソースコードの変更を検知し、ブラウザや画面を自動で再読み込みする機能。手動リロード不要で開発効率を大幅に向上させる。
소스 코드 변경을 감지하여 브라우저나 화면을 자동으로 새로고침하는 기능. 수동 새로고침 없이 개발 효율을 크게 향상시킨다.
他の開発者が書いたソースコードを確認・評価するプロセス。品質向上・バグ早期発見・知識共有を目的とし、プルリクエストを通じて行われることが多い。
다른 개발자가 작성한 소스 코드를 확인하고 평가하는 프로세스. 품질 향상, 버그 조기 발견, 지식 공유를 목적으로 하며, 풀 리퀘스트를 통해 진행되는 경우가 많다.
ソースコードが公開され、誰でも自由に利用・改変・再配布できるソフトウェア。OSSとも呼ばれ、LinuxやReactなど多くのプロダクトで活用されている。
소스 코드가 공개되어 누구나 자유롭게 사용·수정·재배포할 수 있는 소프트웨어. OSS라고도 불리며, Linux나 React 등 많은 프로덕트에서 활용된다.
異なるCPUコアが同一キャッシュラインに属する別々の変数を更新する際に、不要なキャッシュ無効化が発生する現象。マルチスレッド環境で性能低下を引き起こし、パディングによる分離で対策する。
다른 CPU 코어가 동일 캐시 라인에 속하는 별개의 변수를 갱신할 때 불필요한 캐시 무효화가 발생하는 현상이다. 멀티스레드 환경에서 성능 저하를 야기하며 패딩에 의한 분리로 대책한다.
コード変更や機能追加が他の機能やモジュールに与える影響を事前に調査するプロセス。リグレッションテストの範囲決定に役立つ。
코드 변경이나 기능 추가가 다른 기능이나 모듈에 미치는 영향을 사전에 조사하는 프로세스. 리그레션 테스트 범위 결정에 도움이 된다.
チーム内でコミットメッセージの書き方を統一するルール。Conventional Commitsなどの規約を採用し変更履歴の可読性を向上させる。
팀 내에서 커밋 메시지 작성법을 통일하는 규칙. Conventional Commits 등의 규약을 채택하여 변경 이력의 가독성을 향상시킨다.
APIやサービスへのリクエスト数を一定期間内に制限する仕組み。過剰なアクセスからシステムを保護し、公平なリソース利用を実現するために導入される。
API나 서비스에 대한 리퀘스트 수를 일정 기간 내에 제한하는 구조이다. 과도한 접속으로부터 시스템을 보호하고 공평한 리소스 이용을 실현하기 위해 도입된다.
コンパイラがオーバーロードされた関数や名前空間の衝突を解決するために、シンボル名を一意に変換する処理。C++のリンク時に同名関数を区別するために使用される基盤技術である。
컴파일러가 오버로드된 함수나 네임스페이스 충돌을 해결하기 위해 심볼명을 고유하게 변환하는 처리이다. C++ 링크 시에 동명 함수를 구별하기 위해 사용되는 기반 기술이다.
テキストの自動翻訳機能をHTTPリクエスト経由で提供するAPI。Google Cloud Translation APIやDeepL APIなどが代表的で、多言語対応サービス開発に活用される。
텍스트 자동 번역 기능을 HTTP 요청을 통해 제공하는 API. Google Cloud Translation API, DeepL API 등이 대표적이며, 다국어 지원 서비스 개발에 활용된다.
既存のAPIやインターフェースの互換性を壊す変更のこと。利用側のコード修正が必須となり、バージョンアップ時に特に注意が必要。
기존 API나 인터페이스의 호환성을 깨뜨리는 변경 사항. 사용하는 쪽의 코드 수정이 필수이며, 버전 업그레이드 시 특히 주의가 필요하다.
クラスのインスタンスが必ずひとつだけ生成されることを保証するデザインパターン。DBコネクションやログ管理など共有リソースの管理に広く使われる。
클래스의 인스턴스가 반드시 하나만 생성되도록 보장하는 디자인 패턴. DB 커넥션이나 로그 관리 등 공유 리소스 관리에 널리 사용된다.
Vercelが開発したJavaScript/TypeScriptモノレポ向けビルドシステム。インクリメンタルビルド・リモートキャッシュ・タスクのパイプライン管理で大規模モノレポのビルドを高速化する。
Vercel이 개발한 JavaScript/TypeScript 모노레포용 빌드 시스템. 증분 빌드·원격 캐시·태스크 파이프라인 관리로 대규모 모노레포의 빌드를 고속화한다.
コードに記述する特殊形式のコメント。JavaDocやJSDocなどのツールで自動的にAPIリファレンスドキュメントを生成するために使用される。
코드에 작성하는 특수 형식의 주석. JavaDoc이나 JSDoc 등의 도구를 통해 자동으로 API 레퍼런스 문서를 생성하는 데 사용된다.
TypeScriptで型レベルの条件分岐を実現する高度な型機能。extendsキーワードを用いて入力型に応じた出力型を動的に決定し、関数の戻り値型を引数型に基づいて自動推論できるようにする。
TypeScript에서 타입 레벨의 조건 분기를 실현하는 고급 타입 기능. extends 키워드를 사용하여 입력 타입에 따른 출력 타입을 동적으로 결정하고, 함수의 반환 타입을 인수 타입에 기반하여 자동 추론할 수 있도록 한다.
開発・ステージング・本番の環境変数を安全に管理するツール。dotenvやVault、AWS Parameter Storeなどで機密情報の漏洩を防ぐ。
개발·스테이징·프로덕션의 환경 변수를 안전하게 관리하는 도구. dotenv나 Vault, AWS Parameter Store 등으로 기밀 정보 유출을 방지한다.
ソースコードのコンパイル時に検出される構文エラーや型エラー。ランタイムエラーと異なり実行前に問題を発見できるため修正コストが低い。
소스 코드 컴파일 시 검출되는 구문 오류나 타입 오류. 런타임 오류와 달리 실행 전에 문제를 발견할 수 있어 수정 비용이 낮다.
値を正確に一度だけ使用することを型システムで強制する仕組み。リソースの確実な解放やプロトコルの正確な遵守をコンパイル時に保証する。Rustの所有権モデルはこの概念に近い。
값을 정확히 한 번만 사용하는 것을 타입 시스템으로 강제하는 구조이다. 리소스의 확실한 해제나 프로토콜의 정확한 준수를 컴파일 시에 보장한다. Rust의 소유권 모델은 이 개념에 가깝다.
システムの一部が障害を起こしても、機能を縮退させながら全体のサービスを継続する設計思想。完全停止を避け、部分的に動作し続けることを優先する。
시스템의 일부가 장애가 발생해도 기능을 축소하면서 전체 서비스를 계속 유지하는 설계 사상. 완전 중단을 피하고 부분적으로 동작을 유지하는 것을 우선시한다.
複数の引数を取る関数を、1つの引数を受け取る関数の連鎖に変換するテクニック。関数型プログラミングで部分適用と組み合わせてよく使われる。
여러 인수를 받는 함수를 하나의 인수를 받는 함수의 연쇄로 변환하는 기법. 함수형 프로그래밍에서 부분 적용과 함께 자주 활용된다.
既存のシステムやコードを新しい環境・要件に適合させるプロセス。デザインパターンのAdapterパターンや、レガシーシステムの移行・改修作業を指す場合が多い。
기존 시스템이나 코드를 새로운 환경·요건에 맞게 적합시키는 프로세스. 디자인 패턴의 Adapter 패턴이나 레거시 시스템의 이전·개선 작업을 가리키는 경우가 많다.
ユニットテスト・統合テスト・E2Eテストの比率を下層ほど多くピラミッド型に設計するテスト戦略であり、高速で安定なユニットテストを基盤にしてテスト全体の実行速度と保守性を最適化する。
유닛 테스트·통합 테스트·E2E 테스트의 비율을 하위층일수록 많게 피라미드형으로 설계하는 테스트 전략이며, 고속으로 안정적인 유닛 테스트를 기반으로 테스트 전체의 실행 속도와 보수성을 최적화한다.
Javaプロジェクトのビルド・依存関係管理ツール。pom.xmlでプロジェクト構成を定義し、ライブラリの自動ダウンロードやビルドライフサイクルの管理を行う。
Java 프로젝트의 빌드 및 의존성 관리 도구. pom.xml로 프로젝트 구성을 정의하고, 라이브러리 자동 다운로드 및 빌드 라이프사이클 관리를 수행한다.
APIの開発・テスト・デバッグに使われるGUIツール。HTTPリクエストを手軽に送信でき、コレクション管理やチーム共有機能も備える。バックエンド開発やAPI連携確認に広く使われる。
API 개발·테스트·디버깅에 사용되는 GUI 툴. HTTP 요청을 간편하게 전송할 수 있으며, 컬렉션 관리 및 팀 공유 기능도 갖추고 있어 백엔드 개발 및 API 연동 확인에 널리 활용된다.
Gitリポジトリでブランチの作成・マージ・削除のルールを体系化した運用方針。チーム規模やリリース頻度に応じて最適な戦略を選択することが重要である。
Git 리포지토리에서 브랜치의 생성·머지·삭제 규칙을 체계화한 운용 방침이다. 팀 규모나 릴리스 빈도에 따라 최적의 전략을 선택하는 것이 중요하다.
コードのデプロイとは独立して、特定の機能をON/OFFできる仕組み。リリースリスクの低減や段階的ロールアウト、A/Bテストに活用される。
코드 배포와 독립적으로 특정 기능을 ON/OFF할 수 있는 구조. 릴리스 리스크 감소, 단계적 롤아웃, A/B 테스트 등에 활용된다.
リリースの頻度と時期を定期的に固定して運用するためのケイデンス設計であり、予測可能なリリーススケジュールにより品質管理とステークホルダーの計画策定を効率化する手法である。
릴리스의 빈도와 시기를 정기적으로 고정하여 운용하기 위한 케이던스 설계이며, 예측 가능한 릴리스 스케줄에 의해 품질 관리와 이해관계자의 계획 수립을 효율화하는 기법이다.
main・develop・feature・release・hotfixの5種類のブランチを使う体系的なGitブランチモデル。大規模プロジェクトのリリース管理に適しているが、小規模チームには複雑すぎる場合がある。
main·develop·feature·release·hotfix의 5종류 브랜치를 사용하는 체계적인 Git 브랜치 모델이다. 대규모 프로젝트의 릴리스 관리에 적합하지만 소규모 팀에는 복잡할 수 있다.
直和型と直積型の組み合わせで構成されるデータ型の体系である。パターンマッチングと組み合わせて使うことで、状態の網羅的な処理が可能になり、型安全なコードを記述できる。HaskellやRustで広く使われる。
합 타입과 곱 타입의 조합으로 구성되는 데이터 타입 체계이다. 패턴 매칭과 결합하여 사용하면 상태의 망라적 처리가 가능해지며 타입 안전한 코드를 작성할 수 있다. Haskell이나 Rust에서 널리 사용된다.
ソフトウェアパッケージを一元管理・配布するためのリポジトリサービス。npm、PyPI、Maven Centralなどが代表例で、依存関係の解決やバージョン管理に使用される。
소프트웨어 패키지를 중앙에서 관리하고 배포하기 위한 리포지토리 서비스. npm, PyPI, Maven Central 등이 대표적이며, 의존성 해결 및 버전 관리에 사용된다.
アプリケーションの依存性グラフを一箇所のエントリーポイントで組み立てるDIの設計であり、依存関係の構成をアプリケーション起動時に集約して見通しを向上させる手法である。
애플리케이션의 의존성 그래프를 한 곳의 엔트리 포인트에서 조립하는 DI의 설계이며, 의존 관계의 구성을 애플리케이션 기동 시에 집약하여 전망을 향상시키는 기법이다.
複数のテナントが同一のアプリケーションを共有する際のデータ分離方式を決定する戦略であり、データベース分離・スキーマ分離・行レベル分離の各方式のトレードオフを評価して選定する。
복수의 테넌트가 동일한 애플리케이션을 공유할 때의 데이터 분리 방식을 결정하는 전략이며, 데이터베이스 분리, 스키마 분리, 행 레벨 분리의 각 방식의 트레이드오프를 평가하여 선정한다.
「システムを設計する組織は、その組織のコミュニケーション構造を模倣した設計を生み出す」という法則。マイクロサービス設計ではチーム構成をシステム境界に合わせる逆コンウェイ戦略も重要。
"시스템을 설계하는 조직은 그 조직의 커뮤니케이션 구조를 모방한 설계를 만들어낸다"는 법칙. 마이크로서비스 설계에서는 팀 구성을 시스템 경계에 맞추는 역 콘웨이 전략도 중요하다.
GitHubなどで他者のリポジトリを自分のアカウントにコピーする操作。元リポジトリに影響を与えずに独立した開発や改修が可能になる。
GitHub 등에서 다른 사람의 리포지토리를 자신의 계정으로 복사하는 작업. 원본 리포지토리에 영향을 주지 않고 독립적인 개발이나 수정이 가능해진다.
パッケージマネージャが依存関係の正確なバージョンを記録するファイル。package-lock.jsonやyarn.lockなどが該当し、全開発者とCI環境で同一の依存ツリーを再現することで、ビルドの再現性を保証する。
패키지 매니저가 의존 관계의 정확한 버전을 기록하는 파일. package-lock.json이나 yarn.lock 등이 해당하며, 전 개발자와 CI 환경에서 동일한 의존 트리를 재현함으로써 빌드의 재현성을 보증한다.
プログラム実行中に発生するエラー。NullPointerExceptionやメモリ不足など、コンパイル時には検出できない問題が対象となる。
프로그램 실행 중에 발생하는 오류. NullPointerException이나 메모리 부족 등 컴파일 시에는 검출할 수 없는 문제가 대상이 된다.
システム開発において、エラーや異常系の処理方法を事前に定義する設計工程。例外の種類・ハンドリング方法・ログ出力・ユーザー通知などを体系的に決定する。
시스템 개발에서 오류 및 비정상 처리 방법을 사전에 정의하는 설계 과정. 예외의 종류, 핸들링 방법, 로그 출력, 사용자 알림 등을 체계적으로 결정한다.
コードや文書がどれだけ読みやすく理解しやすいかを示す指標。命名規則・インデント・コメントの適切な使用がコードの可読性を高める重要な要素となる。
코드나 문서가 얼마나 읽기 쉽고 이해하기 쉬운지를 나타내는 지표. 네이밍 규칙·들여쓰기·주석의 적절한 사용이 코드 가독성을 높이는 중요한 요소다.
ブランチの生存期間を数時間から数日に抑え、迅速にメインブランチへ統合する開発プラクティスである。長期ブランチの肥大化とマージコンフリクトを防止し、継続的インテグレーションの効果を最大化する。
브랜치의 생존 기간을 수시간에서 수일로 억제하고 신속하게 메인 브랜치에 통합하는 개발 프랙티스이다. 장기 브랜치의 비대화와 머지 컨플릭트를 방지하고 지속적 통합의 효과를 최대화한다.
変数や関数の型をコンパイル時に決定する方式。型エラーを実行前に検出できるため、バグの早期発見やIDEの補完機能向上に役立つ。TypeScriptやJavaなどが代表例。
변수나 함수의 타입을 컴파일 시점에 결정하는 방식. 타입 오류를 실행 전에 감지할 수 있어 버그의 조기 발견과 IDE 자동완성 기능 향상에 유용하다. TypeScript, Java 등이 대표적인 예시다.
同じ入力に対して常に同じ出力を返し、副作用を持たない関数。関数型プログラミングの基本概念で、テストのしやすさや予測可能性の向上に貢献する。
동일한 입력에 대해 항상 동일한 출력을 반환하고 부작용이 없는 함수. 함수형 프로그래밍의 핵심 개념으로, 테스트 용이성과 예측 가능성 향상에 기여한다.
オブジェクトが依存するコンポーネントを外部から渡す設計パターン。疎結合を実現し、テストや保守性を向上させる。DIとも呼ばれ、SpringやAngularなどで広く活用される。
객체가 의존하는 컴포넌트를 외부에서 주입하는 설계 패턴. 느슨한 결합을 실현하며 테스트와 유지보수성을 향상시킨다. DI라고도 불리며 Spring, Angular 등에서 널리 활용된다.
APIの変更が既存クライアントに影響を与えないか検証するプロセス。破壊的変更を事前に検出し段階的な移行計画を策定する。
API 변경이 기존 클라이언트에 영향을 주지 않는지 검증하는 프로세스. 파괴적 변경을 사전에 검출하고 단계적 마이그레이션 계획을 수립한다.
SLOで許容されるエラー率の残量をリアルタイムで追跡し、消費速度に応じて開発方針を調整する運用手法。バジェット残量が閾値を下回った場合にリリース凍結の判断材料とする。
SLO에서 허용되는 에러율의 잔량을 실시간으로 추적하고 소비 속도에 따라 개발 방침을 조정하는 운용 기법이다. 버짓 잔량이 임곗값을 밑돌 경우 릴리스 동결의 판단 재료로 한다.
チーム内でコードレビューを習慣的に実施する組織文化。品質向上・知識共有・属人化防止を目的とし、PR(プルリクエスト)ベースで行われることが多い。
팀 내에서 코드 리뷰를 습관적으로 실시하는 조직 문화. 품질 향상·지식 공유·업무 편중 방지를 목적으로 하며, PR(풀 리퀘스트) 기반으로 진행되는 경우가 많다.
データを特定の形式や文字コード(UTF-8、Shift-JISなど)に変換する処理。文字化けの防止や通信・保存の効率化のため、エンジニアが日常的に意識すべき基礎技術。
데이터를 특정 형식이나 문자 코드(UTF-8, Shift-JIS 등)로 변환하는 처리. 문자 깨짐 방지와 통신·저장의 효율화를 위해 엔지니어가 일상적으로 숙지해야 할 기초 기술.
デプロイ後に問題が発覚した際に前のバージョンに戻すための手順書。迅速な復旧のため事前に作成・テストしておくことが重要。
배포 후 문제가 발각되었을 때 이전 버전으로 되돌리기 위한 절차서. 신속한 복구를 위해 사전에 작성·테스트해 두는 것이 중요하다.
リリース前に新機能の追加やコード変更を凍結し、バグ修正のみを許可する期間。リリース品質の安定化を目的とする。
릴리스 전 신규 기능 추가나 코드 변경을 동결하고 버그 수정만 허용하는 기간. 릴리스 품질 안정화를 목적으로 한다.
ソースコードをコンパイルする段階で構文エラーや型不一致などの問題を検出する仕組み。実行前にバグを発見できるため、品質向上と開発効率化に直結する。
소스 코드를 컴파일하는 단계에서 구문 오류나 타입 불일치 등의 문제를 감지하는 방식. 실행 전에 버그를 발견할 수 있어 품질 향상과 개발 효율화에 직결된다.
外部サービス障害時に代替手段で最低限の機能を維持するための設計方針であり、キャッシュからの応答やデフォルト値の返却など劣化モードを事前に定義してユーザー体験の急激な悪化を防止する。
외부 서비스 장애 시에 대체 수단으로 최소한의 기능을 유지하기 위한 설계 방침이며, 캐시로부터의 응답이나 기본값의 반환 등 열화 모드를 사전에 정의하여 사용자 경험의 급격한 악화를 방지한다.
予期しない入力や異常な状況に対して、プログラムが安全に動作し続けるようにコーディングする手法である。入力値の検証、エラーハンドリング、アサーションの活用により、障害の影響範囲を最小限に抑える。
예기치 않은 입력이나 이상한 상황에 대해 프로그램이 안전하게 동작하도록 코딩하는 기법이다. 입력값 검증, 에러 핸들링, 어서션 활용으로 장애의 영향 범위를 최소한으로 억제한다.
ThoughtWorksが普及させた技術評価フレームワーク。採用技術を「Adopt・Trial・Assess・Hold」の4段階で評価・可視化し、組織全体の技術選定を標準化・共有するのに使われる。
ThoughtWorks가 보급시킨 기술 평가 프레임워크. 채용 기술을 'Adopt·Trial·Assess·Hold'의 4단계로 평가·시각화하여, 조직 전체의 기술 선정을 표준화·공유하는 데 사용된다.
テスト用データベースの初期データをシードファイルとして管理し、テスト実行前に一貫した状態を再現する仕組み。テストの再現性と独立性を確保する基盤技術である。
테스트용 데이터베이스의 초기 데이터를 시드 파일로 관리하고 테스트 실행 전에 일관된 상태를 재현하는 구조이다. 테스트의 재현성과 독립성을 확보하는 기반 기술이다.
APIのエンドポイント、リクエスト・レスポンスの形式、認証方式などを定義したドキュメント。フロントエンドとバックエンドの連携に不可欠。
API의 엔드포인트, 요청·응답 형식, 인증 방식 등을 정의한 문서. 프론트엔드와 백엔드 간 협업에 필수적인 산출물.
開発サイクルにおける外側のループ。コードのビルド・テスト・デプロイを含むCI/CDパイプライン全体のフローを指し、インナーループの外側で実行されるプロセス。
개발 사이클에서의 외부 루프. 코드 빌드·테스트·배포를 포함한 CI/CD 파이프라인 전체 흐름을 가리키며, 이너 루프 외부에서 실행되는 프로세스.
システムやソフトウェアの性能を標準的な指標で測定・比較するテスト手法。CPUやDBのスループット、レスポンスタイムなどを定量的に評価する際に使用する。
시스템이나 소프트웨어의 성능을 표준 지표로 측정·비교하는 테스트 기법. CPU나 DB의 처리량, 응답 시간 등을 정량적으로 평가할 때 사용한다.
システムやオブジェクトが取り得る有限個の「状態」と、イベントによる状態遷移を定義したモデル。UIフロー管理やプロトコル設計などで活用される。
시스템이나 객체가 가질 수 있는 유한한 '상태'와 이벤트에 의한 상태 전이를 정의한 모델. UI 흐름 관리나 프로토콜 설계 등에 활용된다.
アプリケーション開発の骨格となるソフトウェア基盤。共通機能や設計規約を提供し、開発者はビジネスロジックの実装に集中できる。
애플리케이션 개발의 뼈대가 되는 소프트웨어 기반. 공통 기능과 설계 규약을 제공하여 개발자가 비즈니스 로직 구현에 집중할 수 있게 해준다.
非同期処理を同期的なコードスタイルで記述できる軽量スレッドの仕組み。スレッドより低コストで並行処理を実現し、KotlinやPythonで広く活用される。
비동기 처리를 동기적인 코드 스타일로 작성할 수 있는 경량 스레드 메커니즘. 스레드보다 낮은 비용으로 동시 처리를 구현하며, Kotlin과 Python에서 널리 활용된다.
ソフトウェアの修正・拡張・バグ修正のしやすさを示す品質特性。コードの可読性、モジュール化、ドキュメント整備が保守性向上の鍵となる。
소프트웨어의 수정·확장·버그 수정의 용이성을 나타내는 품질 특성. 코드 가독성, 모듈화, 문서 정비가 유지보수성 향상의 핵심이다.
Kotlinのlet、run、with、apply、alsoなど、オブジェクトのスコープ内でコードブロックを実行する関数群。null安全な処理チェーンやオブジェクト初期化の簡潔な記述を可能にし、冗長なコードを削減する。
Kotlin의 let, run, with, apply, also 등, 객체의 스코프 내에서 코드 블록을 실행하는 함수군. null 안전한 처리 체인이나 객체 초기화의 간결한 기술을 가능하게 하여 장황한 코드를 삭감한다.
あるプログラミング言語のソースコードを別の言語のソースコードに変換するツール。TypeScriptをJavaScriptに変換するBabelやtscが代表例。
한 프로그래밍 언어의 소스 코드를 다른 언어의 소스 코드로 변환하는 도구. TypeScript를 JavaScript로 변환하는 Babel이나 tsc가 대표적인 예시.
MVC設計パターンにおけるUI表示層を指す。データを画面に描画する責務を持ち、モデルから受け取ったデータをユーザーに視覚的に提示するコンポーネント。
MVC 설계 패턴에서 UI 표시 계층을 의미한다. 데이터를 화면에 렌더링하는 역할을 담당하며, 모델로부터 받은 데이터를 사용자에게 시각적으로 표시하는 컴포넌트이다.
コード変更をいつでも本番環境にリリースできる状態を維持する開発プラクティス。自動テストとデプロイパイプラインにより、リリースのリスクとコストを最小化する。
코드 변경을 언제든 프로덕션 환경에 릴리스할 수 있는 상태를 유지하는 개발 프랙티스이다. 자동 테스트와 디플로이 파이프라인으로 릴리스의 리스크와 비용을 최소화한다.
git commitの実行前に自動でリンター、フォーマッター、型チェックなどを実行するフックの構築・管理。huskyやpre-commitフレームワークを使い、コード品質を統一する。
git commit 실행 전에 자동으로 린터, 포매터, 타입 체크 등을 실행하는 훅의 구축·관리이다. husky나 pre-commit 프레임워크를 사용하여 코드 품질을 통일한다.
実際のハードウェアやOSの動作を別の環境で模倣するソフトウェア。モバイル開発では実機がなくてもAndroidやiOSの動作確認に使われる。
실제 하드웨어나 OS의 동작을 다른 환경에서 모방하는 소프트웨어. 모바일 개발에서는 실기기 없이도 Android나 iOS의 동작 확인에 사용된다.
Promiseやasync/awaitを使った非同期処理において、try-catchやcatch()メソッドで例外・エラーを適切に捕捉・処理する実装手法。
Promise나 async/await를 사용한 비동기 처리에서 try-catch 또는 catch() 메서드로 예외와 에러를 적절히 포착하고 처리하는 구현 기법.
社内のドキュメント・Wiki・Slackメッセージなどの情報を横断検索できる基盤であり、ナレッジの分散によるコンテキストスイッチの負荷を軽減して開発者の情報アクセスを効率化する。
사내의 문서, Wiki, Slack 메시지 등의 정보를 횡단 검색할 수 있는 기반이며, 지식의 분산에 의한 컨텍스트 스위치의 부하를 경감하여 개발자의 정보 접근을 효율화한다.
REST・GraphQL・gRPCなどのAPIテストに使用するオープンソースのGUIクライアントツール。Postmanと並ぶ人気ツールで、リクエストの作成・管理・デバッグを効率的に行える。
REST, GraphQL, gRPC 등의 API 테스트에 사용하는 오픈소스 GUI 클라이언트 툴. Postman과 함께 널리 사용되며, 요청 생성·관리·디버깅을 효율적으로 수행할 수 있다.
データベーススキーマの変更スクリプトに連番やタイムスタンプを付与して順序制御するバージョン管理手法であり、どの環境にどのマイグレーションが適用済みかを正確に追跡する。
데이터베이스 스키마의 변경 스크립트에 연번이나 타임스탬프를 부여하여 순서를 제어하는 버전 관리 기법이며, 어떤 환경에 어떤 마이그레이션이 적용 완료인지를 정확히 추적한다.
単一のコードベースでWindows・macOS・Linux・iOS・Androidなど複数のOSやデバイスで動作するアプリやツールの開発手法・対応状況を指す。
단일 코드베이스로 Windows·macOS·Linux·iOS·Android 등 여러 OS와 디바이스에서 동작하는 앱이나 툴의 개발 방식 또는 호환 상태를 의미한다.
式の評価を実際に値が必要になるまで遅延させる評価戦略である。無限リストの処理や不要な計算の回避に有効であり、メモリ効率と計算効率を両立できる。Haskellではデフォルトの評価戦略として採用されている。
식의 평가를 실제로 값이 필요해질 때까지 지연시키는 평가 전략이다. 무한 리스트의 처리나 불필요한 계산의 회피에 유효하며 메모리 효율과 계산 효율을 양립할 수 있다. Haskell에서는 기본 평가 전략으로 채택되고 있다.
任意の時点にデータベースを復元できるPoint-in-Time Recoveryの運用戦略。WALログの保持期間設定やリストアテストの定期実行を含む包括的なデータ保護計画である。
임의의 시점으로 데이터베이스를 복원할 수 있는 Point-in-Time Recovery의 운용 전략이다. WAL 로그의 보존 기간 설정이나 리스토어 테스트의 정기 실행을 포함하는 포괄적 데이터 보호 계획이다.
並行処理するゴルーチンやスレッド間でデータを安全に受け渡すための通信機構。共有メモリの代わりにメッセージパッシングを使用し、ロックなしでデータ競合を回避する。GoやRustで広く使われている。
병행 처리하는 고루틴이나 스레드 간에 데이터를 안전하게 주고받기 위한 통신 기구. 공유 메모리 대신 메시지 패싱을 사용하며, 잠금 없이 데이터 경합을 회피한다. Go나 Rust에서 널리 사용되고 있다.
開発者がコードを書いて即座にビルド・テスト・デバッグを繰り返す短いフィードバックサイクル。CI/CDなど外部プロセスを含むアウターループと対比される。
개발자가 코드를 작성하고 즉시 빌드·테스트·디버그를 반복하는 짧은 피드백 사이클. CI/CD 등 외부 프로세스를 포함하는 아우터 루프와 대비되는 개념이다.
オブジェクト指向設計の5つの基本原則の頭文字をとった略語。単一責任・開放閉鎖・リスコフ置換・インターフェース分離・依存性逆転の各原則から構成され、保守性の高いコード設計の指針となる。
객체지향 설계의 5가지 기본 원칙의 머리글자를 딴 약어. 단일 책임·개방 폐쇄·리스코프 치환·인터페이스 분리·의존성 역전 원칙으로 구성되며, 유지보수성이 높은 코드 설계의 지침이 된다.
通信プロトコルの手順を型で表現し、送受信の順序や型の整合性をコンパイル時に検証する仕組み。チャネル通信の安全性を型レベルで保証し、プロトコル違反を静的に検出する。
통신 프로토콜의 절차를 타입으로 표현하여 송수신 순서나 타입 정합성을 컴파일 시에 검증하는 구조이다. 채널 통신의 안전성을 타입 수준에서 보장하고 프로토콜 위반을 정적으로 감지한다.
サービスの信頼性を定量的に測定する指標。レイテンシ・エラー率・可用性などをSLIとして定義し、SLOの達成状況を評価するために使用する。
서비스의 신뢰성을 정량적으로 측정하는 지표. 레이턴시·에러율·가용성 등을 SLI로 정의하고 SLO 달성 여부를 평가하는 데 사용한다.
ブランチの起点を別のコミットに移動させるGit操作。コミット履歴を直線的に整理でき、マージコミットを減らしてクリーンな履歴を維持するために使用される。
브랜치의 기점을 다른 커밋으로 이동시키는 Git 조작이다. 커밋 이력을 직선적으로 정리할 수 있어 머지 커밋을 줄이고 클린한 이력을 유지하는 데 사용된다.
新機能を段階的にユーザーに公開していく制御手法であり、フィーチャーフラグ・カナリアリリース・A/Bテストを組み合わせてリリースリスクを最小化しながらフィードバックを収集する。
신기능을 단계적으로 사용자에게 공개하는 제어 기법이며, 피처 플래그, 카나리 릴리스, A/B 테스트를 조합하여 릴리스 리스크를 최소화하면서 피드백을 수집한다.
システムやアプリケーションの処理速度・応答時間・リソース使用効率を改善する取り組み。ボトルネック特定とチューニングが主な作業。
시스템이나 애플리케이션의 처리 속도, 응답 시간, 리소스 사용 효율을 개선하는 작업. 병목 지점 파악과 튜닝이 주요 업무.
同じ立場のエンジニア同士がコードや設計書を相互確認し合うプロセス。品質向上やナレッジ共有を目的とし、プルリクエストのレビューが代表的な実施形態。
동등한 입장의 엔지니어들이 코드나 설계서를 서로 확인하는 프로세스. 품질 향상 및 지식 공유를 목적으로 하며, 풀 리퀘스트 리뷰가 대표적인 실시 형태.
DDD(ドメイン駆動設計)において、複数の境界づけられたコンテキスト間の関係や依存性を図示・整理する手法。チーム間の連携方針を明確化するために活用される。
DDD(도메인 주도 설계)에서 여러 경계 컨텍스트 간의 관계와 의존성을 도식화·정리하는 기법. 팀 간 연계 방침을 명확히 하기 위해 활용된다.
プロファイリングで特定された高頻度実行コードパスに集中して最適化を適用する手法。全コードの均一な最適化より、実行頻度の高い部分に注力することで効率的に性能改善を達成する。
프로파일링으로 특정된 고빈도 실행 코드 경로에 집중하여 최적화를 적용하는 기법이다. 전체 코드의 균일한 최적화보다 실행 빈도가 높은 부분에 주력하여 효율적으로 성능 개선을 달성한다.
テストに必要なデータやオブジェクトの事前準備・後処理を管理する仕組み。共有フィクスチャの適切な管理でテストの信頼性と保守性を高める。
테스트에 필요한 데이터나 객체의 사전 준비·후처리를 관리하는 구조. 공유 픽스처의 적절한 관리로 테스트 신뢰성과 유지보수성을 높인다.
ログファイルを定期的に分割・圧縮・削除してディスク容量を管理する仕組み。logrotateやクラウドログサービスで自動化する。
로그 파일을 정기적으로 분할·압축·삭제하여 디스크 용량을 관리하는 구조. logrotate나 클라우드 로그 서비스로 자동화한다.
mainブランチへの直接プッシュを禁止し、PRレビューやCI通過を必須とするGitの設定。コード品質とリリース安定性を確保する。
main 브랜치에 직접 푸시를 금지하고 PR 리뷰나 CI 통과를 필수로 하는 Git 설정. 코드 품질과 릴리스 안정성을 확보한다.
makeコマンドで使用されるビルド自動化ファイル。ターゲット・依存関係・コマンドを定義し、コンパイルやテスト実行などのタスクを効率的に管理する。
make 명령어에서 사용되는 빌드 자동화 파일. 타겟, 의존 관계, 명령어를 정의하여 컴파일, 테스트 실행 등의 작업을 효율적으로 관리한다.
アラートの種別・重要度に応じて適切な通知先チャネルと担当者に自動振り分けする設計。PagerDutyやOpsGenieのルーティングルールを活用し、対応漏れとアラート疲れを同時に防ぐ。
알림의 종별·중요도에 따라 적절한 통지처 채널과 담당자에게 자동 분배하는 설계이다. PagerDuty나 OpsGenie의 라우팅 규칙을 활용하여 대응 누락과 알림 피로를 동시에 방지한다.
関数の事前条件・事後条件・不変条件を明示的に定義し、実行時に検証するプログラミング手法である。呼び出し側と実装側の責任範囲を明確にし、バグの早期発見と堅牢なコード設計を促進する。
함수의 사전 조건·사후 조건·불변 조건을 명시적으로 정의하고 실행 시에 검증하는 프로그래밍 기법이다. 호출 측과 구현 측의 책임 범위를 명확히 하고 버그의 조기 발견과 견고한 코드 설계를 촉진한다.
ソースコードから空白・改行・コメントを除去し、変数名を短縮してファイルサイズを削減する最適化手法。ネットワーク転送量の削減とページ読み込み速度の向上を実現するが、可読性は失われる。
소스 코드에서 공백·개행·주석을 제거하고, 변수명을 단축하여 파일 사이즈를 삭감하는 최적화 수법. 네트워크 전송량의 삭감과 페이지 로딩 속도의 향상을 실현하지만, 가독성은 상실된다.
Rustのコンパイラに内蔵された機構で、参照の有効期間と借用ルールをコンパイル時に検証する。可変参照と不変参照の排他的利用を強制し、データ競合やメモリ安全性の問題をビルド段階で排除する。
Rust의 컴파일러에 내장된 기구로, 참조의 유효 기간과 대여 규칙을 컴파일 시에 검증한다. 가변 참조와 불변 참조의 배타적 이용을 강제하여 데이터 경합이나 메모리 안전성 문제를 빌드 단계에서 배제한다.
アルゴリズムの効率を左右する配列・リスト・ツリー・ハッシュマップなどの適切なデータ構造を選ぶ設計判断。計算量や用途に応じて最適化する。
알고리즘 효율을 좌우하는 배열·리스트·트리·해시맵 등 적절한 자료구조를 선택하는 설계 판단으로, 시간복잡도와 용도에 따라 최적화한다.
組織のコミュニケーション構造がそのままシステム設計に反映されるという法則。マイクロサービスやチーム編成の議論で頻繁に引用される。
조직의 커뮤니케이션 구조가 그대로 시스템 설계에 반영된다는 법칙. 마이크로서비스나 팀 구성 논의에서 자주 인용된다.
2人の開発者が一緒にコードを確認し、品質向上やナレッジ共有を図るレビュー手法。ペアプログラミングとは異なり完成コードを対象とする。
두 명의 개발자가 함께 코드를 확인하여 품질 향상과 지식 공유를 도모하는 리뷰 기법. 페어 프로그래밍과 달리 완성된 코드를 대상으로 한다.
本番環境と同等のステージング環境を適切に分離・管理する戦略。データのマスキング、アクセス制限、本番との差分管理を含め、安全なリリース前検証を実現する。
프로덕션 환경과 동등한 스테이징 환경을 적절히 분리·관리하는 전략이다. 데이터 마스킹, 접근 제한, 프로덕션과의 차분 관리를 포함하여 안전한 릴리스 전 검증을 실현한다.
マイクロサービス間のAPIインターフェースの互換性を検証するテスト手法の導入。Pactなどのツールを使い、プロバイダーとコンシューマー双方の契約を自動検証する。
마이크로서비스 간 API 인터페이스의 호환성을 검증하는 테스트 기법의 도입이다. Pact 등의 도구를 사용하여 프로바이더와 컨슈머 양측의 계약을 자동 검증한다.
システムやアプリケーションの性能・状態を数値化したデータを継続的に取得するプロセス。CPU使用率やレスポンスタイムなどを監視・分析するために活用される。
시스템이나 애플리케이션의 성능·상태를 수치화한 데이터를 지속적으로 수집하는 프로세스. CPU 사용률이나 응답 시간 등을 모니터링·분석하는 데 활용된다.
TypeScriptで文字列リテラル型を動的に組み合わせて新しい型を生成する機能。APIのルートパスやCSSクラス名などの文字列パターンを型レベルで表現し、コンパイル時に不正な文字列の使用を検出できる。
TypeScript에서 문자열 리터럴 타입을 동적으로 조합하여 새로운 타입을 생성하는 기능. API의 루트 패스나 CSS 클래스명 등의 문자열 패턴을 타입 레벨에서 표현하며, 컴파일 시에 부정한 문자열 사용을 검출할 수 있다.
製品の初期段階で簡易的な試作品を作成し、要件やデザインを検証する手法。ユーザーフィードバックを早期に収集してリスクを軽減するために実施される。
제품의 초기 단계에서 간이적인 시제품을 작성하고 요건이나 디자인을 검증하는 기법이다. 사용자 피드백을 조기에 수집하여 리스크를 경감하기 위해 실시된다.
複数の処理を同時並行で実行する手法。CPUのマルチコアやスレッドを活用し、処理速度の向上やスループット改善を目的として用いられる。
여러 작업을 동시에 실행하는 기법. CPU의 멀티코어나 스레드를 활용하여 처리 속도 향상 및 처리량 개선을 목적으로 사용된다.
フィーチャーフラグのライフサイクルを管理し、不要なフラグの棚卸しと削除を体系的に行う運用手法である。フラグの種別・有効期限・所有者を記録し、技術的負債となる古いフラグの蓄積を防止する。
피처 플래그의 라이프사이클을 관리하고 불필요한 플래그의 재고 조사와 삭제를 체계적으로 수행하는 운용 기법이다. 플래그의 종별·유효 기한·소유자를 기록하여 기술 부채가 되는 오래된 플래그의 축적을 방지한다.
関数に渡す値。Argument。「파라미터(パラメータ)」とも。
함수에 전달하는 값. Argument. "파라미터"라고도 함.
値を最大一度だけ使用できることを型で保証する仕組み。リニア型と異なり使用しないことも許容される。Rustのムーブセマンティクスはアフィン型の実用的な実装であり、二重解放を防止する。
값을 최대 한 번만 사용할 수 있음을 타입으로 보장하는 구조이다. 리니어 타입과 달리 사용하지 않는 것도 허용된다. Rust의 무브 시맨틱스는 아핀 타입의 실용적 구현이며 이중 해제를 방지한다.
古くなったコードや技術的負債を抱えたシステムを、リファクタリングやリライトにより可読性・保守性・品質を向上させる取り組み。
오래된 코드나 기술 부채를 안고 있는 시스템을 리팩토링이나 재작성을 통해 가독성·유지보수성·품질을 향상시키는 작업.
ソースコードのコメントや設定ファイルから自動的にドキュメントを生成するプロセス。JavaDocやSwaggerなどのツールが代表的で、APIリファレンスや仕様書の作成を効率化する。
소스 코드의 주석이나 설정 파일로부터 자동으로 문서를 생성하는 프로세스. JavaDoc이나 Swagger 같은 툴이 대표적이며, API 레퍼런스나 사양서 작성을 효율화한다.
HTMLやSQLなどの出力先の文脈に応じて特殊文字をエスケープ処理する手法であり、ユーザー入力をそのまま出力することで発生するXSSやインジェクション攻撃を防止する基本的なセキュリティ対策である。
HTML이나 SQL 등의 출력처의 문맥에 따라 특수 문자를 이스케이프 처리하는 기법이며, 사용자 입력을 그대로 출력함으로써 발생하는 XSS나 인젝션 공격을 방지하는 기본적인 보안 대책이다.
コミットメッセージやPRのラベルからリリースノートを自動生成する仕組み。Conventional Commitsに準拠したメッセージからchangelogを自動出力し、手動作成の工数を削減する。
커밋 메시지나 PR의 라벨에서 릴리스 노트를 자동 생성하는 구조이다. Conventional Commits에 준거한 메시지에서 changelog를 자동 출력하고 수동 작성의 공수를 삭감한다.
変数の型を実行時に決定するプログラミング言語。Python・Ruby・JavaScriptなどが該当し、型宣言が不要で柔軟に記述できる反面、型エラーが実行時まで検出されにくい。
변수의 타입을 실행 시점에 결정하는 프로그래밍 언어. Python, Ruby, JavaScript 등이 해당하며 타입 선언이 불필요해 유연하게 작성할 수 있지만, 타입 오류가 실행 전까지 발견되기 어렵다.
生成コストの高いオブジェクトを事前に生成してプールに保持し、必要時に貸し出して使い回すパターンである。データベース接続、スレッド、ソケットなどのリソース管理で活用され、オブジェクト生成のオーバーヘッドを削減する。
생성 비용이 높은 객체를 사전에 생성하여 풀에 보유하고 필요 시 대여하여 재사용하는 패턴이다. 데이터베이스 접속, 스레드, 소켓 등의 리소스 관리에서 활용되며 객체 생성의 오버헤드를 줄인다.
GitHubなどのプラットフォームでリポジトリにつける「お気に入り」マーク。プロジェクトの人気度や注目度の指標となり、ブックマーク的な役割も持つ。
GitHub 등의 플랫폼에서 리포지토리에 붙이는 '즐겨찾기' 표시. 프로젝트의 인기도나 주목도의 지표가 되며, 북마크 역할도 한다.
障害発生後に個人を非難せず根本原因に集中して分析する手法。心理的安全性を確保した上で原因究明と再発防止策を策定し、組織全体の学習サイクルを促進する。
장애 발생 후 개인을 비난하지 않고 근본 원인에 집중하여 분석하는 기법이다. 심리적 안전성을 확보한 상태에서 원인 규명과 재발 방지책을 책정하고 조직 전체의 학습 사이클을 촉진한다.
特定のドメインの課題を解決するために設計された専用言語である。SQLやHTML、正規表現などの外部DSLと、ホスト言語の機能を活用して構築する内部DSLがある。ドメインの概念を簡潔かつ宣言的に表現できる。
특정 도메인의 과제를 해결하기 위해 설계된 전용 언어이다. SQL이나 HTML, 정규 표현식 등의 외부 DSL과 호스트 언어의 기능을 활용하여 구축하는 내부 DSL이 있다. 도메인의 개념을 간결하고 선언적으로 표현할 수 있다.
オブジェクトの型ではなく、そのオブジェクトが持つメソッドやプロパティに基づいて適合性を判断するプログラミング手法。PythonやRubyなどの動的型付け言語で広く使われ、柔軟なコード設計を可能にする。
객체의 타입이 아니라 그 객체가 가진 메서드나 프로퍼티에 기반하여 적합성을 판단하는 프로그래밍 수법. Python이나 Ruby 등의 동적 타입 언어에서 널리 사용되며, 유연한 코드 설계를 가능하게 한다.
型を引数に取る型コンストラクタを抽象化する仕組み。Functor、Monad、Traversableなどの型クラスを汎用的に定義でき、ScalaやHaskellで高度な抽象化に活用される。
타입을 인수로 받는 타입 생성자를 추상화하는 구조이다. Functor, Monad, Traversable 등의 타입 클래스를 범용적으로 정의할 수 있으며 Scala나 Haskell에서 고급 추상화에 활용된다.
外部の振る舞いを変えずにコードの内部構造を改善する手法。メソッド抽出・変数名の改善・クラス分割などがあり、保守性・可読性の向上を目的とする。
외부 동작을 변경하지 않고 코드 내부 구조를 개선하는 기법. 메서드 추출, 변수명 개선, 클래스 분리 등이 있으며 유지보수성과 가독성 향상을 목적으로 한다.
ソフトウェアを特定の言語や地域に依存しない設計にすること。i18nとも呼ばれ、後から多言語対応(ローカライゼーション)を容易にするための基盤づくりを指す。
소프트웨어를 특정 언어나 지역에 종속되지 않도록 설계하는 것. i18n이라고도 불리며, 이후 다국어 대응(로컬라이제이션)을 쉽게 할 수 있도록 기반을 마련하는 작업을 의미한다.
システムやソフトウェアの構造・設計方針を指す。コンポーネントの構成や相互関係、設計原則を定義し、開発の指針となる全体像を示す概念。
시스템이나 소프트웨어의 구조 및 설계 방침을 의미한다. 컴포넌트의 구성과 상호 관계, 설계 원칙을 정의하며 개발의 기준이 되는 전체적인 구조를 나타내는 개념이다.
実行時にプログラムのバイナリコードを別の命令セットや最適化形式に動的に変換する技術のこと。異なるアーキテクチャ間の互換性確保やパフォーマンス向上を目的として用いられる。
실행 시에 프로그램의 바이너리 코드를 다른 명령어 세트나 최적화 형식으로 동적으로 변환하는 기술을 말한다. 서로 다른 아키텍처 간 호환성 확보나 성능 향상을 목적으로 사용된다.
プロパティベーステストで失敗を検出した際に、失敗を再現する最小の入力データを自動的に探索する機能である。巨大なランダムデータから段階的に入力を縮小し、バグの原因を特定しやすい最小の反例を提示する。
속성 기반 테스트에서 실패를 검출했을 때 실패를 재현하는 최소 입력 데이터를 자동으로 탐색하는 기능이다. 거대한 랜덤 데이터에서 단계적으로 입력을 축소하여 버그 원인을 특정하기 쉬운 최소 반례를 제시한다.
プログラムの誤り。「오류(オリュ/エラー)」とも言う。
프로그램의 오류. "오류"라고도 함.
モノレポ環境でパッケージごとの変更内容とバージョンバンプの種類を管理する手法であり、changesets CLIなどを用いてリリース時のバージョン更新とチェンジログ生成を自動化する。
모노레포 환경에서 패키지별 변경 내용과 버전 범프의 종류를 관리하는 기법이며, changesets CLI 등을 사용하여 릴리스 시의 버전 갱신과 체인지로그 생성을 자동화한다.
Software Development Kitの略。特定のプラットフォームやサービス向けにアプリを開発するためのツール・ライブラリ・ドキュメントをまとめたパッケージ。
Software Development Kit의 약자. 특정 플랫폼이나 서비스용 앱을 개발하기 위한 툴·라이브러리·문서를 하나로 묶은 패키지.
関数が自分自身を呼び出す処理手法。ツリー構造の探索やフィボナッチ数列など、分割統治が有効な問題に使われるが、スタックオーバーフローに注意が必要。
함수가 자기 자신을 호출하는 처리 기법. 트리 구조 탐색이나 피보나치 수열 등 분할 정복이 유효한 문제에 사용되지만, 스택 오버플로우에 주의가 필요하다.
エディタと言語解析サーバー間の通信を標準化するプロトコル(LSP)。補完・定義ジャンプ・エラー検出などの機能をエディタ非依存で実装できる。
에디터와 언어 분석 서버 간의 통신을 표준화하는 프로토콜(LSP). 자동 완성·정의 이동·오류 감지 등의 기능을 에디터에 독립적으로 구현할 수 있다.
オブジェクトの参照が生成元の関数スコープの外に漏れるかどうかをコンパイラが解析する最適化技法である。スコープ外に漏れないオブジェクトはヒープではなくスタックに割り当てることで、GC負荷を軽減しパフォーマンスを向上させる。
객체의 참조가 생성원 함수 스코프 밖으로 누출되는지 여부를 컴파일러가 분석하는 최적화 기법이다. 스코프 밖으로 누출되지 않는 객체는 힙이 아닌 스택에 할당하여 GC 부하를 경감하고 성능을 향상시킨다.
アルゴリズムの実行時間やメモリ使用量をビッグO記法などで評価する手法。コードの効率性・スケーラビリティを判断する際の基礎となる。
알고리즘의 실행 시간이나 메모리 사용량을 Big-O 표기법 등으로 평가하는 기법. 코드의 효율성과 확장성을 판단할 때 기초가 된다.
新しい開発者が作業環境をセットアップする手順をスクリプトやコンテナで自動化すること。オンボーディング時間を短縮し、チーム全体で一貫した開発環境を実現する。
새 개발자가 작업 환경을 셋업하는 절차를 스크립트나 컨테이너로 자동화하는 것이다. 온보딩 시간을 단축하고 팀 전체에서 일관된 개발 환경을 실현한다.
開発チームの生産性を測定する指標群。DORA Metricsやデプロイ頻度、PRリードタイムなどを活用して改善サイクルを回す。
개발 팀의 생산성을 측정하는 지표군. DORA Metrics나 배포 빈도, PR 리드타임 등을 활용하여 개선 사이클을 돌린다.
静的型付けと動的型付けを混在させ、段階的に型注釈を追加できる型システム。TypeScriptやPythonのtype hintsが代表例で、既存コードを破壊せずに型安全性を漸進的に導入できる。
정적 타이핑과 동적 타이핑을 혼재시켜 단계적으로 타입 주석을 추가할 수 있는 타입 시스템이다. TypeScript나 Python의 type hints가 대표적이며 기존 코드를 파괴하지 않고 타입 안전성을 점진적으로 도입할 수 있다.
システムの異常や閾値超過時にどのタイミング・方法で通知するかを設計すること。誤報を減らしつつ重要インシデントを見逃さない仕組みが求められる。
시스템 이상이나 임계값 초과 시 언제, 어떤 방법으로 알림을 보낼지 설계하는 것. 오탐을 줄이면서 중요한 인시던트를 놓치지 않는 구조가 요구된다.
障害発生後に非難なしの振り返りを行い根本原因と再発防止策を文書化する組織文化の構築であり、心理的安全性を確保しながらシステムと運用プロセスの継続的改善を促進する。
장애 발생 후 비난 없는 회고를 수행하고 근본 원인과 재발 방지책을 문서화하는 조직 문화의 구축이며, 심리적 안전성을 확보하면서 시스템과 운용 프로세스의 지속적 개선을 촉진한다.
GitHubが提供するコード共有サービス。スニペットや設定ファイルなどを手軽に共有・管理できる。公開・非公開の設定が可能で、バージョン管理機能も備えている。
GitHub에서 제공하는 코드 공유 서비스. 스니펫이나 설정 파일 등을 간편하게 공유·관리할 수 있으며, 공개·비공개 설정이 가능하고 버전 관리 기능도 갖추고 있다.
役目を終えたフィーチャーフラグを計画的に削除するプロセス。放置されたフラグの蓄積によるコードの複雑化を防ぎ、有効期限の設定と定期的な棚卸しで管理する。
역할을 마친 피처 플래그를 계획적으로 삭제하는 프로세스이다. 방치된 플래그의 축적에 의한 코드 복잡화를 방지하고 유효 기한 설정과 정기적인 재고 조사로 관리한다.
コードレビューの観点・手順・承認基準をチーム内で文書化し標準化する取り組み。レビューの属人化を防ぎ、一貫した品質基準でフィードバックを行える体制を構築する。
코드 리뷰의 관점·절차·승인 기준을 팀 내에서 문서화하고 표준화하는 노력이다. 리뷰의 속인화를 방지하고 일관된 품질 기준으로 피드백을 할 수 있는 체제를 구축한다.
オブジェクトや変数が一度生成された後、その状態を変更できない性質。Immutabilityとも呼ばれ、副作用の防止やスレッドセーフな設計に役立つ。
객체나 변수가 한 번 생성된 후 그 상태를 변경할 수 없는 성질. Immutability라고도 하며, 부작용 방지와 스레드 안전한 설계에 유용하다.
関数を引数として受け取ったり、関数を戻り値として返したりする関数。map・filter・reduceなどが代表例で、関数型プログラミングの中核概念。
함수를 인수로 받거나 함수를 반환값으로 돌려주는 함수. map·filter·reduce 등이 대표적인 예이며, 함수형 프로그래밍의 핵심 개념이다.
プログラムの実行時にパフォーマンスを向上させる技術。JITコンパイルやメモリ管理の改善などにより、処理速度やリソース効率を高めることを指す。
프로그램 실행 중 성능을 향상시키는 기술. JIT 컴파일이나 메모리 관리 개선 등을 통해 처리 속도와 리소스 효율을 높이는 것을 의미한다.
処理に繰り返し失敗したメッセージを隔離用キューに退避させて調査・再処理する管理手法であり、アラート連携や自動分析の仕組みを整備して問題メッセージの原因特定を効率化する。
처리에 반복 실패한 메시지를 격리용 큐에 대피시켜 조사하고 재처리하는 관리 기법이며, 알림 연계나 자동 분석의 구조를 정비하여 문제 메시지의 원인 특정을 효율화한다.
ソフトウェアの開発元を証明し改ざんを検知するためにデジタル署名を付与する仕組みのこと。信頼された証明書を用いてバイナリに署名し、配布時の信頼性と完全性を保証する。
소프트웨어의 개발원을 증명하고 변조를 감지하기 위해 디지털 서명을 부여하는 구조를 말한다. 신뢰된 인증서를 사용하여 바이너리에 서명하고 배포 시의 신뢰성과 완전성을 보장한다.
変数の型を実行時に決定する仕組み。PythonやJavaScriptなどが採用しており、柔軟なコーディングが可能だが、型エラーが実行時まで発見されにくい特徴がある。
변수의 타입을 실행 시점에 결정하는 방식. Python이나 JavaScript 등에서 채택하며 유연한 코딩이 가능하지만, 타입 오류가 실행 전까지 발견되기 어려운 특징이 있다.
OSS(オープンソース)の開発手法・文化を社内に取り入れるアプローチ。社内のコード・知識をオープンソース的に共有し、部門を超えたコラボレーションと再利用を促進する。
OSS(오픈소스) 개발 기법·문화를 사내에 도입하는 접근 방식. 사내 코드·지식을 오픈소스처럼 공유하여, 부서를 초월한 협업과 재사용을 촉진한다.
複雑な問題を部分問題に分割し、その結果をメモ化して再利用することで効率的に解くアルゴリズム設計手法。フィボナッチ数列や最短経路問題などに活用される。
복잡한 문제를 부분 문제로 나누고, 그 결과를 메모이제이션하여 재사용함으로써 효율적으로 해결하는 알고리즘 설계 기법. 피보나치 수열이나 최단 경로 문제 등에 활용된다.
スタブ・モック・スパイ・フェイクなどのテストダブルをテストの目的に応じて適切に使い分ける戦略であり、テストの意図を明確にしながら過度なモック依存による脆弱性を回避する。
스텁, 목, 스파이, 페이크 등의 테스트 더블을 테스트의 목적에 따라 적절히 구분하여 사용하는 전략이며, 테스트의 의도를 명확히 하면서 과도한 목 의존에 의한 취약성을 회피한다.
アルゴリズムをカプセル化して実行時に切り替え可能にする設計パターンの活用であり、条件分岐の複雑化を防止しながら処理方式の追加や変更をオープンクローズドの原則に従って行う。
알고리즘을 캡슐화하여 실행 시 전환 가능하게 하는 설계 패턴의 활용이며, 조건 분기의 복잡화를 방지하면서 처리 방식의 추가나 변경을 개방 폐쇄의 원칙에 따라 수행한다.
あるプログラミング言語のソースコードを同等の抽象度を持つ別の言語に変換するツールであり、TypeScriptからJavaScriptへの変換やBabelによる最新構文の下位互換変換などに使用される。
하나의 프로그래밍 언어의 소스 코드를 동등한 추상도를 가진 다른 언어로 변환하는 도구이며, TypeScript에서 JavaScript로의 변환이나 Babel에 의한 최신 구문의 하위 호환 변환 등에 사용된다.
値の構造や型に応じて処理を分岐させる制御構文。Rustのmatch式やTypeScriptの型ガードなどで実現し、列挙型の全パターン網羅チェックにより、処理漏れを防ぐ安全なコード記述を可能にする。
값의 구조나 타입에 따라 처리를 분기시키는 제어 구문. Rust의 match 식이나 TypeScript의 타입 가드 등으로 실현하며, 열거형의 전 패턴 망라 체크에 의해 처리 누락을 방지하는 안전한 코드 기술을 가능하게 한다.
プログラムが確保したメモリを使用後に適切に解放せず、利用可能なメモリが徐々に減少していく現象。長時間稼働するアプリケーションでパフォーマンス低下やクラッシュの原因となる。
프로그램이 할당한 메모리를 사용 후 적절히 해제하지 않아 사용 가능한 메모리가 점차 줄어드는 현상. 장시간 실행되는 애플리케이션에서 성능 저하나 크래시의 원인이 된다.
メソッドやAPIの呼び出し順序に依存する設計上の問題を解消する手法であり、処理の順序制約を明示的に型やインタフェースで表現して実行時エラーを防止する設計改善である。
메서드나 API의 호출 순서에 의존하는 설계상의 문제를 해소하는 기법이며, 처리의 순서 제약을 명시적으로 타입이나 인터페이스로 표현하여 실행 시 에러를 방지하는 설계 개선이다.
Gitでのブランチ運用ルールを定めた開発フロー設計。Git Flow、GitHub Flow、Trunk-Based Developmentなどが代表的で、チームの開発・リリースプロセスを標準化する。
Git에서 브랜치 운용 규칙을 정한 개발 플로우 설계. Git Flow, GitHub Flow, Trunk-Based Development 등이 대표적이며, 팀의 개발·릴리스 프로세스를 표준화한다.
派生クラスは基底クラスと置き換えても同様に動作すべきという原則。SOLID原則の「L」に該当し、継承設計の正しさを保証する指針。
파생 클래스는 기반 클래스로 대체해도 동일하게 동작해야 한다는 원칙. SOLID 원칙의 'L'에 해당하며, 올바른 상속 설계를 보장하는 지침이다.
ESLintやSonarQubeなどの静的解析ツールのルールをプロジェクト固有の要件に合わせてカスタマイズする手法であり、チーム独自のコーディング規約やセキュリティ基準を自動的に強制する。
ESLint나 SonarQube 등의 정적 분석 도구의 규칙을 프로젝트 고유의 요건에 맞추어 커스터마이즈하는 기법이며, 팀 고유의 코딩 규약이나 보안 기준을 자동으로 강제한다.
破壊的なスキーマ変更を展開と縮退の二段階に分割して実施する手法であり、まず新旧両方のスキーマに対応するコードをデプロイし、移行完了後に旧スキーマを安全に除去する。
파괴적인 스키마 변경을 확장과 축퇴의 2단계로 분할하여 실시하는 기법이며, 먼저 신구 양쪽의 스키마에 대응하는 코드를 배포하고 이행 완료 후 구 스키마를 안전하게 제거한다.
マイクロサービスの各チームが提供・消費するAPIの仕様をContract Testingで合意する手法。チーム間の結合不良を早期に検出する。
마이크로서비스의 각 팀이 제공·소비하는 API 사양을 Contract Testing으로 합의하는 기법. 팀 간 결합 불량을 조기에 검출한다.
障害の深刻度に応じて一次対応→チームリード→マネージャーへと段階的にエスカレーションするルールの設計。対応遅延を防ぎ、適切なタイミングで上位者の判断を仰ぐ仕組みを構築する。
장애의 심각도에 따라 1차 대응→팀 리드→매니저로 단계적으로 에스컬레이션하는 규칙의 설계이다. 대응 지연을 방지하고 적절한 타이밍에 상위자의 판단을 구하는 구조를 구축한다.
問題を効率的に解くための手順や論理的な処理の流れを設計すること。計算量・空間効率を考慮し、最適なデータ構造と組み合わせて実装の基盤を作る。
문제를 효율적으로 해결하기 위한 절차와 논리적 처리 흐름을 설계하는 것. 시간 복잡도·공간 효율을 고려하여 최적의 자료구조와 함께 구현의 기반을 만든다.
障害対応後のレビュー文書のテンプレート化。タイムライン、根本原因、影響範囲、対応内容、再発防止策を標準書式で記録し、組織の知識ベースとして蓄積する。
장애 대응 후 리뷰 문서의 템플릿화이다. 타임라인, 근본 원인, 영향 범위, 대응 내용, 재발 방지책을 표준 서식으로 기록하고 조직의 지식 베이스로 축적한다.
ソースコードを機械語や中間コードに変換するプログラム。C言語やJavaなどの静的型付け言語で使われ、実行前にコード全体を解析・変換することでエラー検出と最適化を行う。
소스 코드를 기계어나 중간 코드로 변환하는 프로그램. C언어나 Java 같은 정적 타입 언어에서 사용되며, 실행 전에 코드 전체를 분석·변환하여 오류 검출과 최적화를 수행한다.
ソフトウェア開発と運用の効率・品質を定量的に測定する指標群。デプロイ頻度やMTTRなどの指標で継続的な改善活動の成果を可視化する。
소프트웨어 개발과 운용의 효율·품질을 정량적으로 측정하는 지표군이다. 디플로이 빈도나 MTTR 등의 지표로 지속적인 개선 활동의 성과를 가시화한다.
データの転送や処理速度の差を吸収するために使われる一時的なメモリ領域。I/O処理やネットワーク通信で頻繁に活用される。
데이터 전송이나 처리 속도 차이를 흡수하기 위해 사용되는 임시 메모리 영역. I/O 처리나 네트워크 통신에서 자주 활용된다.
ドメインモデル内で発生したビジネスイベントを外部の購読者に通知するための設計パターンであり、集約内の状態変化を他のコンテキストに伝播する疎結合な通信手段を提供する。
도메인 모델 내에서 발생한 비즈니스 이벤트를 외부의 구독자에게 통지하기 위한 설계 패턴이며, 집약 내의 상태 변화를 다른 컨텍스트에 전파하는 느슨한 결합의 통신 수단을 제공한다.
関数呼び出しを関数本体のコードで置き換えるコンパイラ最適化。関数呼び出しのオーバーヘッドを排除し、さらに後続の最適化(定数畳み込みやデッドコード削除)の適用機会を増やす。
함수 호출을 함수 본체의 코드로 치환하는 컴파일러 최적화이다. 함수 호출 오버헤드를 배제하고 후속 최적화(상수 접기나 데드 코드 삭제) 적용 기회를 늘린다.
メインブランチへの直接プッシュを禁止し、プルリクエスト経由のマージに必要な条件を体系的に設計する手法であり、必須レビュー数やCI通過条件、署名検証などを組み合わせて品質を担保する。
메인 브랜치에 대한 직접 푸시를 금지하고 풀 리퀘스트 경유의 머지에 필요한 조건을 체계적으로 설계하는 기법이며, 필수 리뷰 수나 CI 통과 조건, 서명 검증 등을 조합하여 품질을 담보한다.
企画からリリースまでの開発プロセス全体を見直し、ボトルネックを解消して効率を高める取り組み。バリューストリームマッピングが有効。
기획부터 릴리스까지의 개발 프로세스 전체를 재검토하여 병목을 해소하고 효율을 높이는 활동. 가치 흐름 매핑이 효과적이다.
一度作成したら変更できないデータのこと。Immutable Dataとも呼ばれ、副作用を防ぎ状態管理を簡潔にするため、関数型プログラミングやReactの状態管理で広く活用される。
한 번 생성하면 변경할 수 없는 데이터를 말한다. 부작용을 방지하고 상태 관리를 단순화하기 위해 함수형 프로그래밍이나 React의 상태 관리에서 널리 활용된다.
ユーザーや外部システムからの入力データを受け取る際に型・形式・範囲・長さなどを検証して不正なデータの混入を防止する処理であり、SQLインジェクションやXSS攻撃の防御にも寄与する。
사용자나 외부 시스템으로부터의 입력 데이터를 받을 때 타입·형식·범위·길이 등을 검증하여 부정한 데이터의 혼입을 방지하는 처리이며, SQL 인젝션이나 XSS 공격의 방어에도 기여한다.
プログラムがエラーを起こした際に、どのメソッドがどの順番で呼び出されたかを示すログ情報。バグの原因箇所を特定するデバッグの基本情報となる。
프로그램에서 오류가 발생했을 때 어떤 메서드가 어떤 순서로 호출되었는지를 보여주는 로그 정보. 버그의 원인 위치를 파악하는 디버깅의 기본 정보이다.
本番環境で発生した重大なバグや障害に対し、通常のリリースサイクルを経ずに緊急で適用する修正パッチのこと。ダウンタイムの最小化が目적。
프로덕션 환경에서 발생한 심각한 버그나 장애에 대해 일반 릴리스 사이클을 거치지 않고 긴급하게 적용하는 수정 패치. 다운타임 최소화가 목적.
ソースコードに意図的な変異(バグ)を注入し、既存のテストスイートがその変異を検出できるかを評価する手法である。テストの品質を定量的に測定でき、テストが不十分な箇所の特定に活用される。Strykerなどのツールで自動化される。
소스 코드에 의도적인 변이(버그)를 주입하고 기존 테스트 스위트가 해당 변이를 검출할 수 있는지를 평가하는 기법이다. 테스트의 품질을 정량적으로 측정할 수 있으며 테스트가 불충분한 부분의 특정에 활용된다. Stryker 등의 도구로 자동화된다.
フロントエンドからバックエンド、インフラまで幅広い技術領域を担当できるエンジニア。小規模チームやスタートアップで特に重宝される存在。
프론트엔드부터 백엔드, 인프라까지 폭넓은 기술 영역을 담당할 수 있는 엔지니어로, 소규모 팀이나 스타트업에서 특히 중요한 역할을 한다.
実行時にオブジェクトの実際の型に基づいて呼び出すメソッドを決定する仕組み。仮想関数テーブルを介して実現され、ポリモーフィズムの基盤となるが、間接呼び出しのオーバーヘッドが生じる。
실행 시 객체의 실제 타입에 기반하여 호출할 메서드를 결정하는 구조이다. 가상 함수 테이블을 통해 실현되며 다형성의 기반이 되지만 간접 호출의 오버헤드가 발생한다.
コンパイル時に呼び出すメソッドを決定する仕組み。ジェネリクスの単相化やインライン展開で実現され、実行時のオーバーヘッドがゼロとなるが、コードサイズが増大する可能性がある。
컴파일 시에 호출할 메서드를 결정하는 구조이다. 제네릭스의 단상화나 인라인 전개로 실현되며 실행 시 오버헤드가 제로가 되지만 코드 크기가 증대할 가능성이 있다.
サービスレベル指標としてどのメトリクスを採用するかの判断基準。ユーザー体験に直結する指標を優先し、測定可能性と実用性のバランスを考慮して選定する。
서비스 레벨 지표로서 어떤 메트릭스를 채용할지의 판단 기준이다. 사용자 경험에 직결되는 지표를 우선하고 측정 가능성과 실용성의 균형을 고려하여 선정한다.
PRの自動チェックやラベル付与、レビュアー割り当てを行うボットの導入・運用。dangerやPRボットを活用し、定型的なレビュー指摘を自動化して開発者の負担を軽減する。
PR의 자동 체크나 라벨 부여, 리뷰어 할당을 수행하는 봇의 도입·운용이다. danger나 PR 봇을 활용하여 정형적인 리뷰 지적을 자동화하고 개발자의 부담을 경감한다.
コードやテキストを編集するためのソフトウェア。VSCodeやVimなど様々な種類があり、シンタックスハイライトや補完機能を備えたものをコードエディタと呼ぶ。
코드나 텍스트를 편집하기 위한 소프트웨어. VSCode, Vim 등 다양한 종류가 있으며, 문법 강조 및 자동 완성 기능을 갖춘 것을 코드 에디터라고 부른다.
組織内の開発者向けにAPI、ドキュメント、ツール、テンプレートを一元的に提供するWebプラットフォームである。サービスカタログや技術ドキュメントを集約し、開発者のオンボーディングを促進する。
조직 내 개발자를 위해 API, 문서, 도구, 템플릿을 일원적으로 제공하는 웹 플랫폼이다. 서비스 카탈로그와 기술 문서를 집약하여 개발자의 온보딩과 셀프서비스를 촉진한다. Backstage가 대표적인 구현이다.
Command Line Interfaceの略。GUIを使わずテキストコマンドでOSやアプリを操作するインターフェース。開発・インフラ作業での効率化やスクリプト自動化に不可欠な手法。
Command Line Interface의 약자. GUI 없이 텍스트 명령어로 OS나 애플리케이션을 조작하는 인터페이스. 개발·인프라 작업의 효율화와 스크립트 자동화에 필수적인 방법.
本番トラフィックのコピーを新バージョンに送信して動作を検証するテスト手法。ユーザーには影響を与えずに本番データでの挙動を確認でき、リリース前のリスクを軽減する。
프로덕션 트래픽의 사본을 새 버전에 전송하여 동작을 검증하는 테스트 기법이다. 사용자에게 영향을 주지 않고 프로덕션 데이터에서의 동작을 확인할 수 있어 릴리스 전 리스크를 경감한다.
「You Aren't Gonna Need It」の略。必要になるまで機能を実装しないという設計原則。過剰な先読み実装を避け、シンプルなコードを維持するために重要。
"You Aren't Gonna Need It"의 약자. 필요해질 때까지 기능을 구현하지 않는다는 설계 원칙. 과도한 선행 구현을 피하고 단순한 코드를 유지하는 데 중요하다.
オブジェクト指向プログラミングの基本概念で、データとメソッドをクラス内にまとめ、外部からの直接アクセスを制限して内部実装を隠蔽する設計手法。
객체 지향 프로그래밍의 기본 개념으로, 데이터와 메서드를 클래스 내부에 묶고 외부에서의 직접 접근을 제한하여 내부 구현을 은닉하는 설계 기법.
Rustが採用するメモリ管理方式で、各値に唯一の所有者を設定しスコープ離脱時に自動解放する仕組み。ガベージコレクションなしにメモリ安全性を保証し、ダングリングポインタやデータ競合を防止する。
Rust가 채용하는 메모리 관리 방식으로, 각 값에 유일한 소유자를 설정하고 스코프 이탈 시 자동 해제하는 구조. 가비지 컬렉션 없이 메모리 안전성을 보증하며, 댕글링 포인터나 데이터 경합을 방지한다.
入力データの構造・型・制約などを定義したルールセット。ZodやYupなどのライブラリを使い、APIリクエストやフォームデータの整合性をコードで宣言的に検証する仕組み。
입력 데이터의 구조, 타입, 제약 조건 등을 정의한 규칙 집합. Zod나 Yup 같은 라이브러리를 사용해 API 요청이나 폼 데이터의 유효성을 코드로 선언적으로 검증하는 구조.
複雑なサブシステムに対してシンプルな統一インターフェースを提供するデザインパターン。GoFの構造パターンの一つで、外部からの利用を簡素化し、依存関係を低減する。
복잡한 서브시스템에 단순하고 통일된 인터페이스를 제공하는 디자인 패턴. GoF의 구조 패턴 중 하나로, 외부 사용을 단순화하고 의존 관계를 줄인다.
オブジェクトの生成過程を段階的に組み立てるデザインパターン。複雑なオブジェクトをメソッドチェーンで柔軟に構築でき、コンストラクタの引数が多い場合に特に有効。
객체 생성 과정을 단계적으로 조립하는 디자인 패턴. 복잡한 객체를 메서드 체인으로 유연하게 구성할 수 있으며, 생성자 인자가 많을 때 특히 유용하다.
モノレポ内の複数パッケージを一元的に管理する仕組み。npm workspacesやpnpm workspacesなどを利用して、依存関係の解決、ビルド順序の制御、共有コードの管理を効率的に行う。
모노레포 내의 복수 패키지를 일원적으로 관리하는 구조. npm workspaces나 pnpm workspaces 등을 이용하여 의존 관계의 해결, 빌드 순서의 제어, 공유 코드의 관리를 효율적으로 행한다.
APIの利用者側が期待する振る舞いを契約として定義し、提供者側がその契約を満たすことを自動検証するテスト手法であり、マイクロサービス間の互換性を継続的に保証する。
API의 이용자 측이 기대하는 동작을 계약으로 정의하고 제공자 측이 그 계약을 충족하는 것을 자동 검증하는 테스트 기법이며, 마이크로서비스 간의 호환성을 지속적으로 보장한다.
Foreign Function Interfaceの略で、異なるプログラミング言語間で関数を呼び出すための仕組み。RustからCライブラリを呼び出す場合やPythonからC拡張を利用する場合に使われる。
Foreign Function Interface의 약어로 다른 프로그래밍 언어 간에 함수를 호출하기 위한 구조이다. Rust에서 C 라이브러리를 호출하거나 Python에서 C 확장을 이용할 때 사용된다.
値に依存して型が決まる高度な型システム。配列の長さや数値の範囲を型レベルで表現でき、コンパイル時に境界チェックやビジネスルールの妥当性を検証する。IdrisやAgdaで使用される。
값에 의존하여 타입이 결정되는 고급 타입 시스템이다. 배열의 길이나 수치의 범위를 타입 수준에서 표현할 수 있으며 컴파일 시 경계 체크나 비즈니스 규칙의 타당성을 검증한다. Idris나 Agda에서 사용된다.
ソフトウェアやAPIの変更履歴を管理し、バージョン番号を付与して互換性を維持する手法。セマンティックバージョニング(Major.Minor.Patch)が広く採用されている。
소프트웨어나 API의 변경 이력을 관리하고 버전 번호를 부여하여 호환성을 유지하는 기법. 시맨틱 버전 관리(Major.Minor.Patch)가 널리 사용된다.
ファイルの変更が競合すること。Conflict。
파일 변경이 경합하는 것. Conflict.
複数ブランチで同一ファイルの同一箇所が変更された際に発生する競合を手動で解決する作業。定期的なリベースで予防することが推奨される。
여러 브랜치에서 동일 파일의 같은 부분이 변경되었을 때 발생하는 충돌을 수동으로 해결하는 작업. 정기적인 리베이스로 예방하는 것이 권장된다.
特定の機能を再利用可能な形でまとめたコードの集合体。開発者はライブラリをインポートして利用することで、効率的に機能を実装できる。
특정 기능을 재사용 가능한 형태로 모아 놓은 코드의 집합체. 개발자는 라이브러리를 임포트하여 활용함으로써 효율적으로 기능을 구현할 수 있다.
ソフトウェアのリリースを行う定期的な頻度・スケジュールのこと。週次・隔週・月次などのリズムを定めることで、チームの計画性と予測可能性を向上させる。
소프트웨어의 릴리스를 수행하는 정기적인 빈도·스케줄이다. 주간·격주·월간 등의 리듬을 정함으로써 팀의 계획성과 예측 가능성을 향상시킨다.
ジェネリクスの型パラメータ情報をコンパイル時に除去し、実行時には型情報を保持しない手法である。Javaのジェネリクスがこの方式を採用しており、後方互換性を維持しつつ型安全性を提供するが、実行時の型検査に制限がある。
제네릭스의 타입 파라미터 정보를 컴파일 시에 제거하고 실행 시에는 타입 정보를 보유하지 않는 기법이다. Java의 제네릭스가 이 방식을 채택하고 있으며, 후방 호환성을 유지하면서 타입 안전성을 제공하지만 실행 시 타입 검사에 제한이 있다.
開発チームがインフラやツールチェーンをセルフサービスで利用できるように抽象化した社内基盤である。環境のプロビジョニング、デプロイ、監視などをワンクリックで実行でき、開発者の認知負荷を軽減してコア業務に集中させる。
개발 팀이 인프라나 도구 체인을 셀프서비스로 이용할 수 있도록 추상화한 사내 기반이다. 환경의 프로비저닝, 배포, 모니터링 등을 원클릭으로 실행할 수 있으며 개발자의 인지 부하를 경감하여 핵심 업무에 집중하게 한다.
多重継承で同一の祖先クラスを複数経路で継承する際に、メソッドやフィールドの曖昧性が生じる問題。トレイトやミックスインの線形化、仮想継承などの言語機能で解決策が提供される。
다중 상속에서 동일한 조상 클래스를 여러 경로로 상속할 때 메서드나 필드의 모호성이 발생하는 문제이다. 트레이트나 믹스인의 선형화, 가상 상속 등의 언어 기능으로 해결책이 제공된다.
オブジェクトへのアクセスを制御する代理オブジェクトを用いるデザインパターン。遅延初期化・アクセス制御・ログ記録などに活用され、GoFの23パターンの一つ。
객체에 대한 접근을 제어하는 대리 객체를 사용하는 디자인 패턴. 지연 초기화, 접근 제어, 로그 기록 등에 활용되며 GoF 23가지 패턴 중 하나.
メソッド呼び出し時に、レシーバーだけでなく全引数の実行時型に基づいて実行するメソッドを決定する仕組み。Juliaが言語レベルでサポートし、科学計算での型ごとの最適処理に活用される。
메서드 호출 시 수신자뿐만 아니라 모든 인수의 실행 시 타입에 기반하여 실행할 메서드를 결정하는 구조이다. Julia가 언어 수준에서 지원하며 과학 계산에서 타입별 최적 처리에 활용된다.
文字をコンピュータで扱うためのバイト列への変換規則。UTF-8、Shift-JIS、EUC-JPなどが代表的で、不一致が文字化けの原因となる。
문자를 컴퓨터에서 처리하기 위해 바이트 열로 변환하는 규칙. UTF-8, Shift-JIS, EUC-JP 등이 대표적이며, 불일치 시 문자 깨짐이 발생한다.
プログラムの制御フローの複雑さを数値化する指標。分岐やループの数から算出され、値が高いほどテストやメンテナンスが困難になる。McCabe複雑度とも呼ばれる。
프로그램의 제어 흐름 복잡성을 수치화하는 지표. 분기와 루프의 수로 산출되며, 값이 높을수록 테스트와 유지보수가 어려워진다. McCabe 복잡도라고도 불린다.
開発したプログラムをサーバー等に配置し利用可能にすること。
개발한 프로그램을 서버 등에 배치하여 이용 가능하게 하는 것.
一度作成したオブジェクトや値が変更不可能な状態のこと。副作用を防ぎ、コードの予測可能性と安全性を高める設計原則として関数型プログラミングやReactの状態管理で広く活用される。
한 번 생성된 객체나 값을 변경할 수 없는 상태를 의미한다. 부작용을 방지하고 코드의 예측 가능성과 안전성을 높이는 설계 원칙으로, 함수형 프로그래밍이나 React 상태 관리에서 널리 활용된다.
望ましいシステムアーキテクチャに合わせて組織構造を設計する戦略。コンウェイの法則を逆手に取り、チーム編成でアーキテクチャを誘導する手法。
원하는 시스템 아키텍처에 맞게 조직 구조를 설계하는 전략. 콘웨이의 법칙을 역으로 활용하여 팀 구성으로 아키텍처를 유도하는 기법.
システムやコンポーネント間の接続仕様・境界を定義する概念。APIの設計やクラスの抽象定義など、実装を隠蔽しながら外部との通信ルールを規定する。
시스템이나 컴포넌트 간의 연결 사양 및 경계를 정의하는 개념. API 설계나 클래스의 추상 정의 등, 구현을 숨기면서 외부와의 통신 규칙을 규정한다.
重要なアーキテクチャ上の意思決定をMarkdownで記録する軽量な文書化手法(ADR)。背景・選択肢・判断理由・結果を残すことで、なぜその設計にしたかを将来のチームに伝える。
중요한 아키텍처 의사결정을 Markdown으로 기록하는 경량 문서화 기법(ADR). 배경·선택지·판단 이유·결과를 남김으로써, 왜 그 설계를 선택했는지를 미래 팀에 전달한다.
構造的に同一の型をブランド(タグ)で区別し、異なる意味を持つ値の混同を防ぐTypeScriptの型テクニック。UserIDとOrderIDのように同じstring型でも区別することで、パラメータの取り違えを防止する。
구조적으로 동일한 타입을 브랜드(태그)로 구별하여 다른 의미를 가진 값의 혼동을 방지하는 TypeScript의 타입 테크닉. UserID와 OrderID처럼 같은 string 타입이라도 구별함으로써 파라미터의 혼동을 방지한다.
アプリやサービスが既に初期化済みの状態から再起動・再実行されること。コールドスタートと対比され、キャッシュやメモリが保持されるため起動が高速になる。
앱이나 서비스가 이미 초기화된 상태에서 재시작·재실행되는 것. 콜드 스타트와 대비되며, 캐시와 메모리가 유지되어 기동이 빠르다.
コードの外部動作を変えずに内部構造を継続的に改善するプロセス。技術的負債の蓄積を防ぎ、保守性・可読性を高めるためにスプリントや日常開発に組み込む手法。
코드의 외부 동작을 변경하지 않고 내부 구조를 지속적으로 개선하는 프로세스. 기술 부채 축적을 방지하고 유지보수성과 가독성을 높이기 위해 스프린트나 일상 개발에 통합하는 기법.
コードを実行されないようにコメント化すること。
코드가 실행되지 않도록 주석화하는 것.
コードベースの各領域に責任者チームを割り当てて品質とレビューの責任を明確化する運用手法であり、CODEOWNERS設定と連動してプルリクエストの適切なレビュアー自動割当を実現する。
코드베이스의 각 영역에 책임자 팀을 할당하여 품질과 리뷰의 책임을 명확화하는 운용 기법이며, CODEOWNERS 설정과 연동하여 풀 리퀘스트의 적절한 리뷰어 자동 할당을 실현한다.
シェルやエディタの設定ファイルをGitリポジトリで管理し、複数環境で同じ開発環境を再現する手法。新しいマシンでも短時間で好みの開発環境を構築できる。
셸이나 에디터의 설정 파일을 Git 리포지토리로 관리하고 복수 환경에서 같은 개발 환경을 재현하는 기법이다. 새 머신에서도 단시간에 선호하는 개발 환경을 구축할 수 있다.
開発者がツール・プロセス・環境を通じて得る体験の質を示す概念。優れたDXはオンボーディング時間の短縮や生産性向上に直結し、開発チームの満足度を高める。
개발자가 도구·프로세스·환경을 통해 얻는 경험의 질을 나타내는 개념이다. 우수한 DX는 온보딩 시간 단축이나 생산성 향상에 직결되며 개발 팀의 만족도를 높인다.
メインブランチへの直接プッシュを禁止し、PR経由のマージにレビュー承認やCIパスを必須とするGitHub/GitLabの設定。意図しないコード混入を防ぎ、コード品質を担保する。
메인 브랜치로의 직접 푸시를 금지하고 PR 경유의 머지에 리뷰 승인이나 CI 패스를 필수로 하는 GitHub/GitLab의 설정이다. 의도하지 않은 코드 혼입을 방지하고 코드 품질을 담보한다.
テストメソッドにパラメータを渡し、異なるデータセットで同じテストロジックを繰り返し実行する手法である。JUnit5の@ParameterizedTestやpytestのparametrizeで実装され、テストコードの冗長性を大幅に削減する。
테스트 메서드에 파라미터를 전달하여 서로 다른 데이터셋으로 같은 테스트 로직을 반복 실행하는 기법이다. JUnit5의 @ParameterizedTest나 pytest의 parametrize로 구현되며 테스트 코드의 중복을 대폭 줄인다.
プログラムに含まれるバグ(不具合)を発見・特定し、修正する作業のこと。ログ確認やブレークポイントを使ったステップ実行などの手法が広く用いられる。
프로그램에 포함된 버그(결함)를 발견·특정하고 수정하는 작업. 로그 확인이나 브레이크포인트를 이용한 스텝 실행 등의 기법이 널리 활용된다.
TerraformやCloudFormationなどのIaCコードを実行前に静的解析し、セキュリティ違反やベストプラクティス逸脱を検出する手法。tfsec、checkov、OPAなどのツールを活用する。
Terraform이나 CloudFormation 등의 IaC 코드를 실행 전에 정적 분석하여 보안 위반이나 베스트 프랙티스 일탈을 검출하는 기법이다. tfsec, checkov, OPA 등의 도구를 활용한다.
ソート済み配列を半分ずつ絞り込んで目的の値を探すアルゴリズム。計算量はO(log n)で、線形探索より大幅に高速。配列が必ずソート済みであることが前提条件。
정렬된 배열을 절반씩 좁혀가며 목표 값을 찾는 알고리즘. 시간 복잡도는 O(log n)으로 선형 탐색보다 훨씬 빠르며, 배열이 반드시 정렬되어 있어야 한다는 전제 조건이 있음.
VS Codeベースに構築されたAI統合コードエディタ。コードベース全体を文脈として理解した上でのチャット・コード生成・バグ修正ができ、AIペアプロ環境として人気が高い。
VS Code 기반으로 구축된 AI 통합 코드 에디터. 코드베이스 전체를 문맥으로 이해한 상태에서 채팅·코드 생성·버그 수정을 할 수 있으며, AI 페어프로 환경으로 인기가 높다.
型の名前ではなく構造(プロパティやメソッドの集合)に基づいて型の互換性を判定する型システム。TypeScriptが採用しており、明示的なインターフェース実装宣言なしに型の適合性を確認できる。
타입의 이름이 아닌 구조(프로퍼티나 메서드의 집합)에 기반하여 타입의 호환성을 판정하는 타입 시스템. TypeScript가 채용하고 있으며, 명시적인 인터페이스 구현 선언 없이 타입의 적합성을 확인할 수 있다.
IDEやエディタがコードを解析し、補完・定義ジャンプ・リファクタリング支援などを提供する機能の総称。LSPなどのプロトコルで実現されることが多い。
IDE나 에디터가 코드를 분석하여 자동 완성, 정의 이동, 리팩토링 지원 등을 제공하는 기능의 총칭. LSP 등의 프로토콜로 구현되는 경우가 많다.
モジュールやコンポーネント間の依存関係の強さを示す指標。結合度は低いほど保守性・再利用性が高く、高凝集・低結合が設計の理想とされる。
모듈이나 컴포넌트 간의 의존 관계의 강도를 나타내는 지표. 결합도는 낮을수록 유지보수성·재사용성이 높으며, 고응집·저결합이 설계의 이상으로 여겨진다.
型の等価性や型制約の証拠を値として表現するデータ型。GADTsと組み合わせて使用され、異なる型間の安全なキャストや型レベルの証明をランタイムに持ち込む手法である。
타입의 동등성이나 타입 제약의 증거를 값으로 표현하는 데이터 타입이다. GADT와 조합하여 사용되며 다른 타입 간의 안전한 캐스트나 타입 수준의 증명을 런타임에 가져오는 기법이다.
スキーマやテンプレートの定義から自動的にソースコードを生成するツール。APIクライアント、データモデル、CRUDコードなどのボイラープレートを自動生成し、開発効率を大幅に向上させる。
스키마나 템플릿의 정의로부터 자동적으로 소스 코드를 생성하는 도구. API 클라이언트, 데이터 모델, CRUD 코드 등의 보일러플레이트를 자동 생성하여 개발 효율을 대폭 향상시킨다.
特定のコード領域に責任者を割り当て品質と知識の集中管理を行う制度。CODEOWNERSファイルでPRレビュアーを自動アサインする。
특정 코드 영역에 책임자를 할당하여 품질과 지식의 집중 관리를 수행하는 제도. CODEOWNERS 파일로 PR 리뷰어를 자동 할당한다.
データベースやAPIのスキーマ変更をバージョン管理して安全に適用するための手法であり、マイグレーションファイルで変更履歴を管理しロールバック可能な状態を常に維持する。
데이터베이스나 API의 스키마 변경을 버전 관리하여 안전하게 적용하기 위한 기법이며, 마이그레이션 파일로 변경 이력을 관리하고 롤백 가능한 상태를 항상 유지한다.
エディタやIDEとデバッガーを接続するための標準プロトコル(DAP)。VSCodeが主導して策定し、言語ごとに異なるデバッガーを統一インターフェースで制御できる。
에디터나 IDE와 디버거를 연결하기 위한 표준 프로토콜(DAP)입니다. VSCode가 주도하여 책정하였으며, 언어별로 다른 디버거를 통일된 인터페이스로 제어할 수 있습니다.
コマンドラインからHTTPリクエストを送信できるツール。APIの動作確認やデバッグに広く使われ、GETやPOSTなど各種HTTPメソッドに対応している。
커맨드라인에서 HTTP 요청을 전송할 수 있는 도구. API 동작 확인 및 디버깅에 널리 사용되며, GET, POST 등 다양한 HTTP 메서드를 지원한다.
プログラムの制御フローをフレームワーク側が管理し、開発者はコールバックやフック関数を提供する設計原則である。ハリウッドの原則とも呼ばれ、フレームワークが適切なタイミングで開発者のコードを呼び出す。
프로그램의 제어 흐름을 프레임워크 측에서 관리하고 개발자는 콜백이나 훅 함수를 제공하는 설계 원칙이다. 헐리우드 원칙이라고도 불리며 프레임워크가 적절한 타이밍에 개발자의 코드를 호출한다.
コンパイラの処理パイプラインに独自のロジックを追加するための拡張モジュールのこと。コード生成・最適化・静的解析などの機能をコンパイル時に組み込み、開発効率を向上させる。
컴파일러의 처리 파이프라인에 독자적인 로직을 추가하기 위한 확장 모듈을 말한다. 코드 생성·최적화·정적 분석 등의 기능을 컴파일 시에 포함시켜 개발 효율을 향상시킨다.
異なる言語間のFFIバインディングコードを自動生成するツール。CヘッダファイルからRustやPythonのバインディングを生成し、手動でのラッパー記述を不要にして言語間連携を効率化する。
다른 언어 간의 FFI 바인딩 코드를 자동 생성하는 도구이다. C 헤더 파일에서 Rust나 Python의 바인딩을 생성하여 수동 래퍼 기술을 불필요하게 하고 언어 간 연계를 효율화한다.
実行時ではなくコンパイル時に値や式を評価して確定する最適化手法。C++のconstexpr、Rustのconst fn、Zigのcomptimeなどで実現し、実行時コストをゼロにしつつ型安全性を確保する。
실행 시가 아닌 컴파일 시에 값이나 식을 평가하여 확정하는 최적화 기법이다. C++의 constexpr, Rust의 const fn, Zig의 comptime 등으로 실현하며 실행 시 비용을 제로로 하면서 타입 안전성을 확보한다.
1つのスレッドだけが共有リソースにアクセスできるように排他制御を行う同期プリミティブ。ロックの獲得と解放により、データ競合を防ぎクリティカルセクションの安全な実行を保証する。
하나의 스레드만이 공유 리소스에 접근할 수 있도록 배타 제어를 행하는 동기 프리미티브. 잠금의 획득과 해제에 의해 데이터 경합을 방지하고 크리티컬 섹션의 안전한 실행을 보증한다.
ソフトウェアの新バージョンリリース時に作成する文書。追加機能・バグ修正・既知の問題などをまとめ、ユーザーや開発チームに変更内容を伝えるために使用する。
소프트웨어 새 버전 릴리스 시 작성하는 문서. 추가 기능·버그 수정·알려진 이슈 등을 정리하여 사용자 및 개발팀에 변경 사항을 전달하기 위해 사용한다.
メインスレッドとは別に裏側で非同期に実行される処理のこと。定期実行やメール送信・データ集計など、ユーザー操作をブロックせずに行う処理に活用される。
메인 스레드와 별개로 백그라운드에서 비동기로 실행되는 처리를 의미한다. 정기 실행, 이메일 발송, 데이터 집계 등 사용자 조작을 차단하지 않고 수행하는 처리에 활용된다.
テストケースをテーブル形式のデータ構造で定義し、同じテストロジックに対して複数の入力と期待値を効率的に検証するテスト手法である。Go言語で標準的に使われ、テストの網羅性を高めつつコードの重複を削減する。
테스트 케이스를 테이블 형식의 데이터 구조로 정의하고 같은 테스트 로직에 대해 여러 입력과 기대값을 효율적으로 검증하는 테스트 기법이다. Go 언어에서 표준적으로 사용되며 테스트의 망라성을 높이면서 코드 중복을 줄인다.
変更されたソースファイルとその依存先のみを再コンパイルし、ビルド時間を大幅に短縮する手法のこと。依存関係グラフを分析して最小限の再ビルド範囲を特定する仕組みである。
변경된 소스 파일과 그 의존 대상만 재컴파일하여 빌드 시간을 대폭 단축하는 기법을 말한다. 의존 관계 그래프를 분석하여 최소한의 재빌드 범위를 특정하는 구조이다.
ソフトウェアを機能単位に分割した独立したコンポーネント。再利用性・保守性を高めるため、特定の機能をひとまとめにしたコード単位を指す。
소프트웨어를 기능 단위로 분리한 독립적인 컴포넌트. 재사용성과 유지보수성을 높이기 위해 특정 기능을 하나로 묶은 코드 단위를 가리킨다.
既存のソフトウェアに機能を追加するための拡張モジュール。本体を改変せずに機能拡張できるため、IDEやCMSなどで広く活用される。
기존 소프트웨어에 기능을 추가하기 위한 확장 모듈. 본체를 수정하지 않고 기능을 확장할 수 있어 IDE나 CMS 등에서 널리 활용된다.
1つのプロセス内で複数のスレッドを並行実行する技術。CPUコアを効率的に活用し、処理速度の向上や応答性改善に使われる。排他制御やデッドロックに注意が必要。
하나의 프로세스 내에서 여러 스레드를 병렬로 실행하는 기술. CPU 코어를 효율적으로 활용하여 처리 속도 향상과 응답성 개선에 사용되며, 배타 제어와 데드락에 주의가 필요하다.
問題を解決するための手順や計算手法の集合。効率的なアルゴリズムの選択は処理速度やメモリ使用量に直結し、システム性能を大きく左右する。
문제를 해결하기 위한 절차나 계산 방법의 집합. 효율적인 알고리즘 선택은 처리 속도와 메모리 사용량에 직결되며, 시스템 성능에 큰 영향을 미친다.
テスト対象の依存オブジェクトの代替として使用される模擬オブジェクト。外部APIやデータベースとの通信を模倣し、単体テストを高速かつ安定的に実行するために使用される。
테스트 대상의 의존 객체 대체로 사용되는 모의 객체이다. 외부 API나 데이터베이스와의 통신을 모방하여 단위 테스트를 고속이고 안정적으로 실행하는 데 사용된다.
開発者体験の満足度・生産性・フロー状態を定量的に測定するフレームワーク。アンケート調査とシステムメトリクスを組み合わせ、開発環境やツールの改善に活用する。
개발자 경험의 만족도·생산성·플로 상태를 정량적으로 측정하는 프레임워크이다. 설문 조사와 시스템 메트릭스를 조합하여 개발 환경이나 도구의 개선에 활용한다.
新機能の開発を独立したブランチで行い、完成後にメインブランチへマージする開発手法。他の開発者の作業に影響を与えずに並行開発を進めることができる。
새 기능 개발을 독립된 브랜치에서 수행하고 완성 후 메인 브랜치에 머지하는 개발 기법이다. 다른 개발자의 작업에 영향을 주지 않고 병행 개발을 진행할 수 있다.
単一デプロイ単位を保ちながら、内部をモジュール単位で明確に分割したアーキテクチャ。マイクロサービスへの段階的移行の中間形態としても活用される。
단일 배포 단위를 유지하면서 내부를 모듈 단위로 명확하게 분리한 아키텍처. 마이크로서비스로의 단계적 전환을 위한 중간 형태로도 활용된다.
本番環境へのデプロイ前に責任者の承認を必須とする仕組み。自動テスト通過後に人間の確認ステップを挟むことで、意図しないリリースを防止する。
프로덕션 환경에 디플로이하기 전에 책임자의 승인을 필수로 하는 구조이다. 자동 테스트 통과 후 사람의 확인 단계를 넣어 의도하지 않은 릴리스를 방지한다.
アーキテクチャの適合性を継続的に検証する自動テスト群。特定の品質特性(結合度・循環依存など)がアーキテクチャ上の制約を満たしているかをCIパイプライン上で計測・監視する仕組み。
아키텍처의 적합성을 지속적으로 검증하는 자동화 테스트 집합. 결합도·순환 의존 등 특정 품질 특성이 아키텍처 제약을 충족하는지 CI 파이프라인에서 측정·모니터링하는 구조.
Ahead-Of-Timeコンパイルの略。実行前にソースコードをネイティブコードへ変換する方式で、JITと異なり起動時間の短縮とパフォーマンス向上が期待できる。
Ahead-Of-Time 컴파일의 약자. 실행 전에 소스 코드를 네이티브 코드로 변환하는 방식으로, JIT과 달리 시작 시간 단축과 성능 향상을 기대할 수 있다.
データの複製を遅延させ、実際に書き込みが発生した時点で初めてコピーを作成する最適化技法である。読み取りのみの場合はメモリを共有し、不要なコピーを避けることで、大きなデータ構造を効率的に扱える。
데이터의 복제를 지연시키고 실제로 쓰기가 발생한 시점에 비로소 복사를 생성하는 최적화 기법이다. 읽기만의 경우에는 메모리를 공유하고 불필요한 복사를 피하여 큰 데이터 구조를 효율적으로 다룰 수 있다.
型パラメータを用いてデータ型を抽象化するプログラミング機能。コンパイル時に型安全性を保ちながら、異なる型に対して再利用可能なクラスや関数を定義できる。
타입 매개변수를 사용하여 데이터 타입을 추상화하는 프로그래밍 기능. 컴파일 시점에 타입 안전성을 유지하면서 다양한 타입에 재사용 가능한 클래스나 함수를 정의할 수 있다.
APIの仕様・エンドポイント・リクエスト形式・レスポンス形式を記述した技術文書。OpenAPI仕様などで自動生成し、常に最新の状態を保つことが重要である。
API의 사양·엔드포인트·리퀘스트 형식·리스폰스 형식을 기술한 기술 문서이다. OpenAPI 사양 등으로 자동 생성하여 항상 최신 상태를 유지하는 것이 중요하다.
アプリケーションやサービスを動かすための仮想マシン(VM)の構成・スペック・ネットワーク設定などを設計するプロセス。リソース効率や可用性を考慮することが重要。
애플리케이션이나 서비스를 실행하기 위한 VM의 구성, 사양, 네트워크 설정 등을 설계하는 프로세스. 리소스 효율성과 가용성을 고려하는 것이 중요하다.
システムやプロセス全体の処理速度を低下させる原因となる箇所。パフォーマンス改善の際に最初に特定・解消すべき制約点を指す。
시스템이나 프로세스 전체의 처리 속도를 저하시키는 원인이 되는 지점. 성능 개선 시 가장 먼저 식별하고 해소해야 할 제약 지점을 가리킨다.
Zigで書かれた高速なJavaScriptランタイム・バンドラー・パッケージマネージャーのオールインワンツール。Node.jsと高い互換性を持ちながら起動速度・実行速度ともにNodeより大幅に高速。
Zig로 작성된 고속 JavaScript 런타임·번들러·패키지 매니저 올인원 툴. Node.js와 높은 호환성을 유지하면서 시작 속도·실행 속도 모두 Node보다 크게 빠르다.
型の互換性を名前ではなく構造(プロパティやメソッドの一致)で判定する型システム。TypeScriptやGoが採用しており、明示的な型宣言なしにインターフェース適合を柔軟に判定できる。
타입의 호환성을 이름이 아닌 구조(프로퍼티나 메서드의 일치)로 판정하는 타입 시스템이다. TypeScript나 Go가 채택하고 있으며 명시적 타입 선언 없이 인터페이스 적합을 유연하게 판정할 수 있다.
コードベースの変更頻度やバグ発生箇所を色の濃淡で可視化するツールである。変更が集中するホットスポットを特定し、リファクタリングの優先順位付けやアーキテクチャ上の問題箇所の発見に活用される。
코드베이스의 변경 빈도나 버그 발생 개소를 색의 농담으로 가시화하는 도구이다. 변경이 집중되는 핫스팟을 특정하여 리팩터링의 우선순위 부여나 아키텍처상의 문제 개소 발견에 활용된다.
新規参画開発者のアカウント作成、リポジトリアクセス付与、開発環境セットアップをスクリプトやIaCで自動化する取り組み。初日から開発に着手できる状態を迅速に構築する。
신규 참여 개발자의 계정 생성, 리포지토리 접근 부여, 개발 환경 셋업을 스크립트나 IaC로 자동화하는 노력이다. 첫날부터 개발에 착수할 수 있는 상태를 신속히 구축한다.
関数やメソッドが常に同じ型の引数で呼び出される状態を指す。JavaScriptエンジンなどのJITコンパイラは、モノモーフィックな呼び出しに対して最適化されたマシンコードを生成し、実行速度を大幅に向上させる。
함수나 메서드가 항상 같은 타입의 인수로 호출되는 상태를 가리킨다. JavaScript 엔진 등의 JIT 컴파일러는 모노모픽 호출에 대해 최적화된 머신 코드를 생성하여 실행 속도를 대폭 향상시킨다.
ソースコードを静的解析し、文法エラー・スタイル違反・バグの可能性を自動検出するツール。ESLint、Pylint、RuboCopなどが代表例で、コード品質の均一化に活用される。
소스 코드를 정적 분석하여 문법 오류, 스타일 위반, 버그 가능성을 자동으로 검출하는 도구. ESLint, Pylint, RuboCop 등이 대표적이며, 코드 품질 균일화에 활용된다.
開発者向けのコマンドラインインターフェースツールを設計・実装するプロセス。引数パーサーやヘルプ表示、自動補完などの機能を備えた使いやすいCLIを構築する。
개발자용 커맨드라인 인터페이스 도구를 설계·구현하는 프로세스이다. 인수 파서나 도움말 표시, 자동 보완 등의 기능을 갖춘 사용하기 쉬운 CLI를 구축한다.
社内の開発者向けにインフラ・ツール・テンプレートを統合提供する自己サービス型プラットフォーム。開発者がインフラの詳細を意識せずにアプリケーション開発に集中できる環境を提供する。
사내 개발자를 위해 인프라·도구·템플릿을 통합 제공하는 셀프서비스형 플랫폼이다. 개발자가 인프라의 세부 사항을 의식하지 않고 애플리케이션 개발에 집중할 수 있는 환경을 제공한다.
テストスイートを複数のワーカーで並列実行し、CI/CDパイプラインの実行時間を短縮する最適化手法。テストの分割戦略と実行時間の均等化が成功の鍵となる。
테스트 스위트를 여러 워커에서 병렬 실행하여 CI/CD 파이프라인의 실행 시간을 단축하는 최적화 기법이다. 테스트의 분할 전략과 실행 시간의 균등화가 성공의 열쇠가 된다.
プロジェクトの初期構造やテンプレートファイルを自動生成する仕組み。ディレクトリ構成、設定ファイル、基本コードを一括で作成し、開発者がすぐに実装に着手できる状態を整える。
프로젝트의 초기 구조나 템플릿 파일을 자동 생성하는 구조. 디렉터리 구성, 설정 파일, 기본 코드를 일괄로 작성하여 개발자가 바로 구현에 착수할 수 있는 상태를 정비한다.
変数や関数の型を明示せずともコンパイラや処理系が自動で型を推定する機能。TypeScriptやKotlin、Swiftなどで活用され、コードの簡潔さと型安全性を両立できる。
변수나 함수의 타입을 명시하지 않아도 컴파일러나 런타임이 자동으로 타입을 추론하는 기능. TypeScript, Kotlin, Swift 등에서 활용되며 코드의 간결함과 타입 안전성을 동시에 확보할 수 있다.
ソフトウェアが利用する外部ライブラリやパッケージのバージョンや整合性を管理する仕組み。npm、Maven、pip などのパッケージマネージャーを用いて行う。
소프트웨어가 사용하는 외부 라이브러리나 패키지의 버전 및 호환성을 관리하는 방법. npm, Maven, pip 등의 패키지 매니저를 활용하여 수행한다.
モジュール間の依存関係の強さを示す指標。結合度が低いほどモジュールの独立性が高く、変更の影響範囲が限定され、保守性やテスト容易性が向上する。
모듈 간 의존 관계의 강도를 나타내는 지표이다. 결합도가 낮을수록 모듈의 독립성이 높고 변경의 영향 범위가 한정되어 유지보수성이나 테스트 용이성이 향상된다.
単一リポジトリ内の複数パッケージ間の依存関係を効率的に管理する手法。TurborepoやNx、Lernaなどのツールを使い、ビルドキャッシュと変更検知で開発効率を向上させる。
단일 리포지토리 내의 여러 패키지 간 의존 관계를 효율적으로 관리하는 기법이다. Turborepo나 Nx, Lerna 등의 도구를 사용하여 빌드 캐시와 변경 감지로 개발 효율을 향상시킨다.
コードの変更をメインブランチにマージする前に、他の開発者にレビューを依頼する仕組み。GitHubやGitLabで広く使われ、略して「PR」とも呼ばれる。
코드 변경 사항을 메인 브랜치에 병합하기 전에 다른 개발자에게 리뷰를 요청하는 기능. GitHub나 GitLab에서 널리 사용되며, 줄여서 'PR'이라고도 한다.
二人のレビュアーが同時にコードを確認し議論しながらフィードバックする手法の運用。複雑なロジックや重要な変更に対して多角的な視点を確保し、見落としを減らす効果がある。
두 명의 리뷰어가 동시에 코드를 확인하고 논의하면서 피드백하는 기법의 운용이다. 복잡한 로직이나 중요한 변경에 대해 다각적 시점을 확보하고 누락을 줄이는 효과가 있다.
システムの資産・脅威・脆弱性を体系的に分析し、セキュリティリスクを事前に特定・対策するプロセス。STRIDEやDREADなどのフレームワークを用いて設計段階で実施する。
시스템의 자산·위협·취약점을 체계적으로 분석하고 보안 리스크를 사전에 특정·대책하는 프로세스이다. STRIDE나 DREAD 등의 프레임워크를 사용하여 설계 단계에서 실시한다.
統合すること。Merge。「머지(モジ)」とも言う。
통합하는 것. Merge. "머지"라고도 함.
本番トラフィックのコピーを新バージョンのサービスに並行して流しユーザーに影響を与えずに動作を検証するテスト手法であり、レスポンスの差分を比較して新旧バージョンの動作の一致度を確認する。
프로덕션 트래픽의 복사를 신버전의 서비스에 병행하여 보내 사용자에게 영향을 주지 않고 동작을 검증하는 테스트 기법이며, 응답의 차분을 비교하여 신구 버전의 동작 일치도를 확인한다.
古いブラウザやランタイムで未サポートのAPIを補完するコードの設計手法。必要なポリフィルのみを動的に読み込む戦略を取ることで、バンドルサイズの増大を最小限に抑えつつ後方互換性を確保する。
오래된 브라우저나 런타임에서 미지원 API를 보완하는 코드의 설계 수법. 필요한 폴리필만을 동적으로 로딩하는 전략을 취함으로써 번들 사이즈의 증대를 최소한으로 억제하면서 하위 호환성을 확보한다.
外部APIにアクセスする際に使用する認証用の文字列。リクエスト元を識別・認可するために発行され、不正利用防止のため厳重に管理する必要がある。
외부 API에 접근할 때 사용하는 인증용 문자열. 요청 출처를 식별·인가하기 위해 발급되며, 부정 사용 방지를 위해 엄격하게 관리해야 한다.
関数やコンポーネントが外部の状態を変更する副作用(API呼び出し、DOM操作など)を適切に制御・整理する設計手法。Reactではuseeffectで管理する。
함수나 컴포넌트가 외부 상태를 변경하는 부작용(API 호출, DOM 조작 등)을 적절히 제어하고 정리하는 설계 기법. React에서는 useEffect로 관리한다.
依存ライブラリやツールのバージョンを特定のバージョンに固定する管理手法。予期しないバージョンアップによる動作不具合を防ぎ、環境の再現性を担保するために行う。
의존 라이브러리나 도구의 버전을 특정 버전으로 고정하는 관리 기법. 예기치 않은 버전 업그레이드로 인한 동작 오류를 방지하고, 환경 재현성을 보장하기 위해 수행한다.
チーム全員が一つの画面に向かって共同でコーディングを行う開発手法の導入であり、知識共有の促進と設計判断の即時合意を通じてコードレビューの後工程を削減する手法である。
팀 전원이 하나의 화면을 향해 공동으로 코딩을 수행하는 개발 기법의 도입이며, 지식 공유의 촉진과 설계 판단의 즉시 합의를 통해 코드 리뷰의 후공정을 삭감하는 기법이다.
マクロ展開時に変数名の衝突を自動的に回避する仕組みを持つマクロ。マクロ内で定義された変数が展開先のスコープの変数と干渉しないため、意図しない名前の競合を防止できる。
매크로 전개 시 변수명 충돌을 자동으로 회피하는 구조를 가진 매크로이다. 매크로 내에서 정의된 변수가 전개 대상 스코프의 변수와 간섭하지 않아 의도하지 않은 이름 충돌을 방지할 수 있다.
ソースコードやデータを字句解析した後、文法規則に従ってツリー構造に変換するコンポーネント。プログラミング言語のコンパイラやインタープリタの中核を担い、構文の妥当性を検証する役割を持つ。
소스 코드나 데이터를 어휘 분석한 후 문법 규칙에 따라 트리 구조로 변환하는 컴포넌트. 프로그래밍 언어의 컴파일러나 인터프리터의 핵심을 담당하며, 구문의 타당성을 검증하는 역할을 가진다.
ソフトウェア開発における普遍的な設計・実装指針。DRY・SOLID・KISSなどの原則があり、保守性・拡張性・可読性の高いコードを実現するための基礎となる考え方。
소프트웨어 개발에서 보편적으로 적용되는 설계 및 구현 지침. DRY·SOLID·KISS 등의 원칙이 있으며, 유지보수성·확장성·가독성이 높은 코드를 실현하기 위한 기본적인 사고방식이다.
リリース準備のために作成する専用ブランチ。リリース候補のバグ修正のみを受け入れ、新機能の追加は行わないことで安定したリリースを実現する。
릴리스 준비를 위해 생성하는 전용 브랜치이다. 릴리스 후보의 버그 수정만 수용하고 새 기능 추가는 하지 않음으로써 안정적인 릴리스를 실현한다.
末尾位置の再帰呼び出しをジャンプ命令に変換し、スタックフレームの消費を防ぐコンパイラ最適化。無限再帰でもスタックオーバーフローが発生しなくなり、関数型言語で特に重要な機能である。
말미 위치의 재귀 호출을 점프 명령으로 변환하여 스택 프레임 소비를 방지하는 컴파일러 최적화이다. 무한 재귀에서도 스택 오버플로우가 발생하지 않게 되며 함수형 언어에서 특히 중요한 기능이다.
コードの理解しにくさを定量的に測定するメトリクスであり、SonarSourceが提案した指標である。循環的複雑度とは異なり、ネストの深さや制御フローの断絶を考慮し、人間がコードを読む際の認知負荷をより正確に反映する。
코드의 이해하기 어려움을 정량적으로 측정하는 메트릭스이며 SonarSource가 제안한 지표이다. 순환적 복잡도와는 달리 중첩의 깊이나 제어 흐름의 단절을 고려하여 사람이 코드를 읽을 때의 인지 부하를 보다 정확히 반영한다.
Gitでリリースバージョンに対応するタグを付与する運用。セマンティックバージョニングに従いリリース履歴の追跡を容易にする。
Git에서 릴리스 버전에 대응하는 태그를 부여하는 운용. 시맨틱 버저닝에 따라 릴리스 이력 추적을 용이하게 한다.
同一条件で実行しても結果が不定に変動するテストを自動的に検出して管理する仕組みであり、タイミング依存や外部依存を特定して修正することでテストスイート全体の信頼性を確保する。
동일 조건으로 실행해도 결과가 부정하게 변동하는 테스트를 자동으로 검출하여 관리하는 구조이며, 타이밍 의존이나 외부 의존을 특정하여 수정함으로써 테스트 스위트 전체의 신뢰성을 확보한다.
型の互換性を名前と明示的な継承・実装の宣言で判断する型システムの方式である。JavaやC#が採用しており、同じ構造を持っていても明示的に関連付けされていない型は互換性がないため、意図しない型の混在を防止できる。
타입의 호환성을 이름과 명시적인 상속·구현의 선언으로 판단하는 타입 시스템의 방식이다. Java나 C#이 채택하고 있으며 같은 구조를 가지고 있어도 명시적으로 관련 부여되지 않은 타입은 호환성이 없어 의도하지 않은 타입의 혼재를 방지할 수 있다.
DDD(ドメイン駆動設計)の概念で、特定のドメインモデルが有効な範囲を明確に区切った境界のこと。境界内では用語や概念の意味が統一される。
DDD(도메인 주도 설계)의 개념으로, 특정 도메인 모델이 유효한 범위를 명확하게 구분한 경계를 말한다. 경계 내에서는 용어와 개념의 의미가 통일된다.
ユーザーが直接操作・視認できる状態で実行される処理。UIの更新やユーザー入力の応答など、即時性が求められるタスクに使用される。
사용자가 직접 조작하거나 볼 수 있는 상태에서 실행되는 처리. UI 업데이트나 사용자 입력 응답 등 즉시성이 요구되는 태스크에 사용된다.
サービス提供者と利用者間で締結する合意書。稼働率・応答時間・障害対応時間など、サービス品質の基準を数値で定義し、違反時のペナルティも明記する。
서비스 제공자와 이용자 간에 체결하는 합의서. 가동률·응답 시간·장애 대응 시간 등 서비스 품질 기준을 수치로 정의하고, 위반 시 패널티도 명시한다.
アプリケーションの実行中にCPU使用率・メモリ消費・関数呼び出し回数などを計測し、パフォーマンスボトルネックを特定するためのツール。
애플리케이션 실행 중 CPU 사용률, 메모리 소비, 함수 호출 횟수 등을 측정하여 성능 병목 지점을 파악하기 위한 도구.
使われていないコードを特定して削除する作業。コードベースの可読性と保守性を向上させ、ビルドサイズの削減にも貢献する。
사용되지 않는 코드를 특정하여 삭제하는 작업. 코드베이스의 가독성과 유지보수성을 향상시키고 빌드 사이즈 절감에도 기여한다.
名前の衝突を避けるために識別子をグループ化する仕組み。プログラミング言語やKubernetesなど幅広い場面で使われ、スコープの管理に役立つ。
이름 충돌을 방지하기 위해 식별자를 그룹화하는 구조. 프로그래밍 언어나 Kubernetes 등 다양한 상황에서 사용되며 스코프 관리에 도움을 준다.
ソースコードのインデントやスペースなどを自動整形するツール。Prettier、Black、gofmtなどが代表例で、チーム内のコードスタイルを統一するために使用される。
소스 코드의 들여쓰기나 공백 등을 자동으로 정리해주는 도구. Prettier, Black, gofmt 등이 대표적이며, 팀 내 코드 스타일을 통일하기 위해 사용된다.
オブジェクトの状態遷移を型で表現し、不正な状態遷移をコンパイル時に検出するパターン。ビルダーの必須フィールド設定順序や、接続のOpen/Close状態の管理に活用される。
객체의 상태 전이를 타입으로 표현하여 부정한 상태 전이를 컴파일 시에 감지하는 패턴이다. 빌더의 필수 필드 설정 순서나 접속의 Open/Close 상태 관리에 활용된다.
Gitリポジトリのホスティングサービス。コードのバージョン管理、Pull RequestやIssueによるチームコラボレーション、CI/CD連携など開発業務全般を支援するプラットフォーム。
Git 리포지토리 호스팅 서비스. 코드 버전 관리, Pull Request 및 Issue를 통한 팀 협업, CI/CD 연동 등 개발 업무 전반을 지원하는 플랫폼.
プログラム実行中に発生する例外やエラーを適切に検知・処理する実装手法。try-catch構文やエラーコードの返却など、障害時の動作を制御しシステムの安定性を確保する。
프로그램 실행 중 발생하는 예외나 에러를 적절히 감지하고 처리하는 구현 기법. try-catch 구문이나 에러 코드 반환 등을 통해 장애 발생 시 동작을 제어하고 시스템 안정성을 확보한다.
チームや開発者が扱う情報量・技術範囲を適切に制限し、生産性を最大化する組織設計の手法である。チームの責任範囲を認知的に処理可能な範囲に制限し、不要な複雑性の排除により集中力と開発品質を向上させる。
팀이나 개발자가 다루는 정보량·기술 범위를 적절히 제한하여 생산성을 최대화하는 조직 설계 기법이다. 팀의 책임 범위를 인지적으로 처리 가능한 범위로 제한하고 불필요한 복잡성의 배제로 집중력과 개발 품질을 향상시킨다.
コンパイル済みバイナリ同士がリンクや呼び出しで正しく連携するための互換性。関数の呼び出し規約、データ型のメモリレイアウト、シンボル名の規則などが一致する必要がある。
컴파일된 바이너리 간에 링크나 호출에서 올바르게 연계하기 위한 호환성이다. 함수 호출 규약, 데이터 타입의 메모리 레이아웃, 심볼명 규칙 등이 일치해야 한다.
データベースへの書き込みとメッセージの発行を単一トランザクションで保証する設計パターンであり、アウトボックステーブルにイベントを記録して非同期でメッセージブローカーに転送する。
데이터베이스에 대한 쓰기와 메시지의 발행을 단일 트랜잭션으로 보장하는 설계 패턴이며, 아웃박스 테이블에 이벤트를 기록하여 비동기로 메시지 브로커에 전송한다.
APIやサービスの利用者(コンシューマー)側がテスト仕様を定義し、その仕様に合わせてプロバイダー側が開発を進める手法。CDC(Consumer Driven Contracts)とも呼ばれる。
API나 서비스의 소비자(컨슈머) 측이 테스트 사양을 정의하고, 그 사양에 맞춰 제공자(프로바이더) 측이 개발을 진행하는 방법론. CDC(Consumer Driven Contracts)라고도 불린다.
コード変更の取り込み依頼。Pull Request。PR。
코드 변경 반영 요청. PR.
コンパイル単位を超えてリンク時に最適化を行う手法。異なるソースファイル間のインライン展開やデッドコード削除が可能になり、プログラム全体の最適化レベルを向上させる。
컴파일 단위를 넘어 링크 시에 최적화를 수행하는 기법이다. 다른 소스 파일 간의 인라인 전개나 데드 코드 삭제가 가능해지며 프로그램 전체의 최적화 수준을 향상시킨다.
既存の型に述語条件を付加して、値の範囲や制約を型レベルで表現する仕組み。正の整数や非空文字列などをコンパイル時に保証でき、Liquid HaskellやScala Refinedで利用される。
기존 타입에 술어 조건을 부가하여 값의 범위나 제약을 타입 수준에서 표현하는 구조이다. 양의 정수나 비어 있지 않은 문자열 등을 컴파일 시에 보장할 수 있으며 Liquid Haskell이나 Scala Refined에서 이용된다.
同一性ではなく属性の値によって等価性が判断される不変のオブジェクトである。金額、住所、メールアドレスなどをモデル化し、ドメインの概念を型安全に表現する。不変であるため副作用がなく、テストやデバッグが容易になる。
동일성이 아닌 속성의 값에 의해 동등성이 판단되는 불변의 객체이다. 금액, 주소, 이메일 주소 등을 모델링하며 도메인의 개념을 타입 안전하게 표현한다. 불변이므로 부작용이 없고 테스트나 디버그가 용이해진다.
CI/CDパイプラインの共通処理をテンプレートやコンポジットアクションとして抽出し、複数のリポジトリで共有する設計であり、パイプライン定義の一貫性を担保して保守コストを削減する。
CI/CD 파이프라인의 공통 처리를 템플릿이나 컴포지트 액션으로 추출하여 복수의 리포지토리에서 공유하는 설계이며, 파이프라인 정의의 일관성을 담보하여 보수 비용을 삭감한다.
特定のイベント(ユーザー操作やシステム通知など)の発生をトリガーとして処理を実行するアーキテクチャ設計パターン。非同期処理やマイクロサービスとの親和性が高い。
특정 이벤트(사용자 조작이나 시스템 알림 등)의 발생을 트리거로 처리를 실행하는 아키텍처 설계 패턴. 비동기 처리 및 마이크로서비스와의 친화성이 높다.
マネジメントに移らずに技術専門職として上位グレードへ進むICトラック(個人貢献者)のシニア職位。複数チームの技術方向性を定め、組織横断的な技術リーダーシップを発揮する。
관리직으로 이동하지 않고 기술 전문직으로 상위 등급으로 나아가는 IC 트랙(개인 기여자)의 시니어 직위. 여러 팀의 기술 방향성을 정하고, 조직 횡단적인 기술 리더십을 발휘한다.
ソフトウェアやシステム、またはオブジェクトが生成されてから破棄されるまでの一連の過程。開発・運用・保守・廃止などの各フェーズを含む。
소프트웨어, 시스템 또는 객체가 생성되어 소멸될 때까지의 일련의 과정. 개발·운영·유지보수·폐기 등의 각 단계를 포함한다.
開発者がツール・API・ドキュメント・ワークフローを使う際の使いやすさや満足度の総称。DX(Developer Experience)とも呼ばれ、生産性や開発効率に直結する重要な概念。
개발자가 도구, API, 문서, 워크플로우를 사용할 때의 편의성과 만족도를 총칭하는 개념. DX(Developer Experience)라고도 불리며, 생산성과 개발 효율에 직결되는 중요한 개념이다.
システムの設計方針や技術選定を複数の開発者で評価・議論するプロセス。重大な設計ミスを未然に防ぎ、スケーラビリティや保守性を確保するために行う。
시스템의 설계 방침이나 기술 선정을 복수의 개발자가 평가·논의하는 프로세스이다. 중대한 설계 실수를 사전에 방지하고 확장성이나 유지보수성을 확보하기 위해 수행한다.
ストリームアラインド、イネイブリング、プラットフォーム、コンプリケイテッドサブシステムの4類型でチーム構造を設計する手法。認知負荷の最小化とチーム間連携の最適化を目指す。
스트림 얼라인드, 이네이블링, 플랫폼, 컴플리케이티드 서브시스템의 4유형으로 팀 구조를 설계하는 기법이다. 인지 부하의 최소화와 팀 간 연계의 최적화를 목표로 한다.
実行時にはデータとして存在しないが、コンパイル時の型チェックにのみ使用される型パラメータ。状態や単位をコンパイル時に区別して、不正な操作をコンパイルエラーとして検出する型安全な設計に活用される。
실행 시에는 데이터로 존재하지 않지만, 컴파일 시의 타입 체크에만 사용되는 타입 파라미터. 상태나 단위를 컴파일 시에 구별하여 부정한 조작을 컴파일 에러로 검출하는 타입 안전한 설계에 활용된다.
リポジトリの特定ディレクトリやファイルに対してレビュー責任を持つ開発者を指定する仕組み。変更時に自動でレビュアーとして割り当てられ、コード品質の維持に貢献する。
리포지토리의 특정 디렉토리나 파일에 대해 리뷰 책임을 가진 개발자를 지정하는 구조이다. 변경 시 자동으로 리뷰어로 할당되어 코드 품질 유지에 기여한다.
プログラムの実行フローやデータの流れを静的・動的に解析する手法。バグ検出、パフォーマンス改善、セキュリティ脆弱性の特定などに活用される。
프로그램의 실행 흐름이나 데이터의 흐름을 정적·동적으로 분석하는 기법. 버그 검출, 성능 개선, 보안 취약점 식별 등에 활용된다.
同じ引数に対して常に同じ結果を返し、副作用を持たない性質。関数型プログラミングの中核概念で、テストや並列処理の安全性を高める。
동일한 인수에 대해 항상 같은 결과를 반환하고 부작용이 없는 성질. 함수형 프로그래밍의 핵심 개념으로, 테스트와 병렬 처리의 안전성을 높인다.
サービスの信頼性を数値で定義する目標値。例えば「月間稼働率99.9%」のように設定し、SLAの基準となる内部目標として運用チームが管理する指標。
서비스 신뢰성을 수치로 정의하는 목표값. 예를 들어 '월간 가동률 99.9%'와 같이 설정하며, SLA의 기준이 되는 내부 목표로 운영팀이 관리하는 지표.
型レベルの関数として、入力型から出力型への対応関係を定義する仕組み。Haskellの型族やRustの関連型が代表例で、型クラスに関連する型を柔軟に計算・選択できる。
타입 수준의 함수로서 입력 타입에서 출력 타입으로의 대응 관계를 정의하는 구조이다. Haskell의 타입 패밀리나 Rust의 관련 타입이 대표적이며 타입 클래스에 관련된 타입을 유연하게 계산·선택할 수 있다.
コンパイル時にソースコードを自動生成する仕組み。C#のSource GeneratorやKotlinのKSPが代表例で、ボイラープレートコードの削減やリフレクションの排除に活用される。
컴파일 시에 소스 코드를 자동 생성하는 구조이다. C#의 Source Generator나 Kotlin의 KSP가 대표적이며 보일러플레이트 코드 삭감이나 리플렉션 배제에 활용된다.
コンパイラがコンパイル時に定数式を事前評価して結果に置き換える最適化。3 * 4 * 5を60に置換するように、不要な実行時計算を排除してコードの効率を向上させる基本的な最適化手法である。
컴파일러가 컴파일 시에 상수식을 사전 평가하여 결과로 치환하는 최적화이다. 3 * 4 * 5를 60으로 치환하듯 불필요한 실행 시 계산을 배제하여 코드 효율을 향상시키는 기본적인 최적화 기법이다.
ソフトウェア開発組織のパフォーマンスを定量化する指標群。DORAメトリクス・SPACEフレームワーク・サイクルタイム・PRサイズ等を組み合わせてエンジニアリング組織を客観評価する。
소프트웨어 개발 조직의 성능을 정량화하는 지표군. DORA 메트릭스·SPACE 프레임워크·사이클 타임·PR 사이즈 등을 조합하여 엔지니어링 조직을 객관적으로 평가한다.
親クラスで処理の骨格を定義し、具体的な処理をサブクラスに委ねるデザインパターン。コードの再利用性を高め、アルゴリズムの構造を統一できる。
부모 클래스에서 처리의 골격을 정의하고, 구체적인 처리를 서브클래스에 위임하는 디자인 패턴. 코드 재사용성을 높이고 알고리즘 구조를 통일할 수 있다.
複数プロジェクトを単一リポジトリで管理する運用方法。TurborepoやNxなどのツールを活用しビルド効率とコード共有を最適化する。
여러 프로젝트를 단일 리포지토리로 관리하는 운용 방법. Turborepo나 Nx 등의 도구를 활용하여 빌드 효율과 코드 공유를 최적화한다.
ビジネスロジックを中心に置き、外部依存(DB・UIなど)をポートとアダプターで分離する設計パターンの実装。テスト容易性と保守性が高まる。
비즈니스 로직을 중심에 두고 외부 의존성(DB·UI 등)을 포트와 어댑터로 분리하는 설계 패턴 구현 방식. 테스트 용이성과 유지보수성이 향상된다.
継続的な変化に対応できるよう、段階的・反復的にシステム設計を進化させるアーキテクチャ手法。フィットネス関数を用いて品質特性を継続的に検証しながら設計を改善していく。
지속적인 변화에 대응할 수 있도록 단계적·반복적으로 시스템 설계를 발전시키는 아키텍처 기법. 피트니스 함수를 활용해 품질 특성을 지속적으로 검증하면서 설계를 개선해 나간다.
Gitのブランチ戦略の一つで、main・develop・feature・release・hotfixブランチを使い、チーム開発のワークフローを体系化したモデル。
Git 브랜치 전략 중 하나로, main·develop·feature·release·hotfix 브랜치를 활용해 팀 개발 워크플로우를 체계화한 모델.
関数の最後の操作が再帰呼び出しである場合に、コンパイラがスタックフレームを再利用する最適化である。スタックの消費を定数に抑え、無限再帰に近い深さの処理でもスタックオーバーフローを防止する。
함수의 마지막 조작이 재귀 호출인 경우 컴파일러가 스택 프레임을 재사용하는 최적화이다. 스택 소비를 상수로 억제하여 무한 재귀에 가까운 깊이의 처리에서도 스택 오버플로를 방지한다.
Read-Eval-Print Loopの略で、入力・評価・出力を対話的に繰り返す実行環境。Node.jsやPythonのインタラクティブシェルが代表例で、コードの動作確認やデバッグを即座に行える開発支援ツールである。
Read-Eval-Print Loop의 약어로, 입력·평가·출력을 대화적으로 반복하는 실행 환경. Node.js나 Python의 인터랙티브 셸이 대표적인 예로, 코드의 동작 확인이나 디버그를 즉시 행할 수 있는 개발 지원 도구이다.
互換性のないインターフェース同士を接続するデザインパターン。既存クラスを変更せずに新しいインターフェースに適合させる際に使用される構造パターンの一つ。
호환되지 않는 인터페이스를 연결하는 디자인 패턴. 기존 클래스를 수정하지 않고 새로운 인터페이스에 맞게 적용할 때 사용되는 구조 패턴 중 하나.
システムの設定情報をコードとして管理し、環境間の一貫性を保つ手法。AnsibleやTerraformなどのツールを用いて、設定のドリフトを防止する。
시스템의 설정 정보를 코드로 관리하고 환경 간 일관성을 유지하는 기법이다. Ansible이나 Terraform 등의 도구를 사용하여 설정 드리프트를 방지한다.
ビジネスルールを再利用可能なオブジェクトとしてカプセル化する設計パターンの実装であり、複雑な条件の組み合わせをAND・OR・NOTの論理演算で合成して検査ロジックを表現する。
비즈니스 규칙을 재사용 가능한 객체로서 캡슐화하는 설계 패턴의 구현이며, 복잡한 조건의 조합을 AND, OR, NOT의 논리 연산으로 합성하여 검사 로직을 표현한다.
JavaScript/TypeScript向けの高速なフォーマッターとリンター。PrettierとESLintの代替として、Rustで実装されており大幅に高速な処理を実現する。
JavaScript/TypeScript용 고속 포매터 및 린터. Prettier와 ESLint의 대안으로, Rust로 구현되어 훨씬 빠른 처리를 실현한다.
メッセージキューを介した非同期通信においてメッセージの処理順序を保証する設計であり、パーティションキーの設計やシーケンス番号の付与により因果関係のある処理の順序を維持する。
메시지 큐를 통한 비동기 통신에서 메시지의 처리 순서를 보장하는 설계이며, 파티션 키의 설계나 시퀀스 번호의 부여에 의해 인과 관계가 있는 처리의 순서를 유지한다.
プロジェクトの初期構成やパターン的な処理に必要な定型コード。設定ファイル、認証処理、エラーハンドリングなど繰り返し記述される部分を指し、テンプレート化や自動生成で削減することが推奨される。
프로젝트의 초기 구성이나 패턴적인 처리에 필요한 정형 코드. 설정 파일, 인증 처리, 에러 핸들링 등 반복적으로 기술되는 부분을 가리키며, 템플릿화나 자동 생성으로 삭감하는 것이 권장된다.
データを格納する箱。Variable。
데이터를 저장하는 상자. Variable.
他のチームが新しい技術やスキルを習得するのを支援する専門チームである。Team Topologiesで定義された4つのチームタイプの一つであり、技術的な障壁を取り除き、ストリームアラインドチームの自律的な開発を加速させる。
다른 팀이 새로운 기술이나 스킬을 습득하는 것을 지원하는 전문 팀이다. Team Topologies에서 정의된 4가지 팀 타입 중 하나이며 기술적 장벽을 제거하여 스트림 정렬 팀의 자율적 개발을 가속화시킨다.
ログをJSON等の機械可読フォーマットで出力する手法。キーと値のペアで記録することで、ログ収集・検索・分析ツールとの連携が容易になる。
로그를 JSON 등 기계가 읽을 수 있는 형식으로 출력하는 방법. 키-값 쌍으로 기록함으로써 로그 수집·검색·분석 도구와의 연동이 용이해진다.
老朽化した既存システムを最新技術・アーキテクチャに置き換えるプロセス。マイクロサービス化やクラウド移行を伴うことが多く、技術的負債の解消を目的とする。
노후화된 기존 시스템을 최신 기술 및 아키텍처로 교체하는 프로세스. 마이크로서비스 전환이나 클라우드 이전을 수반하는 경우가 많으며, 기술 부채 해소를 목적으로 한다.
システムやコンポーネント間の接続仕様を定義する設計工程。APIの入出力、画面UI、外部連携の仕様を明確化し、開発チーム間の認識齟齬を防ぐ役割を担う。
시스템이나 컴포넌트 간의 연결 사양을 정의하는 설계 과정. API 입출력, 화면 UI, 외부 연동 사양을 명확히 하여 개발 팀 간의 인식 차이를 방지하는 역할을 한다.
システム障害が発生してから復旧するまでの平均時間を示す指標。MTTRが短いほど障害対応能力が高く、サービスの可用性向上に直結する。
시스템 장애 발생 후 복구까지 걸리는 평균 시간을 나타내는 지표. MTTR이 짧을수록 장애 대응 능력이 높으며, 서비스 가용성 향상과 직결된다.
ビジネスロジックを外部依存から分離するアーキテクチャパターン。Hexagonal Architectureとも呼ばれ、ポート(インターフェース)とアダプター(実装)で構成される。
비즈니스 로직을 외부 의존성으로부터 분리하는 아키텍처 패턴. Hexagonal Architecture라고도 불리며, 포트(인터페이스)와 어댑터(구현)로 구성된다.
複数のコミットを一つにまとめてマージする手法。フィーチャーブランチの細かいコミット履歴を整理し、メインブランチの履歴を読みやすく保つことができる。
여러 커밋을 하나로 합쳐서 머지하는 기법이다. 피처 브랜치의 세부 커밋 이력을 정리하고 메인 브랜치의 이력을 읽기 쉽게 유지할 수 있다.
読みやすく、理解・修正・拡張がしやすいコードのこと。適切な命名、単一責任原則、重複排除などを意識して書かれた保守性の高いコードを指す。
읽기 쉽고 이해·수정·확장이 용이한 코드를 말한다. 적절한 네이밍, 단일 책임 원칙, 중복 제거 등을 고려하여 작성된 유지보수성 높은 코드를 의미한다.
変数の型をコンパイル時に決定するプログラミング言語。型エラーを実行前に検出でき、Java・TypeScript・Rustなどが代表例。大規模開発での安全性が高い。
변수의 타입을 컴파일 시점에 결정하는 프로그래밍 언어. 타입 오류를 실행 전에 감지할 수 있으며, Java・TypeScript・Rust 등이 대표적인 예다. 대규모 개발에서 안전성이 높다.
多重継承を使わずに、複数のクラスの機能を1つのクラスに組み込む手法。特定の振る舞いを再利用可能な単位として定義し、必要なクラスに合成することでコードの再利用性を高める。
다중 상속을 사용하지 않고 복수의 클래스 기능을 하나의 클래스에 편입하는 수법. 특정 동작을 재사용 가능한 단위로 정의하고, 필요한 클래스에 합성함으로써 코드의 재사용성을 높인다.
自社システム外部のサービスが提供するAPIのこと。決済・地図・認証など外部サービスの機能をHTTPリクエスト経由で利用でき、開発効率を大幅に向上させる。
자사 시스템 외부 서비스가 제공하는 API를 말한다. 결제·지도·인증 등 외부 서비스의 기능을 HTTP 요청을 통해 활용할 수 있어 개발 효율을 크게 향상시킨다.
システム障害の検知から復旧完了までの平均時間を体系的に短縮するためのアプローチであり、自動検知と自動復旧の仕組みやランブックの整備を組み合わせてインシデント対応を高速化する。
시스템 장애의 검지부터 복구 완료까지의 평균 시간을 체계적으로 단축하기 위한 접근법이며, 자동 검지와 자동 복구의 구조나 런북의 정비를 조합하여 인시던트 대응을 고속화한다.
ソースコードをコンパイルした中間表現で、JVMや.NET CLRなどの仮想マシン上で実行される。プラットフォーム非依存の実行を実現する。
소스 코드를 컴파일한 중간 표현으로, JVM이나 .NET CLR 등의 가상 머신 위에서 실행된다. 플랫폼 비의존적인 실행을 가능하게 한다.
APIキーやパスワードなどの機密情報がソースコードやログに混入していないかを自動検知する仕組み。git-secretsやTruffleHogを使い、コミット前やCI段階で検出する。
API 키나 패스워드 등의 기밀 정보가 소스 코드나 로그에 혼입되어 있지 않은지 자동 검지하는 구조이다. git-secrets나 TruffleHog을 사용하여 커밋 전이나 CI 단계에서 검출한다.
nullの代わりに何もしない振る舞いを持つオブジェクトを返すデザインパターン。nullチェックの散在を排除し、メソッド呼び出し時のNullPointerExceptionを防止してコードの堅牢性を向上させる。
null 대신 아무것도 하지 않는 동작을 가진 객체를 반환하는 디자인 패턴. null 체크의 산재를 배제하고, 메서드 호출 시의 NullPointerException을 방지하여 코드의 견고성을 향상시킨다.
本番想定のトラフィックでシステムの性能限界を測定するための計画。シナリオ設計、目標値設定、テストツール選定を事前に行う。
프로덕션 예상 트래픽으로 시스템 성능 한계를 측정하기 위한 계획. 시나리오 설계, 목표치 설정, 테스트 도구 선정을 사전에 수행한다.
型パラメータの継承関係における互換性の方向を表す概念。共変性は親型から子型への置換を許容し、反変性は逆方向の置換を許容する。ジェネリクスやコレクション型の安全な利用に不可欠である。
타입 파라미터의 상속 관계에서의 호환성 방향을 나타내는 개념. 공변성은 부모 타입에서 자식 타입으로의 치환을 허용하고, 반변성은 역방향의 치환을 허용한다. 제네릭스나 컬렉션 타입의 안전한 이용에 불가결하다.
オブジェクトをツリー構造で組み合わせ、個々のオブジェクトとその集合を同一のインターフェースで扱えるようにするGoFデザインパターンの一種。
객체를 트리 구조로 구성하여 개별 객체와 그 집합을 동일한 인터페이스로 다룰 수 있게 하는 GoF 디자인 패턴의 하나.
プログラムが実際に実行されている状態や時間帯のこと。コンパイル時と対比して使われ、実行時エラーや実行環境を指す文脈でよく登場する。
프로그램이 실제로 실행되고 있는 상태나 시간대를 의미한다. 컴파일 타임과 대비되어 사용되며, 런타임 오류나 실행 환경을 가리키는 맥락에서 자주 등장한다.
外部から見た動作を変えずにコードの内部構造を整理・改善すること。可読性や保守性の向上、技術的負債の解消を目的として行われる開発手法。
외부 동작을 변경하지 않고 코드의 내부 구조를 정리·개선하는 것. 가독성과 유지보수성 향상, 기술 부채 해소를 목적으로 수행되는 개발 기법.
ビジネスルールをオブジェクトとしてカプセル化し、AND/OR/NOTで合成可能にするデザインパターンである。条件判定ロジックの再利用性と可読性を高め、複雑なフィルタリングや検証ルールの構築に活用される。
비즈니스 규칙을 객체로 캡슐화하여 AND/OR/NOT으로 합성 가능하게 하는 디자인 패턴이다. 조건 판정 로직의 재사용성과 가독성을 높이고 복잡한 필터링이나 검증 규칙의 구축에 활용된다.
コードレビューで受けた指摘事項を修正・反映する作業。指摘の意図を正しく理解し適切に対応することがチーム開発では重要。
코드 리뷰에서 받은 지적 사항을 수정·반영하는 작업. 지적의 의도를 올바르게 이해하고 적절히 대응하는 것이 팀 개발에서는 중요하다.
テストコードで期待値と実際値の比較を行うための関数群を提供するライブラリ。expectやassertなどの直感的なAPIで、テストの可読性と表現力を向上させる。
테스트 코드에서 기대값과 실제값의 비교를 수행하기 위한 함수군을 제공하는 라이브러리이다. expect나 assert 등의 직관적인 API로 테스트의 가독성과 표현력을 향상시킨다.
本番環境へのデプロイ前に責任者の承認を得るワークフロー。GitHub Actionsのマニュアル承認ゲートなどで実装することが多い。
프로덕션 환경 배포 전 책임자의 승인을 받는 워크플로우. GitHub Actions의 수동 승인 게이트 등으로 구현하는 경우가 많다.
入力データの各プロパティに対して型・範囲・フォーマットなどの制約を宣言的に定義し検証する手法。ZodやYupなどのスキーマ定義ライブラリを用いて、ランタイムでのデータ整合性を型安全に保証する。
입력 데이터의 각 프로퍼티에 대해 타입·범위·포맷 등의 제약을 선언적으로 정의하고 검증하는 수법. Zod나 Yup 등의 스키마 정의 라이브러리를 사용하여 런타임에서의 데이터 정합성을 타입 안전하게 보증한다.
デプロイ頻度・リードタイム・変更失敗率・復旧時間のDORA四大指標を自動収集して可視化する基盤であり、データに基づく開発プロセスの健全性評価と継続的改善の意思決定を支援する。
배포 빈도, 리드 타임, 변경 실패율, 복구 시간의 DORA 4대 지표를 자동 수집하여 시각화하는 기반이며, 데이터에 기반한 개발 프로세스의 건전성 평가와 지속적 개선의 의사결정을 지원한다.
プロジェクトで使用する技術スタックを選ぶ際の評価基準。パフォーマンス、学習コスト、コミュニティの活発さなどを総合的に判断する。
프로젝트에서 사용할 기술 스택을 선택할 때의 평가 기준. 성능, 학습 비용, 커뮤니티 활성도 등을 종합적으로 판단한다.
複数のスレッドを並行して実行するプログラミング手法。CPUの処理能力を最大限に活用し、パフォーマンス向上や応答性の改善を目的とする。競合状態やデッドロックなど排他制御の考慮が必要。
여러 스레드를 병렬로 실행하는 프로그래밍 기법. CPU 처리 성능을 최대한 활용하여 성능 향상과 응답성 개선을 목적으로 하며, 경쟁 상태와 데드락 등 배타 제어에 대한 고려가 필요하다.
プロジェクトが使用する外部ライブラリの脆弱性やライセンス違反を自動的にスキャンして報告する仕組みであり、サプライチェーンセキュリティの強化とコンプライアンス遵守を継続的に支援する。
프로젝트가 사용하는 외부 라이브러리의 취약성이나 라이선스 위반을 자동으로 스캔하여 보고하는 구조이며, 공급망 보안의 강화와 컴플라이언스 준수를 지속적으로 지원한다.
二分探索を用いてバグが混入したコミットを特定するGitコマンドの活用法。大量のコミット履歴から効率的に問題箇所を絞り込める。
이분 탐색을 이용하여 버그가 혼입된 커밋을 특정하는 Git 명령어 활용법. 대량의 커밋 이력에서 효율적으로 문제 개소를 좁혀갈 수 있다.
APIの設計・仕様定義をシステム開発の最初のステップとして行うアプローチ。フロントエンドとバックエンドの並行開発やマイクロサービス化を促進する。
API 설계 및 명세 정의를 시스템 개발의 첫 번째 단계로 진행하는 방식. 프론트엔드와 백엔드의 병행 개발 및 마이크로서비스화를 촉진한다.
サービスレベル目標を明確に定義し、その達成度を自動的に計測・可視化する基盤であり、エラーバジェットの消費状況に基づいてリリース速度と信頼性のバランスを制御する仕組みである。
서비스 레벨 목표를 명확히 정의하고 그 달성도를 자동으로 계측하여 시각화하는 기반이며, 에러 버짓의 소비 상황에 기반하여 릴리스 속도와 신뢰성의 균형을 제어하는 구조이다.
実行を途中で一時停止し、値を逐次返せる特殊な関数。`function*`構文で定義し、`yield`で値を返す。イテレーターを簡潔に実装でき、遅延評価や非同期処理にも活用される。
실행 도중 일시 중단하고 값을 순차적으로 반환할 수 있는 특수 함수. `function*` 문법으로 정의하며 `yield`로 값을 반환한다. 이터레이터를 간결하게 구현할 수 있고 지연 평가나 비동기 처리에도 활용된다.
オブジェクト指向設計において、継承の代わりに複数のオブジェクトを組み合わせてクラスの機能を構成する設計手法。「継承より合成を優先」の原則で知られる。
객체지향 설계에서 상속 대신 여러 객체를 조합하여 클래스의 기능을 구성하는 설계 기법으로, '상속보다 합성을 우선하라'는 원칙으로 알려져 있다.
アプリケーションやシステムの動作を制御するための設定情報。環境変数、設定ファイル(.env、yaml等)として管理され、環境ごとに切り替えて使用することが多い。
애플리케이션이나 시스템의 동작을 제어하기 위한 설정 정보. 환경 변수, 설정 파일(.env, yaml 등)로 관리되며, 환경별로 전환하여 사용하는 경우가 많다.
ループの反復回数を減らし、ループ本体を複数回分展開するコンパイラ最適化手法。分岐予測のペナルティやループカウンタの更新オーバーヘッドを削減し、パイプライン効率を向上させる。
루프 반복 횟수를 줄이고 루프 본체를 여러 회분 전개하는 컴파일러 최적화 기법이다. 분기 예측 페널티나 루프 카운터 갱신 오버헤드를 삭감하고 파이프라인 효율을 향상시킨다.
CI/CDパイプラインのステージ構成、並列化、キャッシュ活用を見直して全体の実行時間を短縮する最適化。不要なステップの削除とボトルネック特定により効率を向上させる。
CI/CD 파이프라인의 스테이지 구성, 병렬화, 캐시 활용을 재검토하여 전체 실행 시간을 단축하는 최적화이다. 불필요한 단계의 삭제와 병목 특정으로 효율을 향상시킨다.
急激な負荷の増大(スパイク)をシステムに与え、パフォーマンスや安定性を検証するテスト手法。負荷テストの一種で、瞬間的なトラフィック急増への耐性を確認する。
시스템에 급격한 부하 증가(스파이크)를 가하여 성능 및 안정성을 검증하는 테스트 기법. 부하 테스트의 일종으로, 순간적인 트래픽 급증에 대한 내성을 확인한다.
処理のまとまり。Function。
처리의 묶음. Function.
ソースコードをコンパイルせず、1行ずつ逐次解釈して実行するプログラム。PythonやRubyなどのスクリプト言語で採用され、即時実行が可能だが実行速度はコンパイラ方式より遅い傾向がある。
소스 코드를 컴파일하지 않고 한 줄씩 순차적으로 해석하여 실행하는 프로그램. Python이나 Ruby 같은 스크립트 언어에서 채택되며, 즉시 실행이 가능하지만 실행 속도는 컴파일러 방식보다 느린 경향이 있다.
出力結果のスナップショットを保存して変更時に差分を自動検出する運用であり、UIレンダリング結果やAPIレスポンスの意図しない変更を素早く発見してリグレッションを防止する。
출력 결과의 스냅샷을 저장하여 변경 시 차분을 자동 검출하는 운용이며, UI 렌더링 결과나 API 응답의 의도하지 않은 변경을 빠르게 발견하여 리그레션을 방지한다.
リクエストを処理できるオブジェクトをチェーン状に連結し、順番に処理を試みるデザインパターンである。ミドルウェアパイプラインやイベントハンドリング、承認フローなどで広く使われ、処理の追加・変更が容易になる。
요청을 처리할 수 있는 객체를 체인 형태로 연결하여 순서대로 처리를 시도하는 디자인 패턴이다. 미들웨어 파이프라인이나 이벤트 핸들링, 승인 플로우 등에서 널리 사용되며 처리의 추가·변경이 용이해진다.
コンパイラが不要なオブジェクトのコピーやムーブを省略する最適化。C++17では特定条件で保証される必須最適化となり、戻り値の不要なコピーを排除してパフォーマンスを向上させる。
컴파일러가 불필요한 객체 복사나 무브를 생략하는 최적화이다. C++17에서는 특정 조건에서 보장되는 필수 최적화가 되어 반환값의 불필요한 복사를 배제하여 성능을 향상시킨다.
関数の冒頭で異常条件を早期にチェックし、条件を満たさない場合は即座にreturnやthrowで処理を終了するコーディングパターン。ネストの深い条件分岐を避け、コードの可読性と保守性を向上させる。
함수의 서두에서 이상 조건을 조기에 체크하고, 조건을 충족하지 않는 경우 즉시 return이나 throw로 처리를 종료하는 코딩 패턴. 깊은 네스트의 조건 분기를 피하고, 코드의 가독성과 유지보수성을 향상시킨다.
ブラウザやIDEなどのアプリケーションに後から追加できる機能モジュール。プラグインや拡張機能をインストールすることで、デフォルト機能を超えた操作や自動化が可能になる。
브라우저나 IDE 등의 애플리케이션에 나중에 추가할 수 있는 기능 모듈. 플러그인이나 확장 기능을 설치함으로써 기본 기능을 넘어선 조작이나 자동화가 가능해진다.
配布するソフトウェアやアーティファクトの改ざんを防ぐためにデジタル署名を付与・検証する仕組み。サプライチェーン攻撃の対策として重要。
배포하는 소프트웨어나 아티팩트의 변조를 방지하기 위해 디지털 서명을 부여·검증하는 구조. 공급망 공격 대책으로 중요하다.
実行時にモジュールやクラスの挙動を動的に変更するプログラミング手法。ライブラリのバグ修正やテスト時のモック差し替えに使われるが、予期しない副作用を招くリスクがあるため慎重な利用が求められる。
실행 시에 모듈이나 클래스의 동작을 동적으로 변경하는 프로그래밍 수법. 라이브러리의 버그 수정이나 테스트 시의 모크 교체에 사용되지만, 예기치 않은 부작용을 초래하는 리스크가 있어 신중한 이용이 요구된다.
製品やシステムの試作品・初期モデルのこと。本開発前に機能や設計を検証するために作成され、ユーザーフィードバックの収集や要件の確認に活用される。
제품이나 시스템의 시제품·초기 모델을 의미한다. 본격적인 개발 전에 기능과 설계를 검증하기 위해 제작되며, 사용자 피드백 수집 및 요구사항 확인에 활용된다.
ソースコードの変更頻度やバグ発生率をヒートマップとして可視化し、技術的負債やリスクの高い箇所を特定する分析手法。CodeSceneなどのツールで実現する。
소스 코드의 변경 빈도나 버그 발생률을 히트맵으로 가시화하여 기술적 부채나 리스크가 높은 부분을 특정하는 분석 기법이다. CodeScene 등의 도구로 실현한다.
ソフトウェアを複数の言語・地域に対応できるよう設計・実装するプロセス。i18nとも呼ばれ、文字コード・日付・通貨形式などを柔軟に切り替えられる構造にすることが目的。
소프트웨어를 여러 언어와 지역에 대응할 수 있도록 설계·구현하는 프로세스. i18n이라고도 불리며, 문자 코드·날짜·통화 형식 등을 유연하게 전환할 수 있는 구조로 만드는 것이 목적.
システム全体の大局的な構造設計のこと。マイクロサービスやモジュール間の関係、通信方式、デプロイ戦略など高レベルな設計判断を指す。
시스템 전체의 큰 그림을 그리는 구조 설계로, 마이크로서비스나 모듈 간의 관계, 통신 방식, 배포 전략 등 고수준의 설계 결정을 의미한다.
アプリケーションや処理の起動・初期化にかかる時間を短縮する最適化手法。遅延初期化やキャッシュ活用などで起動パフォーマンスを改善する。
애플리케이션이나 처리의 기동·초기화에 걸리는 시간을 단축하는 최적화 기법. 지연 초기화나 캐시 활용 등으로 기동 성능을 개선한다.
システムやアーキテクチャが、負荷増大やユーザー数増加に応じて柔軟にキャパシティを拡大できる性質。スケーラビリティとも呼ばれる。
시스템이나 아키텍처가 부하 증가나 사용자 수 증가에 따라 유연하게 용량을 확장할 수 있는 특성. 스케일러빌리티라고도 불린다.
プログラム実行時にバイトコードをネイティブコードに変換する技術。事前コンパイルと比べ起動は遅いが、実行時最適化により高いパフォーマンスを発揮する。JavaやJavaScriptエンジンで広く採用。
프로그램 실행 시 바이트코드를 네이티브 코드로 변환하는 기술. 사전 컴파일보다 시작이 느리지만, 실행 시 최적화로 높은 성능을 발휘한다. Java 및 JavaScript 엔진에서 널리 채택되고 있다.
環境変数を`.env`ファイルに記述し、アプリケーション起動時に読み込むライブラリ。APIキーやDB接続情報などの機密情報をコードから分離して管理するために広く使われる。
환경 변수를 `.env` 파일에 작성하고 애플리케이션 실행 시 로드하는 라이브러리. API 키나 DB 접속 정보 등 민감한 정보를 코드에서 분리하여 관리하기 위해 널리 사용된다.
ライブラリの依存関係が複雑に絡み合い、バージョンの競合や互換性の問題が解決困難になる状態を指す。ダイヤモンド依存問題やバージョン制約の矛盾が代表的であり、ロックファイルやワークスペース機能で回避を図る。
라이브러리의 의존 관계가 복잡하게 얽혀 버전 충돌이나 호환성 문제가 해결 곤란해지는 상태를 가리킨다. 다이아몬드 의존 문제나 버전 제약의 모순이 대표적이며 록 파일이나 워크스페이스 기능으로 회피를 도모한다.
プログラム中の値や変数に型を割り当てるルール体系。型チェックにより実行前にバグを検出でき、TypeScriptやJavaなどの静的型付け言語で特に重要な概念。
프로그램의 값이나 변수에 타입을 할당하는 규칙 체계. 타입 검사를 통해 실행 전에 버그를 감지할 수 있으며, TypeScript나 Java 같은 정적 타입 언어에서 특히 중요한 개념.
コードの品質や複雑性を定量的に測定する指標群。循環的複雑度、コード行数、重複率などを計測し、保守性や可読性の向上に活用する。
코드의 품질과 복잡성을 정량적으로 측정하는 지표 모음. 순환 복잡도, 코드 라인 수, 중복률 등을 측정하여 유지보수성과 가독성 향상에 활용한다.
オブジェクト指向プログラミングの概念で、同じインターフェースや親クラスを持つ異なるクラスのオブジェクトが、それぞれ独自の方法でメソッドを実装・動作できる仕組み。
객체 지향 프로그래밍의 개념으로, 동일한 인터페이스나 부모 클래스를 가진 서로 다른 클래스의 객체가 각각 고유한 방식으로 메서드를 구현하고 동작할 수 있는 메커니즘.
DDD(ドメイン駆動設計)における設計パターンで、関連するエンティティや値オブジェクトをひとまとまりのユニットとして扱い、整合性を保つ境界を定義する手法。
DDD(도메인 주도 설계)에서 사용되는 설계 패턴으로, 관련된 엔티티와 값 객체를 하나의 단위로 묶어 일관성을 유지하는 경계를 정의하는 방법이다.
新しいバージョンのシステムやAPIが、旧バージョンとも問題なく動作する性質。既存クライアントを壊さずにアップデートできるかを示す重要な設計指標。
새로운 버전의 시스템이나 API가 이전 버전과도 문제없이 동작하는 특성. 기존 클라이언트를 손상시키지 않고 업데이트할 수 있는지를 나타내는 중요한 설계 지표.
テストコードの検出・実行・結果集計を自動的に行うツール。JestやpytestなどがCI環境で使われ、並列実行やフィルタリングの機能でテスト効率を向上させる。
테스트 코드의 검출·실행·결과 집계를 자동으로 수행하는 도구이다. Jest나 pytest 등이 CI 환경에서 사용되며 병렬 실행이나 필터링 기능으로 테스트 효율을 향상시킨다.
データストリームと変化の伝播を中心に設計するプログラミングパラダイム。非同期処理やイベント駆動型システムの実装に適しており、RxJSやReactorなどのライブラリが広く使われる。
데이터 스트림과 변화의 전파를 중심으로 설계하는 프로그래밍 패러다임. 비동기 처리 및 이벤트 기반 시스템 구현에 적합하며, RxJS나 Reactor 같은 라이브러리가 널리 사용된다.
Gitなどのバージョン管理システムで、変更内容をローカルリポジトリに記録する操作。コミットメッセージとともに変更履歴として保存される。
Git 등의 버전 관리 시스템에서 변경 사항을 로컬 리포지토리에 기록하는 작업. 커밋 메시지와 함께 변경 이력으로 저장된다.
CI/CDパイプラインで依存関係やビルド成果物のキャッシュを効果的に活用し、実行時間を短縮する戦略。キャッシュキーの設計、有効期限管理、レイヤーキャッシュの活用を含む。
CI/CD 파이프라인에서 의존 관계나 빌드 산출물의 캐시를 효과적으로 활용하여 실행 시간을 단축하는 전략이다. 캐시 키의 설계, 유효 기한 관리, 레이어 캐시의 활용을 포함한다.
ローカルやクラウド上に開発に必要なツール・ライブラリ・設定を整える作業。Dev Containerやスクリプト化で再現性を確保する。
로컬이나 클라우드에 개발에 필요한 도구, 라이브러리, 설정을 갖추는 작업. Dev Container나 스크립트화로 재현성을 확보한다.
型パラメータの継承関係が、その型パラメータを含む型では逆方向に引き継がれる性質である。Consumer<Animal>がConsumer<Cat>のサブタイプとなる関係を指し、関数の引数型などで活用される。
타입 파라미터의 상속 관계가 그 타입 파라미터를 포함하는 타입에서는 역방향으로 계승되는 성질이다. Consumer<Animal>이 Consumer<Cat>의 서브타입이 되는 관계를 가리키며 함수의 인수 타입 등에서 활용된다.
複数のプロジェクトやパッケージを単一のリポジトリで管理する手法。コード共有や依存関係の一元管理が容易になり、大規模開発チームで採用されることが多い。
여러 프로젝트나 패키지를 단일 저장소에서 관리하는 방식. 코드 공유와 의존성 통합 관리가 쉬워지며, 대규모 개발 팀에서 많이 채택된다.
関数の戻り値を直接返す代わりに、継続(コールバック関数)に渡すプログラミングスタイルである。非同期処理の基盤となる概念であり、コンパイラの中間表現としても使われる。CPS変換により末尾呼び出し最適化が可能になる。
함수의 반환값을 직접 반환하는 대신 계속(콜백 함수)에 전달하는 프로그래밍 스타일이다. 비동기 처리의 기반이 되는 개념이며 컴파일러의 중간 표현으로도 사용된다. CPS 변환을 통해 꼬리 호출 최적화가 가능해진다.
SOLIDのIにあたる設計原則。クライアントが使わないメソッドへの依存を避けるため、インターフェースを細かく分割すべきという考え方。
SOLID의 I에 해당하는 설계 원칙. 클라이언트가 사용하지 않는 메서드에 대한 의존을 피하기 위해 인터페이스를 세분화해야 한다는 개념.
実行時のプロファイリングデータをフィードバックしてコンパイラの最適化判断を改善する手法。ホットパスのインライン展開や分岐予測の精度を向上させ、実ワークロードに最適化されたバイナリを生成する。
실행 시 프로파일링 데이터를 피드백하여 컴파일러의 최적화 판단을 개선하는 기법이다. 핫패스의 인라인 전개나 분기 예측 정도를 향상시켜 실제 워크로드에 최적화된 바이너리를 생성한다.
コード内のコメントやアノテーションからAPI仕様書や技術文書を自動生成するCI/CDパイプライン。TypeDocやSwaggerを活用し、コードと文書の乖離を防止する。
코드 내의 코멘트나 어노테이션에서 API 사양서나 기술 문서를 자동 생성하는 CI/CD 파이프라인이다. TypeDoc이나 Swagger를 활용하여 코드와 문서의 괴리를 방지한다.
コンパイラがスカラー演算のループを自動的にSIMD命令に変換する最適化。データ並列性を活用して単一命令で複数データを同時処理し、数値計算や画像処理の性能を大幅に向上させる。
컴파일러가 스칼라 연산 루프를 자동으로 SIMD 명령으로 변환하는 최적화이다. 데이터 병렬성을 활용하여 단일 명령으로 여러 데이터를 동시 처리하고 수치 계산이나 이미지 처리 성능을 대폭 향상시킨다.
マクロ定義をコンパイル前またはコンパイル時にソースコードに置換・展開する処理。CのプリプロセッサマクロからRustの手続き的マクロまで、コード生成の自動化に幅広く利用される。
매크로 정의를 컴파일 전 또는 컴파일 시에 소스 코드에 치환·전개하는 처리이다. C의 프리프로세서 매크로부터 Rust의 절차적 매크로까지 코드 생성 자동화에 폭넓게 이용된다.
組織内で使用されている技術を採用・試行・評価・保留の段階に分類して可視化するマッピング手法であり、技術選定の意思決定を透明化してチーム間の技術スタックの統制を支援する。
조직 내에서 사용되고 있는 기술을 채택, 시행, 평가, 보류의 단계로 분류하여 시각화하는 매핑 기법이며, 기술 선정의 의사결정을 투명화하여 팀 간의 기술 스택 통제를 지원한다.
メインスレッドとは別のスレッドやプロセスで処理を実行する手法。UIのレスポンスを維持しながら重い処理(ファイル変換・API呼び出し等)を非同期で行う際に使用する。
메인 스레드와 별도의 스레드나 프로세스에서 처리를 실행하는 방식. UI 응답성을 유지하면서 무거운 처리(파일 변환, API 호출 등)를 비동기로 수행할 때 사용한다.
繰り返し発生する開発・運用タスクをシェルスクリプトやPythonスクリプトで自動化すること。手作業によるミスを排除し、作業時間の短縮と再現性の確保を実現する。
반복적으로 발생하는 개발·운용 태스크를 셸 스크립트나 Python 스크립트로 자동화하는 것이다. 수작업에 의한 실수를 배제하고 작업 시간 단축과 재현성 확보를 실현한다.
ペアプログラミングのセッションを効果的に運営するための手順と合意事項を定めたプロトコルであり、ドライバとナビゲータの交代タイミングやセッション時間の管理方法を体系化する。
페어 프로그래밍의 세션을 효과적으로 운영하기 위한 절차와 합의 사항을 정한 프로토콜이며, 드라이버와 내비게이터의 교대 타이밍이나 세션 시간의 관리 방법을 체계화한다.
関数やメソッドが戻り値以外に外部の状態を変更する処理のこと。ログ出力・DB更新・グローバル変数の変更などが該当し、純粋関数との対比で語られる。
함수나 메서드가 반환값 이외에 외부 상태를 변경하는 처리를 말한다. 로그 출력, DB 갱신, 전역 변수 변경 등이 해당되며, 순수 함수와 대비하여 자주 언급된다.
API仕様書やアーキテクチャ図、運用手順書などの技術文書を最新状態に保つ活動。オンボーディング効率化にも寄与する。
API 사양서나 아키텍처 도면, 운용 절차서 등의 기술 문서를 최신 상태로 유지하는 활동. 온보딩 효율화에도 기여한다.
ソースコードが公開され、誰でも自由に閲覧・使用・改変・再配布できるソフトウェアの開発形態。GitHubなどのプラットフォームで広く普及している。
소스 코드가 공개되어 누구나 자유롭게 열람·사용·수정·재배포할 수 있는 소프트웨어 개발 형태. GitHub 등의 플랫폼을 통해 널리 보급되어 있다.
実行可能ファイルをメモリにロードし、動的ライブラリの解決やメモリ配置を行ってプログラムを実行可能状態にするOS機能。遅延ロードにより起動時間の短縮やメモリ使用量の削減を実現する。
실행 가능 파일을 메모리에 로드하고 동적 라이브러리 해결이나 메모리 배치를 수행하여 프로그램을 실행 가능 상태로 만드는 OS 기능이다. 지연 로드로 기동 시간 단축이나 메모리 사용량 삭감을 실현한다.
複数の型のいずれかを取りうることを表現する型である。TypeScriptのstring | numberのように、許容される型を列挙して定義する。型の絞り込みと組み合わせることで、各型に応じた安全な処理分岐を実現する。
여러 타입 중 하나를 취할 수 있음을 표현하는 타입이다. TypeScript의 string | number처럼 허용되는 타입을 열거하여 정의한다. 타입 좁히기와 결합하여 각 타입에 맞는 안전한 처리 분기를 실현한다.
開発環境やツール上で作業単位を管理するための仮想的な作業領域。IDEやSlack、クラウドサービスなどで設定・切り替えが可能。
개발 환경이나 툴에서 작업 단위를 관리하기 위한 가상 작업 영역. IDE, Slack, 클라우드 서비스 등에서 설정 및 전환이 가능하다.
技術的負債を「意図的/無意識的」と「慎重/無謀」の2軸で4つに分類するマーティン・ファウラーのフレームワークである。負債の性質を分類することで、返済の優先順位と対策を適切に判断する指針を提供する。
기술 부채를 '의도적/무의식적'과 '신중/무모'의 2축으로 4가지로 분류하는 마틴 파울러의 프레임워크이다. 부채의 성질을 분류하여 상환의 우선순위와 대책을 적절히 판단하는 지침을 제공한다.
プログラム内で到達不可能な、または参照されていないコードを自動的に検出する技術。不要なコードを除去することで保守性を向上させ、バンドルサイズの削減やコンパイル時間の短縮にも貢献する。
프로그램 내에서 도달 불가능한, 또는 참조되지 않는 코드를 자동적으로 검출하는 기술. 불필요한 코드를 제거함으로써 유지보수성을 향상시키고, 번들 사이즈의 삭감이나 컴파일 시간의 단축에도 공헌한다.
開発環境をコンテナとして定義し、チーム全員が同一の環境で開発できるようにする仕組みである。VS CodeのDev Containersが代表的で、環境構築の手順書を排除し、新規参画者のセットアップ時間を大幅に短縮する。
개발 환경을 컨테이너로 정의하여 팀 전원이 동일한 환경에서 개발할 수 있도록 하는 구조이다. VS Code의 Dev Containers가 대표적이며 환경 구축 절차서를 배제하고 신규 참여자의 셋업 시간을 대폭 단축한다.
リリース前にテスト結果や品質指標を確認しリリースの可否を判断する会議体。ステークホルダーが集まりGo/No-Goの決定を行う。
릴리스 전 테스트 결과나 품질 지표를 확인하고 릴리스 가부를 판단하는 회의체. 이해관계자가 모여 Go/No-Go 결정을 내린다.
複数スレッドが同時にアクセスしても競合やデータ破壊が起きないよう設計すること。ミューテックスやアトミック操作、不変オブジェクトなどの手法を用いる。
여러 스레드가 동시에 접근해도 경쟁 조건이나 데이터 손상이 발생하지 않도록 설계하는 것. 뮤텍스, 원자적 연산, 불변 객체 등의 기법을 활용한다.
業務時間外の夜間に実行されるバッチ処理。大量データの集計や帳票生成など、日中のシステム負荷を避けて実行する処理に用いる。
업무 시간 외 야간에 실행되는 배치 처리. 대량 데이터 집계나 장표 생성 등 낮 시간대 시스템 부하를 피해 실행하는 처리에 사용된다.
システムを長時間にわたって高負荷状態で稼働させ、メモリリークや性能劣化などの問題を検出する耐久性テストの手法。
시스템을 장시간 높은 부하 상태로 운영하여 메모리 누수나 성능 저하 등의 문제를 발견하는 내구성 테스트 기법.
変更されたソースファイルのみを再コンパイルする手法。全体ビルドと比べてビルド時間を大幅に短縮でき、大規模プロジェクトで特に効果的。
변경된 소스 파일만 재컴파일하는 기법. 전체 빌드 대비 빌드 시간을 크게 단축할 수 있으며, 대규모 프로젝트에서 특히 효과적이다.
本番環境を2系統用意し、新バージョンをもう一方の環境にデプロイしてから瞬時にトラフィックを切り替えるリリース手法。ダウンタイムゼロのデプロイと即座のロールバックを実現する。
프로덕션 환경을 2계통 준비하고 새 버전을 다른 환경에 배포한 뒤 순식간에 트래픽을 전환하는 릴리스 기법이다. 다운타임 제로의 배포와 즉각적인 롤백을 실현한다.
関数型プログラミングにおける計算の抽象化パターン。値をコンテナで包み、flatMapなどの操作でチェーン処理を安全に行える設計概念。
함수형 프로그래밍에서 계산을 추상화하는 패턴. 값을 컨테이너로 감싸고, flatMap 등의 연산으로 체인 처리를 안전하게 수행하는 설계 개념.
障害シナリオを模擬的に実行し、チームのインシデント対応能力を訓練するイベント。ランブックの有効性検証やオンコール体制の改善点発見を目的として定期的に実施する。
장애 시나리오를 모의적으로 실행하여 팀의 인시던트 대응 능력을 훈련하는 이벤트이다. 런북의 유효성 검증이나 온콜 체제의 개선점 발견을 목적으로 정기적으로 실시한다.
ソースコードの構文構造をツリー形式で表現したデータ構造。コンパイラやリンター、コードフォーマッターなどの静的解析ツールが内部的に利用し、コードの意味的な解析や変換を可能にしている。
소스 코드의 구문 구조를 트리 형식으로 표현한 데이터 구조. 컴파일러나 린터, 코드 포매터 등의 정적 분석 도구가 내부적으로 활용하며, 코드의 의미적인 분석이나 변환을 가능하게 한다.
Node.jsの生みの親が再開発した、セキュアで高速なJavaScript/TypeScriptランタイム。TSをネイティブサポートし、ファイルやネットワークへのアクセス権限をデフォルトで制限する。
Node.js의 창시자가 다시 개발한 안전하고 빠른 JavaScript/TypeScript 런타임. TS를 네이티브로 지원하며, 파일이나 네트워크 접근 권한을 기본적으로 제한한다.
オブジェクト指向プログラミングの概念で、既存クラスの属性やメソッドを新しいクラスが引き継ぐ仕組み。コードの再利用性を高め、階層的な設計を可能にする。
객체 지향 프로그래밍의 개념으로, 기존 클래스의 속성과 메서드를 새로운 클래스가 물려받는 구조. 코드 재사용성을 높이고 계층적인 설계를 가능하게 한다.
「今必要でない機能は実装しない」という設計原則。XPから生まれた考え方で、過剰な先読み実装を避け、コードのシンプルさと保守性を保つことを目的とする。
'지금 필요하지 않은 기능은 구현하지 않는다'는 설계 원칙. XP에서 나온 개념으로, 과도한 선행 구현을 피하고 코드의 단순성과 유지보수성을 유지하는 것을 목적으로 한다.
開発者生産性を5次元で測るフレームワーク。満足度(S)・パフォーマンス(P)・アクティビティ(A)・コミュニケーション(C)・効率(E)でエンジニアリング組織の健全性を評価する。
개발자 생산성을 5가지 차원으로 측정하는 프레임워크. 만족도(S)·성과(P)·활동(A)·커뮤니케이션(C)·효율(E)로 엔지니어링 조직의 건전성을 평가한다.
コード変更によるパフォーマンス劣化を自動的に検出する仕組み。ベンチマークテストをCIに組み込み閾値超過時にアラートを発する。
코드 변경으로 인한 성능 저하를 자동으로 검출하는 구조. 벤치마크 테스트를 CI에 통합하여 임계값 초과 시 알림을 발생시킨다.
プログラム実行前にデータ型の不整合をコンパイル時に検出する仕組み。TypeScriptやJavaなどの静的型付け言語で重視され、型エラーによるバグを未然に防ぐ。
프로그램 실행 전에 데이터 타입 불일치를 컴파일 시점에 감지하는 메커니즘. TypeScript나 Java 같은 정적 타입 언어에서 중시되며, 타입 오류로 인한 버그를 사전에 방지한다.
バグ・機能要望・タスクをチケットとして登録・管理・追跡するプロセス。JiraやGitHub Issuesなどのツールを使い、開発作業の進捗を可視化する。
버그·기능 요청·태스크를 티켓으로 등록·관리·추적하는 프로세스이다. Jira나 GitHub Issues 등의 도구를 사용하여 개발 작업의 진척을 가시화한다.
高水準の抽象化を使用しても、手書きの低水準コードと同等のパフォーマンスが得られる言語設計の原則である。RustやC++がこの原則を重視しており、コンパイラの最適化により抽象化のオーバーヘッドをゼロにする。
고수준의 추상화를 사용해도 직접 작성한 저수준 코드와 동등한 성능을 얻을 수 있는 언어 설계 원칙이다. Rust가 이 원칙을 중시하고 있으며 컴파일러의 최적화에 의해 추상화의 오버헤드를 제로로 만든다.
マルチコア環境でメモリ操作の実行順序と可視性を制御する仕組み。CPUやコンパイラによるリオーダリングを制御するメモリバリアを適切に配置し、並行プログラムの正確性を保証する。
멀티코어 환경에서 메모리 조작의 실행 순서와 가시성을 제어하는 구조이다. CPU나 컴파일러에 의한 리오더링을 제어하는 메모리 배리어를 적절히 배치하여 병행 프로그램의 정확성을 보장한다.
プラットフォームチームが推奨する標準的な開発・デプロイ手順をテンプレート化して提供する取り組み。開発者が迷わず最適な選択をできるよう導線を整備する。
플랫폼 팀이 추천하는 표준적인 개발·배포 절차를 템플릿화하여 제공하는 노력이다. 개발자가 헤매지 않고 최적의 선택을 할 수 있도록 동선을 정비한다.
老朽化した既存システムを最新技術・アーキテクチャへ移行する作業。技術的負債の解消やクラウド移行、モダナイゼーションが主な目的。
노후화된 기존 시스템을 최신 기술·아키텍처로 이전하는 작업. 기술 부채 해소나 클라우드 이전, 현대화가 주요 목적.
シングルスレッド環境(Node.jsやブラウザなど)で非同期処理を実現する仕組み。コールスタックが空になるとキューからタスクを取り出し順次実行する。
싱글 스레드 환경(Node.js나 브라우저 등)에서 비동기 처리를 구현하는 메커니즘. 콜 스택이 비워지면 큐에서 태스크를 꺼내 순차적으로 실행한다.
関数から返ってくる値。Return value。「リターン値」とも。
함수에서 돌아오는 값. Return value.
テストスイートを複数のワーカーに分散して並行実行する際の最適化手法であり、テストの実行時間に基づく動的な振り分けやデータベースの分離により総実行時間を短縮する。
테스트 스위트를 복수의 워커에 분산하여 병행 실행할 때의 최적화 기법이며, 테스트의 실행 시간에 기반한 동적 배분이나 데이터베이스의 분리에 의해 총 실행 시간을 단축한다.
イベント駆動システムにおけるイベントスキーマの変更を後方互換性を保ちながら管理する戦略であり、アップキャストやスキーマレジストリを活用して新旧のプロデューサとコンシューマの共存を実現する。
이벤트 구동 시스템에서의 이벤트 스키마의 변경을 후방 호환성을 유지하면서 관리하는 전략이며, 업캐스트나 스키마 레지스트리를 활용하여 신구 프로듀서와 컨슈머의 공존을 실현한다.
コードやコンポーネントを複数の箇所で繰り返し利用できる性質。DRY原則に基づき、重複排除と保守性向上を目的として設計・実装時に重視される概念。
코드나 컴포넌트를 여러 곳에서 반복적으로 활용할 수 있는 특성. DRY 원칙에 기반하여 중복 제거와 유지보수성 향상을 목적으로 설계 및 구현 시 중요하게 고려되는 개념.
ビルド・テスト・ファイル監視などの繰り返し作業を自動化するツール。GulpやGruntが代表例で、開発ワークフローの効率化に活用される。
빌드, 테스트, 파일 감시 등 반복 작업을 자동화하는 도구. Gulp나 Grunt가 대표적이며, 개발 워크플로우 효율화에 활용된다.
ジェネリクスの型パラメータ情報を実行時にも保持する方式である。型消去とは対照的に、実行時でも型パラメータの検査やインスタンス化が可能であり、Kotlinのreifiedキーワードや.NETのジェネリクスがこの方式を採用している。
제네릭스의 타입 파라미터 정보를 실행 시에도 보유하는 방식이다. 타입 소거와는 대조적으로 실행 시에도 타입 파라미터의 검사나 인스턴스화가 가능하며 Kotlin의 reified 키워드나 .NET의 제네릭스가 이 방식을 채택하고 있다.
APIの変更が既存のクライアントを破壊しないことを自動的に検証するテストであり、レスポンスの構造変更やフィールド削除、型変更などの破壊的変更をリリース前に検出する仕組みである。
API의 변경이 기존 클라이언트를 파괴하지 않는 것을 자동으로 검증하는 테스트이며, 응답의 구조 변경이나 필드 삭제, 타입 변경 등의 파괴적 변경을 릴리스 전에 검출하는 구조이다.
システム障害の発生経緯、原因、影響範囲、再発防止策をまとめた文書。ポストモーテムの結果を形式化し組織的な学習に活用する。
시스템 장애의 발생 경위, 원인, 영향 범위, 재발 방지책을 정리한 문서. 포스트모템 결과를 형식화하여 조직적 학습에 활용한다.
コードのコミットから本番環境へのデプロイまでにかかる時間を示す指標。短いほど開発プロセスの効率が高く、ユーザーへの価値提供が早いことを意味する。
코드 커밋에서 프로덕션 환경에 디플로이까지 걸리는 시간을 나타내는 지표이다. 짧을수록 개발 프로세스의 효율이 높고 사용자에 대한 가치 제공이 빠른 것을 의미한다.
予期せぬエラー。Exception。
예기치 않은 오류. Exception.
特定の言語の文法を定義し、その文法に従って文を解釈・実行するデザインパターンである。DSL(ドメイン固有言語)の実装、設定ファイルの解析、ルールエンジンの構築などに使われる。
특정 언어의 문법을 정의하고 그 문법에 따라 문장을 해석·실행하는 디자인 패턴이다. DSL(도메인 고유 언어)의 구현, 설정 파일의 분석, 규칙 엔진의 구축 등에 사용된다.
GoFなどが定義した再利用可能な設計テンプレートをコードに適用する実践手法。Singleton、Factory、Observerなど代表的なパターンを場面に応じて使い分ける。
GoF 등이 정의한 재사용 가능한 설계 템플릿을 코드에 적용하는 실천 기법. Singleton, Factory, Observer 등 대표적인 패턴을 상황에 맞게 구분하여 사용한다.
ロギング・セキュリティ・トランザクション管理など、複数のモジュールに横断する関心事をモジュール本体から分離して管理するプログラミングパラダイム。コードの重複を排除し、単一責任の原則を遵守しやすくする。
로깅·보안·트랜잭션 관리 등, 복수의 모듈에 횡단하는 관심사를 모듈 본체에서 분리하여 관리하는 프로그래밍 패러다임. 코드의 중복을 배제하고, 단일 책임 원칙을 준수하기 쉽게 한다.
デプロイ後にロールバックやホットフィックスが必要になった割合を計測するDORA指標の一つであり、変更プロセスの品質を定量的に把握してリリース安定性の改善に活用する。
배포 후 롤백이나 핫픽스가 필요해진 비율을 계측하는 DORA 지표의 하나이며, 변경 프로세스의 품질을 정량적으로 파악하여 릴리스 안정성의 개선에 활용한다.
直接インスタンス化できないクラスで、サブクラスに共通のインターフェースや基本実装を提供するために使用する。継承を前提とした設計パターンの基盤となる。
직접 인스턴스화할 수 없는 클래스로, 서브클래스에 공통 인터페이스나 기본 구현을 제공하기 위해 사용한다. 상속을 전제로 한 설계 패턴의 기반이 된다.
プロジェクト全体のテスト方針・範囲・手法を定める活動。テストピラミッドの考え方に基づき各テストレベルの比率を決定する。
프로젝트 전체의 테스트 방침·범위·기법을 정하는 활동. 테스트 피라미드 사고방식에 기반하여 각 테스트 레벨의 비율을 결정한다.
型パラメータの継承関係が、その型パラメータを含む型にも同じ方向で引き継がれる性質である。例えばCatがAnimalのサブタイプならList<Cat>がList<Animal>のサブタイプとなる関係を指し、型安全な多態性を実現する。
타입 파라미터의 상속 관계가 그 타입 파라미터를 포함하는 타입에도 같은 방향으로 계승되는 성질이다. 예를 들어 Cat이 Animal의 서브타입이면 List<Cat>이 List<Animal>의 서브타입이 되는 관계를 가리키며 타입 안전한 다태성을 실현한다.
外部APIやバックエンドサービスの応答をシミュレートするサーバーである。フロントエンド開発やAPI連携テストで、実際のサービスに依存せずに開発を進めることができ、ネットワーク遅延や障害シナリオの再現にも活用される。
외부 API나 백엔드 서비스의 응답을 시뮬레이트하는 서버이다. 프론트엔드 개발이나 API 연계 테스트에서 실제 서비스에 의존하지 않고 개발을 진행할 수 있으며 네트워크 지연이나 장애 시나리오의 재현에도 활용된다.
オブジェクト間の一対多の依存関係を定義し、あるオブジェクトの状態変化を複数の依存オブジェクトへ自動通知するGoFデザインパターンの一つ。
객체 간 일대다 의존 관계를 정의하여, 특정 객체의 상태 변화를 여러 의존 객체에 자동으로 알리는 GoF 디자인 패턴 중 하나.
関数を変数に代入したり、引数や戻り値として扱える性質。JavaScriptやPythonなど多くのモダン言語が対応し、関数型プログラミングの基盤となる概念。
함수를 변수에 할당하거나 인수 및 반환값으로 다룰 수 있는 성질. JavaScript, Python 등 많은 모던 언어가 지원하며, 함수형 프로그래밍의 기반이 되는 개념.
APIの破壊的変更を管理するためにURLパスやヘッダーでバージョンを指定する設計戦略であり、既存クライアントの互換性を維持しながら新機能の追加やスキーマ変更を安全に提供する。
API의 파괴적 변경을 관리하기 위해 URL 경로나 헤더로 버전을 지정하는 설계 전략이며, 기존 클라이언트의 호환성을 유지하면서 신기능의 추가나 스키마 변경을 안전하게 제공한다.
継承よりコンポジション(組み合わせ)を優先する設計原則。クラスの機能拡張に継承ではなく、別オブジェクトを組み込む方式で柔軟性と再利用性を高める。
상속보다 컴포지션(조합)을 우선하는 설계 원칙. 클래스 기능 확장 시 상속 대신 다른 객체를 내부에 포함하는 방식으로 유연성과 재사용성을 높인다.
既存のクラスを継承・変更することなく、新しいメソッドを追加できるKotlinやC#の言語機能。クラスの外部からユーティリティ関数をメソッド呼び出し構文で利用でき、コードの可読性と表現力を向上させる。
기존 클래스를 상속·변경하지 않고 새로운 메서드를 추가할 수 있는 Kotlin이나 C#의 언어 기능. 클래스의 외부에서 유틸리티 함수를 메서드 호출 구문으로 이용할 수 있으며, 코드의 가독성과 표현력을 향상시킨다.
社内の開発者向けにAPI仕様、サービスカタログ、ドキュメントを一元管理するポータルサイトの構築。Backstageなどのプラットフォームを使い、開発者体験を向上させる。
사내 개발자용으로 API 사양, 서비스 카탈로그, 문서를 일원 관리하는 포털 사이트의 구축이다. Backstage 등의 플랫폼을 사용하여 개발자 경험을 향상시킨다.
Javaの単体テストフレームワークの第5世代。アノテーションベースでテストを記述し、パラメータ化テストや拡張モデルなど柔軟なテスト設計が可能。
자바 단위 테스트 프레임워크의 5세대 버전. 어노테이션 기반으로 테스트를 작성하며, 매개변수화 테스트와 확장 모델 등 유연한 테스트 설계가 가능하다.
メインアプリケーションと同じポッド内に補助的なコンテナを配置して横断的な関心事を処理する設計パターンの実装であり、ログ収集やプロキシ、監視などの機能を分離して管理する。
메인 애플리케이션과 같은 파드 내에 보조적인 컨테이너를 배치하여 횡단적 관심사를 처리하는 설계 패턴의 구현이며, 로그 수집이나 프록시, 감시 등의 기능을 분리하여 관리한다.
クラスとオブジェクトを基本単位とするプログラミングパラダイム。カプセル化・継承・ポリモーフィズムを特徴とし、保守性・再利用性の高いコード設計を実現する。
클래스와 객체를 기본 단위로 하는 프로그래밍 패러다임. 캡슐화·상속·다형성을 특징으로 하며, 유지보수성과 재사용성이 높은 코드 설계를 실현한다.
テスト対象のメソッド呼び出しを記録し、呼び出し回数や引数を後から検証できるテストオブジェクト。実際の処理も実行しつつ呼び出し情報を収集するのが特徴である。
테스트 대상의 메서드 호출을 기록하고 호출 횟수나 인수를 나중에 검증할 수 있는 테스트 객체이다. 실제 처리도 실행하면서 호출 정보를 수집하는 것이 특징이다.
デプロイ頻度・変更リードタイム・変更失敗率・MTTRの4つでソフトウェアデリバリーの効率を測定する指標群。チームのDevOps成熟度を客観的に評価するために使用される。
디플로이 빈도·변경 리드타임·변경 실패율·MTTR의 4가지로 소프트웨어 딜리버리의 효율을 측정하는 지표군이다. 팀의 DevOps 성숙도를 객관적으로 평가하는 데 사용된다.
ソフトウェアのソースコードやファイルの変更履歴を管理する方針のこと。Git Flowやトランクベース開発など、チームの開発スタイルに合わせた運用ルールを定める。
소프트웨어의 소스 코드나 파일 변경 이력을 관리하는 방침. Git Flow나 트렁크 기반 개발 등 팀의 개발 스타일에 맞는 운용 규칙을 정한다.
一定期間内に本番環境へデプロイを行う回数を示すメトリクス。デプロイ頻度が高いほどCI/CDの成熟度が高く、小さな変更を安全にリリースできる体制を示す。
일정 기간 내에 프로덕션 환경에 디플로이하는 횟수를 나타내는 메트릭스이다. 디플로이 빈도가 높을수록 CI/CD 성숙도가 높고 작은 변경을 안전하게 릴리스할 수 있는 체제를 나타낸다.
分散システム内の一連のリクエストを横断的に追跡するための一意識別子を各サービス間で伝播させる設計であり、HTTPヘッダーやメッセージメタデータを通じて因果関係を保持する。
분산 시스템 내의 일련의 요청을 횡단적으로 추적하기 위한 고유 식별자를 각 서비스 간에 전파시키는 설계이며, HTTP 헤더나 메시지 메타데이터를 통해 인과 관계를 유지한다.
クラスや関数は変更される理由が1つだけであるべきという設計原則(SRP)。SOLIDの1つで、責務を分離することで保守性・テスタビリティを高める。
클래스나 함수는 변경되어야 할 이유가 하나뿐이어야 한다는 설계 원칙(SRP). SOLID의 하나로, 책임을 분리하여 유지보수성과 테스트 용이성을 높인다.
仕様や修正内容が最終決定すること。Fix。
사양이나 수정 내용이 최종 결정되는 것. Fix.
ソフトウェアのビルド・テスト・デプロイのプロセスをスクリプトやツールで自動化すること。人為的ミスを排除し、再現性のあるリリースを実現する手法である。
소프트웨어의 빌드·테스트·디플로이 프로세스를 스크립트나 도구로 자동화하는 것이다. 인적 실수를 배제하고 재현성 있는 릴리스를 실현하는 기법이다.
エンジニアの職位・等級・期待値を定義した昇進・評価フレームワーク。技術力・影響範囲・リーダーシップなどの軸でジュニアからシニア・スタッフ・プリンシパルまでを定義する。
엔지니어의 직위·등급·기대치를 정의한 승진·평가 프레임워크. 기술력·영향 범위·리더십 등의 축으로 주니어부터 시니어·스태프·프린시팔까지 정의한다.
アプリケーションの設定値をコードから分離し環境変数や設定ファイルで管理する設計。環境ごとの設定切り替えを容易にする。
애플리케이션의 설정값을 코드에서 분리하여 환경 변수나 설정 파일로 관리하는 설계. 환경별 설정 전환을 용이하게 한다.
サービスを停止せずにDBスキーマ変更やシステム移行を行う手法。expand-contractパターンなどで段階的に変更を適用する。
서비스를 중단하지 않고 DB 스키마 변경이나 시스템 이전을 수행하는 기법. expand-contract 패턴 등으로 단계적으로 변경을 적용한다.
システムを独立した機能単位(モジュール)に分割して設計する特性。各モジュールは疎結合・高凝集を保ち、再利用性・保守性・テスト容易性の向上に貢献する。
시스템을 독립된 기능 단위(모듈)로 분리하여 설계하는 특성. 각 모듈은 느슨한 결합과 높은 응집도를 유지하며, 재사용성·유지보수성·테스트 용이성 향상에 기여한다.
CPUキャッシュの単位であるキャッシュラインを意識したデータ配置とアクセスパターンの最適化。連続メモリアクセスやデータ構造のサイズ調整により、キャッシュヒット率を向上させる。
CPU 캐시의 단위인 캐시 라인을 의식한 데이터 배치와 접근 패턴의 최적화이다. 연속 메모리 접근이나 데이터 구조의 크기 조정으로 캐시 히트율을 향상시킨다.
動的ディスパッチを実現するために、各クラスが持つメソッドポインタの配列。オブジェクトはvtableへのポインタを保持し、メソッド呼び出し時にテーブルを参照して実装を解決する。
동적 디스패치를 실현하기 위해 각 클래스가 가진 메서드 포인터의 배열이다. 객체는 vtable에 대한 포인터를 보유하고 메서드 호출 시 테이블을 참조하여 구현을 해결한다.
以前のビルド結果を保存して再利用することでビルド時間を短縮する仕組み。変更のないモジュールの再コンパイルを省略し、CI/CDパイプラインの効率を大幅に向上させる。
이전 빌드 결과를 저장하여 재사용함으로써 빌드 시간을 단축하는 구조이다. 변경이 없는 모듈의 재컴파일을 생략하고 CI/CD 파이프라인의 효율을 대폭 향상시킨다.
外部の開発者や第三者が自由に利用できる公開APIのこと。認証キーが必要な場合もあるが、基本的に誰でもアクセス可能で、サービス連携や機能拡張に広く活用される。
외부 개발자나 제3자가 자유롭게 사용할 수 있는 공개 API. 인증 키가 필요한 경우도 있지만 기본적으로 누구나 접근 가능하며, 서비스 연동이나 기능 확장에 널리 활용된다.
非同期タスクのライフサイクルを明確なスコープで管理し、タスクの完了・キャンセル・エラー伝播を構造的に制御する並行処理パラダイム。タスクの漏れやリソースリークを防ぎ、安全な並行処理を実現する。
비동기 태스크의 라이프사이클을 명확한 스코프로 관리하고, 태스크의 완료·취소·에러 전파를 구조적으로 제어하는 병행 처리 패러다임. 태스크의 누락이나 리소스 리크를 방지하여 안전한 병행 처리를 실현한다.
複数の変更をまとめて一度にリリースする手法。個別リリースに比べデプロイ回数は減るが、問題発生時の切り分けが困難になるリスクがある。
여러 변경 사항을 모아서 한 번에 릴리스하는 기법. 개별 릴리스에 비해 배포 횟수는 줄지만 문제 발생 시 원인 분리가 어려워지는 리스크가 있다.
非同期処理でコールバック関数が多重にネストされ、コードの可読性や保守性が著しく低下する状態。Promise やasync/awaitで回避できる。
비동기 처리에서 콜백 함수가 다중으로 중첩되어 코드의 가독성과 유지보수성이 현저히 낮아지는 상태. Promise나 async/await로 회피할 수 있다.
スキーマ定義やメタデータから、ボイラープレートコードを自動的に生成するツールやフレームワークである。OpenAPI仕様からのクライアント生成、ORMのエンティティ生成など、反復的なコーディング作業を削減し開発効率を向上させる。
스키마 정의나 메타데이터로부터 보일러플레이트 코드를 자동으로 생성하는 도구나 프레임워크이다. OpenAPI 사양에서의 클라이언트 생성, ORM의 엔티티 생성 등 반복적인 코딩 작업을 줄여 개발 효율을 향상시킨다.
上位モジュールが下位モジュールに依存せず、双方が抽象(インターフェース)に依存するよう設計するSOLID原則の一つ。DIPとも呼ばれ、疎結合なアーキテクチャを実現する。
상위 모듈이 하위 모듈에 의존하지 않고, 양쪽 모두 추상(인터페이스)에 의존하도록 설계하는 SOLID 원칙 중 하나다. DIP라고도 하며 느슨한 결합의 아키텍처를 실현한다.
コレクションの内部構造を隠蔽しつつ、要素への順次アクセスを提供するデザインパターン。配列、リスト、ツリーなど異なるデータ構造に対して統一的な走査インターフェースを提供し、利用側のコードを簡潔にする。
컬렉션의 내부 구조를 은폐하면서 요소에 대한 순차 접근을 제공하는 디자인 패턴. 배열, 리스트, 트리 등 다른 데이터 구조에 대해 통일적인 순회 인터페이스를 제공하여 이용 측의 코드를 간결하게 한다.
プログラムが使用しなくなったメモリ領域を自動的に検出・解放する仕組み。JavaやPythonなどの言語に組み込まれており、メモリリークを防ぐ効果がある。
프로그램이 더 이상 사용하지 않는 메모리 영역을 자동으로 감지하고 해제하는 메커니즘. Java, Python 등의 언어에 내장되어 있으며 메모리 누수를 방지하는 효과가 있다.
実際のハードウェアや環境を持たずにソフトウェア上で動作を模倣するツール。モバイル開発やIoT開発において実機なしでテスト・デバッグを行う際に活用される。
실제 하드웨어나 환경 없이 소프트웨어상에서 동작을 모방하는 툴. 모바일 개발이나 IoT 개발에서 실기기 없이 테스트 및 디버깅을 수행할 때 활용된다.
コードを触ったら、見つける前より少しきれいにして戻すという開発原則。リファクタリングを習慣化し、技術的負債を継続的に減らす考え方。
코드를 수정할 때 발견하기 전보다 조금 더 깔끔하게 정리하여 돌려놓는 개발 원칙. 리팩토링을 습관화하여 기술 부채를 지속적으로 줄이는 사고방식.
同時にリソースにアクセスできるスレッド数を制限する同期プリミティブ。カウンタ値を用いてリソースの獲得と解放を管理し、コネクションプールやレート制限など同時実行数の制御に利用される。
동시에 리소스에 접근할 수 있는 스레드 수를 제한하는 동기 프리미티브. 카운터 값을 사용하여 리소스의 획득과 해제를 관리하며, 커넥션 풀이나 레이트 제한 등 동시 실행 수의 제어에 이용된다.
開発者がコードを書き・ビルドし・テストし・デプロイする際の総合的な体験品質。ツールチェーン・ドキュメント・フィードバックループ・認知負荷の低減が主な改善対象。
개발자가 코드를 작성하고·빌드하고·테스트하고·배포하는 과정에서의 종합적인 경험 품질. 툴체인·문서·피드백 루프·인지 부하 감소가 주요 개선 대상이다.
Rustで書かれた超高速JavaScriptリンター。ESLintと互換性のあるルールを持ちながら50〜100倍以上高速に動作し、大規模モノレポでのリント時間を劇的に短縮する。
Rust로 작성된 초고속 JavaScript 린터. ESLint와 호환되는 규칙을 가지면서 50~100배 이상 빠르게 동작하며, 대규모 모노레포에서의 린트 시간을 극적으로 단축한다.
システムやプログラムで、ユーザーが明示的に値を指定しない場合に自動的に適用される初期設定値。関数の引数やフォームの入力欄などで広く使われる。
시스템이나 프로그램에서 사용자가 명시적으로 값을 지정하지 않을 때 자동으로 적용되는 초기 설정값. 함수 인자나 폼 입력 필드 등에서 널리 사용된다.
新旧2つの本番環境を用意し、ロードバランサーの向き先を切り替えてリリースする手法。問題発生時は旧環境に即座に戻せるため、ロールバックの安全性が高い。
신구 2개의 프로덕션 환경을 준비하고 로드 밸런서의 대상을 전환하여 릴리스하는 기법이다. 문제 발생 시 구 환경으로 즉시 되돌릴 수 있어 롤백의 안전성이 높다.
プログラム実行中に発生するエラーや異常な状態を捕捉し、適切に対処するための処理。try-catch構文などを用いてシステムのクラッシュを防ぎ、安定稼働を維持する。
프로그램 실행 중 발생하는 오류나 비정상적인 상태를 포착하여 적절히 처리하는 방법. try-catch 구문 등을 사용해 시스템 크래시를 방지하고 안정적인 동작을 유지한다.
技術的負債(Technical Debt)を可視化・優先順位付けし、計画的に解消していく管理活動。コード品質の低下や開発速度の鈍化を防ぐために重要なプロセス。
기술 부채(Technical Debt)를 가시화·우선순위화하여 계획적으로 해소해 나가는 관리 활동. 코드 품질 저하와 개발 속도 둔화를 방지하기 위한 중요한 프로세스.
実装前に設計書を関係者間で確認し、要件漏れやアーキテクチャ上の問題を早期に発見するプロセス。手戻りコストの削減に有効である。
구현 전 설계서를 관계자 간에 확인하여 요건 누락이나 아키텍처 문제를 조기에 발견하는 프로세스. 재작업 비용 절감에 효과적이다.
コードやアーキテクチャのセキュリティ上の問題点を専門的にレビューするプロセス。OWASP Top 10などの基準に基づきチェックを行う。
코드나 아키텍처의 보안상 문제점을 전문적으로 리뷰하는 프로세스. OWASP Top 10 등의 기준에 따라 체크를 수행한다.
データを効率的に格納・管理・操作するための構造。配列、リスト、スタック、キュー、ツリー、グラフなどが代表例で、アルゴリズムと密接に関係する。
데이터를 효율적으로 저장·관리·조작하기 위한 구조. 배열, 리스트, 스택, 큐, 트리, 그래프 등이 대표적이며 알고리즘과 밀접하게 연관된다.
データや通信内容を特定の条件に基づいて選別・制限する処理。検索絞り込み、スパムフィルタ、パケットフィルタリングなど幅広い場面で活用される。
데이터나 통신 내용을 특정 조건에 따라 선별하거나 제한하는 처리. 검색 필터링, 스팸 필터, 패킷 필터링 등 다양한 상황에서 활용된다.
コミットメッセージに構造化された規約を設けるフォーマットである。feat、fix、docs等のプレフィックスで変更種別を明示し、自動的な変更履歴の生成やセマンティックバージョニングの自動化を可能にする。
커밋 메시지에 구조화된 규약을 두는 포맷이다. feat, fix, docs 등의 프리픽스로 변경 종별을 명시하고 자동적인 변경 이력의 생성이나 시맨틱 버저닝의 자동화를 가능하게 한다.
世界最大級のプログラミングQ&Aサイト。エンジニアが技術的な問題を投稿し、コミュニティが回答する仕組みで、実務での問題解決に広く活用される。
세계 최대 규모의 프로그래밍 Q&A 사이트. 엔지니어가 기술적인 문제를 게시하면 커뮤니티가 답변하는 구조로, 실무 문제 해결에 널리 활용된다.
TypeScriptが標準で提供する型変換のためのジェネリック型。Partial、Required、Pick、Omitなどがあり、既存の型から新しい型を導出する際に、冗長な型定義の重複を回避できる。
TypeScript가 표준으로 제공하는 타입 변환을 위한 제네릭 타입. Partial, Required, Pick, Omit 등이 있으며, 기존의 타입에서 새로운 타입을 도출할 때 중복된 타입 정의의 반복을 회피할 수 있다.
フィーチャーフラグの有効・無効をサーバー側からリアルタイムで制御する仕組み。デプロイなしで機能のON/OFFを切り替えられ、段階的ロールアウトやA/Bテストに活用される。
기능 플래그의 활성·비활성을 서버 측에서 실시간으로 제어하는 구조이다. 디플로이 없이 기능의 ON/OFF를 전환할 수 있어 단계적 롤아웃이나 A/B 테스트에 활용된다.
セキュリティテストや脆弱性検査を開発ライフサイクルの早期段階に組み込む実践であり、SAST・DAST・SCA・シークレットスキャンをCIパイプラインに統合して修正コストを最小化する。
보안 테스트나 취약성 검사를 개발 라이프사이클의 조기 단계에 통합하는 실천이며, SAST, DAST, SCA, 시크릿 스캔을 CI 파이프라인에 통합하여 수정 비용을 최소화한다.
分散型バージョン管理システム。
분산형 버전 관리 시스템.
ソフトウェアやコンテンツを特定の地域・言語・文化に合わせて適合させるプロセス。言語翻訳だけでなく、日付・通貨・単位などの形式変換も含む。略称はL10n。
소프트웨어나 콘텐츠를 특정 지역·언어·문화에 맞게 최적화하는 프로세스. 언어 번역뿐만 아니라 날짜·통화·단위 등의 형식 변환도 포함하며, 약칭은 L10n이다.
ソースコードを実行せずに構文や構造を解析し、バグやセキュリティ上の問題を検出する手法。CI/CDパイプラインに組み込むことで品質を自動的に担保できる。
소스 코드를 실행하지 않고 구문과 구조를 분석하여 버그나 보안 문제를 검출하는 기법. CI/CD 파이프라인에 통합하여 품질을 자동으로 보장할 수 있다.
CPUやチップレベルの内部設計構造を指す用語。命令セットアーキテクチャ(ISA)を実装するパイプラインやキャッシュ構成などの物理的な設計を意味する。
CPU나 칩 수준의 내부 설계 구조를 가리키는 용어. 명령어 집합 아키텍처(ISA)를 구현하는 파이프라인이나 캐시 구성 등 물리적인 설계를 의미한다.
オープンソースプロジェクトやリポジトリにコード・ドキュメント・バグ報告などで貢献する人。GitHubなどではPRやIssueの投稿者を指す。
오픈소스 프로젝트나 저장소에 코드·문서·버그 리포트 등으로 기여하는 사람. GitHub 등에서는 PR이나 Issue 작성자를 가리킨다.
システム内の状態変化をイベントとして発行・購読する設計手法。コンポーネント間の疎結合を実現し、非同期処理やスケーラビリティの向上に役立つ。
시스템 내 상태 변화를 이벤트로 발행·구독하는 설계 방식. 컴포넌트 간 느슨한 결합을 실현하며 비동기 처리와 확장성 향상에 효과적이다.
ソフトウェアの設計・使用方法・運用手順などを文書として整備するプロセス。将来のメンテナンスや新メンバーのオンボーディングを円滑にするために不可欠な活動である。
소프트웨어의 설계·사용 방법·운용 절차 등을 문서로 정비하는 프로세스이다. 향후 유지보수나 새 멤버의 온보딩을 원활하게 하기 위해 필수적인 활동이다.
ソフトウェアの変更履歴をCIパイプラインで自動的に生成・更新する仕組み。release-pleaseやsemantic-releaseを使い、バージョンごとの変更内容を自動でCHANGELOGに反映する。
소프트웨어의 변경 이력을 CI 파이프라인으로 자동으로 생성·갱신하는 구조이다. release-please나 semantic-release를 사용하여 버전별 변경 내용을 자동으로 CHANGELOG에 반영한다.
未知の技術や実現可能性を短期間で検証するための実験的な調査作業。タイムボックスを設けて集中的に技術検証を行う。
미지의 기술이나 실현 가능성을 단기간에 검증하기 위한 실험적 조사 작업. 타임박스를 설정하여 집중적으로 기술 검증을 수행한다.
JSONより高速・コンパクトなバイナリシリアライズ形式。複数言語対応で、APIレスポンスやキャッシュデータの転送効率化に活用される。
JSON보다 빠르고 컴팩트한 바이너리 직렬화 포맷. 다양한 언어를 지원하며 API 응답이나 캐시 데이터의 전송 효율화에 활용된다.
複数のプロセスやスレッドが同一のリソースに同時アクセスすることを防ぐ排他制御の仕組み。データの整合性を保つために使用される。
여러 프로세스나 스레드가 동일한 리소스에 동시에 접근하는 것을 방지하는 배타 제어 메커니즘. 데이터 정합성을 유지하기 위해 사용된다.
コードが正常動作していても、設計上の問題を示す兆候のこと。重複コードや長すぎるメソッドなど、リファクタリングが必要なサインを指す。
코드가 정상 동작하더라도 설계상의 문제를 나타내는 징후. 중복 코드나 너무 긴 메서드 등 리팩터링이 필요한 신호를 가리킨다.
あるモジュールが他のモジュールからどの程度参照されているかを測定するメトリクスである。求心性結合度が高いモジュールは多くの箇所に影響を与えるため、変更時のリスクが大きく、特に慎重なテストとレビューが必要になる。
특정 모듈이 다른 모듈에서 어느 정도 참조되고 있는지를 측정하는 메트릭스이다. 구심성 결합도가 높은 모듈은 많은 곳에 영향을 미치므로 변경 시 리스크가 크고 특히 신중한 테스트와 리뷰가 필요해진다.
アプリケーションの動作パラメータや環境変数などを定義したファイル。YAML・JSON・TOML・INIなどの形式で記述され、コードと設定を分離する目的で使用される。
애플리케이션의 동작 파라미터나 환경 변수 등을 정의한 파일. YAML·JSON·TOML·INI 등의 형식으로 작성되며, 코드와 설정을 분리하는 목적으로 사용된다.
本番環境の緊急バグ修正を迅速かつ安全にリリースするためのブランチ戦略とデプロイフローの設計。通常のリリースフローを短縮しつつ、最低限のレビューとテストを確保する。
프로덕션 환경의 긴급 버그 수정을 신속하고 안전하게 릴리스하기 위한 브랜치 전략과 배포 플로의 설계이다. 통상의 릴리스 플로를 단축하면서 최소한의 리뷰와 테스트를 확보한다.
ソースコードを静的に解析し、文法エラー、スタイル違反、潜在的なバグを検出するツールである。ESLint、Pylint、RuboCopなどが代表的で、チーム内のコーディング規約の自動的な遵守とコード品質の一貫性を確保する。
소스 코드를 정적으로 분석하여 문법 에러, 스타일 위반, 잠재적 버그를 검출하는 도구이다. ESLint, Pylint, RuboCop 등이 대표적이며 팀 내 코딩 규약의 자동적 준수와 코드 품질의 일관성을 확보한다.
コンパイラやリンカが変数名、関数名、型情報などの識別子とその属性を管理するデータ構造。コンパイル過程での名前解決やスコープ管理、デバッグ情報の生成に不可欠な要素である。
컴파일러나 링커가 변수명, 함수명, 타입 정보 등의 식별자와 그 속성을 관리하는 데이터 구조이다. 컴파일 과정에서의 이름 해결이나 스코프 관리, 디버그 정보 생성에 필수적인 요소이다.
Gitのブランチ管理戦略の一つ。main/develop/feature/release/hotfixなどのブランチを役割ごとに分け、チーム開発を体系的に管理するワークフロー。
Git의 브랜치 관리 전략 중 하나. main/develop/feature/release/hotfix 등의 브랜치를 역할별로 나누어 팀 개발을 체계적으로 관리하는 워크플로우.
HTTPリクエスト・レスポンスの送受信前後に処理を挟み込む仕組み。認証トークンの付与やエラーハンドリングなどをAxiosやSpringで共通化する際に利用される。
HTTP 요청·응답의 송수신 전후에 처리를 끼워 넣는 구조. 인증 토큰 부여나 에러 핸들링 등을 Axios나 Spring에서 공통화할 때 활용된다.
プログラムが使用するメモリの割り当て・解放・最適化を管理する仕組み。GCや手動管理など言語によって方式が異なり、メモリリークの防止が重要課題となる。
프로그램이 사용하는 메모리의 할당·해제·최적화를 관리하는 메커니즘. GC나 수동 관리 등 언어마다 방식이 다르며, 메모리 누수 방지가 중요한 과제이다.
ビジネスルールをオブジェクトとしてカプセル化するデザインパターン。条件をisSatisfiedBy()メソッドで表現し、AND/OR/NOTで組み合わせて複雑な仕様を再利用可能に定義できる。
비즈니스 규칙을 객체로 캡슐화하는 디자인 패턴. isSatisfiedBy() 메서드로 조건을 표현하고, AND/OR/NOT으로 조합하여 복잡한 사양을 재사용 가능하게 정의할 수 있다.
システムの異常を検知した際に運用チームへ通知を送る仕組みの構成。しきい値の適切な設定とアラート疲れの防止が、効果的な運用監視の鍵となる。
시스템 이상을 감지했을 때 운용 팀에 알림을 보내는 구조의 구성이다. 임계값의 적절한 설정과 알림 피로 방지가 효과적인 운용 모니터링의 핵심이 된다.
ソフトウェアのライブラリや依存関係を一元管理する仕組み。npm、pip、Mavenなどのツールを使い、インストール・更新・削除を効率化する。
소프트웨어의 라이브러리와 의존성을 일괄 관리하는 구조. npm, pip, Maven 등의 툴을 사용하여 설치·업데이트·삭제를 효율화한다.
本番環境に意図的に障害を注入してシステムの耐障害性を検証する手法。Chaos MonkeyやLitmusなどのツールを使い、障害発生時の挙動を事前に把握して対策を講じる。
프로덕션 환경에 의도적으로 장애를 주입하여 시스템의 내장애성을 검증하는 기법이다. Chaos Monkey나 Litmus 등의 도구를 사용하여 장애 발생 시 거동을 사전에 파악하고 대책을 강구한다.
プロセス停止シグナルを受信した際に処理中のリクエストを安全に完了させてからシャットダウンする仕組みであり、接続のドレイニングやタイムアウト制御を組み合わせてデータ損失を防止する。
프로세스 정지 시그널을 수신했을 때 처리 중인 요청을 안전하게 완료시킨 후 셧다운하는 구조이며, 접속의 드레이닝이나 타임아웃 제어를 조합하여 데이터 손실을 방지한다.
APIの仕様書やインターフェース定義を実装より先に策定する設計手法。OpenAPIやProtobufでコントラクトを定義し、フロントエンドとバックエンドの並行開発を可能にする。
API 사양서나 인터페이스 정의를 구현보다 먼저 책정하는 설계 기법이다. OpenAPI나 Protobuf로 컨트랙트를 정의하여 프론트엔드와 백엔드의 병행 개발을 가능하게 한다.
アプリケーションの実行中にモジュール単位でコードを差し替える技術。ページ全体のリロードなしに変更を即座に反映するため、開発中の状態を維持したままUI確認が可能になる。
애플리케이션의 실행 중에 모듈 단위로 코드를 교체하는 기술. 페이지 전체의 리로드 없이 변경을 즉시 반영하므로 개발 중의 상태를 유지한 채 UI 확인이 가능해진다.
コードに潜む設計上の問題を示す兆候のこと。直接バグではないが、リファクタリングが必要な「臭い」を放つコードパターンを指す。
코드에 잠재된 설계상의 문제를 나타내는 징후. 직접적인 버그는 아니지만 리팩토링이 필요한 '냄새'를 풍기는 코드 패턴을 가리킨다.
非同期処理を同期的なコードのように記述できる構文。Promiseベースの処理をより読みやすく書けるため、コールバック地獄の解消に有効。
비동기 처리를 동기적인 코드처럼 작성할 수 있는 문법. Promise 기반 처리를 더 읽기 쉽게 작성할 수 있어 콜백 지옥 해소에 효과적이다.
テストスイートを複数プロセスやマシンで同時に実行し、テスト全体の実行時間を短縮する手法。CIのフィードバックループ高速化に寄与する。
테스트 스위트를 여러 프로세스나 머신에서 동시에 실행하여 테스트 전체 실행 시간을 단축하는 기법. CI 피드백 루프 고속화에 기여한다.
JSONで使用できるデータ型の総称。文字列・数値・真偽値・null・配列・オブジェクトの6種類があり、APIのリクエスト・レスポンス設計時に正確な型指定が重要。
JSON에서 사용할 수 있는 데이터 타입의 총칭. 문자열·숫자·불리언·null·배열·객체의 6가지가 있으며, API 요청·응답 설계 시 정확한 타입 지정이 중요하다.
ローカルで変更したコードをリモートリポジトリ(GitHubなど)にアップロードする操作。チーム開発においてブランチ管理やレビュープロセスの起点となる重要なアクション。
로컬에서 변경한 코드를 원격 리포지토리(GitHub 등)에 업로드하는 작업. 팀 개발에서 브랜치 관리 및 리뷰 프로세스의 시작점이 되는 중요한 액션.
関数とその関数が定義されたスコープの変数を一緒にまとめたオブジェクト。外部スコープの変数を関数実行後も保持し続ける仕組みで、JavaScriptなどで多用される。
함수와 그 함수가 선언된 스코프의 변수를 함께 묶은 객체. 외부 스코프의 변수를 함수 실행 후에도 유지하는 메커니즘으로, JavaScript 등에서 자주 활용된다.
Integrated Development Environmentの略。コードエディタ・デバッガ・ビルドツールを一体化した開発環境。VSCodeやIntelliJが代表例で、開発効率を大幅に向上させる。
Integrated Development Environment의 약자. 코드 에디터·디버거·빌드 툴을 통합한 개발 환경. VSCode나 IntelliJ가 대표적이며, 개발 효율을 크게 향상시킨다.
システム障害発生時に迅速かつ適切に対処するための手順・役割分担・エスカレーションルートをまとめた一連のプロセス。インシデント管理の基盤となる。
시스템 장애 발생 시 신속하고 적절하게 대처하기 위한 절차, 역할 분담, 에스컬레이션 경로를 정리한 일련의 프로세스로, 인시던트 관리의 기반이 된다.
具体的な型を隠蔽し「ある型が存在する」という情報のみを公開する型。内部実装の詳細を隠しつつインターフェースを提供でき、モジュールの抽象化やコレクションの異種要素格納に使われる。
구체적인 타입을 은폐하고 '어떤 타입이 존재한다'는 정보만 공개하는 타입이다. 내부 구현의 세부 사항을 숨기면서 인터페이스를 제공할 수 있으며 모듈 추상화나 컬렉션의 이종 요소 저장에 사용된다.
開発・ステージング・本番の環境を分離し、テスト時の本番データへの影響を防ぐ設計。環境変数やネットワーク分離で実現する。
개발·스테이징·프로덕션 등의 환경을 분리하여 테스트 시 프로덕션 데이터 영향을 방지하는 설계. 환경 변수나 네트워크 분리로 구현한다.
既存のモノリシックシステムを段階的にマイクロサービスへ移行する設計パターン。新機能から順に切り出し、旧システムを徐々に置き換えることでリスクを最小化する。
기존 모놀리식 시스템을 단계적으로 마이크로서비스로 전환하는 설계 패턴. 새로운 기능부터 순서대로 분리하여 구시스템을 점진적으로 교체함으로써 위험을 최소화한다.
ブラウザやIDEに組み込まれた開発者向けツール群。要素インスペクター・コンソール・ネットワークパネル・パフォーマンスプロファイラーなど多様な機能を提供する。
브라우저나 IDE에 내장된 개발자용 도구 모음. 요소 인스펙터·콘솔·네트워크 패널·성능 프로파일러 등 다양한 기능을 제공한다.
複雑なサブシステム群に対して統一された簡潔なインタフェースを提供する設計パターンであり、クライアントとサブシステム間の依存を削減してシステムの利用を容易にする手法である。
복잡한 서브시스템 군에 대해 통일된 간결한 인터페이스를 제공하는 설계 패턴이며, 클라이언트와 서브시스템 간의 의존을 삭감하여 시스템의 이용을 용이하게 하는 기법이다.
Gitなどのバージョン管理システムで、メインのコードから分岐した独立した作業ラインのこと。機能開発やバグ修正を安全に並行して進めるために使用する。
Git 등 버전 관리 시스템에서 메인 코드로부터 분기된 독립적인 작업 라인. 기능 개발이나 버그 수정을 안전하게 병렬로 진행하기 위해 사용한다.
複数の処理を同時に実行する手法。マルチスレッドやマルチプロセスを活用し、CPUリソースを効率的に使用してパフォーマンスを向上させる。
여러 작업을 동시에 실행하는 기법. 멀티스레드나 멀티프로세스를 활용하여 CPU 리소스를 효율적으로 사용하고 성능을 향상시킨다.
システムや機器が故障から復旧後、次の故障が発生するまでの平均時間。MTBFが高いほど信頼性が高く、システムの安定性評価指標として使われる。
시스템이나 장비가 고장에서 복구된 후 다음 고장이 발생할 때까지의 평균 시간. MTBF가 높을수록 신뢰성이 높으며, 시스템 안정성 평가 지표로 사용된다.
アルゴリズムをクラスとして定義し、実行時に切り替え可能にするデザインパターン。条件分岐を排除し、処理の追加・変更を容易にする。
알고리즘을 클래스로 정의하고 런타임에 교체 가능하게 만드는 디자인 패턴. 조건 분기를 없애고 처리의 추가·변경을 쉽게 한다.
ソフトウェアのエンティティは拡張に対して開いており、修正に対して閉じているべきという設計原則。SOLIDの「O」に相当し、既存コードを変更せず新機能を追加できる設計を目指す。
소프트웨어 엔티티는 확장에는 열려 있고, 수정에는 닫혀 있어야 한다는 설계 원칙. SOLID의 'O'에 해당하며, 기존 코드를 변경하지 않고 새 기능을 추가할 수 있는 설계를 지향한다.
クラスやメソッドの振る舞いを変更せずに拡張する構文。TypeScriptやPythonで広く使われ、ロギング、認証チェック、バリデーションなどの横断的関心事をアノテーション形式で宣言的に付与できる。
클래스나 메서드의 동작을 변경하지 않고 확장하는 구문. TypeScript나 Python에서 널리 사용되며, 로깅, 인증 체크, 밸리데이션 등의 횡단적 관심사를 어노테이션 형식으로 선언적으로 부여할 수 있다.
Netflixが提唱した概念で、推奨技術スタックと標準化されたツールチェーンを整備して開発者の最適な選択を容易にする手法である。強制ではなく舗装された道として提供し、逸脱も許容しつつ標準的なパスの魅力で自然な採用を促す。
Netflix가 제창한 개념으로 권장 기술 스택과 표준화된 도구 체인을 정비하여 개발자의 최적 선택을 용이하게 하는 기법이다. 강제가 아닌 포장된 도로로 제공하고 일탈도 허용하면서 표준 패스의 매력으로 자연스러운 채택을 촉진한다.
再帰呼び出しをループに変換して、スタックオーバーフローを防止するプログラミング技法である。末尾再帰最適化がない言語でも、関数の戻り値としてサンク(遅延評価関数)を返し、ループで展開することで安全に深い再帰を実現する。
재귀 호출을 루프로 변환하여 스택 오버플로를 방지하는 프로그래밍 기법이다. 꼬리 재귀 최적화가 없는 언어에서도 함수의 반환값으로 썽크(지연 평가 함수)를 반환하고 루프에서 전개하여 안전하게 깊은 재귀를 구현한다.
デプロイ後の異常検知時に自動的に前バージョンへ戻す仕組みの構築。ヘルスチェック失敗やエラー率急増をトリガーとして、人手を介さず即座にロールバックを実行する。
배포 후 이상 검지 시 자동으로 이전 버전으로 되돌리는 구조의 구축이다. 헬스 체크 실패나 에러율 급증을 트리거로 사람의 손을 거치지 않고 즉시 롤백을 실행한다.
プログラムが実際に実行される際に必要なライブラリやリソース、OSとのインターフェースを提供する環境。Node.jsやJVMなどが代表例。
프로그램이 실제로 실행될 때 필요한 라이브러리, 리소스, OS와의 인터페이스를 제공하는 환경. Node.js나 JVM 등이 대표적인 예시.
武道の型稽古になぞらえた、プログラミングの反復練習手法。小さなコーディング課題を繰り返し解くことでスキルを磨き、コーディングの筋肉記憶を鍛えることを目的とする。
무도의 형 훈련에 빗댄 프로그래밍 반복 연습 기법. 작은 코딩 과제를 반복해서 풀어 실력을 갈고닦으며, 코딩의 근육 기억을 단련하는 것을 목적으로 한다.
プログラムが自分自身の構造を読み取り、生成、変換できるプログラミング手法。リフレクション、マクロ、デコレーターなどの技術を通じて、ボイラープレート削減やフレームワークの拡張性向上を実現する。
프로그램이 자기 자신의 구조를 읽고, 생성, 변환할 수 있는 프로그래밍 수법. 리플렉션, 매크로, 데코레이터 등의 기술을 통해 보일러플레이트 삭감이나 프레임워크의 확장성 향상을 실현한다.
障害発生時の一次対応担当者をチーム内で公平に輪番制で回す仕組みの設計。エスカレーションパスの定義やバーンアウト防止のための休息ルールを含めて策定する。
장애 발생 시 1차 대응 담당자를 팀 내에서 공평하게 교대제로 돌리는 구조의 설계이다. 에스컬레이션 경로의 정의나 번아웃 방지를 위한 휴식 규칙을 포함하여 책정한다.
オブジェクトやデータ構造をバイト列やJSON・XMLなどの形式に変換するプロセス。ネットワーク通信やデータ永続化の際に使用される。
객체나 데이터 구조를 바이트 열이나 JSON·XML 등의 형식으로 변환하는 프로세스. 네트워크 통신이나 데이터 영속화 시 사용된다.