일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- re
- Scala
- java
- Lambda architecture
- Windows
- ambari
- SlackWebhookOperator
- python
- slack app
- Namenode
- 빅데이터
- HIVE
- slack
- 정규표현식
- 람다 아키텍처
- HBase
- Example DAG
- HDP
- yarn
- MapReduce
- docker
- Kafka
- hadoop
- jupyter
- HDFS
- NoSQL
- Service
- execution_date
- airflow
- LDAP
- Today
- Total
목록개발 (29)
IT 삽질기
이번 글에서는 Python List 요소를 이용해 모든 경우의 수를 구하는 방법에 대해서 알아보자. 조합을 구하기 위해서는 itertools 에 있는 combinations를 사용하면 되는데 사용법은 매우 간단하다. itertools 먼저 itertools에 대해서 간단히 알아보도록 하자. itertools에 대해 공식 문서에서는 Functions creating iterators for efficient looping(효율적인 루핑을 위한 이터레이터를 만드는 함수) 라고 소개한다. 이번 글에서 알아볼 조합을 만드는 combinations 외에 순열을 만드는 함수 등 다양한 함수를 제공한다. 자세한 사항은 공식문서를 참고하기 바란다. https://docs.python.org/ko/3/library/it..
이번 글에서는 Slack App을 만들어 메세지를 보내(일반적으로 Webhook)는 방법에 대해서 알아보자. Slack App 만들기 먼저 Slack App을 만들어보자. Slack App는 아래의 링크에서 만들 수 있으며, 링크에 접근해 Create an App을 클릭한다. https://api.slack.com/apps Slack에서 App를 만드는데 2가지 방법을 제공하지만 여기서는 From scratch를 이용해 만든다. App Name과 App을 사용할 workspace를 선택한 후 Create App을 누르면 App이 생성된다. App을 생성하고 나면 App의 기능을 선택할 수 있는데, 여기서는 외부의 메세지를 Slack에 게시할 것이기 때문에 Incoming Webhooks를 사용한다. In..
이번 글에서는 GC(Garbage Collection)에 대해서 알아보도록 하자. GC란? GC란 메모리 관리 기법중 하나로 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요없게 된 영역을 해제하는 기능으로 어떤 변수도 가리키지 않게 된 영역을 의미한다. 예를 들어 살펴보도록 하자. public class Person { private String name; public Person(String name){ this.name = name; } } Person a = new Person("Anna"); a = null; a = new Person("Elsa"); 위와 같은 코드가 있을 때 최초에 생성했던 Anna는 프로그램이 실행되며 결국 아무도 참조하지 않는 영역이 되는데 이를 가비지라고 하며 이렇게..
이번 글에서는 python Collections 모듈에 있는 namedtuple에 대해서 알아보도록 하자. 먼저 tuple에 대해서 간단하게 알아보자. tuple tuple는 순서가 있고 값을 변경할 수 없는(immutable) 객체로 일반적으로 List와 비교된다.(List는 값을 변경할 수 있음) tuple의 요소에 접근하려는 경우 index의 값을 이용하여 접근하게 되는데 예제를 통해 알아보도록 하자. tuple는 위와 같이 사용되며, 어떤 index에 어떤 값이 있는지를 알고 있어야 한다는 단점이 있다. namedtuple namedtuple는 index와 name를 통한 접근이 가능한 객체로 기존 tuple보다 좀 더 직관적인 접근이 가능하며, 메모리 활용에 최적화 되어 있다고 설명한다. 기본 ..
이번 글에서는 python에서 정규표현식을 사용하기 위해 사용하는 re 패키지에서 제공하는 추가적인 옵션에 대해서 알아보도록 하자. 기본적인 내용은 지난글에 참고하기 바란다. 2021.08.15 - [개발/python] - python 정규표현식 사용하기(1) re 패키지 추가 옵션 re패키지에서 제공하는 추가 옵션에 대해서 알아보자. 옵션 기능 DOTALL(S) . 이 줄바꿈을 포함한 모든 문자와 매치될 수 있도록 함 IGNORECASE(I) 대소문자 관계없이 매칭 DOTALL(S) DOTALL은 정규 표현식에서 사용하는 .을 줄바꿈(\n)과도 매칭되도록 하는 옵션이다. 예제를 살펴보자. 옵션을 사용하지 않는 경우 아래와 같이 줄바꿈(\n)에 대해서는 매칭되지 않는다. 옵션을 사용하기 위해서는 comp..
이번 글에서는 python에서 정규표현식을 사용하는 방법에 대해서 알아보도록 하자. 정규표현식에 대한 내용은 이전 글을 참고하기 바란다. 2021.08.10 - [개발] - 정규표현식(Regex)이란? python 정규표현식 패키지 re python에서 정규표현식을 사용하기 위해서는 re(regular expression) 패키지를 사용한다. re패키지를 사용하는 예제를 살펴보도록 하자. 정규표현식의 패턴을 만들기 위해 re.compile()을 사용한다. 이전 글에서 작성했던 것처럼 정규표현식으로 H로 시작해서 o로 끝나는 문자열을 찾는 패턴을 만들었다. 일치하는 패턴을 찾기 위해서 사용할 수 있는 method를 예제와 함께 확인해보자. re에서 제공하는 method 만든 패턴을 이용해 메서드를 이용하여..
정규표현식이란? 정규표현식이란 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어로 텍스트 편집기와 프로그래밍 언어에서 문자열 검색과 치환을 위해 사용하고 있다. 프로그래밍시 그렇게 자주 사용되지는 않지만, 가끔 사용하는 경우가 있어 정리해 남겨두려고 한다. 정규표현식에서는 메타 문자라는 개념을 이용해 이와 일치하는 텍스트를 찾아낼 수 있는데, 사용할 수 있는 메타 문자가 어떤 것들이 있는지 어떻게 활용하는지에 대해 알아보자. 메타문자 의미 x? x가 0개 혹은 1개 x* x가 0번 이상 x+ x가 1번 이상 x{n} x가 n번 x{n,} x가 n번 이상 x{n,m} x가 n번 이상 m번 이하 . 임의의 문자 1개 ^x x로 시작 x$ x로 끝 x|y x or y [] []를 사용하는 경우..
이번 글에서는 OLTP(Online transaction processing)와 OLAP(Online Analytical Processing)에 대해서 알아보도록 하자. OLTP(Online transaction processing) OLTP는 온라인 트랜잭션(Transaction) 처리로 다수의 사용자가 DB에 대한 일괄 트랜잭션 처리를 의미한다. 여기서 이야기하는 트랜잭션은 일반적으로 이야기하는 것으로 정의는 아래와 같다. Transaction DBMS 또는 유사한 시스템에서 상호작용의 단위로 트랜잭션이 성공과 실패가 분명하고 상호 독립적이며, 일관되고 믿을 수 있는 시스템을 의미 원자성, 일관성, 독립성, 영구성 ACID를 보장 출처 https://ko.wikipedia.org/wiki/%EB%8D..