๊ธฐ๋ณธ ์ฝ˜ํ…์ธ ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

๐Ÿ“Œ Spring ์ปค๋„ฅ์…˜ ํ’€ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์ฟผ๋ฆฌ ์„ค์ • ๋ฐฉ๋ฒ• (HikariCP, DBCP, Tomcat JDBC ์™„๋ฒฝ ์ •๋ฆฌ)

 ์Šคํ”„๋ง(Spring)์—์„œ ์ปค๋„ฅ์…˜ ํ’€์„ ์‚ฌ์šฉํ•  ๋•Œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์ฟผ๋ฆฌ(Validation Query)๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด, ์˜ค๋ž˜๋œ DB ์—ฐ๊ฒฐ๋กœ ์ธํ•ด SQL ErrorConnection resetHikariPool connection timeout๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํฌ์ŠคํŒ…์—์„œ๋Š” HikariCP, Apache DBCP2, Tomcat JDBC ๋“ฑ์—์„œ ์ปค๋„ฅ์…˜ ํ’€ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์ฟผ๋ฆฌ๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฝ”๋“œ์™€ ํ•จ๊ป˜ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ” ์ปค๋„ฅ์…˜ ํ’€๊ณผ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์ฟผ๋ฆฌ๊ฐ€ ์ค‘์š”ํ•œ ์ด์œ 

✔ ์ปค๋„ฅ์…˜ ํ’€(Connection Pool)์ด๋ž€?

์ปค๋„ฅ์…˜ ํ’€์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€์˜ ์—ฐ๊ฒฐ์„ ๋ฐ˜๋ณต ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ  ์žฌ์‚ฌ์šฉํ•˜์—ฌ ์„ฑ๋Šฅ์„ ๋†’์ด๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ์ปค๋„ฅ์…˜ ํ’€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ๋Š” HikariCPApache Commons DBCPTomcat JDBC๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

✔ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์ฟผ๋ฆฌ(Validation Query)์˜ ์—ญํ• 

DB ์ปค๋„ฅ์…˜์ด ์œ ํšจํ•œ์ง€ ๊ฒ€์‚ฌํ•˜๊ธฐ ์œ„ํ•ด ์‹คํ–‰ํ•˜๋Š” ๋‹จ์ˆœ ์ฟผ๋ฆฌ๋กœ, ๋น„์ •์ƒ์ ์ธ ์—ฐ๊ฒฐ์„ ์‚ฌ์ „์— ๊ฐ์ง€ํ•ด ์˜ค๋ฅ˜๋ฅผ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ๋•Œ ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค

  • DB ์„œ๋ฒ„๊ฐ€ ์—ฐ๊ฒฐ์„ ๋Š์—ˆ๋Š”๋ฐ ์ปค๋„ฅ์…˜ ํ’€์€ ์ธ์‹ํ•˜์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ
  • ์žฌ์‹œ์ž‘์ด๋‚˜ ๋„คํŠธ์›Œํฌ ์ด์Šˆ๋กœ ์—ฐ๊ฒฐ์ด ๋ฌดํšจํ™”๋œ ๊ฒฝ์šฐ
  • "HikariPool-1 - Connection is not available" ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ


✅ DB๋ณ„ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์ฟผ๋ฆฌ ์˜ˆ์‹œ

DBMS์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์ฟผ๋ฆฌ
MySQLSELECT 1
PostgreSQLSELECT 1
OracleSELECT 1 FROM DUAL
H2SELECT 1
MSSQLSELECT 1 ๋˜๋Š” SELECT 1 AS result

✅ Spring์—์„œ ์ปค๋„ฅ์…˜ ํ’€ ์œ ํšจ์„ฑ ์ฟผ๋ฆฌ ์„ค์ • ๋ฐฉ๋ฒ•

1️⃣ HikariCP ์„ค์ • (Spring Boot ๊ธฐ์ค€)

Spring Boot์—์„œ application.properties ๋˜๋Š” Java Config๋กœ ์„ค์ • ๊ฐ€๋Šฅํ•˜๋ฉฐ, HikariCP๋Š” ๊ธฐ๋ณธ ์ปค๋„ฅ์…˜ ํ’€์ž…๋‹ˆ๋‹ค.


๐Ÿ”น application.properties ์‚ฌ์šฉ ์‹œ

spring.datasource.hikari.validation-timeout=5000
spring.datasource.hikari.connection-test-query=SELECT 1


