CODE

    [SQLite] CREATE, INSERT, DELETE, UPDATE, SELECT, ALTER, DROP

    [SQLite] CREATE, INSERT, DELETE, UPDATE, SELECT, ALTER, DROP

    해당 글은 SQLite3로 가볍게 배우는 데이터베이스를 기반으로 작성했음을 밝힙니다. 글에서의 실습은 DB Browser for SQLite를 활용하여 진행했습니다. SQLite 실습을 하기 위해서는 DB Browser for SQLite를 다운로드해야합니다. 해당 브라우저에서 SQLite를 활용해 데이터베이스를 파일에 기록할 뿐 SQLite의 DB Server 개념이 아닙니다. 실습 진행을 위한 DB Browser는 해당 페이지에서 다운로드했습니다. CREATE 테이블을 정의할 때는 CREATE문을 사용합니다. 테이블을 정의할 때 테이블명은 단수형/복수형 둘 중 하나로 통일(주로, 단수형 권장)해서 사용할 것을 권장합니다. Type 지정: INTEGER, TEXT NN: Null값 허용 Null값을 허..

    [SQLite3] 데이터베이스와 DBMS

    [SQLite3] 데이터베이스와 DBMS

    해당 글은 SQLite3로 가볍게 배우는 데이터베이스와 TCPSchool을 기반을 작성됐음을 밝힙니다. 추가적으로 개발자 인터뷰 대비 Github을 바탕으로 내용을 보완했습니다. 데이터베이스: 컴퓨터에 체계적으로 저장한 데이터 DBMS: 데이터베이스를 관리하는 시스템, 데이터베이스를 관리하는 별도의 미들웨어(응용 프로그램 X) => 2개의 용어는 크게 구분하지 않습니다. 파일 시스템 < 데이터베이스의 특징 파일 시스템의 단점 보완 = 데이터베이스를 사용하는 이유 파일 시스템의 단점: 중복 데이터가 많이 발생하고, 데이터의 일관성이 떨어지며 보안, 백업/복구가 불편한 문제가 있습니다. 즉, 데이터 종속성, 중복성, 무결성의 이슈가 있습니다. 데이터의 모델링, 무결성, 다수 사용자를 위한 동시성 제어 등을 ..

    [Programmers] 스택/큐 - 기능개발

    해당 글은 프로그래머스의 스택/큐 파트에 해당하는 문제를 풀고 공부하는 과정에서 작성한 글입니다. 틀린 부분이 있으면 댓글로 알려주세요! 감사합니다. 프로그래머스 기능개발 - http://https://programmers.co.kr/learn/courses/30/lessons/42586 문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 ..

    [Programmers] 스택/큐 다시풀기

    보호되어 있는 글입니다.

    [Python] assert

    해당 글을 작성하면서 아래 블로그와 위키독스 내용을 참고했음을 밝힙니다. 방어적 프로그래밍 - http://statkclee.github.io/xwmooc-sc/novice/python/05-defensive.html 연오의 파이썬 - https://python.bakyeono.net/chapter-9-4.html 핵심만 간단히, Hello World! - https://wikidocs.net/21050 데이터캠프 강의에서 engineering을 공부하다가 assert 라는 python 함수를 마주했습니다. raise랑 무슨 차이지하면서 찾은 내용을 정리해보겠습니다. assert는 가정 설정문입니다. assert는 아래 코드처럼 assert [조건문], [메시지](생략가능)과 같은 형식으로 사용됩니다. ..

    [Programmers] 이분탐색 - 입국심사

    문제 설명 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 명만 심사를 할 수 있습니다. 가장 앞에 서 있는 사람은 비어 있는 심사대로 가서 심사를 받을 수 있습니다. 하지만 더 빨리 끝나는 심사대가 있으면 기다렸다가 그곳으로 가서 심사를 받을 수도 있습니다. 모든 사람이 심사를 받는데 걸리는 시간을 최소로 하고 싶습니다. 입국심사를 기다리는 사람 수 n, 각 심사관이 한 명을 심사하는데 걸리는 시간이 담긴 배열 times가 매개변수로 주어질 때, 모든 사람이 심사를 받는데 걸리는 시간의 최솟값을 return 하도록 solution 함수를 작성해주세요. 제한사항 입국심사..

    [Ubuntu] 듀얼부팅 세팅하기

    [Ubuntu] 듀얼부팅 세팅하기

    가짜연구소의 수업을 들으면서 리눅스를 결국 계속 마주해야하는구나.. 공부할 때 그래! PC 카카오톡을 포기하자!는.. 결정이 내려졌습니다..! 카카오톡도 wine과 입력기를 바꿔서 결국.. 사용 중입니다. 헿 Ubuntu 설치 파일 다운로드 설치하고자하는 OS는 Ubuntu이므로, Ubuntu 공식 홈페이지에서 설치 파일을 다운 받습니다. ISO 이미지를 다운받는 것입니다. Ubuntu 설치: https://ubuntu.com/download/desktop 아래처럼 홈페이지에 접속하면 20.04.3 LTS와 21.04 버전이 있습니다. LTS는 2년 마다, 아래 버전은 6개월마다 버전 업데이트가 이뤄지기 때문에 LTS 버전이 좀더 트러블슈팅하기에 편합니다. 좀더.. 안정화된 버전으로 볼 수 있습니다..?..

    [Doit! Python] 검색 알고리즘

    교재: Do it! 자료구조와 함께 배우는 알고리즘 입문 파이썬편 검색 알고리즘 검색 알고리즘이란? 검색과 키 대부분의 키는 데이터의 일부 검색의 종류 배열 검색 선형 검색 무작위 데이터 집합에서 검색 수행 이진 검색 일정 규칙을 늘어놓은 데이터 집합에서 빠름 해시법 추가/삭제가 자주 일어나는 데이터 집합에서 빠름 체인법 - 같은 해시값 데이터를 연결 리스트로 연결하는 방법 오픈 주소법 - 데이터를 위한 해시값이 충돌할 때 재해시하는 방법 연결 리스트 검색(8장) 이진 검색 트리 검색(7장) 따라서, 용도/목적/실행 속도/자료구조 등 여러 사항을 고려해서 알고리즘을 선택해야한다. 선형 검색 원하는 키값을 가진 원소를 찾을 때까지 맨 앞부터 스캔하여 순서대로 검색하는 알고리즘 배열에 원하는 값이 존재할 때..