반응형

이 포스트의 동영상 강의

https://youtu.be/Krc4mHkGLqM

 

 

 

일렉트론

일렉트론은 Javascript, HTML, CSS를 이용하여 Desktop Application을 만드는 프레임워크입니다.

따라서 자바스크립트와 웹개발 지식을 가지고 있다면 쉽게 데스크톱 애플리케이션을 만들 수 있습니다.

그리고, 일렉트론은 1개의 코드만으로 Cross-Platform에서 작동하는 애플리케이션을 빌드할 수 있습니다.

 

일렉트론은 

  • 2013.4 Atom Editor를 만들기 위해 시작한 Atom Shell에서 시작
  • 2014.5 MIT라이선스 오픈소스로 전환
  • 2015.4 Atom Shell에서 Electron으로 명칭 변경
  • 2016.5 Electron V1.0 출시

일렉트론 아키텍처

  • Backend - Nodejs 런타임
  • Frontend -Chromium(크로미엄, 오픈소스 웹브라우저 프로젝트이며 구글 크롬이 이것을 사용함)

Electron Architecture

일렉트론을 사용하여 만들어진 Application

  • 일렉트론을 이용해 개발된 앱은 https://www.electronjs.org/apps 에서 확인할 수 있습니다.
  • 굉장히 많은 앱 리스트가 있고, 그 중 우리가 잘 아는 앱들은 다음과 같은 것들이 있습니다.

Electron으로 개발된 Application

일렉트론 Application의 File 구조

Electron Application Files

일렉트론의 장점

  • 웹기술을 이용해 Desktop Application 개발이 가능.
  • 한개의 코드로 Cross platform에서 작동하는 애플리케이션을 만들 수 있음.
  • NPM을 이용해 node package들을 사용할 수 있음.
반응형
반응형

React 소스 분석을 위해 에디터는 VSCode(Visual Studio Code)를 사용합니다.

  • 우선 VSCode를 실행합니다.
  • 메뉴-파일-폴더열기를 선택하고 생성한 프로젝트 폴더를 선택합니다.
    예) C:\workspace\my-first-react-app

폴더 열기

  • 폴더 구조

  • index 페이지 호출 구조

index 페이지 호출 구조

  • App.js 분석

App.js 분석

반응형
반응형

 

이 포스트의 동영상 강의 URL

https://youtu.be/BRDw_rJ74vY

 

 

리액트 프로젝트를 만들기

  • npx create-react-app s3-react-file-upload

패키지 추가

  • npm i aws-sdk
  • npm i reactstrap

컴포넌트 생성

  • S3Upload.js

코드 작성

  • import
import './App.css';
import {useState} from "react";
import AWS from 'aws-sdk';
import { Row, Col, Button, Input, Alert } from 'reactstrap';
  • 변수 선언
const [progress , setProgress] = useState(0);
const [selectedFile, setSelectedFile] = useState(null);
const [showAlert, setShowAlert] = useState(false);
  • s3 정보를 설정합니다.
const ACCESS_KEY = 'IAM의 ACCESS KEY';
const SECRET_ACCESS_KEY = 'IAM의 SECRET ACCESS KEY';
const REGION = "ap-northeast-2";
const S3_BUCKET = 'codegear-react-file-upload-test-bucket';

AWS.config.update({
  accessKeyId: ACCESS_KEY,
  secretAccessKey: SECRET_ACCESS_KEY
});

const myBucket = new AWS.S3({
  params: { Bucket: S3_BUCKET},
  region: REGION,
});
  • 파일 선택시 function
const handleFileInput = (e) => {
  const file = e.target.files[0];
  const fileExt = file.name.split('.').pop();
  if(file.type !== 'image/jpeg' || fileExt !=='jpg'){
    alert('jpg 파일만 Upload 가능합니다.');
    return;
  }
  setProgress(0);
  setSelectedFile(e.target.files[0]);
}
  • upload 버튼 click시 function
const uploadFile = (file) => {
  const params = {
    ACL: 'public-read',
    Body: file,
    Bucket: S3_BUCKET,
    Key: "upload/" + file.name
  };
  
  myBucket.putObject(params)
    .on('httpUploadProgress', (evt) => {
      setProgress(Math.round((evt.loaded / evt.total) * 100))
      setShowAlert(true);
      setTimeout(() => {
        setShowAlert(false);
        setSelectedFile(null);
      }, 3000)
    })
    .send((err) => {
      if (err) console.log(err)
    })
}

