분류 전체보기

    [Clean Code]클린코드_4_주석

    잘 달린 주석은 그 어떤 정보보다 유용하다. 경솔하고 근거없는 주석은 코드를 이해하기 어렵게 만든다. 오래되고 조잡한 주석은 거짓과 잘못된 정보를 퍼뜨려 해악을 미친다. 사실상주석은 기껏해야 필요악이다. 우리에게 프로그래밍 언어를 치밀하게 사용해 의도를 표현할 능력이 있다면, 주석은 전혀 필요하지 않을 것이다. 우리는 코드로 의도를 표현하지 못해, 그러니까 "실패"를 만회하기 위해 주석을 사용한다. 주석은 언제나 실패를 의미한다. 때때로 주석없이는 자신을 표현할 방법을 찾지 못해 할 수 없이 주석을 사용한다. 프로그래머들이 주석을 엄격하게 관리해야 한다고, 그래서 복구성과 관련성과 정확성이 언제나 높아야 한다고 주장할지도 모르겠다. 하지만 차라리 코드를 깔끔하게 정리하고 표현력을 강화하는 방향으로, 그래..

    [Clean Code]클린코드_3_함수

    함수를 만드는 규칙은 다음과 같다. [ 작게 만들어라 ] 함수는 작을 수록 더 좋다. 이에 대한 정확한 근거나 자료를 제시하기 어렵지만 많은 프로그래머들이 개발을 하며 오래 시행착오 끝에 작은 함수가 좋다고 생각한다고 한다. if/else문 , while문 등에 들어가는 블록은 한 줄이어야 한다. 대게 여기서 함수를 호출한다. 이 말은 중첩 구조가 생길 만큼 함수가 커져서는 안 된다는 뜻이다. 그래야 함수를 읽고 이해하기 쉬워진다. ( switch문은 기본적으로 작게 만들기가 어렵다. switch문을 완전히 피할 방법은 없다..) [ 한 가지만 해라 ] 함수는 한 가지를 해야한다. 지정된 함수 이름 아래에서 추상화 수준이 하나인 단계만 수행한다면 그 함수는 한 가지 작업만 하는 것이다. 함수가 확실히 '..

    [Clean Code]클린코드_2_의미있는 이름

    프로그래머가 많은 고민을 하는 부분이 바로 이름을 붙이는 것이다. 우리는 변수에도 이름을 붙이고, 함수에도 이름을 붙이고, 인수와 클래스와 패키지에도 이름을 붙이다. 소스파일에도 이름을 붙이고, 소스 파일이 담긴 디렉토리에도 이름을 붙인다. 이처럼 이름을 붙이는 일이 많으므로 이름을 잘 지으면 가독성도 높아지고 용도도 쉽게 파악이 가능해 이름을 잘 짓는 것이 중요하다. 우리들 대다수는 자신이 짠 클래스 이름과 메서드 이름을 모두 암기하지 못한다. 암기는 요즘 나오는 도구에게 맡기고, 우리는 문장이나 문단처럼 읽히는 코드 아미녀 적어도 표나 자료 구조 처럼 읽히는 코드를 짜는 데만 집중해야 한다. 다음에 소개한 규칙 몇 개만 적용해도 코드 가독성이 높아지는것을 확인할 수 있을 것이다. [ 의도를 분명히 밝..

    [Clean Code]클린코드_1_깨끗한 코드

    #깨끗한 코드를 짜야하는 이유 나쁜 코드는 개발 속도를 크게 떨어트린다. 예를 들어 2-3년 넘게 남들이 짜 놓은 나쁜 코드(가독성이 안 좋거나 등등)를 이어받아 프로그램을 짜는 경우 얽히고설킨 코드를 '해독'하는 데에만 시간이 많이 소비될 것이다. 또한 나쁜 코드는 팀 생산성을 떨어트린다. 이를 해결하고자 재설계를 한다고 해도 거기에 따른 시간과 비용이 또 상당할 것이다. 따라서 언제나 코드를 최대한 깨끗하게 유지하는 습관이 중요하다. [ 보이스카우트 규칙 ] 미국 보이스카우트가 따르는 간단한 규칙이 있다. "캠프장은 처음 왔을 때보다 더 깨끗하게 해놓고 떠나라." 마찬가지로 체크아웃할 때보다 좀 더 깨끗한 코드를 체크인한다면 코드는 절대 나빠지지 않고 시간이 지날수록 코드가 좋아질 것 이다.

    [SQL]DDL (테이블 생성 & 추가 & 수정 & 삭제)

    [SQL]DDL (테이블 생성 & 추가 & 수정 & 삭제)

    📌테이블 생성 테이블을 생성, 변경 및 삭제 할때는 DDL(Data Definition Language)을 사용해야 한다. 테이블을 생성할 때는 CREATE TABLE 문법을 사용한다. 이 구문은 DBMS에 따라 다르기 때문에 각자가 사용하는 DBMS 설명서를 참고해야 한다. 💡일반적으로 테이블 생성하는 방법 CREATE TABLE 생성할 테이블명 ( 열 이름 데이터 형식(크기) NOT NULL, 열 이름 CHAR (10) PRIMARY KEY, 열 이름 CHAR (10) NOT NULL REFERENCES 테이블1 (테이블1 고유키), 열 이름 INTEGER NOT NULL DEFAULT 1, 열 이름 VARCHAR(100) NULL ); 테이블을 만들려면 기본적으로 생성할 테이블명, 그에 속할 열 이..

    [SQL]DML(데이터 삽입 & 수정 & 삭제)

    [SQL]DML(데이터 삽입 & 수정 & 삭제)

    📌 데이터 삽입 (INSERT) 데이터를 삽입하는 종류는 여러 개가 있다. 데이터 전체 행을 삽입하거나 일부만 삽입할 수 있고 SQL 결과문을 삽입할 수도 있다. 데이터 전체 행을 삽입하는 방법은 열 이름을 지정하지 않고 삽입하는 방법과 열 이름을 지정한 후 삽입하는 방법으로 나눌 수 있다. 열 이름을 지정하지 않고 삽입하는 방법은 코딩을 짧게 해도 된다는 장점이 있는 반면 데이터를 삽입하는 값의 순서가 변경될 경우 테이블이 망가질 수 있는 위험이 있다. 그에 반해 열 이름을 지정한 후 행전체를 삽입하는 방법은 열 이름을 지정하기 때문에 코딩을 길게 해야 한다는 단점이 있지만 순서에 따라 값 매칭이 잘되었는지 확인할 수 있고 오류도 적다. 행의 일부분만 삽입할 때도 동일한 문법을 사용한다. 'SELECT..

    SQL 하위 쿼리(Sub-query)

    SQL 하위 쿼리(Sub-query)

    하위 쿼리(Sub-query)란 하나의 SQL문장에 속하는 또 다른 SQL문장으로, 두 번 이상의 질의를 통해 얻을 수 있는 결과를 한 번의 질의로 해결할 수 있다. 하위 쿼리를 사용하면 복잡한 SQL문장도 간단히 만들 수 있고, DBMS의 데이터 처리 속도도 빠르게 향상시킬 수 있다. FROM절의 하위 쿼리 실무에서 하위 쿼리를 사용할 때는 FROM절에서 크게 두 가지의 용도로 나눌 수 있다. 첫 번째는 조건에 맞는 대상자를 선정한 후 요약할 때 사용되고, 두 번째는 조인할 때 사용된다. 첫 번째 용도로 하위쿼리를 사용할 때는 하위 쿼리를 작성한 후 테이블 별칭을 꼭 주어야 한다. 이때 테이블 별칭을 주지 않으면 에러가 발생한다는 점이다. 테이블 별칭을 줄 때 AS 키워드를 사용해도 되고 생략해도 된다..

    SQL 테이블 합치기 (조인과 집합)

    SQL 테이블 합치기 (조인과 집합)

    조인(JOIN): 열(Column) 합치기 내부 조인(INNER JOIN) 내부조인은 `교집합`이라 생각하면됩니다. 내부 조인은 두 개 이상의 테이블에서 관련된 데이터를 결합하여 검색하는데 사용되는 조인 유형입니다. 내부 조인은 조인 조건에 맞는 행만 반환하며, 조인 조건에 맞지 않는 행은 제외됩니다. 내부 조인을 하는 방법은 다음과 같이 두 가지가 있습니다. 1. FROM / WHERE SELECT column1, column2, ... FROM table1, table2 WHERE table1.column = table2.column; 2. INNER JOIN ⭐ ⭐ ⭐ SELECT column1, column2, ... FROM table1 (INNER) JOIN table2 ON table1.co..