개발공간 32

💭 본격 프로젝트 Entity 구상해보기

오늘 받은 미션은 꽤나 시간이 필요할 것 같았다. 메모 좋아 인간인 나는 일단 노트에 대충 틀을 짜둔 후, 블로그에 정리해보려고 한다. ✍🏻 배달 어플리케이션에서 필요한 음식 entity는 뭐가 있을까? 배달에서 음식만큼 중요한건 없을거다?! 그렇다면 내가 만들 api에서 쓸 entity를 짜보자! - 음식 ID - 음식 이름 - 음식 가격 - 음식 카테고리 - 음식 설명 - 음식 이미지 - 음식 수량 사실 주문 가능 여부, 할인율, 재료 정보, 영양 성분 등등 많은 것들이 들어갈 수 있을 것 같은데 저렇게 까지 복잡한 것은 내 수준에서 감당 불가... 하기에 간단하게 짜보았다! 뭐 물론 나~중에 생각이 바뀐다면 수정하겠지만? 오늘은 아주 가볍게 생각해보기! 💻 그렇게 해서 짜 본 entity packa..

개발공간/HW 2023.04.13

❓REST API

바쁘다 바빠 현대 사회 ⏰ 분명 10시 땡하자 마자 과제 확인하고 티스토리까지 켜뒀는데! 갑자기 일이 생겨서 여태 밖에 있다가 과제 하려고 호다닥 뛰어 들어 온 오늘의 나.... 너무 힘든 와중에 계획형 인간은 하루종일 과제 .. 과제.. 하면서 괴로웠다는 소문이 😢 오늘은 REST API가 뭔지 알아보자! ✍🏻 REST API REST스럽게 설계하라는 말을 무수히 많이 들어봤으나 대체 REST API가 뭘까? REST API는 인터넷에서 서로 다른 컴퓨터 시스템 간에 통신을 할 때 사용하는 방법 중 하나 그렇다면 API는 뭔데? -> API란 "Application Programming Interface"의 약자로, 우리가 사용하는 프로그램과 다른 프로그램이 서로 상호작용할 수 있도록 만들어진 일종의 ..

개발공간/HW 2023.04.12

🔎 스프링에서 사용하는 어노테이션

🌱 스프링에서 사용하는 어노테이션들은 어떤 것이 있을까? 🔎 어노테이션 기반의 프레임워크인 스프링에서 자주 사용되는 어노테이션들을 찾아보자! @Autowired: 스프링에서 빈을 자동으로 주입할 때 사용 @Service: 비즈니스 로직이 구현된 클래스에 사용 @Component: 스프링이 관리하는 빈으로 등록할 클래스에 사용 @Controller: 스프링 MVC에서 컨트롤러로 사용 @Transactional: 트랜잭션 처리를 위해 사용 @RequestMapping: 요청 URL과 컨트롤러의 메소드를 매핑시키는데 사용 @Configuration: 스프링 설정 파일임을 나타냄 @ResponseBody: 메소드가 반환하는 값을 HTTP 응답 본문으로 사용할 때 사용 @Valid: 입력 값의 유효성 검사를 위해..

개발공간/HW 2023.04.11

❓HTTP

✍🏻 HTTP가 뭘까? 인터넷을 통해 정보를 주고받을 때 사용되는 통신 규약 즉, 클라이언트와 서버 간에 데이터를 주고 받기 위해 사용하는 규칙 ✍🏻 그렇다면 HTTP Method는? 클라이언트가 서버에게 요청할 때 사용하는 명령어라고 생각하면 됨! ex) 클라이언트가 서버에게 어떤 정보를 요청하거나, 어떤 작업을 수행하라고 요청할 때 HTTP Method를 이용해서 요청! HTTP Method에는 여러 가지가 있지만, 대표적인 것으로는 GET, POST, PUT, DELETE 등이 있다. 각각의 HTTP Method는 클라이언트와 서버 간의 데이터 전송 방식이나 목적이 다르다는 것! 🔎 8가지 종류에 대해 알아보자! GET POST PUT DELETE HEAD OPTIONS CONNECT TRACE 사..

개발공간/HW 2023.04.11

[codeup] 원하는 문자가 입력될 때까지 반복 출력하기

