Python open() 내장 함수
2023. 3. 1. 16:29
프로그래밍 언어/Python
open() 내장 함수 open 함수는 파이썬의 기본 내장함수이다. 이름을 보면 알 수 있듯이 무언가를 열 때 사용하는 함수이다. 주로 파일을 열어서 읽어오고 저장할 때 주로 사용하게 된다. 기본적으로 with 문을 통해 open() 내장함수를 호출하는 것을 권장하고 있다. with 문을 사용하지 않을 경우 파일 닫기를 스스로 해줘야 해서 불필요하게 코드가 지저분해지기 때문에 with 문을 함께 사용하는 것이 좋다. open() 함수 문법 open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) [주요 파라미터] mode : 파일이 열리는 옵션, 모드 라고 한다. 'r' : 읽..
Python Asterisk(*)
2023. 2. 28. 11:40
프로그래밍 언어/Python
파이썬 asterisk(*) 이란 파이썬에서 asterisk(*) 은 다음과 같은 상황에서 사용된다. 곱셈 및 거듭제곱 연산으로 사용할 때 리스트형 컨테이너 타입의 데이터를 반복 확장하고자 할 때 가변인자(Variadic Arguments) 를 사용하고자할 때 컨테이너 타입의 데이터를 Unpacking 할 때 곱셈 및 거듭제곱 연산으로 사용할 때 곱셈 연산 (*) >>> 2 * 3 6 거듭제곱 연산 (**) >>> 2 ** 3 8 리스트형 컨테이너 타입의 데이터를 반복 확장하고자 할 때 리스트 생성 및 확장 # '0'의 값을 가진 길이가 100인 리스트 생성 lst = [0] * 100 튜플 생성 및 확장 # '0' 의 값을 가진 길이가 100인 튜플 생성 tp = (0,) * 100 가변인자(Varia..
그리디(Greedy) 알고리즘, 탐욕법
2023. 2. 28. 11:03
알고리즘/개념정리
그리디(Greedy) 알고리즘이란 그리디 알고리즘 은 단순하지만 강력한 문제 해결 방법이다. 국내에서는 그리디 알고리즘 을 탐욕법 으로 소개된다. 따라서, 그리디 알고리즘 이란 현재 상황에서 지금 당장 좋은 것만 고르는 방법 을 의미한다. 그리디 알고리즘은 주로 정렬 알고리즘과 짝을 이뤄 출제된다. 그리디 알고리즘 예제 그리디 알고리즘 을 설명하기 위해 간단한 예를 들어본다. 음식점의 계산을 도와주는 점원이 있다. 이때 거스름돈을 거스러줘야 하는데 500원, 100원, 50원, 10원 짜리 동전이 무한히 존재한다고 가정하자. 손님에게 거슬러줘야 하는 돈이 N 원일 때 거슬러줘야 할 동전의 최소 개수를 구하라. 이 문제는 그리디 알고리즘을 풀 수 있는 대표적인 문제라고 한다. 바로 가장 큰 화폐단위부터 돈..
오프셋, offset
2023. 2. 28. 10:53
컴퓨터 과학/개념정리
offset, 오프셋 offset 의 사전적 의미는 상쇄하다, 벌충하다, 차감을 계산하다, 편차 등의 의미로 해석된다. 컴퓨터 과학에서 배열이나 자료 구조 오브젝트 내의 offset 은 일반적으로 동일 오브젝트 안에 처음부터 주어진 요소나 지점까지의 변위차를 나타내는 정수형이다. 예를 들어, “abcdef” 라는 문자열이 있다면 ‘c’ 문자는 ‘a’ 부터 2의 오프셋 을 지닌다고 할 수 있다. 어셈블리어와 같은 저급 프로그래밍 언어에서 오프셋 은 상태 주소(relative address) 로 부른다. 참고 사이트 오프셋 (컴퓨터 과학) - 위키백과, 우리 모두의 백과사전
트리(Tree)
2023. 2. 28. 10:40
컴퓨터 과학/자료구조
트리(Tree) 1개 이상의 유한한 개수의 노드의 집합 루트 노드와 0개 이상의 겹치지 않는 아휘 나무 구조들의 집합으로 이루어짐 용어 정리 노드(node) 와 엣지(edge) 트리 는 전체적으로 노드(node) 와 엣지(edge) 또는 링크(link) 로 표현된다. A, B, C, D, E, F, G 라는 특정 정보가 들어있는 것을 노드라고 한다. 선으로 연결되어있는 것을 엣지라고 부르며 정보들간의 관계를 나타낸다. 따라서, 트리는 기본적으로 노드와 엣지로 구성되어있다. path 엣지에 의해 연결된 노드들의 집합을 말한다. root node 최상위 노드를 말한다. parent, children, siblin, grandparent, ancestor 자기 자신의 노드를 기준으로 아래와 같이 구분할 수 있..
네이버 웹툰 실무 면접 후기
2023. 2. 10. 13:17
제이로그/면접후기
한 달 전 채용 플랫폼을 통해 네이버웹툰의 리크루터에게 데이터 엔지니어에 지원할 생각이 없냐는 연락이 왔다. 나는 네이버웹툰을 정말 좋아했고 가고 싶은 회사 중 하나였기 때문에 고민 없이 지원하겠다고 답을 했고 그렇게 네이버웹툰 데이터 엔지니어 신입으로 지원하게 되었다. 채용 사이트에서 열심히 지원서를 작성하고 제출하고나서 며칠이 지나 연락이 왔다. 지원서 리뷰 전형에 합격했고 이어서 진행되는 코딩 테스트에 대해서 설명해주는 메시지가 왔다. 코딩테스트는 라이브 코딩 테스트 전형으로 진행된다고 해서 쉽지 않겠다는 생각이 들었던 것 같다. 그리고 네이버 웹툰의 경우 메일로 결과 발표가 나는 게 아니라 채용 사이트의 개인 계정으로 연락을 해준다는 점이 신기했던 것 같다. 그렇게 나는 코딩 테스트를 준비하게 되..
OLPT 와 OLAP 에 대해서
2023. 2. 5. 18:03
데이터 엔지니어링/개념정리
OLTP (OnLine Transaction Processing) 복수의 사용자 PC 에서 발생되는 트랜잭션을 DB 서버가 처리하고 그 결과를 요청한 사용자 PC 에 결과를 되돌려주는 과정이라고 한다. 데이터를 처리하는데 중점을 둔다. 데이터를 처리한다고 하면 INSERT, UPDATE, DELETE 를 한다고 보면 된다. 이렇게 OLTP 는 데이터베이스의 최신 데이터를 유지하고 데이터 무결정을 보장한다. 간단하게 말하자면, 데이터 처리에 중점을 두었다는 것! OLAP (OnLine Analytical Processing) 데이터 웨어하우스에 저장된 데이터를 분석하여 사용자에게 유의미한 정보를 제공해주는 처리 방법을 의미한다. 사용자의 의사 결정에 도움을 주는 것으로 데이터 분석, 데이터 마이닝에서 주로..
하둡 에코 시스템(Hadoop Eco System) 에 대해서
2023. 2. 5. 17:07
데이터 엔지니어링/Hadoop
하둡 에코 시스템에 대해서 공부한 내용을 정리해보려고 한다. 하둡 에코 시스템(Hadoop Eco System) 이란 기본적으로 하둡은 HDFS 와 MapReduce, YARN 으로 구성되어있다. 하지만 그 외의 다양한 서브 프로젝트들이 많이 있다. 하둡 에코 시스템은 이러한 서브 프로젝트들의 모임이라고 생각하면 된다. 하둡 에코 시스템에 대한 설명으로 가장 많이 보이는 사진이 있다. 사진을 보면 다음과 같은 에코 시스템이 있는 것을 확인할 수 있었다. 위의 사진에 나오는 사진에서 보이는 여러 서브 프로젝트들이 무엇이고 어떻게 사용되는지에 대해서 정리해보려고 한다. Flume 대용량의 로그를 수집할 수 있도록 여러가지 기능을 제공하는 프로그램이다. Flume 말고도 chukwa, scribe, fleun..