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 ..
Wrraperํด๋์ค: Auto Boxing Wrapper ํด๋์ค: ๊ธฐ๋ณธ ๋ฐ์ดํฐ ์ ํ์ ๊ฐ์ฒด๋ก ๋ํํ์ฌ ๊ฐ์ฒด๋ก ๋ค๋ฃฐ ์ ์๋๋ก ํ๋ ํด๋์ค (Integer, Double, Boolean) โ Auto Boxing: ๊ธฐ๋ณธ ๋ฐ์ดํฐ ์ ํ ๊ฐ์ Wrapper ํด๋์ค๋ก ์๋์ผ๋ก ๋ณํํ๋ ๊ฒ โ Auto Unboxing: ๋ฐ๋๋ก Wrapper ํด๋์ค๋ฅผ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ์ ํ์ผ๋ก ์๋ ๋ณํํ๋ ๊ฒ // Auto Boxing: int -> Integer int primitiveInt = 42; Integer wrapperInt = primitiveInt; // ๊ธฐ๋ณธ ๋ฐ์ดํฐ ์ ํ์ด Wrapper ํด๋์ค๋ก ์๋์ผ๋ก ๋ณํ๋จ // Auto Unboxing: Integer -> int Integer wrapperInt2 = 99; i..
์ฝ๋ฉ ์ฐ์ต 4 public class WeatherAdviser { public String provideWeatherAdvisory(int temperature) { // TODO: Provide a weather advisory message based on the temperature. if (temperature = 0 && temperature = 11 && temperature 2>1>0 int sum=0; while(number>0){ sum+=number%10; number=number/10; } return sum; } } ์ฝ๋ฉ ์์ : ์ซ์ ์ญ์์ผ๋ก ๋ง๋ค๊ธฐ..