profile
๐Ÿ’ป
post-thumbnail

๋ถ„์‚ฐ๋ฝ๋„ ๋ฝ(Lock)์ด๋‹ค - 1. ๋‚™๊ด€์  ๋ฝ๊ณผ ๋น„๊ด€์  ๋ฝ

๋ฝ(Lock)์€ ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๋‚˜ ํŠธ๋žœ์žญ์…˜์ด ๋™์‹œ์— ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๋Š” ๊ฒฝ์šฐ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋™์‹œ์„ฑ ๋ฌธ์ œ๋ฅผ ๋ฐฉ์ง€ํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด๋‹ค. ๋ฝ์€ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ์ค‘์š”ํ•œ ๋ฐฉ๋ฒ•์ด๋ฉฐ, ํŠธ๋žœ์žญ์…˜์˜ ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•˜๊ฑฐ๋‚˜ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.๋น„๊ด€์  ๋ฝ (Pessimistic Lock)

2024๋…„ 9์›” 30์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Spring Boot ๋‹ค๊ตญ์–ด ์ง€์›, DB ๋ฒˆ์—ญ๊ฐ’ ์ฒ˜๋ฆฌํ•˜๊ธฐ - AOP ๋ฐฉ์‹์œผ๋กœ response ๋ฒˆ์—ญํ•˜๊ธฐ

์ด์ „์— Entity๋‹จ์—์„œ ์ง์ ‘ ๋ฒˆ์—ญ๊ฐ’๊ณผ ๋งคํ•‘ํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด,์—”ํ‹ฐํ‹ฐ๋งˆ๋‹ค Translatable ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ , ๋ฒˆ์—ญ ํ•„๋“œ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ๋ฐ˜๋ณต๋˜๊ณ , ํ•„๋“œ๊ฐ€ ์ถ”๊ฐ€๋  ๋•Œ๋งˆ๋‹ค TranslatableField๋ฅผ ํ•จ๊ป˜ ์ถ”๊ฐ€ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค๋Š” ๋ถ€๋ถ„์— ๋Œ€ํ•ด ๋ฒˆ๊ฑฐ๋กœ์›€์„ ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค

2024๋…„ 7์›” 3์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Spring Boot ๋‹ค๊ตญ์–ด ์ง€์›, DB ๋ฒˆ์—ญ๊ฐ’ ์ฒ˜๋ฆฌํ•˜๊ธฐ - Entity ๋ฐ”๋กœ ๋ฒˆ์—ญํ•˜๊ธฐ

ํ˜„์žฌ ์ง„ํ–‰์ค‘์ธ ๊ณต๋ชจ์ „ ํ”„๋กœ์ ํŠธ๋Š” ์™ธ๊ตญ์ธ์˜ ํ•œ๊ตญ ๊ด€๊ด‘ ํ™œ์„ฑํ™”๋ฅผ ๋•๊ณ ์ž ํ•˜๋Š” ์–ดํ”Œ๋กœ, ์„œ๋น„์Šค ๋‚ด ๋‹ค๊ตญ์–ด ์ง€์›์ด ์š”๊ตฌ๋œ๋‹ค. ํ”„๋ก ํŠธ์—์„œ ๋ฐ›์•„์˜ค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฒˆ์—ญ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๊ธฐ์—๋Š” ๋ฒˆ์—ญ ์„ฑ๋Šฅ์ด ์ฉ ์ข‹์ง€ ์•Š์œผ๋ฉฐ, ๊ทธ๋งŒํผ ์„ฑ๋Šฅ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ๊ธฐ์— ์ƒ๊ฐํ•˜์ง€ ์•Š์•˜๋‹ค. ํŠนํžˆ ์„œ๋น„์Šค ํŠน์„ฑ ์ƒ

2024๋…„ 7์›” 3์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

Spring์—์„œ AOP(Aspect-Oriented Programming) ์ ์šฉํ•˜๊ธฐ

