tkaqkeldk5261
@tkaqkeldk5261
Reviews Written
8
Average Rating
5.0
Posts
Q&A
snowflake ์๊ณ ๋ฆฌ์ฆ - synchronized ํ์ฉํ ๋์์ฑ ์ ์ด
์ง๋ฌธ 1: ๋ฉํฐ ์๋ฒ ํ๊ฒฝ์์์ ๋์์ฑ ์ ์ดSnowflake ์๊ณ ๋ฆฌ์ฆ์์ synchronized ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋์์ฑ์ ์ ์ดํ๋ ๊ฒ์ ๋จ์ผ ์๋ฒ ๋ด์์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ฉํฐ ์๋ฒ ํ๊ฒฝ์์๋ ๊ฐ ์๋ฒ๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ID๋ฅผ ์์ฑํ๊ธฐ ๋๋ฌธ์, ์๋ฒ ๊ฐ์ ๋์์ฑ ๋ฌธ์ ๋ ๋ฐ์ํ์ง ์์ต๋๋ค. ๊ฐ ์๋ฒ๊ฐ ๊ณ ์ ํ ๋ ธ๋ ID๋ฅผ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์, ๋์ผํ ์ํ์ค ๋ฒํธ๊ฐ ์ฌ์ฉ๋๋๋ผ๋ ๊ฐ ์๋ฒ๊ฐ ์์ฑํ๋ ID๋ ๊ณ ์ ํฉ๋๋ค.์ง๋ฌธ 2: Redis์ ๊ฐ์ ์ธ๋ถ ๋ฏธ๋ค์จ์ด ์ฌ์ฉ๋ฉํฐ ์๋ฒ ํ๊ฒฝ์์ ๊ฐ ์๋ฒ๊ฐ ๊ณ ์ ํ ๋ ธ๋ ID๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉด, ๊ธฐ๋ณธ์ ์ผ๋ก Snowflake ์๊ณ ๋ฆฌ์ฆ์ ์ถฉ๋ ์์ด ๋์ํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ง์ฝ ๋ ธ๋ ID์ ์ถฉ๋์ด๋ ๋ค๋ฅธ ์ด์ ๋ก ์ธํด ์ถ๊ฐ์ ์ธ ๋์์ฑ ์ ์ด๊ฐ ํ์ํ๋ค๋ฉด, Redis์ ๊ฐ์ ์ธ๋ถ ๋ฏธ๋ค์จ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ญ์ ์ธ ์ํ์ค ๋ฒํธ๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, Redis์ INCR ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ญ์ ์ผ๋ก ์ฆ๊ฐํ๋ ์ํ์ค ๋ฒํธ๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.์ด ์ธ๋ถ ๋ฏธ๋ค์จ์ด๋ฅผ ์ฌ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ฅ์ ์ด ์์ต๋๋ค:โข ์ค์ํ๋ ๊ด๋ฆฌ: ๋ชจ๋ ์๋ฒ๊ฐ ๋์ผํ ์ํ์ค ๋ฒํธ๋ฅผ ์ฐธ์กฐํ๋ฏ๋ก, ๋ ธ๋ ID๊ฐ ๊ฒน์น๋๋ผ๋ ID ์ถฉ๋์ ๋ฐฉ์งํ ์ ์์ต๋๋ค.โข ํ์ฅ์ฑ: ์๋ฒ๊ฐ ์ถ๊ฐ๋๋๋ผ๋ ์ค์ํ๋ ์ํ์ค ๊ด๋ฆฌ๋ก ์ธํด ์ฝ๊ฒ ํ์ฅ ๊ฐ๋ฅํฉ๋๋ค.๋ฉํฐ ์๋ฒ ํ๊ฒฝ์์ ๋ ธ๋ ID์ ์ถฉ๋ ๊ฐ๋ฅ์ฑ์ ์ต์ํํ๋ ค๋ฉด Redis์ ๊ฐ์ ์ธ๋ถ ๋ฏธ๋ค์จ์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ ๋ฆฌํ ์ ์์ต๋๋ค.
- 0
- 3
- 194
Q&A
fake Repository๋ก ํ ์คํธ๋ฅผ ์งํํ๋ ค๊ณ ํฉ๋๋ค,
public class InMemoryOriginalRepository implements OriginalRepository { private final Map entities = new HashMap(); private final AtomicLong idGenerator = new AtomicLong(1); @Override public BillingPay save(TestEntity entity) { long id = idGenerator.getAndIncrement(); setPrivateField(entity, "id", id); // ์ด์น๊ตฌ๋ ๋ฆฌํ๋ ์ ์ผ๋ก ์ฒ๋ฆฌ :) entities.put(id, entity); return entity; } private void setPrivateField(Object object, String fieldName, Object value) { try { Field field = object.getClass().getDeclaredField(fieldName); field.setAccessible(true); field.set(object, value); } catch (NoSuchFieldException | IllegalAccessException e) { e.printStackTrace(); } } ์ด์ ๋ db ์ id ๋ฅผ ์๋์ผ๋ก ์ฆ๊ฐ์ํค๋๊ฑธ ์์ํด๋ฒ๋ ธ๊ธฐ ๋๋ฌธ์ด์ฃต๊ทธ๋์ entity ์ setId ์ด๋ด๋ ๊ณ ์๋๋ค์ด ์๊ธฐํ๋ ๋ฆฌํ๋ ์ ์ ์กฐ์ ธ์ฃผ๋ฉด๋ฉ๋๋ค
- 1
- 3
- 1.1K
Q&A
props์ผ๋ก ๊ฐ์ ธ์จ ๋ฐ์ํ ๋ณ์ ์ ๋ฐ์ดํธ ์ด์
Vue3 + Quasar + Firebase !!! ๊ตฐ์นจ์ด ๋๋ค์ ๊ฐ์ฌ๋ ... ํ์ดํ ์ ๋๋ค !!!
- 0
- 2
- 2.1K
Q&A
ListView.vue๋ฅผ ts๋ก ๋ณ๊ฒฝ ํ ์๋ฌ๊ฐ ๋ฐ์ํฉ๋๋ค.
enum ์ ๊ฐ์๋ฅผ ์ฌ์ผํ๋๊ตฐ์ฌ :)
- 1
- 2
- 578
Q&A
์ฅ๋ฐ๊ตฌ๋ ์ถ๊ฐ๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ํ๋ค ๋ณด๋ฉด ๊ฐ๋ 500์๋ฌ๊ฐ ๋ฐ์ํฉ๋๋ค.
(์ฌ์ง)์น ์ด๋ถ๋ถ์ ๋ ๋ ค์ฃผ์๊ณ ํํธ๋ (์ฌ์ง) ์๋์ ๊ฐ์์ต๋๋ค ์ด๋ฏธ ํ์ฐธ์ง๋๋ถ๋ถ ์ด๋, ํน์๋ ๊ฐ์ ์ด์ ๋ถ๋ค์ db.json cart ๋ฐฐ์ด ๋น์๋ณด์ธ์ฉ---- ์ฅ๋ฐ๊ตฌ๋์ ๋ด๊ธฐ์ ์กฐํํ ์ด๋ฏธ id ๊ฐ ์กด์ฌํ๋ฉด ๋ฐฉ์ดํด์ฃผ๋ ์ฝ๋ฉ์ ์ถ๊ฐํด์ฃผ๋๊ฒ๋ ์ฐ์ต์ผ์ ๊ด์ฐฎ์๊ฒ๊ฐ์์
- 3
- 2
- 454
Q&A
error ํ์ด์ง
์๋ฌธ์๋ต ์ ๋๋ค . layouts ํด๋ ์์ฑํ -> ๋๊ฐ์ ๊ตฌ์กฐ์ props ๋ก error ๋ฅผ ๋ฐ๊ฒ๋๋ฉด status Code ๋ฅผ ๋ฐ์์ ์์๊ตฐ์ template> div> h1 v-if="error.statusCode === 404">Page not foundh1> h1 v-else>An error occurredh1> NuxtLink to="/">Home pageNuxtLink> div> template> script> export default { props: { error: { type: Object, default: () => {}, }, }, }; script>
- 2
- 5
- 869
Q&A
Swagger ์ค๋ฅ ์ pom.xml ์ค์ ๋ฐฉ๋ฒ
์๋ฐ๊ธฐ๊ฐ ๋๋ฌ์ง๋ง ๊ทธ๋๋ก๋ค์ฉ ใ ใ
- 1
- 2
- 392
Q&A
change ์ธ๊ธํ์ค๋
์ ๊ฐ์ฌํฉ๋๋ค ใ ใ
- 4
- 3
- 325
Q&A
@Valid ์ ํจ์ฑ ์ฒดํฌ ์ ์ง๋ฌธ ์์ต๋๋ค!
์ ๋ ๋น์ทํ ์๋ฌ์์ต๋๋ค. model.addAttribute("form", new BookForm()); ์ฌ๊ธฐ์ ๊ทธ๋ฅ form ์ผ๋ก ์ ์ธ์ This application has no explicit mapping for /error, so you are seeing this as a fallback. result ๋ฅผ ๋ก๊ทธ๋ก ์ฐ์ด๋ณด๋ Field error in object 'bookForm' on field 'name': rejected value []; codes [NotEmpty.bookForm.name,NotEmpty.name,NotEmpty.java.lang.String,NotEmpty];------ ํผ์ ์ธ๋ฐ. ํ์๋ฆฌํ ๊ฐ form ์์ ๋ช ์์ ์ผ๋ก ์ ๋์ด๋ฅผ ๋ถ์ฌ์ฃผ์ง ์์ผ๋ฉด ์๋์ผ๋ก ๋ถ์ง๋ง model.attribute ์์๋ ์๋์ผ๋ก ๋ถ์ฌ์ฃผ๋ ์ ๋์ด๋ฅผ ํ์ดํ ํ์ง ์์ผ๋ฉด ๋ชป์ฐพ๋ ๋ด ๋๋ค... "๋ด๊ฐ form ์ด ์ ์ง bookForm ์ธ๊ฑฐ๊ฐ์์ ๋ถ์ฌ์ฃผ๊ธด ํ๋ค๋ง... ์ง์ง form์ด bookForm ์ผ๊น? " ํ๋ ์ธก๋ฉด์ผ๋ก ์๊ฐํด๋ณด๊ณ bookForm ๋ถ์ฌ์ฃผ๋ ์๋๋๊น ์ง๋์ ๊ทธ๋ฅ ๋๊ธฐ๊ธด ํ์ต๋๋ค ๊ฒ์ฆ์ด ํ์ํ ๊ฒ๊ฐ์ง๋ง ๋ง๋๊ฒ๊ฐ์์
- 3
- 4
- 625
Q&A
godoc ์คํ ์ค๋ฅ ๋ฌธ์
go get -v golang.org/x/tools/cmd/godoc ํฐ๋ฏธ๋์ ์ ๋ช ๋ น์ด ์ ๋ ฅ์ ์๋ฉ๋๋ค ๋์ถฉ...? ์คํ์ค๋ฒํ๋ก์ฐ ๊ธ์ ์ฐพ๋ค๋ณด๋ ์ต๊ทผ๋ฒ์ ์ godoc ๊ฐ ๋ค์ด์๋๊ฒ ๋ญ๊ฐ ๋ฐ๋๊ฒ๊ฐ๋ค์ . ์์ ๋ชจ๋ฅด๊ฒ ์ง๋ง ์์ ๊ฐ์ด ์ ๋ ฅํ godoc -http:6060 ์ ๋ ฅํ ( 8080 ์๊ด์์ต๋๋ค. ) chrome ์ ๋ก์ปฌ 6060 ์ ๋ ฅํ enter => godoc ์ ๋น๋๋ค.
- 1
- 2
- 513




