목록Sparta Coding Club (23)
취미가 좋다
웹 보안에 대해서 알아보자. 보안이 왜 필요할까? 통신이 이루어질 때 데이터가 암호화되어 있지 않다면 다른 사람이 가로채서 보거나 데이터를 조작할 수 있다. 그래서 개인정보를 보호하기 위해 웹 보안이 필요하다. 보안을 지키기 위해 필요한 3가지 기밀성 (Confidentiality) 내 정보를 탈취되지 않도록 하는 것 무결성 (Integrity) 내 정보가 조작되지 않았다는 것을 증빙하는 것 인증 (Authentication) 권한이 있는 사람에게만 정보에 접근할 수 있는 것 암호 관련 용어 암호화 (Encryption) 특정 방법을 통해 평문을 암호문으로 변경하는 작업 복호화 (Decryption) 암호화 된 문구를 해독하여 평문으로 변경하는 작업 평문 (Plaintext) 일반인 누구나 읽을 수 있는..
1. 이름 정하기 길어도 되므로 의미(의도) 전달이 되도록 한다. 의미를 전달할 때, 인자를 활용해도 좋다. 함수의 역할이 get adults from people 에서 def get_adults(people) 로 이름을 짓는다. bool 결과를 내는 함수는 is_ 를 보통 사용한다. (ex. is_full( )) 상수는 대문자 변수에 저장한다. 과도한 줄임말을 쓰지 않는다. 2. 함수 함수를 너무 길게 작성하지 않는다. 추상화 수준이 낮은 코드들을 묶어서 추상화 수준을 높게 표현하면 가독성이 올라간다. 디테일한 부분을 숨긴다. 같은 역할을 하는 코드들을 모아 함수로 만든다. 과도하게 중복된 if문은 실수를 발생시킬 수 있기 때문에, 빠르게 if문을 빠져나오는 early return을 사용한다. 주석 없..
1. 트랜잭션 DBMS 에서 데이터를 다루는 논리적인 작업의 단위 연산(쿼리)을 묶어서 진행하고 싶을 때 사용 1.1 Commit 모든 작업을 정상적으로 처리하겠다고 확정하는 명령어 COMMIT 수행하면, 하나의 트랜잭션 과정을 종료 1.2 Rollback 작업 중 문제가 발생했으니, 되돌리자는 명령어 트랜잭션으로 인한 하나의 묶음 처리가 시작되기 이전의 상태로 되돌린다. 즉, 이전 COMMIT한 곳까지만 복구한다. 2. 트랜잭션 성질 ACID 2.1 원자성 (Atomicity) 트랜잭션이 데이터베이스에 모두 반영되던가, 아니면 전혀 반영되지 않아야 한다는 것을 의미 All or Nothing 2.2 일관성 (Consistency) 트랜잭션의 작업 처리 결과가 항상 일관성이 있어야 한다. 데이터가 우리가..
1 DISTINCT & AGGREGATE 1.1 DISTINCT SELECT DISTINCT name FROM student; student에서 name 필드의 값들을 가져올 때, 중복된 것은 하나만 가져온다. 1.2 AGGREGATE 집합(여러 값)들에 대해 동작하는 함수이다. 아래의 COUNT, MIN, MAX, SUM, AVG 이 있다. 1.3 COUNT() SELECT COUNT(name) FROM student; SELECT COUNT(*) FROM student; SELECT COUNT(DISTINCT name) FROM student; student 테이블에서 null 이 아닌 name 의 개수를 반환 student 테이블에서 null 이 아닌 레코드 의 개수를 반환 student 테이블에서..
1. DB 연관 관계 관계형 데이터베이스는 테이블끼리 관계를 맺을 수 있다. 관계는 논리적으로 연관이 있는 두 테이블 사이의 연결을 설정한다. 테이블 구조를 정제하고 중복 데이터를 최소화하는 것을 도와준다. 1.1 1:1 관계 하나의 테이블이 상대 테이블과 반드시 단 하나의 관계를 가지는 것 하나의 테이블에 데이터를 다 넣지 않는 이유는 아래와 같다. 너무 많은 칼럼들이 있을 때 보안상 민감한 정보가 있을 때 1.2 1:N 관계 한 쪽 테이블의 레코드가 관계를 맺은 테이블의 여러 레코드와 연결된다는 것 외래키를 이용하고, 부모와 자식 관계라고도 한다. 1.3 N:N 관계 양쪽 엔티티 모두에서 1:N 관계를 가지는 것 두 테이블의 대표키를 컬럼으로 갖는 연결 테이블을 생성해서 관리한다. 2. 연관 관계 실..
1. Use Database & Create Table & DataType use {데이터베이스 이름} create table {테이블 이름} ( column_name datatype [제약조건], column_name datatype [제약조건] ... ) 테이블과 행을 생성한다. use 대신, DBMS 연결 시 데이터베이스 설정을 하는 것이 더 편하다. DBMS에 오른쪽 마우스, Edit Connetction Database 입력 및 저장 테이블 이름을 정하는 규칙 규칙 좋은 예 나쁜 예 단수형 단어를 사용한다. user, role users , roles _ 로 구분한다. user_has_role 소문자를 사용한다. user_has_role User_has_role datatype 타입 종류 숫자 ..