전체 글

오늘 하루도 즐겁게😎🍪
JSON(JavaScript Object Notation)이란? JSON은 자바스크립트의 객체 표현식과 유사한 방식으로 데이터를 주고 받는 방법입니다. 자바스크립트 객체와 거의 유사하지만 몇가지 차이점이 존재합니다. JSON은 객체를 정의하지는 않습니다. 즉, 자바스크립트 객체가 아니라 객체 표현식으로 데이터를 표현합니다. 따라서 다른 도메인에서도 요청을 보낼 수 있습니다. var test = { "name" : "coco", "age" : 26, "address : "서울시" } 위와 같은 객체 형식의 표현식으로 쓸 수 있습니다. test라는 객체는 key : value 형식의 표현식입니다. key = "name " : value = "coco" 으로 데이터가 들어갑니다. 이런 JSON 형식으로 데이터..
@RequestMapping 대신 @PostMapping @GetMapping 쓰는 이유가 궁금했다. 구글링으로 여러 블로그를 찾아봤지만 "코드가 줄어들기 때문"이라는 짤막한 답변이 대부분이었다. @RequestMapping(value="경로", method=RequestMethod.GET) @RequestMapping(value="경로", method=RequestMethod.POST) 이렇게 긴 코드가 @GetMapping("경로") @PostMapping("경로") 이렇게 짧아진다는 설명이다. 참고로 @GetMapping과 @PostMapping 어노테이션은 @PutMapping, @DeleteMapping, @PatchMapping과 함께 스프링 4.3부터 등장했다. 틀린 말은 아니지만 이건 질문..
1. REST란? "하나의 URI는 하나의 고유한 리소스를 대표하도록 설계된다." REST(Representational State Transfer) 란 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고받는 모든 것을 의미하며 자원의 표현과 상태(정보) 전달을 하는 것 URI를 통해 자원을 명시하고, HTTP Method(GET, POST, DELETE, PUT...)를 통해 자원에 대한 행위(CRUD Operation)를 적용하고 자원을 JSON, XML, TEXT ... 들 여러 형태의 표현으로 나타내어 데이터를 주고 받는다. CRUD Operation Create : 생성(POST) Read : 조회(GET) Update : 수정(PUT, PATCH) Delete : 삭제(DE..
IntelliJ 개발환경에서 Springboot + MariaDB 작업 중, Cannot resolve table ' customer' 에러가 발생했다. 이런 현상은 IntelliJ가 너무 꼼꼼하게 검사를 해주기 때문에 발생한 것으로, 관련 설정을 변경해주면 해결 된다. Setting > Editor > Inspection > .. > Unresolved database references in annotations 체크 해제 적용 후 확인하면 아래와 같이 빨간줄이 지워진다. ref : https://log-laboratory.tistory.com/285
개발 도중 API 의 Request, Response 처리를 할 때나 다른 계층으로 데이터를 넘길 때 별도의 DTO 를 생성해야 하는 고민을 하기도 한다. 또한, 개발자마다 개발하는 과정에서 혹은 기존 소스에서 확인해보면 DTO 와 VO 는 다른 개념이지만 종종 같은 개념으로 사용하기도 합니다. 또한, Entity 와 DTO 도 한 클래스로 사용하기도 한다. 이것이 무조건? 틀렸다라곤 할 수는 없겠지만, 각각의 역할이 다르기 때문에 분리하여 각 역할에 맞게 사용하여야 하고 이것이 좋은 코드로 이어질 것이라고 생각한다. 이번 글에서는 각 Entity, DTO, VO 에 대해 정리를 해보고자 한다. 1. Entity 실제 DB 테이블과 매핑되는 핵심 클래스로, 데이터베이스의 테이블에 존재하는 컬럼들을 필드로..
https://www.inflearn.com/questions/347511/dto-vs-class DTO vs Class - 인프런 | 질문 & 답변 안녕하세요! 강사님제가 NestJS+ 타입스크립트를 공부를 하면서 헷갈렸던 부분 질 문 드립니다.DTO를 통해서 타입을 지정해주는 것과 Class를 직접 지정해주는 것의 차이는 어떤 점이 있을까요?Create www.inflearn.com Q ) DTO vs Class (엔티티) A ) 엔티티를 조회하게 되면 해당 엔티티의 모든 필드를 조회하게 됩니다. 따라서 데이터 조회 성능에서 필요한 필드만 찍어서 조회하는 것과 비교해서 필드가 많다면 성능에 차이가 발생할 수 있습니다. 그리고 상황에 따라 DTO로 직접 조회하는 방식이 더 단순한 경우도 많습니다. 애초..
이번 챕터는 언제 리팩터링 해야 하는가? 어떤 코드가 리팩터링이 필요한 코드인가?에 대해서 다룬다. (적어도 나는)코드가 구조적으로 예쁘지 않아서, 보고 있자니 뭔가 마음 한켠이 불편해서, 같은 '느낌'을 감지하고 리팩터링을 하게 되는데 이런 모호한 기준을 끄집어 내서 문장으로 구체화한 챕터이다. 리팩터링이 필요한 코드가 가지고 있는 공통점, bad smell에 대해서 얘기한다. 무엇이 문제인지 알아야, 그에 따른 해결 방안도 떠올릴 수 있다. 부록B에 보면 bad smell case와 해법이 잘 정리되어 있음. 정리하면서 평소 개발하면서 정립했던 나의 개인적인 의견도 같이 적어 두었음. (인용구로 되어 있는 부분) 3.1 기이한 이름 함수든, 변수든, 클래스든 이름만 보고도 각각이 무슨 일을 하고 어떻..
https://school.programmers.co.kr/learn/courses/30/lessons/172928 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # 2차원 배열 대신 1차원 배열 안의 문자열 값을 2차원 배열처럼 사용할 수 있을까 ?? 정답은 사용할 수 있다 !! park = ["SOO","OXXX","OOOXXXZ"] print(park[0]) print(park[1]) print(park[2]) print() print(park[0][0]) print(park[0][1]) print(park[0][2]) print() print(le..
continue문과 break문은 기본입니다! 하지만 어려운 문제에서 분기별 케이스를 잘 분류해야 하기 때문에 기본 문법은 확실하게 알고 있어야 하는 부분입니다 ✔️파이썬 continue & break 문 이란? 파이썬 프로그래밍에서 for문이나 while문을 쓰다보면 어떤 조건일때 반복문 자체를 빠져나오거나 어떤 조건에서는 건너뛰어야 하는 예외사항이 생길 때가 있습니다. 이럴때 사용하는것이 continue & break 문 입니다. ✔️continue문은 어떤 조건일때는 반복문 안에 명시된 수행 코드를 건너뛰게 하고 원래 실행 중이던 for문 등 반복문으로 다시 돌아오게 합니다 for route in routes: isFalse = False for i in range(1, int(dist) + 1):..
https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 문제 N×M크기의 배열로 표현되는 미로가 있다. 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 1 미로에서 1은 이동할 수 있는 칸을 나타내고, 0은 이동할 수 없는 칸을 나타낸다. 이러한 미로가 주어졌을 때, (1, 1)에서 출발하여 (N, M)의 위치로 이동할 때 지나야 하는 최소의 칸 수를 구하는 프로그램을 작성하시오. 한 칸에서 다른 칸으로 이동할 때, 서로 인접한 칸으로만 이동할 수 ..
JaeStory
JaeStory