ÃֽŠJava °³¹ßÀ» À§ÇÑ ½ºÇÁ¸µ ºÎÆ® ¸¶½ºÅ͸¦ À§ÇÑ Á¾ÇÕ °¡À̵åÀÎ '°ø½Ä ¹®¼·Î ¹è¿ì´Â ½ºÇÁ¸µ ºÎÆ®'¿¡ ¿À½Å °ÍÀ» ȯ¿µÇÕ´Ï´Ù. ½ºÇÁ¸µ ºÎÆ®´Â °£¼Òȵǰí À¯¿¬ÇÑ È¯°æÀ» Á¦°øÇÏ¿© ÇÁ·Î´ö¼Ç Áö¿ø ¾ÖÇø®ÄÉÀ̼ÇÀÇ °³¹ßÀ» °£¼ÒÈÇϵµ·Ï ¼³°èµÈ °·ÂÇÑ ÇÁ·¹ÀÓ¿öÅ©ÀÔ´Ï´Ù. ÀÌ Ã¥Àº ½ºÇÁ¸µ ºÎÆ®ÀÇ ±âº»ºÎÅÍ °í±Þ ±â´É±îÁö ´Ù·ç¸ç È¿À²ÀûÀÌ°í È®Àå °¡´ÉÇÏ¸ç °·ÂÇÑ ¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸ÃàÇÒ ¼ö ÀÖ´Â Áö½ÄÀ» °®Ãßµµ·Ï ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù.
1Àå, '½ÃÀÛÇϱâ'¿¡¼´Â ½ºÇÁ¸µ ºÎÆ®ÀÇ ÇÙ½É °³³äÀ» ¼Ò°³ÇÏ°í ¿©Á¤À» ½ÃÀÛÇÏ´Â µ¥ ÇÊ¿äÇÑ È¯°æÀ» ¼³Á¤ÇÏ´Â µ¥ µµ¿òÀ» ÁÝ´Ï´Ù. ½Ã½ºÅÛ ¿ä±¸ »çÇ×, ½ºÇÁ¸µ ºÎÆ® ¼³Ä¡ ¹æ¹ý, ù ¹ø° ½ºÇÁ¸µ ºÎÆ® ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µå´Â ¹æ¹ýÀ» ¹è¿ì¸ç ÇÁ·¹ÀÓ¿öÅ©ÀÇ Ãß°¡ °³³äÀ» Ž»öÇÒ ¼ö Àִ źźÇÑ ±â¹ÝÀ» Á¦°øÇÕ´Ï´Ù.
2Àå, '½ºÇÁ¸µ ºÎÆ®·Î °³¹ßÇϱâ'¿¡¼´Â °³¹ß ÇÁ·Î¼¼½º¿¡ ´ëÇØ ÀÚ¼¼È÷ »ìÆ캾´Ï´Ù. ¿Ã¹Ù¸¥ ºôµå ½Ã½ºÅÛ ¼±ÅÃ, ÄÚµå ±¸¼º, Ŭ·¡½º ±¸¼º, ½ºÇÁ¸µ ºÎÆ®ÀÇ ÀÚµ¿ ±¸¼º ÀÌÇØ¿Í °°Àº Çʼö ÁÖÁ¦¸¦ ´Ù·ì´Ï´Ù. ¶ÇÇÑ @SpringBootApplication ¾î³ëÅ×À̼ÇÀ» »ç¿ëÇÏ°í, Spring BeanÀ» ÅëÇØ Á¾¼Ó¼ºÀ» °ü¸®ÇÏ°í, ÇÁ·Î´ö¼ÇÀ» À§ÇØ ¾ÖÇø®ÄÉÀ̼ÇÀ» È¿°úÀûÀ¸·Î ½ÇÇàÇÏ°í ÆÐŰ¡ÇÏ´Â ¹æ¹ýµµ ¹è¿ó´Ï´Ù.
3Àå, 'ÇÙ½É ±â´É'¿¡¼´Â SpringApplication Ŭ·¡½º, ¿ÜºÎÈµÈ ±¸¼º °ü¸®, ´Ù¾çÇÑ È¯°æ¿¡ ´ëÇÑ ÇÁ·ÎÆÄÀÏ È°¿ë µî ½ºÇÁ¸µ ºÎÆ®ÀÇ ÇʼöÀûÀÎ Ãø¸éÀ» ´Ù·ì´Ï´Ù. ¶ÇÇÑ ·Î±ë, ±¹Á¦È ¹× AOP(°üÁ¡ ÁöÇâ ÇÁ·Î±×·¡¹Ö)¿¡ ´ëÇؼµµ »ìÆ캾´Ï´Ù. ÀÌ Àå¿¡¼´Â JSON ó¸®, ÀÛ¾÷ ½ÇÇà ¹× ½ºÄÉÁÙ¸µ°ú ÇÔ²² Docker Compose ¹× Testcontainers¿Í °°Àº ÃֽŠµµ±¸¿¡ ´ëÇØ ÀÚ¼¼È÷ »ìÆ캾´Ï´Ù. ÀÚü ÀÚµ¿ ±¸¼º ¸¸µé±â ¹× Kotlin Áö¿ø°ú °°Àº °í±Þ ±â´Éµµ ¼Ò°³ÇÕ´Ï´Ù.
4Àå, 'À¥'¿¡¼´Â ¼ºí¸´ ±â¹Ý ¹× ¹ÝÀÀÇü À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸ðµÎ ºôµåÇÏ´Â µ¥ ÁßÁ¡À» µÓ´Ï´Ù. ¾ÖÇø®ÄÉÀ̼ÇÀ» Á¤»óÀûÀ¸·Î Á¾·áÇÏ°í, Spring Security¸¦ »ç¿ëÇÏ¿© ¾ÖÇø®ÄÉÀ̼ÇÀ» º¸È£ÇÏ°í, Spring SessionÀ¸·Î ¼¼¼ÇÀ» °ü¸®ÇÏ´Â ¹æ¹ýÀ» ¹è¿ì°Ô µË´Ï´Ù. ¶ÇÇÑ SpringÀ¸·Î GraphQL API¸¦ ºôµåÇÏ°í ÇÏÀÌÆ۹̵ð¾î¸¦ Spring HATEOAS¿Í ÅëÇÕÇÏ´Â ¹æ¹ýµµ »ìÆ캾´Ï´Ù.
5Àå, 'µ¥ÀÌÅÍ'¿¡¼´Â ´Ù¾çÇÑ µ¥ÀÌÅÍ ½ºÅ丮Áö ¼Ö·ç¼ÇÀ¸·Î ÀÛ¾÷ÇÏ´Â ¹æ¹ýÀ» ¾È³»ÇÕ´Ï´Ù. SQL µ¥ÀÌÅͺ£À̽º¿Í »óÈ£ ÀÛ¿ëÇϵç NoSQL ±â¼ú·Î ÀÛ¾÷Çϵç ÀÌ Àå¿¡¼´Â ½ºÇÁ¸µ ºÎÆ®¸¦ »ç¿ëÇØ µ¥ÀÌÅ͸¦ È¿À²ÀûÀ¸·Î °ü¸®ÇÒ ¼ö ÀÖ´Â ±âÃÊ Áö½ÄÀ» Á¦°øÇÕ´Ï´Ù.
6Àå, 'IO'¿¡¼´Â ij½Ì, ÄõÃ÷¸¦ »ç¿ëÇÑ ÀÛ¾÷ ¿¹¾à, À̸ÞÀÏ Àü¼Û°ú °°Àº ´Ù¾çÇÑ ÀÔÃâ·Â ÀÛ¾÷À» »ìÆ캾´Ï´Ù. ¶ÇÇÑ ÀÌ Àå¿¡¼´Â »ç¿ëÀÚ ÀÔ·Â À¯È¿¼º °Ë»ç, REST ¼ºñ½º È£Ãâ, À¥ ¼ºñ½º ó¸®, JTA¸¦ »ç¿ëÇÑ ºÐ»ê Æ®·£Àè¼Ç °ü¸®¿¡ ´ëÇؼµµ ´Ù·ì´Ï´Ù.
7Àå, '¸Þ½Ã¡'¿¡¼´Â ¸Þ½ÃÁö ±â¹Ý ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¼¼°è¸¦ ¼Ò°³ÇÕ´Ï´Ù. JMS, AMQP, Apache Kafka, Apache Pulsar¸¦ »ç¿ëÇÏ¿© ¸Þ½Ã¡ ¼Ö·ç¼ÇÀ» ±¸ÇöÇÏ´Â ¹æ¹ýÀ» ¹è¿ó´Ï´Ù. ¶ÇÇÑ ¿øÈ°ÇÑ µ¥ÀÌÅÍ ±³È¯À» À§ÇØ RSocket, À¥¼ÒÄÏ, ½ºÇÁ¸µ ÅëÇÕÀ» »ç¿ëÇÑ ½Ç½Ã°£ Åë½Å¿¡ ´ëÇؼµµ ´Ù·ì´Ï´Ù.
ÀÌ Ã¥À» ÅëÇØ ½ºÇÁ¸µ ºÎÆ®¿Í ±× ¹æ´ëÇÑ »ýÅ°踦 ¿ÏÀüÈ÷ ÀÌÇØÇÒ ¼ö ÀÖ½À´Ï´Ù. À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ±¸Ãà, µ¥ÀÌÅÍ Ã³¸®, ¸Þ½Ã¡ ½Ã½ºÅÛ °ü¸® µî ¾î¶² ºÐ¾ß¿¡¼µç '½ºÇÁ¸µ ºÎÆ®'´Â ÃֽŠJava °³¹ß¿¡¼ ¼º°øÇÒ ¼ö ÀÖ´Â µµ±¸¸¦ Á¦°øÇÕ´Ï´Ù.
½ºÇÁ¸µ ºÎÆ®¸¦ óÀ½ °æÇèÇϽô ºÐÀ̰ųª ¿À¸®Áö³Î °ø½Ä ¹®¼¸¦ ¹«³È÷ Çؼ®ÇÏ½Ç ¼ö ÀÖ´Â ºÐ¿¡°Ô´Â ÀÌ Ã¥À» Ãßõµå¸®Áö ¾Ê½À´Ï´Ù.
1Àå : ½ÃÀÛÇϱâ
___1. ½ºÇÁ¸µ ºÎÆ® ¼Ò°³
___2. ½Ã½ºÅÛ ¿ä±¸ »çÇ×
___3. ½ºÇÁ¸µ ºÎÆ® ¼³Ä¡
___4. ù ¹ø° ½ºÇÁ¸µ ºÎÆ® ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß
2Àå : ½ºÇÁ¸µ ºÎÆ®·Î °³¹ß
___1. ½Ã½ºÅÛ ºôµå
___2. ÄÚµå ±¸Á¶È
___3. ±¸¼º Ŭ·¡½º
___4. ÀÚµ¿ ±¸¼º
___5. Spring Beans ¹× ÀÇÁ¸¼º ÁÖÀÔ
___6. @SpringBootApplication ¾î³ëÅ×ÀÌ¼Ç »ç¿ë
___7. ¾ÖÇø®ÄÉÀÌ¼Ç ½ÇÇà
___8. °³¹ßÀÚ µµ±¸
___9. ÇÁ·Î´ö¼ÇÀ» À§ÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç ÆÐŰ¡
3Àå : ÇÙ½É ±â´É
___1. SpringApplication
___2. ¿ÜºÎÈµÈ ±¸¼º
___3. ÇÁ·ÎÆÄÀÏ
___4. ·Î±ë
___5. ±¹Á¦È
___6. °üÁ¡ ÁöÇâ ÇÁ·Î±×·¡¹Ö
___7. JSON
___8. ÀÛ¾÷ ½ÇÇà ¹× ½ºÄÉÁÙ¸µ
___9. Å×½ºÆ®
___10. Docker Compose Áö¿ø
___11. Testcontainers Áö¿ø
___12. ÀÚü ÀÚµ¿ ±¸¼º ¸¸µé±â
___13. ÄÚƲ¸° Áö¿ø
___14. SSL
4ˌ : ˴
___1. ¼ºí¸´ À¥ ¾ÖÇø®ÄÉÀ̼Ç
___2. ¹ÝÀÀÇü À¥ ¾ÖÇø®ÄÉÀ̼Ç
___3. ¿ì¾ÆÇÑ Á¾·á
___4. Spring Security
___5. ½ºÇÁ¸µ ¼¼¼Ç
___6. GraphQLÀ» À§ÇÑ Spring
___7. Spring HATEOAS
5Àå : µ¥ÀÌÅÍ
___1. SQL µ¥ÀÌÅͺ£À̽º
___2. NoSQL ±â¼ú·Î ÀÛ¾÷Çϱâ
6Àå : IO
___1. ij½Ì
___2. Hazelcast
___3. Quartz Scheduler
___4. À̸ÞÀÏ º¸³»±â
___5. °ËÁõ
___6. REST ¼ºñ½º È£Ãâ
___7. À¥ ¼ºñ½º
___8. JTA¸¦ »ç¿ëÇÑ ºÐ»ê Æ®·£Àè¼Ç
7Àå : ¸Þ½Ã¡
___1. JMS
___2. AMQP
___3. Apache Kafka Áö¿ø
___4. Apache Pulsar Áö¿ø
___5. RSocket
___6. ½ºÇÁ¸µ ÅëÇÕ
___7. WebSockets