๐Ÿ”น Java ์ฝ”๋“œ๋กœ ์„ค์ • ์‹œ

@Bean
public DataSource dataSource() {
    HikariConfig config = new HikariConfig();
    config.setJdbcUrl("jdbc:mysql://localhost:3306/mydb");
    config.setUsername("user");
    config.setPassword("password");

    // ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์ฟผ๋ฆฌ ์„ค์ •
    config.setConnectionTestQuery("SELECT 1");
    config.setValidationTimeout(5000);

    return new HikariDataSource(config);
}


๐Ÿ’ก Hikari๋Š” connectionTestQuery ์—†์ด๋„ isValid()๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ, ๋ช…์‹œ์ ์œผ๋กœ ์ฟผ๋ฆฌ๋ฅผ ์ง€์ •ํ•˜๋ฉด ์•ˆ์ •์„ฑ์ด ๋” ๋†’์Šต๋‹ˆ๋‹ค.

2️⃣ Apache Commons DBCP2 ์„ค์ • (XML ๋˜๋Š” Java Config)

๐Ÿ”น XML ์„ค์ • ์˜ˆ์‹œ

<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
    <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/mydb"/>
    <property name="username" value="user"/>
    <property name="password" value="password"/>
    
    <!-- ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ -->
    <property name="validationQuery" value="SELECT 1"/>
    <property name="testOnBorrow" value="true"/>
</bean>


๐Ÿ”น Java ์„ค์ • ์˜ˆ์‹œ

BasicDataSource dataSource = new BasicDataSource();
dataSource.setUrl("jdbc:mysql://localhost:3306/mydb");
dataSource.setUsername("user");
dataSource.setPassword("password");
dataSource.setValidationQuery("SELECT 1");
dataSource.setTestOnBorrow(true);


3️⃣ Tomcat JDBC ์„ค์ •

spring.datasource.tomcat.validation-query=SELECT 1
spring.datasource.tomcat.test-on-borrow=true


๋˜๋Š” XML์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

<property name="validationQuery" value="SELECT 1"/>
<property name="testOnBorrow" value="true"/>


๐Ÿšจ ์œ ์˜ ์‚ฌํ•ญ

  • ๋„ˆ๋ฌด ์ž์ฃผ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ํ•˜๋ฉด ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ ์ ˆํ•œ validation interval ์„ค์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ์ฟผ๋ฆฌ๋Š” ์ตœ๋Œ€ํ•œ ๋น ๋ฅด๊ฒŒ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋‹จ์ˆœ ์ฟผ๋ฆฌ๋กœ ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉํ•˜๋Š” DBMS์— ๋”ฐ๋ผ ์ฟผ๋ฆฌ ๋ฌธ๋ฒ•์ด ๋‹ค๋ฅด๋‹ˆ ๋ฐ˜๋“œ์‹œ ํ™•์ธํ•˜์„ธ์š”.

✅ ๋งˆ๋ฌด๋ฆฌ

Spring์—์„œ ์ปค๋„ฅ์…˜ ํ’€ ์„ค์ • ์‹œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์ฟผ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด, ๋ฌดํšจ ์ปค๋„ฅ์…˜์œผ๋กœ ์ธํ•œ ์žฅ์• ๋‚˜ ์˜ˆ์™ธ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์žฅ์‹œ๊ฐ„ ์œ ์ง€๋˜๋Š” ์„œ๋น„์Šค๋‚˜ ๋ฐฐ์น˜ ์ฒ˜๋ฆฌAWS RDS ํ™˜๊ฒฝ์—์„œ๋Š” ํ•„์ˆ˜์ ์ธ ์„ค์ •์ž…๋‹ˆ๋‹ค.


์ด ๋ธ”๋กœ๊ทธ์˜ ์ธ๊ธฐ ๊ฒŒ์‹œ๋ฌผ

