본문 바로가기

전체 글43

if문과 true&false * 2022년 9월 13일 velog에 작성했던 게시글을 옮겨온 글입니다. 일반적으로 프로그래밍 언어에서는 1을 true(참)으로 0을 false(거짓)로 여긴다. 일부 언어에서는(C++, Python 등)에서는 True, False(첫 글자가 대문자)라고 쓰기도 한다. 자바스크립트는 0, 1, true 그리고 false 말고도 더 많은 판단 기준이 존재한다. 어떤 값이든 존재만 한다면 true로 간주하고, 그렇지 않은 경우는 false로 간주된다. 참, 거짓의 판단이 중요한 이유는 조건문에서 아주 빈번하게 사용되는 기준이기 때문이다. 조건문 안의 값이 true이면 다음의 명령문(statement)을 실행하고, false이면 실행되지 않는다. 고로 앞서 나열한 네 가지 기준 말고 여러 경우를 알고 있다면.. 2022. 12. 31.
배열의 typeof는 Object이다 * 2022년 7월 21일 velog에 작성했던 게시글을 옮겨온 글입니다. 첫 언어로 자바를 선택해서 학습을 하다가 자바스크립트를 배우고 있는데 각각의 배열이 서로 다르다는 것을 알게 됐다(충격). 자바의 배열에는 같은 자료형이 요소로 들어가야 하고, 자료형 또한 배열이라고 출력된다. 그러나 자바스크립트의 배열은 배열이 아니다. 자바스크립트로 배열을 선언하고 typeof로 자료형을 찾으면 Object라고 보여준다. 즉, 배열이 아니고 객체가 자료형이라는 말이다. 내가 선언한 것은 무조건 배열인데 객체라고 나오는 이유를 이해하지 못해서 찾아보니 언어의 특성이었다. 자바스크립트에서의 배열에는 어떤 자료형도 요소가 될 수 있고 동시에 다른 자료형을 가진 요소들이 함께 들어갈 수도 있다. 또 다른 자료형 중 하.. 2022. 12. 31.
커밋 내역 관리를 위한 git merge, rebase, squash 공동 작업 혹은 버전 관리를 위해 커밋 내역을 깔끔하게 해야 한다고들 한다. 개인적으로는 혼자서 하는 작업이라도 커밋 내역을 알아보기 쉽게 관리하는 습관을 들이는 것이 중요하다고 생각한다. 어제 내가 작성한 코드도 기억이 잘 나지 않는데 몇 달 전 남긴 커밋들이 과연 어떤 작업들이었는지 한눈에 알아볼 수 있을까. 의미 있는 커밋을 남기고 메시지를 직관적으로 작성하며 내역을 관리하는 것은 아주 중요하다. 커밋 내역을 관리하기 위한 방법은 여러가지가 있다. 나는 보통 squash를 사용하여 의미 없는 커밋들을 합하고 rebase 하여 일렬로 커밋들을 정렬했다. merge 커밋이 남지 않기 때문에 깔끔하고 구현 순서를 의도에 따라 정렬할 수 있어 좋다고 생각했기 때문이다. 인턴쉽을 진행했던 기업에서는 reba.. 2022. 12. 22.
Mac에서 JDK 제거하기 JDK8을 설치했다가 JDK11을 사용할 일이 있어서 기존 Kit를 제거하기로 했다. $ cd /Library/Java/JavaVirtualMachines/ $ ls $ sudo rm -rf jdk1.8.0_341.jdk JDK가 존재하는 경로로 이동하여 sudo 명령어로 강제 삭제 해준다. $ java -version The operation couldn’t be completed. Unable to locate a Java Runtime. Please visit http://www.java.com for information on installing Java. 터미널에 java -version을 치면 깔끔하게 삭제된 것을 확인할 수 있다. 2022. 12. 17.
콜백 지옥에 이은 join 지옥 필요한 형태의 데이터를 불러오기 위해 불가피하게 여러 테이블을 join 해야 하는 경우가 있다. 예를 들어 3개의 테이블을 join 하여 조회할 때 3개의 테이블에 포함된 모든 데이터를 조회해야 한다. 즉, join을 하는 수가 많아질 경우 더 많은 데이터를 조회해야 한다는 의미이다. 이는 속도의 저하를 불러온다. Join Algorithm join은 데이터 베이스에서 두 개 이상의 테이블을 엮어서 관련된 데이터를 가져오는 작업을 수행하는 SQL 구문이다. 여러 테이블에 한 번에 접근할 수 없으므로 어떤 테이블부터 접근할지 결정하는 방법이 존재한다. 그 방법이 바로 Join Algorithm이다. MySQL에는 Nested loop join, Block nested loop join, Batched ke.. 2022. 12. 14.
DB와 DBMS의 차이점 DB, DataBase, DBMS, DB Application 그리고 DBS 등 데이터 관련 여러가지 용어들이 있다. 대개 DB와 DBMS의 차이점까지는 알고 있는 사람들이 많을 것이다. 기술면접 질문에 종종 나오기 때문이다. 그렇다면 나머지 용어들은 어떤 개념일까. 정확하게 구분해서 알아보자. DB (DataBase) 한마디로 정리하면 데이터들의 집합이다. 마구잡이로 저장된 형태가 아닌 정리되어 체계화된 데이터의 모음을 저장하고 있는 공간을 말한다. 크게 관계형 데이터 베이스와 비관계형 데이터 베이스로 나눌 수 있다. 관계형 데이터 베이스는 일반적으로 표 형태의 테이블로 구성되며, 데이터 간의 관계를 정의할 수 있다. DBMS (DataBase Management System) DB를 관리하고 운영하.. 2022. 12. 14.