โจํ์ฅ์์
1์ผ์ฐจ ๐๐ป Javascript SEO SEO๋ "Search Engine Optimization"์ ์ฝ์๋ก, ๊ฒ์ ์์ง ์ต์ ํ๋ฅผ ์๋ฏธํ๋ฉฐ, ์ด๋ ์น์ฌ์ดํธ๊ฐ ๊ฒ์ ์์ง์์ ๋์ ์์๋ฅผ ์ป์ ์ ์๋๋ก ์ต์ ํํ๋ ํ๋ก์ธ์ค๋ฅผ ๋งํฉ๋๋ค. ๊ฒ์ ์์ง์ ์ฌ์ฉ์๊ฐ ํน์ ํค์๋๋ก ๊ฒ์ํ ๋ ๊ฐ์ฅ ๊ด๋ จ์ฑ ๋์ ์นํ์ด์ง๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ๋ค์ํ ๊ธฐ์ค์ ํ์ฉํฉ๋๋ค. ๐๐ป h1 ํ๊ทธ๋ ํ ํ์ด์ง๋น 1๊ฐ์ฉ ์ฌ์ฉํ๋ค. ๐๐ป imgํ๊ทธ์ alt๋ next.js์์ ์๋ฌ์ ์์ธ์ด ๋ ์ ์๊ณ , ์ ๊ทผ์ฑ SEO์ ์์์ ๋์ผ์ ์๋ค๊ณ ํ๋ค. ๐๐ป ์๋งจํฑ ํ๊ทธ ๋ํ SEO ์ต์ ํ ๋ฐฉ๋ฒ ์ค ํ๋์ด๋ค. ์ฒซ ํ์ฅ๊ฐ์ ์ค์ต์ด์๋ค! ์งง์ ์๊ฐ๋ด์ ๋์ผํ ํ์ด์ง๋ฅผ ๊ตฌํํ๋๋ผ ์ข ํ๋ค์์ง๋ง ๋คํํ ์ ์๊ฐ ๋ด์ ์์ฑํ ์ ์์๋ค. ์ฒซ ํ์์ดํ์ด..
โ๏ธ TIL
โ require(moduleName): ๋ชจ๋ ๋ถ๋ฌ์ค๊ธฐ const fs = require('fs'); โ module.exports: ๋ชจ๋์์ ๋ค๋ฅธ ํ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ด๋ณด๋
๋๋ค. // ์์ ๋ชจ๋ module.exports = { myFunction: function() { // ์ฝ๋ }, myVariable: 'Hello' }; fs ๋ชจ๋: ํ์ผ ์์คํ
๊ณผ ์ํธ ์์ฉํ๊ธฐ ์ํ ๋ฉ์๋๋ค์ ์ ๊ณตํฉ๋๋ค. const fs = require('fs'); // ํ์ผ ์ฝ๊ธฐ fs.readFile('file.txt', 'utf8', (err, data) => { if (err) throw err; console.log(data); }); // ํ์ผ ์ฐ๊ธฐ fs.writeFile('newFile.txt', 'Hello, Nod..
Node.js Node.js๋ JavaScript ๋ฐํ์ ํ๊ฒฝ์ผ๋ก, ์๋ฒ ์ฌ์ด๋ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ ๋น๋๊ธฐ ์ด๋ฒคํธ ๊ธฐ๋ฐ ์ํคํ
์ฒ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ, ๋จ์ผ ์ค๋ ๋ ์ด๋ฒคํธ ๋ฃจํ๋ฅผ ์ฌ์ฉํ์ฌ ๋์ ์ฑ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๋ธ๋ผ์ฐ์ ์์ด๋ node.js๋ฅผ ํตํด ์ด ์ฝ๋๋ฅผ ์คํํ ์ ์๋ค. first-app.js ํ์ผ์ ์์ฑํ๊ณ , node first-app.js ํ์ผ๋ช
์ ์
๋ ฅํด ์คํํ๋ฉด, Hello Node!๊ฐ ์ถ๋ ฅ๋๋ค. require : Node.js์์ ๋ชจ๋์ ๋ถ๋ฌ์ค๋ ๋ฐ ์ฌ์ฉ๋๋ ํจ์๋ก, ๋ชจ๋์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ฝ๋ ์กฐ๊ฐ์ ๋ด๊ณ ์๋ ํ์ผ์ด๋ฉฐ, require ํจ์๋ฅผ ํตํด ๋ค๋ฅธ ํ์ผ์์ ํด๋น ๋ชจ๋์ ์ฌ์ฉํ ์ ์์ต๋๋ค. const fs = require("fs"); // fs ๋ชจ๋์ ํ์ฌ ์คํฌ๋ฆฝ..
Spring Framework? ์๋ฐ ํ๋ซํผ์ ์ํ ์คํ์์ค ์ ํ๋ฆฌ์ผ์ด์
ํ๋ ์์ํฌ๋ก์ ์ํฐํ๋ผ์ด์ฆ๊ธ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐํ๊ธฐ ์ํ ๋ชจ๋ ๊ธฐ๋ฅ์ ์ข
ํฉ์ ์ผ๋ก ์ ๊ณตํ๋ ๊ฒฝ๋ํ๋ ์๋ฃจ์
์
๋๋ค. ์ํฐํ๋ผ์ด์ฆ๊ธ ๊ฐ๋ฐ์ด๋ ๋ป๋๋ก๋ง ํ์ดํ๋ฉด ๊ธฐ์
์ ๋์์ผ๋ก ํ๋ ๊ฐ๋ฐ์ด๋ผ๋ ๋ง์
๋๋ค. ์ฆ, ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ํธ๋์ญ์
์ด ๋์์ ์ฌ๋ฌ ์ฌ์ฉ์๋ก ๋ถํฐ ํํด์ง๋ ๋งค์ฐ ํฐ ๊ท๋ชจ์ ํ๊ฒฝ์ ์ํฐํ๋ผ์ด์ฆ ํ๊ฒฝ์ด๋ผ ์ผ์ปซ์ต๋๋ค. Spirng Framework๋ ๊ฒฝ๋ ์ปจํ
์ด๋๋ก ์๋ฐ ๊ฐ์ฒด๋ฅผ ๋ด๊ณ ์ง์ ๊ด๋ฆฌํฉ๋๋ค. ๊ฐ์ฒด์ ์์ฑ ๋ฐ ์๋ฉธ ๊ทธ๋ฆฌ๊ณ ๋ผ์ดํ ์ฌ์ดํด์๊ด๋ฆฌํ๋ฉฐ ์ธ์ ๋ Spring ์ปจํ
์ด๋๋ก ๋ถํฐ ํ์ํ ๊ฐ์ฒด๋ฅผ ๊ฐ์ ธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ Spirng์ด IOC ๊ธฐ๋ฐ์ Framework์์ ์๋ฏธํฉ๋๋ค. Spring Framework..
์์ธ์ฒ๋ฆฌ ์์ธ์ฒ๋ฆฌ์ ์ฅ์ ์๋ฐ ํ๋ก๊ทธ๋จ์์๋ ์์ธ ์ํฉ์ด ๋ฐ์ํ๋ฉด, ์์ธ๋ฅผ ๋ฐ์์ํต๋๋ค. ํนํ unchecked exception ๊ฐ์ ์์ธ๋ ํ๋ก๊ทธ๋จ ์คํ ์ค ๋ฐ์๋๋ ์์ธ์ธ๋ฐ, ์๋น์ค๊ฐ ์ ์์ ์ผ๋ก ์ด์์ค์ด๋ค๊ฐ๋ ์์ธ๊ฐ ๋ฐ์ํ๋ฉด ํ๋ก์ธ์ค๊ฐ ๊ฐ์ ์ ์ผ๋ก ์ข
๋ฃ๋ฉ๋๋ค. ๋๋ฌธ์ ํ๋ก๊ทธ๋จ์ ์์ ์ ์ธ ์ด์์ ์์ด์ ์์ธ๋ ํ์์
๋๋ค. ์ด๋ฌํ ์์ธ์ ์ธ ์ํฉ์ ์์ธ์ฒ๋ฆฌ(Exception Handling)๋ฅผ ํตํด ํ๋ก์ธ์ค๊ฐ ๊ฐ์ ์ ์ผ๋ก ์ข
๋ฃ๋์ง ์๊ณ ์์ธ ์ํฉ์ด ๋ฐ์ํด๋ ์ด์์ด ๊ฐ๋ฅํ๋๋ก ํธ๋ค๋ง์ ํ ์๊ฐ ์์ต๋๋ค. try, catch try { ์์ธ๋ฅผ ์ฒ๋ฆฌํ๊ธธ ์ํ๋ ์คํ ์ฝ๋; } catch (e1) { e1 ์์ธ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ์ ์คํ๋ ์ฝ๋; } catch (e2) { e2 ์์ธ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ์ ์คํ๋ ์ฝ๋; } ...
distinct() :์คํธ๋ฆผ์์ ์ค๋ณต๋ ์์๋ฅผ ์ ๊ฑฐํฉ๋๋ค. ์ด ๋ฉ์๋๋ ์คํธ๋ฆผ์ ์์์ ๋ํด equals() ๋ฉ์๋๊ฐ true๋ฅผ ๋ฐํํ๋ ๊ฒฝ์ฐ๋ฅผ ์ค๋ณต์ผ๋ก ๊ฐ์ฃผํ๊ณ ํ๋์ ์์๋ง ์ ์งํฉ๋๋ค. List numbers = Arrays.asList(1, 2, 2, 3, 4, 4, 5); List distinctNumbers = numbers.stream() .distinct() .collect(Collectors.toList()); // ๊ฒฐ๊ณผ: [1, 2, 3, 4, 5] collect() :์คํธ๋ฆผ์ ์์๋ฅผ ์ปฌ๋ ์
์ผ๋ก ์์งํฉ๋๋ค. Collectors ํด๋์ค์ ๋ค์ํ ์ ์ ํฉํ ๋ฆฌ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ปฌ๋ ์
์ ์ข
๋ฅ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. List words = Arrays.asList("apple", "banana"..
Collection Collection์ ๋ฐ์ดํฐ ๊ทธ๋ฃน์ ์ฒ๋ฆฌํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ธํฐํ์ด์ค๋ค์ ๋ชจ์์ผ๋ก, ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ, ๊ด๋ฆฌ ๋ฐ ์กฐ์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ฉ์๋๋ฅผ ์ ์ํ๋ค. ๐๐ปList,set,Queue,Map Set Set์ ์ค๋ณต๋ ์์๋ฅผ ํ์ฉํ์ง ์๋ ์งํฉ์ ๋ํ๋ด๋ ์ธํฐํ์ด์ค์
๋๋ค. ์ฃผ๋ก ๋ฐ์ดํฐ์ ์ ์ผ์ฑ์ ๋ณด์ฅํ๊ณ ์ ํ ๋ ์ฌ์ฉ HashSet: ์์ ์์ด ์์๋ฅผ ์ ์ฅํ๋ฉฐ, ๊ฐ์ฅ ๋น ๋ฅธ ๊ฒ์ ์๋๋ฅผ ์ ๊ณตํฉ๋๋ค. TreeSet: ์์๋ฅผ ์ ๋ ฌ๋ ์์๋ก ์ ์ฅํ๋ฉฐ, ์ ๋ ฌ๋ ์์๋ก ์์์ ์ ๊ทผํ ์ ์์ต๋๋ค. LinkedHashSet: ์์๋ฅผ ์
๋ ฅ๋ ์์๋๋ก ์ ์งํ๋ฉด์ ์ ์ฅํฉ๋๋ค. Subset Set originalSet = new HashSet(); // Set์์ ๋ถ๋ถ Set(subset) ๋ง๋ค๊ธฐ (Java 8..
์ถ์ ํด๋์ค ํ๋ ์ด์์ ์ถ์ ๋ฉ์๋(abstract method)๋ฅผ ํฌํจํ๋ฉฐ, ๊ฐ์ฒด๋ฅผ ์ง์ ์ธ์คํด์คํํ ์ ์๋ ํด๋์ค์
๋๋ค. ์ด ํด๋์ค๋ฅผ ์์๋ฐ๋ ์๋ธํด๋์ค์์ ์ถ์ ๋ฉ์๋๋ฅผ ๋ฐ๋์ ๊ตฌํํด์ผ ํ๋ค. // ์ถ์ ํด๋์ค ์ ์ abstract class Shape { // ์ถ์ ๋ฉ์๋ abstract void draw(); // ์ผ๋ฐ ๋ฉ์๋ void display() { System.out.println("Displaying shape"); } } // ์ถ์ ํด๋์ค๋ฅผ ์์๋ฐ๋ ํด๋์ค class Circle extends Shape { // ์ถ์ ๋ฉ์๋์ ๊ตฌํ void draw() { System.out.println("Drawing circle"); } } //main Circle circle = new ..