본문 바로가기

분류 전체보기

(35)
[1부] 01장 코딩 인터뷰 코딩 인터뷰: 오프라인 면접장에서 화이트보드를 이용해 후보자의 기술 지식, 코딩 능력, 문제 해결 역량, 창의성 등을 테스트하는 것. 구분 1) 코딩 인터뷰 vs 코딩 테스트 코딩 인터뷰: (코딩 면접) 대개 면접관이 함께 하는 방식은 '인터뷰'로 분류. 코딩 테스트: (코딩 시험) 시험을 치르는 방식 구분 2) 온사이트(오프라인) vs 온라인 명칭 온라인/오프라인 면접관 참석 도구 온사이트(오프라인) 코딩 인터뷰 오프라인 O 관계 없음 화이트보드 코딩 인터뷰 오프라인 O 화이트보드 온라인 코딩 인터뷰 온라인 O 메모장 온라인 코딩 테스트 온라인 X 코딩 테스트 플랫폼 온라인 테스트 플랫폼 해커랭크: 프로그래밍 경진 대회 사이트로 출발, 코딩 테스트 플랫폼 사업 병행 www.hackerrank.com/ ..
PEP8 -- Style Guide for Python Code PEP 8 -- Style Guide for Python Code 정리본 www.python.org/dev/peps/pep-0008/ PEP 8 -- Style Guide for Python Code The official home of the Python Programming Language www.python.org 0. Introduction PEP 8 (Python Enhancement Proposal) 8 은 파이썬 코드의 작성 규칙 (coding convnetions)에 대해 설명하는 문서임. Guido (파이썬 개발자) 의 중요한 인사이트 중 하나는 코드는 작성하는 것보다 읽는 것이 더 쉬워야 한다는 원칙. 따라서 PEP 8은 다음 2가지를 목표로 한다. 파이썬 코드의 가독성 향상 파이썬 코..
나머지 공부 [21/01/26 작성] Module 직접 작성한 모듈 import 하기 (__init__.py 파일이 있을 때와 없을 때). __init__.py 파이썬 패키지를 읽을 때, 어떤 처리를 수행 혹은 패키지 내부의 모듈들을 한꺼번에 가져오고 싶을 때 사용. 패키지를 읽어 들일 때, __init__.py를 가장 먼저 실행함. 따라서 관련된 초기화 처리 등을 할 수 있음. __init__.py 에서는 __all__이라는 이름의 리스트를 직접 생성하는데, 이 리스트에 지정한 모듈들이 from import * 를 할 때, 전부 읽어 들여짐. 파이썬 3.3 이전 버전에서는 __init__.py 파일이 무조건 있어야 패키지로 작동했지만 (PEP420), 이후 버전에는 없어도 폴더 내부에 파이썬 파일이 들어 있기만 하..
AI & Machine Learning & Deep Learning AI, 머신러닝, 딥러닝 간의 관계와 차이점 [개념 정리] Artificial Intelligence (AI) '인공지능'이라는 용어를 만든 존 매카시 (John McCarthy)는 인텔리전트한 기계를 만드는 과학과 공학 (the science and engineering of making intelligent machines)' 이라고 정의함. AI는 ANI, AGI 2가지로 나뉨. ANI (Artificial Narrow Intelligence): Do one thing very well, e.g. smart speaker, self-driving car, web search, AI in farming and facotires. , 현재 산업에서 활용되고 있는 AI AGI (Artificial Gen..
[혼공파] Chapter 08 클래스 는 개념 정리 는 개인적으로 새롭게 알게 된 점 8-1. 클래스의 기본 객체 지향 프로그래밍 (Object Oriented Programming) 객체를 우선으로 생각해서 프로그래밍 한다는 의미. 프로그래밍에서 필요한 데이터를 추상화시켜, 상태와 행위를 가진 객체를 만들고, 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 언어. 객체 (Object) & 추상화 (abstraction) 객체: real world의 대상(object)을 소프트웨어 세계에 구현할 대상. e.g. 사람이라는 현실의 객체를 소프트웨어 세계에 구현하였을 때, 소프트웨어 세계에 구현된 '사람'이 객체인 것. (책에서 정의한 바) 여러 가지 속성을 가질 수 있는 대상. 추가적으로, real world 대상을 소프트..
[혼공파] Chapter 07 모듈 는 개념 정리 는 개인적으로 새롭게 알게 된 점 7-1. 표준 모듈 파이썬은 모듈 (module) 기능을 활용해 코드를 분리하고 공유함. 모듈은 여러 변수와 함수를 가지고 있는 집합체 표준 모듈과 외부 모듈로 나뉨 표준 모듈: 파이썬에 기본적으로 내장되어 있는 모듈 외부 모듈: 다른 사람들이 만들어서 공개한 모듈 import 모듈 이름 from 모듈 이름 import 가져오고 싶은 변수 또는 함수 e.g. from math import *, math 모듈 내부의 모든 것을 가져오는 것 의미. 모든 것을 가져오면, 식별자 이름에서 충돌이 발생할 수 있기 때문에 from 구문을 사용할 때는 최대한 필요한 것들만 가져와서 사용하는 것이 좋음. import 모듈 as 사용하고 싶은 식별자 docs.python...
Google Python Style Guide Google Python Style Guide 정리본 google.github.io/styleguide/pyguide.html styleguide Style guides for Google-originated open-source projects google.github.io 1. Background 2. Python Language Rules 2.1 Lint 2.2 Imports import 문을 사용할 때, package와 module 을 대상으로만 사용해야 하고, 각각의 클래스나 함수에 대해 사용하면 안 됨. 다만, typing module을 사용할 때는 예외임. 2.2.1 정의 하나의 모듈에서 다른 모듈로 코드를 공유하는 재사용 매커니즘 2.2.2 장점 이름을 짓는 방식 (namespace man..
[혼공파] Chapter 06 예외 처리 는 개념 정리 는 개인적으로 새롭게 알게 된 점 6-1. 구문 오류와 예외 오류의 종류 프로그래밍 언어의 오류(error)에는 크게 두 가지 종류가 있음. 구문 오류 (syntax error): 프로그램 실행 전에 발생하는 오류 예외 (exception) 또는 런타임 오류 (runtime error): 프로그램 실행 중에 발생하는 오류 구문 오류 (syntax error) 괄호의 개수, 들여쓰기 문제 등으로 인해 프로그램이 실행되기도 전에 발생하는 오류 EOL: End Of Line 에 문제가 있다는 뜻. 예외 (exception) & 런타임 에러 (runtime error) 프로그램 실행 중에 발생하는 오류 예외 처리 예외를 해결하는 모든 것을 예외 처리 (exception handling) 라고 함...
[혼공파] Chapter 05 ③함수 고급 는 개념 정리 는 개인적으로 새롭게 알게 된 점 5-3. 함수 고급 튜플 람다 파일 처리 튜플 튜플(tuple)은 몇 가지 점을 제외하고는 리스트(list)와 거의 비슷함. 튜플과 리스트와의 차이 리스트는 [] 로 둘러싸지만, 튜플은 ()로 둘러쌈. 리스트는 그 값의 생성, 삭제, 수정이 가능하지만, 튜플은 그 값을 바꿀 수 없음. 튜플의 형태 t1 = () t2 = (1,) t3 = (1,2,3) t4 = 1,2,3 t5 = ('a', 'b', ('ab', 'cd')) 튜플의 특징 t2 = (1, )처럼 단지 1개의 요소만을 가질 때는 요소 뒤에 콤마(,)를 반드시 붙여야 함. t4 = 1,2,3 처럼 괄호() 를 생략해도 무방함. 튜플과 리스트는 비슷한 역할을 하지만, 프로그래밍을 할 때 튜플과 리스..
[혼공파] Chapter 05 ②함수의 활용 는 개념 정리 는 개인적으로 새롭게 알게 된 점 5-2. 함수의 활용 재귀 함수 재귀 함수란 어떤 함수에서 자신을 다시 호출하여 작업을 수행하는 방식의 함수 팩토리얼을 구하는 방법 반복문으로 팩토리얼 구하기 재귀 함수로 팩토리얼 구하기 1. 반복문으로 팩토리얼 구하기 2. 재귀 함수로 팩토리얼 구하기 재귀 함수의 문제 재귀 함수는 상황에 따라서 같은 것을 기하급수적으로 많이 반복함. e.g. 피보나치 수열 트리 내부에 있는 각각의 노드 값을 계산하려면, 덧셈을 한 번 씩 해야 함. 현재 코드의 재귀 함수는 한 번 구했던 값이라도 처음부터 다시 계산해야 함. 따라서 계산 횟수가 기하급수적으로 늘어남. 현재 문제는 같은 값을 구하는 연산을 반복하고 있기 때문이고, 따라서 같은 값을 한 번만 계산하도록 코드를..