일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 개발자
- mlops
- 데이터엔지니어
- hadoop
- BigData
- cloudera
- Python
- apache spark
- Terraform
- kubernetes
- 빅데이터플랫폼
- Data engineering
- 클라우데라
- kafka
- redis bloom filter
- 추천시스템
- Spark structured streaming
- recommendation system
- 블로그
- 하둡
- 하둡에코시스템
- 데이터엔지니어링
- pyspark
- 빅데이터
- AWS SageMaker
- dataengineer
- 개발자혜성
- eks
- DataEngineering
- spark
- Today
- Total
목록DEV (11)
Hyesung Oh
TL;DR메이저 스크립트 언어의 실체는 대부분 C++이며(Python, Javascript 등), PyTorch와 같은 Python deep learning framework을 사용하더라도 성능 최적화 시에는 결국 C++ 구현체를 사용하게 됩니다. Python은 C++로 짜여진 Stack Machine 이라 표현하기도 합니다.우리가 입력한 Python 코드의 실행흐름을 주요 컴포넌트 관점에서 대략적으로 표현하면 아래와 같습니다.: Python Code -> tokenizing -> AST -> python byte code(pyc) -> PyCodeObject -> PyFrameObject -> PyFrameEx구문분석 이후 생성한 AST를 바탕으로 byte code를 생성하고 이를 PyCodeObjec..
Python에서 async, await로 비동기 프로그래밍을 작성하다, 간혹 Node.js 쪽 코드 작성을 하다보면 매우 유사한점을 느껴 내부 작동방식도 유사한지 공부해보았다. 자세한 내용은 다루지 않겠지만 그래도 내가 이해한 내용의 핵심만 요약해보았다. Python은 generator를 이용해 corutine을 구현하여 비동기 시스템을 구현하였다. 그리고 코루틴 테스크간의 제어권 컨트롤의 중심에 event loop process가 있다. python의 stack이 heap 영역에 존재하는 언어 특성을 살린 케이스이다. Node.js는 event loop 역할은 유사하나, 좀 더 event driven 적인 접근이다. event들은 callback 함수가 return한 결과이고 이들을 관리하는 별도 st..
테스트 주도 개발을 통해 더 좋은 코드와 아키텍처를 만들어 나갈 수 있을까? 반은 맞고 반은 틀리다. 중요한 것은 테스트 그 자체가 아니라 내가 테스트를 하는 이유에 대해 끊임없이 질문하고 개선하는 활동에 있기에 반은 틀리다. TDD의 진짜 의의는 왜 테스트 하고있는지에 물음을 가지는 것에 있다고들 강조한다. Unit Testing vs Integration Testing vs Functional Testing Unit Test는 말그대로 하나의 단위를 테스트 하는 것이다. 아래에서 처럼 하나의 함수를 테스트 하는 것을 예를 들 수 있다. 주의할 것은, 단위란 정의하기 나름이다. 예를 들어, 하나의 함 수는 사실 두 개의 함수로 분리되는게 더 바람직 할 수 있다. def func(x): return x ..
기본 1) [ ] : 문자 한개를 의미. [] 안에들어가는 모든 문자는 서로 독립적. 정규식에서 a는 [a] 와 동일함 abc는 [abc]가 아니고 [a][b][c]의미임 예) [AaB] : a, B - 일치, b -일치하지 않음. AB에서는 A도 일치 하고, B도 일치함 [0-9] : 0~9 내의 숫자를 의미. 0 -일치, A - 일치 하지 않음 2) . : 임의의 문자/숫자 1개를 의미(단,\n(개행 문자)를 제외한 모든 문자와 매치) 예) a.c 인 경우, abc - 일치, abb - 일치 하지 않음 3) * : 앞의 문자/숫자의 반복을 의미하며 한번도 반복이 안될 수 있음 예) a*b 인 경우, ab : 일치, aab : 일치, aaab : 일치 , abc : 불일치 [ab]*b 인 경우, ab ..
구글맵 API 설정 구글맵 세팅하기 1 2 3 4 5 6 7 8 setMap = function(){ map = new google.maps.Map( document.getElementById(id), {zoom: zoom, center : latlng} ) } r id : 지도를 표시하고자하는 html tag id 값 zoom : 저는 객인적으로 11로 setting 하였고 필요에 따라 바꿔가며 쓰면됨 latlng : 지도의 중심을 설정하는 파라메터. json 형태로 위, 경도를 넘겨주면 됨 ex) latlng = new google.maps.LatLng(lat,lng); console.log(latlng) output: { lat:23 lng:125 } 구글맵에 마크 표시하기 1 2 3 4 5 6 7..
웹 서핑을 해본 사람들이라면 한 번쯤 쿠키, 캐시라는 단어를 들어봤을 겁니다. 저도 Django side project을 하면서 궁금했던 차 찾아본 내용을 바탕으로 제가 이해하기 쉽게 정리해 보려 합니다. 우선 웹 어플리케이션은 크게 클라이언트 단과 서버단 두 가지로 나눌 수 있습니다. 1. 캐시 cache 클라이언트의 요청 --> 서버--> 클라이언트 흐름으로 클라이언트에서 정보를 요청하고 서버에서는 요청받은 정보를 클라이언트로 전송, 랜더링 하게 됩니다. 랜더링이란 쉽게 말해 웹페이지 화면을 구성하는 요소(정적 파일)들을 사용자에게 보여주는 작업입니다. 사용자가 보고 있는 웹페이지에서 중복되는 요소가 있을 때 서버입장에서는 이를 매번 새롭게 랜더링 한다는 것은 서버 자원 입장에서 낭비일 수 있습니다...
1. putty 실행후 AWS에 만들어 놓은 ec2 인스턴스의 ip address 를 HOST Name 칸에 적습니다. (ec2 의 포트는 대부분 22입니다) 2. 그리고 ec2 생성시 발급 받아 변환해놓은 key 를 load 합니다. (key는 내 컴퓨터 아무데나 저장해놓습니다) key 변환은 PuttyGen 이라는 프로그램을 이용합니다. 자세한 사항은 https://codingmania.tistory.com/91 [AWS] puttygen 사용법!! .pem 파일 .ppk파일로 변환하기 AWS를 생성했으면, putty등을 통해 SSH로 접속해야한다. 맥에서는 터미널을 통해 pem파일로 접근이 가능하지만, 윈도우의 경우에는 불가능하다. 참고로 pem파일은 AWS을 통해 인스턴스를 생성할 때 다운로드받을..
금융투자협회 채권정보센터 KOFIABOND 에서 20년치 채권 만기수익률 데이터를 크롤링을 해보겠습니다. URL: http://www.kofiabond.or.kr/index.html 홈화면 -> 우측상단 시가평가-> 채권 시가평가기준 수익 채권종류, 만기일 선택 -> 조회하기 버튼 다음과 같은 채권 만기수익률 시계열 데이터를 조회할 수 있습니다. 위는 예시로서 2019.7.22 - 2019.8.22 한달 간의 데이터를 조회한 것입니다. 만약 20년 동안의, 모든 채권, 만기일에 대한 데이터를 받아오고 싶을 때는 어떻게 해야할까요? 하나하나 설정하고 조회하기 버튼을 누르고 다운받는다 (수작업) requests.get(target url) (GET 방식) 1번을 선택하신다면 건투를 빌겠습니다. 2번은 잘못된..