목록

'홈' 729건

  • 다양한 경제지표 데이터를 한 번에 수집하기
    프로그래밍 언어/Python · 댓글
    이번에는 기준금리, 국고채 금리, 회사체 금리, 코스피지수, 원달러환율 데이터를 한 번에 불러와 액셀 파일에 저장하겠습니다. 필요한 갓은 각 지표의 통계표코드와 통계항목 코드입니다.ECOS의 통계코드검색(https://ecos.bok.or.kr/api/#/DevGuide/StatisticalCodeSearch)페이지에서 다섯 가지 지표의 통계값 코드와 통계항목 코드를 검색합니다. 비주얼 스튜디오 코드에서 새로운 파일을 생성하고 파일명을 'step_2_2.py'로 변경합니다. 다음과 같이 코드를 입력하고 대화형 창에서 실행하면 'output' 폴더에 'step_2_2.xlsx' 파일이 생성됩니다. 출력 파일의 형식이 CSV가 아닌 xlsx인 이유는 엑셀 파일에 지표별로 워크 시트를 생성하기 위해서 입니다...
  • pm(2)
    프로그래밍 언어/NODE JS · 댓글
    백그라운드에서 돌고 있는 노드 프로세스를 확인할 방법이 필요한데, npx pm2 list 명령어를 사용하면 됩니다.$ npx pm2 list npm start를 실행했을 때처럼 현재 프로세스 정보가 표시됩니다. 프로세스 아이디(pid), CPU와 메모리 사용량(mem) 등이 보여 편리합니다. optime과 status 사이에 재시작된 횟수가 나오는데, 0이 아니라면 서버가 재부팅된 적이 있다는 것을 의미합니다. 이 경우에는 왜 재시작되었는지 확인해봐야 합니다. npx pm2 logs로 로그를 확인할 수 있습니다. 에러 로그만 보고 싶다면 위에 -err을 붙이면 됩니다. 출력 줄 수를 바꾸고 싶다면 --lines 숫자 옵션을 사용합니다.나중에 pm2 프로세스를 종료하고 싶다면 콘솔에 npx pm2 kill..
  • JSP에서 파일 다운로드
    프로그래밍 언어/자바 웹 · 댓글
    1. 다음과 같이 sec01.ex02 패키지를 만들고 FileDownload 서블릿을 생성합니다. 이어서 test02 폴더를 만들고 실습 파일 first.jsp와 result.jsp를 추가합니다. 2. 첫 번째 JSP에서 다운로드할 이미지 파일 이름을 두 번째 JSP로 전달하도록 first.jsp를 작성합니다. 3. 두 번째 JSP인 result.jsp를 다음과 같이 작성합니다. 이미지 파일 표시창에서 태그의 src 속성에 다운로드를 요청할 서블릿 이름 download.do와 파일 이름을 GET 방식으로 전달합니다. 다운로드한 이미지 파일을 바로 태그에 표시하고, 태그를 클릭해 서블릿에 다운로드를 요청하면 파일 전체를 로컬 PC에 다운로드합니다. ..
  • 다양한 경제지표 데이터 수집하기 - ECOS API 사용하기
    프로그래밍 언어/Python · 댓글
    이번에는 datakart 패키지를 사용해서 일일이 모든 데이터를를 샘플 테스트하지 않고도 API 주소를 불러올 수 있도록 해 보겠습니다.비주얼 스튜디오 코드에서 새로운 파일을 생성하고 파일을 'step_2_1.py'로 변경합니다. 다음과 같이 코드를 입력하고, 대화형 창에서 실행하면 'outut' 폴더에 기존금리 데이터가 CSV 형식으로 저장합니다. ECOS의 개발 명세서를 확인하지 않아도 데이터를 손쉽게 불러올 수 있습니다.from pathlib import Pathimport pandas as pdfrom datakart import Ecosfrom step_1_1 import OUT_DIRECOS_API = "K2D2864OFY3ZCW1J93OT"ecos = Ecos(ECOS_API) # 07res..
  • pm2(1)
    프로그래밍 언어/NODE JS · 댓글
    pm2는 활한 서버 운영을 위한 패키지입니다. '개발할 때 nodemon을 쓴다면, 배포할 때는 pm2를 쓴다'는 말이 있을 정도로 유용합니다. 가장 큰 기능은 서버가 에러로 인해 꺼졌을 때 서 버를 다시 켜주는 것입니다. 또 하나의 중요한 기능은 바로 멀티 프로세싱입니다. 멀티 스레딩은 아니지만 멀티 프로세싱을 지 원하여 노드 프로세스 개수를 한 개 이상으로 늘릴 수 있습니다. 기본적으로는 CPU 코어를 하나 만 사용하는데, pm2를 사용해서 프로세스를 여러 개 만들면 다른 코어들까지 사용할 수 있습니다. 클라이언트로부터 요청이 올 때 알아서 요청을 여러 노드 프로세스에 고르게 분배합니다. 하 나의 프로세스가 받는 부하가 적어지므로 서비스를 더 원활하게 운영할 수 있습니다. 단점도 있습니다. 멀티 스레..
  • JSP 페이지에서 파일 업로드
    프로그래밍 언어/자바 웹 · 댓글
    1. sec01.ex01 패키지를 만들고 FileUpload 클래스를 생성합니다. 또 test01 폴더를 생성하고 실습 파일 uploadForm.jsp를 추가합니다. 2. 파일을 업로드할 때 사용할 저장소를 다음과 같이 C 드라이브 아래에 만듭니다. 여기서는 폴더 이름을 file_repo로 하였습니다. 3. uploadForm.jsp를 다음과 같이 작성합니다. 파일 업로드 창에서 파일을 업로드할 때 태그의 encType 속성은 반드시 multipart/form-data로 지정해야 합니다. 파일1: 파일2: 매개변수1: 매개변수2: 매개변수3: 4. 파일 업로드를 처리하는 서블릿인 FileUpload 클래스를 다음과 같..
  • 통계 조회 조건 설정 API 사용하기 - 기준금리 데이터 수집
    프로그래밍 언어/Python · 댓글
    통계값 코드값과 통계항목 코드값을 수정해서 API 주소를 조회한 뒤, 파이썬에서 ECOS API를 사용해 기준금리 데이터를 불러옵니다. 먼저 기준금리의 통계값 코드값과 통계항목 코드값을 검색한 뒤, ECOS 개발가이드의 [샘플 테스트]에서 API 주소를 검색할 것입니다. 01 한국은행 OpenAPI 서비스 홈페이지의 상단 [개발가이드] - [통계코드검색] 메뉴를 클릭합니다. 02 [통계코드검색] 페이지의 왼쪽에 [통계표] 검색창에 '기준금리'를 검색한 뒤 '1.3.1. 한국은행 기준금리 및 여수신금리[722Y001][A, D, M, Q]'를 선택합니다. ' [722Y001]'는 통계표 코드 값 '[A, D, M, Q]'는 주기로 의미합니다. 오른쪽 [통계항목] 창에서는 오른쪽 [통계항목] 창에서는 통계항..
  • 피그마 MCP로 손쉽게 유튜브 섬네일 만들기
    바이브 코딩/Cursor AI · 댓글
    실습을 위해 먼저 피그마 데스크톱 앱을 설치합니다.Figma 데스크톱 앱 설치: https://www.figma.com/ko-kr/downloads/ Figma 다운로드 | 데스크톱 및 모바일용 웹 디자인 앱macOS 또는 Windows용 데스크톱에 Figma 웹 디자인 앱을 설치하세요. 그리고 글꼴 설치 프로그램과 디바이스 미리보기 앱도 다운로드하세요.www.figma.com 01 피그마 데스크톱 앱 설치가 완료되었다면 프로그램을 실행한 다음 왼쪽 위의 홈 아이콘을 눌러 메인 화면으로 이동합니다. 그런 다음 오른쪽 위의 [Design]을 눌러 빈 디자인 파일을 만듭니다. 02 빈 디자인 파일에서 페이지 빈 공간에 마우스 오른쪽 클릭을 하고 [Plugins -> Manage plugins...]를 누릅니..
  • sanitize-html, csurf
    프로그래밍 언어/NODE JS · 댓글
    sanitize-html, csurf 패키지는 각각 XXS, CSRF 공격을 막기 위한 패키지입니다.$ npm i sanitize-html$ npm i csurf XSS는 악의적인 사용자가 사이트에 스크립트를 삽입하는 공격입니다. 악성 사용자가 게시글이나 댓글 등을 업로드할 때 자바스크립가 포함된 태그를 올리면, 나중에 다른 사용자가 그 게시글이나 댓글을 볼 때 그 스크립트가 실행되어서 예기치 못한 동작을 하게 됩니다.따라서 서버에서는 사용자가 게시글을 업로드할 때 스크립트가 포함되어 있는지 검사해서, 존재하면 제거해야 합니다. 다만, 공경성 스크립트 유형이 많으므로 라이브러리의 도움을 받는 것이 좋습니다.사용법은 간단합니다. const sanitizeHtml = require('sanitize-html..
  • 파일 업로드 관련 API
    프로그래밍 언어/자바 웹 · 댓글
    파일 업로드 라이브러리에서 제공하는 클래스에는 DiskFileItemFactory, ServletFileUpload가 있습니다. 각 클래스에서 제공하는 기능을 아래 표에 정리하였습니다. DiskFileItemFactory 클래스가 제공하는 메서드메서드기능 setRepository() 파일을 저장할 디렉터리를 설정합니다. setSizeThreadhold()최대 업로드 가능한 파일 크기를 설정합니다. ServletFileUpload 클래스가 제공하는 메서드 메서드 기능 parseRequest()전송된 매개변수를 List 객체로 얻습니다.getItemIterator()전송된 매개변수를 Iterator 타입으로 얻습니다.
  • 시퀄라이즈: cross-env
    프로그래밍 언어/NODE JS · 댓글 1
    cross-env 패키지를 사용하면 동적으로 process.env(환경 변수)를 변경할 수 있습니다. 또한, 모든 운영체제에서 동일한 방법으로 환경 변수를 변경할 수 있게 됩니다.기존 package.json을 다음과 같이 바꿉니다. package.json{ "name": "nodebird", "version": "0.0.1", "description": "익스프레스로 만드는 SNS 서비스", "main": "server.js", "scripts": { "start": "NODE_ENV=production PORT=80 node server", "dev": "nodemon server", "test": "jest" }, ...} 서버 실행을 위한 npm 스크립트를 두 개로 나누..
  • 나만의 커뮤니티 게시판 만들기
    바이브 코딩/Cursor AI · 댓글
    01 먼저 개발에 필요한 커뮤니티 하나 준비합니다. 02 이 상태에서 커서에세 Sequential Thinking을 이용하여 커뮤니티 게시판 설계를 부탁합니다. 이때 커서가 참고할 수 있도록 레딧의 화면을 캠처하여 이미지 파일로 프롬프트를 포함시켜 줍니다. 이미지 파일을 채팅방에 Ctrl + C하여 Ctrl + V 하면 대화 세션에 추가될 것입니다. 그리고 커서에게 만들고자 하는 커뮤니티 게시판의 사용 기술과 기능을 구체적으로 나열해줍니다.sequential thinking으로 이런 디자인의 커뮤니티 게시판을 하나 개발하려는데 같이 고민해줘. 고민 단계는 5단계까지만 해. 기술은 next.js, tailwindcss와 supabase를 이용하려고 해. 이때 supabase는 supabase MCP로 모두..

다양한 경제지표 데이터를 한 번에 수집하기

이번에는 기준금리, 국고채 금리, 회사체 금리, 코스피지수, 원달러환율 데이터를 한 번에 불러와 액셀 파일에 저장하겠습니다. 필요한 갓은 각 지표의 통계표코드와 통계항목 코드입니다.ECOS의 통계코드검색(https://ecos.bok.or.kr/api/#/DevGuide/StatisticalCodeSearch)페이지에서 다섯 가지 지표의 통계값 코드와 통계항목 코드를 검색합니다. 비주얼 스튜디오 코드에서 새로운 파일을 생성하고 파일명을 'step_2_2.py'로 변경합니다. 다음과 같이 코드를 입력하고 대화형 창에서 실행하면 'output' 폴더에 'step_2_2.xlsx' 파일이 생성됩니다. 출력 파일의 형식이 CSV가 아닌 xlsx인 이유는 엑셀 파일에 지표별로 워크 시트를 생성하기 위해서 입니다...

pm(2)

백그라운드에서 돌고 있는 노드 프로세스를 확인할 방법이 필요한데, npx pm2 list 명령어를 사용하면 됩니다.$ npx pm2 list npm start를 실행했을 때처럼 현재 프로세스 정보가 표시됩니다. 프로세스 아이디(pid), CPU와 메모리 사용량(mem) 등이 보여 편리합니다. optime과 status 사이에 재시작된 횟수가 나오는데, 0이 아니라면 서버가 재부팅된 적이 있다는 것을 의미합니다. 이 경우에는 왜 재시작되었는지 확인해봐야 합니다. npx pm2 logs로 로그를 확인할 수 있습니다. 에러 로그만 보고 싶다면 위에 -err을 붙이면 됩니다. 출력 줄 수를 바꾸고 싶다면 --lines 숫자 옵션을 사용합니다.나중에 pm2 프로세스를 종료하고 싶다면 콘솔에 npx pm2 kill..

JSP에서 파일 다운로드

1. 다음과 같이 sec01.ex02 패키지를 만들고 FileDownload 서블릿을 생성합니다. 이어서 test02 폴더를 만들고 실습 파일 first.jsp와 result.jsp를 추가합니다. 2. 첫 번째 JSP에서 다운로드할 이미지 파일 이름을 두 번째 JSP로 전달하도록 first.jsp를 작성합니다. 3. 두 번째 JSP인 result.jsp를 다음과 같이 작성합니다. 이미지 파일 표시창에서 태그의 src 속성에 다운로드를 요청할 서블릿 이름 download.do와 파일 이름을 GET 방식으로 전달합니다. 다운로드한 이미지 파일을 바로 태그에 표시하고, 태그를 클릭해 서블릿에 다운로드를 요청하면 파일 전체를 로컬 PC에 다운로드합니다. ..

다양한 경제지표 데이터 수집하기 - ECOS API 사용하기

이번에는 datakart 패키지를 사용해서 일일이 모든 데이터를를 샘플 테스트하지 않고도 API 주소를 불러올 수 있도록 해 보겠습니다.비주얼 스튜디오 코드에서 새로운 파일을 생성하고 파일을 'step_2_1.py'로 변경합니다. 다음과 같이 코드를 입력하고, 대화형 창에서 실행하면 'outut' 폴더에 기존금리 데이터가 CSV 형식으로 저장합니다. ECOS의 개발 명세서를 확인하지 않아도 데이터를 손쉽게 불러올 수 있습니다.from pathlib import Pathimport pandas as pdfrom datakart import Ecosfrom step_1_1 import OUT_DIRECOS_API = "K2D2864OFY3ZCW1J93OT"ecos = Ecos(ECOS_API) # 07res..

pm2(1)

pm2는 활한 서버 운영을 위한 패키지입니다. '개발할 때 nodemon을 쓴다면, 배포할 때는 pm2를 쓴다'는 말이 있을 정도로 유용합니다. 가장 큰 기능은 서버가 에러로 인해 꺼졌을 때 서 버를 다시 켜주는 것입니다. 또 하나의 중요한 기능은 바로 멀티 프로세싱입니다. 멀티 스레딩은 아니지만 멀티 프로세싱을 지 원하여 노드 프로세스 개수를 한 개 이상으로 늘릴 수 있습니다. 기본적으로는 CPU 코어를 하나 만 사용하는데, pm2를 사용해서 프로세스를 여러 개 만들면 다른 코어들까지 사용할 수 있습니다. 클라이언트로부터 요청이 올 때 알아서 요청을 여러 노드 프로세스에 고르게 분배합니다. 하 나의 프로세스가 받는 부하가 적어지므로 서비스를 더 원활하게 운영할 수 있습니다. 단점도 있습니다. 멀티 스레..

JSP 페이지에서 파일 업로드

1. sec01.ex01 패키지를 만들고 FileUpload 클래스를 생성합니다. 또 test01 폴더를 생성하고 실습 파일 uploadForm.jsp를 추가합니다. 2. 파일을 업로드할 때 사용할 저장소를 다음과 같이 C 드라이브 아래에 만듭니다. 여기서는 폴더 이름을 file_repo로 하였습니다. 3. uploadForm.jsp를 다음과 같이 작성합니다. 파일 업로드 창에서 파일을 업로드할 때 태그의 encType 속성은 반드시 multipart/form-data로 지정해야 합니다. 파일1: 파일2: 매개변수1: 매개변수2: 매개변수3: 4. 파일 업로드를 처리하는 서블릿인 FileUpload 클래스를 다음과 같..

통계 조회 조건 설정 API 사용하기 - 기준금리 데이터 수집

통계값 코드값과 통계항목 코드값을 수정해서 API 주소를 조회한 뒤, 파이썬에서 ECOS API를 사용해 기준금리 데이터를 불러옵니다. 먼저 기준금리의 통계값 코드값과 통계항목 코드값을 검색한 뒤, ECOS 개발가이드의 [샘플 테스트]에서 API 주소를 검색할 것입니다. 01 한국은행 OpenAPI 서비스 홈페이지의 상단 [개발가이드] - [통계코드검색] 메뉴를 클릭합니다. 02 [통계코드검색] 페이지의 왼쪽에 [통계표] 검색창에 '기준금리'를 검색한 뒤 '1.3.1. 한국은행 기준금리 및 여수신금리[722Y001][A, D, M, Q]'를 선택합니다. ' [722Y001]'는 통계표 코드 값 '[A, D, M, Q]'는 주기로 의미합니다. 오른쪽 [통계항목] 창에서는 오른쪽 [통계항목] 창에서는 통계항..

피그마 MCP로 손쉽게 유튜브 섬네일 만들기

실습을 위해 먼저 피그마 데스크톱 앱을 설치합니다.Figma 데스크톱 앱 설치: https://www.figma.com/ko-kr/downloads/ Figma 다운로드 | 데스크톱 및 모바일용 웹 디자인 앱macOS 또는 Windows용 데스크톱에 Figma 웹 디자인 앱을 설치하세요. 그리고 글꼴 설치 프로그램과 디바이스 미리보기 앱도 다운로드하세요.www.figma.com 01 피그마 데스크톱 앱 설치가 완료되었다면 프로그램을 실행한 다음 왼쪽 위의 홈 아이콘을 눌러 메인 화면으로 이동합니다. 그런 다음 오른쪽 위의 [Design]을 눌러 빈 디자인 파일을 만듭니다. 02 빈 디자인 파일에서 페이지 빈 공간에 마우스 오른쪽 클릭을 하고 [Plugins -> Manage plugins...]를 누릅니..

sanitize-html, csurf

sanitize-html, csurf 패키지는 각각 XXS, CSRF 공격을 막기 위한 패키지입니다.$ npm i sanitize-html$ npm i csurf XSS는 악의적인 사용자가 사이트에 스크립트를 삽입하는 공격입니다. 악성 사용자가 게시글이나 댓글 등을 업로드할 때 자바스크립가 포함된 태그를 올리면, 나중에 다른 사용자가 그 게시글이나 댓글을 볼 때 그 스크립트가 실행되어서 예기치 못한 동작을 하게 됩니다.따라서 서버에서는 사용자가 게시글을 업로드할 때 스크립트가 포함되어 있는지 검사해서, 존재하면 제거해야 합니다. 다만, 공경성 스크립트 유형이 많으므로 라이브러리의 도움을 받는 것이 좋습니다.사용법은 간단합니다. const sanitizeHtml = require('sanitize-html..

파일 업로드 관련 API

파일 업로드 라이브러리에서 제공하는 클래스에는 DiskFileItemFactory, ServletFileUpload가 있습니다. 각 클래스에서 제공하는 기능을 아래 표에 정리하였습니다. DiskFileItemFactory 클래스가 제공하는 메서드메서드기능 setRepository() 파일을 저장할 디렉터리를 설정합니다. setSizeThreadhold()최대 업로드 가능한 파일 크기를 설정합니다. ServletFileUpload 클래스가 제공하는 메서드 메서드 기능 parseRequest()전송된 매개변수를 List 객체로 얻습니다.getItemIterator()전송된 매개변수를 Iterator 타입으로 얻습니다.

시퀄라이즈: cross-env

cross-env 패키지를 사용하면 동적으로 process.env(환경 변수)를 변경할 수 있습니다. 또한, 모든 운영체제에서 동일한 방법으로 환경 변수를 변경할 수 있게 됩니다.기존 package.json을 다음과 같이 바꿉니다. package.json{ "name": "nodebird", "version": "0.0.1", "description": "익스프레스로 만드는 SNS 서비스", "main": "server.js", "scripts": { "start": "NODE_ENV=production PORT=80 node server", "dev": "nodemon server", "test": "jest" }, ...} 서버 실행을 위한 npm 스크립트를 두 개로 나누..

나만의 커뮤니티 게시판 만들기

01 먼저 개발에 필요한 커뮤니티 하나 준비합니다. 02 이 상태에서 커서에세 Sequential Thinking을 이용하여 커뮤니티 게시판 설계를 부탁합니다. 이때 커서가 참고할 수 있도록 레딧의 화면을 캠처하여 이미지 파일로 프롬프트를 포함시켜 줍니다. 이미지 파일을 채팅방에 Ctrl + C하여 Ctrl + V 하면 대화 세션에 추가될 것입니다. 그리고 커서에게 만들고자 하는 커뮤니티 게시판의 사용 기술과 기능을 구체적으로 나열해줍니다.sequential thinking으로 이런 디자인의 커뮤니티 게시판을 하나 개발하려는데 같이 고민해줘. 고민 단계는 5단계까지만 해. 기술은 next.js, tailwindcss와 supabase를 이용하려고 해. 이때 supabase는 supabase MCP로 모두..