개발공간/HW 17

❓DDD 설계와 SQL 중심 설계

✨ 두둥! 오늘은 DDD 설계와 SQL 중심 설계에 대해 알아보는 시간 사실 잘 모르는 부분이라 낯설긴 했지만 새로운 내용을 배우는건 언제나 짜릿ㅎㅐ~~ ❤️ 그럼 대체 DDD 설계와 SQL 중심 설계가 뭔지 알아보러 가봅시다! 🔎 도메인 주도 설계(Domain-Driven Design) - 소프트웨어를 개발할 때, 소프트웨어가 다루는 '도메인'이라는 개념을 중심으로 설계하는 방법 - 도메인은 소프트웨어가 다루는 특정한 분야나 문제 영역을 의미 - DDD는 해당 도메인에 대한 이해를 높이고, 도메인 모델을 중심으로 소프트웨어를 설계하는 접근 방법 - 즉, DDD는 놀이공원에 놀러갈 때 놀이기구의 원리를 이해하고, 그 원리를 활용해 놀이기구를 조립하는 것과 비슷하다고 볼 수 있음 🎡 🔎 SQL(Struct..

개발공간/HW 2023.04.05

❓Spring에서 DI, IoC란 무엇일까?

DI : Dependency Injection; 의존성 주입 IoC : Inversion of Control; 제어의 역전 이런 사전적인 정의 말고 간단하게 이해해 볼 수 있게 정리해 보기! 🔎 이 미션을 받고 든 생각은 딱 하나! 사실 스프링은 이미 학습했지만, DI, IoC와 같은 용어는 정확히 어떤 뜻인지, 왜 사용하는지 모른 채로 그냥 대충 사용해왔던 것 같아 안타까웠다 😫 앞으로는 이 개념이 어떤 건지, 왜 사용하는지 내 것으로 만드는 학습법을 활용해야지! ⚠️DI 우선 DI, 의존성 주입이라고 불리기도 하고 객체를 생성하고 조립하는 작업을 개발자가 하지 않고 Spring이 대신 처리한다. 그렇게 된다면? 객체 간의 의존성은 줄어들고 유연하게 확장이 가능하다는 뜻?! ⚠️IoC IoC는 객체의 ..

개발공간/HW 2023.04.04

🔎 지그재그(ZigZag)가 가진 기능 분석하기

✨ 내가 자주 사용하는 웹사이트는 뭐가 있을까 고민하던 중, 쇼핑, 스포츠, 웹서핑, 강의라는 키워드를 떠올리게 되었다. 그래서 고르게 된 웹 사이트는 지그재그! 사실 지그재그는 어플로만 이용해왔었는데, 웹사이트가 존재한다는 사실을 알게 되어 매우 놀랐다. https://store.zigzag.kr/?utm_source=bs_naver_pc&utm_medium=homelink&utm_campaign=mar_w4_2023&NaPm=ct%3Dlg04qkwg%7Cci%3D0yK0001g9wDyazxPAvjy%7Ctr%3Dbrnd%7Chk%3D60a7988df0415eac723bb6c3ca25141c297b83cf 지그재그 스토어 4,000만이 선택한 쇼핑 플랫폼 store.zigzag.kr 🔎 그렇다면 지그재..

개발공간/HW 2023.04.03

❓@Override 오버라이딩

1. 오버라이딩이 뭔가요? 재정의, 다시 구현해서 用 상위 클래스에 정의된 메소드를 하위 클래스에서 재정의하여 사용하는 것 입맛대로 골라 ma dish (왜 이 노래가 생각났지?) 2. 오버라이딩을 구현하려면 @Override를 꼭 적어야 할까? 이 질문은 생각지도 못했는데 곰곰히 생각해보게 되었다.. 수업때 들은 내용을 떠올려보니 생략해도 동작은 되었던 것으로 기억한다. 다만 실수 방지, 가독성을 위해 적어주는 편이 좋지 않을까?! 3. @Override 어노테이션 유무의 차이로 다시 알아보기! class Parent { public void hello(String name) { System.out.println("안녕하세요, 저는 " + name + "입니다."); } } class Child ext..

개발공간/HW 2023.03.29

❓인터페이스란?

1. 인터페이스가 가지고 있는 객체 지향의 특징에는 어떤 것이 있는지 추상화, 다형성, 캡슐화 2. 그렇게 생각하는 이유는 무엇인지 인터페이스는 구현 되지 않은 메소드를 선언할 수 있고, 다양하게 구현할 수 있음 또한 메소드만 정의하고 구현은 각 클래스에서 이루어지므로, 구현 내용을 외부에 감추기 가능! + 상속? -> 인터페이스끼리 상속이 가능하지만 클래스와 다르게 다중 상속을 지원, 구현 코드를 상속하지 않음 이 부분은 좀 더 공부 할 필요가 있을 것 같다!

개발공간/HW 2023.03.28

❓객체 지향의 특징

1. 캡슐화 - 하나의 묶음으로 캡슐화 하는 것 - 객체 내부의 데이터를 외부에서 접근하지 못하도록 제한하여 유지보수성을 높이는 것 public class Person { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } Person 클래스 name과 age 변수가 private으로 선언된 Person 클래스 따라서 외부에서 직접 접근 불가! 2. 추상화 - 공통된 ..

개발공간/HW 2023.03.28