ํšก๋‹จ ๊ด€์‹ฌ์‚ฌ(Cross-Cutting Concerns)๋ฅผ ๋ชจ๋“ˆํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ์ˆ  ์—ฌ๊ธฐ์„œ ํšก๋‹จ ๊ด€์‹ฌ์‚ฌ๋ž€, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ•ต์‹ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๊ณผ๋Š” ๋ณ„๊ฐœ๋กœ ์—ฌ๋Ÿฌ ๋ชจ๋“ˆ์— ๊ณตํ†ต์ ์œผ๋กœ ์ ์šฉ๋˜๋Š” ๊ธฐ๋Šฅ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค!๋กœ๊น…, ํŠธ๋žœ์žญ์…˜ ๊ด€๋ฆฌ, ๋ณด์•ˆ, ์„ฑ๋Šฅ ๋ชจ๋‹ˆํ„ฐ๋ง ๋“ฑ์— ์ผ๋ฐ˜์ ์œผ๋กœ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

2024๋…„ 6์›” 20์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Redis Sorted Set์œผ๋กœ ์‹ค์‹œ๊ฐ„ ๊ธ‰์ƒ์Šน ๊ฒ€์ƒ‰์–ด ๋žญํ‚น ๊ตฌํ˜„ํ•˜๊ธฐ

๋ณดํ†ต Redis๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ๊ธฐ ๊ฒ€์ƒ‰์–ด ๋žญํ‚น์„ ๊ตฌํ˜„ํ•  ๋•Œ, Sorted Set์„ ์‚ฌ์šฉํ•˜๊ณค ํ•œ๋‹ค.Redis Sorted Set์€ key ํ•˜๋‚˜์— ์—ฌ๋Ÿฌ๊ฐœ์˜ score์™€ member๋กœ ๊ตฌ์„ฑ๋˜๋Š”๋ฐ, ์ด๋•Œ member๊ฐ’์€ ์ค‘๋ณต๋˜์ง€ ์•Š์œผ๋ฉฐ score๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ๋œ๋‹ค.๋ณดํ†ต mem

2024๋…„ 4์›” 2์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

@OneToMany Delete Not Working

์œ„์™€ ๊ฐ™์ด @OneToMany ๊ด€๊ณ„๋กœ ์„ค์ •๋œ files๊ธฐ์กด ์ฝ”๋“œ๋ฅผ ๋‹จ์ˆœํ™”ํ•ด๋ณด์•˜๋‹คDelete๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๋„ˆ๋ฌด๋‚˜ ๋‹น์—ฐํ•˜๊ณ  ๊ฐ„๋‹จํ–ˆ๋‹ค(1) post ๊ฐ์ฒด๋ฅผ ๋ฏธ๋ฆฌ ๊ฐ€์ ธ์˜จ ํ›„ (2) File ์—”ํ‹ฐํ‹ฐ๋ฅผ ์‚ญ์ œํ•˜๊ฒŒ ๋˜๋ฉด ๋ถ„๋ช… ์ •์ƒ์ ์œผ๋กœ ์‚ญ์ œ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์ง€

2024๋…„ 1์›” 4์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

PostgreSQL ํ•œ๊ธ€ ์ •๋ ฌ ๋ฌธ์ œ : COLLATE "C" ์˜ต์…˜

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ •๋ ฌ๋ฌธ์„ ์‹คํ–‰ํ•  ๋•Œ ์ •๋ ฌ์ด ๋˜๋Š” ๋“ฏ ํ•˜๋ฉด์„œ ์•ˆ๋˜๋Š” ํ˜„์ƒ์ด ๋‚˜ํƒ€๋‚œ๋‹ค๋ฉด, collation ์˜ต์…˜์„ ํ™•์ธํ•˜์žORDER BY ์—ด COLLATE "C" ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.์—ฌ๊ธฐ์„œ "C"๋Š” C ์–ธ์–ด์˜ ๋ฐ”์ดํŠธ ์ˆœ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ์ด๋Š” ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์„ ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ๋น„๊ตํ•˜

2023๋…„ 12์›” 15์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

Spring Boot ๋‹ค์ค‘ Database ๊ตฌ์„ฑ (JPA, PostgreSQL, MySQL)

