전체 글 586

sqld: sql 활용 - 서브쿼리 정리

서브쿼리 개요 서브쿼리(Subquery)란 하나의 SQL문안에 포함되어 있는 또 다른 SQL문 서브쿼리 사용시 주의사항 괄호로 감싸야함 단일행/복수행 비교연산자와 함께 사용 가능. 단일 행 비교 연산자는 서브쿼리의 결과가 반드시 1건 이하이어야 하고 복수 행 비교 연산자는 서브쿼리의 결과 건수와 상관 없다. ORDER BY 사용불가. 메인쿼리 마지막 문장에 위치해야함 (Select 절에서 오직 한개) 서브쿼리가 SQL문에서 사용이 가능한 곳은 다음과 같다. SELECT 절 FROM 절 WHERE 절 HAVING 절 ORDER BY 절 INSERT문의 VALUES 절 UPDATE문의 SET 절 단일행 서브쿼리 서브쿼리가 단일 행 비교 연산자(=, =, )와 함께 사용할 때는 서브쿼리의 결과 건수가 반드시 ..

sqld: sql 활용 - 계층형 질의와 셀프 조인

계층형 질의와 셀프 조인계층적 데이터가 존재하는 경우 데이터 조회를 위해서 계층형 질의(Hierarchical Query)를 사용계층형 데이터란 동일 테이블에 계층적으로 상위와 하위 데이터가 포함된 데이터A는 관리자가 없고, B, C의 관리자는 A, D,E의 관리자는 E ...-- 오라클이 제공하는 계층형 질의 구문 SELECT ... FROM 테이블명 WHERE condition START WITH CONNECT BY [PRIOR][NOCYCLE] condition [ORDER SIBLINGS BY column, ...] START WITH절은 계층 구조 전개의 시작 위치 지정, 즉 루트 데이터를 지정CONNECT BY 절은 자식 데이터를 지정.PRIOR : CONNECTD BY 절에 사용되며 현재 읽..

sqld: sql 활용 - 표준 조인

표준 조인 (Standard SQL)DBMS 벤더별로 문법/용어 차이가 커져서 호환 가능한 기준 제정 ⇒ ANSI/ISO 표준 sql대표적인 기능들로는 STANDARD JOIN (CROSS, OUTER JOIN 등 FROM절 기능) SCALAR SUBQUERY, TOP-N QUERY 등 SUBQUERY ROLLUP, CUBE, CROUPING SETS 등 많은 RDB 이론을 수립한 E.F.Codd 박사 논문에 언급된 8가지 관계형 대수 (일반집합 4개, 순수관계 4개)일반 집합 연산자Union(합집합): UNION 기능. union / union all 차이? 일반적인 UNION은 UNION DISTINCT UNION ALL은 중복을 제거하지 않고 합집합, UNION DISTINCT는 중복 제거하여 보여..

sqld: 표준 조인 정리

표준 조인 (Standard SQL)DBMS 벤더별로 문법/용어 차이가 커져서 호환 가능한 기준 제정 ⇒ ANSI/ISO 표준 sql대표적인 기능들로는 STANDARD JOIN (CROSS, OUTER JOIN 등 FROM절 기능) SCALAR SUBQUERY, TOP-N QUERY 등 SUBQUERY ROLLUP, CUBE, CROUPING SETS 등 많은 RDB 이론을 수립한 E.F.Codd 박사 논문에 언급된 8가지 관계형 대수 (일반집합 4개, 순수관계 4개)일반 집합 연산자Union(합집합): UNION 기능. union / union all 차이? 일반적인 UNION은 UNION DISTINCT UNION ALL은 중복을 제거하지 않고 합집합, UNION DISTINCT는 중복 제거하여 보여..

aws에 새로운 user 생성 이후 public key 추가하기

웹 서버를 띄울 때 보안과 여러가지 이유를 위해 새로운 user를 사용하는게 좋다고 하여 이번 aws를 사용할 때는 기본 ubuntu를 쓰지 않고 새로운 user를 만들어서 사용해 보았다.keygen 형태의 보안에 익숙하지 않고, user 명령어 등도 낯설어서 조금 헤메었다. 시행착오를 겪지 않고자 기록해둔다.새로운 user 생성서버 상황에 따라 sudo권한으로 실행시켜야 할 수도 있다.# aws에서 발급받은 pem키로 로그인 할 것이기 때문에 password 없이 new_user를 생성 adduser new_user --disabled-password # sudo 권한 부여 usermod -aG sudo new_user # new_user로 로그인 sudo su new_user ssh key 확인하기같..

tools/aws 2018.11.01

솔리디티 크립토좀비 튜토리얼 - 1. 스마트계약 만들기

