전체 글127 [SpringBoot] JPA를 이용해 랜덤한 하나의 레코드만 가져오려면 어떻게 해야할까? 랜덤 레코드 가져오기 고민이 많았던 부분이다. 미니프로젝트 진행 중 테이블 전체 중 하나의 랜덤 column만 가져와야하는 요구사항이 있어서 어떻게 가져와야할지 생각을 많이 했다. 요구사항은 다음과 같았다. 1. 랜덤한 게시글 1개를 사용자에게 보내준다. 2. 이렇게 보고 난 글은 랜덤조회 방법으로 다시는 볼 수 없다. 사실 내가 만든 요구사항이었다. 되는지 안 되는지도 모르고 막 질러놨더니 그 업보가 나에게 돌아왔다. 사람은 말을 아끼고 살아야 한다. 하지만 내뱉은 말은 주워담을 수 없는 법. 그래서 했다. 처음에 생각했던 방법은 다음과 같았다. 1. 이미 읽은 게시글을 제외한 게시글을 대상으로 findAll() 한다. 2. 1.의 결과물 중 랜덤한 하나의 레코드만 가져온다. 3. 그 게시글을 읽음 처.. 2021. 12. 9. DB에서 쓰는 관계(Relation)가 뭘까? 관계(Relation) 관계형 데이터베이스(RDB)를 처음 접하는 사람들이 가장 먼저 만나게 되는 장벽이 바로 관계다. 자세한 예시를 들어도 이해하기 쉽지 않다. 직접 써보면서 깨닫기 전까지는. 관계는 데이터베이스에서 컬럼의 비어있는 데이터 공간을 최소화하기 위한 수단이다. 무슨 말이지 감이 잘 안 올 수도 있다. 그래서 먼저 관계가 없으면 어떤 사태가 일어나는지를 음식점의 음식으로 예를 들어보자. 매장명 전화번호 위치 최소금액 배달비 음식1 음식2 음식3 ... 쉑쉑버거 xxx-xxxx 종로구 12,000 2,000 그냥버거 치즈버거 더블패티 자담치킨 xxx-xxxx 강남구 13,000 1,000 후라이드 양념치킨 null 짜장면맛집 xxx-xxxx 강서구 7,000 4,000 짜장면 null null.. 2021. 12. 3. REST API가 뭘까? REST API (Representational State Transfer API) 일반적인 API가 무엇인가에 대해서는 알 것이다. 근데 REST API? 앞에 REST는 왜 붙었지? 라는 의문점과 함께 인터넷에 검색을 해보면 갑자기 별나라 이야기 같은 것들이 쏟아져 나오기 시작한다..... 우리 그냥 API 쓰게 놔두면 안 돼요? 아래 링크는 REST API가 무엇인가를 다루는 레드햇의 문서이다. 참고바람. REST API(RESTful API, 레스트풀 API)란 - 서버, 구현, 사용법 REST API(RESTful API)란 REST 아키텍처의 제약 조건을 준수하는 애플리케이션 프로그래밍 인터페이스를 뜻합니다. api 서버, rest api 구현 및 사용법을 설명합니다. www.redhat.co.. 2021. 11. 29. WAS가 뭘까? WAS 일반적인 웹 서버(Web Server)에 대해서는 다들 자세히 정의할 순 없지만 어렴풋이 이게 무엇인가에 대해서는 알고 있을 것이다. 웹 서버라는게 무엇인가에 대해 한 문장으로 설명하자면, '요청받은 내용을 처리하고 되돌려주는 기능을 하는 서버' 라고 할 수 있겠다. 중요한 점은, 웹 서버는 정적인 데이터들을 처리하는 기능을 한다는 점이다. 그러면, 정적인 데이터는 웹 서버가 처리한다고 치고, 동적인 데이터는 어떻게 처리하지? ...라는 생각을 하기 전에, 웹에서 정적인 데이터와 동적인 데이터가 무엇인지 한 번 생각해봐야한다. 정적 데이터(Static Data)는 일반적으로 HTML이나 이미지, js, css파일 등을 말한다. 스프링부트 프로젝트를 사용해본 사람들이라면 익히 알고 있을 'stati.. 2021. 11. 29. ORM이 뭘까? ORM ORM.. OMR은 아는디... 이게 대체 몬?디 이게 뭐냐면.. Object Relational Mapping의 약자로, 그냥 쉽게 말해서 객체(Object)를 테이블(Relation)에 매핑(Mapping) 해주는 것을 말한다. 좀 더 직관적으로, SQL 없이 코드를 쓰면 그 코드를 자동으로 알맞은 SQL로 변환해서 DB에 적용해주는 친구라고 보면 된다. 자바에서 쓰이는 대표적인 프레임워크는 hibernate다. 이름만 알아두자. JPA 쓰다보면 자주 보게되는 단어다. 그러면 여기서 의문이 들 수 있다. ORM을 왜 굳이 쓰나요? 말이다. 궁금한 김에 ORM의 장단점을 좀 알아보자. 장점 1. 빠르다. 코딩이. : SQL문을 짜는건 생각보다 복잡하고 머리아픈 일이다. 사사로운 일에까지 머리 싸.. 2021. 11. 28. @Autowired는 왜 별로일까? @Autowired 스프링에서 의존성을 주입하는 방법은 여러가지가 있다. 의존성 주입이 뭔지 잘 모르겠다고? 이걸 보고오면 된다. 의존성 주입(DI)이 뭘까? DI(Dependency Injection) 스프링 용어를 찾아보다보면 가장 먼저 접하고 매우 빈번하게 보게 되는 단어가 바로 DI다. 의존성 주입. 이게 대체 뭘 하는 녀석일까? 이것에 대해 설명하려면 IoC Container라는 dazbee.tistory.com 아무튼, 여러가지 방법 중, @Autowired는 필드 또는 메소드에 생성자를 자동으로 주입해주는 녀석이다. 근데, 이 편리한 기능. 쓰면 별로 안 좋다고 한다. 왜 그럴까? 결론부터 말하자면, 런타임 시점에 도달하기 전까지는 감지할 수 없는 문제가 발생할 수 있기 때문이다. 그게 뭐냐.. 2021. 11. 28. 이전 1 ··· 14 15 16 17 18 19 20 ··· 22 다음