스택이란?: 한 쪽 끝이 막혀있어서 자료를 한 방향으로만 쌓는 자료구조이다. 스택 형태 스택 특징한 쪽으로만 데이터가 들어간다. 한 쪽으로만 들어가기 때문에 처음 들어간 것은 밑에 깔려서 나중에 나올 수 밖에 없다. (First In Last Out=FILO) 스택에 자료를 넣는 것을 PUSH라고 한다.ex) 위에서 A, B, C 를 스택에 넣는 행위를 뜻한다.스택에 자료를 빼내는 것을 POP이라고 한다.ex) 맨 위에 자료 C부터 하나씩 제거하는 행위를 POP이라고 한다.스택에 제일 위에 자료를 TOP이라고 한다.ex) 위 그림에서 오른쪽 마지막을 기준으로 C가 TOP이다.스택에 제일 아래 자료를 BOTTOM이라고 한다.ex) bottom은 가장 아래 기준점이라고 생각하면 된다. 배열로 예를 들면, A..
리스트란?: 리스트는 다른 나중에 배울 Stack, Queue, Tree, Graph 등과 같은 다른 자료구조 구현에 활용될 기초 자료구조입니다. 리스트의 특징자료를 순서대로 한 줄로 저장하는 자료구조.여러 자료가 일직선으로 서로 연결된 선형 구조입니다.제일 처음 데이터를 가리켜서 Head라고 합니다.제일 마지막 데이터를 가리켜서 Tail이라고 합니다.다른 자료들을 보면 부가적으로 다른 특징들이 붙는데 그 부분들은 기초 개념에는 맞지 않아서 생략 했습니다. 간단하게 한줄로 된 선형적인 자료들의 형태를 보이는 자료구조를 리스트라는 것만 알아 두는게 쉽고 정확합니다. 리스트는 아래 두 가지의 기준에 따라서 기초적으로 구분되어집니다. 1) "구현 방식"에 따라서 크게2-1) Array List(배열 리스트)2..
우리는 DB에서 원하는 정보를 가져와서 사용합니다. 원하는 정보를 가져와서 활용하는데에는 모바일용 SQL Lite에 저장하는 과정이나, 바로 DB에서 전달된 Response를 보고 정보를 Client에서 보여주기 위한 과정에서 사용합니다. 그런데 그 과정에서 사용하다보면 어떤 기준에 맞게 레코드(행)을 정렬하는 과정이 정말 중요합니다. 저도 서비스를 개발하면서 사용하다보니 느낀거지만 정말 중요합니다. 예를 들면, 시간 정렬, 사용자 검색 문자 기준 정렬 등 많은 기준으로 Response를 만드는데 사용했습니다. 그러면 정렬 쿼리에 대한 이야기를 시작하겠습니다. 정렬 쿼리 ORDER BY SELECT [열,...] FROM [테이블명] WHERE [조건식] ORDER BY [정렬할열 정렬방식,...]; e..
AWS Region 과 Availability Zone에 대해서 알아보고 CDN 서비스를 도와주는 Edge Location에 대해서 설명합니다. AWS는 전세계에 IDC가 있는데 주요한 부분에만 있습니다. 다음과 같은 region에 가지고 있습니다. Region을 기준으로 해서 Availability Zone, Edge가 있습니다. Region은 AWS의 모든 서비스가 위치하고 있는 물리적인 장소입니다. Availability Zone(AZ) 은 Region 내의 서버를 분리 시켜놔서 만약 한 쪽 AZ가 이상으로 재해를 입어도 한쪽에서 돌아가게 할 수 있는 가용성을 높여주는 구분입니다. 즉, IDC라고 생각하시면 됩니다. Edge는 CDN을 사용하다보면 미디어가 주이기때문에 빠른 속도로 서비스를 제공해야..
SQL에서 SELECT를 이용한 검색을 하는 경우에 많은 프로그래머들이 테이블의 모든 레코드를 불러와서 사용하는 경우는 없을 겁니다. 원하는 레코드만을 가져와서 원하는 컬럼을 뽑아서 사용하기를 바랍니다. 그래서 조건 검색을 하게 됩니다. 조건 검색 문법 기존 검색 문법인 SELECT [테이블열,...] FROM [테이블명,...]; 에서 WHERE 키워드 문법을 추가하면 조건 검색 문법이 됩니다. 조건 검색을 추가한 문법은 다음과 같습니다. SELECT [테이블열,...] FROM [테이블명,...] WHERE [검색조건]; Ex) 예를 들면, pin_info라는 다음과 같은 테이블이 존재하고 레코드도 들어가 있다고 가정합니다. 다음과 같은 명령어를 실행합니다. SELECT p_id, cr_time FR..
우리 테이블은 다음과 같은 과정으로 구조가 결정됩니다. 첫번째, 테이블에 구조를 설계한다. 두번째, 실제 테이블을 만든다. 세번째, 실제 테이블에 설계한 구조에 맞게 컬럼을 만든다. 네번째, 제대로 테이블의 구조가 생성되었는지 확인한다. 위에서 바로 네번째에 해당하는 부분을 테이블 구조 확인이라고 합니다. 이 네번째를 대해서 다뤄 보겠습니다. 테이블의 구조를 확인할 수 있는 그래픽 기반 프로그램인 "MySQL Workbench"나 "Sequel Pro" 등이 있습니다. MySQL Workbench는 윈도우즈 OS 환경에서 최적화된 솔루션이라고 생각합니다. Workbench는 사용할 수 있는 기능도 많고, 다이어그램까지 테이블에 맞추어서 제공해줄 정도로 기본과 향상된 추가 기능을 제공합니다. 또한, Seq..
SQL을 사용하여 테이블을 구성하려면, 테이블을 설계하고, 테이블을 설계하려면, 컬럼을 구성해야합니다. 컬럼을 구성 하기 위해서는 기술적으로 인덱스를 사용하고 구조를 짜는 것도 중요하지만, 기본적으로 컬럼의 자료형을 적재적소에 사용하는 것이 제일 중요합니다. 이번 글은 컬럼의 자료형에 대한 설명을 하겠습니다. 컬럼의 자료형 1) 숫자형 TINYINT, INT, FLOAT 2) 문자형 CHAR, VARCHAR, TEXT, ENUM 3) 날짜형 DATE, DATETIME, TIMESTAMP 크게 나누면 위 3가지의 자료형이 존재합니다. 아래에 각 자료형에 따라서 자세한 설명을 하겠습니다. 숫자형 자료형 1) TINYINT- 가장 작은 숫자 자료형.- 부호가 있는 경우 -128 ~ 127. - 부호가 없는 경..
실제 검색어 사용 원칙을 저 같은 경우에는 다음과 같이 두고 있습니다. 1. SQL 문법은 대문자 2. 테이블명은 소문자 3. 컬럼명은 소문자 4. 띄어쓰기가 필요한 경우 언더바 "_" 사용 5. SQL 문법 사용의 구분자로는 스페이스 " " 사용 6. SQL 문법의 마지막은 세미콜론 ";"으로 마무리 1. 기본 검색 문법 SELECT [* 또는 컬럼명,...] FROM [테이블명,...]; SELECT 와 FROM : 문법을 구분하기 위한 예약어입니다. 검색을 쿼리를 사용하기 위한 예약어. * : 애스터 리스크라고 불리고, 라틴어로 작은 별이라고 합니다. 모든 열(컬럼)을 상징하는 메타문자입니다. 테이블명 : 원하는 검색 내용을 가져올 테이블을 지정합니다. 테이블은 여러개를 지정할 수 있습니다. EX)..