본문 바로가기

스터디

(18)
RDBMS, NoSQL이란 RDB란?사용자와 DB사이에서 사용자의 요구에 따라 데이터를 생성해 주고, DB를 관리하는 시스템이다.RDB란 관계형 데이터 모델에 기초를 둔 데이터베이스다.관계형 데이터 모델이란 데이터를 구성하는데 필요한 방법 중 하나로 모든 데이터를 2차원의 테이블 형태로 표현해 준다.쉽게 말하면 각 데이터를 ‘테이블’이라는 표형태의 구조에 저장한다.데이터베이스에 들어오는 값들을 순차적으로 차곡차곡 쌓아가는 방식이다.Java의 개념 중 스택의 개념과 비슷하다고 보면 좋을 것 같다.스택이란 LIFO(Last In First Out)처럼 순차적으로 값을 추가하고 삭제하는 ArrayList 같은 배열기반 컬렉션이 적합하다.이러한 구조 덕분에 함수호출이나 수식 계산에 사용된다.[MySQL을 활용한 DB 예시]RDB의 장점은..
모놀리식 아키텍처 소개크게 보면 마이크로서비스 아키텍처는 마이크로서비스라는 작은 단위의 컴포넌트로 구성되어 있다.서비스 전체 기능을 독립된 작은 단위로 나누어 분리하고, 각각의 컴포넌트는 독립된 시스템 형태로 개발하고 운영한다.독립된 마이크로서비들은 전체 서비스와 분리해서 개발할 수 있으므로 서비스 변화에 비교적 자유롭다. 그러므로 민첩한 대응이 가능하다. 또한 독립성과 민첩성을 확보한 마이크로서비스 아키텍처는 대규모 서비스에서 여러 장점이 발현된다.보통 마이크로서비스 아키텍처와 비교해서 설명하는 것으로 모놀리식 아키텍처가 있다. 모놀리식 아키텍처란?위의 사진처럼 하나의 시스템이 서비스 전체 기능을 처리하도록 설계한 것으로, 과거부터 현재까지 흔히 볼 수 있는 아키텍처다.모놀리식 아키텍처는 전통적인 개발 방식으로 하나의 ..
[Spring Boot] JPA란 JPA : 자바 표준 인터페이스로 객체와 관계형 데이터베이스 사이의 매핑을 처리하는 기술이다.주로 객체를 데이터베이스에 저장하고 검색하는 데 사용된다.이때 데이터에 해당하는 객체를 엔티티 객체라는 것으로 다루고 JPA로 이를 DB와 연동, 관리Spring Data JPA는 자동으로 객체를 생성하고 이를 통해서 예외 처리등을 자동으로 처리하는 인터페이스다.@Entity // JPA를 사용하여 데이터베이스와 연동하겠다.@Getter@Builder@AllArgsConstructor@NoArgsConstructor@ToStringpublic class Board extends BaseEntity { /* @Id는 pk(Primary Key)로 정의하는 의미 @G2neratedBalue(stra..
[Spring Boot] 스프링 부트란? [스프링 부트란?]스프링 부트는 스프링에서 파생된 여러 서브 프로젝트에서 시작해서 완전한 메인 프로젝트가 되버린 케이스이다.스프링 부트의 중요한 특징으로 자동설정이 있다.데이터베이스와 관련된 모듈을 추가하면 자동으로 데이터베이스관련 설정을 찾아서 실행한다.별도의 서버 설정 없이 개발 및 실행이 가능하다.스프링 MVC에서는 JSP 대신 Thymeleaf라는 템플릿 엔진을 활용하는 경우가 많다.또한 MyBatis도 사용 가능하지만, JPA를 주로 이용한다.스프링 부트에서는 main()메서드를 통해 단독으로 실행이 가능하고 자동으로 내장된 톰캣이 실행된다.서블릿과 스프링은 root-context, servlet-context.xml파일을 따로 만들어서 빈을 설정해주었지만,스프링 부트는 application.p..
[Spring] 스프링 프레임워크란 [스프링 프레임워크란]최초에 사용자로부터 요청한 값이 들어오게 되면 컨트롤러 → 서비스 → 뷰 순서로 진행된다.스프링 프레임워크는 객체지향의 의존성 주입기법을 적용한 객체지향 프레임워크였다.또한 자체적으로 객체를 생성하고 관리하면서 필요한 곳으로 객체를 주입해 주는 역할을 한다.스프링 프레임워크의 중요한 특징 중 하나는 다른 프레임워크들을 쉽게 결합해서 사용할 수 있다는 점이다.스프링 프레임워크가 웹이나 데이터베이스와 같이 특정한 영역을 구애받지 않고 시스템의 객체지향 구조를 만드는 데 이용된다는 성격 때문이다.이 역할들은 설정 파일이나 어노테이션을 이용해야 한다.스프링이 관리하는 객체들을 빈이라는 이름으로 불린다.→ 빈은 보통 root-context.xml이라는 파일에서 관리한다.  [의존성이란??]과..
디자인 패턴 [PRG 패턴]최초에 브라우저에서 서버로 값을 넘겨준다.(이전에 사용자가 입력한 데이터들은 GET, 입력한 데이터들을 POST방식으로 넘겨줌)브라우저의 값을 POST방식으로 암호화해서 다른 주소로 Redirect 하도록 응답브라우저에 이동할 주소를 받음브라우저에서 서버에 POST방식으로 넣어둔 값을 GET방식으로 호출서버에서 GET방식으로 처리해서 브라우저에게 전달(새로 고침을 해도 이전에 입력한 데이터를 다시 제출하지 않게 되기 때문에         중복 제출을 막는다.)@GetMapping("/carrotWrite") public String carrotWrite(HttpSession session) { if (session.getAttribute("member_id") == nul..
MVC 아키텍처 아키텍처란 개발을 편리하고 가독성이 좋으며, 유지보수가 쉽도록 도와주도록 플랫폼에 맞춰 설계하는 것을 말한다. MVC 아키텍처란 Model, View, Controller의 줄임말이다.Controller = 사용자로부터 값을 받고 Model과 View와 통신하는 부분view = model로 부터 처리된 값을 화면에 랜더링해주는 역할, 쉽게 말하면 데이터의 결과 값(JSP)Model = 컨트롤러로부터 받은 값을 기반으로 데이터를 처리하는 부분 [Model]DTO : 여러개의 데이터를 하나의 엔티티 객체로 만들어서 전달하는 것계층 간 데이터를 처리하기 위한 객체생성자가 없거나 반드시 파라미터가 없는 생성자 함수를 가지는 형태속성(멤버 변수)는 private로 작성getter/setter를 사용해야한다pack..
[JAVA] 추상 & 메서드 [추상] 어느 정도의 틀은 잡아놓고 다형성을 이용하여 추상클래스의 자식들은 메서드를 오버라이딩하여 클래스를 완성시킨다. 정해진 틀은 있지만 각 클래스마다 별도로 작성되기 때문에 다들 개성이 살아있다. package ch09.abstract11; public abstract class Employee { protected String empno;// 사번 protected String name;// 이름 public Employee(String empno, String name) { this.empno = empno; this.name = name; } public void showEmployeeInfo() { System.out.println("-------------------"); System.out..