목록Development (561)
컴공생의 다이어리
클래스(class), 객체(object), 인스턴스(instance) 차이 클래스란 객체를 정의하고 만들어 내기 위한 설계도 혹은 틀을 말한다. 클래스 안에는 객체를 만들어내기 위해 필요한 변수와 메서드들이 존재한다. 객체란 클래스에 선언된 모양 그대로 생성된 실체를 말하며 '클래스의 인스턴스'라고 부른다. 인스턴스란 클래스를 통해서 구현해야할 대상(객체)이 실제로 구현된 구체적인 실체를 말한다. 예를들어 붕어빵을 만든다고 상황을 가정해보자. 여기서 클래스는 붕어빵을 만들기 위한 틀이 되고 객체는 붕어빵이다. 그리고 인스턴스는 붕어빵 틀로 찍어낸 각각의 붕어빵이다. 팥붕어빵과 슈크림붕어빵은 같은 타입의 객체이지만, 인스턴스 관점으로 보았을 때는 다르다. https://victor8481.tistory.c..
트랜젝션 제어어(TCL, Transaction Control Language) 트랜젝션 제어어는 데이터 조작어(DML) 명령어 실행, 취소, 임시저장할 때 사용하는 명령어이다. 트랜젝션(Transaction)은 분할할 수 없는 최소 단위이며 논리적인 작업 단위이다. 실행(COMMIT) 실행(COMMIT)은 모든 작업을 최종 실행하는 명령어이다. /* 실행 */ COMMIT; 취소(ROLLBACK) 취소(ROLLBACK)은 모든 작업을 되돌리는 명령어이다. /* 취소 */ ROLLBACK; /* 특정 SAVEPOINT로 돌아가려면 */ ROLLBACK TO 임시저장_이름; 임시저장(SAVEPOINT) 임시 저장(SAVEPOINT)은 ROLLBACK 저장점을 지정하는 명령어이다. /* SAVEPOINT 지정..
데이터 제어어(DCL, Data Control Language) 데이터 제어어는 데이터베이스 관리자(DBA)가 특정 사용자(User)에게 데이터 접근 권한 부여 및 제거할 때 사용하는 명령어이다. 권한 부여 및 제거 권한을 부여할 때는 GRANT문을 사용하고 권한을 제거할 때는 REVOKE문을 사용한다. 형식은 GRANT/REVOKE 권한 ON 테이블이름 TO/FROM 특정사용자;이다. /***************권한 부여 및 제거***************/ /** 권한: CREATE, ALTER, DROP, INSERT, DELETE, UPDATE, SELECT 등 **/ /* 특정 권한 부여 */ GRANT SELECT, DELETE ON PRACTICE.회원테이블 TO 'TEST'@LOCALHO..
백준 1181번 : 단어 정렬 (문제 바로가기) 내 코드 import sys n = int(input()) word_list = [] for _ in range(n): word_list.append(sys.stdin.readline().strip()) word_list = list(set(word_list)) # 중복 제거 word_list.sort(key = lambda x: (len(x), x)) # 정렬 result = "\n".join(word_list) print(result)
프로그래밍을 할 때, 변수나 클래스명을 지을 때, 두가지 이상의 단어를 조합할 때 아래와 같은 케이스를 적용할 수 있다. 스네이크 케이스(Snake Case) snakae_case 언더바(_)를 사용해 단어의 의미를 구분해준다. 언더바가 들어 있는 표현 방식을 뱀처럼 생겼다고 하여 스네이크 케이스라고 한다. 카멜 케이스(Camel Case) camelCase 중간 글자들은 대문자로 시작하지만 첫 글자가 소문자인 경우에는 낙타와 모양이 비슷하다하여 카멜 케이스라고 한다. 케밥 케이스(Kebab Case) kebab-case 케밥 케이스는 케밥이 꼬챙이에 꽂힌 모습에서 생긴 방법이다. 모든 단어가 소문자로 되어 있고, 단어와 단어 사이는 바(-)로 연결된다. 파스칼 케이스(Pascal Case) Pascal..
파이썬 2차원 배열 초기화 파이썬에서 2차원 배열을 초기화하려면 아래 방법을 사용해야 한다. # N*M 크기의 2차원 배열 n = 5 m = 2 arr = [[0]*m for _ in range(n)] # [[0,0],[0,0],[0,0],[0,0],[0,0]] 만일, 아래와 같이 배열을 초기화 한다면 값을 하나 변경했을 때 의도하지 않은 것까지 변경될 수 있다. # N*M 크기의 2차원 배열 n = 5 m = 2 arr = [[0]*m]*n arr[0][0] = 5 # [[5,0],[5,0],[5,0],[5,0],[5,0]]
깃허브 리포지토리(Repository) 합치기 깃허브 여러개의 리포지토리를 하나로 합치는 방법에 대해 정리하고자 한다. 1. 일단 깃허브에서 기존 리포지토리들을 합칠 새로운 리포지토리를 하나 생성한다. 2. 그런 다음 생성한 리포지토리를 git clone 명령어를 통해 로컬에 clone한다. 3. clone한 폴더로 이동한 뒤 git bash창을 열어준다. 4. subtree를 이용하는 아래 명령어를 통해 리포지토리를 합쳐준다. git subtree add --prefix=(해당 Repository 하위의 디렉터리 구조) (옮겨올 Repository 주소) (옮겨올 Repository의 branch) 5. git push를 해준다. https://hanco.tistory.com/9 깃허브 리포지토리(Re..
데이터 조작어(DML, Data Manipulation Language) 데이터 조작어는 데이터를 삽입(INSERT), 조회(SELECT), 수정(UPDATE), 삭제(DELETE)할 때 사용하는 명령어이다. 데이터 삽입(INSERT) 데이터 삽입할 때는 INSERT INTO 문과 함께 VALUES 절을 사용하여 해당 테이블에 새로운 레코드를 추가할 수 있다. 아래의 방법으로 데이터를 삽입가능한데 첫번째 방법의 경우 필드이름들을 괄호 안에 넣고 VALUES 뒤에 괄호안에 데이터 값들을 넣으면 앞서 써놓은 필드이름들에 매핑되어 값들이 들어간다. 두번째 방법의 경우 필드의 이름을 생략했는데, 이때는 데이터베이스의 스키마와 같은 순서대로 필드의 값이 자동으로 대입된다. /***************데이터 삽입..
MySQL WorkBench - SQL 실행 단축키 ▶ 1개의 SQL문 실행 커서가 있는 1개의 SQL문을 실행 시키려면 [Ctrl+Enter]키를 누르면 된다. ▶ 여러개(다중) SQL문 실행 실행하고자 하는 SQL문들의 영역을 드래그한 후 [Ctrl+Shift+Enter]키를 누르면 된다. ▶ SQL창의 전체 모두 실행 SQL창의 모든 SQL문을 실행시키려면 아무것도 선택하지 않고 [Ctrl+Shift+Enter]키를 누르면 된다. https://ngg3319.tistory.com/123 MySQL Workbench 단축키(shortcuts) ■ 에디터에서 세미클론(;)으로 분리된 쿼리 실행 Ctrl + Enter (Ctrl키 + Enter키) ■ 세미클론(;)으로 분리된 쿼리 다중(여러개) 실행 C..
데이터 정의어(DDL, Data Definition Language) 데이터 정의어는 테이블을 정의(생성, 변경, 삭제)할 때 사용하는 명령어이다. 테이블, 데이터 타입 테이블은 각 열마다 반드시 1가지 데이터 타입으로 정의되어야 한다. ▶ 숫자형 ▶ 문자형 ▶ 날짜형 테이블, 제약조건 테이블은 각 열마다 제약 조건을 정의할 수 있다. PK(Primary Key) : 중복되어 나타날 수 없는 단일 값 : NOT NULL NOT NULL : NULL을 허용하지 않음 /* Practice 이름으로 데이터베이스 생성*/ CREATE DATABASE Practice; /* Practice 데이터베이스 사용*/ USE Practice; /***************테이블 생성(Create)*************..