전체 글 170

[ Node.js ] - ngrok 이용하여 로컬 서버 외부에서 접속 허용하기

Ngrok 애플리케이션 개발시에 프론트엔드와 백엔드 api 연동 테스스 등을 하는 경우 로컬 서버를 외부에서 접속할 수 있게 하여 유용하게 사용할 수 있다. > brew install --cask ngrok https://ngrok.com/ 위의 사이트에 들어가서 회원가입 후 Getting-started - Your authtoken 에 들어가서 token 복사해둔다. 로컬에 구현한 서버를 실행시킨다. 서버를 실행시키지 않고, ngrok를 실행하면 해당 서버에 접속할 수 없다. 반드시 서버를 먼저 실행시키고, 아래의 명령어를 통해 ngrok를 실행한다. > ngrok http [외부에 공개하려는 port] 위와 같이 하면 아래와 같이 창이 나오는데 Forwarding 에 있는 url에 접속한다. 접속시에..

Javascript/Node.js 2022.08.29

[ Node.js ] - 엑셀 파일 만들기 & 엑셀 파일 읽기

write-excel-file 엑셀 파일을 만들어 준다. > npm install write-excel-file --save 코드 const writeXlsxFile = require("write-excel-file/node"); const fs = require("fs"); const HEADER_ROW = [ { value: "Name", fontWeight: "bold", }, { value: "Birth", fontWeight: "bold", }, { value: "phone", fontWeight: "bold", }, { value: "region", fontWeight: "bold", }, ]; const DATA_ROW_1 = [ // "Name" { type: String, value: "..

Javascript/Node.js 2022.08.23

[ AWS ] - sns 활용하여 메일과 메시지 보내기

SNS : Simple Notification Service 메일 또는 메시지 전송 기능을 제공하는 aws의 서비스이다. aws의 sns는 크게 A2A와 A2P로 나뉜다. Application to Application 의 약자인 A2A란 애플리케이션 간 메시징을 전송하는 것으로, 쉽게 이야기하면 aws의 sns 기능을 aws에서 제공하는 다른 서비스인 lambda, SQS 등의 서비스와 연동하는 것을 의미한다. 예를 들어 Lambda 함수가 구독하는 SNS 주제에 메시지가 게시되면 게시된 메시지의 페이로드와 함께 Lambda 함수가 호출되는 방식이 그러하다. 반면에 A2P는 Application to Person이라고 하여 사용자에게 메시지를 보내주는 형태이다. 예를 들어 개발자가 주제라고 하는 채널을..

AWS 2022.08.22

[ Node.js ] - sendgrid 통해서 메일 보내기

sendgrid는 메일 보내기 등의 서비스를 제공하는 플랫폼이다. 일정 수준 내에서 무료 서비스를 제공한다. 1. https://sendgrid.com/ 해당 사이트를 들어가 회원가입 한다. 2. 회원가입 후 로그인을 하면 우측 상단에 Dashboard 라고 되어있는 부분을 클릭한다. 3. Dashboard창으로 이동되면 가운데 부분에 Create a Single Sender라고 되어있는 부부을 클릭한다. 4. 아래와 같은 창이 나오면 해당 하는 정보를 입력한다. 나는 테스트 용으로 만든것이여서 임의로 정보를 입력하였다. From Email Address는 본인이 이메일을 보내려는 이메일 주소이끼 때문에, 해당 이메일 주소는 정확하게 입력하여야 한다. 5. 정보를 입력 후 create를 클릭하면 아래와 ..

Javascript/Node.js 2022.08.20

[ JAVA ] - 프로젝트 생성 후 hello world 찍기

자바와 이클립스 설치까지 완료된 것을 가정한다. 2022.07.24 - [JAVA] - [ JAVA ] - 자바 개발환경 구축 (feat mac) - 01 2022.07.24 - [JAVA] - [ JAVA ] - 자바 개발환경 구축 (feat mac) - 02 1. 이클립스를 킨 후 맨 위에 마우스 커서를 두면 아래와 같이 까만 메뉴창이 나온다. 여기서 File - New - Java Project를 클릭한다. 2. Project name에 본인이 원하는 프로젝트 명을 입력 후 Finish를 클릭한다. 보통 프로젝트 명의 첫글자는 대문자로 하는 것이 정석이다. 3. class를 생성한다. 클래스는 실질적으로 코드를 작성하는 부분이다. File - New - Class를 클릭한다. 4. 아래의 창이 나오..

JAVA 2022.08.19

[ JAVA ] - 필드와 메서드

클래스 쉽게 이야기하면 일정한 형식을 갖춘 틀이라고 볼 수 있으며, 클래스를 통해 인스턴스를 생성한다. 인스턴스는 해당 틀을 통해 만들어진 객체이다. * 클래스로부터 생성된 인스턴스는 힙메모리에 생성된다. 클래스를 통해 생성된 각각의 인스턴스는 다른 메모리에 서로 별개의 값을 가진다. 사용되지 않는 인스턴스는 가비지 컬렉터에 의해 지워진다. * 클래스는 new 예약어를 통해 사용한다. [ 클래스형 ] [ 변수명 ] = new [ 생성자 ] ex) Student studentA = new Student(); * JVM이 Main 함수를 호출하여 프로그램을 실행한다. 즉 해당 클래스 내에서 함수만 생성하고 실행이 필요하지 않은 경우 Main 함수를 만들지 않아도 된다. * 한 파일에서 여러 클래스를 만들 때..

JAVA 2022.08.19

[ JAVA ] - 기본 입출력 받기

입력받은 값 출력하기 Scanner sc = new Scanner(System.in); int i = sc.nextInt(); String str = sc.next(); //String str = sc.nextLine(); import java.util.Scanner; // Scanner를 사용하기 위해 자바에 내장된 라이브러리를 가져옴. public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // Scanner는 자바에서 제공하는 기본 라이브러리이다. System.out.print("정수를 입력하세요. : "); int i = sc.nextInt(); System.out.println..

JAVA 2022.08.19

[ JAVA ] - 기초 예제

사용자 정의 함수 - 최대 공약수 구하기 반환형 함수명 매개변수 public static int funName (int a, int b) { } 반환값이 없는 경우에는 void public static void funName2(){ } public class Main { // 반환형 함수명 매개변수 public static int function (int a, int b, int c) { int min; if (a > b) { if(b> c) { min = c; } else { min = b; } } else { if (a>c) { min = c; } else { min = a; } } for (int i = min; i > 0 ;i--) { if (a % i == 0 && b % i == 0 && c ..

JAVA 2022.08.19

[ Node.js ] - type module에서 require 사용하기

require / exports 와 import / export commonjs => require / exports es6 module => import (import * as name from 'name')/ export / export default 특정 파일이나 모듈을 불러오거나 내보내기 할 때 사용할 수 있는 것은 require/exports 또는 import/export 이다. 기본적으로 npm init -y을 통해 프로젝트가 생성된 경우 기본적인 설정값은 require/exports로 되어있다. import/export는 es6에서 발생한 것으로써 package.json파일에서 "type":"module"을 설정해줌으로써 사용할 수 있다. (참고로 require/exports는 "type":..

Javascript/Node.js 2022.08.17