๐Ÿ“Œ ๋ณด๋ฐฐ๋งํฌ๋ž€? ๋ณด๋ฐฐ๋งํฌ ์ฃผ์†Œ | ํ† ๋ ŒํŠธ | TV | ํ•œ๋ˆˆ์— ๋ณด๋Š” ์›น ๋งํฌ ๋ชจ์Œ ์„œ๋น„์Šค

  ๐Ÿ”— ๋ณด๋ฐฐ๋งํฌ ์†Œ๊ฐœ ๋ณด๋ฐฐ๋งํฌ ๋Š” ๋‹ค์–‘ํ•œ ์›น์‚ฌ์ดํŠธ ๋งํฌ๋ฅผ ํ•œ๊ณณ์— ๋ชจ์•„ ์ œ๊ณตํ•˜๋Š”  ๋งํฌ ํ๋ ˆ์ด์…˜ ํ”Œ๋žซํผ ์ž…๋‹ˆ๋‹ค. ๋‰ด์Šค, ์ปค๋ฎค๋‹ˆํ‹ฐ, ์‡ผํ•‘, ์—”ํ„ฐํ…Œ์ธ๋จผํŠธ ๋“ฑ ์‹ค์ƒํ™œ์— ์œ ์šฉํ•œ ์›น์‚ฌ์ดํŠธ ๋งํฌ๋ฅผ ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„๋กœ ์ •๋ฆฌํ•ด ๋ณด์—ฌ์ค˜์„œ, ์‚ฌ์šฉ์ž๋“ค์ด ์ผ์ผ์ด ์ฐพ์ง€ ์•Š์•„๋„ ๋น ๋ฅด๊ฒŒ ์›ํ•˜๋Š” ์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค.   ๐ŸŽฏ ์–ด๋–ค ๊ธฐ๋Šฅ์ด ์žˆ๋‚˜์š”? ๋ณด๋ฐฐ๋งํฌ๋Š” ๋‹จ์ˆœํ•œ ๋งํฌ ๋ชจ์Œ์ด ์•„๋‹™๋‹ˆ๋‹ค. ์‹ค์ƒํ™œ์— ๊ผญ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ณตํ•˜์—ฌ ๋ˆ„๊ตฌ๋‚˜ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ์›ํ•˜๋Š” ์‚ฌ์ดํŠธ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์—์„œ ํ•˜๋‚˜์”ฉ ์ž์„ธํžˆ ์‚ดํŽด๋ณผ๊ฒŒ์š”. ✅ 1. ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์˜ ๋งํฌ ๋ชจ์Œ ๋ณด๋ฐฐ๋งํฌ๋Š” ๋‰ด์Šค, ์ปค๋ฎค๋‹ˆํ‹ฐ, ์—”ํ„ฐํ…Œ์ธ๋จผํŠธ, ์ •๋ถ€๊ธฐ๊ด€, ์‡ผํ•‘๋ชฐ ๋“ฑ  ๋ถ„์•ผ๋ณ„๋กœ ์ธ๊ธฐ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋“ค์„ ์ฒด๊ณ„์ ์œผ๋กœ ๋ถ„๋ฅ˜ ํ•ด ๋†“์•˜์Šต๋‹ˆ๋‹ค. ์˜ˆ์‹œ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋งํฌ๋“ค์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค ์ปค๋ฎค๋‹ˆํ‹ฐ: ๋””์‹œ์ธ์‚ฌ์ด๋“œ, ๋ฃจ๋ฆฌ์›น, ๋ณด๋ฐฐ๋“œ๋ฆผ, ํด๋ฆฌ์•™ ์Šคํฌ์ธ  ์ค‘๊ณ„: ์Šคํฌ์ธ  ์ค‘๊ณ„ ์‚ฌ์ดํŠธ, ํ•ด์™ธ ์ถ•๊ตฌ ์‹ค์‹œ๊ฐ„ ํฌํ„ธ: ๋„ค์ด๋ฒ„, ๋‹ค์Œ, ์คŒ ์ •๋ถ€๊ธฐ๊ด€: ํ™ˆํƒ์Šค, ๊ตญ๋ฏผ๊ฑด๊ฐ•๋ณดํ—˜๊ณต๋‹จ, ๋ฏผ์›24 ์‡ผํ•‘: ์ฟ ํŒก, 11๋ฒˆ๊ฐ€, ์ง€๋งˆ์ผ“, ์œ„๋ฉ”ํ”„ ์œ ๋จธ/์—ฐ์˜ˆ: ์›ƒ๊ธด๋Œ€ํ•™, ์˜ค๋Š˜์˜์œ ๋จธ, ๋”์ฟ  ๐Ÿ‘‰ ๋งˆ์น˜  ๋งํฌ ๋ฐฑํ™”์   ๊ฐ™์€ ๋А๋‚Œ์œผ๋กœ, ์›ํ•˜๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„๋กœ ํด๋ฆญํ•ด ๋“ค์–ด๊ฐ€๋ฉด ๋ฉ๋‹ˆ๋‹ค. ✅ 2. ์ ‘์† ํŽธ์˜์„ฑ ์›น์„œํ•‘์„ ์ž์ฃผ ํ•˜๋Š” ์‚ฌ๋žŒ์ด๋ผ๋ฉด ์ž์ฃผ ๋ฐฉ๋ฌธํ•˜๋Š” ์‚ฌ์ดํŠธ๊ฐ€ ์ •ํ•ด์ ธ ์žˆ์ฃ . ๋ณด๋ฐฐ๋งํฌ๋Š” ์ด๋Ÿฌํ•œ ์‚ฌ์ดํŠธ๋“ค์„  ์ฆ๊ฒจ์ฐพ๊ธฐ์ฒ˜๋Ÿผ ํ•œ๋ˆˆ์— ๋ชจ์•„์ฃผ๋Š” ์—ญํ•  ์„ ํ•ฉ๋‹ˆ๋‹ค. ๋ณ„๋„์˜ ๊ฒ€์ƒ‰ ์—†์ด ๋ฐ”๋กœ ํด๋ฆญ ํ•œ ๋ฒˆ์œผ๋กœ ์ด๋™ ๋ชจ๋ฐ”์ผ์—์„œ๋„ ์ž˜ ์ตœ์ ํ™”๋˜์–ด ์žˆ์–ด,  ์Šค๋งˆํŠธํฐ์œผ๋กœ๋„ ๋น ๋ฅด๊ฒŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ ์ดˆ๊ธฐ ํ™”๋ฉด์ด ์ง๊ด€์ ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์–ด  IT์— ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ์‚ฌ์šฉ์ž๋„ ์‰ฝ๊ฒŒ ์‚ฌ์šฉ ๐Ÿ’ก ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ถ€๋ชจ๋‹˜์ด๋‚˜ ์ปดํ“จํ„ฐ์— ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ๋ถ„๋“ค์—๊ฒŒ ์ถ”์ฒœํ•˜๋ฉด, ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์ดํŠธ๋งŒ ํด๋ฆญํ•ด์„œ ๋ฐ”๋กœ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ์–ด ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค ✅ 3. ์ฃผ์†Œ ๋ณ€๊ฒฝ ์•ˆ๋‚ด ์‹œ์Šคํ…œ ๋ณด๋ฐฐ๋งํฌ๋Š” ์›น์‚ฌ์ดํŠธ ์šด์˜ ํ™˜๊ฒฝ์ƒ, ์ข…์ข…  ๋„๋ฉ”์ธ ์ฃผ์†Œ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒฝ์šฐ ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฑฑ...

