본문 바로가기

코딩과 알고리즘149

백준 문제풀이 - 큰 수 A+B 오랜만에 백준 코딩 문제 풀이를 해보았습니다. 백준 문제 풀이는 코딩 실력을 테스트하는 일종의 연습용 사이트인데요. 참여자도 많고 문제도 어마어마하게 많습니다. 국내 '천하 제일 코딩대회'라고 해도 과언이 아닐텐데요. 개발자들끼리 서로 코딩 문제를 풀어 랭킹을 뽐내기 때문입니다. 다만 전혀 코드 분석 없어 대충 복붙해 넣기만 하는게 가능한 단점도 있는데요. 다른 분의 코드를 참조는 하되 풀이방법만 익히고 스스로 풀어보는게 중요합니다. 그렇지 않으면 실력이 늘지 않지요. 그나저나 오랜만에 로그인해보니 헉! 순위권이 10.000위권 밖으로 밀려나 있는게 아니지 않습니까? 두둥!! 개발자 블로거의 자존심(?)이 걸린 문제라 가만 있을수 없어 부랴부랴 문제를 풀어 10.000위권 안으로 진입시켜 놓았습니다. 다.. 2021. 12. 20.
AWS 안 보이는 요금 해제하기 탄력적 IP 주소 모두 지웠는데 요금이 나와요?! AWS 에서 리소스를 모두 지웠는대도 이상하게 요금이 발생하는 경우가 있습니다. 크레이가 확인해본 바로는 바로 리전별로 분리되는 요금 체계 때문인데요. 유사상황 가정 비슷한 상황을 가정해보았습니다. 탄력적 IP 주소 하나를 삭제를 안했지만 확인이 어려운 상황입니다. AWS 에서는 인스턴스에 연결되어 있는 탄력적 IP 는 요금이 부과되지 않으나 인스턴스가 꺼져 있거나 인스턴스를 삭제한 경우 탄력적 IP 주소는 외톨이가 되면서, 인스턴스에 연결되어 있지 않은 IP주소 요금이 발생하게 됩니다. IP주소 부족 때문에 붙는 일종의 벌금(?)같은 건데요. 이 때 아무리 콘솔 창을 확인해봐도 탄력적 IP주소는 사용 내역이 없습니다. 이런 상황인데도 만일 계속해서 요금.. 2021. 12. 5.
node.js express 클래스 파일 모듈화 프로그램은 쪼갤수록 단순해진다! 이 개념을 아시나요? 지난 시간에 다루었던 클래스도 예외가 아닌데요. 이번 시간에는 클래스를 모듈로 분리하는 방법과 쪽지 추가 기능에 대해 점진적인 개발 과정 설명을 드리도록 하겠습니다. 스크롤 압박이 좀 있을 수 있습니다 :) 소스와 결과물은 아래 링크를, → https://itadventure.tistory.com/443?category=715914 처음부터 정주행하시려면 아래 링크를 참조하세요. → https://itadventure.tistory.com/431 클래스를 분리하자! 일반적으로 하나의 클래스는 하나의 파일에 기능을 넣고 파일명도 동일한 이름을 짓는 것이 좋습니다. 그 후에 메인 기능에서 갖다 쓰는게 관리 측면에서 좋은데요. 철칙은 아니지만, 이런 규칙성.. 2021. 11. 27.
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.. 2021. 10. 4.
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.. 2021. 9. 26.
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.. 2021. 9. 14.
node.js express | 템플릿 쪽지함#6. 쪽지 데이터베이스 저장 지난 스토리에서는 MYSQL 커뮤니티 서버를 서버에 설치하였지요. https://itadventure.tistory.com/442 node.js express | 템플릿 쪽지함#5. AWS 에 MYSQL 설치 이틀 가량 중 짜투리 시간을 투자해서 node.js 에서 쪽지불러오기 및 저장 부분을 완성했습니다. C나 C#과는 좀 다른 스타일의 난이도가 있더군요 ㅎ.. 약간 사용법이 까다롭다고 보면 될것 같습니 itadventure.tistory.com 이어서 node.js 에서 MYSQL 서비스를 이용하여 쪽지함을 구성하는 소스를 다뤄보도록 하겠습니다. 우선 전체 소스를 한번에 구성하고 뭔지 구경부터 해보도록 하지요. ( 실제 개발은 점진적으로 한 단계씩 진행하는 것입니다. 누구든지 한번에 짠 하고 개발을 .. 2021. 9. 6.
node.js express | 템플릿 쪽지함#5. AWS 에 MYSQL 설치 이틀 가량 중 짜투리 시간을 투자해서 node.js 에서 쪽지불러오기 및 저장 부분을 완성했습니다. C나 C#과는 좀 다른 스타일의 난이도가 있더군요 ㅎ.. 약간 사용법이 까다롭다고 보면 될것 같습니다. node.js는 기본동작이 비동기 방식이라 동기 방식처럼 작동하게 하는 async, await 라는 특별한 방식을 이용해야 하는데요. 차후 진행하면서 다뤄보겠습니다. 단순 웹개발로 보자면 node.js 개발이 좀 불편한 감이 있습니다. 다만 그만큼 빠른 속도를 보장하고 무엇보다 node.js 를 이용하여 구글 스프레드 시트에서 사용하는 것과 유사한 실시간 웹기술을 익히는게 목표니까요 :) 지난 스토리에서는 쪽지를 작성 후 서버에 저장되는 원리에 대한 부분을 살펴보았는데요, https://itadventu.. 2021. 9. 6.
node.js express | 템플릿 쪽지함#4. 쪽지 작성편(2) 지난 스토리에서는 쪽지를 직접 작성하면 보드판에 나열되는 부분에 대한 샘플과 함께 템플릿에서의 쪽지 작성에 대한 태그와 스크립트 부분을 설명드렸는데요. https://itadventure.tistory.com/440 node.js express | 템플릿 쪽지함#3. 쪽지 작성편(1) 뭐니뭐니해도 웹사이트의 사용자 방문율을 높이려면 웹사이트를 사용하는 사용자와 "소통"할 수 있는 수단이 있어야 할텐데요. 지난 스토리에 이어 사용자가 쪽지를 작성하는 부분에 대해 살펴 itadventure.tistory.com 이렇게 서버로 전달된 쪽지를, 서버에서 쪽지배열 변수인 memo 에 추가하는 부분을 살펴보겠습니다. 서버에서 실행되는 main.js 에서 핵심이 되는 코드는 아래와 같습니다. app.post('/me.. 2021. 9. 4.
node.js express | 템플릿 쪽지함#3. 쪽지 작성편(1) 뭐니뭐니해도 웹사이트의 사용자 방문율을 높이려면 웹사이트를 사용하는 사용자와 "소통"할 수 있는 수단이 있어야 할텐데요. 지난 스토리에 이어 사용자가 쪽지를 작성하는 부분에 대해 살펴보겠습니다. https://itadventure.tistory.com/439 node.js express | 템플릿 쪽지함#2. 배열의 템플릿 전달 이번 스토리에서는 지난 스토리에 이어서 배열 변수를 템플릿에 전달하여 출력하는 부분에 대해 설명드리도록 하겠습니다. https://itadventure.tistory.com/438 node.js express | 템플릿 쪽지함#1. 구경 지난. itadventure.tistory.com main.js 에서 쪽지를 추가하는 코드는 아래와 같은데요. memo.push(new Arra.. 2021. 8. 31.
node.js express | 템플릿 쪽지함#2. 배열의 템플릿 전달 이번 스토리에서는 지난 스토리에 이어서 배열 변수를 템플릿에 전달하여 출력하는 부분에 대해 설명드리도록 하겠습니다. https://itadventure.tistory.com/438 node.js express | 템플릿 쪽지함#1. 구경 지난 시간에는 템플릿의 사용에 대해서 알아보았습니다. https://itadventure.tistory.com/437 node.js express | 템플릿(ejs) 지난 스토리에서는 Node.js 에서 동적웹페이지를 만드는 기초 부분에 대해 알아보았.. itadventure.tistory.com views/memo.ejs 파일은 아래와 같이 제목만 달랑 들어있는 템플릿인데요. ejs의 소스에는 제목이 표시되는 아랫 부분에 아래와 같은 소스가 들어 있습니다. PHP 나 .. 2021. 8. 29.
node.js express | 템플릿 쪽지함#1. 구경 지난 시간에는 템플릿의 사용에 대해서 알아보았습니다. https://itadventure.tistory.com/437 node.js express | 템플릿(ejs) 지난 스토리에서는 Node.js 에서 동적웹페이지를 만드는 기초 부분에 대해 알아보았는데요. 사실 이 방법은 Node.js의 편의성을 충분히 발휘한 방법은 아닙니다. Node.js 에는 템플릿이라는 멋진 기능 itadventure.tistory.com 이번 시간부터는 템플릿을 이용한 쪽지함이란걸 만들어 볼텐데요. 내용이 좀 되기 때문에 다회차에 걸쳐 진행될 예정입니다. 구구절절 설명보다는 바로 이미지를 보시는 편이 나을듯 하네요. 바로 이런 겁니다. 보드판에 쪽지들이 중구난방으로 나열되어 있고, + 버튼을 눌러 쪽지를 추가하면 랜덤한 위치에.. 2021. 8. 25.