String : 1:1 관계Lists : 순서 존재, Queue와 stack으로 사용됨Sets : 순서와 관계없이 저장, 중복불가Sorted Sets : ZSET이라고 불리고, Score 개념이 존재. Set과 같은데 정렬이 필요한 곳에 쓴다.Hashes : Field:Value 여렄 ㅓ플이 존재함. RDB의 Table개념으로 많이 사용함 ZADD : 입력ZCARD : CountZRANGE : 정렬순서로 조회ZRANGBYSCORE : score로 함께 조회ZREM : 삭제ZSCORE : 특정 member의 score를 조회ZRANK : 특정 member의 rank를 조회
JPA(Java Persistence API)가 무엇일까요?. JPA는 자바 진영에서는 ORM(Object-Relational Mapping) 기술 표준으로 사용되는 인터페이스의 모음입니다. 그 말은 즉, 실제적으로 구현된것이 아니라 구현된 클래스와 매핑을 해주기 위해 사용되는 프레임워크 입니다. JPA를 구현한 대표적인 오픈소스로는 Hibernate가 있습니다. ORM은 또 무엇일까요? 우리가 일반적으로 알고 있는 어플리케이션 Class와 RDB(Relation DataBase)의 테이블을 매핑(연결)한다는 뜻이며, 기술적으로 어플리케이션의 객체를 RDB 테이블에 자동적으로 매핑해주는 것이라고 보면됩니다. (가만보면... Kafaka Connector랑 비슷하네? 요즘의 Connector컨셉과 비슷한거..
안녕하세요 쌤쓰입니다. 이번에 작성할 글은 최근에 업무를 하면서 불편했던 부분을 수정한 내용을 적어볼 까 합니다. 최근에 서버 접속을 다른 툴을 통해 접속할 일이 생겼는데, 줄 바꿈을 할 시 또는 백스페이스가 먹히지 않는 현상이 발생했습니다. 너무 불편해서 수정한 방법을 공유 드립니다. 먼저 추가해야하는 내용은 export TERM=vt100 해당내용을 환경변수에 추가를 해야하는데, 콘솔에 치기만해도 바로 적용이 됩니다. 하지만 저는 매번 서버를 접속할 때마다 치는 작업이 불편해서 영구적으로 적용하는 방법을 써볼까합니다. 먼저 아래 파일을 열고, $ vi ~/.bashrc 해당 파일의 맨 끝에 위 export TERM=vt100 내용을 추가 해줍니다. 추가된 내용을 확인하고 해당 파일을 닫습니다. 그리고..
화려한 대시보드와 머신러닝 모델, 그리고 비즈니스를 변화시크는 통찰력 뒤에는 데이터가 있다. = 데이터를 잘 가공해야 한다. 원본 데이터뿐만 아니라 가치를 제공하기 위해 수많은 소스에서 수집되어 정리, 처리 및 결합된 데이터다. 데이터의 진정한 가치는 그것이 정제되어 소비자게에 전달된 후의 잠재력에 있다. = 잘 정제된 데이터가 보기에도 좋다. 데이터 파이프라인이 무엇인지 이야기하고 현대의 데이터 생태계에 어떻게 적용되는지 보여준다. 일괄처리 vs 스트리밍 데이터 수집, 직접 구축하는 것 vs 제품을 구매하는 것 등과 같이 파이프라인을 구현할 때의 일반적인 고려 사항과 주요 결정 사항을 다룬다 = 이부분이 이책에서 배워야 할 핵심 가치일듯. 데이터 파이프라인이란? 데이터 파이프라인은 다양한 소스에서 새로..
일반적으로 데이터베이스, 큐, 캐시 등을 매우 다른 범주에 속하는 도구로 생각한다. 데이터베이스와 메시지 큐는 표멵거으로 비슷하더라도 (둘 다 얼마동안 데이터를 저장) 매우 다른 접근 패턴을 갖고 있어 서로 다른 성능 특성이 있기 때문에 구현 방식이 매우 다르다. 그러면 모든 것을 왜 데이터 시스템이라는 포괄적 용어로 묶어야 할까? 데이터 저장과 처리를 위한 여러 새로운 도구는 최근에 만들어졌다. 새로운 도구들은 다양한 사용사례(use case)에 최적화 되었기 때문에 더 이상 전통적인 분류에 딱 들어맞지 않는다. 예를들어 메시지 큐로 사용하는 데이터스토어인 레디스가 있고, 데이터베이스처럼 지속성을 보장하는 메시지 큐인 아파치 카프카도 있다. 분류 간 경계가 흐려지고 있다. 두 번째로 점점 더 많은 애플..
데이터 중심 애플리케이션(Data-intensive application)은 이러한 기술적 발전을 활용해 실현 가능한 범위를 넓힌다. 데이터 양, 데이터 복잡성, 데이터가 변하는 속도 등, 데이터가 주요 도전 과제인 애플리케이션을 데이터중심적(data-intensive)이라고 말한다. 반대로 CPU 사이클이 병목인 경우 계산 중심적(compute-intensive) 이라고 한다. 데이터 중심적 애플리케이션의 데이터 저장과 처리를 돕는 도구와 기술은 이런 변화에 빠르게 적응한다. NoSQL 같은 새로운 종류의 데이터 베이스 시스템이 많은 주목을 받고 있지만 메시지 큐, 캐시, 검색 색인, 일괄 처리 프레임워크와 스트림 처리 프레임워크, 그리고 해당 관련 기술도 NoSQL 못지 않게 매우 중요하다. 많은 애..
RAID ( Redundant Array of Inexpensive Disks / Redundant Array of Independent Disks ) 1988년 버클리 대학의 3명의 과학자가 제안한 이론으로 그 당시에는 하드디스크의 용량이 제한적이었고, 함부로 사용하는 이도 드물 정도로 값도 비쌌기 때문에 보다 저렴하며 용량이 적고, 성능이 낮은 하드디스크를 묶어 중복 구성함으로써, 성능이 좋은 고가의 대용량 하드디스크 장비와 겨뤄 손색이 없도록 하는 것이 주목적이었습니다. 그러나 그들이 열심히 RAID를 연구하는 동안 Storage 기술의 발전으로 용량대비 가격이 지속적으로 하락하였으므로 애초 주목적이었던 가격적인 면보다는 데이터의 안정성과 에러 보정, 그리고 하드디스크의 장애에 의한 데이터의 손실을..
1. 뷰(View) 뷰의 계층 안드로이드 응용 프로그램의 화면을 구성하는 주요 단위인 액티비티는 화면에 직접적으로 보이지 않으며, 액티비티 안의 뷰가 사용자를 대면하는 실체이다. 여러 개의 뷰가 모여 하나의 액티비티를 구성하고, 이러한 액티비티가 모여 하나의 응용 프로그램이 된다. 레이아웃은 액티비티 안에 뷰를 배치하는 기법을 말한다. 뷰 위젯 : 직접적으로 보이며 사용자 인터페이스를 구성하며, 흔히 컨트롤이라고 부른다. 뷰 그룹 : 뷰를 담는 컨테이너 역할을 하며, 이 부류의 클래스들을 레이아웃이라고 한다. 뷰 그룹이면서도 위젯처럼 사용되기도 하는 클래스도 있으며, 특정 위젯을 상세히 알고 싶다면 그 슈퍼 클래스들부터 연구해야 한다. 서브 클래스는 슈퍼 클래스의 모든 속성을 상속받는다. 위젯의 계층 V..
MIME 타입이란 클라이언트에게 전송된 문서의 다양성을 알려주기 위한 메커니즘입니다: 웹에서 파일의 확장자는 별 의미가 없습니다. 그러므로, 각 문서와 함께 올바른 MIME 타입을 전송하도록, 서버가 정확히 설정하는 것이 중요합니다. 브라라우저들은 리소스를 내려받았을 때 해야 할 기본 동작이 무엇인지를 결정하기 위해 대게 MIME 타입을 사용합니다. 수 많은 종류의 문서가 있으므로 많은 MIME 타입들이 존재합니다. 우리는 이 글에서 웹 개발에 있어 가장 중요한 MIME 타입들 중 몇 가지를 나열해 살펴보긴 하겠지만, 특정 종류의 문서에 딱 들어맞는 것을 보려면 다음의 전용 문서를 참고하시기 바랍니다: MIME 타입의 전체 목록. MIME 타입은 문서 타입 정보를 실어나르는 유일한 방법은 아닙니다: 이름..
1. Active Directory의 요소 Active Directory를 구성하는 각 요소들은 논리적인 구조로 엮어져 있다. 정보나 자원들은 사용자나 회사가 그것을 사용하는 용도나 내용에 따라서 논리적으로 그룹화 되어 있으며, 이 그룹화 된 object를 위치에 상관없이 그 이름만으로 손쉽게 탐색할 수 있는 것이다. 이러한 Active Directory의 논리 구조에 대해서 우선 이를 구성하는 기본 구성 요소에 대해서 알아 보자. Objects object란 공통된 속성을 가지며 class(클래스)별로 구성된다. Users, computers, printers, applications등이 object이다. Object Attributes Attribute(속성 혹은 properties)는 각 objec..
# 통신 프로토콜에 대한 설명에 들어가기에 앞서, 통신은 먼저 소식을 특정한 매체를 이용하여 정보 및 의사를 전달하는 것이다. 사람의 대화만 하더라도 그렇다. 한국에서는 한국말, 영어권을 쓰는 나라에서는 영어가 커뮤니케이션이 되듯이, 우리의 일상생활에서도 상호간의 의사를 전달하기 위해 소통되는 기준을 들어서 사용한다. 최초에는 의사 전달의 수단으로 손짓 발짓 또는 그림 및 문자를 통해 자기의사를 전달했다면, 이후 후대로 갈수록 장소를 달리하는 곳에서의 다수 사람들에게 내 의사를 전달하기 위해서는 특정 수단을 이용하여 전달하고자 했다. 수단을 통신이라고 하는데, 전달기능을 갖춘 서비스 행위의 한 부분이다. 예를 들자면 넓은 의미로는 방송이나 신문과같이 특정다수에게 전달하는 메세지 일수도 있고, 좁은의미로는..