- ๋ฏธ๋ฃจ์ง ๋ง๊ธฐ ๋ด์ผ์ ๋๋ฅผ ๋ฏฟ์ง ๋ง๊ธฐ
- ์ค์ํ ๋ด์ฉ์ ํ ๋ฒ ๋ ๋ค๋ฌ์ด์ ๋ธ๋ก๊ทธ์ ์ ๋ก๋ํ๊ธฐ
- Issue, Project ๊ธฐ๋ฅ ์ ๊ทน ํ์ฉํ๊ธฐ
- Database Lock
- Execution Plan
- Index
- Join Algorithm
- MySQL ์ฌ์ฉ์ ๊ถํ๋ถ์ฌ
- Normalization
- Row Oriented vs Column Oriented
- Transaction
- Transaction Isolation Level
- VARCHAR์ ๊ธธ์ด์ ํ
- Abstract Factory Pattern
- Adapter Pattern
- Bridge Pattern
- Builder Pattern
- Chain of Responsibility Pattern
- Class Diagram
- Command Pattern
- Composite Pattern
- Decorator Pattern
- Facade Pattern
- Factory Method Pattern
- Flyweight Pattern
- Iterator Pattern
- Mediator Pattern
- Memento Pattern
- Observer Pattern
- Prototype Pattern
- Proxy Pattern
- SOLID
- Singleton Pattern
- State Pattern
- Strategy Pattern
- Template Method Pattern
- UML
- ๊ฐ์ฒด์งํฅ ํจ๋ฌ๋ค์
- ๊ฒฐํฉ๋์ ์์ง๋
- Annotation
- Call method by reflection
- Exception Handling
- Generic
- Generic wildcard๋ฅผ ์ด์ฉํ extends super ์ฌ์ฉ ์ ์ฃผ์ํ ์
- Graceful shutdown
- JVM
- Java21 Improvement Record, Switch
- Java21 Sequenced Collections
- Java21 Virtual Thread
- Java ์ฝ๋์ ์คํ ๊ณผ์
- Lambda Expression
- Object Class
- Optional
- Primitive Type & Reference Type
- ReentrantLock
- Reflection
- Serialize And Deserialize
- Statement vs Prepared Statement
- Stream
- String, StringBuilder, StringBuffer
- Thread-safe Collection
- Tiles
- Type Casting
- Why is sort() a static method
- map vs flatMap
- tomcat architecture
- ์ถ์ํด๋์ค์ ์ธํฐํ์ด์ค์ ์ฐจ์ด
- Item 1. static factory method
- Item 10. override equals
- Item 11. override hashCode
- Item 12. override toString
- Item 13. override clone
- Item 14. implement comparable
- Item 15. field access modifier
- Item 16. get method
- Item 17. minimize mutability
- Item 18. use composition instead extend
- Item 19. prepare docs if extend
- Item 2. builder pattern
- Item 20. abstract class vs interface
- Item 21. interface default method
- Item 22. use interface only type
- Item 23. use class hierarchy
- Item 24. member class
- Item 25. only one top level class
- Item 26. don't use raw type
- Item 27. remove unchecked warning
- Item 28. replace array with list
- Item 29. use generic type
- Item 3. singleton
- Item 30. use generic method
- Item 31. use wildcard type
- Item 32. varargs with generic
- Item 33. type safe heterogeneous container
- Item 34. enum type
- Item 35. don't use enum ordinal
- Item 36. EnumSet
- Item 37. EnumMap
- Item 38. use interface for extend enum
- Item 39. annotation
- Item 4. private constructor
- Item 40. @Override
- Item 41. marker interface
- Item 42. replace anonymous class with lambda
- Item 43. method reference
- Item 44. default functional interface
- Item 45. stream
- Item 46. collector
- Item 47. return collection
- Item 48. stream parallel
- Item 49. validate parameter
- Item 5. dependency injection
- Item 50. make defensive copies
- Item 51. design method signatures carefully
- Item 52. use overloading judiciously
- Item 53. varargs
- Item 54. return array or collections instead of null
- Item 54. use optional judiciously
- Item 55. return optional judiciously
- Item 56. write javadoc
- Item 57. minimize scope of local variable
- Item 58. for-each
- Item 59. use library
- Item 6. reuse instance
- Item 60. if you need accurate answer, avoid float and double
- Item 61. use primitive type instead of wrapper
- Item 62. avoid string
- Item 63. avoid concat string
- Item 64. refer interface
- Item 65. reflection
- Item 66. avoid using native method
- Item 67. optimize judiciously
- Item 68. naming convention
- Item 69. use exceptions only for exceptional conditions
- Item 7. eliminate unused reference
- Item 70. checked, unchecked exception
- Item 71. avoid using unnecessary checked exceptions
- Item 72. use default exception
- Item 73. translate low level exception
- Item 74. documentation exceptions thrown by method
- Item 75. include failure capture information in detail messages
- Item 76. strive for failure atomicity
- Item 77. don't ignore exceptions
- Item 78. synchronize access to shared mutable data
- Item 79. avoid excessive synchronization
- Item 8. avoid using finalizer, cleaner
- Item 80. prefer executors, tasks, and stream to threads
- Item 81. prefer concurrency utilities to wait and notify
- Item 82. document thread safety
- Item 83. use lazy initialization judiciously
- Item 84. don't depend on the thread scheduler
- Item 85. prefer alternatives to java serialization
- Item 86. implement serializable with great caution
- Item 87. consider using a custom serialized form
- Item 88. write readObject methods defensively
- Item 89. for instance control, prefer enum types to readResolve
- Item 9. try-with-resources
- Item 90. consider serialization proxies instead of serialized instances
- @DynamicInsert, @DynamicUpdate
- Entity Manager
- Find by EntityManager vs JPQL select query
- JPA
- JPA Cascade
- JPA Entity Equality
- JPA Entity LifeCycle
- JPA Entity Lifecycle Event
- JPA bulk update
- Lock
- Open Session In View
- save() vs saveAndFlush()
- Argument Matcher, Argument Captor
- JUnit 4์ @Test ๋ฉ์๋๋ public ์ด์ด์ผ ํ๋๋ฐ, JUnit 5 ๋ถํฐ๋ public์ด ์๋์ด๋ ๋๋ ์ด์
- CIDR
- Forward Proxy vs Reverse Proxy
- Forward vs Redirect
- HTTP์ ์งํ์ ๋ฒ์ ๋ณ ํน์ง
- OSI 7 Layer
- SSL, TLS
- Subnet
- ๊ทธ๋ฆผ์ผ๋ก ๋ฐฐ์ฐ๋ http & network basic
- @Async
- @Configuration
- @RequestParam @RequestBody @ModelAttribute
- AOP
- Autowired
- Bean Scope
- Bean could not be injected because it is a JDK dynamic proxy
- Component Scan
- Component vs Bean
- Configuration ๋ถ๋ฆฌ
- DI
- Embedded tomcat
- Filter, Interceptor, Spring AOP
- IoC Container
- Nested Class์ Bean ๋ฑ๋ก
- Profile
- Properties
- Servlet container vs Spring container
- Spring Bean Life Cycle
- Spring Event
- Spring vs SpringBoot
- Thymeleaf
- Argument Resolver
- Filter
- Filter vs OncePerRequestFilter
- Interceptor
- RestController
- Validator
- exception-handling
- spring-mvc