Solidity란? 솔리디티는 이더리움 블록체인 플랫폼에서 스마트 계약을 정의하는 언어. Javascript와 유사하지만 정적 타입 언어이기 때문에 자료형 명시해주어야함 (Java와 비슷) 자세한 내용은 위키백과 참고 솔리디티 코드는 컨트랙트 안에 싸여있음. 컨트랙트는 이더리움 애플리케이션의 기본적인 구성 요소로, 모든 변수와 함수는 어느 한 컨트랙트에 속하기 마련이다. contract HelloWorld { } Version Pragma모든 솔리디티 소스코드는 version pragma로 시작해야함. 버전 선언.즉, 모든 코드는 다음과 같이 시작된다.pragma solidity ^0.4.19; contract HelloWorld { } State variable & IntegersState variab..

backend/blockchain 2018.10.30

MAC: ERD 그릴 수 있는 무료 툴 소개

이번에 새롭게 프로젝트를 진행하면서 db를 구성할 때 ERD를 그려보기로 했다.ERD란? Entity–relationship model의 약자로 존재하고 있는 관계들을 그림으로 그려내어 관계를 도출해 내는 것이다.처음에는 종이에 손으로 그려보려다가 추후에 수정사항을 변경하거나 유지보수를 하기가 어려울 것 같아 ERD를 그릴 수 있는 툴을 찾아보았다.역시 비싼 ERD 툴틀은 수백만원이 훌쩍 넘는데, 그런 기능과 가격의 툴을 찾는게 아니므로 여기서 소개하지 않고 무료 툴 위주로 소개하겠다.mysql workbench타 툴들과는 다르게 오라클 산하 MySQL에서 제공하는 툴이기 때문에 매우 기능이 다양하고 깔끔한 ui로 구성되어 있다. 뿐만 아니라 mac, window, linux까지 폭넓은 지원 범위를 자랑..

tools/mac 2018.10.28

MAC: 좋은 노트 앱 bear와 alfred workflow

하이브리드 애플리케이션과 SPA, PWA의 유행 때문인지는 몰라도, 요즘 좋은 비동기 애플리케이션 서비스가 폭발적으로 증가하는 것 같다.Trello와 같은 칸반 툴들을 필두로 해서 노트 및 협업 툴인 Notion 등 완성도 높은 서비스들이 아주 많다. Notion은 개인 레파지토리로 사용중인데 무료로 앱/웹/어플리케이션이 모두 연동이 가능한 좋은 툴이다. 이에 대해서는 추후 포스팅할 예정.오늘은 요즘 아주 잘 쓰는 노트 앱인 Bear에 대해서 포스팅할 예정이다.Bear는 아주 심플한 노트 앱이다. 애플의 기본 노트도 훌륭하고, 다른 많은 노트 앱들이 있는데 굳이 bear를 추천하는 이유는 심플하기 때문이다. (캐릭터가 귀여워서도 한몫한다.)bear의 메인 페이지. 귀여운 곰 캐릭터를 볼 수 있다.bear..

tools/mac 2018.10.26

파이썬으로 블록체인 만들어보기 - 3. 새로운 가상화폐 만들기

Blockchain example by python 3이전 두 편에서는 파이썬으로 Block 클래스와 Blockchain 클래스를 실제로 만들어보았다. 보지 않았다면 미리 보고 오는것을 추천한다.파이썬으로 블록체인 만들어보기 - 1. 기초 블록 만들기파이썬으로 블록체인 만들어보기 - 2. 블록체인 클래스 만들기Block, Blockchain의 전체 코드는 포스팅 맨 끝에 추가해두겠다.Blockchain 실제 사용해보기이제 만들어진 블록체인으로 실제 나만의 블록체인을 만들어보자. S-Coin이라는 새로운 가상화폐를 만들어보겠다.from blockchain import Blockchain scoin = Blockchain() >>> # genesis block이 만들어진 것을 볼 수 있다. print(sco..

backend/blockchain 2018.10.24

파이썬으로 블록체인 만들어보기 - 2. 블록체인 클래스 만들기

Blockchain example by python 2Blockchain 만들기전편에서 파이썬으로 간단한 블록을 만들어 보았다.아직 안 보신 분들은 이전 글인 파이썬으로 블록체인 만들어보기 1. 기초 블록 만들기를 보고 오는것을 추천한다.이번에는 이전에 만든 블록을 가지고 실제로 이전 블록과 다음 블록을 연결한 BlockChain을 만들어 보겠다.우선 블록체인 클래스는 어떤 값과 메소드를 가져야 할지 생각해보자모든 블록들의 list모든 transaction들genesis_block을 만드는 메소드블록을 추가하는 메소드chain validationinit블록체인 클래스에서 처음에 필요한 항목들을 __init__으로 초기화 해준다. 모든 블록을 저장할 chain list와 모든 transaction 데이터를..

backend/blockchain 2018.10.23