๐Ÿ”“ ์˜คํ”ˆ์ฑ„ํŒ… ์ฐจ๋‹จ ํ•ด์ œ ๋ฐฉ๋ฒ•! ์‹ค์ˆ˜๋กœ ์ฐจ๋‹จํ•œ ์‚ฌ๋žŒ ๋ณต๊ตฌํ•˜๋Š” ๋ฒ• ์ •๋ฆฌ (2025 ์ตœ์‹ )

 ์˜คํ”ˆ์ฑ„ํŒ…์—์„œ ์‹ค์ˆ˜๋กœ ์ฐจ๋‹จ ์„ ๋ˆŒ๋ €๋‚˜์š”? ๐Ÿ˜… ์ฐจ๋‹จํ•˜๋ฉด ์„œ๋กœ์˜ ๋ฉ”์‹œ์ง€๊ฐ€ ๋ณด์ด์ง€ ์•Š๊ณ  ๋Œ€ํ™”๊ฐ€ ๋Š๊ฒจ ๋‹นํ™ฉํ•˜๊ธฐ ์‰ฌ์›Œ์š”. ์ด ๊ธ€์—์„œ๋Š” 2025๋…„ ์ตœ์‹  ๊ธฐ์ค€์œผ๋กœ ์˜คํ”ˆ์ฑ„ํŒ… ์ฐจ๋‹จ ํ•ด์ œ ๋ฐฉ๋ฒ• ๊ณผ ์ฐจ๋‹จํ•œ ์‚ฌ๋žŒ ๋ณต๊ตฌ ๋ฅผ ๋‹จ๊ณ„๋ณ„ ๋กœ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค. ✅ ๐Ÿ“Œ ์˜คํ”ˆ์ฑ„ํŒ…์—์„œ ์ฐจ๋‹จํ•˜๋ฉด ๋ฌด์—‡์ด ๋‹ฌ๋ผ์ง€๋‚˜? ์ƒ๋Œ€๋ฐฉ์˜ ๋ฉ”์‹œ์ง€·ํ”„๋กœํ•„ ์ด ๋ณด์ด์ง€ ์•Š์Œ ๋‚ด ๋ฉ”์‹œ์ง€๋„ ์ƒ๋Œ€์—๊ฒŒ ์ „๋‹ฌ๋˜์ง€ ์•Š์Œ ํ•ด๋‹น ์˜คํ”ˆ์ฑ„ํŒ…๋ฐฉ์—์„œ ์‚ฌ์‹ค์ƒ ์—ฐ๊ฒฐ ๋Š๊น€ ์ƒํƒœ ๐Ÿ‘‰ ์˜คํ”ˆ ์ฑ„ํŒ…๋ฐฉ์˜ ์œ ์šฉํ•œ ๊ธฐ๋Šฅ ํ™œ์šฉ ํŒ ๐Ÿ”“ ์˜คํ”ˆ์ฑ„ํŒ… ์ฐจ๋‹จ ํ•ด์ œ ๋ฐฉ๋ฒ• (2025 ์ตœ์‹ ) ๐Ÿ“ฑ ๋ฐฉ๋ฒ• 1) ์„ค์ • > ์ฐจ๋‹จ ๊ด€๋ฆฌ์—์„œ ํ•ด์ œ ์นด์นด์˜คํ†ก ์‹คํ–‰ → ⚙️ ์„ค์ •(ํ†ฑ๋‹ˆ๋ฐ”ํ€ด) ์—ด๊ธฐ ์นœ๊ตฌ → ์ฐจ๋‹จ ์นœ๊ตฌ ๊ด€๋ฆฌ ์„ ํƒ ๋ชฉ๋ก์—์„œ ๋Œ€์ƒ ์„ ํƒ → ์ฐจ๋‹จ ํ•ด์ œ ๋ฒ„ํŠผ ํƒญ ๐Ÿ—‚️ ๋ฐฉ๋ฒ• 2) ์˜คํ”ˆ์ฑ„ํŒ…๋ฐฉ์—์„œ ์ง์ ‘ ํ•ด์ œ ํ•ด๋‹น ์˜คํ”ˆ์ฑ„ํŒ…๋ฐฉ ์ƒ๋‹จ ๋ฉ”๋‰ด ์—ด๊ธฐ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์—์„œ ์‚ฌ์šฉ์ž ํ”„๋กœํ•„ ์„ ํƒ ์ฐจ๋‹จ ํ•ด์ œ ๋ฒ„ํŠผ ํƒญ ๊น€ํ•ด๊ณตํ•ญ ์ฃผ์ฐจ ์š”๊ธˆ·๋ฌด๋ฃŒ ์‹œ๊ฐ„·์‹ค์‹œ๊ฐ„ ํ˜„ํ™ฉ ์ด์ •๋ฆฌ! ๋ฐœ๋ ›·์‚ฌ์„ค์ฃผ์ฐจ์žฅ ๋น„๊ต๊นŒ์ง€ ๐Ÿงฉ ์‹ค์ˆ˜๋กœ ์ฐจ๋‹จํ–ˆ์„ ๋•Œ ๋ณต๊ตฌ ํฌ์ธํŠธ ์ฐจ๋‹จ ํ•ด์ œ ์ดํ›„ ๋ถ€ํ„ฐ ๋ฉ”์‹œ์ง€ ์ฃผ๊ณ ๋ฐ›๊ธฐ ๊ฐ€๋Šฅ ์ฐจ๋‹จ ๊ธฐ๊ฐ„ ๋™์•ˆ์˜ ์ด์ „ ๋ฉ”์‹œ์ง€๋Š” ๋ณต๊ตฌ๋˜์ง€ ์•Š์Œ ๋Œ€ํ™”๊ฐ€ ๋Š๊ฒผ๋‹ค๋ฉด ์˜คํ”ˆ์ฑ„ํŒ…๋ฐฉ ์žฌ์ž…์žฅ ํ›„ ๋‹ค์‹œ ๋Œ€ํ™”๋ฅผ ์‹œ์ž‘ํ•˜์„ธ์š” ⚠️ ์•Œ์•„๋‘๋ฉด ์ข‹์€ ์  ๋‚ด๊ฐ€ ํ•ด์ œํ•ด๋„ ์ƒ๋Œ€๊ฐ€ ๋‚˜๋ฅผ ์ฐจ๋‹จ ํ–ˆ๋‹ค๋ฉด ๋Œ€ํ™” ๋ถˆ๊ฐ€ ์˜คํ”ˆ์ฑ„ํŒ… ํŠน์„ฑ์ƒ ๋‹‰๋„ค์ž„ ๋ณ€๊ฒฝ ์‹œ ๋™์ผ ์ธ๋ฌผ ์‹๋ณ„์ด ์–ด๋ ค์šธ ์ˆ˜ ์žˆ์Œ ์žฅ๊ธฐ๊ฐ„ ๋ฏธ์‚ฌ์šฉ ๋ฐฉ์€ ์ž๋™ ์ข…๋ฃŒ ๋  ์ˆ˜ ์žˆ์–ด ์žฌ์ฐธ์—ฌ๊ฐ€ ํ•„์š” ✅ ๋งˆ๋ฌด๋ฆฌ ์ฒดํฌ ์˜คํ”ˆ์ฑ„ํŒ… ์ฐจ๋‹จ ํ•ด์ œ๋Š” ์„ค์ •์˜ ์ฐจ๋‹จ ๊ด€๋ฆฌ ๋˜๋Š” ๋ฐฉ ์ฐธ์—ฌ์ž ๋ชฉ๋ก ์—์„œ ๊ฐ„๋‹จํžˆ ํ•  ์ˆ˜ ์žˆ์–ด์š”. ํ•ด์ œ ํ›„์—๋Š” ์ƒˆ ๋ฉ”์‹œ์ง€๋ถ€ํ„ฐ ๋‹ค์‹œ ์†Œํ†ต ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋ฐฉ ์žฌ์ž…์žฅ ์œผ๋กœ ๋Œ€ํ™”๋ฅผ ์žฌ๊ฐœํ•ด ๋ณด์„ธ์š”. ๐Ÿ™Œ OK์ €์ถ•์€ํ–‰ OKํŠธ๋ผ์ด์ ๊ธˆ : ์ตœ๋Œ€ ์—ฐ 20.25% ๋ฐ›๋Š” ๋ฒ•, ...

