๊ฐ๋ฐ/Java
2023.04.29
0. List ์ธํฐํ์ด์ค ํน์ง Collection ์ธํฐํ์ด์ค๋ฅผ ์์๋ฐ๋๋ค. ์์์ ์ค๋ณต์ ํ์ฉํ๋ค. ์ธ๋ฑ์ค ์์๋ก ์ ์ฅ๋๋ค. (sequence) null ์์๋ฅผ ํ์ฉํ๋ค. Unmodifiable List List.of ํน์ List.copyOf ์ ์ ํฉํ ๋ฆฌ ๋ฉ์๋๋ฅผ ํตํด ์์ ๋ถ๊ฐ๋ฅํ List๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ์ฝ์
, ์ญ์ , ๋ณ๊ฒฝ ๋ถ๊ฐ → ์ํํ๋ ๊ฒฝ์ฐ UnsupportedOperationException์ด ๋ฐ์ํ๋ค. null ์์๋ฅผ ํ์ฉํ์ง ์๋๋ค. 1. List ์ธํฐํ์ด์ค์ ๊ตฌํ ArrayList LinkedList Vector ๋ฐฐ์ด๊ณผ List ์ธํฐํ์ด์ค์ ์ฐจ์ด ๋ฐฐ์ด List ์ธํฐํ์ด์ค ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ์ฒ์ ์ ์ธ ์ดํ๋ก ๋ณ๊ฒฝํ ์ ์์ List์ ๊ธธ์ด๊ฐ ๊ฐ๋ณ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฐ์์ ์ผ๋ก ํ ๋น ๋ฉ๋ชจ๋ฆฌ์ ์ฐ์์ ..
๊ฐ๋ฐ/Java
2023.04.26
0. Java ์์ ํด๋์ค ์ถ์ ํด๋์ค(Abstract Class): ํด๋์ค ๋ด๋ถ์ ์ถ์ ๋ฉ์๋๊ฐ ํ๋ ์ด์ ํฌํจ๋๊ฑฐ๋ abstract ๋ก ์ ์๋ ๊ฒฝ์ฐ ์ธํฐํ์ด์ค(Interface): ๋ชจ๋ ๋ฉ์๋๊ฐ ์ถ์ ๋ฉ์๋์ธ ๊ฒฝ์ฐ(Java 8 ์ดํ๋ถํฐ๋ default ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ผ๋ฐ ๋ฉ์๋ ๊ตฌํ์ด ๊ฐ๋ฅ) 1. ์ถ์ ํด๋์ค ์ถ์ ํด๋์ค๋ฅผ ์์๋ฐ์ ๊ณตํต๋ ๊ธฐ๋ฅ์ ์ด์ฉํ๊ฑฐ๋ ํ์ฅํ๋ค. ์์ ํด๋์ค์์ ์ถ์ ํด๋์ค์ ์ถ์ ๋ฉ์๋๋ฅผ ๋ฐ๋์ ์ฌ์ ์(override) ํด์ผํ๋ค. ์ถ์ ํด๋์ค๋ ๋์์ด ์ ์๋์ง ์๋ ๋ฉ์๋๋ฅผ ํฌํจํ๊ณ ์์ด ์ธ์คํด์ค ์์ฑ์ด ๋ถ๊ฐํ๋ค. ์ถ์ ๋ฉ์๋๋ฅผ ํฌํจํ๋ ์ ์ด์ธ์๋ ์ผ๋ฐ ํด๋์ค์ ๋ชจ๋ ๋์ผํ๋ค. ์ถ์ํด๋์ค์์ default ์ ๊ทผ์ ์ด์ public abstract class AbstractC..
Tools
2023.04.26
IntelliJ > Preferences > Build, Execution, Deployment > Build Tools > Gradle ์ค์ ์์ Run tests using๋ฅผ "IntelliJ IDEA" ์ ํ์ผ๋ก ๋ณ๊ฒฝ
๊ฐ๋ฐ/Java
2023.04.25
0. Set ์ธํฐํ์ด์ค ํน์ง Collection ์ธํฐํ์ด์ค๋ฅผ ์์๋ฐ์ ์์์ ์ค๋ณต์ ํ์ฉํ์ง ์์ ์์ ์์(์ ์ฅ์์ ์ ์ง ์๋จ) โก get ๋ฉ์๋ ๋์ ์ iterator๋ฅผ ํตํด์ ๊ฐ ์์์ ์ ๊ทผํด์ผ ํ๋ค. (์ธ๋ฑ์ค๋ฅผ ํตํ ์ ๊ทผ ๋ถ๊ฐ) ์ฌ์ฉ์ ์ฃผ์ํด์ผํ ์ Note: Great care must be exercised if mutable objects are used as set elements. The behavior of a set is not specified if the value of an object is changed in a manner that affects equals comparisons while the object is an element in the set. A special c..
๊ฐ๋ฐ/Java
2023.04.21
[Java] Collection Framework - Map์ ๊ตฌํ์ฒด(๊ธฐ๋ณธ) ์๋ ์ง๋ฌธ์ ๋ํ ๋ต์ ํด๋น ๊ธ ํ๋จ์์ ํ์ธํด ๋ณผ ์ ์๋ค. 1. ์ Map ์ธํฐํ์ด์ค๋ Collection ์ธํฐํ์ด์ค๋ฅผ ์์๋ฐ์ง ์๋๊ฐ? 2. HashMap์ ์ด๋ป๊ฒ ๋์ํ๋๊ฐ? 3. ์ด๋ ํ ํด๋์ค๋ Map์ Key๋ก ์ฌ์ฉ๋ suyeon-jung.tistory.com Map์ ๊ตฌํ์ฒด(๊ธฐ๋ณธ) ๋ด์ฉ์ ํ์ตํ๋ฉด์ ๊ถ๊ธํ๋ ํค์๋ ์์ฃผ๋ก ์ ๋ฆฌํ๋ค. 1. ํด์ ์ถฉ๋ ํด์ํ
์ด๋ธ์์ ์๋ก ๋ค๋ฅธ ๋๊ฐ์ key๊ฐ ๊ฐ์ ํด์๊ฐ(hash code)๋ฅผ ๊ฐ์ง๋ ๊ฒฝ์ฐ๋ฅผ ๋งํ๋ค. ํด์ ์ถฉ๋ ํด๊ฒฐ ๋ฐฉ์ Chaining ๊ฐ์ ํด์๊ฐ์ ๊ฐ์ง๋ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ฒฐ ๋ฆฌ์ฝํธ๋ก ์ฐ๊ฒฐํ์ฌ ์ ์ฅํ๋ ๋ฐฉ์์ด๋ค. ํด์์ถฉ๋์ด ๋ฐ์ํ๋ฉด ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ฒฐ๋ฆฌ์คํธ์ ์ถ๊ฐํ๊ณ ๊ฒ์์์..
๊ฐ๋ฐ/Java
2023.04.21
์๋ ์ง๋ฌธ์ ๋ํ ๋ต์ ํด๋น ๊ธ ํ๋จ์์ ํ์ธํด ๋ณผ ์ ์๋ค. 1. ์ Map ์ธํฐํ์ด์ค๋ Collection ์ธํฐํ์ด์ค๋ฅผ ์์๋ฐ์ง ์๋๊ฐ? 2. HashMap์ ์ด๋ป๊ฒ ๋์ํ๋๊ฐ? 3. ์ด๋ ํ ํด๋์ค๋ Map์ Key๋ก ์ฌ์ฉ๋ ์ ์๋๊ฐ? 4. Map ์ธํฐํ์ด์ค๊ฐ ์ ๊ณตํ๋ ๋ค๋ฅธ Collection ๋ทฐ๋ ๋ฌด์์ธ๊ฐ? 6. HashMap๊ณผ TreeMap์ ๊ฐ๊ฐ ์ด๋ค ์ํฉ์์ ์ฌ์ฉํ๊ธฐ์ ์ ํฉํ๊ฐ? 0. Map ์ธํฐํ์ด์ค ํน์ง List, Set, Queue ์ ๊ฐ์ ์ธํฐํ์ด์ค์ ๋ฌ๋ฆฌ Collection ์ธํฐํ์ด์ค๋ฅผ ์์๋ฐ์ง ์์ key-value ์(Entry) ์ผ๋ก ๋ฐ์ดํฐ ์ ์ฅ ์์ ์์ key ์ค๋ณต ๋ถ๊ฐ/value๋ ์ค๋ณต๋ ์ ์์ ์ฌ์ฉ์ ์ฃผ์ํด์ผํ ์ Map ์ธํฐํ์ด์ค ์ฃผ์ ์ฐธ๊ณ Note: great ca..
Linux
2023.04.19
๋ฉ์ผ์๋ฒ ๊ฐ๋
E-mail์ ์ก์์ ์์ ์ฌ์ฉ๋๋ ํ๋กํ ์ฝ SMTP(Simple Mail Transfer Protocol) : ํด๋ผ์ด์ธํธ๊ฐ ๋ฉ์ผ์ ๋ณด๋ด๊ฑฐ๋ ๋ฉ์ผ ์๋ฒ๋ผ๋ฆฌ ๋ฉ์ผ์ ์ฃผ๊ณ ๋ฐ์ ๋ ์ฌ์ฉํ๋ ํ๋กํ ์ฝ POP3(Post Office Protocol) : ๋ฉ์ผ ์๋ฒ์ ๋์ฐฉ๋์ด ์๋ ๋ฉ์ผ์ ํด๋ผ์ด์ธํธ๋ก ๊ฐ์ ธ์ฌ ๋ ์ฌ์ฉํ๋ ํ๋กํ ์ฝ IMAP(Internet Mail Access Protocol) : POP3์ ๊ฐ์ ๋ฉ์ผ ์๋ฒ์ ์๋ ์๋ฆฌ ์ฌ์ฉ์01์ด ๋ค์ด๋ฒ ๋ฉ์ผ ๊ณ์ ์ ์ฌ์ฉํด์ ๋ฉ์ผ์ ๋ณด๋ธ๋ค. ๋ณด๋ธ ๋ฉ์ผ์ SMTP ํ๋กํ ์ฝ์ ์ฌ์ฉํด์ ๋ค์ด๋ฒ ๋ฉ์ผ ์๋ฒ๋ก ๋ณด๋ด์ง๋ค. ๋ค์ด๋ฒ ๋ฉ์ผ ์๋ฒ๋ ์์ ํ ๋ฉ์ผ์ ๋ฐ๋ก ๋ณด๋ด์ง ์๊ณ ํ๋ผ๋ ๊ณณ์ ๋๊ธฐ ์ํจ๋ค. ๋ค์ด๋ฒ ๋ฉ์ผ ์๋ฒ๋ SMTP ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ์ธํฐ๋ท์ ํตํด ..
CS/์๊ณ ๋ฆฌ์ฆ
2023.04.19
์์ด: N๊ฐ ์ค์์ R๊ฐ๋ฅผ ๋ฝ๋๋ฐ ์์๊ฐ ์๋ฏธ์๋ ๊ฒฝ์ฐ([1, 2, 3]๊ณผ [2, 3, 1]์ ๋ค๋ฆ) ์ค๋ณต์์ด: N๊ฐ ์ค์์ R๊ฐ๋ฅผ ๋ฝ๋๋ฐ ์์๊ฐ ์๋ฏธ์๋ ๊ฒฝ์ฐ + ๊ฐ์ ์ซ์๋ฅผ ์ค๋ณตํด์ ๋ฝ์ ์ ์๋ ๊ฒฝ์ฐ ์กฐํฉ: N๊ฐ ์ค์์ R๊ฐ๋ฅผ ๋ฝ๋๋ฐ ์์๊ฐ ์๋ฏธ์๋ ๊ฒฝ์ฐ([1, 2, 3]๊ณผ [2, 3, 1]์ ๊ฐ์) ์ค๋ณต์กฐํฉ: N๊ฐ ์ค์์ R๊ฐ๋ฅผ ๋ฝ๋๋ฐ ์์๊ฐ ์๋ฏธ์๋ ๊ฒฝ์ฐ + ๊ฐ์ ์ซ์๋ฅผ ์ค๋ณตํด์ ๋ฝ์ ์ ์๋ ๊ฒฝ์ฐ ๋ฐฑํธ๋ํน์ ํ์ฉํ์ฌ ์์ด, ์ค๋ณต์์ด, ์กฐํฉ, ์ค๋ณต์กฐํฉ์ ๊ตฌํด๋ณด์. ์ฌ๊ธฐ์ "๋ฐฑํธ๋ํน"์ด๋ ํ์ฌ ์ํ์์ ๊ฐ๋ฅํ ๋ชจ๋ ํ๋ณด๊ตฐ์ ๋ฐ๋ผ ๋ค์ด๊ฐ๋ฉฐ ํ์ํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋งํ๋ค. (๊ฐ๋ฅํ → ๊ฐ๋ฅํ์ด๋ผ๊ณ ํํํ ๊ฒ์ ๋์ด์ ํ์์ด ๋ถ๊ฐ๋ฅํ๋ค๋ฉด = ์ ๋งํ์ง ์๋ค๋ฉด ํ์์ ํ์ง ์๋๋ค๋ ์๋ฏธ๋ฅผ ๋ดํฌํ๊ณ ์๋ค.) ์..
CS/์๊ณ ๋ฆฌ์ฆ
2023.03.17
๋ฌธ์ https://www.acmicpc.net/problem/17609 17609๋ฒ: ํ๋ฌธ ๊ฐ ๋ฌธ์์ด์ด ํ๋ฌธ์ธ์ง, ์ ์ฌ ํ๋ฌธ์ธ์ง, ๋ ๋ชจ๋ ํด๋น๋์ง ์๋์ง๋ฅผ ํ๋จํ์ฌ ํ๋ฌธ์ด๋ฉด 0, ์ ์ฌ ํ๋ฌธ์ด๋ฉด 1, ๋ ๋ชจ๋ ์๋๋ฉด 2๋ฅผ ์์๋๋ก ํ ์ค์ ํ๋์ฉ ์ถ๋ ฅํ๋ค. www.acmicpc.net ํ์ด ํ๋ฌธ ๊ฒ์ฌ ๋ฌธ์์ด์ ์์(start), ๋(end) ๊ฐ๊ฐ์์ ํ๋์ฉ ์ธ๋ฑ์ค๋ฅผ ์กฐ์ ํ๋ฉด์ ํ๋ฌธ ์ฌ๋ถ ๊ฒ์ฌ str[start] == str[end] โก ๋ค์ ํ์ str[start] == str[end] โก ํ๋ฌธ์ด ์๋ while์ ์ข
๋ฃ ์กฐ๊ฑด: end ์ธ๋ฑ์ค๊ฐ start ์ธ๋ฑ์ค๋ณด๋ค ์ปค์ง ๋ ๋ฌธ์์ด์ ๊ธธ์ด๊ฐ ํ์์ธ ๊ฒฝ์ฐ๋ ์๊ธฐ ๋๋ฌธ์ while ์ง์ ์กฐ๊ฑด์ผ๋ก start = end ์ผ๋๋ ํฌํจ๋๋ค. ์ ์ฌํ๋ฌธ ๊ฒ์ฌ ๋ฌธ์์ด์ ..
Web/Spring
2023.02.04
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: ํ
์คํธ์ผ์ด์ค์ ๋จ์ํ
์คํธ ์งํ(ํ
์คํธ ์คํจ์ ๋น๋ ์คํจ๋ก ์ฒ๋ฆฌ๋จ) ..
๊ฐ๋ฐ/OOP
2022.12.27
๊ฐ์ฒด์งํฅ ์ค๊ณ 5๊ฐ์ง ์์น SRP(Single Responsibility Principle): ๋จ์ผ ์ฑ
์ ์์น OCP(Open/Closed Principle): ๊ฐ๋ฐฉ-ํ์ ์์น LSP(Liskov Substitution Principle): ๋ฆฌ์ค์ฝํ ์นํ ์์น ISP(Interface Segregation Principle): ์ธํฐํ์ด์ค ๋ถ๋ฆฌ ๋ฒ์น DIP(Dependency Inversion Principle): ์์กด๊ด๊ณ ์ญ์ ์์น 1. ๋จ์ผ ์ฑ
์ ์์น ํ๋์ ํด๋์ค๋ ํ๋์ ์ฑ
์๋ง ๊ฐ์ ธ์ผ ํ๋ค. โก ๋ณ๊ฒฝ์ด ์์ ๋ ํ๊ธ ํจ๊ณผ๊ฐ ์ ์ผ๋ฉด ๋จ์ผ ์ฑ
์ ์์น์ ์ ๋ฐ๋ฅธ ๊ฒ 2. ๊ฐ๋ฐฉ-ํ์ ์์น ์ํํธ์จ์ด ์์๋ ํ์ฅ์๋ ์ด๋ ค ์์ผ๋ ๋ณ๊ฒฝ์๋ ๋ซํ ์์ด์ผ ํ๋ค. ๋คํ์ฑ์ ํ์ฉ ๋ฌธ์ ์ MemberService ํด๋ผ..
Web/React
2022.08.20
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 ์ฝ๋๋ฅผ ์ฌ๊ตฌ์ฑํ๋ค...