본문 바로가기

분류 전체보기124

[쿠키] Javascript로 쿠키에 직접 접근, HttpOnly, CORS 서버에서 쿠키를 만든 후, Vue에서 응답 쿠키를 확인하려고 했지만 Vue를 사용하는 브라우저에 쿠키가 들어오지 않았다. 이유는 서버에서 쿠키는 HttpOnly를 true로 브라우저에게 전송한다. HttpOnly로 설정된 쿠키는 브라우저에서 실행하는 JS로 "직접 접근"할 수가 없다. XSS공격으로 자바스크립트를 이용한 쿠키 탈취를 할 수 있기 때문에 막아둔 것. - 브라우저의 저장된 쿠키를 사용자가 모르게 실행시켜서, 해커 자신의 서버로 전송할 수 없도록 한다. 쿠키에는 Secure 설정도 해줄 수 있는데, Secure true 쿠키는 https를 이용해야만 서버로 전달해줄 수 있다. 응답으로 브라우저에 저장은 가능하다. 해결 { withCredentials: true } 로 설정하면 브라우저에 쿠키가.. 2022. 10. 19.
[Vue] Vue 구조 파악해보기 Vue 설치 npm install -g vue npm install -g @vue/cli -g global cli 를 사용해서 환경 설정을 통일화. Vue 프로젝트 생성 vue create 프로젝트명 Vue 프로젝트 실행 cd 프로젝트 내부 폴더로 이동 npm run serve package.json 의존 모듈 관리 node_modules 적용된 모듈들을 볼 수 있다. 초기 설정 살펴보기 main.js Vue를 실행하면 가장 먼저 main.js 가 실행된다. App.vue에 index.html 에 있는 div id="app"을 마운트 시킨다. 전역 설정은 이곳에 추가한다. App.vue 라우터가 포함되어있다. 전역으로 사용되는 template, style을 이곳에서 관리한다. #app은 최상위 div가 .. 2022. 10. 18.
[리눅스] 쉘 스크립트 윈도우에서 리눅스를 사용할 때 윈도우 데스크탑으로 이동하는 명령어를 쉘 스크립트로 저장해서 사용 bash 실행 하면 동작하지 않는데, 새로운 쉘을 띄워서 사용하고 종료 후 원래의 쉘로 돌아와서, 경로를 이동하지 못한다고 한다. source 실행 명령어를 사용하면 현재 쉘을 사용한다. 2022. 10. 18.
[Docker] 도커로 스프링 프로젝트 배포하기 [ local 작업 ] 1. jar 파일 만들기 2. dockerfile 작성 3. docker 이미지 만들기 4. docker push [ server 작업 ] 5. docker pull 6. docker run 1. jar 파일 만들기 Gradle bootJar로 jar 파일을 만든다. build/libs 경로에 jar파일이 생성된다. 2. dockerfile 수정 FROM adoptopenjdk/openjdk11:alpine-slim WORKDIR /chat COPY build/libs/map-chat-v1.jar . EXPOSE 8080 ENTRYPOINT ["java", "-jar", "map-chat-v1.jar"] 도커 파일을 작성하여 이미지를 생성할 준비를 한다. 컨테이너 구동시 jar파일.. 2022. 10. 18.
[JS] 콜백 함수, Promise, async-await 콜백함수, Promise, async-await - 비동기의 결과를 동기적으로 처리해주기 위해서 사용한다. 콜백 함수 다른 함수의 인자로 들어가서 나중에 실행되는 함수 함수내에서 A작업이 종료 후 B작업을 진행해야 할 경우 B작업을 콜백 함수라고 한다. A작업이 끝난 후 B작업이 실행된다. 콜백 함수는 단순히 작업의 순서를 결정하는 것인데, 사실 이것은 함수를 사용하지 않고도 가능하다. 콜백 함수의 유용성은 비동기 작업을 할 때 나타난다. A작업이 오래걸리는 작업(서버 통신)이면 비동기적으로 처리된다. 비동기로 처리되므로 아래 코드는 바로 수행되어, 비동기 처리 결과를 받는 곳에는 빈 값이 들어온다. 그래서 이를 방지하고자 비동기 처리가 완료되면, 처리 결과 값을 받은 이후에 실행되는 함수를 따로 둔다... 2022. 9. 5.
[TCP/IP MODEL] 1계층 물리 계층 물리적인 매체를 이용해 비트 스트림을 전송 비트 단위 전송 010100 2계층 데이터링크 계층 hop to hop 전송 담당 Mac 주소 사용 유선 - 이더넷 MTU 1500byte 무선 - LTE IP주소를 이용해 바로 옆(라우터, Host)으로 전달하는 역할을 하는 계층 데이터를 전송하고자 할 때 매체를 타고 전파된다. 매체를 이용하면 브로드캐스트로 전파된다. (사람이 공기를 이용해 말을 하듯이) 여러 노드가 동시에 매체를 이용하게되면, 충돌이 발생한다. 충돌을 해결하기 위해 여러 시도 -> 정해진 시간마다 노드가 데이터를 보내는 방식 현재 사용하는 방식은 임의로 아무때나 Random Access하는 방식을 사용 임의로 아무때나 매체에 접근하므로 충돌은 언젠간 발생하며, 충돌을 해결.. 2022. 8. 31.