Web

Web/Spring

Maven Lifecycle

Maven POM을 λ°”νƒ•μœΌλ‘œ Java ν”„λ‘œμ νŠΈμ˜ 전체적인 라이프사이클을 κ΄€λ¦¬ν•˜λŠ” 도ꡬ(μ˜μ‘΄μ„± 관리, 라이브러리 관리, ν”„λ‘œμ νŠΈ 라이프사이클 관리, λΉŒλ“œ λ“±) Maven은 settings.xml κ³Ό pom.xml을 μ°Έμ‘°ν•œλ‹€. settings.xml: maven μžμ²΄μ— λŒ€ν•œ μ„€μ • pom.xml: POM(Project Object Model)을 μ„€μ •, ν”„λ‘œμ νŠΈ 정보/μ˜μ‘΄μ„± 라이브러리 정보/λΉŒλ“œ 정보 Maven Lifecycle 1. basic 라이프사이클 compile ➑ test ➑ package ➑ install ➑ deploy compile: src/java ν•˜μœ„ λͺ¨λ“  Java μ†ŒμŠ€λ₯Ό μ»΄νŒŒμΌν•΄ target/classes둜 볡사 test: ν…ŒμŠ€νŠΈμΌ€μ΄μŠ€μ˜ λ‹¨μœ„ν…ŒμŠ€νŠΈ μ§„ν–‰(ν…ŒμŠ€νŠΈ μ‹€νŒ¨μ‹œ λΉŒλ“œ μ‹€νŒ¨λ‘œ 처리됨) ..

Web/React

ReactDOM.render is no longer supported in React 18

CRA 없이 λ¦¬μ•‘νŠΈ ν™˜κ²½μ„ ꡬ성해 κ°œλ°œν•˜λ˜ 쀑 μ½˜μ†”μ°½μ— λ‹€μŒκ³Ό 같은 warning λ©”μ‹œμ§€λ₯Ό λ³΄κ²Œλ˜μ—ˆλ‹€. ν˜„μž¬ ν”„λ‘œμ νŠΈμ˜ React 버전 : 18.0.7 ν˜„μž¬ ν”„λ‘œμ νŠΈμ˜ index.tsx μ½”λ“œ import React from 'react'; import ReactDOM from 'react-dom'; import App from './App'; const rootElement = document.getElementById('root'); ReactDOM.render(, rootElement); warning λ©”μ‹œμ§€μ˜ 링크λ₯Ό λ“€μ–΄κ°€ ν™•μΈν•΄λ³΄λ‹ˆ React 18 λ²„μ „μ—μ„œλŠ” 더이상 ReactDOM.render λ₯Ό μ§€μ›ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” λ‚΄μš©μ΄ μžˆμ—ˆλ‹€. μ„€λͺ…ν•˜λŠ”λŒ€λ‘œ μƒˆλ‘œμš΄ APIλ₯Ό μ μš©ν•˜μ—¬ index μ½”λ“œλ₯Ό μž¬κ΅¬μ„±ν–ˆλ‹€...

Web/JavaScript

[JavaScript] this

this ν‚€μ›Œλ“œ 객체 : μƒνƒœλ₯Ό λ‚˜νƒ€λ‚΄λŠ” ν”„λ‘œνΌν‹°μ™€ λ™μž‘μ„ λ‚˜νƒ€λ‚΄λŠ” λ©”μ„œλ“œλ₯Ό ν•˜λ‚˜μ˜ 논리적인 λ‹¨μœ„λ‘œ 묢은 볡합적인 자료ꡬ쑰 λ™μž‘μ„ λ‚˜νƒ€λ‚΄λŠ” λ©”μ„œλ“œλŠ” μžμ‹ μ΄ μ†ν•œ 객체의 μƒνƒœ(ν”„λ‘œνΌν‹°)λ₯Ό μ°Έμ‘°ν•˜κ³  λ³€κ²½ν•  수 μžˆμ–΄μ•Ό ν•œλ‹€. → μžμ‹ μ΄ μ†ν•œ 객체λ₯Ό κ°€λ¦¬ν‚€λŠ” μ‹λ³„μžλ₯Ό μ°Έμ‘°ν•  수 μžˆμ–΄μ•Ό ν•œλ‹€. this : μžμ‹ μ΄ μ†ν•œ 객체 λ˜λŠ” μžμ‹ μ΄ 생성할 μΈμŠ€ν„΄μŠ€λ₯Ό κ°€λ¦¬ν‚€λŠ” 자기 μ°Έμ‘° λ³€μˆ˜ this 바인딩은 ν•¨μˆ˜ 호좜 방식에 μ˜ν•΄ λ™μ μœΌλ‘œ κ²°μ •λœλ‹€. this 바인딩 λ°”μΈλ”©μ΄λž€ μ‹λ³„μžμ™€ 값을 μ—°κ²°ν•˜λŠ” 과정을 μ˜λ―Έν•œλ‹€. (this와 thisκ°€ 가리킬 객체λ₯Ό 바인딩) μ „μ—­μ—μ„œ thisλŠ” μ „μ—­ 객체 windowλ₯Ό 가리킨닀. (κΈ°λ³Έκ°’) 일반 ν•¨μˆ˜ λ‚΄λΆ€μ—μ„œ thisλŠ” μ „μ—­ 객체 windowλ₯Ό 가리킨닀. λ©”μ„œλ“œ λ‚΄λΆ€μ—μ„œ thisλŠ” λ©”μ„œλ“œ..

