Home - thought-corner/Backend-PlayGround GitHub Wiki
๐ Java
- Java - Class
- Java - Java Memoryโญ
- Java โ Solving Concurrency Issues with Synchronized
- Java - synchronized
- Java โ Instance Variable & Local Variable vs final
- Java โ Object
- Java โ Immutable Object
- Java โ String
- Java โ Wrapper Class
- Java โ ENUM
- Java โ Nested Class & Inner Class & Local Class & Anonymous Class
- Java โ Generic
- Java โ ArrayList
- Java โ LinkedList
- Java โ List
- Java โ Set
- Java โ Hash
- Java โ HashSet
- Java โ Map & Stack & Queue
- Java โ Iterate & Sort
- Java - Process & Thread
- Java - Thread Creation & Execution
- Java - Thread Control & LifeCycle
- Java - Memory Visibility
- Java - Advanced Synchronization
- Java - Producer/Consumer Problem
- Java - Synchronization & Atomic Operation
- Java - Concurrent Collection
- Java - Thread Pool & Executor Framework
- Java - Character Encoding
- Java - I/O
- Java - File & Files
- Java - Reflection
- Java - Annotation
- Java - Lambda
- Java - Functional Interface
- Java - Lambda vs Anonymous Class
- Java - Method Reference
- Java - Stream API
- Java - Optional
- Java - Default Method
- Java - Parallel Stream
- Java - Functional Programming
- Java - JVM & GC & SOLIDโญ
- Java - Data Storage and Memory Allocation: Primitive vs. Reference
- Java โ Static Keyword: Efficient Resource Management at the Class Level
- Java โ OOP
- Java โ Collection Framework Selection Standard
- Java โ Multi Threading & Concurrent Programming
- Java โ Exception Handling & Advanced Java
- Java โ Java 8+
- Java โ Java Application Performance Tuning
- Java - CAS
- Java - Virtual Threadโญ
๐ Kotlin
- Kotlin - Variables, Types, and Operators in Kotlin
- Kotlin - Control Flow in Kotlin
- Kotlin - Object-Oriented Programming in Kotlin
- Kotlin - Functional Programming in Kotlin
- Kotlin - Key Features of Kotlin
- Kotlin - Generics in Kotlin
- Kotlin - Lazy Initialization and Delegation in Kotlin
- Kotlin - Advanced Functional Programming in Kotlin
- Kotlin - Operator Overloading and Kotlin DSL
- Kotlin - Annotations and Reflection in Kotlin
- Kotlin - Miscellaneous Topics in Kotlin
๐ Coroutine
- Coroutine - Limitations of Thread-Based Work & the Emergence of Coroutines
- Coroutine - runBlocking
- Coroutine - CoroutineDispatcher
- Coroutine - Controlling Coroutines with Job
- Coroutine - Receiving Results from Coroutines
- Coroutine - Coroutine Context
- Coroutine - Structured Concurrency
- Coroutine - Exception Handling
- Coroutine - Suspended Functions
- Coroutine - Understanding Coroutines
- Coroutine - Advanced Coroutines
- Coroutine - Coroutine Testing
๐ Spring
- Spring - OOP & Spring
- Spring - Spring Container & Spring Bean
- Spring - Singleton Container
- Spring - Dependency Injection
- Spring - Bean LifeCycle Callback
- Spring - Bean Scope
- Spring โ Web Server, Web Application server
- Spring โ Servlet
- Spring โ Servlet & JSP & MVC
- Spring โ MVC Framework
- Spring โ Spring MVC
- Spring - Thymeleaf
- Spring - Message & Internationalization
- Spring - Validation
- Spring - Bean Validation
- Spring - Cookie & Session
- Spring - Filter & Interceptor
- Spring - API Exception Handling
- Spring - Spring Type Converter
- Spring - File Upload
- Spring - Connection Pool & DataSourceโญ
- Spring - Transactionโญ
- Spring โ Spring Exception Abstraction
- Spring - Database Access
- Spring โ Spring Transactionโญ
- Spring โ Spring Transaction Propagationโญ
- Spring โ Thread Local
- Spring โ Template Method Pattern & Callback Pattern
- Spring โ Dynamic Proxy
- Spring โ Spring Proxyโญ
- Spring โ Bean Processor
- Spring โ @Aspect AOP
- Spring โ Spring AOP
- Spring โ Spring AOP Application
- Spring - MyBatis
- Spring โ URL Encoding
- Spring - Cache Annotation
- Spring - Retry
๐ Spring Security
- Spring Security - Initializationโญ
- Spring Security - Authentication Process
- Spring Security - Authentication Architecture
- Spring Security - Authentication Status Persistence Processing Mechanism
- Spring Security - Session Management
- Spring Security - Exception Handling
- Spring Security - Mechanisms for responding to Malicious Attacks
- Spring Security - Authorization Process
- Spring Security - Authorization Architecture
- Spring Security - Multiple Security Settings
- Spring Security - Redis Redundancy Settings
- Spring Security - Event
- Spring Security - Integration
- Spring Security - OAuth 2.0
- Spring Security - OAuth 2.0 Authorization Type
- Spring Security - Open ID Connect
- Spring Security - OAuth 2.0 Client
- Spring Security - OAuth 2.0 Client Fundamentals
- Spring Security - OAuth 2.0 oauth2Login
- Spring Security - OAuth 2.0 oauth2Client
- Spring Security - OAuth 2.0 Resource Server
- Spring Security - OAuth 2.0 Resource Server API
- Spring Security - OAuth 2.0 Verification
- Spring Security - OAuth 2.0 MAC & RSA Token Verification
- Spring Security - OAuth 2.0 Resource Server Permission Implementation
- Spring Security - OAuth 2.0 opaque()
- Spring Security - Authorization Server
- Spring Security - Authorization Server Main Domain Class
- Spring Security - Authorization Server Endpoint Protocol
๐ Spring Batch
- Spring Batch - Introduction
- Spring Batch - Batch Concept
- Spring Batch - Batch Domain
- Spring Batch - Job
- Spring Batch - Step
- Spring Batch - Flow
- Spring Batch - Chunk Process
- Spring Batch - ItemReader
- Spring Batch - ItemWriter
- Spring Batch - ItemProcessor
- Spring Batch - Retry & Error Handling
- Spring Batch - Multi Threads Processing
- [Spring Batch - Batch Event Listener]
- [Spring Batch - Batch Test]
- [Spring Batch - File Processing]
- [Spring Batch - Read and Write Operations in Relational Databases and NoSQL]
- [Spring Batch - FaultTolerant & ItemStream]
- [Spring Batch - Partitioning]
๐ Reactive Programming
- Reactive Programming - Reactive System & Reactive Programming
- Reactive Programming - Fundamentals of WebFlux and Reactor
- Reactive Programming - Core Operators in WebFlux Reactor
- Reactive Programming - Practical Patterns in WebFlux
- Reactive Programming - WebFlux Patterns with Spring Boot
๐ Database
- Database - Database Introduction
- Database - Search & Sort
- Database - Data Processing
- Database - Aggregation & Grouping
- Database - Inner Join
- Database - Outer Join & Etc Join
- Database - Sub Query
- Database - UNION
- Database - CASE
- Database - Index
- Database - Data Integrity
- Database - Transaction
- Database - Why Database Design Matters
- Database - Concept Modeling
- Database - Logical Data Modeling
- Database - Identifying Relationship & Non-Identifying Relationship
- Database - Normalization
- Database - Physical Data Modeling
- Database - Common Code Design
- Database - Hierarchical Structure Design
- Database - Data Change History Design
- Database - SOFT DELETE
- Database - Statistics Table Design
- Database - Inheritance Relationship Design
- Database - Entity-Attribute-Value (EAV) Model
- Database - JSON Schema Design
๐ MySQL
- MySQL โ Solving Concurrency Problems using Database-Level Locking
- MySQL - Checking DB Metrics with SQL Queries
- MySQL - Data Modeling for Practical Service Development
- MySQL - Basic CRUD in MySQL
- MySQL - MySQL Horizontal Scaling
- MySQL - MySQL Fundamentals
- MySQL - Why You Should Use MySQL: JOIN
- MySQL - Must-Know SQL Anti-Patterns
- MySQL - Learning Data Modeling Through Practical Examples
- MySQL - Foreign Key & Strategic Patterns
- MySQL - Advanced Topics in MySQL
- MySQL - Multi Column Index
- MySQL - Covering Index
- MySQL - ORDER BY
- MySQL - INSERT
- MySQL - AUTO_INCREMENT_LOCK
- MySQL - MySQL LockType
- MySQL - DeadLock Case
- MySQL - NoOffset For Query Tuning
๐ Redis
- Redis โ Redis
- Redis โ Redis Manual
- Redis โ Redis Cache Strategy
- Redis โ Redis Master-Slave
- Redis - Redis Cluster Mode
- Redis - Redis Cluster Example
- Redis - Redis Data Structure
- Redis - Redis pub/sub & streams
- Redis - Redis Server
- Redis - Reduce DB write load using Redis
- Redis - Solving Concurrency Issues (1)
- Redis โ Solving Concurrency Issues (2)
- Redis - Solving Concurrency Issues (3)
- Redis - Implementing Popular Searches
- Redis - API Rate Limiting
- Redis - Geospatial
- Redis - DAU Counting Application
- Redis - Session Management Application
- Redis - Redis Transaction ACID
- Redis - Redis Data Persistence
- Redis - Redis Keys Management
- Redis - Decoupling microservices with Redis Pub/Sub
- Redis - Redis Pipelining & RTT(Round Trip Time)
- Redis - Redis Streams
- Redis - Hash Slot Rebalancing
๐ JPA
- JPA - Java Persistence API
- JPA - Entity Mapping & PK Strategy
- JPA โ JPA Association Mapping
- JPA - Proxy Association
- JPA - Value Type
- JPA - Dirty Checking vs. Merge: Understanding the Difference in JPA
- JPA - Cascading and Orphan Removal in JPA
- JPA - Introduction to Object-Oriented Query Languages in JPA
- JPA - Spring Data JPA
- JPA โ Solving Concurrency Issues with Pessimistic Locking
- JPA โ Solving Concurrency Issues with Optimistic Locking
- JPA - Lazy Loading and Performance Optimization in JPA
- JPA - ManyToOne Important Things
- JPA - OneToMany Important Things
- JPA - OSIV
๐ QueryDsl
๐ MSA
- MicroService Architecture - DeComposition Patterns
- MicroService Architecture - Service Communications Patterns
- MicroService Architecture - API Gateway Patterns
- MicroService Architecture - Asynchronous Communications Patterns
- MicroService Architecture - Data Management Patterns
- MicroService Architecture - CQRS Patterns
- MicroService Architecture - Distributed Transactions
- [MicroService Architecture - Event-Driven Architecture]
- [MicroService Architecture - Resilience & Observability and Monitoring]
- [MicroService Architecture - Security Patterns]
- [MicroService Architecture - Testing Strategies]
- [MicroService Architecture - Scalability & Caching Patterns]
- [MicroService Architecture - Deployment Patterns]
- [MicroService Architecture - Serverless Architecture]
- [MicroService Architecture - GraphQL]
- [MicroService Architecture - Evolution of Distributed Systems and Their Drawbacks]
- [MicroService Architecture - Protocol Buffers]
- [MicroService Architecture - gRPC Communication Patterns]
- [MicroService Architecture - gRPC Optimization Strategies and Implementation]
- [MicroService Architecture - 2PC]
- [MicroService Architecture - TCC]
- [MicroService Architecture - SAGA(Orchestration)]
- [MicroService Architecture - SAGA(Choreography)]
๐ Kafka
- Apache Kafka - Kafka Introduction
- Apache Kafka - Kafka CLI
- Apache Kafka - Kafka Producer Application
- Apache Kafka - Kafka Consumer Application
- Apache Kafka - Idempotent Producer & Transactional Producer & Transactional Consumer
- Apache Kafka - Kafka Streams
- Apache Kafka - Kafka Topic/Producer/Consumer
- Apache Kafka - Producer Mechanism
- Apache Kafka - Consumer Mechanism
- Apache Kafka - Multi Node Kafka Cluster
- Apache Kafka - Producer & Consumer Serialization/DeSerialization
- Apache Kafka - Topic Segment Management
- Apache Kafka - KSQLDB Stream
- Apache Kafka - KSQLDB Table
- Apache Kafka - KSQLDB Application
- Apache Kafka - Group by & Mview
- [Apache Kafka - Join]
- [Apache Kafka - Time & Windows]
- [Apache Kafka - Connecting KSQLDB to Kafka Connect]
- [Apache Kafka - Kafka Connect]
- [Apache Kafka - JDBC Source Connector]
- [Apache Kafka - JDBC Sink Connector]
- [Apache Kafka - Debezium MySQL CDC Source Connector]
- [Apache Kafka - Schema Registry]
- Apache Kafka - Differences Between RocksDB and In-Memory KeyValueStore in GlobalKTable
- Apache Kafka - Kafka Streams
- [Apache Kafka - Kafka Connect]
- [Apache Kafka - Idempotent Producers and Transactional Producers & Consumers]
- [Apache Kafka - CDC(Change Data Capture)]
๐ Apache Flink
- [Apache Flink - Apache Flink Architecture]
- [Apache Flink - Stream Processing]
- [Apache Flink - Data Stream API & Window]
- [Apache Flink - State Management]
๐ HTTP
- HTTP - Internet Network
- HTTP - URI & Browser Request Flow
- HTTP - HTTP Basic
- HTTP - HTTP Method
- HTTP - HTTP Method Application
- HTTP - HTTP Status Code
- HTTP โ HTTP Default Header
- HTTP - HTTP Cache & Condition Request
๐ AWS
- AWS - AWS CDK(Cloud Development Kit)
- AWS - Signed URL
- AWS - PreSigned URL
- AWS - Cognito
- AWS - Signed URL Logic
๐ Docker
- Docker - Docker
- Docker โ Docker CLI
- Docker โ Docker Volume
- Docker - Dockerfile Image
- Docker โ Docker Compose Container Management
- Docker โ Deploy(feat. AWS ECR)
- Docker - Cloud Native Technology
- Docker - Docker Essentials(1)
- Docker - Docker Essentials(2)
- Docker - Docker Network and Storage
- Docker - Building and Managing Containerized Application
- Docker - Container Orchestration
- Docker - Docker Security
- Docker - Logging and Monitoring
- Docker - Advanced Docker Usage
- Docker - Container-to-Container Communication
๐ Kubernetes
- Kubernetes - Probe
- Kubernetes - ConfigMap & Secret
- Kubernetes - PV/PVC & Deployment & Service & HPA
- Kubernetes - Helm & Kustomize
- Kubernetes - Pod 1
- [Kubernetes - Pod 2]
- Kubernetes - Controller 1
- [Kubernetes - Controller 2]
- [Kubernetes - Object]
- [Kubernetes - Ingress & Nginx Application]
- [Kubernetes - Node Scheduling]
- [Kubernetes - Monitoring]
- [Kubernetes - Logging]
๐ CI/CD
๐ Nginx
- Nginx โ Nginx Introduction
- Nginx โ Nginx Supplementary Summary
- Nginx โ Deploying Domain with Nginx
- Nginx โ Implementing HTTPS with Nginx
- Nginx โ Backend Deployment via Nginx Reverse Proxy
- Nginx โ Load Balancing with Nginx
- [Nginx - Advanced Concept]
- [Nginx - Advanced Reverse Proxy]
๐ Monitoring๐ฅ
- [Monitoring - Log Concept]
- [Monitoring - Log Level & Filter]
- [Monitoring - Logback]
- [Monitoring - Log Collection with ELK Stack]
- [Monitoring - Log Monitoring with Kibana]
- [Monitoring - Building a Monitoring System with Spring Boot Actuator]
- [Monitoring - Server Monitoring with Prometheus and Grafana with Discord Alerts]
๐ Test
- Test - Load Testing Fundamentals
- [Test - Diagnosing Bottlenecks via Load Testing]
- [Test - Performance Tuning: Resolving Bottlenecks]
- Test - JUnit5
- Test - Mockito
- Test - TestContainers
- Test - JMeter
- Test - Chaos Monkey
- [Test - ArchUnit]
- [Test - Unit Testing Essentials]
- [Test - TDD]
- [Test - Testing with Spring & JPA]
- Test - A Guide to Effective Mocking
- Test - Appendix: Tips for Better Testing
๐ Effective Java 3/E
- (Effective Java Item 1) Java โ ์์ฑ์ ๋์ ์ ์ ํฉํ ๋ฆฌ ๋ฉ์๋๋ฅผ ๊ณ ๋ คํ๋ผ
- (Effective Java Item 2) Java - ์์ฑ์์ ๋งค๊ฐ๋ณ์๊ฐ ๋ง๋ค๋ฉด ๋น๋๋ฅผ ๊ณ ๋ คํ๋ผ
- (Effective Java Item 3) Java - private ์์ฑ์๋ ์ด๊ฑฐ ํ์ ์ผ๋ก ์ฑ๊ธํด์์ ๋ณด์ฆํ๋ผ
- (Effective Java Item 4) Java - ์ธ์คํด์คํ๋ฅผ ๋ง์ผ๋ ค๊ฑฐ๋ private ์์ฑ์๋ฅผ ์ฌ์ฉํ๋ผ
- (Effective Java Item 5) Java - ์์์ ์ง์ ๋ช ์ํ์ง ๋ง๊ณ ์์กด ๊ฐ์ฒด ์ฃผ์ ์ ์ฌ์ฉํ๋ผ
- (Effective Java Item 6) Java โ ๋ถํ์ํ ๊ฐ์ฒด ์์ฑ์ ํผํ๋ผ
- (Effective Java Item 7) Java - ๋ค ์ด ๊ฐ์ฒด ์ฐธ์กฐ๋ฅผ ํด์ ํ๋ผ
- (Effective Java Item 8) Java - finalizer์ cleaner ์ฌ์ฉ์ ํผํ๋ผ
- (Effective Java Item 9) Java - tryโfinally๋ณด๋ค๋ tryโwithโresources๋ฅผ ์ฌ์ฉํ๋ผ
- (Effective Java Item 10) Java โ equals๋ ์ผ๋ฐ ๊ท์ฝ์ ์ง์ผ ์ฌ์ ์ํ๋ผ
- (Effective Java Item 11) Java โ equals๋ฅผ ์ฌ์ ์ํ๋ ค๊ฑฐ๋ hashCode๋ ์ฌ์ ์ํ๋ผ
- (Effective Java Item 12) Java - toString์ ํญ์ ์ฌ์ ์ํ๋ผ
- (Effective Java Item 13) Java โ clone ์ฌ์ ์๋ ์ฃผ์ํด์ ์งํํ๋ผ
- (Effective Java Item 14) Java โ Comparable์ ๊ตฌํํ ์ง ๊ณ ๋ คํ๋ผ
- (Effective Java Item 15) Java โ ํด๋์ค์ ๋ฉค๋ฒ์ ์ ๊ทผ ๊ถํ์ ์ต์ํํ๋ผ
- (Effective Java Item 16) Java โ public ํด๋์ค์์๋ public ํ๋๊ฐ ์๋ ์ ๊ทผ์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ผ
- (Effective Java Item 17) Java โ ๋ณ๊ฒฝ ๊ฐ๋ฅ์ฑ์ ์ต์ํํ๋ผ
- (Effective Java Item 18) Java โ ์์๋ณด๋ค๋ ์ปดํฌ์ง์ ์ ์ฌ์ฉํ๋ผ
- (Effective Java Item 19) Java โ ์์์ ๊ณ ๋ คํด ์ค๊ณํ๊ณ ๋ฌธ์ํํ๋ผ. ๊ทธ๋ฌ์ง ์์๋ค๋ฉด ์์์ ๊ธ์งํ๋ผ
- (Effective Java Item 20) Java โ ์ถ์ ํด๋์ค๋ณด๋ค๋ ์ธํฐํ์ด์ค๋ฅผ ์ฐ์ ํ๋ผ
- (Effective Java Item 21) Java โ ์ธํฐํ์ด์ค๋ ๊ตฌํํ๋ ์ชฝ์ ์๊ฐํด ์ค๊ณํ๋ผ
- (Effective Java Item 22) Java โ ์ธํฐํ์ด์ค๋ ํ์ ์ ์ ์ํ๋ ์ฉ๋๋ก๋ง ์ฌ์ฉํ๋ผ
- (Effective Java Item 23) Java โ ํ๊ทธ ๋ฌ๋ฆฐ ํด๋์ค๋ณด๋ค๋ ํด๋์ค ๊ณ์ธต๊ตฌ์กฐ๋ฅผ ํ์ฉํ๋ผ
- (Effective Java Item 24) Java โ ๋ฉค๋ฒ ํด๋์ค๋ ๋๋๋ก static์ผ๋ก ๋ง๋ค๋ผ
- (Effective Java Item 25) Java โ ํฑ๋ ๋ฒจ ํด๋์ค๋ ํ ํ์ผ์ ํ๋๋ง ๋ด์ผ๋ผ
- (Effective Java Item 26) Java โ ๋ก ํ์ ์ ์ฌ์ฉํ์ง ๋ง๋ผ
- (Effective Java Item 27) Java โ ๋น๊ฒ์ฌ ๊ฒฝ๊ณ ๋ฅผ ์ ๊ฑฐํ๋ผ
- (Effective Java Item 28) Java โ ๋ฐฐ์ด๋ณด๋ค๋ ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํ๋ผ
- (Effective Java Item 29) Java โ ์ด์์ด๋ฉด ์ ๋ค๋ฆญ ํ์ ์ผ๋ก ๋ง๋ค๋ผ
- (Effective Java Item 30) Java โ ์ด์์ด๋ฉด ์ ๋ค๋ฆญ ๋ฉ์๋๋ก ๋ง๋ค๋ผ
- (Effective Java Item 31) Java - ํ์ ์ ์์ผ๋์นด๋๋ฅผ ์ฌ์ฉํด API ์ ์ฐ์ฑ์ ๋์ด๋ผ
- (Effective Java Item 32) Java - ์ ๋ค๋ฆญ๊ณผ ๊ฐ๋ณ์ธ์๋ฅผ ํจ๊ป ์ธ ๋๋ ์ ์คํ๋ผ
- (Effective Java Item 33) Java โ ํ์ ์์ ์ด์ข ์ปจํ ์ด๋๋ฅผ ๊ณ ๋ คํ๋ผ
- (Effective Java Item 34) Java - int ์์ ๋์ ์ด๊ฑฐ ํ์ ์ ์ฌ์ฉํ๋ผ
- (Effective Java Item 35) Java - ordinal ๋ฉ์๋ ๋์ ์ธ์คํด์ค ํ๋๋ฅผ ์ฌ์ฉํ๋ผ
- (Effective Java Item 36) Java โ ๋นํธ ํ๋ ๋์ EnumSet์ ์ฌ์ฉํ๋ผ
- (Effective Java Item 37) Java โ ordinal ์ธ๋ฑ์ฑ ๋์ EnumMap์ ์ฌ์ฉํ๋ผ
- (Effective Java Item 38) Java โ ํ์ฅํ ์ ์๋ ์ด๊ฑฐ ํ์ ์ด ํ์ํ๋ฉด ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ผ
- (Effective Java Item 39) Java โ ๋ช ๋ช ํจํด๋ณด๋ค ์ ๋ํ ์ด์ ์ ์ฌ์ฉํ๋ผ[Effective Java Item 39]
- (Effective Java Item 40) Java โ @Override ์ด๋ ธํ ์ด์ ์ ์ผ๊ด๋๊ฒ ์ฌ์ฉํ๋ผ
- (Effective Java Item 41) Java โ ์ ์ํ๋ ค๋ ๊ฒ์ด ํ์ ์ด๋ผ๋ฉด ๋ง์ปค ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ผ
- (Effective Java Item 42) Java โ ์ต๋ช ํด๋์ค๋ณด๋ค๋ ๋๋ค๋ฅผ ์ฌ์ฉํ๋ผ
- (Effective Java Item 43) Java โ ๋๋ค๋ณด๋ค๋ ๋ฉ์๋ ์ฐธ์กฐ๋ฅผ ์ฌ์ฉํ๋ผ
- (Effective Java Item 44) Java - ํ์ค ํจ์ํ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ผ
- (Effective Java Item 45) Java - ์คํธ๋ฆผ์ ์ฃผ์ํด์ ์ฌ์ฉํ๋ผ
- (Effective Java Item 46) Java - ์คํธ๋ฆผ์์๋ ๋ถ์์ฉ ์๋ ํจ์๋ฅผ ์ฌ์ฉํ๋ผ
- (Effective Java Item 47) Java - ๋ฐํ ํ์ ์ผ๋ก๋ ์คํธ๋ฆผ๋ณด๋ค ์ปฌ๋ ์ ์ด ๋ซ๋ค
- (Effective Java Item 48) Java โ ์คํธ๋ฆผ ๋ณ๋ ฌํ๋ ์ฃผ์ํด์ ์ฌ์ฉํ๋ผ
- (Effective Java Item 49) Java โ ๋งค๊ฐ๋ณ์๊ฐ ์ ํจํ์ง ๊ฒ์ฌํ๋ผ
- (Effective Java Item 50) Java โ ์ ์์ ๋ฐฉ์ด์ ๋ณต์ฌ๋ณธ์ ๋ง๋ค๋ผ
- (Effective Java Item 51) Java โ ๋ฉ์๋ ์๊ทธ๋์ฒ๋ฅผ ์ ์คํ ์ค๊ณํ๋ผ
- (Effective Java Item 52) Java โ ๋ค์ค์ ์๋ ์ ์คํ ์ฌ์ฉํ๋ผ
- (Effective Java Item 53) Java โ ๊ฐ๋ณ์ธ์๋ ์ ์คํ ์ฌ์ฉํ๋ผ
- (Effective Java Item 54) Java - null์ด ์๋, ๋น ์ปฌ๋ ์ ์ด๋ ๋ฐฐ์ด์ ๋ฐํํ๋ผ
- (Effective Java Item 55) Java โ ์ต์ ๋ ๋ฐํ์ ์ ์คํ ํ๋ผ
- (Effective Java Item 56) Java โ ๊ณต๊ฐ๋ API ์์์๋ ํญ์ ๋ฌธ์ํ ์ฃผ์์ ์ฌ์ฉํ๋ผ
- (Effective Java Item 57) Java โ ์ง์ญ๋ณ์์ ๋ฒ์๋ฅผ ์ต์ํํ๋ผ
- (Effective Java Item 58) Java โ ์ ํต์ ์ธ for๋ฌธ๋ณด๋ค๋ forโeach๋ฌธ์ ์ฌ์ฉํ๋ผ
- (Effective Java Item 59) Java โ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ตํ๊ณ ์ฌ์ฉํ๋ผ
- (Effective Java Item 60) Java โ ์ ํํ ๋ต์ด ํ์ํ๋ค๋ฉด float์ double์ ํผํ๋ผ
- (Effective Java Item 61) Java โ ๋ฐ์ฑ๋ ๊ธฐ๋ณธ ํ์ ๋ณด๋ค๋ ๊ธฐ๋ณธ ํ์ ์ ์ฌ์ฉํ๋ผ
- (Effective Java Item 62) Java โ ๋ค๋ฅธ ํ์ ์ด ์ ์ ํ๋ค๋ฉด ๋ฌธ์์ด ์ฌ์ฉ์ ํผํ๋ผ
- (Effective Java Item 63) Java โ ๋ฌธ์์ด ์ฐ๊ฒฐ์ ๋๋ฆฌ๋ ์ฃผ์ํ๋ผ
- (Effective Java Item 64) Java โ ๊ฐ์ฒด๋ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํด ์ฐธ์กฐํ๋ผ
- (Effective Java Item 65) Java โ ๋ฆฌํ๋ ์ ๋ณด๋ค๋ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ผ
- (Effective Java Item 66) Java โ ๋ค์ดํฐ๋ธ ๋ฉ์๋๋ ์ ์คํ ์ฌ์ฉํ๋ผ
- (Effective Java Item 67) Java โ ์ต์ ํ๋ ์ ์คํ ํ๋ผ
- (Effective Java Item 68) Java โ ์ผ๋ฐ์ ์ผ๋ก ํต์ฉ๋๋ ๋ช ๋ช ๊ท์น์ ๋ฐ๋ฅด๋ผ
- (Effective Java Item 69) Java โ ์์ธ๋ ์ง์ง ์์ธ ์ํฉ์๋ง ์ฌ์ฉํ๋ผ
- (Effective Java Item 70) Java โ ๋ณต๊ตฌํ ์ ์๋ ์ํฉ์๋ ๊ฒ์ฌ ์์ธ๋ฅผ, ํ๋ก๊ทธ๋๋ฐ ์ค๋ฅ์๋ ๋ฐํ์ ์์ธ๋ฅผ ์ฌ์ฉํ๋ผ
- (Effective Java Item 71) Java โ ํ์ ์๋ ๊ฒ์ฌ ์์ธ ์ฌ์ฉ์ ํผํ๋ผ
- (Effective Java Item 72) Java โ ํ์ค ์์ธ๋ฅผ ์ฌ์ฉํ๋ผ
- (Effective Java Item 73) Java โ ์ถ์ํ ์์ค์ ๋ง๋ ์์ธ๋ฅผ ๋์ง๋ผ
- (Effective Java Item 74) Java โ ๋ฉ์๋๊ฐ ๋์ง๋ ๋ชจ๋ ์์ธ๋ฅผ ๋ฌธ์ํํ๋ผ
- (Effective Java Item 75) Java โ ์์ธ์ ์์ธ ๋ฉ์์ง์ ์คํจ ๊ด๋ จ ์ ๋ณด๋ฅผ ๋ด์ผ๋ผ
- (Effective Java Item 76) Java โ ๊ฐ๋ฅํ ํ ์คํจ ์์์ ์ผ๋ก ๋ง๋ค๋ผ
- (Effective Java Item 77) Java โ ์์ธ๋ฅผ ๋ฌด์ํ์ง ๋ง๋ผ
- (Effective Java Item 78) Java - ๊ณต์ ์ค์ธ ๊ฐ๋ณ ๋ฐ์ดํฐ๋ ๋๊ธฐํํด ์ฌ์ฉํ๋ผ
- (Effective Java Item 79) Java - ๊ณผ๋ํ ๋๊ธฐํ๋ ํผํ๋ผ
- (Effective Java Item 80) Java - ์ฐ๋ ๋๋ณด๋ค๋ ์คํ์, ํ์คํฌ, ์คํธ๋ฆผ์ ์ ์ฉํ๋ผ
- (Effective Java Item 81) Java - wait์ notify๋ ๋์์ฑ ์ ํธ๋ฆฌํฐ๋ฅผ ์ ์ฉํ๋ผ
- (Effective Java Item 82) Java - ์ฐ๋ ๋ ์์ ์ฑ ์์ค์ ๋ฌธ์ํํ๋ผ
- (Effective Java Item 83) Java - ์ง์ฐ ์ด๊ธฐํ๋ ์ ์คํ ์ฌ์ฉํ๋ผ
- (Effective Java Item 84) Java - ํ๋ก๊ทธ๋จ์ ๋์์ ์ฐ๋ ๋ ์ค์ผ์ค๋ฌ์ ๊ธฐ๋์ง ๋ง๋ผ
- (Effective Java Item 85) Java - ์๋ฐ ์ง๋ ฌํ์ ๋์์ ์ฐพ์ผ๋ผ
- (Effective Java Item 86) Java - Serializable์ ๊ตฌํํ ์ง๋ ์ ์คํ ๊ฒฐ์ ํ๋ผ
- (Effective Java Item 87) Java - ์ปค์คํ ์ง๋ ฌํ ํํ๋ฅผ ๊ณ ๋ คํด๋ณด๋ผ
- (Effective Java Item 88) Java - readObject ๋ฉ์๋๋ ๋ฐฉ์ด์ ์ผ๋ก ์์ฑํ๋ผ
- (Effective Java Item 89) Java - ์ธ์คํด์ค ์๋ฅผ ํต์ ํด์ผ ํ๋ค๋ฉด readResolve๋ณด๋ค๋ ์ด๊ฑฐ ํ์ ์ ์ฌ์ฉํ๋ผ
- [(Effective Java Item 90) Java - ์ง๋ ฌํ๋ ์ธ์คํด์ค ๋์ ์ง๋ ฌํ ํ๋ก์ ์ฌ์ฉ์ ๊ฒํ ํ๋ผ]
๐ Kotlin Academy - Effective Kotlin
- (Effective Kotlin Item 1) Kotlin - ๊ฐ๋ณ์ฑ์ ์ ํํ๋ผ
- (Effective Kotlin Item 2) Kotlin - ์๊ณ ์์ญ์ ์ ๊ฑฐํ๋ผ
- (Effective Kotlin Item 3) Kotlin - ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ํ๋ซํผ ํ์ ์ ์ ๊ฑฐํ๋ผ
- (Effective Kotlin Item 4) Kotlin - ๋ณ์์ ์ค์ฝํ๋ฅผ ์ต์ํํ๋ผ
- (Effective Kotlin Item 5) Kotlin - ์ธ์์ ์ํ์ ๋ํ ๊ธฐ๋์น๋ฅผ ๋ช ์ํ๋ผ
- (Effective Kotlin Item 6) Kotlin - ์ฌ์ฉ์ ์ ์ ์ค๋ฅ๋ณด๋ค ํ์ค ์ค๋ฅ๋ฅผ ์ ํธํ๋ผ
- (Effective Kotlin Item 7) Kotlin - ๊ฒฐ๊ณผ๊ฐ ์์ ๊ฐ๋ฅ์ฑ์ด ์๋ ๊ฒฝ์ฐ ๋ ๊ฐ๋ฅ ๋๋ Result ๋ฐํ ํ์ ์ ์ ํธํ๋ผ
- (Effective Kotlin Item 8) Kotlin - use๋ฅผ ์ฌ์ฉํ์ฌ ๋ฆฌ์์ค๋ฅผ ๋ซ์๋ผ
- (Effective Kotlin Item 9) Kotlin - ๋จ์ ํ ์คํธ๋ฅผ ์์ฑํ๋ผ
- (Effective Kotlin Item 10) Kotlin - ๊ฐ๋ ์ฑ์ ๋ชฉํ๋ก ์ค๊ณํ๋ผ
- (Effective Kotlin Item 11) Kotlin - ์ฐ์ฐ์์ ์๋ฏธ๋ ํจ์์ ์ด๋ฆ๊ณผ ์ผ์นํด์ผ ํ๋ค
- (Effective Kotlin Item 12) Kotlin - ๊ฐ๋ ์ฑ์ ๋์ด๋ ค๋ฉด ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ผ
- (Effective Kotlin Item 13) Kotlin - ํ์ ๋ช ์๋ฅผ ๊ณ ๋ คํ๋ผ
- (Effective Kotlin Item 14) Kotlin - ๋ฆฌ์๋ฒ๋ฅผ ๋ช ์์ ์ผ๋ก ์ฐธ์กฐํ๋ผ
- (Effective Kotlin Item 15) Kotlin - ํ๋กํผํฐ๋ ๋์์ด ์๋ ์ํ๋ฅผ ๋ํ๋ด์ผ ํ๋ค
- (Effective Kotlin Item 16) Kotlin - Unit?์ ๋ฐํ์ด๋ ์ฐ์ฐ์ ์ฌ์ฉํ์ง ๋ง๋ผ
- (Effective Kotlin Item 17) Kotlin - ์ด๋ฆ ์๋ ์ธ์ ์ฌ์ฉ์ ๊ณ ๋ คํ๋ผ
- (Effective Kotlin Item 18) Kotlin - ์ฝ๋ฉ ์ปจ๋ฒค์ ์ ์ค์ํ๋ผ
- (Effective Kotlin Item 19) Kotlin - knowledge๋ฅผ ๋ฐ๋ณตํ์ง ๋ง๋ผ
- (Effective Kotlin Item 20) Kotlin - ์ผ๋ฐ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ณตํ์ง ๋ง๋ผ
- (Effective Kotlin Item 21) Kotlin - ์ผ๋ฐ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํ ๋ ์ ๋ค๋ฆญ์ ์ฌ์ฉํ๋ผ
- (Effective Kotlin Item 22) Kotlin - ํ์ ๋งค๊ฐ๋ณ์์ ์๋์์ ํผํ๋ผ
- (Effective Kotlin Item 23) Kotlin - ์ ๋ค๋ฆญ ํ์ ์ ๋ณ์ฑ ํ์ ์ ์ฌ์ฉ์ ๊ณ ๋ คํ๋ผ
- (Effective Kotlin Item 24) Kotlin - ๊ณตํต ๋ชจ๋์ ์ถ์ถํด์ ์ฌ๋ฌ ํ๋ซํผ์์ ์ฌ์ฌ์ฉํ๋ผ
- (Effective Kotlin Item 25) Kotlin - ๊ฐ๊ฐ์ ํจ์๋ ํ๋์ ์ถ์ํ ์์ค์ผ๋ก ์์ฑํ๋ผ
- (Effective Kotlin Item 26) Kotlin - ๋ณ๊ฒฝ์ผ๋ก๋ถํฐ ์ฝ๋๋ฅผ ๋ณดํธํ๋ ค๋ฉด ์ถ์ํ๋ฅผ ์ฌ์ฉํ๋ผ
- (Effective Kotlin Item 27) Kotlin - API ์์ ์ฑ์ ๋ช ์ํ๋ผ
- (Effective Kotlin Item 28) Kotlin - ์ธ๋ถ API๋ฅผ ๋ํํ๋ ๊ฒ์ ๊ณ ๋ คํ๋ผ
- (Effective Kotlin Item 29) Kotlin - ๊ฐ์์ฑ์ ์ต์ํํ๋ผ
- (Effective Kotlin Item 30) Kotlin - ๋ฌธ์๋ก ๊ท์ฝ์ ์ ์ํ๋ผ
- (Effective Kotlin Item 31) Kotlin - ์ถ์ํ ๊ท์ฝ์ ์ค์ํ๋ผ
- (Effective Kotlin Item 32) Kotlin - ๋ณด์กฐ ์์ฑ์ ๋์ ํฉํ ๋ฆฌ ํจ์๋ฅผ ๊ณ ๋ คํ๋ผ
- (Effective Kotlin Item 33) Kotlin - ์ด๋ฆ ์๋ ์ ํ์ ์ธ์๋ฅผ ๊ฐ๋ ๊ธฐ๋ณธ ์์ฑ์ ์ฌ์ฉ์ ๊ณ ๋ คํ๋ผ
- (Effective Kotlin Item 34) Kotlin - ๋ณต์กํ ๊ฐ์ฒด ์์ฑ์ ์ํด DSL ์ ์๋ฅผ ๊ณ ๋ คํ๋ผ
- [(Effective Kotlin Item 35) Kotlin - ์์กด์ฑ ์ฃผ์ ์ ๊ณ ๋ คํ๋ผ]
- [(Effective Kotlin Item 36) Kotlin - ์์๋ณด๋ค ํฉ์ฑ์ ์ ํธํ๋ผ]
- [(Effective Kotlin Item 37) Kotlin - ๋ฐ์ดํฐ ๋ฌถ์์ ํํํ ๋ data ํ์ ์๋ฅผ ์ฌ์ฉํ๋ผ]
- [(Effective Kotlin Item 38) Kotlin - ์ฐ์ฐ๊ณผ ํ๋์ ์ ๋ฌํ๋ ค๋ฉด ํจ์ ํ์ ์ด๋ ํจ์ํ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ผ]
- [(Effective Kotlin Item 39) Kotlin - ์ ํ๋ ๊ณ์ธต๊ตฌ์กฐ๋ฅผ ํํํ๊ธฐ ์ํด sealed ํด๋์ค์ sealed ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ผ]
- [(Effective Kotlin Item 40) Kotlin - ํ๊ทธ ํด๋์ค ๋์ ํด๋์ค ๊ณ์ธต๊ตฌ์กฐ๋ฅผ ์ ํธํ๋ผ]
- [(Effective Kotlin Item 41) Kotlin - ์ด๊ฑฐํ ํด๋์ค๋ฅผ ์ฌ์ฉํด์ ๊ฐ ๋ชฉ๋ก์ ๋ํ๋ด๋ผ]
- [(Effective Kotlin Item 42) Kotlin - equals์ ๊ท์ฝ์ ์ค์ํ๋ผ]
- [(Effective Kotlin Item 43) Kotlin - hashCode์ ๊ท์ฝ์ ์ค์ํ๋ผ]
- [(Effective Kotlin Item 44) Kotlin - compareTo์ ๊ท์ฝ์ ์ค์ํ๋ผ]
- [(Effective Kotlin Item 45) Kotlin - API์ ํ์์ ์ด์ง ์์ ๋ถ๋ถ์ ํ์ฅ์ผ๋ก ์ถ์ถํ๋ ๊ฒ์ ๊ณ ๋ คํ๋ผ]
- [(Effective Kotlin Item 46) Kotlin - ๋ฉค๋ฒ ํ์ฅ ํจ์๋ฅผ ํผํ๋ผ]
๐ Kotlin Academy - ํต์ฌํธ
- (Effective Kotlin Item 3) Kotlin - variable
- (Effective Kotlin Item 4) Kotlin - primitive types, literals, and operations
- (Effective Kotlin Item 5) Kotlin - control Flow: if, when, try, and while
- (Effective Kotlin Item 6) Kotlin - function
- (Effective Kotlin Item 7) Kotlin - for
- (Effective Kotlin Item 8) Kotlin - Null Safety and Nullable Types
- (Effective Kotlin Item 9) Kotlin - Class
- (Effective Kotlin Item 10) Kotlin - Extend
- (Effective Kotlin Item 11) Kotlin - Data Class
- (Effective Kotlin Item 12) Kotlin - Object
- (Effective Kotlin Item 13) Kotlin โ Exception
- (Effective Kotlin Item 14) Kotlin - Enum Classes
- (Effective Kotlin Item 15) Kotlin - Sealed Classes and Interfaces
- (Effective Kotlin Item 16) Kotlin - Annotation Classes
- (Effective Kotlin Item 17) Kotlin - Extensions
- (Effective Kotlin Item 18) Kotlin - Collections
- (Effective Kotlin Item 19) Kotlin - Operator Overloading
- (Effective Kotlin Item 20) Kotlin - The Beauty of the Type System
- (Effective Kotlin Item 21) Kotlin - Generic
๐ ์คํ๋ง์ผ๋ก ์์ํ๋ ๋ฆฌ์กํฐ๋ธ ํ๋ก๊ทธ๋๋ฐ
- Reactive Programming - Reactive Streams
- Reactive Programming - Blocking I/O & Non-Blocking I/O
- Reactive Programming - Reactor Outline
- Reactive Programming - Marble Diagram
- Reactive Programming - Cold Sequence & Hot Sequence
- [Reactive Programming - Backpressure]
- [Reactive Programming - Sinks]
- [Reactive Programming - Scheduler]
- [Reactive Programming - Context]
- [Reactive Programming - Debugging]
- [Reactive Programming - Testing]
- [Reactive Programming - Operators]
- [Reactive Programming - Spring Webflux]
- [Reactive Programming - Annotation Based Controller]
- [Reactive Programming - Functional Endpoint]
- [Reactive Programming - Spring Data R2DBC]
- [Reactive Programming - Exception Handling]
- [Reactive Programming - WebClient]
- [Reactive Programming - Reactive Streaming Data Processing]
๐ ๊ฐ์ ๋ฉด์ ์ฌ๋ก๋ก ๋ฐฐ์ฐ๋ ๋๊ท๋ชจ ์์คํ ์ค๊ณ ๊ธฐ์ด 1
๐ ๊ฐ์ ๋ฉด์ ์ฌ๋ก๋ก ๋ฐฐ์ฐ๋ ๋๊ท๋ชจ ์์คํ ์ค๊ณ ๊ธฐ์ด 2
๐ Clean Code
- (Clean Code 2) Clean Code - ์๋ฏธ ์๋ ์ด๋ฆโญ
- (Clean Code 3) Clean Code - ํจ์
- (Clean Code 4) Clean Code - ์ฃผ์
- (Clean Code 5) Clean Code - ํ์ ๋ง์ถ๊ธฐ
- (Clean Code 6) Clean Code - ๊ฐ์ฒด์ ์๋ฃ๊ตฌ์กฐโญ
- (Clean Code 7) Clean Code - ์ค๋ฅ ์ฒ๋ฆฌโญ
- (Clean Code 8) Clean Code - ๊ฒฝ๊ณโญ
- (Clean Code 9) Clean Code - ๋จ์ ํ ์คํธโญ
- (Clean Code 10) Clean Code - ํด๋์คโญ
๐ ๋ฆฌํฉํ ๋ง 2ํ
๐ ์ฃผ๋์ด ๋ฐฑ์๋ ๊ฐ๋ฐ์๊ฐ ๋ฐ๋์ ์์์ผ ํ ์ค๋ฌด ์ง์
- ๋๋ ค์ง ์๋น์ค, ์ด๋๋ถํฐ ๋ด์ผ ํ ๊นโญ
- ์ฑ๋ฅ์ ์ข์ฐํ๋ DB ์ค๊ณ์ ์ฟผ๋ฆฌโญ
- ์ธ๋ถ ์ฐ๋์ด ๋ฌธ์ ์ผ ๋ ์ดํด๋ด์ผ ํ ๊ฒ๋คโญ
- ๋น๋๊ธฐ ์ฐ๋, ์ธ์ ์ด๋ป๊ฒ ์จ์ผ ํ ๊น
- ๋์์ฑ, ๋ฐ์ดํฐ๊ฐ ๊ผฌ์ด๊ธฐ ์ ์ ์ก์์ผ ํ๋ค
- IO ๋ณ๋ชฉ, ์ด๋ป๊ฒ ํด๊ฒฐํ์งโญ
- ์ค๋ฌด์์ ๊ผญ ํ์ํ ๋ณด์ ์ง์
- ๋ชจ๋ฅด๋ฉด ๋ต๋ตํด์ง๋ ๋คํธ์ํฌ ๊ธฐ์ด
- ์์ฃผ ์ฐ๋ ์๋ฒ ๊ตฌ์กฐ์ ์ค๊ณ ํจํด