목록CS & SW & IT 용어 (18)
한 걸음씩 기록하며
👍🏻 색을 표현하는 방법 1) 색을 표현하는 방법 컴퓨터 그래픽스는 전자 모눈종이에 색을 표현하는 점을 찍어서 그림을 만든다. 모눈의 격자에 찍는 점을 그림 원소(picture element)라고 부르고, 줄여서 픽셀(pixel)이라 부른다. 모니터는 빨,녹,파란색 광선을 섞어서 색을 만들어내는데, 이런 색 표현법을 RGB색 모델이라 부른다. 아래를 컬러큐브 라고 하는데, 각 축은 주 색을 표현하며, 0이면 색의 빛을 끈다는 의미, 1이면 최대한 밝게 켠다는 뜻 가산(additive) 색 시스템 : 빛을 혼합해 색을 표현하는 방식 감산 시스템보다 더 많은 색을 만들 수 있다. 감산(subtractive)식 시스템 : 빛을 제거하면서 색을 표현하는 방식 감산 색 시스템에서는 주 색이 청록(cyan), 자홍..
💪🏻문자를 사용한 수 표현 비트로 각종 문자를 인코딩할 수 있다는 것은, 반대로 말하면 문자를 사용하여 컴퓨터가 알아들을 수 있는 숫자를 표현할 수 있다는 것을 의미한다. 즉, 문자를 컴퓨터 언어로 인코딩하는 것이다. 그러나 이는 생각보다 단순한 문제는 아니었다. 2진데이터와 아스키 코드를 사용하면 될 것 같아 보이지만, 다음의 두 가지 제약이 있었다 1) 아스키 코드는 상당수가 제어 문자로 예약되어있고 2) 몇 시스템은 7비트만 송수신 할 수 있었기 때문이다. (아스키 코드는 8비트이다) 👉🏻 그리하여 등장한 것이 QP 인코딩과 Base64이다. 1) QP 인코딩 (Quoted-Printable encoding) 전자우편 첨부를 처리하기위해 만들어진 인코딩 방식 8비트 데이터를 7비트 데이터만 지원하는..
https://haksae.tistory.com/33 #.5 Cookie & Session 1. Cookie란 HTTP 쿠키는 웹 쿠키, 브라우저 쿠키로도 불리는데 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각을 의미한다. 쿠키는 주로 세션 관리( 서버에서 관리하는 로그인 등의 정 haksae.tistory.com Cookie와 Session에 대한 정리이다. 해당 글 끝에 쿠키 세션에 대한 단점을 기록했다. * 단점 1. 세션 하이재킹 공격이 가능할 수 있다. 해결책은 HTTPS 를 사용해 요청 자체를 탈취해도 안의 정보를 읽기 힘들게 하거나, 세션에 유효시간을 부여할 수 있습니다. 2. 서버에서 추가적인 저장공간이 필요합니다.서버에서 세션 저장소를 사용하므로 부하가 높아집니다. 👉🏻 이를 ..
1. 렌더링 (Rendering) 서버로부터 요청해서 받은 내용을 브라우저 화면에 표시하는 것 렌더링 프로세스 Loader가 서버로부터 정보들을 불러옴 파싱을 통해 문서를 DOM 트리로 만든다. DOM 트리가 구축되는동안 브라우저는 렌더 트리를 구축 CSS 설정/레이아웃 위치 지정 렌더링 트리가 그려짐 2. SSR & CSR 렌더링을 하는 방식에는 서버 사이드 렌더링과 클라이언트 렌더링이 있다. 좀 더 상위 개념으로 MPA와 SPA가 있는데 별도로 공부하시길.. MPA(Multi Page Application) 서버로부터 HTML을 받아오는, 페이지 전체를 렌더링하는 웹 페이지 구성 방식 SPA(Single Page Application) 브라우저에 최초로 한번 페이지 전체를 로드하고, 특정 부분만 Aj..
1. API란 무엇인가 API : Application Programming Interface API는 응용 프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻합니다. 주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공합니다. API는 응용 프로그램, 모바일 애플리케이션 등의 프로그램을 개발할 때 소프트웨어를 구축하고 통합하기 위한 정의 및 프로토콜 세트로도 볼 수 있습니다. API를 사용하면 특정 소프트웨어의 구현 방식을 알지 못하더라도 제품 또는 서비스가 서로 의사소통을 할 수 있으며 개발을 보다 쉽고 편리하게 할 수 있도록 해주는 역할을 합니다. 따라서 개발 인력과 시간, 비용 등을 절약할 수 있어 많은 소프트..
디버깅이란? 정확하게 코드에서 어느 부분이 문제를 초래하였는지 범위를 좁혀가면서 명확하게 버그를 처리하는 것을 뜻함 디버깅에서 가장 중요한 것은 문제를 정의하는 것, 그리고 그에 대한 솔루션을 찾는 것그러나 이 문제가 버그에만 국한하지는 않음 UX/UI, logic/flow, performance, cost 등 모든 문제들을 포함 즉, 1) 원하는 목표를 정해두고, 2) 지금 실제로 발생하는 버그와 이슈가 무엇인지 발견하여, 3) 그 차이를 좁혀나가는 것을 디버깅 디버거 기본 사용법 개인이 코드의 문제점을 찾을 수 있지만, 디버거를 사용하여 조금 더 상호소통적(interactive)으로 동적으로 값을 변경하고 확인할 수 있음 보통 Run and Debug를 사용 의심 가는 곳이 있다면 그 곳에 break..
CI : Continuous Integration CD : Continuous Delivery / Deployment 어플리케이션 개발 단계부터 배포 때까지 이 모든 단계들을 자동화를 통해서 조금 더 효율적이고 빠르게 사용자에게 빈번이 배포할 수 있도록 만드는 개발 프로세스 *CI (지속적인 통합) 버그 수정, 새로 만드는 기능들이 매일 레포에 주기적으로 빌드되고 테스트가 되어서 머지되는 것을 말함 이 방식은 1991년 Grady Booch에 의해서 사용되어지다가, 나중에는 extreme programming 개발 방법론에서 채택되어졌음 Graday Booch는 객체지향 프로그래밍에 관련된 아주 유명한 책을 쓴 저자 *Ci 포인트 1) 코드 변경 사항을 메인 레포에 주기적으로 빈번하게 머지해야한다. - ..
1. Webhook이란? "A webhook in web development is a method of augmenting or altering the behavior of a web page or web application with custom callbacks." - 위키피디아 위의 설명에 따르면 웹훅은 웹 페이지 또는 웹 앱에서 발생하는 특정 행동(이벤트)들을 커스텀 콜백으로 변환해주는 것이다. 2. 왜 Webhook을 사용하는가? 일반적인 API(Polling)는 클라이언트가 서버를 호출하는 방식이라면, 웹훅은 서버에서 특정한 이벤트가 발생했을 때 클라이언트를 호출해주는 방식이다. (그렇기에 역방향 API라고도 부른다.) 아래의 그림이 폴링과 웹훅의 차이를 잘 보여준다. API 구현 방식 클라..