DCL : Data Control Language , 데이터 제어어 - 데이터의 보안, 무결성, 회복, 병행 제어 등을 정의하는데 사용하는 언어 - DCL은 데이터베이스 관리자 (DBA)가 데이터 관리를 목적으로 사용 COMMIT : 명령에 의해 수행된 결과를 실제 물리적 디스크로 저장하고, 데이터베이스 조작 작업이 정상적으로 완료되었음을 관리자에게 알려줌. / 트랜잭션 처리가 정상적으로 완료된 후, 트랜잭션이 수행한 내용을 데이터베이스에 반영하는 명령어. ROLLBACK : 데이터베이스 조작 작업이 비정상적으로 종료되었을 때 원래의 상태로 복구함 GRANT : 데이터베이스 사용자에게 사용 권한을 부여함 REVOKE : 데이터베이스 사용자 권한을 취소함 SAVEPOINT : 트랜잭션 내에 ROLLBACK..
전체 글
Data Engineering과 Cloud Native 기술에 대해 Dive Deep 하는 만능 플랫폼 엔지니어가 되는 것을 목표로 하고 있습니다. 경험했던 내용과 공부했던 내용을 기록합니다. 🐻❄️☁️1. DDL (Data Defined Lanauge, 데이터 정의어) DDL은 DB구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어 CREATE : SCHEMA, DOMAIN, TABLE, VIEW, INDEX 를 정의함 ALTER : TABLE에 대한 정의를 변경하는데 사용함 DROP : SCHEMA, DOMAIN, TABLE, VIEW, INDEX 를 삭제함 2. CREATE SCHEMA CREATE SCHEMA 스키마명 AUTORIZATION 사용자_id; CREATE SCHEMA 대학교 AUTHORIZATION minjee; 소유권자의 사용자 id 가 minjee 인 스카마 '대학교' 를 정의하는 sql 문 3. CREATE DOMAIN CREATE DOMAIN ..
re.sub re 모듈에 있는 sub() 함수는 문자열 조작에 사용할 수 있다. re.sub(정규표현식, 치환문자, 대상 문자열) text = "hello HELLO, my name is minjee. I woke up early today." 이런 문자열이 있고 여기서 ',' 와 '.' 를 제거해야하는 경우 text_mod = re.sub(r'[^\w]', ' ', text) hello HELLO my name is minjee I woke up early today 이렇게 바꿀 수 있다. 정규표현식에서 ^ 는 not 을 의미하고 \w는 문자열를 의미한다. 즉 위의 코드는 문자에 해당하지 않는 것들을 공백열로 바꿔주고 있다. 그렇다면 파이썬 정규표현식은 무엇일까 ? 파이썬에서 문자열의 일정한 패턴을 표..
defaultdict Python의 collections 모듈에 defaultdict이 있다. 코딩테스트 풀때, 딕셔너리가 필요한 문제 풀 때 굉장히 편리하다 일반 딕셔너리는 key 값을 미리 넣어주지 않았다면 value에 대한 연산을 할 때 KeyError 에러가 난다. words = ["apple", "apple", "iphone", "mac", "mac", "mac"] dict_temp = {} dict_temp[words[0]] += 1 그렇다보니 defaultdict을 모르기 이전에는 이런식으로 코드를 짠 것 같다 for word in words: if word in dict_temp.keys(): dict_temp[word] += 1 else: dict_temp[word] = 1 이런 번거로움..
https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 핵심 알고리즘 - 단어에서 알파벳은 하나씩만 바꿀 수 있으므로, begin 단어의 길이가 n이라고 했을 때 현재 확인하는 단어의 동일한 알파벳이 n-1 개 인지 체크해야 한다 - bfs 를 이용해서 풀면 최소 단계를 카운트 하기 편하다 !! queue에 step 을 저장하고 새로 업데이트 될때마다 step+1 해주면된다. from collections import deque def solution..
import math n = 1000 # 2 ~ 1000 까지의 모든 소수 array = [True]*(n+1) # 아리스토테네스의 체 for i in range(2, int(math.sqrt(n))+1): # 제곱수까지만 확인한다 if array[i]: j = 2 while i*j < n: # n 보다 작은 모든 i의 배수를 지운다 array[i*j] = False j += 1 for i in range(2, n+1): if array[i]: print(i, end=" ")
선언형 언어 : 프로그래밍이 수행해야할 문제를 기술하는 언어. 목표를 명시하고 알고리즘은 명시하지 않는다 - 함수형언어 ex) LISP - 논리형언어 ex) PROLOG 명령형 언어 : 문제를 해결하기 위한 방법을 기술하는 언어 ex) FORTRAN, COBOL, C, Java.. 선언형 언어의 종류 HTML LISP PROLOG XML Haskell 라이브러리 : 자주 사용하는 함수나 데이터들을 미리 만들어 모아놓은 집합체 C++ 에서 생성자 : 객체 변수 생성에 사용되는 메소드로 객체 변수를 생성하면서 초기화를 수행한다 Java 표준 라이브러리 java.lang : 자바에 기본적으로 필요한 인터페이스 자료형. 예외처리 등 관련한 기능 제공 String, System, Process, Runtime, ..
class Solution: def isPalindrome(self, s: str) -> bool: # 예외 처리 if s == " ": return True s = s.lower() # 소문자로 변환 new_str = "" for i in s: if i.isalnum(): new_str += i n = len(new_str) for i in range(n // 2): if new_str[i] != new_str[n - i - 1]: return False return True