Web/JavaScript

[JavaScript] λͺ¨λ“ˆ μ‹œμŠ€ν…œ

JavaScript λͺ¨λ“ˆ μ‹œμŠ€ν…œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 규λͺ¨κ°€ μ»€μ§€λ©΄μ„œ νŒŒμΌμ„ μ—¬λŸ¬κ°œλ‘œ λΆ„λ¦¬ν•˜κ²Œ λ˜λŠ”λ° 이런 ν•˜λ‚˜ν•˜λ‚˜μ˜ νŒŒμΌμ„ “λͺ¨λ“ˆ”이라고 ν•œλ‹€. → μœ„μ™€ 같이 μž‘μ„±ν•˜λ©΄ μ „μ—­ μŠ€μ½”ν”„λ₯Ό κ³΅μœ ν•˜κ²Œ λ˜λŠ” 문제 λ°œμƒ(ν•˜λ‚˜μ˜ νŒŒμΌμ•ˆμ— μžˆλŠ” μ½”λ“œμ²˜λŸΌ λ™μž‘) λͺ¨λ“ˆμ΄λž€? κ°œλ°œν•˜λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 규λͺ¨κ°€ 컀지면 νŒŒμΌμ„ μ—¬λŸ¬κ°œλ‘œ 뢄리해야 ν•˜λŠ” μ‹œμ μ΄ 생긴닀. μ΄λ•Œ λΆ„λ¦¬λœ ν•˜λ‚˜μ˜ νŒŒμΌμ„ λͺ¨λ“ˆμ΄λΌκ³  λΆ€λ₯΄λŠ”λ°, _λͺ¨λ“ˆμ€ λŒ€κ°œ 클래슀 ν•˜λ‚˜ ν˜Ήμ€ νŠΉμ •ν•œ λͺ©μ μ„ κ°€μ§„ μ—¬λŸ¬κ°œμ˜ ν•¨μˆ˜λ₯Ό ν¬ν•¨ν•˜λŠ” 라이브러리_둜 κ΅¬μ„±λ˜μ–΄ μžˆλ‹€. μž₯점 μœ μ§€λ³΄μˆ˜ 용이 → κΈ°λŠ₯듀이 λͺ¨λ“ˆν™”λœ 경우 μ˜μ‘΄μ„±μ„ 쀄일 수 μžˆμ–΄ κΈ°λŠ₯ κ°œμ„ μ΄λ‚˜ μˆ˜μ •μ΄ 용이 λ„€μž„μŠ€νŽ˜μ΄μŠ€ν™” → μ½”λ“œ 양이 λ§Žμ•„μ§ˆμˆ˜λ‘ μ „μ—­μŠ€μ½”ν”„μ— μ‘΄μž¬ν•˜λŠ” λ³€μˆ˜λͺ…이 κ²ΉμΉ˜λŠ” κ²½μš°κ°€ μ‘΄μž¬ν•œλ‹€. μ΄λ•Œ λͺ¨λ“ˆλ‘œ λΆ„λ¦¬ν•˜λ©΄ λͺ¨λ“ˆλ§Œμ˜ ..

Web/JavaScript

[JavaScript] λ³€μˆ˜ ν˜Έμ΄μŠ€νŒ…