์Šคํ”„๋ง๋ถ€ํŠธ ๋‚ด์—์„œ Database๋ฅผ ๊ตฌ์„ฑํ•  ๋•Œ ๋ณดํ†ต application.yml์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•œ๋‹ค.๋Œ€๋ถ€๋ถ„์˜ ์ž‘์€ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์ด๋ ‡๊ฒŒ ๋‹จ์ผ DB๋กœ ๊ตฌ์„ฑ๋˜์ง€๋งŒ, ์—ฌ๋Ÿฌ ๊ฐœ์˜ DB๋กœ ๋‚˜๋ˆ„์–ด ๊ด€๋ฆฌํ•˜๊ฑฐ๋‚˜ ์™ธ๋ถ€ DB๋ฅผ ์ฐธ์กฐํ•ด์•ผ ํ•  ๊ฒฝ์šฐ ๋‹ค์ค‘ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์„ฑ์ด ํ•„์š”ํ•˜๋‹ค.๋‚˜

2023๋…„ 12์›” 15์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Javadoc ์—๋Ÿฌ cannot read Input length = 1

์—…๋กœ๋“œ์ค‘..IntelliJ์˜ Generate Javadoc ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ๋ฌธ์„œํ™”๋ฅผ ์ง„ํ–‰ํ•˜๋˜ ๋„์ค‘ ์ด๋Ÿฐ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.์ •๋ง ๋‹จ์ˆœํ•œ ๋ฌธ์ œ์˜€๋‹ค. ํŒŒ์ผ ๊ฒฝ๋กœ ์ค‘ ์ธ์ฝ”๋”ฉ์ด ์•ˆ๋˜๋Š” ๋ฌธ์ž์—ด์ด ํฌํ•จ๋˜์–ด ์žˆ์„ ๊ฒฝ์šฐ ๋ฐœ์ƒํ•œ๋‹ค.์˜์–ด, ์ˆซ์ž์™€ ํ—ˆ์šฉ๋˜๋Š” '\_'๋“ฑ์˜ ํŠน์ˆ˜๋ฌธ์ž๋ฅผ ์ œ์™ธํ•˜๊ณ  ํ•œ๊ธ€

2023๋…„ 12์›” 8์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Quill Editor ๋‚ด ์ด๋ฏธ์ง€ ์‚ฝ์ž…/ ๋ถ™์—ฌ๋„ฃ๊ธฐ (base64) ํ•ธ๋“ค๋ง

์›นํŽ˜์ด์ง€ ๋‚ด์— ์—๋””ํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ์ž„๋ฒ ๋”ฉ ํ•  ์ˆ˜ ์žˆ๋Š” Quill.js๋Š” ์ •๋ง ๊ฐ„ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์šฉ ํˆด์ด๋‹ค. https://quilljs.com/docs/quickstart/ ๊ณต์‹๋ฌธ์„œ์—๋„ ๊ต‰์žฅํžˆ ๊น”๋”ํ•˜๊ฒŒ ์ •๋ฆฌ๊ฐ€ ๋˜์–ด์žˆ์ง€๋งŒ, ์‚ฌ์ง„ ์—…๋กœ๋“œ ๋“ฑ์˜ ํ›„์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ

2023๋…„ 12์›” 8์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

OAuth2 authorization_request_not_found ์˜ค๋ฅ˜

local๊ณผ Httpํ™˜๊ฒฝ์—์„  ์ž˜ ๋Œ์•„๊ฐ€๋˜ Kakao OAuth2๊ฐ€ ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋ฅผ ํ†ตํ•ด HTTPS๋กœ ๋นŒ๋“œํ–ˆ๋”๋‹ˆ authorizationrequestnot_found ์˜ค๋ฅ˜๊ฐ€ ๋‚˜ํƒ€๋‚ฌ๋‹ค. ์ฒ˜์Œ์—” redirect url ๋ฌธ์ œ์ธ ์ค„ ์•Œ์•˜์œผ๋‚˜, ๋””๋ฒ„๊น…ํ•ด๋ณธ ๊ฒฐ๊ณผ Spring Secu

2023๋…„ 11์›” 19์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Apache Superset Embedding - URL Parameter ์„ค์ •

Env : Superset 2.0.1๊ณต์‹๋ฌธ์„œ์˜ ๋‚˜์™€์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ, ๊ธฐ์กด์˜ config.py๊ฐ€ importํ•  ์ƒˆ๋กœ์šด ์„ค์ •ํŒŒ์ผ๋กœ superset_config.py๋ฅผ ์ƒ์„ฑํ•˜์˜€๋‹ค.๋Œ€์‰ฌ๋ณด๋“œ๋ฅผ ๊ณต์œ ํ•  ๋•Œ url parameter๋ฅผ ๋ฐ›์•„์™€์„œ ์กฐ๊ฑด๋ฌธ์œผ๋กœ ์ฃผ๊ธฐ ์œ„ํ•ด, ์„ค์ •์„ ๋ฐ”๊พธ์–ด์ฃผ์–ด์•ผ