๐Ÿ“บ ์• ํ”Œํ‹ฐ๋น„+ ⚽ MLS Season Pass ๊ตฌ๋… ๋ฐฉ๋ฒ• ๊ฐ€์ด๋“œ – 2025๋…„ ์ตœ์‹ 

  ์†ํฅ๋ฏผ ์„ ์ˆ˜๊ฐ€   LAFC   ์œ ๋‹ˆํผ์„ ์ž…๊ณ  MLS ๋ฌด๋Œ€๋ฅผ ๋ˆ„๋น„๊ฒŒ ๋˜๋ฉด์„œ, ํŒฌ๋“ค์˜ ๊ด€์‹ฌ์€   “ํ•œ๊ตญ์—์„œ ๊ฒฝ๊ธฐ๋ฅผ ์–ด๋–ป๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ๋‚˜?” ๋กœ ๋ชจ์ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ‡ฐ๐Ÿ‡ท ๋ฏธ๊ตญ ๋ฉ”์ด์ €๋ฆฌ๊ทธ ์‚ฌ์ปค(MLS)๋Š”   ์• ํ”Œํ‹ฐ๋น„ ๊ฐ€ ์ „ ์„ธ๊ณ„ ๋…์  ์ค‘๊ณ„๊ถŒ์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ์–ด, ํ•œ๊ตญ์—์„œ๋„ ์‰ฝ๊ฒŒ ์‹œ์ฒญ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ๊ธฐ๋ณธ   ์• ํ”Œํ‹ฐ๋น„+   ๊ตฌ๋…๊ณผ๋Š” ๋ณ„๊ฐœ๋กœ   MLS Season Pass ๊ฐ€ ํ•„์š”ํ•ด์š”. ์ด ๊ธ€์—์„œ๋Š” ๋‘ ์„œ๋น„์Šค์˜ ์ฐจ์ด์™€ ๊ตฌ๋… ๋ฐฉ๋ฒ•, ๊ทธ๋ฆฌ๊ณ  ๊ฐ€์žฅ ์ €๋ ดํ•˜๊ฒŒ ์ด์šฉํ•˜๋Š” ํŒ๊นŒ์ง€ ํ•œ ๋ฒˆ์— ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค. ✅ ๐ŸŽ  ์• ํ”Œํ‹ฐ๋น„+ ๊ตฌ๋… ๋ฐฉ๋ฒ• ์• ํ”Œํ‹ฐ๋น„+๋Š” ์• ํ”Œ ์˜ค๋ฆฌ์ง€๋„ ๋“œ๋ผ๋งˆ·์˜ํ™”·๋‹คํ๋ฉ˜ํ„ฐ๋ฆฌ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ํ•œ๊ตญ์—์„œ๋„ ์•ฑ ๋˜๋Š” ์›น์—์„œ ๊ฐ„๋‹จํžˆ ๊ตฌ๋…ํ•  ์ˆ˜ ์žˆ์–ด์š”. ๐Ÿงญ ๊ตฌ๋… ์ ˆ์ฐจ ์• ํ”Œํ‹ฐ๋น„   ์•ฑ  ์‹คํ–‰ (iPhone, iPad, Mac, Apple TV, ์Šค๋งˆํŠธ TV, Android TV) ๋˜๋Š”  ์›น   tv.apple.com/kr  ์ ‘์† ์• ํ”Œํ‹ฐ๋น„+  ํƒญ ์„ ํƒ ๋ฌด๋ฃŒ ์ฒดํ—˜ ์‹œ์ž‘  ๋˜๋Š”  ๊ตฌ๋…  ํด๋ฆญ Apple ID  ๋กœ๊ทธ์ธ → ๊ฒฐ์ œ ์ •๋ณด ์ž…๋ ฅ ๊ตฌ๋… ์™„๋ฃŒ ํ›„ ์‹œ์ฒญ ์‹œ์ž‘ ๐ŸŽฌ ๐Ÿ’ฐ ์š”๊ธˆ ์›” ₩6,500 ๊ด‘๊ณ  ์—†์Œ · ์• ํ”Œ ์˜ค๋ฆฌ์ง€๋„ ์ „์ฒด ์‹œ์ฒญ ๊ฐ€๋Šฅ ๐ŸŽ ํ• ์ธ/๋ฌด๋ฃŒ ํŒ ์‹ ๊ทœ ๊ฐ€์ž…  7์ผ ๋ฌด๋ฃŒ ์ฒดํ—˜  ๐Ÿ†“ ์• ํ”Œ ๊ธฐ๊ธฐ ์‹ ๊ทœ ๊ตฌ๋งค ํ›„ 90์ผ ๋‚ด ํ™œ์„ฑํ™” ์‹œ  ์ตœ๋Œ€ 3๊ฐœ์›” ๋ฌด๋ฃŒ  ๐Ÿ“ฆ Apple Music ํ•™์ƒ  ๊ตฌ๋… ์‹œ TV+ ํฌํ•จ ๐ŸŽ“ Apple One  ๋ฒˆ๋“ค๋กœ ๋ฌถ์œผ๋ฉด ์ด์•ก ์ ˆ๊ฐ ๐Ÿงฉ ๊ฐ€์กฑ ๊ณต์œ  ๋กœ ์ตœ๋Œ€ 6๋ช…๊นŒ์ง€ ํ•จ๊ป˜ ์ด์šฉ ๐Ÿ‘จ‍๐Ÿ‘ฉ‍๐Ÿ‘ง‍๐Ÿ‘ฆ ๐Ÿ‡ฐ๐Ÿ‡ท 25-26 LAFC ์†ํฅ๋ฏผ ๊ฒฝ๊ธฐ ์ค‘๊ณ„, ํ•œ๊ตญ์—์„œ ์–ด๋””์„œ ๋ณด๋‚˜? — Apple TV MLS Season Pass ์™„์ „ ๊ฐ€์ด๋“œ ๐Ÿ† MLS Season Pass ๊ตฌ๋… ๋ฐฉ๋ฒ• MLS Season Pass๋Š” ๋ฏธ๊ตญ ๋ฉ”์ด์ €...