본문 바로가기

코딩과 알고리즘

AWS와 Node.js 책 본문 소스 처음부터 시작하는 AWS 와 Node.js 책자의 소스 모음입니다. 책자에서 보고 직접 따라 치시기는 어려우실 것 같아 관련 명령어를 본문에 수록하였습니다. 이 명령어를 복사해서 붙여넣어 사용하시면 됩니다. Part 3-4 * yum 설치 도구 업데이트 sudo yum -y update Part 4-1. * NPM 설치 도구 설치 명령어 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash * node.js 설치 명령어 nvm install v16.13.1 Part 4-3. * 첫번째 예제, 폴더 생성 및 권한 지정 sudo mkdir /home/nodejs1 sudo chown ec2-user:ec2-user /h.. 더보기
백준 1920풀이 - cin / cout 으로는 안 풀려 오늘은 풀이한 문제 중 백준 1920문제를 들고 나왔습니다. 의외성이 있어 공유합니다 :) https://www.acmicpc.net/problem/1920 단순한 이진 탐색 문제인데요. 1) 최대 10만개의 숫자를 입력, 2) 다시 최대 10만개의 숫자를 입력받고 3) 각 숫자가 1)번의 10만개에 들어있는지 검색하는 문제입니다. 그냥 입력받은 수를 숫자 오름차순 정렬해서, 2진 탐색, 존재여부만 판단하는 되는 문제이나, 비교적 쉬움애도 불구하고 풀기 어려워 7번만에 제출, 통과했는데요. 바로 "시간초과"가 그 주범입니다. 이진 탐색 풀이의 원리 이진 탐색은 아래와 같습니다. 예를 들어 7개의 수가 있다고 할 때, 34 121 56 777 1024 10 142 이 숫자를 모두 작은 숫자에서 큰 숫자로 .. 더보기
백준 문제풀이 - 큰 수 A+B 오랜만에 백준 코딩 문제 풀이를 해보았습니다. 백준 문제 풀이는 코딩 실력을 테스트하는 일종의 연습용 사이트인데요. 참여자도 많고 문제도 어마어마하게 많습니다. 국내 '천하 제일 코딩대회'라고 해도 과언이 아닐텐데요. 개발자들끼리 서로 코딩 문제를 풀어 랭킹을 뽐내기 때문입니다. 다만 전혀 코드 분석 없어 대충 복붙해 넣기만 하는게 가능한 단점도 있는데요. 다른 분의 코드를 참조는 하되 풀이방법만 익히고 스스로 풀어보는게 중요합니다. 그렇지 않으면 실력이 늘지 않지요. 그나저나 오랜만에 로그인해보니 헉! 순위권이 10.000위권 밖으로 밀려나 있는게 아니지 않습니까? 두둥!! 개발자 블로거의 자존심(?)이 걸린 문제라 가만 있을수 없어 부랴부랴 문제를 풀어 10.000위권 안으로 진입시켜 놓았습니다. 다.. 더보기
AWS 안 보이는 요금 해제하기 탄력적 IP 주소 모두 지웠는데 요금이 나와요?! AWS 에서 리소스를 모두 지웠는대도 이상하게 요금이 발생하는 경우가 있습니다. 크레이가 확인해본 바로는 바로 리전별로 분리되는 요금 체계 때문인데요. 유사상황 가정 비슷한 상황을 가정해보았습니다. 탄력적 IP 주소 하나를 삭제를 안했지만 확인이 어려운 상황입니다. AWS 에서는 인스턴스에 연결되어 있는 탄력적 IP 는 요금이 부과되지 않으나 인스턴스가 꺼져 있거나 인스턴스를 삭제한 경우 탄력적 IP 주소는 외톨이가 되면서, 인스턴스에 연결되어 있지 않은 IP주소 요금이 발생하게 됩니다. IP주소 부족 때문에 붙는 일종의 벌금(?)같은 건데요. 이 때 아무리 콘솔 창을 확인해봐도 탄력적 IP주소는 사용 내역이 없습니다. 이런 상황인데도 만일 계속해서 요금.. 더보기
node.js express 클래스 파일 모듈화 프로그램은 쪼갤수록 단순해진다! 이 개념을 아시나요? 지난 시간에 다루었던 클래스도 예외가 아닌데요. 이번 시간에는 클래스를 모듈로 분리하는 방법과 쪽지 추가 기능에 대해 점진적인 개발 과정 설명을 드리도록 하겠습니다. 스크롤 압박이 좀 있을 수 있습니다 :) 소스와 결과물은 아래 링크를, → https://itadventure.tistory.com/443?category=715914 처음부터 정주행하시려면 아래 링크를 참조하세요. → https://itadventure.tistory.com/431 클래스를 분리하자! 일반적으로 하나의 클래스는 하나의 파일에 기능을 넣고 파일명도 동일한 이름을 짓는 것이 좋습니다. 그 후에 메인 기능에서 갖다 쓰는게 관리 측면에서 좋은데요. 철칙은 아니지만, 이런 규칙성.. 더보기
node.js express | 클래스? (Class) 중학교 영어시간에 이런 예문을 보신 적이 있으신가요? We were in the same class at school. ( 우리는 학교에서 같은 반이었다. ) 영어회화에서 class 는 대부분 학급, 수업 등의 의미로 사용되는데요. 컴퓨터 언어에서는 살짝 의미가 다릅니다. 근본적으로는 묶어준다는 점에서 동일한 개념이긴 하지만요. 오늘은 컴퓨터 언어에서의 클래스에 대해 살펴보도록 하겠습니다. 참고로 지난 시간에는 node.js 에서 기다려주는 기능, await 에 대해서 살펴보았습니다. https://itadventure.tistory.com/445 node.js express | 템플릿쪽지함 #8. 기다려! await! 지난 스토리에서는 mysql2 모듈을 사용할 때 프로미스에 대해서 알아보았는데요. h.. 더보기
node.js express | 템플릿쪽지함 #8. 기다려! await! 지난 스토리에서는 mysql2 모듈을 사용할 때 프로미스에 대해서 알아보았는데요. https://itadventure.tistory.com/444 node.js express | #7. mysql2 프로미스 지난 스토리에서 다루었던 쪽지 템플릿에는 MYSQL 이라는 저장하는 부분을 비롯하여 클래스라는 부분까지 여러 요소가 추가되었는데요. node.js의 프로미스라는 특징적 부분까지 다루어야 해서 예 itadventure.tistory.com 프로미스란 일종의 약속 덩어리이기 때문에 콜백(callback) 라는 프로그래밍 개념과는 다른 의미이며 mysql 에서는 보통 아래와 같이 사용된다고 살펴보았습니다. db.query( "SELECT x, y, r, memo FROM memolist" ).then((r.. 더보기
node.js express | 템플릿쪽지함 #7. mysql2 프로미스 지난 스토리에서 다루었던 쪽지 템플릿에는 MYSQL 이라는 저장하는 부분을 비롯하여 클래스라는 부분까지 여러 요소가 추가되었는데요. node.js의 프로미스라는 특징적 부분까지 다루어야 해서 예제 소스를 만들면서 점진적으로 소스를 완성하는 부분을 다뤄보도록 하겠습니다. https://itadventure.tistory.com/443 node.js express | 템플릿 쪽지함#6. 쪽지 데이터베이스 저장 지난 스토리에서는 MYSQL 커뮤니티 서버를 서버에 설치하였지요. https://itadventure.tistory.com/442 node.js express | 템플릿 쪽지함#5. AWS 에 MYSQL 설치 이틀 가량 중 짜투리 시간을 투자해서 node.js 에.. itadventure.tistory.. 더보기