JS ๋ชจ๋ ์์คํ ์ ๋ฆฌ โ CJS, ESM, TypeScript ์ปดํ์ผ, ๊ทธ๋ฆฌ๊ณ ๋ฒ๋ค๋ฌ
์ด๋ค SDK๋ฅผ ์์กด์ฑ์ ์ถ๊ฐํ๋๋, ์ ๋์๊ฐ๋ crypto๊ฐ ๊ฐ์๊ธฐ undefined๋ฅผ ๋ฑ๊ธฐ ์์ํ์ต๋๋ค.
crypto is not defined
์ด๋ค SDK๋ฅผ ์์กด์ฑ์ ์ถ๊ฐํ๋๋, ์ ๋์๊ฐ๋ crypto๊ฐ ๊ฐ์๊ธฐ undefined๋ฅผ ๋ฑ๊ธฐ ์์ํ์ต๋๋ค.
crypto is not defined
3๋ ์ , Go๋ฅผ ๋ฐฑ์๋ ์๋น์ค์ ์ด ์ ์ด ์์์ต๋๋ค. ๊ทธ๋๋ ์ฌ์ค ๋ญ๊ฐ ๋ญ์ง ์ ๋ชจ๋ฅด๊ธฐ๋ ํ๊ณ , Go๋ง์ ํน์ฅ์ ์ ๋ฑํ ๋๋ผ์ง๋ ๋ชปํ์๋๋ฐ, NestJS์ ํจ๊ป 3๋ ์ ๋ณด๋ด๊ณ ๋์ ๋ค์ Go๋ฅผ ๋ค์ฌ๋ค๋ณด๋ ๋ณด์ด๋ ๊ฒ ๋ฌ๋ผ์ก์ต๋๋ค.

์ฃผ๋ง์ ๋ญ ํ์ธ์? ๊ฑด๋จ ์ง๋ฌธ์ ๊ต๋ณด๋ฌธ๊ณ ๊ฐ์ ์ฑ ์ 3๊ถ์ฉ ์ฝ์ผ์ ๋ค๋ ์ฐ๋ฆฌ CPO๋์ ๋ง์์ ๊ฐ๋ช ๋ฐ์ ๋๋ ์ด๋ ์ฃผ๋ง ๊ต๋ณด๋ฌธ๊ณ ๋ฅผ ์ฐพ์๋ค. ๊ต๋ณด๋ฌธ๊ณ ์์ ์ง์ด ๋ค๊ณ , ์ฝ๊ณ , ์ฐ๋ฆฌ ํ์ฌ ์ฌ๋๋ค์ด ์ฝ์ผ๋ฉด ์ข๊ฒ ๋ค๊ณ ๊ตฌ๋งค ์์ฒญ๋ ํ ๊ทธ ์ฑ , ์์ฆ ๋น๊ทผ AI์ ๋ ํ๊ฐ.
๋๋ ๊ธฐ๋ก์ ์ข์ํ๋ค.
๊ทธ ๋ ์ด๋ค ์ผ๋ค์ ํ๋์ง, ์ด๋ค ์์์ ๋จน์๋์ง, ์ด๋์ ๋์ ์ผ๋์ง, ์ด๋ค ์๊ฐ์ ํ๋์ง.
๊ทธ์ ํ๋ ค๋ณด๋ด๊ธฐ๋ณด๋ค๋ ๋งค์ฌ ๊ธฐ๋กํ๋ ๊ฑธ ์ฆ๊ธฐ๋ ํธ์ด๋ค. ์ ๊น๋จน์ด์ ๊ทธ๋ฐ๊ฐ.
// ReportService.ts
@Injectable()
export class ReportService {
private someMemberVariable: any;
constructor(
private reportTemplate: ReportTemplate,
) {
this.someMemberVariable = { processedData: 'some complex calculation' };
}
}
์์ ๊ฐ์ ์๋น์ค๊ฐ ์๋ค๊ณ ํ ๋, ReportTemplate์๋ ๋์ผํ ๋ฉค๋ฒ๋ณ์(someMemberVariable)๊ฐ ํ์ํ๋ค๊ณ ๊ฐ์ ํฉ์๋ค.
ReportTemplate๋ ์์ฐํ ๋ณ๊ฐ์ ํด๋์ค์ด๊ธฐ ๋๋ฌธ์ ๋๊ฐ์ด, ์๋์ ๊ฐ์ด ๊ตฌ์ฑํด์ผํ๋ค๊ณ ์๊ฐํ๋ ์ฌ๋๋ง ์ด ๊ธ์ ์ฝ์ผ์ธ์.
SELECT o.order_id, u.username
FROM orders o
LEFT JOIN users u
ON u.order_id = o.order_id
AND u.status = 'active'
AND u.region = 'Seoul';
์ ์ฟผ๋ฆฌ์์ u.order_id์ o.order_id์๋ ์ธ๋ฑ์ค๊ฐ ๊ฑธ๋ ค์๋ค๊ณ ๊ฐ์ ํฉ์๋ค.
id๋ง์ผ๋ก๋ ์ถฉ๋ถํ๋ฐ ๊ฑฐ๊ธฐ๋ค status์ region ์กฐ๊ฑด๊น์ง ์ถ๊ฐํ์ผ๋, ์ด ์ฟผ๋ฆฌ๋ ๋น ๋ฅผ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ ์ฌ๋๋ค๋ง ์ด ๊ธ์ ์ฝ์ผ์ธ์.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์์ ํ ์ด๋ธ ๊ฐ์ ๊ด๊ณ๋ฅผ ์ด๋ป๊ฒ ๊ตฌ์ฑํ๋๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ, ํ์ฅ์ฑ, ๊ทธ๋ฆฌ๊ณ ์ ์ง๋ณด์์ฑ์ ๊ฒฐ์ ์ ์ธ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ํ๋ก์ ํธ์์ ๋ถ๋ชจ-์์ ๊ด๊ณ๋ฅผ ์ค๊ณํ๋ฉฐ ๊ฒฝํํ ๊ตํ์ ๊ณต์ ํฉ๋๋ค.
์๋น์ค ์ฅ์ ์์ ๋์์ ์๊ธฐ ์ด์ ์, ^์ฅ์ ^๋ ์ด๋ป๊ฒ ๋ฐ๊ฒฌ๋ ์ ์์๊น์?
์๋น์ค ๋ชจ๋ํฐ๋ง์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ด ๋๋ ํฌ์ค์ฒดํฌ์ ๋ํด์ ์ด์ผ๊ธฐ ํฉ๋๋ค.
AWS๊ฐ ๋์ ํด์ค์ ๋ชฐ๋์, Application Layer์์์ Health Check ์ธ์, ๋ค๋ฅธ ๊ณ์ธต์์์ Health Check๋ ์์ ๋ณด์์.
next.config.js๋ฅผ ๋ง์ง์ ๊ฑฐ๋ฆฌ๋ค๊ฐ, ์ญ์ฑ ์ฝ์ด ๋ด๋ ค๊ฐ Next.js์ Architecture์ ๋ํ์ฌ
React ๊ณต์ ๋ฌธ์์ โ๋น ๋ฅด๊ฒ ์์ํ๊ธฐโ ์น์
์๋ JSX๋ก ๋งํฌ์
์์ฑํ๊ธฐ๊ฐ ์์ต๋๋ค.
JSX๋ฅผ ์๊ณ ๊ณ์๋์? ๋งํฌ์
์์?
์์ํ๊ฒ ๋ตํ ์ ์๋์?