본문 바로가기
반응형

전체 글354

[DB] JPA ✔ JPA • CRUD + 쿼리 : 단순히 CRUD 만 하는 것이 아니고, 쿼리에 대한 부분도 어느정도 지원이 된다. • 동일한 인터페이스 : CRUD Repository (저장소) • 페이징 처리 • 메서드 이름으로 쿼리 생성 • 스프링 MVC 에서 id 값만 넘겨도 도메인 클래스로 바인딩 ✔ JPA 의 기능 ➕ Spring Data JPA public interface MemberRepository extends JpaRepository { // 실제 아무것도 없음 } 위의 MemberRepository가 Spring Data가 제공하는 JpaRepository만 상속받으면 • S save(S entity) • void delete(ID id) • Optional findById(ID id) • It.. 2023. 5. 12.
[DB] MyBatis build.gradle -> dependencies 안에 추가 implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.0' apploication.properties 에 추가 (test > resoueces > application.properties 에도 추가) #MyBatis mybatis.type-aliases-package=hello.itemservice.domain mybatis.configuration.map-underscore-to-camel-case=true logging.level.hello.itemservice.repository.mybatis=trace src > main > java > hello.itemser.. 2023. 5. 9.
[DB] JdbcTemplate ✔ JdbcTemplate : SQL을 직접 사용하는 경우에 스프링이 제공하는 JdbcTemplate 은 아주 좋은 선택지다. JdbcTemplate 은 JDBC 를 매우 편리하게 사용할 수 있게 도와준다. • 장점 - 설정의 편리함 : 별도의 복잡한 설정 없이 바로 사용할 수 있다. - 반복 문제 해결 : JdbcTemplate 은 템플릿 콜백 패턴을 사용해서, JDBC 를 직접 사용할 때 발생하는 대부분의 반복 작업을 대신 처리해준다. 개발자는 SQL을 작성하고, 전달할 파라미터를 정의하고, 응답 값을 매핑하기만 하면 된다. • 단점 - 동적 SQL을 해결하기 어렵다. ✔ JdbcTemplate 설정하기 • build.gradle 의 dependencies 에 추가해야 할 것 //H2 데이터베이스 추.. 2023. 5. 8.
[DB] H2 데이터베이스 설치 https://www.h2database.com/html/main.html H2 Database Engine H2 Database Engine Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC API Embedded and server modes; in-memory databases Browser based Console application Small footprint: around 2.5 MB jar file size Supp www.h2database.com Window Installer / All Platfoms 둘 중 원하는 거 다운 받으면 된다. 난 All Platforms.. 2023. 5. 4.
[Spring] 회원 관리 (2) - 서비스 개발 / test ✔ 회원 서비스 개발 hello.hellospring > service > MemberService - 회원가입기능 package hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemberRepository; import hello.hellospring.repository.MemoryMemberRepository; public class MemberService { private final MemberRepository memberRepository = new MemoryMemberRepository(); // 회원가입 public Long join(Member mem.. 2023. 4. 28.
[Spring] 회원 관리 (1) - repository / Test case ✔ 비즈니스 요구사항 정리 • 데이터: 회원ID, 이름 • 기능: 회원 등록, 조회 • 아직 데이터 저장소가 선정되지 않음 (가상의 시나리오) ➕ 일반적인 웹 애플리케이션 구조 • 컨트롤러 : 웹 MVC의 컨트롤러 역할 • 서비스 : 핵심 비즈니스 로직 구현 • 리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 • 도메인 : 비즈니스 도메인 객체, 예) 회원, 주문, 쿠폰 등등 데이터베이스에 저장하고 관리됨 ✔ 회원 도메인과 리포지토리 만들기 domain > Member package hello.hellospring.domain; public class Member { private Long id; // 시스템이 저장하는 아이디 private String name; // 회원 이름 .. 2023. 4. 28.
[Spring] 스프링 웹 개발 기초 ✔ 프로젝트 생성 https://start.spring.io/ 인텔리제이에서 advanced > build.gradle 파일을 연 후, 실행시키고 http://localhost:8080/ 을 확인한다. 이 화면 뜨면 성공 설정 > gradle 입력 > Build and run using, Run tests using 을 intelliJ IDEA로 바꾸기 ✔ 정적 컨텐츠 static > hello-static.html 정적 컨텐츠 입니다. 2023. 4. 27.
[DB] Sharding (샤딩) ✔ Shading 샤딩은 수평 분할(Horizontal Partitioning)과 동일하며, 인덱스의 크기를 줄이고, 작업 동시성을 늘리기 위한 것이다. 수평 분할이란 스키마가 같은 데이터를 두 개 이상의 테이블에 나누어 저장하는 디자인을 말한다. 데이터베이스를 샤딩하게 되면 기존에 하나로 구성될 스키마를 다수의 복제본으로 구성하고 각각의 샤드에 어떤 데이터가 저장될 지를 샤드키를 기준으로 분리한다. 샤딩과 수평적 파티셔닝과의 차이점은 수평적 파티셔닝은 동일한 DB 서버 내에서 테이블을 분할하는 것이고, 샤딩은 DB 서버를 분할한다는 것이다. 즉, DB 서버의 부하를 분산할 수 있다. ◽ 요구사항 : 샤딩을 하기 위해서는 아래의 공통된 요구사항이 필요하다. • 라우팅을 위해 구분할 수 있는 유일한 키값이.. 2023. 4. 27.
[DB] Replication (복제) ✔ Replication Replication은 복제를 뜻하며 2대 이상의 DBMS를 나눠서 데이터를 저장하는 방식이며, 사용하기 위한 최소 구성은 Master / Slave 구성이어야 한다. • Master DBMS 역할 : 웹서버로 부터 데이터 등록, 수정, 삭제 요청 시 바이너리로그(Binarylog)를 생성하여 Slave 서버로 전달한다. (웹 서버로부터 요청한 데이터 등록, 수정, 삭제 기능을 하는 DBMS로 많이 사용된다.) • Slave DBMS 역할 : Master DBMS로 부터 전달받은 바이너리로그를 데이터로 반영하게 된다. (웹 서버로부터 요청을 통해 데이터를 불러오는 DBMS로 많이 사용된다.) ◽ Replication을 사용하는 이유 ① 스케일 아웃(Scale-out) → 사용자가.. 2023. 4. 27.
[React] 미니 블로그 만들기 ✔ 미니 블로그에 필요한 기능 / 각 기능에 필요한 Component • 글 목록 보기 기능 (리스트 형태) - PostList, PostListItem • 글 보기 기능 - Post • 댓글 보기 기능 - CommentList, CommentListItem • 글 작성 기능 - PostWrite • 댓글 작성 기능 - CommentWrite ✔ 프로젝트 생성 npx create-react-app mini-blog cd mini-blog npm start ✔ 필요한 실습 패키지 설치 react-router-dom v6 / styled-components v5 npm install --save react-router-dom styled-components package.json 에 들어가서 확인할 수 있다.. 2023. 4. 26.
[React] styled-components import React from "react"; import styled from "styled-components"; const Button = styled.button` color: ${props => props.dark ? "white" : "dark"}; background : ${props => props.dark ? "black" : "white"}; border: 1px solid black; `; function Sample(props) { return ( Normal Dark ) } export default Sample; 이렇게 나온다. color: ${props => props.dark ? "white" : "dark"}; background : ${props => props.dark.. 2023. 4. 25.
[React] Font 와 관련된 속성 ✔ Font-family • serif - 각 글자의 모서리에 작은 테두리를 갖고 있는 형태의 글꼴 • sans-serif - 모서리에 테두리가 없이 깔끔한 선을 가진 글꼴 - 컴퓨터 모니터에서는 Serif 보다 가독성이 좋음 • monospace - 모든 글자가 같은 가로 길이를 가지는 글꼴. 코딩을 할 때 주로 사용 • cursive - 사람이 쓴 손글씨 모양의 글꼴 • fantasy - 장식이 들어간 형태의 글꼴 ✔ Font-style • normal - 일반적인 글자의 형태를 의미 • italic - 글자가 기울어진 형태로 나타남 - 별도로 기울어진 형태의 글자들을 직접 디자인해서 만든 것 • oblique - 글자가 비스듬한 형태로 나타남 - 그냥 글자를 기울인 것 2023. 4. 25.
반응형