본문 바로가기
300x250

개발 공부/네트워크 기초21

인터프리터, 컴파일, JIT 컴파일 들어가기 전에 우리가 작성한 코드가 컴퓨터에서 실행되기 위해서는 0과 1로 이루어진 컴퓨터가 인식할 수 있는 기계어로 변역되어야 한다. (C, 자바, C++, 자바스크립트 등과 같은 프로그래밍 언어를 사용하여 작성하는 프로그램을 고급 언어라고 합니다. 고급 언어는 사람 친화적 언어이다.) 기계어로 번역되는 방식(번역 시기)에는 인터프리터와 컴파일이 있다. 미리 번역을 해놓고 실행하면 컴파일 그때그때 번역하고 실행하면 인터프리터 컴파일 소스코드의 전체를 보고 기계어로 변역한 다음 번역된 파일을 생성해 컴퓨터에서 실행시키는 방법이다. 한 언어에서 다른 언어로 번역하는 프로그램을 컴파일러 컴파일러는 무조건 기계어로 번역할 필요 없다. (자바 → c언어) 파일들을 모두 번역해서 하나의 바이너리(또는 어셈블리)파.. 2022. 6. 2.
SSR(서버사이드 렌더링)과 CSR(클라이언트 사이드 렌더링) MPA와 SPA, SSR과 CSR에 대한 포스트입니다. 목차 MPA vs SPA SSR 개념, 동작과정, 장단점 CSR 개념, 동작과정, 장단점 렌더링 방식 선택 기준 Universal Rendering MPA vs SPA 먼저 MPA, multi page application의 약자로 여러 페이지로 구성된 웹 어플리케이션입니다. 사용자의 클릭과 같이 인터렉션이 발생할 때마다 서버로부터 새로운 html을 받아와서 해당 링크로 이동하여 페이지 전체를 새로 렌더링하는 전통적인 웹 페이지 구성 방식입니다. 다음은 SPA, Single Page Application의 약자로 하나의 페이지로 구성된 웹 어플리케이션 입니다. 브라우저에 최초에 한번 페이지 전체를 로드하고, 이후부터는 특정 부분만 Ajax를 통해 데.. 2021. 10. 28.
http method: resource/method 개념, 주요 method, method 속성 http method - 리소스와 메소드의 개념 - 자주사용하는 http 메소드 - 메소드의 속성 출처: Inflean 강의 :모든 개발자를 위한 HTTP 웹 기본 지식 https://girawhale.tistory.com/66 https://meetup.toast.com/posts/92 Put patch 멱등 https://www.inflearn.com/questions/110644 2021. 10. 26.
GitHub 토큰 인증 로그인 하기 - [오류 해결]: remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. 오늘 알고리즘 문제를 풀고 푸쉬를 하는데 이런 오류를 만났다. remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information. fatal: unable to access 'https://github.com/dydwns2441/algorithm.git/': The requested URL returned error: 403 비밀번호 인증.. 2021. 8. 14.
가비지컬렉션 개념정리 가비지 컬렉션(garbage collection) 가비지 컬렉션은 프로그램에서 더 이상 사용하지 않는 메모리를 자동으로 정리하는 것이다. 이 기능을 가진 언어(혹은 엔진)는 자바, C#, 자바스크립트 등이 있다. 자바스크립트는 눈에 보이지 않는 곳에서 메모리 관리를 수행한다. 원시값, 객체, 함수 등 우리가 만드는 모든 것은 메모리를 차지한다. 그렇다면 더는 쓸모 없어지게 된 것들은 어떻게 처리될까? 지금부턴 자바스크립트 엔진이 어떻게 필요 없는 것을 찾아내 삭제하는지 알아보겠습니다. 가비지가 되는 대상 어떤 객체에 유효한 참조가 존재한다면 Reachable, 그렇지 않다면 Unreachable이라 한다. 언리쳐블한 객체는 수거 대상이 된다. 트레이싱 한 객체에 flag를 두고, 가비지 컬렉션 사이클마다.. 2021. 8. 6.
운영체제, 문자열, 그래픽 개념정리 문자열 유니코드 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준 인코딩(부호화) 인코딩이란 어떤 문자나 기호를 컴퓨터가 이용할 수 있는 신호로 만드는 것이다. 이 신호를 입력하는 인코딩과 문자를 해독하는 디코딩을 하기 위해서는 미리 정해진 기준을 바탕으로 입력과 해독이 처리되어야 한다. 이렇게 인코딩과 디코딩의 기준을 문자열 세트 또는 문자셋(charset)이라고 한다. ASCII 문자 영문 알파벳을 사용하는 대표적인 문자 인코딩으로 7 비트로 모든 영어 알파벳을 표현할 수 있다. 52개의 영문 알파벳 대소문자와, 10개의 숫자, 32개의 특수 문자, 그리고 하나의 공백 문자를 포함 UTF-8과 UTF-16의 차이점 UTF-8과 UTF-16은 인코딩 방식의 차이를 의.. 2021. 8. 6.
Oauth 기본 개념 정리 + im-sprint-auth-oauth 리뷰 Oauth 2.0 전통적으로 직접 작성한 서버에서 인증을 처리해주는 것과는 달리, OAuth는 인증을 중개해주는 메커니즘이다. 보안된 리소스에 액세스하기 위해 클라이언트에게 권한을 제공하는 프로세스를 단순화하는 프로토콜이다. 즉, 이미 사용자 정보를 가지고 있는 웹 서비스(GitHub, google, facebook 등)에서 사용자의 인증을 대신해주고, 접근 권한에 대한 토큰을 발급한 후, 이를 이용해 내 서버에서 인증이 가능해집니다. Oauth 2.0 흐름 Oauth에서 꼭 알아야 할 용어 Resource Owner 액세스 중인 리소스의 유저 Client Resource owner를 대신하여 보호된 리소스에 액세스하는 응용프로그램 Resource server client의 요청을 수락하고 응답할 수 있.. 2021. 8. 6.
Token 개념 정리 + im-sprint-auth-token 리뷰 Token 토큰이란 통행증, 회원증과 같은 개념 클라이언트로 로그인할 시 서버에서 인증을 거친 다음 토큰을 내어주는 방식으로, 다음 부터 서버에 요청시 토큰을 같이 보내어 인증을 가진다. 가장 대표적인 토큰 기반 인증은 'jwt' 인증정보가 어디에 저장되느냐? 특징 세션은 서버(세션스토어)+ 클라이언트(세션id가 담긴 쿠키)에 저장된다. 토큰은 클라이언트(Authorization header)에 저장된다.(jwt토큰) 이 특징을 통해 파생되는 특징 서버가 여러대 일 경우 -서비스가 수평 확장을 했거나 -로드 밸런싱 일 경우 - 토큰이 유리하다. 세션같은 경우는 인증정보를 여러 서버가 공유해야 한다. 클라이언트로만 인증하면 서버의 부담이 없다. 어떻게 jwt는 스스로를 안전하다고 증명하는가? -signat.. 2021. 8. 6.
CSRF 개념정리 CSRF web application security란? 개발자들이 웹사이트, 모바일 어플, 웹 api 등을 만들 때에 해커들의 공격을 막기 위해서 보안은 필수 사항 여러가지 공격들 SQL injection, XSS, CSRF CSRF cross site request forgery 악성 스크립트가 담긴 사이트를 열거나 링크를 클릭할 때, 변조된 요청을 보내는 공격이다. 기존의 로그인한 기록을 바탕으로 서버가 클라이언트의 요청을 믿기 때문에 발생한다. 다른 오리진에서 유저가 보내는 요청을 조작하는 것 해커가 직접 데이터를 접근할 순 없다. 공격을 하기위한 조건 1)쿠키를 사용한 로그인 유저가 로그인 했을 때, 쿠키로 어떤 유저인지 알 수 있어야함 2)예측할 수 있는 요청/parameter를 가지고 있어야.. 2021. 8. 6.
반응형