html

 return (
    <div className="App">
      <div className="App-header">
        <Row>
          <Col><h1>File Upload</h1></Col>
        </Row>
      </div>
      <div className="App-body">
        <Row>
          <Col>
            { showAlert?
              <Alert color="primary">업로드 진행률 : {progress}%</Alert>
              : 
              <Alert color="primary">파일을 선택해 주세요.</Alert> 
            }
          </Col>
        </Row>
        <Row>
          <Col>
            <Input color="primary" type="file" onChange={handleFileInput}/>
            {selectedFile?(
              <Button color="primary" onClick={() => uploadFile(selectedFile)}> Upload to S3</Button>
            ) : null }
          </Col>
        </Row>
      </div>
    </div>
  );

App.css

.App-body {
  background-color: #6d7b97;
  min-height: 50vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: calc(10px + 2vmin);
  color: white;
}

.App-body .alert-message {
  height: 50px;
  background-color: #61dafb;
}

App.js에 S3Upload 컴포넌트 추가

App.js에 S3Upload 컴포넌트를 추가합니다.

  return (
    <S3Upload/>
  );

빌드

터미널에서 다음 스크립트를 실행합니다.

npm run build
빌드 후 프로젝트폴더/build에 생성 된 파일들

build 파일들

 

s3에 애플리케이션 업로드

build 폴더 아래에 있는 모든 파일을 s3에 업로드합니다.

S3에 빌드 파일 업로드

index.html URL 확인

index.html을 클릭해서 속성의 url을 확인한 후 브라우저에서 실행합니다.

index.html url 확인

권한 설정 변경

아래와 같이 접근오류가 발생할 경우

접근 오류

s3에 업로드한 모든 파일을 선택후 -> 퍼블릭으로 설정해줍니다.

퍼블릭 설정

최종화면

다시 index.html에 접속해보시면 다음과 같이 화면이 나옵니다.

최종화면

반응형
반응형

 

이 포스트의 동영상 강의 URL

https://youtu.be/-BmF30R_erk

 

AWS의 S3는 단순 Storage 제공 서비스입니다.

EC2와 같이 프로그램을 실행시킬 수는 없고, 파일을 업로드하거나 html과 같은 정적 페이지는 서비스 할 수 있습니다.

React로 file upload 기능을 하는 애플리케이션을 S3에서 서비스 하는 기능을 만들어보겠습니다.

 

S3 버킷 만들기

  • aws에 로그인 한 후 검색창에 s3를 입력합니다.
    S3를 선택합니다
    aws s3
  • 버킷 만들기를 클릭합니다.
    버킷만들기
  • 버킷 이름을 입력합니다. (버킷 이름은 리전을 통틀어 유일한 이름만 사용 가능합니다)
    버킷 이름 : codegear-react-file-upload-test-bucket
    버킷 이름 입력
  • 테스트용도이므로 퍼블릭 액세스 차단 설정을 해제합니다.
    퍼블릭 액세스 차단 비활성화(테스트용도)
  • 버킷 만들기를 클릭합니다.
    아래와 같이 버킷이 만들어 집니다.
    버킷 생성
  • 버킷 이름을 클릭하면 파일 업로드를 할 수 있는 화면이 나옵니다.
  • 권한-CORS에 다음을 입력합니다.
[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "GET",
            "PUT",
            "POST",
            "HEAD"
        ],
        "AllowedOrigins": [
            "*"
        ],
        "ExposeHeaders": [
            "x-amz-server-side-encryption",
            "x-amz-request-id",
            "x-amz-id-2"
        ],
        "MaxAgeSeconds": 3000
    }
]
  • 이제 S3의 사용 준비가 완료되었습니다.
반응형
반응형

이 포스트의 동영상 강의 URL

https://youtu.be/rX_c3DXvG2g

 

React 개발을 위한 IDE(Integrated Development Environment, 통합개발환경)로 Visual Studio Code를 많이 사용합니다. 

Visual Studio Code는 Microsoft에서 개발한 오픈소스이고, 무료로 사용 가능합니다.

 

