์ผ์ฑ์ ์, LG CNS, LG ์ ์ ๋ฑ์ ๊ฑฐ์ณ ํ์ฌ๋ SK ๊ณ์ด์ฌ์์ ๋ฐฑ์๋ ๊ฐ๋ฐ์ ๋ฌด๋ฅผ ํ๊ณ ์์ต๋๋ค.
๊ฐ์์ค๋น๋ฅผ ํ๋ฉด์ ์ค์ค๋ก ๋ ๊น์ด ์๊ฒ ๋์ด ๊ฐ์ํ๋ ๊ฑธ ์ข์ํ๋ ๊ฐ๋ฐ์์ ๋๋ค. ๐ ๐ ๐
youtube: https://www.youtube.com/@HelloWorldStudy
Courses
Reviews
- Virtual thread in spring boot completed in 1 hour
- Virtual thread in spring boot completed in 1 hour
- Developing a spring boot rest api service in just 1 hour
- Developing a spring boot rest api service in just 1 hour
- Developing a spring boot rest api service in just 1 hour
Posts
Q&A
๋ค์ ๊ฐ์๋ฅผ ์ค๋นํ์ ๋ค๋ฉด ์์ง์ข ๋์ฌ์ฃผ์ค ์ ์์ผ์ ๊ฐ์..?ใ ใ ใ
๋ณธ ๊ฐ์๊ฐ ์ ๊ฐ ์ธํ๋ฐ์ ์ฌ๋ฆฐ ์ฒซ๋ฒ์งธ ๊ฐ์๋ผ์ ์๋์ด ๋ฎ๊ฒ ๋ นํ๋์์ต๋๋ค. ใ กใ ์ ๊ฐ ์ดํ์ ์ฌ๋ฆฐ ๋ค๋ฅธ ๊ฐ์๋ค์ ์๋๋ฌธ์ ๋ ํด๊ฒฐํ์์ต๋๋ค. ์ ๋ ์์ํ๋ค์ ใ ใ ก
- 0
- 2
- 133
Q&A
Invalid bound statement (not found): com.helloword.fitstStart.mapper.QuickMapper.findById ์ ๋ํ ์ง์ ์ ๋๋ค.
1) mybatisX ํ๋ฌ๊ทธ์ธ ์ค์น์ mapper xml ์ด๋์ด ์ ๋๋์? 2) yml ์ xml ํ์ผ์ ์์น๋ฅผ ์ ํํ ์ค์ ํ๋์? ์คํ๋ฑ๋ฑ3) xml ์ namespace ๋ถ๋ถ์ java package + class name ์ ์คํ๊ฐ ์๋์?4) ์ ์๋ฌ ์ฝ๋๋ฅผ ๋ณด๋ฉด firstStart ๊ฐ ์๋๋ผ fitstStart ๋ผ๊ณ ์คํ๊ฐ ์๋๋ฐ, java, xml ๋ชจ๋ ๋์ผํ ๋จ์ด๋ฅผ ์ผ๋์? ์ ์ฒดํฌ๋ฅผ ํด๋ ์ฌ์ ํ ์์ ์์ผ๋ฉด github ์ ์ ์ฒด ์ฝ๋ push ํ ํ ์๋ ค์ฃผ์๋ฉด ํ์ธํด๋ณด๊ฒ ์ต๋๋ค.
- 0
- 1
- 272
Q&A
pinned ํ์ธ๋ฒ
https://docs.oracle.com/en/java/javase/21/core/virtual-threads.html#GUID-2BCFC2DD-7D84-4B0C-9222-97F9C7C6C521์ oracle guide ์๋ ๋ช ํํ ์ ํ์์ง ์์์ ์ ๋ ์ ๋ชฐ๋๋ค์. ์ ๋ณด ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 210
Q&A
1๊ฐ ์ฑ๋ฅ๋น๊ต ์ง๋ฌธ
๋ค ๋ง์ต๋๋ค. 500๊ฐ๋ก ๋๋ฆฌ๋ฉด ๋๋ค ์ฑ๋ฅ์ด ๋น์ทํ๊ฒ ๋์ฌ๊ฒ๋๋ค. ๊ทธ๋ฌ๋ 500๊ฐ๊ฐ ์๋๋ผ 1๋ง๊ฐ ์ฒ๋ผ ์ซ์๊ฐ ๋๋ฌด ์ปค์ ธ๋ฒ๋ฆฌ๋ฉด virtual thread ๊ฐ ํจ์ฌ ๋นจ๋ผ์ง๋๋ค. ์ ์ผ ์ฒ์๋์ค๋ ์ฑ๋ฅ ๋น๊ต์์์ intro ์ฑ๊ฒฉ์ด๋ผ์ ์์ธํ ์ค๋ช ์ ์๋ตํ๊ฒ์ด๊ณ , ๋ค์ชฝ ๊ฐ์ ๋ค ๋ณด์๋ฉด ํน์ ๊ฐฏ์ ์ด์์ platform thread ์์ฑ์ ์ฑ๋ฅ ํ๊ณ๊ฐ ์๋๊ฑธ ์ ์ ์์๊ฒ๋๋ค. :)
- 0
- 1
- 233
Q&A
Performance ํ ์คํธ์์ CPU ์์ ๋ Virtual์ด ๋น ๋ฅธ๊ฒ ๊ฐ์ต๋๋ค
2000๋ฐํด๋ผ๋๊ฑด platform thread pool size๋ 2000๊ฐ๋ก ์ค์ ํ์๊ฒ ๊ฐ์ต๋๋ค. ๋๋ฌด ๋ง์ platform thread ๋ฅผ ์์ฑํ๊ธฐ์ ๊ทธ ์์ฒด๋ง์ผ๋ก thread ์์ฑ๋น์ฉ ๋ฐ context switching ๋น์ฉ์ด ๋ง์ด ๋ค์ด์ ์คํ๋ ค ๋๋ ค์ง๊ฒ ๊ฐ์ต๋๋ค. 2000๊ฐ๊ฐ ์๋ 100๊ฐ, 300๊ฐ ์ ๋ ์ ์ (?)์์ค์ thread pool ์์๋ platform thread ๊ฐ ๋ ๋น ๋ฅด๊ฒ ๋์ฌ๊ฒ๋๋ค.
- 0
- 1
- 255
Q&A
์ค์ผ์ฅด๋ฌ ์ง๋ฌธ๋๋ฆฝ๋๋ค
virtual thread ๊ฐ ์์ฑ๋ ๋ ๋ง๋ค ์ซ์๊ฐ ํ๋์ฉ ์ฆ๊ฐํฉ๋๋ค.virtual thread ๋ ์์ฑ->์ํ->์ญ์ ๋๋ฏ๋ก, 5์ด๋ง๋ค ์๋ก์ด virtual thread ๊ฐ ์์ฑ๋์ด ๋ฒํธ๊ฐ 1,2,3... ์์ผ๋ก ์ฆ๊ฐํ๊ฒ ๋ฉ๋๋ค.virtual thread ์คํ์ platform thread ๋ฅผ ์ฌ์ฉํ๋๋ฐ, ์ง๋ฌธ์๋์ cpu core ์๋ 10๊ฐ์ฌ์ ForkJoinPool-1-worker-1 ๋ถํฐ ForkJoinPool-1-worker-10 ๊น์ง ๋์ค๋ ๊ฑธ๋ก ๋ณด์ ๋๋ค. ForkJoinPool ์ platform thread pool ์ด๋ฉฐ, cpu core ์ ๋งํผ ๋ง๋ค์ด์ง๋๋ค.
- 0
- 2
- 198
Q&A
mybatis์ hashmap ๋ฐ์ดํฐ ํธ์ถ์ ๋๋ฌธ์๋ก ๋ถ๋ฌ์์ผ ๋๋์?
์๋์ฒ๋ผ ID, NAME ์ ๊ฐ์ ธ์ค๋ ๊ฑฐ๋ผ๋ฉด map.get("ID"); ์ฒ๋ผ ๋๋ฌธ์๋ก ์ ์ด์ค์ผ ํฉ๋๋ค. select ID, NAMEfrom XXX ๋๋ฌธ์ ๋์ ์๋ฌธ์๋ฅผ ์ฐ๊ณ ์ถ์ผ๋ฉด ์ฟผ๋ฆฌ๋ฌธ์ ์๋์ฒ๋ผ as ๋ฅผ ์ด์ฉํด์ ์๋ฌธ์๋ก ์ ์ด์ฃผ๋ฉด ๋ฉ๋๋ค.select ID as id, NAME as namefrom XXX
- 0
- 1
- 369
Q&A
@Autowired ๊ด๋ จ
@Autowired ๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ spring boot ๊ตฌ๋์ bean ์ฃผ์ ์ด ๋์ง ์์ผ๋ฉด ์์์์ ์ ์๋ฌ๊ฐ ๋์ ๊ตฌ๋์ด ๋์ง ์์ต๋๋ค. ์ง๋ฌธ ๋ด์ฉ๋ง ๋ด์๋ ์ด ๊ฒฝ์ฐ๊ฐ ์๋๋ฏ ํ๋ฐ. ์ฝ๋๋ ์๋ฌ ๋ฉ์์ง๋ฅผ ์์ธํ ์๋ ค์ฃผ์๋ฉด ์ข๊ฒ ๋ค์
- 0
- 1
- 201
Q&A
๋ง์ด๋ฐํฐ์ค - ํด์ฌ๋งต
์ผ๋ฐ์ ์ผ๋ก 2๊ฐ ์ด์์ ๋ฐ์ดํฐ๋ฅผ ๋งค๊ฐ๋ณ์๋ก ๋๊ฒจ์ hashmap ์ผ๋ก ์์ ๋ฅผ ๋ง๋ค์์ต๋๋ค.id, name, age ๋ฅผ ๋๊ฒจ์ผ ํ๋ค๋ฉดmap.put("id", "xx");map.put("name", "yyy");map.put("age", 33); ์ด๋ ๊ฒ map ์ 3๊ฐ์ง ๋งค๊ฐ๋ณ์๋ฅผ ๋ชจ๋ ๋ฃ์ด์ ๋๊ธฐ๊ณ xml ํ์ผ์์๋#{id} ,#{name} , #{age} ์ฒ๋ผ ๋นผ๋ด๋ฉด ๋ฉ๋๋ค. ์ฆ #{object๋ช .ํ๋๋ช } ์ด ์๋๋ผ #{ํ๋๋ช } ์ผ๋ก ํ๋ฉด ๋ฉ๋๋ค. ์ ๋ฌ ํ๋ผ๋ฏธํฐ๊ฐ 1๊ฐ ๋ฟ์ด๋ฉด hashmap ๋์ string ๋ฑ์ ์ ์ด๋ ๋ฉ๋๋ค. ๋ ์์ธํ๊ฑด https://blog.naver.com/hello_world_study/222688684376 ๋ ๋ค๋ฅธ ๋ธ๋ก๊ทธ, ๊ณต์๊ฐ์ด๋ ๋ฑ์ ์ฐธ๊ณ ํด๋ณด์ธ์
- 0
- 1
- 484
Q&A
์๋ ํ์ธ์ ๋ฉํธ๋ฆญ ๋ฐ์ดํฐ ๋ณด๊ด์ฃผ๊ธฐ ์ง๋ฌธ์ ๋๋ค!
cpu, mem usage ๋ฑ์ metric ์ ๋ณด๋ ์ผ๋ฐ์ ์ผ๋ก prometheus ๋ฑ๊ณผ ์ฐ๋๋๋ฉฐ prometheus ์์ ์ ์ฅ/๊ด๋ฆฌ ํฉ๋๋ค. ๋ฐ๋ผ์ ๋ณด๊ด์ฃผ๊ธฐ ์ค์ ๋ฑ๋ metric ์ ๋ณด๋ฅผ ์ ์ฅ๊ด๋ฆฌํ๋ prometheus ๋ฑ์ ํตํด ์ค์ ํ๋๊ฒ ๋ฐ๋์งํ๊ฒ์ผ๋ก ์๋๋ค.
- 0
- 3
- 327