μ°λ¦¬FISA
π μ°λ¦¬ FISA ν΄λΌμ°λμμ§λμ΄λ§ 2μ£Όμ°¨ κΈ°λ‘
ν΄λ‘μ΄π
2023. 12. 3. 12:35
μ΄λ²μ£Όμλ μμ½λ°±μ μ¬λ¬ μ λ¬Όμ λ°μλ€.
μ μΌ λ§μμ λλκ±° λ©ν° νλΈ,,,, κ°λ°μμκ² νμν λ¬Όνλ€λ‘ λ°μμ λκ° λ¬Όκ±΄ κ³ λ₯΄λ μΌμ€κ° μλ€κ³ λκΌλΉγ
μ λ¬Ό λ°μΌλκΉ λκ° μμκ°λ λ€κ³ μ’μλΉ π
π μμ κΈ°λ‘
π Singleton Design Pattern (μ±κΈν€ λμμΈ ν¨ν΄)
βοΈ What?
νλμ μΈμ€ν΄μ€λ§ μμ±νμ¬ μ¬μ©νλ λμμΈ ν¨ν΄, μΈμ€ν΄μ€κ° νμνλ©΄ λκ°μ μΈμ€ν΄μ€λ₯Ό λ§λ€μ§ μκ³ κΈ°μ‘΄μ μΈμ€ν΄μ€ νμ©
μμ±μκ° μ¬λ¬λ² νΈμΆλκ³ μ€μ μμ±λλ κ°μ²΄λ νλ, μ΅μ΄λ‘ μμ±λ μ΄νμ νΈμΆλ μμ±μλ μ΄λ―Έ μμ±ν κ°μ²΄λ₯Ό λ°ν
βοΈ Why?
1οΈβ£ λ©λͺ¨λ¦¬ μ΄μ
κ°μ²΄λ μμ±ν λλ§λ€ λ©λͺ¨λ¦¬ μμμ ν λΉλ°μμΌ νλ€. νλ²μ newλ₯Ό ν΅ν΄ κ°μ²΄λ₯Ό μμ±νλ©΄ λ©λͺ¨λ¦¬ λλΉλ₯Ό λ°©μ§
2οΈβ£ μλ μ΄μ
μ΄λ―Έ μμ±λ μΈμ€ν΄μ€λ₯Ό νμ©ν΄ μλμμ μ΄μ μ κ°μ§
3οΈβ£ λ°μ΄ν° 곡μ μ΄μ
μ±κΈν€μΌλ‘ ꡬνν μΈμ€ν΄μ€λ μ μμ΄λ―λ‘ λ€λ₯Έ ν΄λμ€λ€μ μΈμ€ν΄μ€λ€μ΄ λ°μ΄ν°λ₯Ό 곡μ νλ κ²μ΄ κ°λ₯ν¨, νμ§λ§ λμμ± λ¬Έμ μ μ£Όμ
βοΈ When?
μ£Όλ‘ κ³΅ν΅λ κ°μ²΄λ₯Ό μ¬λ¬κ° μμ±ν΄μ μ¬μ©ν΄μΌνλ μν©
βοΈ Where?
λ°μ΄ν° λ² μ΄μ€μμ 컀λ₯μ ν, μ€λ μ€ν, μΊμ, λ‘κ·Έ κΈ°λ‘ κ°μ²΄ λ±..
βοΈ Any Cons?
κ°μ²΄ μ§ν₯ μ€κ³ μμΉ μ€, κ°λ°©-νμ μμΉ
μ±κΈν€ μΈμ€ν΄μ€κ° νΌμ λ무 λ§μ μΌμ νκ±°λ, λ§μ λ°μ΄ν°λ₯Ό 곡μ μν€λ©΄ λ€λ₯Έ ν΄λμ€λ€κ°μ κ²°ν©λ μμΉ
-> κ°λ°© νμ μμΉμ μλ°°, κ²°ν©λκ° λμΌλ©΄ μ μ§λ³΄μκ° νλ€κ³ ν μ€νΈλ₯Ό μννκ² μ§ννκΈ° μ΄λ €μ
λ©ν° μ€λ μ€ νκ²½μμμ λκΈ°ν μ²λ¦¬λ₯Ό νμ§ μμμ λ, μΈμ€ν΄μ€κ° 2κ° μμ±λλ λ¬Έμ λ°μ κ°λ₯
μ±κΈν€ ν¨ν΄ ꡬν μμ
public class Singleton{
// λ¨ 1κ°λ§ μ‘΄μ¬ν΄μΌ νλ κ°μ²΄μ μΈμ€ν΄μ€λ‘ static μ μΈ
private static Singleeton instance;
// private μμ±μλ‘ μΈλΆμμ κ°μ²΄ μμ± λΆκ°
private Singleton(){}
// μΈλΆμμλ getInstance()λ‘ instance λ°ν
// getInstance() λ©μλκ° μ²μ μ€νλ λλ§ νλμ instance μμ±, μ΄νμλ μ΄λ―Έ μμ±λ instance return
public static Singleton getInstance(){
// instanceκ° nullμΌ λλ§ μμ±
if(instance == null){
instance = new Singleton();
}
return instance;
}
}
// κ°μ instanceμΈμ§ Test νκΈ°
public class Application {
public static void main(String[] args) {
// κ°μ²΄ 2κ° μμ±
Singleton singleton1 = Singleton.getInstance();
Singleton singleton2 = Singleton.getInstance();
System.out.println(singleton1);
System.out.println(singleton2);
}
}
/** Output
* vendingmachine.Singleton@15db9742
* vendingmachine.Singleton@15db9742
**/
μΆμ²
https://velog.io/@seongwon97/μ±κΈν€Singleton-ν¨ν΄μ΄λ
https://gyoogle.dev/blog/design-pattern/Singleton%20Pattern.html
π λ°μ΄ν°λ² μ΄μ€ μ¬μ© μμ
- Database μμ±
- table μμ± -> create
- λ°μ΄ν° μ μ₯ λ° μ‘°ν(κ²μ) -> insert, select
- λ°μ΄ν° μμ , μμ -> update, delete
- κΆν λΆμ¬ -> grant
- λ°μ΄ν°μ μ ν©μ± κ³ λ €νμ¬ λ¬΄κ²°μ± λ³΄μ₯ -> νμ μ ν, κΈμμ μ ν, μ€λ³΅ λΆκ°, κΈ°μ€κ°(κ³ μ +nullκ° λΆκ°)
- νν°μ μ μ©(mysql) -> λμ©λ λ°μ΄ν° μΉ΄ν κ³ λ¦¬ν
π SQL μμ
βοΈ λ¬Έλ² μμ
SELECT -> FROM -> WHERE -> GROUP BY -> HAVING -> ORDER BY
βοΈ μ€ν μμ
FROM - > ON -> JOIN -> WHERE -> GROUP BY -> HAVING -> SELECT -> DISTINCT -> ORDER BY
π SQL κ²μ 쑰건
- `*` : λͺ¨λ κ²μ, all
- `%` : λ¬Έμ κ°μμ 무κ΄
- `_` : λ¬Έμ νλ μλ―Έ
// λ¬Έμμ΄ λλ²μ§Έμ Mμ΄ μ€κ³ κ·Έ λ€λ‘λ μκ΄μμ
where ename like '_M%';
// μλ€ μκ΄μμ, λ¬Έμμ΄μ Mλ§ λ€μ΄κ°λ©΄ λ¨
where ename like '%M%';
π SQL λ μ§ ν¨μ
- νμ¬ μμ€ν
λ μ§μ λν μ 보 μ 곡
- sysdate(), now() : λ μ μΌ μ λΆ μ΄
- curdate() : λ μ μΌ
- μΌμ κ³μ° ν¨μ
- datediff(a, b) : a-b
- interval : κ°κ²©
// νμ¬ μκ°μμ 1μΌ νμ μκ°μ ꡬν¨
select now() + interval 1 day;
- λ μ§ λνλ ν¨μ
- ADDDATE()
- adddate(sysdate(), 10) -> 10μΌ ν
- λ λ μ§ μ¬μ΄μ κ°μ μ κ²μ
- dayofyear() : νμ¬ μν λ μ 1μ 1μΌλΆν°μ νμ¬κΉμ§ μΌμ μΈλ ν¨μ
- dayofmonth() : ν΄λΉ λ¬μ μ§λ μΌμ
π SQL JOIN
μ‘°μΈμ λ΄κ° μμ μ μ΄ gitμΌλ‘ λ체 ~
https://github.com/chloe1129/code_notes/blob/master/SQL/09_join.md
π§ νκ³
μμΌλ μκ³ λ©΄μ λ μμ΄μ λκ° μ μ μμλ ν μ£Όμλ€.
μμΌλ ν볡νκ² λ³΄λκ³ λ©΄μ λ μ(?) λ³Έκ²κ°κΈ°λ...
λ°μ΄ν°λ² μ΄μ€ λ°°μ λλ° μλ λ΄μ©μ΄μ΄λ ν·κ°λ¦¬λ κ²λ λ§κ³ κ·Έλμ λ€μ νλ² νμΈνλ μκ°μ κ°μ Έμ μ’μλ€.
μ¬μ¬ μλ€κ°λ€ νλκ±° μ μλλκ²κ°μμ λ€νμ΄λ€.
κ·Έλλ μΆκ·ΌκΈΈ λ²μ€λ μ§μ₯ κ·Έμ‘μ±γ
μ΄λ²μ£Όλ νΉμ΄νκ² κΈμ΅ BIZ νΉκ°μ΄ μμλ€.
μ°λ¦¬FIS νμ§μλΆλ€μ΄ μ€μ μ μ¬λ¬ κΈμ΅ λλ©μΈ μ§μμ μ€λͺ ν΄ μ£Όμ ¨λλ° κΈμ΅κΆμμ μ΄λ€ μ 무λ₯Ό νλμ§ μμΈν μ μ μλ μκ°μ΄μλ€.
μ΄λ €μ μ§λ§ μ΄λ² νΉκ°μ ν΅ν΄ κΈμ΅κΆμμ μ΄λ£¨μ΄μ§λ μ 무 μ€μμ λμ κ΄μ¬μ¬λ₯Ό λ μ μ μ μμκ³ μ μ΅ν μκ°μ΄μλΉ~
ππ» 3μ£Όμ°¨ κ³ν
- λ©΄μ μ 보기
- μκ³ λ¦¬μ¦ λ¬Έμ λ§€μΌλ§€μΌ νκΈ°
- μμ λλκ³ κ³΅λΆνλ€ μ§ κ°κΈ°
- μμΉ¨ μ±κ²¨λ¨Ήκ³ κ°μ μλ¨ΉκΈ° (μ λ°)
- μ‘Έμ μλ₯ μ€λΉνκΈ°