728x90

전체 글 288

페이로드(payload)

위키백과의 설명을 그대로 빌리자면 아래와 같다. 페이로드(영어: payload)는 사용에 있어서 전송되는 데이터를 뜻한다. 페이로드는 전송의 근본적인 목적이 되는 데이터의 일부분으로 그 데이터와 함께 전송되는 헤더와 메타데이터와 같은 데이터는 제외한다. restApi 를 기준으로 생각해보자면 request parameter 를 의미한다. 그 형태는 json 이 많이 사용된다.

Base/개념정리 2021.04.02

User-Agent

웹페이지 접속시에 접속한 기기가 어떤 정보를 가지고 있는지 확인할 수 있는데 그중 user agent 를 통해 어떤 브라우저( 익스플로러, 크롬, 사파리 등..)로 접속했는지 알 수 있다. ​ Servlet 를 사용하는 웹서버라면 request header 에서 아래와 같이 확인할 수 있다. String userAgent = request.getHeader("User-Agent") javascript 에서는 navigator 를 통해 아래와 같이 확인할 수 있다. var broswerInfo = navigator.userAgent; 간단하게 크롬브라우저에서 Console 창에서 아래와 같이 확인할 수 있다. ​ 이 값은 모바일에서 WebVnew 를 호출할때 임의로 변경할 수도 있다. 하지만 이를 활용하는..

Base/개념정리 2021.04.02

DAO와 Repository

둘은 모두 Persistence 을 구현하는 객체이다. Persistence는 한글로 표현하면 영속성이다. 그럼 영속성은 뭔가? 좀 더 익숙한 동의어로 표현하면 지속성을 의미한다. IT 기준에서 본다면 프로그램이 종료되어도 유지될 수 있는 데이터를 저장하는 것을 의미한다. 데이터베이스를 사용한다고 했을 때 프로그램상에서 데이터베이스와 통신하는 객체를 우리는 Repository 또는 DAO 라고 부른다. ​ 예전부터 뜻도 모르고 DAO 라는 객체를 만들어서 써왔는데 어느순간 Repository 라는 용어가 등장했다. 이렇게 비슷한 의미를 가진 용어가 등장하게 되면 패키지명, 클래스명, 변수명 등을 정할 때 바빠죽겠는데 불필요한 고통에 시달리게 된다. 이를 사전에 방지하고자 의미를 좀 더 명확하게 정리해보고..

Base/개념정리 2021.04.02

폴링

폴링(polling)이란 하나의 장치(또는 프로그램)가 충돌 회피 또는 동기화 처리 등을 목적으로 다른 장치(또는 프로그램)의 상태를 주기적으로 검사하여 일정한 조건을 만족할 때 송수신 등의 자료처리를 하는 방식을 말한다. ​ 이 방식은 버스, 멀티포인트 형태와 같이 여러 개의 장치가 동일 회선을 사용하는 상황에서 주로 사용된다. 서버의 제어 장치(또는 프로그램)는 순차적으로 각 단말 장치(또는 프로그램)에 회선을 사용하기 원하는지를 물어본다.

Base/개념정리 2021.04.02

프로비저닝(provisioning)

프로비저닝은 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요 시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것을 말한다. ​ 서버 자원 프로비저닝, OS 프로비저닝, 소프트웨어 프로비저닝, 스토리지 프로비저닝, 계정 프로비저닝 등이 있다. https://ko.wikipedia.org/wiki/%ED%94%84%EB%A1%9C%EB%B9%84%EC%A0%80%EB%8B%9D

Base/개념정리 2021.04.02

CDN

CDN(Contents Delivery Network)은 물리적으로 떨어져 있는 사용자에게 컨텐츠 제공자의 컨텐츠를 더 빠르게 제공할 수 있는 기술을 말한다. ​ 일반적으로 사용자가 원격지에 있는 서버(Origin Server)로 부터 Content(예. Web Object, Video, Music, Image, Document 등)를 다운로드 받는 것보다 가까이 있는 서버에서 받는 것이 더 빠르므로 사용자와 가까운 곳에 위치한 Server에 해당 Content를 저장(캐싱)하고 Content 요청시에 Server가 응답을 주는 기술이다. ​ 즉, CDN은 Origin 콘텐츠 서버와 엔드유저(클라이언트) 사이에서 컨텐츠를 전달하는 역할을 하며 이로 인해 보다 빠르게 사용자는 보다 빠르게 페이지나 컨텐츠를..

Base/개념정리 2021.04.02

쿼터(Quota)

Quota는 사용자나 혹은 그룹이 가질 수 있는 inode의 수, 혹은 사용자나 그룹에게 할당된 디스크 블럭의 수를 제한함으로써, 디스크 저장 장치의 사용을 제한할 수 있게 해준다. 즉, Quota는 사용자나 그룹의 디스크 사용량을 제한할 수 있는 방법을 제공해준다. Quota의 기본 개념은 사용자가 그들에게 부여된 디스크의 제한 용량 이상으로 사용하지 못하게 하며, 시스템의 디스크 공간을 무제한적으로 사용하지 못하게 한다. Quota는 사용자 별, 파일 시스템 별로 동작된다. 한 사용자에 파일을 만들 수 있는 파일 시스템이 하나 이상이라면, 각각의 파일 시스템에 개별적으로 Quota를 설정해줘야 한다. ​ 출처: https://wiki.kldp.org/HOWTO/mini/html/Quota/x35.html

Base/개념정리 2021.04.02

서비스메시(Service Mesh)

MSA 구성에서 서비스들이 서로 데이터를 공유하는 방식을 제어하는 방법으로 서비스 별로 커뮤니케이션을 관리하는 다른 시스템들과 달리, 서비스 메쉬는 애플리케이션들 위에 구축된 전용 인프라 계층에서 이를 관리한다. ​ 이를 통해 서비스간 통신에 대한 로깅, 모니터링 등을 보다 원할하게 관리할 수 있게 된다. 대표적인 프로젝트로 구글 Istio가 있는데 사실 나의 최대 관심사는 분산트랜잭션에 대한 부분인데 Istio 의 기능이 어디까지인지는 앞으로 차근차근 알아볼 생각이다.

Base/개념정리 2021.04.02

맥북에서 아이폰 디버깅 하기

웹뷰개발을 하다보면 특정 OS 혹은 디바이스에서만 오류가 발생하는 경우가 있다. 이렇게 되면 보통 해당 OS/디바이스 에 맡는 테스트 기기를 찾아야 한다. 그런데 맥북을 사용하고 확인하려는 OS가 iOS일 경우 테스트기기 없이 맥북에서 자체적으로 시뮬레이터를 띄워서 간단하게 디버깅이 가능하다. 원하는 OS버전과 디바이스를 선택해서 확인할 수 있고 사파리 개발자도구와도 연동되어서 굉장히 편리하다. 우선 App Store 에서 Xcode 설치한다. 그리고 Spotlight 창의 띄워서 Simulrator 를 검색해서 실행시킨다. 그럼 아래와 같은 시뮬레이터가 띄워진다. 그리고 일반적으로 iOS 개발팀에 시뮬레이터용 빌드 파일인 *.ipa 파일을 요청해서 받은다음 그 파일을 위 시뮬레이터로 드래그 하면 해당 ..

728x90