전체 글
-
데이터웨어하우스 구축 관련 리서치카테고리 없음 2024. 7. 10. 15:25
다양한 데이터를 한군데 적재하여 사용하기 위해 여러 기술스택을 조사해보았다. #1 Athenaglue를 사용하여 ETL 구성 (원천 데이터 크롤링 하여 DataCatalog에 저장)수집 가능 데이터 (S3, JDBC, Dynamodb, MongoDB)날짜기준으로 파티셔닝해서 저장장점: SQL문 사용, 서버리스, visual ETL로 UI상으로 쉽게 어떻게 구성되었는지 확인이 가능하고, 그 안에서 스트립트 작성 및 수정이 가능해보여 비교적 수정이 편할것같다.단점: 스크립트 언어는 python으로 작성, 수집 가능 데이터가 제한적#2 ElasticSearchEC2에 logstash 돌려서 DB 데이터 수집날짜별로 index를 분리하여 저장장점: 스키마를 따로 정의하지 않아도 된다. 다양한 데이터 수집 가능 ..
-
[Django] DateTimeField 데이터 DB insert시 UTC 기준으로 저장되는 경우 이슈해결Django 2023. 2. 27. 17:45
Django framework를 사용하여 개인 프로젝트 작업하던중 날짜 데이터를 UTC+9 기준으로 저장해야하는데 계속 UTC 기준으로 저장이 되어 꽤나 헤맨 경험이 있어 해결방법을 정리해두려고 한다. Django를 처음 사용해보던 탓에 어떤 설정을 수정해야 하는지 몰라 우선 서버 타임존, 디비 타임존, Django 타임존 모조리 수정하며 확이해보았는데 결과는 그대로였다...ㅠ_ㅠ 디버깅을 해보니 코드상에서는 분명 UTC+9 기준으로 잘 동작하는데.. 최종적으로 DB에 저장은 계속 UTC 기준으로 되었다. 이유를 알수없어 여러가지 서칭을 해보다가 드디어 원인을 발견하였다!! settings.py 파일을 보면 USE_TZ 이라는 값이 있는데 나는 해당값이 True로 되어있었다. 당연히 해당값이 True이면..
-
mac에 node.js ( + express ) 설치하기카테고리 없음 2022. 5. 26. 16:42
* node.js 설치 $ brew install node node 입력 후 > 이러한 표시가 나오면 정상적으로 설치된것임 * express 설치 $ sudo npm install -g express-generator * 프로젝트 만들어보기 $vexpress [프로젝트명] 마지막 메세지에서 아래와 같이 명령어를 입력하라고 시킬것임 시키는대로 순서대로 명령어 입력하면 됨 $ cd [프로젝트명] $ npm install $ DEBUG=[프로젝트명]:* npm start
-
문자열 패턴 바꾸기(re.sub)Python 2021. 4. 1. 17:22
re.sub() 문자열을 원하는 형식에 맞춰서 치환하고 싶을때 사용. 정규식표현을 사용하여 치환해줄 수 있다. 맨 마지막 바꿀횟수는 생략가능하다. 생략시 해당하는 모든 문자를 치환해준다. re 모듈을 사용하기때문에 항상 import로 선언해주어야한다. re.sub('패턴', '바꿀문자열', '문자열', 바꿀횟수) 다음은 문자열에서 'apple' 또는 'orange'를 찾아서 'fruit'로 바꿉니다. import re re.sub('apple|orange', 'fruit', 'apple box orange tree') # apple 또는 orange를 fruit로 바꿈 'fruit box fruit tree'
-
#프로그래머스 스킬트리알고리즘 2021. 4. 1. 17:02
programmers.co.kr/learn/courses/30/lessons/49993 코딩테스트 연습 - 스킬트리 programmers.co.kr [ 문제 해결방법 ] 어떤 특별한 공식을 사용했다기보다는 문제 그대로 어떤 스킬을 실행할때 그 전에 선행되어야 하는 스킬들이 다 실행됬을경우에만 해당 스킬을 사용할 수 있기때문에, 해당 스킬 바로 전 스킬의 실행여부를 배열에 저장하여 체크하여 모두 정상적으로 실행됬으면 카운트를 해주도록 코드를 짜 보았다. [ 소스코드 ] def solution(skill, skill_trees): answer = 0 r_skill = list(skill) for i in skill_trees: b_chk = True # 스킬 순서 일치여부 s_chk = [0 for num ..
-
조합 #프로그래머스 두 개 뽑아서 더하기알고리즘 2021. 3. 31. 18:32
programmers.co.kr/learn/courses/30/lessons/68644 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr [ 문제 해결방법 ] 파이썬 기본 라이브러리인 itertools의 combinations 라는 내장함수를 사용하여 인자값에 따라 해당 요소로 구할수 있는 모든 조합을 리턴한다. 그리고 리턴된 값의 더하여 배열에 넣어주면 되는데 중복값을 제외해야하기 때문에 set()을 이용하여 유니크한 배열을 만들어준다 [ 소스코드 ] from ..
-
순열 #프로그래머스 소수찾기알고리즘 2021. 3. 30. 16:38
programmers.co.kr/learn/courses/30/lessons/42839 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr [ 문제 해결방법 ] check라는 함수를 만들어서 소수를 판정 여기서, math.sqrt를 사용하는 이유는 제곱수의 경우 소수가 아니기 때문에 이를 통해 판정 permutations를 이용해서 모든 경우의 수를 만들고 판정 단, 여기서 중복되는 수가 발생해서 set으로 미리 줄이고 하면 속도가 많이 빨라짐 answer에 모든 소수를 집어넣고 길이를 출력하면 정..
-
[Python] permutation, combination 순열과 조합Python 2021. 3. 29. 23:56
Python의 itertools를 이용하면 순열과 조합을 for문 없이 구현할 수 있다. 순열 permutation 순열이란 몇 개를 골라 순서를 고려해 나열한 경우의 수를 말한다. 즉, 서로 다른 n 개 중 r 개를 골라 순서를 정해 나열하는 가짓수이며 순열이라는 의미의 영어 ‘Permutation’의 첫 글자 P를 따서 nPr로 표시한다. 출처 : [네이버 지식백과] 순열 [Permutation, 順列] (두산백과) 순열 서로 다른 n 개 중 r 개를 골라 순서를 고려해 나열한 경우의 수. 몇 개를 골라 순서를 고려해 나열한 경우의 수를 말한다. 즉, 서로 다른 n 개 중 r 개를 골라 순서를 정해 나열하는 가짓수이며 순 terms.naver.com 순열은 순서를 고려하기 때문에 [A, B, C]의 ..