์ ์ฒด ๊ธ270 [Next.js] node.js ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ํ์ธ๊ณผ heap ๋ฉ๋ชจ๋ฆฌ ์ ํ ์ ์ฉํ๊ธฐ node.js ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ํ์ธ๊ณผ heap ๋ฉ๋ชจ๋ฆฌ ์ ํ ์ ์ฉํ๊ธฐํ์ฌ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ํ์ธํ๊ธฐ ์ํด์๋ next.js์์ server๋ฅผ ์ปค์คํ ํ์ฌ ๋ก๊ทธ๋ฅผ ํตํด ํ์ธํ ์ ์๋ค.๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์์๋ด๋ ๋ฐฉ๋ฒ์ GPT์ ๋์์ ๋ฐ์ process.memoryUsage()๋ฅผ ํตํด ์ ์ ์๋ค๋ ๊ฒ์ ํ์ธํ๋ค. 1. process.memoryUsage์ ์ค์ ์์Node.js(Next.js) ์ ํ๋ฆฌ์ผ์ด์ ๋ชจ๋ํฐ๋ง์ ์ํ ๋ฉ๋ชจ๋ฆฌ ์ธ์ฌ์ดํธ / if(kakaoAI)2024ํด๋น ์ปจํผ๋ฐ์ค ๋ด์ฉ์ด ๋ด๊ฐ ๊ณ ๋ฏผํ๊ณ ์๋ ๊ฐ๋ ์ ์ธ ๋ถ๋ถ์ ๋ค๋ค์ฃผ๊ณ ์์๋ค. 1-1. ์ฝ๋ ์ ์ฉ// server.jsconst { createServer } = require('http');const { parse } = require('url');.. 2024. 12. 23. [Next.js] Next.js์ ๊ธฐ๋ณธ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ตฌ์กฐ - node.js v8 Next.js์ ๊ธฐ๋ณธ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ตฌ์กฐNext.js๋ Node.js ๊ธฐ๋ฐ์ V8 ์์ง์์ ์คํ๋๋ค.JavaScript๋ ์ฑ๊ธ ์ค๋ ๋ ์ธ์ด์ด๋ค. ๋ฐ๋ผ์ V8 ์ญ์ ์๋ฐ์คํฌ๋ฆฝํธ์ Context ๋น ํ๋์ ํ๋ก์ธ์ค๋ฅผ ์ฌ์ฉํ๋ค. ๋จ, ์๋น์ค ์์ปค๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ ์์ปค์ ๊ฐ์๋งํผ ํ๋ก์ธ์ค๋ฅผ ์ฆ์ํ๋ค๊ณ ํ๋ค.์คํ์ค์ธ ํ๋ก๊ทธ๋จ์ V8 ํ๋ก์ธ์ค์์ ํ ๋น๋ ์ผ์ ๋์ ๋ฉ๋ชจ๋ฆฌ๋ก ํํ๋๋๋ฐ, ์ด๋ฅผ Resident set์ด๋ผ๊ณ ํ๋ค. ๋ด๋ถ ๊ตฌ์กฐ๋ ์๋ ์ฌ์ง๊ณผ ๊ฐ๋ค.์ฌ์ง์์ ๋ณผ ์ ์๋ฏ์ด ํฌ๊ฒ ํ ๋ฉ๋ชจ๋ฆฌ์ ์คํ ๋ฉ๋ชจ๋ฆฌ๋ก ๊ด๋ฆฌ ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.1๏ธโฃ ์คํ ๋ฉ๋ชจ๋ฆฌ์คํ์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ด๊ณ V8๋ง๋ค ํ๋์ ์คํ์ ๊ฐ์ง๋ค. ์คํ์๋ ์ ์ ๋ฐ์ดํฐ(๋ฉ์๋์ ํจ์ ํ๋ ์, ์์ ๊ฐ, ๊ฐ์ฒด ํฌ์ธํฐ)๊ฐ ์ ์ฅ๋๋ค.V8์ ์คํ ์์ญ์ ๊ด๋ฆฌ๋.. 2024. 12. 22. [Next.js] SWC๋ฅผ ํ์ฉํ์ฌ ๋น๋ ์๊ฐ ๋จ์ถํ๊ธฐ SWC๋ฅผ ํ์ฉํ์ฌ ๋น๋ ์๊ฐ ๋จ์ถํ๊ธฐ ์ฌ๋ด์์๋ CI/CD ๋๊ตฌ๋ก ๊นํ ์ก์ ์ ์ฌ์ฉํ๊ณ ์๋ค.๋ฐฑ์๋์ ๋ค๋ฅด๊ฒ ํ๋ก ํธ๋ ์ก์ ์ด ์๋ฃ๋๋๋ฐ ๊น์ง ์ ์ฒด์ ์ธ ์๊ฐ์ด ์ข ๋ ์์๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. ํ์ฌ ๋ด๊ฐ ๊ฐ๋ฐํ๊ณ ์๋ ํ๋ก ํธ ํ๊ฒฝ์์ CI/CD ๊ณผ์ ์ค ๊ฐ์ฅ ์์ ์๊ฐ์ด ๊ธด ์คํญ์ ๋น๋ ํ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋ง๋ค์ด ECR๋ก ์ฎ๊ธฐ๋ ์์ ์ด๋ค. ๊ทธ ์ค CI ๊ณผ์ ์ค์์ ํ๋ก ํธ ํ๋ก์ ํธ ๋น๋ ์๊ฐ๊ณผ ECR PUSH ํ์์ด ๋๋ถ๋ถ์ ์ฐจ์งํจ์ ํ์ธ ํ ์ ์๋ค. โ๊ทธ๋ ๋ค๋ฉด,ํ๋ก ํธ ํ๋ก์ ํธ ๋น๋ ์๊ฐ์ ์ด๋ป๊ฒ ์ค์ผ ์ ์์๊น? Next.js ๋น๋ ์๊ฐ์ ๋จ์ถ ํ๋ ๋ฐฉ๋ฒSWC ์ฝ๋ ์์ถ ํ์ฑํ: swcMinify: true๋ฅผ ์ค์ ํด ๋น๋ ์ SWC๋ฅผ ํตํด ์ฝ๋๋ฅผ ์์ถํ์ฌ ์ต์ ํ.Webpack ์บ์ฑ ์ฌ์ฉ: W.. 2024. 11. 1. [JavaScript] ๋ง์ฐ์ค ๋ฐ ํ ์ด๋ฒคํธ (onMouseEnter, onMouseLeave, onWheel) [JavaScript] ๋ง์ฐ์ค ๋ฐ ํ ์ด๋ฒคํธ (onMouseEnter, onMouseLeave, onWheel)ํ์ฌ ์๋น์ค๋ฅผ ๊ตฌํ ํ๋ฉด์ ํ์ฌ ์์ฒด ์ปดํฌ๋ํธ ํดํ ์คํ๋๋ฌธ์,๋ง์ฐ์ค๊ฐ ํ ์คํธ ์์ ์กด์ฌ ํ์ง ์์์๋ ํ ์ด๋ฒคํธ ๋ฐ์์ ํดํ์ด ๊ณ์ ๋ ์๋ ํ์์ด ๋ฐ์ํ์๋ค. ๊ทธ๋์ tooltip์ด ๋ ์ผ ํ๋ ํ ์คํธ์ onMouseEnter, onMouseLeave, onWheel ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ค์ ์ฌ์ฉํ์ฌ ์ด๋ฅผ ํด๊ฒฐํ ์ ์์๋ค. onMouseEnter ์ด๋ฒคํธonMouseEnter ์ด๋ฒคํธ๋ ๋ง์ฐ์ค ํฌ์ธํฐ๊ฐ ํน์ ์์์ ์ฒ์์ผ๋ก ๋ค์ด๊ฐ์ ๋ ๋ฐ์ํ๋ ์ด๋ฒคํธ.์ด ์ด๋ฒคํธ๋ ์ฌ์ฉ์๊ฐ ๋ง์ฐ์ค๋ฅผ ์์ ์๋ก ์ด๋์ํฌ ๋ ํธ๋ฆฌ๊ฑฐ ๋๋ค.onMouseEnter๋ ํด๋น ์์์ ์์ ์์์๋ ์ด๋ฒคํธ๋ฅผ ์ ํํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ถ๋ชจ .. 2024. 5. 20. [JavaScript] ํ์ ์ฐฝ ๊ตฌํ - window.open [JavaScript] ํ์ ์ฐฝ ๊ตฌํ - window.openํ๋ก์ ํธ์์ ๊ธฐํ ๋ช ์ธ๋ฅผ ๋ฐํ์ผ๋ก ๋ ๋ฆฝ๋ ํ์ ์ฐฝ์ ๊ตฌํํด์ผ ํ๋ค.JavaScript์ window.open ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ํ์ ์ฐฝ์ ๊ตฌํํ์๋ค. window.open ๋ฉ์๋์ ๋ธ๋ผ์ฐ์ ์ฐฝ์ด๋ ํญ์ ์ด ๋ ์ฌ์ฉํ๋ ๋ฉ์๋window.open(url, windowName, [windowFeatures]);- url : ํ์ ์ฐฝ์ ๋ก๋ํ ํ์ด์ง URL- windowName : ํ์ ์ฐฝ์ ์ด๋ฆ. ๊ฐ์ ์ด๋ฆ์ ๊ฐ์ง ์ฐฝ์ด ์ด๋ฏธ ์ด๋ ค์๋ค๋ฉด ํด๋น ์ฐฝ์ ์ฌ์ฌ์ฉ.- windowFeatures : ํ์ ์ฐฝ์ ํน์ฑ์ ์ ์ํ๋ ๋ฌธ์์ด. ์ฝ๋ ์์์ฝ๊ด ๋ณด๊ธฐ Reference Window: open() method - Web APIs | MDNThe open() m.. 2024. 5. 20. SQLD(๊ตญ๊ฐ ๊ณต์ธ SQL ๊ฐ๋ฐ์) - ๋น์ ๊ณต์ ํฉ๊ฒฉ ํ๊ธฐ SQLD(๊ตญ๊ฐ ๊ณต์ธ SQL ๊ฐ๋ฐ์) - ๋น์ ๊ณต์ ํฉ๊ฒฉ ํ๊ธฐ ์ฝ ํ๋ฌ์ ์ธ 2023๋ 6์ 10์ผ์ 49ํ sqld๋ฅผ ์น๋ค๋ค. ์ํ์ ๋ง์ ์ ์ฒญํด๋์์ง๋ง ํ์ฌ์ผ์ด ๊ฐ์๊ธฐ ๋ฐ๋น ์ง๋ฉด์ ์ฆ์ ์ผ๊ทผ์ผ๋ก ๊ณต๋ถํ ์๊ฐ์ด ์ ๋์ ์ผ๋ก ๋ถ์กฑํ๊ฒ ๋์๋ค. ํด๊ทผํ ๊ณต๋ถํด๋ณด๋ ค ํ์ผ๋ ๊ฑฐ์ ํ์ง ๋ชปํ๊ณ , ์ํ ์ ์ฃผ ํ ์์ผ์ ํ๋ฃจ ๊ณต๋ถํ๊ณ ์ํ ์ ๋ ํ์ฌ ์ ๋ฌด๋ฅผ ์ด ์ ์๊ฒ ๋์ด ๊ทธ ๋ ๋ฐค์์ ๋ ธ๋์ฑ 2ํ๋ ํ๊ณ ๊ฐ์ ์ํ์ ๋ณด์๋ค. sqld ์ํ ์ ๋ณด SQLD 1๊ณผ๋ชฉ - ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ์ดํด 10๋ฌธ์ 2๊ณผ๋ชฉ - SQL ๊ธฐ๋ณธ ๋ฐ ํ์ฉ 40๋ฌธ์ ๋ฌธํญ๋ณ ์ ์ - 2์ ๊ณผ๋ฝ ๊ธฐ์ค - ๊ณผ๋ชฉ๋ณ 40% ๋ฏธ๋ง ํฉ๊ฒฉ ๊ธฐ์ค - 60์ ์ด์ ์ํ์๊ฐ - 90๋ถ ๊ธฐ๋ณธ ๋ฒ ์ด์ค ๋น์ ๊ณต์(์์๋ช ๊ณผํ์ ๊ณต), ์๋ ์ SSAFY๊ต์ก ๋ฐ์ผ๋ฉฐ SQL๋ฌธ ๊ธฐ๋ณธ ์ฟผ๋ฆฌ ์์ฑ.. 2023. 7. 1. [Test Code] queryByText, findByText, getByText queryByText, findByText, getByText์ ์ฐจ์ด์ getByText, findByText, queryByText๋ ๋ชจ๋ react-testing-library ํจํค์ง์์ ์ ๊ณตํ๋ ํจ์๋ก, ํน์ ํ ์คํธ๋ฅผ ๊ฐ์ง ์์๋ฅผ ์ฐพ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ๊ฐ ํจ์๋ ์ฝ๊ฐ ๋ค๋ฅธ ๋์๊ณผ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. getByText: ๋๊ธฐ์ ์ผ๋ก ์์๋ฅผ ์ฐพ๋ ํจ์์ ๋๋ค. ํน์ ํ ์คํธ๋ฅผ ๊ฐ์ง ์์๋ฅผ ์ฐพ์ผ๋ฉด ํด๋น ์์๋ฅผ ๋ฐํํ๊ณ , ์์๋ฅผ ์ฐพ์ ์ ์๋ ๊ฒฝ์ฐ์๋ ์ค๋ฅ๋ฅผ ๋ฐ์์ํต๋๋ค. ์ฃผ๋ก ์ปดํฌ๋ํธ๊ฐ ๋ ๋๋ง๋ ํ์ ํน์ ์์๋ฅผ ์ฆ์ ์ฐพ์์ผ ํ๋ ๊ฒฝ์ฐ์ ์ฌ์ฉ๋ฉ๋๋ค. ๋ง์ฝ ์์๊ฐ ์์ ๊ฒฝ์ฐ ํ ์คํธ๊ฐ ์คํจํฉ๋๋ค. import { render, screen } from '@testing-library/react'.. 2023. 6. 29. [Test Code] Error: Not implemented: HTMLCanvasElement.prototype.getContext (without installing the canvas npm package) ์์ธ Error: Not implemented: HTMLCanvasElement.prototype.getContext ์ค๋ฅ๋ ํ ์คํธ ํ๊ฒฝ์์ getContext ๋ฉ์๋๊ฐ ๊ตฌํ๋์ง ์์์ ๋ ๋ฐ์ํฉ๋๋ค. ์ด ์ค๋ฅ๋ ๋๊ฐ ํ ์คํธ ํ๊ฒฝ์์ ์บ๋ฒ์ค์ ๊ด๋ จ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ๋ ๋ฐ์ํ๋๋ฐ, ํ ์คํธ ์ฝ๋์์ ์ค์ ๋ก ์บ๋ฒ์ค๋ฅผ ์ฌ์ฉํ๋ ค๋ ๊ฒ์ด ์๋๋ผ๋ฉด ์ด ์ค๋ฅ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ๐๊ถ๊ธ์ฆ context ๋ผ๋ ๊ฒ์ด react์ context๋ฅผ ์๋ฏธํ๋ ๊ฒ์ธ๊ฐ? HTMLCanvasElement.prototype.getContext ๋ฉ์๋์ "context"๋ฅผ ์๋ฏธ HTMLCanvasElement.prototype.getContext ๋ฉ์๋๋ HTML ์บ๋ฒ์ค ์์์ ๊ทธ๋ฆฌ๊ธฐ ์ปจํ ์คํธ๋ฅผ ๊ฐ์ ธ์ค๋ ๋ฉ์๋ ์ด ๋ฉ์๋๋ ์บ๋ฒ.. 2023. 6. 29. [API] graphql-request | GraphQLClient, request graphql-request GraphQL์ ์ฌ์ฉํ์ฌ ์๋ฒ์ ํต์ ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๊ฐ๋จํ JavaScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ GraphQL API๋ฅผ ํธ์ถํ๊ธฐ ์ํด ์ฌ์ฉ โ ํ์ํ ๊ฒ headers - token, Content-Type query variables endpoint ⇒API URI GraphQLClient GraphQL ์๋ฒ์ HTTP ์์ฒญ์ ๋ณด๋ด๊ณ ์๋ต์ ๋ฐ๊ธฐ ์ํด ์ฌ์ฉ . GraphQLClient๋ฅผ ์ฌ์ฉํ์ฌ GraphQL API ์๋ํฌ์ธํธ์ HTTP ์์ฒญ์ ๋ณด๋ผ์ ์์ ์ด ํด๋์ค๋ ์ฌ๋ฌ ๊ฐ์ง ๋ฉ์๋๋ฅผ ์ ๊ณต. ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๋ฉ์๋๋ request๋ฉ์๋ request request๋ฉ์๋๋ GraphQL ์ฟผ๋ฆฌ๋ฅผ ์คํํ๊ณ , ์๋ฒ๋ก๋ถํฐ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๋ ๋ฐ ์ฌ์ฉ GraphQL API ์๋ํฌ์ธํธ URL๊ณผ G.. 2023. 6. 29. [Electron] electron์ฑ ํ๋ฉด์ด ๋๋๋ง์ด ๋์ง ์๋ ๋ฌธ์ ๋ฌธ์ ์ 2023.06.17 - [Development/Electron] - [Electron] SyntaxError: Cannot use import statement outside a module ์์ ์ค๋ฅ๋ฅผ ํด๊ฒฐ ํ electron์ฑ์ ์คํํ์ ๋, electron ์ฑ์ ์ผ์ง์ง๋ง ํ๋ฉด์ด ๋๋๋ง ๋์ง ์๋ ์ํ๊ฐ ๋ฐ์. ํด๊ฒฐ๊ณผ์ Failed to compile. Module not found: Error: Can't resolve './App' in 'D:\\2023\\march\\realPractice\\login\\src' Did you mean 'App.js'? BREAKING CHANGE: The request './App' failed to resolve only because it was r.. 2023. 6. 18. ์ด์ 1 2 3 4 ยทยทยท 27 ๋ค์