전체 글27 NjinX란? NginX가 무엇일까? 프론트엔드와 백엔드 사이에서 트래픽이 많은 서버를 도와주는 비동기 이벤트 기반구조의 웹 서버 프로그램이다. 즉, 최신 웹의 증가하는 요구를 지원하기 위해 개발된 고성능 웹서버이다. 높은 성능, 높은 동시성 그리고 낮은 자원사용에 중점을 두고 있다 웹서버는? 주로 정적 콘텐츠(이미지,정적 HTML등)를 제공하기 위해 설게되었고 동적 콘텐츠 요청을 식별하여 앱서버로 요청을 전달하는 역할을 수행하는 서버다. 엔진엑스는 대부분 웹 서버로 많이 알려져있지만 사실 엔진엑스는 역방향 프록시이다. 역박향 프록시(reverse porxy): 클라이언트의 요청을 받아서 웹서버로 전달해 응답을 받고, 다시 클라이언트에 전달하는 역할을 수행하는 서버, 즉 클라이언트와 웹서버 사이에 존재하는 서버이다. .. 2022. 8. 18. WIL (SQL,MVC,ORM) 이번주 간 내가 배운 SQL,MVC,ORM에 대해서 WIL을 적어보겠다. SQL은 곧 DB JPA 가 제공하는 연관관계는 결국 DB 의 연관관계를 표현하기 위함 따라서 먼저 DB 의 연관관계를 이해해야 함 DB 의 연관관계는 비즈니스 요구사항에 맞춰 이루어짐 SQL이란? SQL(Structured Query Lanaguage)은 데이터를 쉽게 검색하고 조작(추가, 삭제, 수정 등) 할 수 있도록 고안된 컴퓨터 언어이다. SQL은 아래 3가지 종류로 분류된다. SQL의 분류 DML (Data Manipulation Language): 데이터 조작 ex) INSERT, UPDATE, DELETE, SELECT DDL (Data Definition Lanaguage): 데이터베이스의 스키마 정의 또는 조작. .. 2022. 8. 7. DB , JPA 연관관계 , 테이블 설계해보기 DB JPA 가 제공하는 연관관계는 결국 DB 의 연관관계를 표현하기 위함 따라서 먼저 DB 의 연관관계를 이해해야 함 DB 의 연관관계는 비즈니스 요구사항에 맞춰 이루어짐 예를 들어 음식 주문앱DB를 설계한다고 했고, 고객이 1개의 음식을 주문할 수 있다라는 요구사항을 받았다. 1. 일단 각 주체의 테이블 설계가 필요 고객 테이블 음식 테이블 자, 이렇게 설계했을때 우리는 이제 연관 관계 고민을 해야한다. 고객이 음식을 주문했을때, 주문 정보는 어느 테이블에 들어가야 될까? 음식테이블??고객테이블?? 그렇게 되면 회원중복에 겹쳐지고, 덮어씌워지고 그러다보면 버그가 발생한다. 이러한 문제점을 해결하기 위해 우리는 '주문'이라는 테이블을 하나 더 생성해야한다 회원 1명은 이제 N개의 음식을 주문 할 수 있.. 2022. 8. 7. JPA 시작하기 스프링에서 정말 중요한 DB관리 기능이다 JPA에 대해서 완벽하게 알지는 못하겠지만 최소 개념정도만 알고가자 JPA 이해 ORM(object Relational Mapping) 객체지향언어와 관계형 데이터베이스를 뜻한다. 웹서버에서 각 프로그래밍언어를 쓰면서 코드를 쓰고 , DB쪽에서도 DB에서만 쓸수있는 코드를 쓰는데, 그 가운데에서 통역역할로 쓰는것이 ORM이다. JPA는? Java Persistence API 자바 ORM기술에 대한 표준 명세 쉽게말해 웹서버와 DB사이의 ORM역할을 하는것이 JPA다. JPA의 샘플코드를 살펴보자 @Entity // DB 테이블 역할을 합니다. public class User { // ID가 자동으로 생성 및 증가합니다. @GeneratedValue(strategy.. 2022. 8. 6. DI 개빡친다. 기껏 AllinoneController 강의를 4시간걸쳐 이해하고 다 봤더니 코드를 절약할 수 있다고 하고 코드 분리를 시키지를 않나. 분리시키는 과정을 또 두시간걸쳐 보고 이해했더니 이제는 강한 결합 어쩌고 DI를 써서 코드를 절약할 수있다고 또 코드를 마구잡이로 삭제하고 새로 쓴다. 뭐하잔거지? 걍 첨부터 제일 좋은 방법을 가르치는 생각을 못하는 빡대가린가? 이제는 이짓도 마지막이라 생각하고 의존성주입 DI에 대해서 기록하려 한다. DI 강한 결합의 문제점을 설명하겠다. 예를 들어 1. Controller1이 Service1 객체를 생성해서 사용한다 하자. public class Controller1 { private final Service1 service1; public Controll.. 2022. 8. 6. 스프링 MVC MVC가 무엇일까? MVC = (Model - View - Controller)디자인 패턴이다. Server에서 HTML을 내려주는 경우 1. 정적 (static) 웹 페이지 Controller Client 의 요청을 Model 로 받아 처리 a.예) 회원가입을 위한 개인 정보들 (id, password, name) 2.Client 에게 View (정적 웹 페이지, HTML) 를 내려줌 2.동적 웹페이지 (dynamic) Client 의 요청을 Model 로 받아 처리 Template engine 에게 View, Model 전달 View: 동적 HTML 파일 Model: View 에 적용할 정보들 Template engine View 에 Model 을 적용 → 동적 웹페이지 생성 예) 로그인 성공 시, .. 2022. 8. 5. 이전 1 2 3 4 5 다음