본문 바로가기

분류 전체보기72

항해 회고 이번 주에는 스프링 부트에서 소켓을 주로 공부하고 적용시켰다. 스프링 부트에서 실시간으로 통신을 하려고 소켓을 사용한다. 우리조가 하려는 것은 게시글안에서 릴레이로 소설을 작성하는 것이다. 즉 각 사람이 문단을 작성하여 릴레이로 소설을 완성할 수 있다. 게시글 안에서 A라는 사람이 문단을 작성하면 다른 사람은 작성할 수 없게끔 소켓을 이용하여 실시간으로 다른 사람이 문단을 작성중이며 B라는 사용자는 문단을 작성하지 못하도록 막는 것이다. 이를 소켓을 통해 구현을 할 것이다. 소켓과 redis를 적용시킬 것이다. 우선 게시글 안에서 A가 '문단 작성 시작'(시작, type : START )버튼과 '문단 작성 완료' (완료, type : TALK)버튼이 있다. A가 게시글 안에 들어오면 게시글을 subscr.. 2022. 3. 13.
항해 7주차 회고 S3업로더란 S3이란 AWS에서 제공하는 Simple Storage Service 이다. 해당 S3Uploader를 사용하려면 aws.yml 파일에 설정을 해줘야한다. cloud: aws: credentials: accessKey: 엑세스키 secretKey: 시크릿키 s3: bucket: 버킷 이름 region: static: ap-northeast-2 stack: auto: false 특히나 해당 accessKey와 secretKey를 github에 업로드하면 절대 안된다!! 가디언 문제때문에 문제가 생긴다. github 뿐만아니라 온라인에 올리지를 말자! 또한 AmazonS3Config 파일을 설정해 줘야한다. package com.sparta.velogclone.config; import com... 2022. 2. 27.
Web Server와 WAS Web Server는 클라이언트로 부터 HTTP 요청을 받아 HTML 문서나 각종 정적 컨텐츠(.html, .png, .css)를 전달하는 서버이다. 클라이언트에서 요청이 올 때 가장 앞에서 요청에 대한 처리를 한다. 클라이언트의 요청을 기다리고 요청에 대한 데이터를 만들어서 응답하는 역할 (정적 데이터) 정적 컨텐츠를 요청(request)했으면 정적 컨텐츠를 확인하고 => .html, .png 등 응답(response) 정적 컨텐츠가 아니면 웹 서버에서 간단히 처리 못해서 WAS에게 처리를 부탁한다. => 결국 WAS가 처리해준 컨텐츠를 받은 웹 서버는 응답(response)을 해준다 WAS(Web Application Server)는 동적 컨텐츠를 제공하기 위해 만들어진 애플리케이션 서버 (DB조회,.. 2022. 2. 25.
경합 조건, 공유 자원 경합조건(Race Condition)이란? 다중 프로그래밍 시스템이나 다중 처리기 시스템에서 두 명령어(이상)가 동시에 같은 기억 장소를 엑세스할 때 그들 사이의 경쟁에 의해 수행 결과를 예측할 수 없게 되는 것 이와 같은 현상은 바람직하지 않으므로 운영 체제는 이것을 해소할 수 있어야 한다. 즉, 두 가지 이상의 명령어가 실행되는 순서를 명확하게 정해주지 않아서 어떤 명령어가 먼저 실행될 지 몰라서 그 결과를 알 수 없게 되는 것이라는 뜻이다. 올바른 결과 프로그램1 프로그램2 잔고 100만 원 100만 원 read 100만 원 read한 값에 10만 원 더함 100만 원 110만 원 write 110만 원 110만 원 read 110만 원 read한 값에 50만 원 더함 110만 원 160만 원 wr.. 2022. 2. 22.
마크업 언어 및 하드웨어를 다룰 때 주의할 점 마크업 언어 마크업(mark up)은 본문(텍스트)과 구분할 수 있느 마크(mark)를 추가할 수 있는 시스템이다. 마크를 어노테이션(annotation)이라고도 부른다. 마크업 언어(Markup Language)는 문서가 화면에 표시되는 형식을 나타내거나 데이터의 논리적인 구조를 명시하기 위한 규칙들을 정의한 언어의 일종이다. 데이터를 기술한 언어라는 점에서 프로그래밍 언어와는 차이가 있다 즉, “데이터의 논리구조를 명시하기 위한 규칙들을 정의한 언어의 일종”이라는 부분에 집중해야 한다. 어떠한 데이터를 가지고 그것을 수학적으로 가지고 놀겠다는 의미가 아니라, 데이터를 화면에 표시하기 위해서 사용하는 언어라는 것이다. 참고로 HTML(Hyper Text Markup Language)은 프로그래밍 언어가.. 2022. 2. 14.
CORS란 CORS (Cross-Origin Resource Sharing)란 도메인 또는 포트가 다른 서버의 자원을 요청하는 메커니즘 교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제 👉🏻 CORS 체제는 브라우저와 서버 간의 안전한 교차 출처 요청 및 데이터 전송을 지원한다. 최신 브라우저는 XMLHttpRequest 또는 Fetch와 같은 API에서 CORS를 사용하여 교차 출처 HTTP 요청의 위험을 완화 한다. 웹 애플리케이션은 리소스가 자신의 출처(도메인, 프로토콜, 포트)와 다를 때 교차 출처 HTTP 요.. 2022. 2. 13.