πΒ Hi there!
I enjoy running, cooking and bowling. π©π»βπ³ π³
I hope to develop every beautiful things. β¨
ν΄λμ€ λ¨μλ‘ λΆλ₯λ₯Ό νκ² λλ©΄ μ μ ν λ€νΈμν¬μ ν¬κΈ°λ‘ ꡬλΆν μ μλ€. λ°λΌμ μλΈλ·μΌλ‘ λΆν νμ¬ μ¬μ©νλ€. μλΈλ·(Subnet)μ΄λΌλ κ²μ νλμ λ€νΈμν¬κ° λΆν λμ΄ λλ μ§ μμ λ€νΈμν¬μ΄λ€. λ€νΈμν¬λ₯Ό λΆν νλ κ²μ μλΈλ€ν (Subnettin)μ΄λΌκ³ νλ€. κ·Έλ¦¬κ³ μ΄ μλΈλ€ν μ μλΈλ· λ§μ€ν¬(Subnet Mask)λ₯Ό ν΅νμ¬ μνλ μ μλ€.
μ΄λ¬ν κΈ°μ λ€μ κ²°κ΅ κ° ν΄λμ€λ‘ λλ μ§ λ€νΈμν¬λ₯Ό μ΄μμ€μΈ μλΉμ€μ κ·λͺ¨μ λ§κ² λΆν νμ¬ μ¬μ©νκΈ° μν κΈ°μ μ΄λ€.
λ°λΌμ μ΄λ° κΈ°μ μ ν΅ν΄μ λ§€μ° ν° λ€νΈμν¬λ₯Ό μκ² λλ μ μ¬μ©νλ©΄μ, λλΉλλ IPμ£Όμ μμμ μ΅μννλ €λ κ²μ΄ μ£Όλ λͺ©μ μ΄λ€.
λ€λ₯Έ μ΄μ λ‘λ λΈλ‘λ μΊμ€ν μ μ¬μ©ν λμ΄λ€.
μ΄ κΈ°μ μ νΉμ λ€νΈμν¬μ μ°κ²°λ λͺ¨λ κΈ°κΈ°μ νλμ λ©μμ§λ‘ λμμ λ°μ΄ν°λ₯Ό 보λ΄λ κ²μ΄λ€.
μ΄λ₯Ό μ¬μ©ν λ μ°κ²°λ νΈμ€νΈ λλ°μ΄μ€κ° λ§λ€λ©΄, λΉμ°ν μ±λ₯μ μ νκ° μ¬ μ μλ€.
λ°λΌμ λ€νΈμν¬μ κ·λͺ¨λ₯Ό μ€μ¬μ λΈλ‘λ μΊμ€ν μΌλ‘ μΈν λΆνλ₯Ό μ€μΌ μ μλ κ²μ΄λ€.
λΈλ‘λμΊμ€ν
(broadcasting)μ μ‘μ νΈμ€νΈκ° μ μ‘ν λ°μ΄ν°κ° λ€νΈμν¬μ μ°κ²°λ λͺ¨λ νΈμ€νΈμ μ μ‘λλ λ°©μμ μλ―Ένλ€.
1.JWT μ₯μ λ° λ¨μ
1-1) JWTλ λ§€μ° λ³΅μ‘ν νμ€μ΄μ΄μ μ¬μ©μκ°(κ°λ°μ) μλͺ» μ΄ν΄ν κ°λ₯μ±μ΄ μλ€. μ€μ μ΄ μλͺ»λλ κ²½μ° μ΅μ μ λͺ¨λ μ¬μ©μκ° μ ν¨ν JWTλ₯Ό μμ±ν΄μ λ€λ₯Έ μ¬μ©μμΈμ² ν μ μλ€. μ΄λ μ΄λ³΄κ°λ°μλ€ μ¬μ΄μμ λμ€λ μ€μκ° μλκ³ , μ€μ λ‘ Auth0μμ μ΄λ¬ν λ²κ·Έλ₯Ό λ§λ€μ΄λΈ μ μ΄ μλ€. μ΄λ λ§μ 보μ μ λ¬Έκ°λ€μ΄ JWTλ₯Ό μ«μ΄νκ² λλ μ΄μ μ€ νλκ° λμλ€. JWTλ μλ§μ κΈ°λ₯μ μ 곡νκ³ μκΈ° λλ¬Έμ, κ°λ°μλ€μ΄ μ μ¬μ μΌλ‘ μ€μ ν μ μλ λ²μκ° λλ€.
1-2) λ‘κ·Έμμμ λ¬Έμ κ° μλ€. μ ν΅μ μΈ μΈμ μ νμ©νλ λ°©λ²μ κ²½μ°, λ¨μν μΈμ μ€ν 리μ§μμ ν΄λΉ μΈμ κ°μ λ 리면 λμκ³ μ΄κ²μΌλ‘ μΆ©λΆνλ€. κ·Έλ¬λ JWTμ λ€λ₯Έ 무μν (stateless) ν ν°μΌλ‘λ μ΄κ²μ΄ λΆκ°λ₯νλ€. μ°λ¦¬λ μ΄ ν ν°μ μ§μΈ μ μλ€. μλνλ©΄ μ΄λ μ€μ€λ‘ μ 보λ₯Ό λ΄κ³ μλ ν ν°μ΄λ©°, ν ν°μ μνλ₯Ό κ΄λ¦¬νλ μ€μ μΈμ¦ κ΄λ¦¬ μμ€ν μ΄ μκΈ° λλ¬Έμ΄λ€. μ΄λ μλ μΈκ°μ§ λ°©λ²μΌλ‘ ν΄κ²°ν μ μλ€.
1-3) JWTμ ν¬ν€λ μλμ μΌλ‘ ν¬κΈ° λλ¬Έμ, μΏ ν€μ JWTλ₯Ό λ΄μ κ²½μ° μ€λ²ν€λκ° λ°μνλ€λ κ²μ΄λ€.
Spring Security / JWT / OAuth 2.0
λν μλΉμ€μ κ²½μ° MSA λ°©μμ μν€ν
μ²μ΄λ©°, OAuth 2.0 λ°©μμ μΈμ¦λ°©μμ μ£Όλ‘ μ¬μ©νλ€.
ASG μμ μλ² μ¦μ€, μλ² μΆμλ₯Ό μλμΌλ‘ ν΄μ£Όλλ° μλ² μ¦μ€μμλ μΈμ€ν΄μ€λ₯Ό λ§λ€κ³ μλ²λ₯Ό μλμΌλ‘ λ£μ΄μ£Όλμ§?
μΈμ€ν΄μ€λ§ λλ €μ€λ€λ©΄, μμ μλ²λ μμν
λ°..
VPCλ?
μλΈλ·μ΄λ?
βν ν° κΈ°λ° μΈμ¦μ μ ν¨κΈ°κ° μμ±, μΌκ΄ λ‘κ·ΈμΈ λ±μ ν μ μλλ°, μΒ λ‘κ·Έμμ Basic μΈμ¦μμλ λ‘κ·Έμμ μ¬μ©μ΄ λΆκ°ν κΉ?
βJWT μμ μ μ μμλͺ μ μ¬μ©νλμ§? (λ€λ₯Έ μΈμ¦ λ°©μμ΄ λ§μν λ°..)
βμ μμλͺ μ λν νλ‘μ°, λ°©μ νλ‘μΈμ€ / μ΄λ€μμΌλ‘ μΈμ¦μ νκ³ νμΈμ νλμ§
β"μλ²μμ μ μ μλͺ λ ν ν°μ μ΄μ©νλ©΄ μ€μΌμΌ μ΄μλ₯Ό ν΄κ²°ν μ μλ€." λΌκ³ μ νμλλ° λκ°μ΄ ν΅μ λ§λ€ JWT λ°μ΄ν°λ₯Ό 보λ΄λλ° μ΄λ»κ² μ€μΌμΌ μ΄μλ₯Ό ν΄κ²°ν건μ§
μλ²μ¬μ΄λλ λλ§/ν΄λΌμ΄μΈνΈμ¬μ΄λ λ λλ§
μΏ ν€μ μΈμ
κΈλ¦¬μΉ(glitch)λ μμ€ν μ μΌμμ μΈ μ€λ₯λ₯Ό μΌμ»«λ λ§μ΄λ€.
223P μ€μ΅μ½λ 3-42
if(request){ options.body = JSON.stringfy(request); }
μ μ½λμ 쑰건문 μμ requestλΌλ νλΌλ―Έν°κ° NULL μΌλλ μ΄λ»κ² μ²λ¦¬λ κ±° κ°λμ?
JSX λ¬Έλ² μ²μ κ²½ννμ λ JS μ½λμ HTMLμ½λκ° ν¨κ» μ°λ€λ³΄λ κ°λ μ±μ΄ λ§μ΄ λ¨μ΄μ Έ 보μλλ°, μλ ¨λ μ΄μμΈμ§?
`
componentWillMount() {
console.log('componentWillMount');
}
componentDidMount() {
console.log('componentDidMount');
}
componentWillReceiveProps(nextProps) {
console.log('componentWillReceiveProps');
}
shouldComponentUpdate(nextProps, nextState) {
console.log('shouldComponentUpdate');
return true / false;
}
componentWillUpdate(nextProps, nextState) {
console.log('componentWillUpdate');
}
componentDidUpdate(prevProps, prevState) {
console.log('componentDidUpdate');
}
componentWillUnmount() {
console.log('componentWillUnmount');
}
`
리μ‘νΈμ κ°μλμ μ¬μ©νλ€λ³΄λ μλͺ
μ£ΌκΈ°μ κ΄ν Renderingμ μμ κ°μ΄ λ§λ€
νλ‘μ νΈλ₯Ό μ§ννλ©΄μ Rendering μμ λ¬Έμ λ₯Ό κ²½νν΄λ³Έμ μ΄ μλμ§
List<Generic>
μ λ€λ¦(Generic)μ μ§μνμλ©΄ 'μΌλ°μ μΈ'μ΄λΌλ λ»μ΄λ€. 'λ°μ΄ν° νμμ μμ‘΄νμ§ μκ³ , νλμ κ°μ΄ μ¬λ¬ λ€λ₯Έ λ°μ΄ν° νμ λ€μ κ°μ§ μ μλλ‘ νλ λ°©λ²'μ΄λ€.
<T> Type => String / Integer λ±
<E> Element => Array/ ArrayList/ Map λ±μ Object νμ
<K> Key => Key κ°μ νμ
<V> Value => Value κ°μ νμ
<N> Number => μ«μ νμ
μμ μμΌλμΉ΄λ νμμ λ°λμ ν κΈμμΌ νμλ μλ€. λν μ€λͺ
κ³Ό λ°λμ μΌμΉν΄μΌ ν νμλ μλ€.
μλ‘λ€μ΄ λΌκ³ ν΄λ μ ν 무방νλ€. λ€λ§ λμ€μ μΌλ‘ ν΅νλ ν΅μμ μΈ μ μΈμ΄ κ°μ₯ νΈνκΈ° λλ¬Έμ μμκ°μ μ묡μ (?)μΈ κ·μΉμ΄ μμ λΏμ΄λ€.
https://hgko1207.github.io/2021/06/19/spring-jpa-1/
μλ° 8μμ μΆκ°ν μ€νΈλ¦Ό(Streams)μ λλ€λ₯Ό νμ©ν μ μλ κΈ°μ μ€ νλμ λλ€. μλ° 8 μ΄μ μλ λ°°μ΄ λλ 컬λ μ μΈμ€ν΄μ€λ₯Ό λ€λ£¨λ λ°©λ²μ for λλ foreach λ¬Έμ λλ©΄μ μμ νλμ©μ κΊΌλ΄μ λ€λ£¨λ λ°©λ²μ΄μμ΅λλ€. κ°λ¨ν κ²½μ°λΌλ©΄ μκ΄μμ§λ§ λ‘μ§μ΄ 볡μ‘ν΄μ§μλ‘ μ½λμ μμ΄ λ§μμ Έ μ¬λ¬ λ‘μ§μ΄ μμ΄κ² λκ³ , λ©μλλ₯Ό λλ κ²½μ° λ£¨νλ₯Ό μ¬λ¬ λ² λλ κ²½μ°κ° λ°μν©λλ€.
μ€νΈλ¦Όμ 'λ°μ΄ν°μ νλ¦βμ λλ€. λ°°μ΄ λλ 컬λ μ μΈμ€ν΄μ€μ ν¨μ μ¬λ¬ κ°λ₯Ό μ‘°ν©ν΄μ μνλ κ²°κ³Όλ₯Ό νν°λ§νκ³ κ°κ³΅λ κ²°κ³Όλ₯Ό μ»μ μ μμ΅λλ€. λν λλ€λ₯Ό μ΄μ©ν΄μ μ½λμ μμ μ€μ΄κ³ κ°κ²°νκ² ννν μ μμ΅λλ€. μ¦, λ°°μ΄κ³Ό 컬λ μ μ ν¨μνμΌλ‘ μ²λ¦¬ν μ μμ΅λλ€.
λ νλμ μ₯μ μ κ°λ¨νκ² λ³λ ¬μ²λ¦¬(multi-threading)κ° κ°λ₯νλ€λ μ μ λλ€. νλμ μμ μ λ μ΄μμ μμ μΌλ‘ μκ² λλ μ λμμ μ§ννλ κ²μ λ³λ ¬ μ²λ¦¬(parallel processing)λΌκ³ ν©λλ€. μ¦ μ°λ λλ₯Ό μ΄μ©ν΄ λ§μ μμλ€μ λΉ λ₯΄κ² μ²λ¦¬ν μ μμ΅λλ€.
μ€νΈλ¦Όμ λν λ΄μ©μ ν¬κ² μΈ κ°μ§λ‘ λλ μ μμ΅λλ€.
Optionalμ΄λ?
Optionalλ βμ‘΄μ¬ν μλ μμ§λ§ μ ν μλ μλ κ°μ²΄β, μ¦, βnullμ΄ λ μλ μλ κ°μ²΄βμ κ°μΈκ³ μλ μΌμ’
μ λνΌ ν΄λμ€μ
λλ€. μμκ° μκ±°λ μ΅λ νλ λ°μ μλ Collectionμ΄λ StreamμΌλ‘ μκ°νμ
λ μ’μ΅λλ€. μ§μ λ€λ£¨κΈ°μ μννκ³ κΉλ€λ‘μ΄ nullμ λ΄μ μ μλ νΉμν κ·Έλ¦μΌλ‘ μκ°νμλ©΄ μ΄ν΄κ° μ¬μ°μ€ κ² κ°μ΅λλ€.
Optionalμ ν¨κ³Ό
"ν μ€λΈμ νΈκ° μμ‘΄νλ μ€λΈμ νΈλ₯Ό μμ±νλ κ²μ΄ μλλΌ μΈλΆμμ λ겨λ°λ κ²μ μμ‘΄μ± μ£Όμ
μ΄λΌκ³ νλ€."
μ€λΈμ νΈμμ μμ±νλ κ²μ΄ μλλΌ μΈλΆμμ λ겨 λ°μμ μ¬μ©νλ κ²μ΄λ©΄, μ±κΈν€ λ°©μκ³Όλ μ΄λ€ μ°¨μ΄κ° μμκΉμ
https://esoongan.tistory.com/90?category=915638
https://dpdpwl.tistory.com/140
κ΅³μ΄ entityλ₯Ό λ§λ€κ³ κ·Έ κ°μ²΄λ€μ DTOμμ λ€μ κ°μ Έλ€ μ°λμ§?
public TodoDTO(final TodoEntity entity) { this.id = entity.getId(); this.title = entity.getTitle(); this.done = entity.isDone(); }
μ μ΄λ°μμΌλ‘ μ°λμ§..?
https://jeongmin-it.tistory.com/51
Entity μμ @table(name = "Todo") λ‘ ν μ΄λΈ 맀νμ νλκ±° κ°μλ° κ΅¬μ±μ μνκ±° κ°μλ°,,?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.