본문 바로가기

분류 전체보기

(152)
[AWS] Builders 프로그램 링크 (웹미나 형태) GCP에서는 coursera와 qwiklab에서 잘 교육해주는 반면, AWS에서 다양한 프로덕트에 대한 교육을 제공받기 쉽지는 않다. 아직 AWS프로덕트에 그렇게 익숙하지는 않은데, 이번에 Builders 프로그램에서 웹미나로 좋은 교육을 제공해 준다 하여, 관련 링크를 가지고 왔다. AWS로 굳혀져가던 클라우드 생태계가 비용적인 이슈로 점점 다양해지는 것 같다. GCP쪽으로 확장되면 좋고! 아니여도 관련공부는 꾸준히 해야겠다^^ AWS Builders 프로그램 AWS에 대한 기본 지식이 있는 고객(AWS 기본 사용자, 기반팀, 플랫폼팀, 인프라 운영팀 담당자 등)을 대상으로 AWS 클라우드 활용사례 및 세부 서비스를 소개합니다. aws.amazon.com SSAFY에서 6월은 방박개념으로 진행하기 때문..
BOJ. 2042번. 구간합 구하기 구간합 구하기 문제는 세그먼트 트리라는 자료구조를 사용해서 푸는 문제이다. 정해진 조건에 따라 구간합을 구하고 싶은 구간을 특정지어 주는데, 구간이 주어질때마다 계산을 하게되면 결국 완전탐색법으로 푸는것과 다를바가 없다. 그러면 최소 n^4의 복잡도가 나오게 되고 당연히 시간초과가 발생한다. 세그먼트 트리를 활용하면 이 복잡도를 nlogn에까지 줄일수 가 있어 굉장히 유리하다. 세그먼트 트리에 대한 자세한 내용은 아래 블로그를 참고하면 좋다. https://blog.naver.com/ndb796/221282210534 41. 세그먼트 트리(Segment Tree) 이번 시간에 다룰 내용은 여러 개의 데이터가 연속적으로 존재할 때 특정한 범위의 데이터의 합을 구하는 ... blog.naver.com 이번 ..
[Celery] Side-Project(Ant Platform) - 4. Celery Logs, Flower Dashboard [ Celery Logs ] 이번엔 Celery를 통해 로그를 남겨보도록 하겠다. 1. docker-compose.yml파일을 열고 내부에 로그 관련 설정들을 추가해 준다. version: "3.8" services: web: build: . image: web container_name: web ports: - 5004:5000 command: python manage.py run -h 0.0.0.0 volumes: - .:/usr/src/app environment: - FLASK_DEBUG=1 - APP_SETTINGS=project.server.config.DevelopmentConfig - CELERY_BROKER_URL=redis://redis:6379/0 - CELERY_RESULT_BACK..
PGM. 신규아이디 추천 programmers.co.kr/learn/courses/30/lessons/72410?language=java 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr N사 면접에서 떨어지고 나서, 다시 초심으로 돌아가 기초부터 꼼꼼하게 다지기로 마음먹었다. 떨어진 아쉬움도 컸지만, 부족한 부분을 다듬고 채워야 할 부분을 알게된 소중한 시간이였다. 앞으로 인턴 및 정규직 시험도 몇개 남았는데, 급하게 욕심내기보단, 여유를 가지고 차근차근 밟아나가자! 이 문제는 전혀 까다롭지 않는 문제지만, 정규표현식을 연습하..
[Celery] Side-Project(Ant Platform) - 3. Flask에서 Celery로 비동기작업 수행하기(프로젝트 구조+Celery동작) [ 프로젝트 동작 구조 ] 1. Trigger Task : 먼저 Task가 home.html에서 handleClick함수로 인해 트리거된다. (이 handleClick은 그 아래 _base.html의 script에 의해 main.js로 간다. ) 2. AJAX part : main.js에서 handleClick함수에 type이 전달되고, server로 AJAX POST를 보내게 된다. # main.js 중에서... function handleClick(type) { fetch('/tasks', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ type: type }), }) .then(respo..
[Celery] Side-Project(Ant Platform) - 2. Flask에서 Celery로 비동기작업 수행하기(실습환경 구축) [ 이게... 확실히 포스팅 한번엔 안끝나겠네...] 외국 유툽이나 강좌를 찾아봐도, 보통 Celery를 Django랑은 많이 연결해서 쓰는데, Flask에 적용시킨 예제는 없어서 난감했다;; 어짜피 전체적인 로직은 똑같아 그냥 쓰면 될것 같으면서도, 배움이 짧은 탓에 더 좋은 적용방식을 알고 싶었기 때문이다. 그러다가 좋은 실습하나를 발견해서 처음부터 끝까지 뜯어보면서 공부하기로 했다. 지난 포스팅 : buildabetterworld.tistory.com/139 [Celery] Side-Project(Ant Platform) - 1. Celery를 사용해 보자! 이전 포스팅 : Cloud-Monitoring으로 VM인스턴스 로그 분석하기 buildabetterworld.tistory.com/124?ca..
[자유] 2021 GCP Study Jam (Database)! buildabetterworld.tistory.com/50?category=847699 [자유] 2020 Cloud Study Jam ( Google Kubernetes Engine ) 참여 이전에 Cloud Study Jam에 참여했더니 이런 메일이 와 있었다. 아무래도 이전 스터디 잼 참여자를 대상으로 링크를 보낸 듯 하다. https://forms.gle/D7jX36XybJEHV5JMA 2020 Cloud Study Jam 신청 * 신청자에게.. buildabetterworld.tistory.com 역시..... 올해도 왔네...ㅎㅎㅎㅎ 올해도 어김없이 GCP 스터디잼이 시작하나보다. 이번에는 DataBase를 주제로, SQL, BigQuery, DataScience등 다양한 퀵랩코스가 포함되어 있..
BOJ. 1194번. 달이 차오른다 가자 BFS + 비트마스킹 문제다. BFS탐색을 체크할 boolean 배열을 3차원으로 만드는 것에 주의하면 그렇게 어렵지 않다. 왜냐면 각 상황에서 들고있는 키의 상황(몇개를 가지고 있는지, key-state) 가 다를 수 있기 때문이다. 따라서 3차원 체크배열을 선언하고, 각 키를 가지고 있을 때 문 여는 상황을 비트마스크로 비교한다면 꽤 빠른 수행시간으로 문제를 풀 수 있다. www.acmicpc.net/problem/1194 1194번: 달이 차오른다, 가자. 첫째 줄에 미로의 세로 크기 N과 가로 크기 M이 주어진다. (1 ≤ N, M ≤ 50) 둘째 줄부터 N개의 줄에 미로의 모양이 주어진다. 같은 타입의 열쇠가 여러 개 있을 수 있고, 문도 마찬가지이다. 그리고, www.acmicpc.net im..
SWEA. 5607. 조합(페르마의 소정리) 그냥 풀면 터진다. 조합의 경우의 수가 매우 커지기 때문이다. 결과값은 모듈러 연산 후의 값을 출력하고, 연산하는 모듈러 값은 소수이므로 페르마의 소정리를 이용해서 구현하면 된다. 모듈러 연산을 제곱형식으로 바꿀 수 있다는게 아이디어의 핵심이다. 이후의 거듭제곱 함수는 분할정복 방식으로 바꿔서 복잡도를 logn으로 낮춰주는것도 중요하다. 이어서 뤼카의 정리도 알아두면 좋다. 페르마의 소정리 - 나무위키 먼저, 페르마의 소정리는 다음과 동치이다. ppp가 소수라면, np≡n(mod p) n^{p} \equiv n \left(\text{mod}\ p \right) np≡n(mod p) n=0n=0n=0일 경우는 자명하다. 이항정리에 의하면 (n+1)p=np+∑n=1p−1(pn)+1\displaystyle n..
[Celery] Side-Project(Ant Platform) - 1. Celery + RabbitMQ 간단실습 이전 포스팅 : Cloud-Monitoring으로 VM인스턴스 로그 분석하기 buildabetterworld.tistory.com/124?category=859595 [GCP] Cloud Monitoring 로 VM 인스턴스 로그 수집하기 - 2. 부하테스트(Locust) [ 부하테스트 ] 다음은 지정한 URL로 부하테스트를 해보려고 한다. 사용할 툴은 바로 Locust! Python으로 스트립트를 작성하기도 하고, 또 사용하기 쉽다고 해서 바로 써보기로 했다. 정식 document는 다 buildabetterworld.tistory.com 이전 포스팅에 이어서, 이번에는 팀원들과 사이드 프로젝트로 진행중인 플랫폼의 Notification + Chatting server에 들어갈 Celery에 대해 포스..