📚 KEYWORD DBDECIMAL, FLOAT, DOUBLE의 차이 [MySQL] 데이터 타입(data_type) 정리개요 MySQL 데이터 타입을 기록용으로 저장하기 위한 포스팅 공통 데이터 형식(M) : M 부동소수점 및 고정소수점 타입의 경우 정수타입의 최대 출력 폭을 나타낸다. ( 자릿 수 ) 문자형 타입의 경우spiderwebcoding.tistory.com datetime과 timestamp의 차이타임존 적용 여부 TIMESTAMP vs DATETIME (feat. ORM)공통점, 차이점, 그리고 ORM을 사용할 때의 주의점을 알아보자velog.io [TIL / 데이터 관리] MySQL TIMESTAMP vs DATETIMEData Logo한참 MySQL의 데이터 타입을 정리해 나가고..
기타/TIL
📚 KEYWORD큐잉 [네트워크 디자이너 기본기 쌓기] ② 큐잉 이론과 네트워크 모델링데이터 통신과 네트워크 디자인을 희망하는 사람이라면 누구나 알아야 하는 테크닉이 바로 큐잉 이론입니다. 전산학을 비롯한 거의 모든 컴퓨터 네트워크와 통신 분야의 디자이너들에게 큐잉zdnet.co.kr쇼핑몰 도메인 API 설계 : 모든 기능을 나열한 후 특정 부피로 분류하기상품Create : 상품 등록상품 개별 등록 : URL에 id 넣지 않기 주의 Read : 상품 조회상품 전체 조회 : 개수 (paging)상품 카테고리별 조회 : 카테고리, 개수상품 개별 조회 : 자세히 Update : 상품 수정 (난이도 있어서 나중에 하는 것을 추천)상품 개별 수정 : 데이터 수정상품 여러 개 수정 : 판매 상태 (품절, 판매 중..
📚 KEYWORD@ResponseBody 역직렬화 원리 🤔 THINKQ. 컨트롤러 분리하는 이유 모든 컨트롤러의 역할을 한 개의 컨트롤러가 하게 된다면에러가 1개만 발생하더라도 컨트롤러가 작동을 하지 못하게 되므로 Controller -> ProductController, MemberController ...이런 식으로 도메인별로 분리를 하는 게 좋다 👍🏻 Q. @RequestBody 를 사용하여 데이터를 넘겨줄 때 왜 객체로 넘겨줄까? 보내야 할 파라미터가 10개면 10개 따로따로 보내야 하는 귀찮음을 덜 수 있다. 객체를 생성하여 setter 등에서 값을 검증해서 잘못된 데이터를 보낼 가능성이 적어진다. 💬 ETC리팩토링= 클린 코드 만드는 방법 1. 모든 클래스에서 같은 의미를 가지는 동사..
📚 KEYWORDSpring의존성 주입 방법 3가지Setter : 변경될 가능성이 있다는 단점 & 순환 종속성 필드 : 테스트 코드 는 의존성 주입을 스프링이 하지 않고 내가 직접 할 수 있어야 한다는 단점 생성자 : 세터의 단점을 보완하여 불변성을 지니고, 필드의 단점을 보완해 외부 접근이 가능하다.@Repository, @Service, @Controller 요청을 받을 때 데이터도 같이 받는 방법@RequestParam @RequestBody : 역직렬화(JSON -> Java 객체, String, Map 필드 1:1 맵핑) StringJava 객체 Map @PathVariable REST APIAPI 명세 기본 틀URL 규칙 1. 영어 소문자 2. 언더바 X 하이픈 O 3. URL 끝에 슬..
📚 KEYWORDSpring빈으로 등록하는 방법@Component@Configuration + @Bean컨트롤러 @Controller@RestController@Controller + @ResponseBody 🤔 THINK빌드 vs 컴파일컴파일: 소스코드를 바이너리 코드로 변환해서 목적 파일 생성C언어 : .c → .obj (바이너리 코드 - CPU가 이해하는 코드)자바 : .java → .class (바이트 코드 - 가상 머신이 이해하는 코드)링크: 여러개로 분리된 소스파일들을 컴파일한 결과물들에서 최종 실행가능한 파일을 만들기 위해 필요한 부분을 찾아서 연결해주는 작업빌드: 소스코드 파일을 실행가능한 산출물로 만드는 과정 (컴파일 + 링크)소스코드 vs 바이너리 코드 vs 바이트코드소스 코드 = ..
📚 KEYWORD프레임워크 : 하나의 틀 안에서 어떤 서비스를 완성할 수 있는 것 Spring : 웹을 완성할 수 있는 프레임워크 웹서버 : 정적 = 누가 들어가도 동일한 부분 (ex. 회사 소개 페이지)WAS : 동적 = 내가 사용하는 모든(?) 페이지 Spring 주요 개념 IoC(Inversion Of Control, 제어의 역전) : 객체를 제어하는 제어권을 내가 가지고 있었는데 상황이 180도 바뀌어서(=역전) 스프링이 가지게 되었다. DI(Dependency Injection, 의존성 주입) : 객체를 주입하는 것, 주입 당하는 것, 주입 요청 하는 것 Spring Bean : 할 일이 많은 객체, 누군가가 나를 들고 다닐 수 있는 객체 = Bean => Spring아 이 객체 지금부터 니..
📚 KEYWORD인터페이스implements 라는 키워드에서 볼 수 있듯이, 구현해야 하는 공통적인 규약기능 자체보다는 규약에 초점을 둔다. APIApplication Programming Interface데이터가 있고 클라이언트가 있을 때클라이언트가 원하는 형태로 데이터를 잘 조합해서 상호작용할 수 있게 하는 인터페이스각자의 접근 권한에서 필요한 것만 연계하기 라는 말이 좋았다.꽃으로 예를 들면 꽃들이 있고 클라이언트가 필요한 정보를 꽃다발로 주문 했을 때 전달해주는 꽃집 직원과 같다고 할 수 있다. 참고 : API란? API의 정의와 종류 그리고 장단점 JAVA COLLECTIONCollectionList - ArrayList, Vector, LinkedListSet - HashSet, TreeSe..
📚 KEYWORD 타입 변환 타입을 강제로 변환할 수 있다. 부모에서 자식 클래스의 메서드를 사용하고 싶을 떄 Parent parent2 = new Child(); parent2.method(); // 자식 // parent2.metod(); // 오류 Child child2 = (Child) parent2; child2.metod(); // 동작 추상클래스 추상메소드를 1개 이상 선언한 클래스 추상메소드 구현 내용이 없이 텅 비어있는 메소드 자식에서 오버라이딩하여 구현할 수 있다. 다형성(= 하나의 객체가 여러 가지 타입을 가질 수 있는 것)을 위해 주로 사용하곤 한다. abstract class Recipe { abstract void getInfo(); } 인터페이스 모든 메서드가 추상 메소드인 일..
📚 KEYWORD 클래스 클래스란 객체를 생성하기 위한 일종의 설계도 객체 클래스로 만들고자 하는 것 인스턴스 클래스로 만든 한 객체 다형성 하나의 타입으로 다양한 객체를 사용할 수 있는 것. 상속, 메서드 오버라이드, 클래스 타입 변환의 조합으로 다형성을 극대화 할 수 있다. 오버로딩 하나의 클래스 안에서 같은 이름의 메서드를 여러개 구현하고 필요에 따라 메서드를 선택할 수 있다. 이가 가능한 것은 자료형, 개수, 순서로 메서드를 구별하기 때문 상속 클래스를 만들다 보면 공통된 속성을 가지고 있는 게 보인다. 클래스간 공통된 성질을 부모에 넣고 특화된? 다른 부분들은 자식 각각에서 정의하여 중복을 제거할 수 있다. 오버라이딩 부모 클래스에게 상속받은 메서드를 재정의하여 자식 클래스용 메서드를 구현 상속..
📚 KEYWORD 컴파일 소스 코드 언어를 기계어로 변환 빌드 소스 코드 파일을 실행 가능한 파일로 변환 컴파일언어 통번역(한 번에 읽고 한번에 번역) 인터프리터언어 동시 통역(한 줄 단위로) 운영체제 하드웨어와 프로그램 간 상호 작용 관리 및 제어 IDE 소스 코드 + 컴파일 할 수 있는 통합 개발 환경 없었으면 메모장과 cmd의 조합으로 .. 😿 인텔리제이 단축어 sout : System.out.println psvm : public static void main() JAVA 클래스로 시작해서 클래스로 끝난다. 클래스 필드, 메서드, 생성자 중 하나여야 한다. JDK Java Developer Kit 기본적으로 많이 사용하는 필요한 라이브러리 (코드들) 등 JVM 포함 JRE Java Runtime ..