본문 바로가기
반응형

개념쌓기63

[개념쌓기]NginX? + 설치까지 Nginx란? 트래픽이 많은 웹사이트의 서버(WAS)를 도와주는 비동기 이벤트 기반구조의 웹 서버 프로그램이다 즉, 최신 웹의 증가하는 요구를 지원하기 위해 개발된 고성능 웹서버이다. 높은 성능, 높은 동시성 그리고 낮은 자원사용에 중점을 두고 있다 Nginx는 경량 웹 서버로,클라이언트로부터 요청을 받았을 때 요청에 맞는 정적 파일을 응답해주는 HTTP Web Server로 활용되기도 하고, Reverse Proxy Server로 활용하여 WAS 서버의 부하를 줄일 수 있는 로드 밸런서로 활용되기도 한다. 웹서버(Web Server)란 무엇일까? => 단순한 정적 파일 응답 주로 정적 콘텐츠(이미지,정적 HTML등)를 제공하기 위해 설게되었고 동적 콘텐츠 요청을 식별하여 앱서버로 요청을 전달하는 역할을.. 2022. 8. 23.
[개념쌓기]@Builder 계속 @Builder 패턴을 익혀야겠다는 찰나에 팀장으로서 매우매우 유능한 팀원 두명을 만나 여러가지를 같이 하게 되다보니 나도 뭔가 더 알려주고 싶다는 생각이 들어서, 좀더 열심히 배우게 되었다. 어제는 @Query에 대한 정보를 공유했고 오늘은 @Builder에 대한 내용을 정리하여 같이 다뤄볼까한다 왜 @Builder 패턴을 써야할까 1. 필요한 데이터만 설정할 수 있다 2. 유연성을 확보할 수 있다 3. 가독성을 높일 수 있다 4. 변경 가능성을 최소화할 수 있다 1.필요한 데이터만 설정할 수 있다 예를 들어 User 객체를 생성해야 하는데 age라는 파라미터가 필요 없는 상황이라고 가정하자. 생성자나 정적 메소드를 이용하는 경우라면 우리는 age에 더미 값을 넣어주거나 age가 없는 생성자를 새.. 2022. 8. 23.
[개념쌓기] CORS-크로스 도메인_프로토콜 문제 CORS : Cross-origin resource sharing 웹 브라우저들은 보안상의 이유로 javascript나 ajax로 외부 host로 접속하는 것을 막기 시작했다. 그래서 javascript를 Same Origin Policy(동일 출처 정책)라는 정책을 두어 다른 도메인의 서버에 요청하는 것을 보안문제로 간주하고 이를 차단한다. javascript는 자신이 속한 동일 도메인 내에서만 서버 요청을 허용하고 처리해 주겠다는 의미이다 네 가지의 크로스 도메인 문제 1. 도메인은 같으나 서브도메인이 다르면 문제가 발생한다. www.xyz.com과 aaa.xyx.com 사이의 문제를 말한다. 2. 도메인이 다르면 문제가 발생한다. www.xyz.com과 www.abc.com 사이의 문제를 말한다. .. 2022. 8. 19.
[자료 구조] 정규화(Normalization) 코드에 대해서 피드백을 받다가 DB의 연관관계에 관해서 말을 듣다보니 정규화에 대해 개념정리가 필요할 것 같다는 생각을 다시하게 되어 정리하게 되었다 데이터베이스 정규화? 데이터의 중복을 줄이고 무결성을 향상시키는 등 여러 목적을 달성하기 위해 재 디자인 하는 것이다. => 릴레이션 내에서 중복을 제거하는 과정 데이터베이스 정규화의 목적 1. 불필요한 데이터를 제거,데이터의 중복을 최소화 ( 저장 공간 최소화) 2. 각종 이상 현상을 방지하기 위해,테이블의 구성을 논리적이고 직관적으로 3. 데이터 테이블 구성이 논리적,직관적으로 하기 위해(자료 구조의 안정성 최대화) 4. 다양한 관점에서 query를 지원하기 위해 (효과적인 검색 알고리즘) 5. 무결성 제약조건의 시행을 간단하게 하기 위해( 데이터 무결.. 2022. 8. 18.
[개념쌓기]CASCADE?OrphanRemoval? 중심을 만들어내는 것은 시선을 소유한 자가 디디고 선 자리이다 게시판을 만들다보니 댓글도 만들게 되었다. 삭제를 하려는데 게시판에 물려있는 댓글 때문인지 삭제를 누르면 기능이 동작하지 않았다. 구글링을 통해 이것이 CASCADE옵션의 부재임을 알게되어 한번더 정리하게 되었다 그래서뭐냐고? => 영속성에서 참조된 객체를 지워주지 않았기 때문 그리고 궁금하게 되었던 고아 객체 처리 orphanRemoval에 대해서도 알아보자 CASCADE? - 부모 엔티티에서 자식 엔티티로 상태를 전이하는 것 ex. 부모 엔티티 저장할 때 자식 엔티티도 함께 저장, 부모 엔티티인 게시글 삭제시 자식 엔티티인 댓글도 같이 삭제 - Parent와 Child가 라이프사이클이 동일할 때,Child를 소유하는 Parent가 하나일 .. 2022. 8. 18.
[개념쌓기] CORS CORS가 무엇일까 우선 CORS가 왜 필요한지를 알아야 한다 웹 공간에서는 다른 출처로의 리소스 요청에 대한 제한과 관련된 두가지 정책 CORS,SOP(Same-Origin Policy)이 존재하는데 서로 다른 출처를 가진 리소스를 안전하게 사용하기 위함이다. 우선 SOP를 알아보자. SOP(Same Origin Policy) SOP(동일 출처 정책)는 다른 출처의 리소스를 사용하는 것을 제한하는 보안 방식이다. 여기서 말하는 출처는 URL의 Protocol, Host, Port로 구분한다 http://github.com:80 위 주소를 예시로 들면 http:프로토콜 / github.com : 호스트 / 80 :포트로 본다 sop는 동일한 프로토콜,호스트,포트의 리소스만 허용한다.예시를 하나 들자면 1.. 2022. 8. 15.
[개념쌓기]JSON의 직렬화/역직렬화 역경은 인간을 낳고,행운은 괴물을 낳는다 @JsonIgnore와 관련된 것들에 대해 알아보다가 확실히 모르는 용어에 대해 우선 알아보기로 했다 JSON? ( JavaScript Object Notation) : 자바스크립트 객체를 문자열로 표현하는 데이터 포맷 자바 스크립트 객체 리터럴과 유사하지만 객체가 아닌 문자열뿐이며, 이를 통해 다른 도메인과 데이터를 주고 받을 수 있다 XML 이나 다른 데이터 포멧이 비해 간결하며,손쉽게 자바스크립트 객체로 변환할 수 있어서. 웹에서 Server - Client 간의 데이터 교환에 주로 JSON을 사용한다 JSON 표기법 JSON은 자바스크립트 객체와 유사하나 표기법이 다르다 표기법이 간결하나 문법에 예민하여,정확한 사용이 필요하다 { "name" : "Alic.. 2022. 8. 13.
반응형