개발일지/컴퓨터지식

개발일지/컴퓨터지식

Git 기본 기능들

Git 설정 로컬 레포지토리와 연결할 유저 정보를 설정합니다. # 버전 히스토리를 식별할 때 사용할 이름을 설정합니다. $ git config --global user.name "[firstname lastname]" # 각 기록과 연결할 이메일 주소를 설정합니다. $ git config --global user.email “[valid-email]” 도움말 보기 help 명령어를 이용하여 각 명령어 및 옵션의 기능에 대해 살펴볼 수 있습니다. # git에서 제공하는 모든 명령어를 볼 수 있습니다. $ git help -all # 특정 command에서 사용할 수 있는 모든 옵션을 볼 수 있습니다. $ git [command] -help 세팅 및 초기화 레포지토리를 초기화하거나 존재하는 레포지토리를 클론..

개발일지/컴퓨터지식

교차 출처 리소스 공유 (CORS, Cross-Origin Resource Sharing)

동일 출처 정책 (SOP, Same-Origin Policy) 어떤 출처에서 불러온 문서나 스크립트가 다른 출처에서 가져온 리소스와 상호작용하는 것을 제한하는 보안 방식 교차 출처 리소스 공유 (CORS) 다른 출처 간의 리소스를 공유할 수 있도록 하는 것 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제 예를 들어, 내가 티스토리를 잘 사용하고 있는데 어떤 해커가 사람들의 정보를 빼낼 목적으로 "BAD사이트"를 만들었다 사람들이 "BAD사이트"로 접속하게 하기 위하여 이메일로 링크를 뿌리거나 게시글로 유인을 하여 접속하게 한다 그러면 "BAD사이트"의 html, css, 자바스크립트 코드가 브라우저에 받아지고 그것을 이용해 나..

개발일지/컴퓨터지식

SSR 과 CSR

SSR (Server Side Rendering) 서버 쪽에서 렌더링 준비를 끝낸 상태로 클라이언트에게 전달하는 방식 서버에서 이미 렌더 가능한 상태로 클라이언트에게 보내주기 때문에 JS가 다운로드되는 동안 사용자는 무언가를 보고 있을 수 있음 장점 검색엔진 크롤러가 html에 접근하기 쉽다 -> SEO(Search Engine Optimization)가 우선순위인 경우, 일반적으로 SSR을 사용 웹 페이지의 첫 화면 렌더링이 빠르다 -> 단일 파일의 용량이 작음 웹 페이지가 사용자와 상호작용이 적은 경우 활용 가능 단점 자원이용이 서버에 집중되어 유지비용이 높음 일부 서드파티 자바스크립트 라이브러리의 경우 불가능할 수 있음 CSR (Client Side Rendering) 서버가 클라이언트에게 HTML..

개발일지/컴퓨터지식

웹 애플리케이션의 구현

웹 애플리케이션 구현 방식 웹 애플리케이션을 구현하는 방식은 크게 세 가지 방식이 있다 Single Page Application Microservice Architecture Serverless Architecture Single Page Application 유저의 입력과 요청에 의한 콘텐츠나 정보의 최신화를 할 때 서버로부터 새로운 페이지를 불러오지 않고(새로고침) 현재 페이지에서 이루어짐으로써 사용자와 소통한다 필수적인 요소만을 요청하여 새로고침을 방지해 유저 경험을 극대화한다 이러한 기능을 위해 AJAX, Asynchronous, JavaScript, XML이 주로 사용된다 오늘날 만들어지는 대부분의 많은 웹 애플리케이션들은 이 방법으로 만들어진다 Microservice Architecture ..

개발일지/컴퓨터지식

웹 애플리케이션

