๋ฐ˜์‘ํ˜•

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ 294

[Intellij] Prettier ์ ์šฉ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•, ๊ณ ์น˜๋Š” ๋ฐฉ๋ฒ•

Intro ์ธํ…”๋ฆฌ์ œ์ด Intellij ์—์„œ prettier ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ œ ๊ฒฝ์šฐ ์ด๋ฏธ prettier ํ”Œ๋Ÿฌ๊ทธ์ธ๊ณผ ํ•„์š”ํ•œ dependency, ๊ทธ๋ฆฌ๊ณ  prettierrc.js ํŒŒ์ผ๋„ ์ด๋ฏธ ์ƒ์„ฑ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ prettier ์ ์šฉ์ด ์ œ๋Œ€๋กœ ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ! Prettier ํ”„๋ฆฌํ‹ฐ์–ด๋Š” ์ผ์ข…์˜ ์ฝ”๋“œ formatter ์ž…๋‹ˆ๋‹ค. ํ”„๋ฆฌํ‹ฐ์–ด๋ฅผ ์‚ฌ์šฉ ์‹œ ์ผ๊ด€๋œ ์ฝ”๋“œ ์Šคํƒ€์ผ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋กœ ๋“ค์—ฌ์“ฐ๊ธฐ, ์ค„ ๋ฐ”๊ฟˆ ๋„ˆ๋น„ ๋“ฑ์˜ ์„ค์ •์ด ์žˆ์Šต๋‹ˆ๋‹ค. How to do ๊ตฌ๊ธ€๋ง์„ ํ•ด๋ณด๋‹ˆ, ์ œ๊ฐ€ ๋†“์ณค๋˜ ์„ค์ •์ด ํ•˜๋‚˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์ธํ…”๋ฆฌ์ œ์ด ๋‚ด๋ถ€ IDE ์•ˆ์—์„œ Prettier ์„ค์ •์„ ํ•ด์ค˜์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. Preferences > Languages & Frameworks > ..

[Intellij] ์•ˆ์“ฐ๋Š” import ์ œ๊ฑฐ ํ•˜๋Š” ๋ฐฉ๋ฒ• (๋‹จ์ถ•ํ‚ค/์ž๋™ ์„ค์ •)

Intro ์ธํ…”๋ฆฌ์ œ์ด์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” import ๊ตฌ๋ฌธ์„ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. How to do 1. Intelij > Code > Optimize Imports ์‚ฌ์šฉ (control + option + O) → ์œ„ ๋ฐฉ๋ฒ•์€ ์ˆ˜๋™ ํ˜น์€ ๋‹จ์ถ•ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. 2. Preference > Editor > General > Auto Import > Optimize Imports on the fly ํด๋ฆญ → ์œ„ ๋ฐฉ๋ฒ•์€ ์ž๋™์œผ๋กœ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ œ ๊ฒฝ์šฐ์—๋Š” Kotlin Editor๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์–ด์„œ, Kotlin์˜ Optimize imports on the fly์— ์ฒดํฌ๋ฅผ ํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

[Next.js] Error: Invalid Link with a child. Please remove a or use Link legacyBehavior ์˜ค๋ฅ˜