2023๋…„ 8์›” 20์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

[Linux] nginx + tomcat ์—ฐ๋™ (์„œ๋ฒ„ ์ค‘๋‹จ ๋ฌธ์ œ)

EC2 ์ธ์Šคํ„ด์Šค ๋‚ด์—์„œ Nginx์™€ Tomcat๋ฅผ ์—ฐ๋™ํ•ด์„œ, Nginx๋Š” ์›น ์„œ๋ฒ„๋กœ์„œ ์ •์ ์ธ ์ฝ˜ํ…์ธ ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ , Tomcat์€ Java ๊ธฐ๋ฐ˜์˜ ๋™์ ์ธ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.jdk / openjdk version "17.0.7" 2023-04-18 LTSN

2023๋…„ 6์›” 2์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

๋กœ๊ทธ ๋ชจ๋‹ˆํ„ฐ๋ง ํ™˜๊ฒฝ ๊ตฌ์ถ• : Elastic stack with Docker

ํ˜„์žฌ ์ง„ํ–‰์ค‘์ธ ํ”„๋กœ์ ํŠธ์˜ ๋กœ๊ทธ๋ฅผ ์–ด๋–ป๊ฒŒ ๋ชจ๋‹ˆํ„ฐ๋งํ• ์ง€ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€, ์ด์ „๋ถ€ํ„ฐ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์—ˆ๋˜ ELK ์Šคํƒ์„ ์ ์šฉํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค.ELK๋ฅผ ํ•˜๋‚˜์”ฉ ์„ธํŒ…ํ•˜๊ธฐ์—๋Š” ์ƒ๋‹นํžˆ ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ๋“ฏ ํ•˜์—ฌ, Docker & Docker Compose๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์‰ฝ๊ฒŒ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ

2023๋…„ 5์›” 28์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

Rest(ful) API๋ž€?

Roy๊ฐ€ ๋ฐœํ‘œํ•œ Rest API๋Š” ์š”์ฆ˜ ์‹œ๋Œ€์—์„œ๋Š” ์ž˜ ์ง€์ผœ์ง€๊ณ  ์žˆ์ง„ ์•Š์€ ๊ฒƒ ๊ฐ™๋‹ค.Rest ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ง„์งœ๋กœ ์ค€์ˆ˜ํ•œ API๋Š” Restful API๋ผ๊ณ  ํ†ต์นญํ•˜๋Š” ๊ฒƒ ๊ฐ™์€๋ฐ, ์ž˜ ๋ชจ๋ฅด๋Š” ์ƒํƒœ์—์„œ ๋‘ ๊ฐœ๋…์„ ๋ชจ๋‘ ์ ‘ํ•œ ์‚ฌ๋žŒ๋“ค์€ ์ƒ๋‹นํžˆ ํ—ท๊ฐˆ๋ฆด ์ˆ˜๋„ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐ์ด ๋“ ๋‹ค. ์—ฌ๊ธฐ์„œ

2023๋…„ 5์›” 24์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

Spring Security - BCryptPasswordEncoder ๊ธธ์ด ์ œํ•œ

์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ์—์„œ๋Š” ๋‹ค์–‘ํ•œ ํŒจ์Šค์›Œ๋“œ ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ,๊ทธ ์ค‘ ๊ฐ€์žฅ ๋Œ€์ค‘์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” BCryptPasswordEncoder ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ ์šฉํ•˜๋ ค๊ณ  ํ–ˆ๋‹ค.ํ•˜์ง€๋งŒ ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋˜ ์ค‘, ํŒจ์Šค์›Œ๋“œ ์•”ํ˜ธํ™” ๊ณผ์ •์—์„œ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค.์šฐ๋ฆฌ ์„œ๋น„์Šค์—์„œ ๋น„๋ฐ€

2023๋…„ 5์›” 10์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