웹사이트(website) vs 웹 애플리케이션(web application) 아마 대부분 둘이 같다고 생각하는 사람이 많을 거다 우리는 일상용어로 혼용해서 사용하기도 하기 때문이다 개발 영역에서 웹사이트(website)는 정적 페이지들의 집합체를 의미한다 여기에 동적 페이지를 포함하게 된다면 web application이라고 한다 사실 오늘날의 대부분의 웹사이트들은 엄밀하게 말하면 웹 애플리케이션들이다 웹 애플리케이션의 특징 데스크탑 애플리케이션처럼 상호작용이 가능하다 특정 기능을 가지고 있다(정보 검색 등) 정보나 자료 등의 콘텐츠 관리 시스템과 함께 작동한다 웹 애플리케이션 아키텍처 유저가 웹브라우저에서 요청을 하면 애플리케이션의 다양한 요소들(브라우저, 유저 인터페이스, 미들웨어, 서버, 데이터베이..

개발일지/컴퓨터지식

클라이언트-서버 아키텍처

웹(WEB) 웹 : 인터넷에서 제공되는 하이퍼텍스트 시스템 하이퍼텍스트 : 문서 안에 다른 문서의 위치정보 등을 포함하여 문서 간의 정보를 서로 연관 지어 참조할 수 있는 문서 사람들이 인터넷이라고 하면 일반적으로 떠올리는 것이 웹이다 클라이언트-서버 아키텍처 웹에서 제공되는 서비스는 주로 서비스를 이용하는 클라이언트와 서비스를 제공하는 서버로 나뉜다 이러한 구조를 클라이언트-서버 아키텍처라고 한다 서버는 사용자와의 직접적 접점이 없기 때문에 편의성 보다는 기능에 중점을 두고 개발이 이루어진다 2 티어 아키텍처 위와 같이 클라이언트와 서버로 나뉜 구조를 2 티어 아키텍처라고도 한다 3 티어 아키텍처 2 티어 아키텍처에서 데이터베이스가 추가된 형태 일반적으로 서버는 리소스를 전달해 주는 역할만 담당한다 리..

개발일지/컴퓨터지식

TCP 와 UDP

TCP와 UDP는 OSI 표준모델과 TCP/IP 모델의 전송계층에서 사용되는 프로토콜이며 3계층인 전송계층에 속하며, 2계층과 4계층의 중개 역할을 한다 쉽게 말해 데이터의 전달을 담당한다 TCP와 UDP의 차이점 (장단점) TCP (Transmission control protocl) UDP (User datagram protocol) 서비스 타입 연결 지향적 프로토콜 데이터그램 지향적 프로토콜 신뢰성 표적 기기까지의 데이터 전송 보장 표적 기기까지의 데이터 전송 보장 X 순서 보장 전송하는 패킷들의 순서를 보장 전송하는 패킷들의 순서 보장 X (보장을 원한다면, 애플리케이션 레이어에서 관리되어야 한다) 속도 UDP와 비교해 느린편 TCP와 비교해 빠른편, 단순하며 더 효율적인 속도를 가지고 있음 위와..

개발일지/컴퓨터지식

LAN 과 WAN

LAN 과 WAN LAN은 Local Area Network 지역 네트워크라는 의미이며 좁은 범위에서 연결된 네트워크이다 어릴 적 피시방이나 학교 컴퓨터실에서 친구들과 배틀넷에 접속하지 않고 스타크래프트를 해본 적이 있을 거다 그때 이용한 게 바로 LAN이다 WAN은 Wide Area Network 광범위한 지역 단위로 구성하는 네트워크이다 컴퓨터로 유튜브를 보려면 인터넷에 접속해야 한다 보통 ISP(Internet Service Provider)를 통해 접속한다 (ISP는 통신사다 -> KT, SK, LG) LAN과 LAN을 이어주는 역할을 하며 이들이 모여 WAN이 된다

개발일지/컴퓨터지식

애플리케이션 ? 웹 애플리케이션 ?

애플리케이션 ? 웹 애플리케이션 ? 스마트폰을 사용하는 대부분의 사람들은 모바일용 애플리케이션을 다운로드해봤을 것이다 아이폰을 사용하는 사람들이라면 대부분 App Store에서 다운로드를 했을 것이고 갤럭시와 같이 안드로이드 스마트폰을 사용하는 사람들이라면 대부분 Google Play Store에서 다운로드했을 것이다 이러한 특정 기기에(아이폰, 혹은 갤럭시 등) 설치해서 사용하는 애플리케이션을 네이티브 애플리케이션(Native-application)이라고 한다 네이티브 애플리케이션은 Apple IOS, Android OS, Windows와 같은 특정 실행환경에 종속된다 아이폰용으로 개발된 애플리케이션은 정상적인 방법으로는 갤럭시나 윈도우 컴퓨터에서는 사용할 수 없다 이에 따라 네이티브 애플리케이션의 장..

E-room
'개발일지/컴퓨터지식' 카테고리의 글 목록