본문 바로가기

전체보기

(44)
[백준] 11054 가장 긴 바이토닉 부분 수열 풀이 - (python 파이썬) 문제: https://www.acmicpc.net/problem/11054 사용 언어: Python 파이썬 11054번: 가장 긴 바이토닉 부분 수열 첫째 줄에 수열 A의 크기 N이 주어지고, 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1,000) www.acmicpc.net 이 문제는 가장 긴 증가하는 부분 수열 구하는 문제유형을 약간(?) 꼬아둔 문제다. 가장 긴 증가하는 부분 수열 구하기 유형을 처음 접한다면 이 글을 읽어보길 바란다. 2020/10/08 - [Algorithm] - 가장 긴 증가하는 부분 수열(LIS) 완전 정복 - 백준 파이썬 가장 긴 증가하는 부분 수열(LIS) 완전 정복 - 백준 파이썬 최근 들어, 알고리즘에 재미를 붙였..
AWS EBS vs EFS vs S3, 어느 스토리지를 써야할까? 오늘은 AWS 서비스 중 안정적이고 복원력을 갖춘 스토리지 EBS와 EFS에 대해 공부해보았다. 이 두 스토리지 시스템의 특징과 어느 상황에서 각 서비스를 사용해야 하는지 알아보자. EBS (Elastic Block Storage!) AWS EC2 (Elastic Compute Cloud)에서 사용하도록 설게된 사용하기 쉬운 고성능 블록 스토리지 서비스 AZ(가용 영역)내에서 복제를 통해 재해복구 볼륨의 특정 시점 스냅샷을 S3에 저장할 수 있다 마지막 스냅샷 이후 변경된 블록만 저장 비동기적 생성(수정된 블록이 S3로 모두 이동할 때까지 스냅숏 상태는 pending!) 사용 중인 볼륨도 스냅샷 생성할 수 있다(단, 루트 디바이스 역할의 EBS볼륨은 인스턴스 중지해야 한다) 무제한의 확장성, 빠른 복원,..
AWS S3(Simple Storage Service)란? AWS Solutions Architect Associate 자격증을 공부하면서 내용을 정리하고있다. 오늘은 S3에 대해서 작성해보았다. SAA는 항상 각 서비스마다 FAQ를 읽어야한다. Amazon Simple Storage Service(S3) – 클라우드 스토리지 – AWS aws.amazon.com 인터넷 어디서나 원하는 양의 데이터를 저장하고 검색할 수 있는 객체 스토리지 뛰어난 확장성, 유연성, 사용한만큼 비용 지불 객체의 크기: 최소 0byte ~ 최대 5TB 단일 PUT요청으로 업로드 가능한 객체의 최대 크기는 5GB이지만 100MB를 넘는다면 Multi Part Upload를 사용하는 것이 좋다. S3가 제공하는 스토리지 클래스 Standard Intelligent-Tiering Stan..
[severless] 학교 공지사항 크롤러 (Puppeteer + AWS Lambda + DynamoDB => slack) 지난 글에서 작성한 [웨일 확장앱 개발기]도 그렇고 이번에도 학교랑 관련된 개발을 진행해보았다. 일정한 시간 간격으로 크롤링해서 학교 공지사항을 알려주는 봇이다. 크롤링으로 많이 사용하는 언어는 python이라고하는데 puppeteer를 마침 써볼 일이 생겨서 javascript로 개발을 했다. 먼저, 이 크롤링 봇의 결과물은 다음과 같다. 학교 친구들이랑 같이 사용하고있는 텀 프로젝트용 Slack에 webhook을 만들어서 정해진 시간에 새로운 글을 메세지로 보내줄 수 있도록 했다. 시작하기전에! 1. node.js 버전 12.x 2. AWS 계정 생성 후, AWS Configure 등록하기 - free-tier 범위내에서 충분히 커버가능하다. 3. puppeteer, cheerio에 대한 기본 지식 ..
[퀵숙] 웨일 확장앱 만들어본 후기(+ 크롬 익스텐션) 난 원래 크롬 브라우저를 매우 애용했었다. 근데 웨일을 쓰는 친구가 강력 추천을 하길래 써보게 되었다. 생각보다 좋잖아?! 라는 생각에 웨일에 점점 익숙해지게 되었다. 그러던중, 웨일 확장앱 개발이라는 사이트를 우연히 발견하게 되었다. 뭘 만들어볼까.. 하다가 울학교 사이트 모아주는 확장앱이 있으면 좋겠다싶어서 만들었다. (난 이미 졸업했는데...ㅋ) 사실 학교 공지사항을 놓치거나 꿀정보가 담긴 사이트를 모르는 학생들이 워~~~~~낙 많아서... 필요한 것 같긴했다. 웨일 개발자센터 웨일 개발자센터 Move the web, forward. developers.whale.naver.com 소개에 보면, 크롬 브라우저의 익스텐션을 거의 그대로 가져와 웨일 확장앱으로 등록할 수 있다고 되어있다. 나는 웨일을 ..
[DefinitelyTyped] 내가 쓰고있는 패키지의 타입 고치기! 최근에 오픈소스 컨트리뷰션에 참가하게되면서 TypeScript 번역을 집중적으로 하고있다. (관련해서는 활동이 끝나면 글을 써볼까 한다.) TypeScript로 개발하다보니, type definition은 이제 나에겐 없어서는 안될 존재가 되었고, 마침! 사용하던 패키지에서 타입을 고쳐야함을 발견했다. node-schedule이라는 패키지를 사용하고있는데 워낙 패키지가 업데이트도 느리고 (글 쓴 시점 기준, 가장 최근 버전 업데이트가 2019년 2월...) PR과 issue는 쌓여가는데 메인테이너들이 잘 안봐주는 것 같다. 아무튼, 이걸 쓰다가 타입을 고쳐야함을 알게되었는데, 타입을 고쳐 PR을 받아내기까지에는 시간이 걸릴 것 같아서 해당 코드에서는 일단 내가 타입을 직접 따로 정의해서 사용했었다. 그렇..
가장 긴 증가하는 부분 수열(LIS) 완전 정복 - 백준 파이썬 최근 들어, 알고리즘에 재미를 붙였다. 백준 문제를 풀면 문제 난이도마다 티어가 올라가는 재밌는 사이트(solved.ac)가 생겨서 뭔가 동기 부여되는 것 같다. 언어는 python을 사용하고 있다. (취준 할 때는 안 하고 꼭 뒷북치는 스타일... 그렇다고 실무에서 알고리즘이 안중 요하단 뜻은 아니다. 해야 할 때 덜 했을 뿐) DP Dynamic Programming을 집중적으로 좀 보고 있는데 백준에서 신기한 문제를 마주쳤다. 가장 긴 증가하는 부분 수열 구하기이다. Longest Increasing Subsequence라고 불리기도 한다고 한다. 오늘은 LIS에 대해 작성해보았다. 가장 긴 증가하는 부분 수열 임의의 수열이 주어질 때, 수열에서 몇 개의 수를 제거하여 부분 수열을 만들 수 있다. ..
[Appium] 모바일 테스트 자동화, 가능할까? 오늘은 Appium을 사용해보기위해 삽질한 경험에 대해서 글을 작성해보았다. Appium을 공부할 일이 생겨서 오늘부터 자료 조사를 조금 하고있는데, 한글로 된 자료가 거의 없어서 작성해보았다. 혹시나 Appium으로 테스트 자동화를 도입해보고 싶은데 어디서부터 시작해야할지 모르겠다 ㅠㅠ 하는 사람들에게 도움이 되길 바란다. Appium 공식 문서에도 나와있는 getting-started 부분을 따라해보았다. Appium이란? Appium은 iOS 시뮬레이터, Android 에뮬레이터, 실제 디바이스들(iOS, Android, Windows)의 테스트를 지원한다. 이번 글에서 시도해볼 환경은 Android 에뮬레이터이다. Appium은 Node.js로 구현된 Web Server인데 이런 역할들을 해준다...