본문 바로가기

분류 전체보기191

2023.01.18 본격적으로 이력서를 내는 등 취업 준비를 시작하며 나중에 스스로 회고를 위해, 혹은 개발자로서 꿈을 꾸는 다른 이들이 자그마한 참고라도 할 수 있도록 오랜만에 글을 써본다. 대학교 3학년 2학기부터 평소 관심있던 개발 분야를 독학하기 시작했다. 유튜브 영상부터 도서까지 간단하게 접근할 수 있는 매체는 대부분 봤다. 이후 4학년 즈음부터 졸업에 집중하며 가능한 한에서 개발 공부를 틈틈히 했다. 졸업이 확정된 순간부터 전문 도서, 인프런 유료 강의 등의 전문 지식을 쌓고 혼자 할 수 있는 간단한 개발 공부를 시작했다. 파이썬이 입문자를 위한 강의라고 들었기에 파이썬으로 입문했으나, 다른 유명한 언어인 C++와 java를 간단하게 공부한 뒤 객체지향적인 언어가 이해하기에도 쉽고 스타일에 맞아 java를 주특기.. 2024. 1. 18.
자료구조 복잡도 시간 복잡도 문제를 해결하는데 걸리는 시간과 입력의 함수 관계를 가리킨다. 빅오 표기법 어떠한 알고리즘의 로직이 얼마나 오랜 시간이 걸리는지를 나타내는데 쓰인다. 입력 범위 n을 기준으로 해서 로직이 몇 번 반복되는지 나타내는 것인데, 가장 영향을 많이 끼치는 항의 상수 인자를 빼고 나머지 항을 없애서 표기한다. 예를 들어 어떤 알고리즘의 복잡도가 10n^2+5n이라면 O(n^2)이 된다. 시간 복잡도는 효율적인 코드로 개선하는 데 쓰이는 척도가 된다. 크게 O(n^2), O(n), O(log n), O(1) 순으로 입력 크기가 커질수록 효율적이다. 공간 복잡도 프로그램을 실행시켰을 때 필요로 하는 자원 공간의 양을 말한다. 정적 변수로 선언된 것 말고도 동적으로 재귀적인 함수로 인해 공간을 계속.. 2023. 10. 31.
조인 조인이란 하나의 테이블이 아닌 두 개 이상의 테이블을 묶어서 하나의 결과물을 만드는 것을 말한다. MySQL에서는 JOIN이라는 쿼리로, MongoDB에서는 lookup이라는 쿼리로 이를 처리할 수 있다. 참고로 MongoDB를 사용할 대 lookup은 되도록 사용하지 말아야 한다. 관계형 데이터베이스보다 성능이 떨어진다고 여러 벤치마크 테스트에서 알려져 있기 때문이다. 따라서 여러 테이블을 조인하는 작업이 많을 경우 MongoDB보다는 관계형 데이터베이스를 써야 한다. 조인의 종류 내부 조인 - 왼쪽 테이블과 오른쪽 테이블 두 행이 모두 일치하는 행이 있는 부분만 표기한다. 두 테이블 간의 교집합이다. 왼쪽 조인 - 왼쪽 테이블의 모든 행이 결과 테이블에 표기된다. 오른쪽 조인 - 오른쪽 테이블의 모든.. 2023. 10. 25.
데이터베이스의 종류/ 인덱스 관계형 데이터베이스(RDBMS) 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스를 가리키며 SQL이라는 언어를 써서 조작한다. 관계형 데이터베이스의 경우 표준 SQL을 지키지만 각각의 제품에 특화시킨 SQL을 사용한다. 예를 들어 오라클의 경우 PL/SQL이라고 하며 SQL Server에서는 T-SQL, MySQL은 SQL을 쓴다. MySQL 대부분의 운영체제와 호환되며 현재 가장 많이 사용하는 데이터베이스이다. C, C++로 만들어졌으며 MyISAM 인덱스 압축 기술, B-트리 기반의 인덱스, 스레드 기반의 메모리 할당 시스템, 매우 빠른 조인, 최대 64개의 인덱스를 제공한다. 대용량 데이터베이스를 위해 설계되어 있고 롤백, 커밋, 이중 암호 지원 보안 등의 기능을 제공하며 많은 서비.. 2023. 10. 25.