VSCode 설치

https://code.visualstudio.com/

 

Visual Studio Code - Code Editing. Redefined

Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications.  Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.

code.visualstudio.com

Visual Studio Code 사이트에서 Download 하여 설치하면 됩니다.

download
설치
VSCode 실행 화면

프로젝트 폴더 열기

  • 메뉴-파일-폴더열기를 선택합니다.
    지난시간에 만든 C:\workspace\my-first-react-app 폴더를 선택 후

c:\workspace\my-first-react-app
폴더 선택
폴더 선택 후 화면

프로그램 실행

  • 메뉴-터미널-새터미널

터미널-새터미널

  • npm start

npm start

  • 아래와 같이 브라우저가 실행됩니다.

리액트 앱 실행

반응형
반응형

이 포스트의 동영상 강의 URL

https://youtu.be/iUWwG8RhcMY

 

02 리액트 프로젝트 만들기

리액트 프로젝트 만들기(npx create-react-app) https://codegear.tistory.com/5

youtu.be

 

다음 작업을 위해서는 nodejs가 설치 되어 있어야 합니다(nodejs 설치)

 

  1. 작업을 위한 폴더를 생성합니다.
    저는 c:\workspace로 만들었습니다.
  2. cmd 또는 powershell을 실행하고 위의 폴더로 이동합니다.
  3. npx create-react-app my-first-react을 입력한후 실행합니다.
    npx create-react-app
  4. 스크립트가 실행되고 프로젝트가 생성됩니다.
    프로젝트 생성
  5. 다음 명령어를 이용해 프로젝트 실행합니다.
    cd my-first-react
    npm start

  6. 브라우저가 실행되고 아래와 같은 화면이 나오면 성공입니다!!!
    npm start

 

반응형
반응형

이 포스트의 동영상 강의 URL

https://youtu.be/dz4wdxZGycs

 

NodeJS란?

  • Nodejs는 브라우저에서만 실행되던 Javascript를 브라우저 없이 단독으로 실행할 수 있게 해 주었습니다.
  • 이로인해 Javascript로 클라이언트 프로그래밍 뿐만 아니라 서버 프로그래밍이 가능해졌습니다.
  • Nodejs와 함께 설치되는 NPM - Node Package Manager를 이용하면 각종 Javascript 라이브러리를 손쉽게 설치할 수 있습니다.

 

NodeJS 설치

 

Node.js

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

NodeJS 설치

  • nodejs 사이트를 방문후 LTS 버전을 설치합니다.
    LTS 버전은 안정화 버전입니다.
  • nodejs 설치 확인
    cmd 창에서 node -v를 실행합니다.

node -v

반응형
반응형

Eclipse에서 Springboot 개발을 하기 위해서는 STS(Spring Tools)를 설치해 주어야 합니다.

 

  • Eclipse Marketplace 실행
    Eclipse 상단 메뉴에서 Help - Eclipse Marketplace를 선택합니다.

Eclipse Marketplace

Eclipse에서 Springboot 개발을 하기 위해서는 STS(Spring Tools)를 설치해 주어야 합니다.

 

  • Eclipse Marketplace 실행
    Eclipse 상단 메뉴에서 Help - Eclipse Marketplace를 선택합니다.

Eclipse Marketplace

  • Spring Tools 4 검색
    Marketplace에서 Find 옆에 spring을 입력한 후 엔터키를 칩니다.
    Spring Tools 4 항목 우측 하단의 Install 버튼을 클릭합니다.

Spring Tools 4 검색

  • 설치 확인
    설치 확인 창에서 모두 선택된 상태로 Confirm 버튼을 클릭합니다.

Confirm

  • 라이선스 확인
    라이선스 확인 창에서 accept를 선택한 후 Finish 버튼을 클릭합니다.

License agreements

  • Eclipse 재시작
    설치가 완료된 후 다음 창에서 Restart Now를 클릭합니다.

Restart

  • Spring Starter Project
    Eclipse 상단 메뉴에서 File - New - Project..을 선택합니다.
    그리고 다음 창에서 Spring Boot - Spring Starter Project를 선택합니다.

Spring Starter Project

  • Spring Start Project 선택창
    아래와 같이 Springboot 프로젝트를 설정하는 창이 나타납니다.