Hoisting(ν˜Έμ΄μŠ€νŒ…)? μŠ€μ½”ν”„ λ‚΄λΆ€μ—μ„œ λ³€μˆ˜ 선언이 μ΅œμƒλ‹¨μœΌλ‘œ λŒμ–΄μ˜¬λ €μ§„ κ²ƒμ²˜λŸΌ λ™μž‘ν•˜λŠ” μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ νŠΉμ§• λ³€μˆ˜μ˜ μ’…λ₯˜ var ➑️ ν•¨μˆ˜ 레벨 μŠ€μ½”ν”„ let(ES6) ➑️ 블둝 레벨 μŠ€μ½”ν”„ const(ES6) ➑️ 블둝 레벨 μŠ€μ½”ν”„ ν•¨μˆ˜ 레벨 μŠ€μ½”ν”„ : λ³€μˆ˜μ˜ μœ νš¨λ²”μœ„κ°€ ν•¨μˆ˜ λ‚΄λ‘œ μ œν•œ 블둝 레벨 μŠ€μ½”ν”„ : λ³€μˆ˜μ˜ μœ νš¨λ²”μœ„κ°€ 블둝(ν•¨μˆ˜, if, for, while, try/catch λ“±) λ‚΄λ‘œ μ œν•œ λ³€μˆ˜μ˜ 생성 κ³Όμ • μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ λ³€μˆ˜λŠ” λ‹€μŒ 3λ‹¨κ³„μ˜ 과정을 톡해 μƒμ„±λœλ‹€. μ„ μ–Έ 단계 : 값을 μ €μž₯ν•˜κΈ° μœ„ν•œ λ©”λͺ¨λ¦¬ 곡간을 ν™•λ³΄ν•˜κ³  λ³€μˆ˜ 이름과 ν™•λ³΄λœ λ©”λͺ¨λ¦¬ κ³΅κ°„μ˜ μ£Όμ†Œλ₯Ό μ—°κ²°ν•΄μ„œ 값을 μ €μž₯ν•  수 있게 μ€€λΉ„(λ³€μˆ˜ 이름 등둝) λ³€μˆ˜ 선언은 μ†ŒμŠ€μ½”λ“œκ°€ ν•œ 쀄씩 순차적으둜 μ‹€ν–‰λ˜λŠ” μ‹œμ (λŸ°νƒ€μž„)이 μ•„λ‹Œ ..

Web/JavaScript

[JavaScript] HTML νŒŒμΌμ—μ„œ JavaScript 파일 효과적으둜 λ‘œλ“œν•˜κΈ°

λΈŒλΌμš°μ €μ˜ λ Œλ”λ§ 엔진은 HTML λ¬Έμ„œλ₯Ό νŒŒμ‹±ν•  λ•Œ 순차적으둜 읽어듀인닀. 예λ₯Ό λ“€μ–΄, μ•„λž˜μ™€ 같은 HTML λ¬Έμ„œλ₯Ό νŒŒμ‹±ν•œλ‹€ν•˜λ©΄ λ²„νŠΌ μœ„μ—μ„œ μ•„λž˜λ‘œ νŒŒμ‹±μ„ μ§„ν–‰ν•˜λŠ”λ° 쀑간에 script νƒœκ·Έλ₯Ό λ§Œλ‚˜λ©΄ νŒŒμ‹±μ„ λ©ˆμΆ”κ³  script νŒŒμΌμ„ λ‘œλ“œν•˜κ³  μ‹€ν–‰μ‹œν‚¨λ‹€. script 파일이 λ‹€μŒκ³Ό κ°™λ‹€λ©΄, 아직 button μš”μ†Œλ₯Ό νŒŒμ‹±ν•˜κΈ° 전에 button DOM μš”μ†Œμ— μ ‘κ·Όν•˜κ²Œ λ˜μ–΄ λ¬Έμ œκ°€ λ°œμƒν•œλ‹€. console.log("Hello World"); let btn = document.querySelector("#btn"); btn.addEventListener("click", function () { alert("Hello Wolrd"); }); 전체 흐름을 μ •λ¦¬ν•˜λ©΄ λ‹€μŒκ³Ό κ°™λ‹€. HTML parsing script ..

Web/Node.js

[NVM] Node 버전 κ΄€λ¦¬ν•˜κΈ°

MDN λ¬Έμ„œ λ²ˆμ—­ κΈ°μ—¬λ₯Ό μœ„ν•΄ κ°€μ΄λ“œλΌμΈμ„ λ”°λΌκ°€λ˜ 쀑 λ‹€μŒκ³Ό 같은 μ—λŸ¬ λ©”μ‹œμ§€λ₯Ό 보게 λ˜μ—ˆλ‹€. content λ ˆν¬μ§€ν† λ¦¬μ—μ„œ yarn install 을 ν•˜λ˜ 쀑 λ§Œλ‚œ μ—λŸ¬ λ©”μ‹œμ§€ content on ξ‚  main via β¬’ v12.18.3 ➜ yarn install yarn install v1.22.10 [1/5] πŸ” Validating package.json... [2/5] πŸ” Resolving packages... [3/5] 🚚 Fetching packages... error @mdn/yari@1.12.2: The engine "node" is incompatible with this module. Expected version ">=16.0.0". Got "12.18.3" error Found inc..

