분류 전체보기102 [OSSCA Redis / 빅데이터 저장 및 분석을 위한 NoSQL & Redis] Part1 1. NoSQL? 2. NoSQL 선정방법 3. 키-밸류 DB : Redis / memcached NoSQL? 기존의 관계형 DBMS 에서 사용하는 SQL 기능뿐만 아니라, SQL이 할 수 없는 영역의 기술도 제공하는 대체기술 또는 보완기술이다. DBMS에서는 클라이언트/서버 플랫폼을 기반으로 한다면 NoSQL은 클라우드 컴퓨팅과 클라이언트/서버 플랫폼을 기반으로 한다. 기존의 관계형 DB와의 차별성은.. 클라우드 컴퓨팅에 적합하다. 비용 및 성능상의 문제를 해결하기 위한 클라우드 컴퓨팅을 많이 이용하는 추세이고, 이에 최적화된 새로운 저장 관리 기술은 NoSQL이 가장 적합하다. 관계형 DBMS는 대부분이 상용 라이센스이기 때문에 구매 비용이 많이 발생함, 그러나 NoSQL은 대부분이 오픈소스이기에 비.. 2023. 10. 24. [OSSCA Redis] Redis 오픈소스 컨트리뷰션 Week3 Redis 에 간단한 명령을 추가해보기 받은내용을 그대로 다시 돌려주는 echo 명령을 만들기 src/ 내부에 commands.* 로 되어있는 파일들을 참고하기 redis-cli를 실행한 후 echo {영어이름} abc 해서 결과가 abc로 나오면 된다. src/commands.def 먼저 commands.def 파일을 뜯어보면 상단부에 generate-command-cody.py 에서 코드가 자동생성 된다고 한다. 친절하게도, 내용을 건들지 말라고까지 적혀있다. connection 그룹에 echo라는 명령어가 어떤 역할을 하는지 나타나있다. 새로운 명령어를 추가하면 echo 명령어 밑에 추가될 것 같다. utils/generate-command-code.py generate-command.py 에서 c.. 2023. 10. 23. [Softeer / Level3] 강의실 배정 https://softeer.ai/practice/info.do?idx=1&eid=392 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 그리디 알고리즘의 대표문제이다. 최대한 강의실을 많이 배정하기 위해서 끝나는 시간을 기준으로 하여 정렬하면 된다. 시작, 종료시간을 설정해주고 그다음에 들어오는 튜플의 시작, 종료시간을 재설정 하는식으로 순회시켜준다. import sys input = sys.stdin.readline N = int(input()) S = [] for _ in range(N): S.append(tuple(map(int, input().split()))) S.sort(key=lambda x: x[1]) p, q, cnt = 0, 0, 0 for star.. 2023. 10. 17. [Softeer / Level3] 성적 평균 https://softeer.ai/practice/info.do?idx=1&eid=389 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 구간에서 성적 평균을 구한다. 파이썬에서는 리스트 슬라이싱으로 비교적 쉽게 해결할 수 있다. 다른 Level3 문제보다 월등히 쉬워서, 이게 왜 Level3에 있는지 이해가 안간다.. import sys N, K = map(int, input().split()) S = list(map(int, input().split())) for _ in range(K): a, b = map(int, input().split()) print(round(sum(S[a-1:b]) / (b - a + 1), 2)) 2023. 10. 16. [OSSCA Redis] Redis 오픈소스 컨트리뷰션 Week1, 2 git명령어 clone, branch, push, pull, add, commit, cherrypick 알아오기 Git 명령어 내용 예시 clone 원격 저장소로부터 로컬로 프로젝트 복제 git clone branch 브랜치 목록을 보여주거나, 새로운 브랜치를 생성 git branch push 로컬 변경 사항을 원격 저장소로 업로드 git push pull 원격 저장소에서 최신 변경 사항을 가져와 로컬로 병합 git pull add 변경된 파일을 스테이징 영역에 추가하여 커밋할 준비 git add 또는 git add . commit 스테이징 영역에 있는 변경 사항을 로컬 저장소에 커밋 git commit -m "커밋 메시지" cherrypick 다른 브랜치에서 특정 커밋을 선택하여 현재 브랜치에 적용 g.. 2023. 10. 15. [OSSCA Redis] Redis 오픈소스 컨트리뷰션 Week0 데이터 엔지니어 공부를 하다보면, 필연적으로 오픈소스를 사용하게 된다. 아파치 라이센스, MIT 라이센스, BSD 라이센스 등 여러 라이센스를 달고 있는 오픈소스가 존재한다. 그냥 가져다가 쓸 수 있지만, 내가 쓰는 오픈소스의 구조를 이해하고 기여하는건 더 의미있다고 생각해서 Redis 컨트리뷰션에 참여하였다. 최근, 성능을 높이기 위한 Cache Memory로 사용되는 것 이외에도, Airflow에서 Celery Executor으로 Redis 가 메세지 큐로 사용되는 기능적인 부분과 그 한계에 대해 큰 호기심이 생겼다. 이렇게, 한창 많은 관심이 생긴 DB였는데 깊게 공부할 명분이 생겼고 목표의식이 생겼다. 2023. 10. 14. 이전 1 ··· 9 10 11 12 13 14 15 ··· 17 다음 반응형