Intro Next.js๋ฅผ ์‚ฌ์šฉํ•˜๋˜ ๋„์ค‘ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค. Error: Invalid with child. Please remove or use Why? {props.children} next/link ๋ฅผ ํ™œ์šฉํ•˜์—ฌ Link ํƒœ๊ทธ ์•ˆ์— a ํƒœ๊ทธ๋ฅผ ๋„ฃ์–ด์คฌ๋˜ ์ฝ”๋“œ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์—๋Ÿฌ ํ™”๋ฉด์— ๋‚˜์™€์žˆ๋Š” Next.js ์‚ฌ์ดํŠธ์— ํ•œ๋ฒˆ ์ ‘์†ํ•ด๋ดค์Šต๋‹ˆ๋‹ค. (https://nextjs.org/docs/messages/invalid-new-link-with-extra-anchor) Why This Error Occurred Next.js 13๋ฒ„์ „์ด ๋‚˜์˜ค๋ฉด์„œ, Link ํƒœ๊ทธ๋Š”๋กœ ๋ Œ๋”๋ง ๋˜๋ฏ€๋กœ ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‹œ๋„๋Š” ์œ ํšจํ•˜์ง€ ์•Š๋‹ค๊ณ  ํ•˜๋„ค์š”! How to solve the problem npx @next/co..

Framework/Next.js 2022.11.08

[Sublime text] ์ฝ”๋“œ ๋‹ค์ค‘ ์„ ํƒ & ์—ฌ๋Ÿฌ์ค„ ๋™์‹œ ํŽธ์ง‘ ๋ฐฉ๋ฒ•

Intro Sublime text, ์„œ๋ธŒ๋ผ์ž„ ํ…์ŠคํŠธ์—์„œ ์ฝ”๋“œ๋ฅผ ๋‹ค์ค‘ ์„ ํƒํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. How to do 1. ๋‹ค์Œ์˜ ํ…์ŠคํŠธ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ด…์‹œ๋‹ค. hello ๋’ค์— ๊ณตํ†ต์ ์œผ๋กœ '-' ๋ฌธ์ž๋ฅผ ์‚ฝ์ž…ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. 2. command + ๋งˆ์šฐ์Šค ํด๋ฆญ(mouse click) ์„ ์‚ฌ์šฉํ•˜์—ฌ ์›ํ•˜๋Š” ์œ„์น˜์— ์ปค์„œ๋ฅผ ๋†“๊ณ , command ๋ฅผ ๋ˆŒ๋Ÿฌ ํด๋ฆญํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. 3. ์›ํ•˜๋Š” ๋‚ด์šฉ์„ ์›ํ•˜๋Š” ์œ„์น˜์— ์‚ฝ์ž…ํ•œ ๋ชจ์Šต์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ™‚

[Next.js] Error: The default export is not a React Component in page: "/" ์˜ค๋ฅ˜

Intro next js ๋ฅผ ์‚ฌ์šฉํ•˜๋˜ ๋„์ค‘ ์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค. Error: The default export is not a React Component in page: "/" Why? ์—๋Ÿฌ๊ฐ€ ๋‚œ ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•ด๋ณด๋‹ˆ, export ๋งŒ ํ•˜๊ณ  default ๋ฅผ ์ ์–ด์ฃผ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. Next.js์—์„œ๋Š” default๋กœ export๋ฅผ ํ•ด์•ผ ์—๋Ÿฌ ์—†์ด ์ •์ƒ ์ž‘๋™ ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. export function HomePAge() { const featuredEvents = getFeaturedEvents(); return ( ); } How to solve the problem export default ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๐Ÿ™Œ export default function HomePAge() { ..

Framework/Next.js 2022.11.08

[TypeScript] Property 'offsetTop' does not exist on type 'Element'.ts(2339) ์˜ค๋ฅ˜

Intro ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋˜ ๋„์ค‘ ์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค. Property 'offsetTop' does not exist on type 'Element'.ts(2339) Why? document.querySelector('.page').offsetTop ๋‹ค์Œ์˜ ์ฝ”๋“œ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ด…์‹œ๋‹ค. ์ด ์ฝ”๋“œ๋Š” ๋งž๋Š” ์ฝ”๋“œ์ด์ง€๋งŒ, ๊ฒฐ๊ณผ๊ฐ’์ด null์ด ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ null ์ฒดํฌ๋ฅผ ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‘๋ฒˆ์งธ๋กœ๋Š”, ํ˜„์žฌ ๋ฆฌํ„ด ํƒ€์ž…์€ Element์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Element๋Š” offsetTop์ด๋ผ๋Š” ํ”„๋กœํผํ‹ฐ๋ฅผ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. HtmlElement๋กœ ๋ฐ˜ํ™˜๋  ๊ฒƒ์ด๋ผ๊ณ  ์˜ˆ์ƒํ•  ์ˆœ ์žˆ์ง€๋งŒ, SVGElement๊ฐ€ ๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ปดํŒŒ์ผ๋Ÿฌ์—๊ฒŒ๋Š” ์ด ์ •๋ณด๊ฐ€ ์ •ํ™•ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด ๋ถ€๋ถ„ ์—ญ์‹œ type-a..

[Next.js & React] ํŽ˜์ด์ง€ & ํŒŒ์ผ ๊ธฐ๋ฐ˜ ๋ผ์šฐํŒ…

์ด ๊ธ€์€ udemy์˜ Next.js & React - ์™„๋ฒฝ ์ •๋ณต ๊ฐ€์ด๋“œ (incl. Two Paths) ๊ฐ•์ขŒ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. 52. ๋ชจ๋“ˆ ๊ฐœ์š” ํŒŒ์ผ ๊ธฐ๋ฐ˜์˜ routing, ์ •์  ๋ฐ ๋™์  routes, ํŽ˜์ด์ง€๊ฐ„์˜ ๋„ค๋น„๊ฒŒ์ดํŒ…์— ๋Œ€ํ•ด ๋ฐฐ์šธ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. 53. ์‹œ์ž‘ ์„ค์ • Setup ์‚ฌ์ดํŠธ ์†Œ์Šค ์ฝ”๋“œ ์ฐธ๊ณ  54. ํŒŒ์ผ ๊ธฐ๋ฐ˜ ๋ผ์šฐํŒ…์ด๋ž€ ๋ฌด์—‡์ผ๊นŒ? React.js๋Š” react-router-dom์„ ์‚ฌ์šฉํ•˜์—ฌ, ๋ผ์šฐํŠธ๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Next.js๋Š” ๋ผ์šฐํ„ฐ๋ฅผ ์„ค์น˜ํ•˜์ง€ ์•Š๊ณ , ๋ผ์šฐํŠธ์™€ ํŽ˜์ด์ง€ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฐ JSX์™€ JS ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Next.js์—์„œ๋Š” React ์ปดํฌ๋„ŒํŠธ ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ํŠน๋ณ„ํ•œ ํด๋”์— ์ผ๋ฐ˜์ ์ธ React ์ปดํฌ๋„ŒํŠธ ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ดํ›„ Next.js๊ฐ€ ์„ค์ •๋œ ํด..

Framework/Next.js 2022.11.04

[Next.js & React] ์‹œ์ž‘ํ•˜๊ธฐ

์ด ๊ธ€์€ udemy์˜ Next.js & React - ์™„๋ฒฝ ์ •๋ณต ๊ฐ€์ด๋“œ (incl. Two Paths) ๊ฐ•์ขŒ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. 1. Welcome to the Coursel ์‹œ์ž‘ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊พธ์ค€ํžˆ ํ™”์ดํŒ… ๐ŸคŸ๐ŸคŸ 2. Next.js๋ž€ ๋ฌด์—‡์ธ๊ฐ€? Next.js๋ฅผ ์™œ ์‚ฌ์šฉํ•˜๋Š” ๊ฑธ๊นŒ? NextJS๋Š” ํ”„๋กœ๋•์…˜์šฉ React ํ”„๋ ˆ์ž„ ์›Œํฌ ์ž…๋‹ˆ๋‹ค. ํฐ ๊ทœ๋ชจ์˜ ํ”„๋กœ๋•์…˜์šฉ React ์•ฑ์„ ์‰ฝ๊ฒŒ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ๋งŽ์€ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ReactJS๋Š” ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌ์ถ•์„ ์œ„ํ•œ JS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. ์ฆ‰ Third Party ํŒจํ‚ค์ง€๋กœ ํ”„๋ก ํŠธ ์—”๋“œ ํ”„๋กœ์ ํŠธ์— ์ถ”๊ฐ€๋˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ž…๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ ํด๋ผ์ด์–ธํŠธ ์ธก JavaScript ์ฝ”๋“œ๋ผ๋Š” ์ด์•ผ๊ธฐ ์ž…๋‹ˆ๋‹ค. ์ฃผ๋กœ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ๋ถ€๋ถ„์ธ ์ปดํฌ๋„ŒํŠธ,..

Framework/Next.js 2022.11.02

[Java] overloading ์ด๋ž€? ์˜ค๋ฒ„๋กœ๋”ฉ ๋œป

์ด ๊ธ€์€ ์ƒํ™œ์ฝ”๋”ฉ์˜ 'Java' ๊ฐ•์ขŒ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๊ฐ™์€ ์ด๋ฆ„์ด์ง€๋งŒ ์„œ๋กœ ๋‹ค๋ฅธ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ํ˜•์‹์„ ๊ฐ€์ง„ ๋ฉ”์†Œ๋“œ๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. class Calculator{ int left, right; int third = 0; public void setOprands(int left, int right){ System.out.println("setOprands(int left, int right)"); this.left = left; this.right = right; } public void setOprands(int left, int right, int third){ System.out.println("setOprands(int left, int right, int third)");..

Programming/Java 2022.11.01

[Java] overriding ์˜ค๋ฒ„๋ผ์ด๋”ฉ์ด๋ž€?

์ด ๊ธ€์€ ์ƒํ™œ์ฝ”๋”ฉ์˜ 'Java' ๊ฐ•์ขŒ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ์ฐฝ์˜์ ์ธ ์ƒ์† ์ƒ์†์€ ์ƒ์œ„ ํด๋ž˜์Šค์˜ ๊ธฐ๋Šฅ์„ ํ•˜์œ„ ํด๋ž˜์Šค์—๊ฒŒ ๋ฌผ๋ ค์ฃผ๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ํ•˜์œ„ ํด๋ž˜์Šค๋Š” ์ƒ์œ„ ํด๋ž˜์Šค์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ์ฃผ์–ด์ง„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ• ๊นŒ์š”? ๋งŒ์•ฝ ๊ทธ๋ž˜์•ผ ํ•œ๋‹ค๋ฉด ์ œ์•ฝ์ด ์ƒ๋‹นํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ œ์•ฝ์„ ๋ฒ—์–ด๋‚˜๋ ค๋ฉด ํ•˜์œ„ ํด๋ž˜์Šค๊ฐ€ ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๊ธฐ๋ณธ์ ์ธ ๋™์ž‘๋ฐฉ๋ฒ•์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๋งฅ๋ฝ์—์„œ ๋„์ž…๋œ ๊ธฐ๋Šฅ์ด ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ(overriding)์ž…๋‹ˆ๋‹ค. package org.opentutorials.javatutorials.overriding.example1; class Calculator { int left, right; public void setOprands(int left, int right) { this.l..

Programming/Java 2022.10.25
๋ฐ˜์‘ํ˜•