여기 까지 오셨으면 스프링부트 개발 관련 준비가 다 끝난 것입니다.

수고하셨습니다.^^

반응형
반응형

스프링부트 개발 IDE인 이클립스를 설치하는 방법입니다.

 

 

Eclipse Downloads | The Eclipse Foundation

The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 375 open source projects, including runtimes, tools and frameworks.

www.eclipse.org

  • Eclipse 다운로드

이클립스 다운로드

  • Eclipse Installer에서 설치 버전 선택
    ->Eclipse IDE for Java Developers를 선택합니다.

Eclipse Installer

  • 설치 폴더 지정
    C:\eclipse\java-2021-06 폴더 지정 후 INSTALL 버튼을 클릭합니다.

설치 폴더 지정

  • Eclipse 실행
    설치 완료 페이지에서 LAUNCH 버튼을 클릭합니다.

LAUNCH

  • Workspace 선택
    C:\eclipse\workspace를 지정하고,
    Use this as the default and do not ask again에 체크한 후 Launch 버튼을 클릭합니다.
    이것은 다음 실행시 이 창이 나오지 않고 이 폴더를 default workspace로 사용하게 됩니다.

workspace 선택

  • Eclipse Java 환경설정
    상단 메뉴에서 Window - Preferences를 선택합니다.

Window - Preferences

  • JRE 지정
    Java - Installed JREs를 선택합니다.
    아래 이미지와 같이 기본적으로 설치된 폴더가 자동으로 지정됩니다.
    만약 없을 경우 우측의 Add 버튼을 클릭 하여 설치된 JDK 폴더를 지정해주시면 됩니다.

Installed JREs

Eclipse 설치가 완료되었습니다.^^

반응형
반응형

이 포스트의 동영상 URL

https://youtu.be/Cjz2oGis3Nc

스프링부트로 개발을 하기 위해서는 우선 Java를 설치해야 합니다.

OpenJDK 설치

  • JDK 다운로드
    아래 사이트에서 openjdk를 다운로드합니다.
    OpenJDK는 java를 무료로 사용할 수 있는 오픈소스입니다.

https://openjdk.java.net/install/

 

OpenJDK: Download and install

How to download and install prebuilt OpenJDK packages JDK 9 & Later Oracle's OpenJDK JDK binaries for Windows, macOS, and Linux are available on release-specific pages of jdk.java.net as .tar.gz or .zip archives. As an example, the archives for JDK 13 may

openjdk.java.net

  • 압축풀기
    설치를 원하는 JDK버전을 다운받은 후 압축을 풀면 "jdk-버전" 형태의 폴더가 나옵니다.
  • java 폴더 생성
    "C:\Program Files" 폴더에서 java 폴더를 생성합니다.
  • "jdk-버전" 폴더 이동
    "jdk-버전" 폴더를 C:\Program Files\java\ 아래로 이동합니다.
    (예 : C:\Program Files\java\jdk-16.0.1)

JAVA_HOME 설정

  • 윈도우 탐색기를 실행 후 내PC에서 마우스 오른쪽버튼을 클릭한 후 속성을 선택합니다.

내PC -> 속성

  • 고급 시스템 설정을 선택합니다.

고급 시스템 설정

  • 환경 변수를 선택합니다.

환경 변수

  • 새로 만들기를 선택합니다.

새로 만들기

  • JAVA_HOME을 설정합니다.
    변수 이름 : JAVA_HOME
    변수 값 : C:\Program Files\java\jdk-16.0.1

JAVA_HOME

Path 설정

  • java를 모든 폴더에서 실행할 수 있도록 path를 설정합니다.
    시스템 변수의 Path를 선택 후 편집 버튼을 클릭

Path 편집

  • Path에 "%JAVA_HOME%\bin"을 추가 한 후 확인을 클릭합니다.

환경 변수 편집

Java 설치 확인

  • 윈도우 검색창에 "cmd" 입력 후 "명령 프롬프트"를 선택합니다. 

cmd -> 명령 프롬프트

  • 명령 프롬프트에서 "java -version"을 입력합니다.
    아래 처럼 결과가 나오면 정상적으로 설치가 완료된 것입니다.

java -version

Java 설치가 완료되었습니다.^^

반응형

+ Recent posts