본문 바로가기

분류 전체보기

(171)
Mysql - 수치 연산, 문자 연산, IFNULL select 구에서 열을 선택한다고 지난 번에 말했습니다. 이번에는 열끼리의 연산을 통해 나오는 결과를 열로 선택해보겠습니다. 직접 예로 보겠습니다. 위 테이블을 쓰겠습니다. 1) 수치 연산을 통한 열 선택 금액이라는 열을 다른 열끼리의 연산을 통해 선택했습니다. as "원하는 열명"을 쓰면 그 이름으로 열이 생성되는데요. 이 때 키워드 as 는 안쓰고 그냥 띄워쓰기 한칸 하고 써도 됩니다. 그리고 한글을 열명으로 하려면 더블 쿼트로 둘러싸주셔야 합니다. (위 쿼리 참고) 하나 알고 계실건 Mysql 에서는 숫자로 시작하는 이름을 붙일 수 있습니다. 이 때 객체명을 숫자로만 해서는 안됩니다. 숫자+문자 이런 형식으로 객체명이 가능합니다. 하지만, Oracle 에서는 허용되지 않습니다. 이번에는 where..
Mysql - 복수의 열 정렬, 행수 제한(LIMIT,OFFSET) 1) 복수의 열 정렬 이번에는 복수 열로 정렬하는 법을 얘기 해보겠습니다. 같은 값을 가진 행의 순서는 '일정하지 않습'니다. 다음의 예를 보겠습니다. 위의 데이터를 '1-1, 1-2, 1-3' 와 같이 정렬을 하려 합니다. 원하는 대로 출력이 되지 않습니다. b 도 추가해주면 해결이 됩니다. 1차적으로 a열 기준으로 정렬하고 동일 한 값들은 b열을 기준으로 정렬 합니다 이번에는 b열 기준으로 먼저 정렬하고, a열을 그 적용해보겟습니다. 쉽네요. 정렬 뒤에 asc/desc 를 통해서 우선순위의 정렬을 정하고, 정함과 동시에 오름차순, 내림차순도 정할 수 있습니다. asc 는 기본값이니깐 생략해줘도 되지만, 정렬방법을 정할 수 있다는 차원에서 표기했습니다 :) ORDER BY 로 지정한 열에서 NULL 값..
Mysql - DML 01 - select, desc, where , order by mysql workbench 로 작업을 합니다. 쿼리문에서 쓰이는 db는 한빛미디어의 'sql첫걸음'책에 나온 예제 데이터를 활용해서 실습을 진행하겠습니다. 1) 확인(조회) > SELECT * FROM 테이블명; * 애스터리스크는 모든 열을 뜻하는 메타문자입니다. from 다음에는 테이블명이 옵니다. 그리고 명령문 마지막에는 항상 ; 세미콜론을 붙여줍니다. 위의 명령어는 select * 라는 select 구와 from sample21 이라는 from 구 2가지의 구로 나눌 수 있습니다. 이를 결정하는 것은 select, from 과 같은 예약어입니다. 데이터베이스에서 테이블처럼 데이터를 저장하거나 관리하는 '어떤 것'을 '데이터베이스 객체'라고 부릅니다. 테이블말고는 '뷰(view)'라는 것이 있습니다..
파이썬 알고리즘 기초 - 스택(Stack) 이번 시간에는 '스택'에 대해서 다뤄 보겠습니다. 이게 스택입니다. 말 그대로 '스택' 그 이상도 그 이하도 아니네요. 자, 저 책 하나하나를 데이터로 생각해볼게요. 일반적으로 생각해볼 때, 책을 어떻게 안정적으로 꺼낼 수 있을까요? 예를 들어, 위에서 10번째에 위치한 책(=데이터)를 꺼내고 싶은데 그 위까지 책을 한 팔로 살 짝 들어서 옆으로 싹 뺀다면, 안 무너뜨릴 자신 있으신가요? ㅎㅎ 위에서부터 9권을 내리고 10번째 책을 빼는게 안정적이겠죠? 스택 이라는 자료구조가 그렇습니다. 저 스택을 쌓을 때 위에 있을수록 더 늦게 쌓은 책이잖아요? 나중에 입력한 데이터를 먼저 빼는(LIFO) 데이터 구조가 스택입니다! 저는 스택이라는 데이터 구조를 생각할 때, 저렇게 위태위태하게 쌓은 이미지를 상상합니다..
파이썬 알고리즘 기초 - 큐(Queue) 이번 시간에는 '큐' 라고 하는 데이터 구조를 다뤄 보겠습니다. 그림으로 먼저 보겠습니다. 직사각형 타일이 데이터라고 생각하시면 됩니다. '큐'를 표현하는 그림들은 많이 있습니다. 데이터를 하나하나 넣었습니다. 앞으로 여러 데이터 구조를 살펴볼 것입니다. 각 구조마다 핵심적인 특성을 말하는 약어가 있습니다. 핵심은 FIFO(First In First Out) 입니다. LILO(Last-In, Last-Out) 랑 같은 의미입니다. 보통 FIFO 로 많이 얘기합니다. 위 그림을 보면 31이라는 데이터가 제일 먼저 들어갔고 제일 우측에 있습니다. 입구는 insert 출구는 delete로 위 그림에는 나와 있는데요. 6개의 데이터를 넣었는데 제일 먼저 들어간 31이 제일 먼저 나오는 특성을 갖고 있는 것이 '..
[리뷰] do it html5+css3 웹 표준의 정석 전면 개정2판 리뷰 오랜만에 IT 도서 리뷰를 합니다. 웹을 공부할 때 많은 분들이 고민하는 책 중 하나인 do it html5+css3 웹 표준의 정석 !! IT 학원이나 컴퓨터 관련 수업에서 이 책을 쓰는 경우가 많은 것으로 알고 있습니다 :) 전면 개정 2판은 2019년 12월 27일 개정 2판으로 1쇄 발행된 책입니다. 사실 이 책은 쓰여진 지 꽤 오래 됐습니다. 칼라책에 종이의 질이 좋은 책이라 왠만하면 비전공자 분에게는 웹에 대한 공부를 시작한다면 이 책을 권하고 싶습니다. 사실 DO IT 시리즈는 많은 책들이 있고, 저도 이 책 시리즈는 꽤 많이 갖고 있습니다. 먼저, 이 책이 좋은 이유는 아래 사진을 보시면 알 수 있습니다. 소스 제공은 모든 IT 서적이 다 하는거죠? 저자 분의 깃허브에 가시면 바로 책 예제..
파이썬 알고리즘 기초 - 하노이의 탑 (재귀 알고리즘) 하노이의 탑(Tower of Hanoi)은 퍼즐의 일종이다. 세 개의 기둥과 이 기둥에 꽂을 수 있는 크기가 다양한 원판들이 있고, 퍼즐을 시작하기 전에는 한 기둥에 원판들이 작은 것이 위에 있도록 순서대로 쌓여 있다. 게임의 목적은 다음 두 가지 조건을 만족시키면서, 한 기둥에 꽂힌 원판들을 그 순서 그대로 다른 기둥으로 옮겨서 다시 쌓는 것이다. 한 번에 하나의 원판만 옮길 수 있다. 큰 원판이 작은 원판 위에 있어서는 안 된다. 하노이의 탑의 원리(애니메이션) 하노이의 탑 문제는 재귀 호출을 이용하여 풀 수 있는 가장 유명한 예제 중의 하나이다. 그렇기 때문에 프로그래밍 수업에서 알고리즘 예제로 많이 사용한다. 일반적으로 원판이 n개 일 때, 2^n -1(=2의 n승 빼기 1)번의 이동으로 원판을 ..
파이썬 알고리즘 기초 - 재귀함수 알고리즘들 중에는, 재귀 알고리즘 (recursive algorithm) 이라고 불리는 것들이 있습니다. 이것은 알고리즘의 이름이 아니라 성질입니다. 주어진 문제가 있을 때, 이것을 같은 종류의 보다 쉬운 문제의 답을 이용해서 풀 수 있는 성질을 이용해서, 같은 알고리즘을 반복적으로 적용함으로써 풀어내는 방법입니다. 예를 들면, 1 부터 n 까지 모든 자연수의 합을 구하는 문제 (sum(n))는, 1 부터 n - 1 까지의 모든 자연수의 합을 구하는 문제 (sum(n - 1))를 풀고, 여기에 n 을 더해서 그 답을 찾을 수 있습니다. 즉, sum(n) = sum(n - 1) + n 입니다. 1부터 n까지 구하는 문제를 구해보겠습니다. 위와 같이 식이 변경이 됩니다. 우측에 있는 그림을 식으로 쓰면 아래..