Web/CSS

[CSS] What is CSS?

CSS(Cascading Style Sheets) HTMLμ΄λ‚˜ XMLκ³Ό 같은 κ΅¬μ‘°ν™”λœ λ¬Έμ„œ(Document)의 각 μš”μ†Œ(Element)λ₯Ό 화면에 μ–΄λ–»κ²Œ λ Œλ”λ§(style-μŠ€νƒ€μΌ, λ ˆμ΄μ•„μ›ƒ λ“±) ν•  것인지 μ •μ˜ν•˜κΈ° μœ„ν•œ μ–Έμ–΄ CSS ꡬ문 κ·œμΉ™ 기반 μ–Έμ–΄ → μ•„λž˜μ™€ 같이 κ·œμΉ™μ„ μ§€μ •ν•  λ•Œ μŠ€νƒ€μΌμ„ μ§€μ •ν•  HTML μš”μ†Œλ₯Ό 선택 h1 { color: blue; font-size: 4em; } 1. Selector HTML μš”μ†Œμ˜ style을 μ •μ˜ν•˜κΈ° μœ„ν•΄μ„œ μŠ€νƒ€μΌμ„ μ μš©ν•  HTML μš”μ†Œλ₯Ό 선택해야 ν•œλ‹€. Rule Set(Rule)μœ„ CSS Rule set은 HTML λ¬Έμ„œμ—μ„œ body μš”μ†Œλ₯Ό μ„ νƒν•œ ν›„ μ„ νƒλœ body μš”μ†Œμ˜ μŠ€νƒ€μΌμ„ μ„ μ–Έ λΈ”λ‘μ—μ„œ μ •μ˜ν•˜κ³  μžˆλ‹€. → Rule Set의 집합을 μŠ€νƒ€μΌ μ‹œνŠΈ(Styl..

Web/HTML

[HTML] HTML table advanced features and accessibility

HTML table advanced features and accessibility HTML table의 μΆ”κ°€ 속성 및 μ ‘κ·Όμ„± table에 μΆ”κ°€ν•˜κΈ° μš”μ†Œ μ•ˆμ— μš”μ†Œλ₯Ό μ •μ˜ν•˜μ—¬ table에 λŒ€ν•œ μ„€λͺ…을 μ§€μ •ν•  수 μžˆλ‹€. μš”μ†ŒλŠ” μ—¬λŠ” νƒœκ·Έ λ°”λ‘œ 뒀에 μœ„μΉ˜ν•œλ‹€. Dinosaurs in the Jurassic period ... table에 λŒ€ν•œ μ„€λͺ…을 μ œκ³΅ν•΄μ£ΌκΈ°λ„ ν•˜μ§€λ§Œ μ‹œκ°μž₯애인 μ‚¬μš©μžλ“€μ—κ²Œ 맀우 μœ μš©ν•˜λ‹€. → 슀크린 리더가 caption을 읽어 table에 λŒ€ν•œ λ‚΄μš©μ„ μ–»λŠ”λ‹€. table μš”μ†Œμ˜ summary 속성도 μ‚¬μš©ν•  수 μžˆμ§€λ§Œ HTML5μ—μ„œ 더 이상 μ‚¬μš©λ˜μ§€ μ•ŠμœΌλ―€λ‘œμš”μ†Œλ₯Ό μ‚¬μš©ν•˜λŠ” 것이 μ’‹λ‹€. Active learning: Adding a caption School timetable This is ..

Web/HTML

[HTML] HTML table basics

Table은 무엇인가? table은 ν–‰κ³Ό μ—΄λ‘œ κ΅¬μ„±λœ κ΅¬μ‘°ν™”λœ 데이터 집합이닀. νƒœκ·Έ μ„€λͺ… table ν…Œμ΄λΈ”μ„ κ°μ‹ΈλŠ” νƒœκ·Έ tr ν‘œ λ‚΄λΆ€ ν–‰(table row) th ν–‰ λ‚΄λΆ€ 제λͺ© μ…€(table heading) td ν–‰ λ‚΄λΆ€ 일반 μ…€(table data) 이름 λ‚˜μ΄ μ •μˆ˜μ—° 25 κΉ€μˆ˜μ—° 30 HTML table을 μ‚¬μš©ν•˜μ§€ 말아야 ν• λ•ŒλŠ”? λ ˆμ΄μ•„μ›ƒμ„ μœ„ν•΄ μ‚¬μš©ν•˜λŠ” 경우 λ ˆμ΄μ•„μ›ƒμ„ μœ„ν•œ table은 μ‹œκ°μž₯μ• μ‚¬μš©μžμ˜ 접근성을 μ €ν•˜μ‹œν‚¨λ‹€. μ‹œκ°μž₯애인이 μ‚¬μš©ν•˜λŠ” μŠ€ν¬λ¦°λ¦¬λ”λŠ” HTML νŽ˜μ΄μ§€μ˜ νƒœκ·Έλ₯Ό 해석해 μ‚¬μš©μžμ—κ²Œ λ‚΄μš©μ„ 읽어쀀닀. table이 tag soup을 λ§Œλ“ λ‹€. λ ˆμ΄μ•„μ›ƒμ„ μœ„ν•œ table은 일반적으둜 λ ˆμ΄μ•„μ›ƒ νƒœκ·Έλ“€λ³΄λ‹€ 더 λ³΅μž‘ν•œ λ§ˆν¬μ—… ꡬ쑰λ₯Ό κ°€μ§„λ‹€. 이둜 인해 μ½”λ“œ μž‘μ„±, μœ μ§€ 관리 및 디버깅이 μ–΄λ €..

Web/HTML

[HTML] Adding vector graphics to the web

벑터 κ·Έλž˜ν”½μ€ 파일 크기가 μž‘κ³  ν™•μž₯성이 λ›°μ–΄λ‚˜μ„œ ν™•λŒ€ν•˜λ”λΌλ„ ν”½μ…€ν™”λ˜μ§€ μ•ŠλŠ”λ‹€. 벑터 κ·Έλž˜ν”½μ΄λž€ 무엇인가? μ›Ήμ—μ„œλŠ” raster image, vector image 둜 2κ°€μ§€ μœ ν˜•μ˜ μ΄λ―Έμ§€λ‘œ μž‘μ—…ν•  수 μžˆλ‹€. Raster image ν”½μ…€ κ·Έλ¦¬λ“œλ‘œ μ •μ˜ raster image νŒŒμΌμ—λŠ” 각 픽셀이 배치될 μœ„μΉ˜μ™€ μ •ν™•νžˆ μ–΄λ–€ 색이어야 ν•˜λŠ”μ§€ λ³΄μ—¬μ£ΌλŠ” 정보가 ν¬ν•¨λ˜μ–΄ μžˆλ‹€. μ˜ˆμ‹œ - .bmp, .png, .jpg, .gif Vector image μ•Œκ³ λ¦¬μ¦˜μ„ μ‚¬μš©ν•˜μ—¬ μ •μ˜λœλ‹€. vector image νŒŒμΌμ—λŠ” 컴퓨터가 화면에 λ Œλ”λ§ν•  λ•Œ 이미지가 μ–΄λ–»κ²Œ 보여야 ν•˜λŠ”μ§€ κ³„μ‚°ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•  수 μžˆλŠ” λͺ¨μ–‘κ³Ό κ²½λ‘œμ— λŒ€ν•œ μ •μ˜κ°€ ν¬ν•¨λ˜μ–΄ μžˆλ‹€. SVG ν˜•μ‹μ€ μ›Ήμ—μ„œ μ‚¬μš©ν•  수 μžˆλŠ” κ°•λ ₯ν•œ 벑터 κ·Έλž˜ν”½μ„ λ§Œλ“€κ²Œ ν•΄μ€€λ‹€..

Web/HTML

[HTML] From object to iframe - other embedding technologies

μ›ΉνŽ˜μ΄μ§€μ— λ‹€μ–‘ν•œ μ½˜ν…μΈ  μœ ν˜•μ„ ν¬ν•¨μ‹œν‚€λŠ” , , μ§€μ›ν•˜μ§€ μ•ŠλŠ” λ¦¬μ†ŒμŠ€μ— λŒ€ν•œ fallback content 지원 μ•ˆν•¨ PDF의 경우 μ›ΉνŽ˜μ΄μ§€μ— ν¬ν•¨μ‹œν‚€κΈ°λ³΄λ‹€ λ‹€μš΄λ‘œλ“œν•˜κ±°λ‚˜ λ‹€λ₯Έ νŽ˜μ΄μ§€μ—μ„œ 읽을 수 μžˆλ„λ‘ λ§ν¬ν•˜λŠ” 것이 훨씬 λ‚«λ‹€. ν™•μΈν•˜κΈ° https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Video_and_audio_content/Test_your_skills:_Multimedia_and_embedding Test your skills: Multimedia and embedding - Learn web development | MDN The aim of this skill test is to assess whethe..

suyeon-jung
'Web' μΉ΄ν…Œκ³ λ¦¬μ˜ κΈ€ λͺ©λ‘