💻 원하는 문자가 입력될 때까지 반복 출력하기 영문 소문자 'q'가 입력될 때까지 입력한 문자를 계속 출력하는 프로그램을 작성해보기 import java.util.Scanner; public class Main { public static void main(String args[]) { Scanner sc = new Scanner(System.in); while(true){ //while문 사용, 무한루프 char a = sc.next().charAt(0); // sc에서 문자열을 입력받은 후, 첫 번째 문자를 추출하여 char형 변수 a에 할당 if(a=='q'){ System.out.println(a); //변수 a가 'q'인지를 검사하여, // 'q'라면 System.out.println(a) 구문..

개발공간/Java 2023.04.08

[ codeup] 정수(1 ~ 100) 1개를 입력받아 1부터 그 수까지 짝수의 합을 구하기

💻 정수(1 ~ 100) 1개를 입력받아 1부터 그 수까지 짝수의 합을 구해보자 import java.util.Scanner; public class Main { public static void main(String args[]) { Scanner scanner = new Scanner(System.in); //Scanner 객체를 생성 int a = scanner.nextInt(); //입력받은 값을 정수형 변수 a에 저장 int sum = 0; //합을 저장하기 위한 변수 sum을 0으로 초기화 for(int i = 2; i

개발공간/Java 2023.04.08

🔎 비지니스 로직이 뭔데?

와 ... Service에 비지니스 로직 수행한다고 적었는데 쌤은 무슨 능력을 가지고 계신거지? 👻 역시 우리를 너무 잘 아신다💟 생각해보니 매번 비지니스 로직, 비지니스 로직 하면서 정작 뭔지 잘 모르고 사용했던 것 같다. 오늘 그 개념을 정리해보는걸로 ~~~! ✍🏻 ❓ 비지니스 로직에 대해 생각나는대로 적어보기 - 핵심 기능 수행 - 필요한 기능에 관련된 모든 작업? - 주요 작업 - 애플리케이션이 해야 할 중요한 일? ex) 쇼핑몰이라고 가정했을 때, 상품 주문이 들어오면 재고가 있는지 확인한다던지 그런 모든 일? 머리를 쥐어 짰는데도 이게 한계라니...! 흑흑 좀 더 고민해보자 💭

개발공간/HW 2023.04.07

🔎 DDD를 기반으로 Controller, Service, Repository 3대장을 알아보자

오늘의 미션은 DDD를 기반으로 Controller, Service, Repository 3대장을 알아보기! 나는 예시를 활용한 공부가 가장 잘 맞기 때문에 예시를 활용해 공부해보자 ✍🏻 💡Controller, Service, Repository가 대체 뭔데? 쉬운 이해를 위해 쇼핑몰 애플리케이션을 만든다고 가정해보자! 이 애플리케이션에는 상품을 등록하고, 주문을 처리하는 기능이 있고, 이를 DDD 아키텍처를 적용해 설계한다고 생각해보기 🤔 1. Controller - 사용자의 요청을 받고, 해당 요청을 처리하는 기능을 담당 - ex) 사용자가 상품을 등록하려면 ProductController이 필요함 - ProductController는 사용자로부터 받은 상품 정보를 검증하고, ProductServic..

개발공간/HW 2023.04.07

💡싱글톤이 뭔데?

❓ 싱글톤이 대체 뭘까? 오직 하나의 객체만 생성하고, 그 객체를 모든 곳에서 공유하여 사용하는 디자인 패턴 쉽게 말하면? 하나의 클래스에서 만들어진 객체는 프로그램 전체에서 공유해서 사용할 수 있음 이 패턴을 사용하면, 여러 개의 객체를 생성하지 않고 하나의 객체를 공유해서 사용함으로써 자원 낭비를 줄이고, 객체 간의 일관성을 유지할 수 있음. 예를 들어, 데이터베이스 연결 객체나 로그 기록 객체 등은 여러 곳에서 동시에 접근하면 문제가 발생할 수 있기 때문에, 이런 경우 싱글톤을 사용! 예를 들면, 스마트폰을 사용하는데 스마트폰이라는 객체는 딱 하나만 있어야 함 왜냐? 스마트폰 객체를 만들어서 사용할 때마다 새로 만들게 되면 메모리 낭비가 심하기 때문! 이때 싱글톤 패턴을 사용하면 스마트폰 객체를 단..

개발공간/Java 2023.04.06

💡오버라이딩(Overriding)과 오버로딩(Overloading)

🔎 오버로딩이 뭔데? 같은 이름의 메소드를 여러 개 정의하는 것 이 때 매개변수의 개수나 타입이 다르면 구분해서 사용할 수 있음 예를 들어, 사람의 이름을 출력하는 메소드를 정의할 때, 이름만 받는 메소드와 이름과 나이를 함께 받는 메소드를 모두 정의할 수 있음 public class Example { public void printName(String name) { System.out.println("이름: " + name); } public void printName(String name, int age) { System.out.println("이름: " + name + ", 나이: " + age); } } 🔎 오버라이딩이 뭔데? 오버라이딩은 상속 관계에서 부모 클래스의 메소드를 자식 클래스에서 재정..

개발공간/Java 2023.04.06