Spring Security - ์‚ฌ์šฉ์ž ์ธ์ฆ ์ค‘ ์ ์ ˆํ•˜์ง€ ์•Š์€ BadCredentialsException ์˜ค๋ฅ˜

์œ„์™€ ๊ฐ™์ด ์‚ฌ์šฉ์ž ์ธ์ฆ ์‹œ ๊ณ„์ •์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด UsernameNotFoundException, ๋‹จ์ˆœ ๋น„๋ฐ€๋ฒˆํ˜ธ ์˜ค๋ฅ˜๋ฉด BadCredentialsException e๊ฐ€ ๋œจ๊ฒŒ ํ•ด๋†จ๋‹ค.ํ•˜์ง€๋งŒ, ํ…Œ์ŠคํŠธ์ฝ”๋“œ๋ฅผ ๋Œ๋ ค๋ณธ ๊ฒฐ๊ณผ ์•„์ด๋””๊ฐ€ ์—†์–ด๋„, ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ํ‹€๋ ค๋„ ํ•ญ์ƒ BadCred

2023๋…„ 4์›” 30์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

Spring Security - permitAll() Filter ํ˜ธ์ถœ ์—๋Ÿฌ

Spring Security์˜ Configure method๋ฅผ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑํ–ˆ์œผ๋‚˜, .antMatchers("/api/login", "/api/signup", "/resources/\*\*").permitAll() ์„ค์ •์„ ํ–ˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋กœ๊ทธ์ธ์„ ์‹œ๋„ํ• ๋•Œ๋งˆ๋‹ค ๊ณ„์†

2023๋…„ 4์›” 25์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Notification ?!!

์ƒํƒœ๋ฐ”์— ์•ฑ์˜ ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•จ (์•Œ๋ฆผ)๋ฐฐํ„ฐ๋ฆฌ ์ƒํƒœ๊ฐ€ ์žˆ๋Š” ๋ถ€๋ถ„์„ ์ƒํƒœ๋ฐ”๋ผ๊ณ  ํ•˜๋ฉฐ, ์ด๋Š” ์ผ์ข…์˜ ์‹œ์Šคํ…œ ์ฐฝ์ด๋‹ค. ์‹œ์Šคํ…œ ์ฝ”์–ด ์ •๋ณด๋ฅผ ๋ฟŒ๋ฆฌ๊ธฐ ์œ„ํ•œ ์ฐฝ์•กํ‹ฐ๋น„ํ‹ฐ๊ฐ€ ์ œ์–ด ๋ถˆ๊ฐ€๋Šฅ, ์•กํ‹ฐ๋น„ํ‹ฐ์˜ ์˜์—ญ์ด ์•„๋‹˜์ง์ ‘ ์ œ์–ด๋Š” ๋ถˆ๊ฐ€๋Šฅํ•˜๋‚˜, ์‹œ์Šคํ…œ์— ์˜๋ขฐ๋ฅผ ํ•ด์„œ ์‹œ์Šคํ…œ์—์„œ ๊ด€๋ฆฌํ•˜๊ณ 

2022๋…„ 11์›” 17์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

Service ?!

๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์˜ค๋žœ ์‹œ๊ฐ„ ์ˆ˜ํ–‰๋˜๋Š” ์—…๋ฌด๋ฅผ ๋‹ด๋‹นํ•˜๊ธฐ ์œ„ํ•œ ์ปดํฌ๋„ŒํŠธ!ํ™”๋ฉด ์ถœ๋ ฅ ๋Šฅ๋ ฅ์€ ์—†์Œ! (only background) , ๋‹ค๋งŒ ํ™”๋ฉด ๋ฐ˜์‘์„ฑ์€ ์•„์˜ˆ ์—†๊ฑฐ๋‚˜ ๋“œ๋ฌผ๊ฒŒ ๋ฐœ์ƒํ•˜๋Š” ์—…๋ฌด์—ฌ์•ผํ•จ (activity๋Š” ๋ฐ˜์‘์„ฑ ์žˆ์Œ!) // ํ™”๋ฉด์— ๋‹ค๋ฅธ ์•ฑ์ด ์‚ฌ์šฉ๋œ๋‹ค๊ณ  ํ•ด๋„ ๊ณ„์† ์ฒ˜๋ฆฌ

2022๋…„ 11์›” 16์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท