전체 글 63

PSCP 이용하여 AWS/EC2 파일 전송 및 폴더 전송하기

로컬에서 EC2로 파일이나 폴더를 전송할때 Filezila등을 사용하거나 PUTTY를 이용하여 전송해도된다. putty를 설치하면 pscp.exe도 함께 설치가 되는데 이는 윈도우에서 ec2로 전송을 지원해준다. 파일 전송 pscp -i [.ppk 인증키] [이동할 파일 위치] [사용자명]@[퍼블릭 IPv4 DNS]:[파일 이동할 경로] 폴더 전송 pscp -r -i [.ppk 인증키] [이동할 파일 위치] [사용자명]@[퍼블릭 IPv4 DNS]:[파일 이동할 경로] -r : 디렉토리 복사할때 사용 -i : ppk 파일을 지정해서 사용할때 -p : 포트를 이용할때 이렇게 될경우 100%가 뜨면 ec2에 전송된 경우를 볼수있다. 하지만 ec2의 폴더 권한이 root로 되어있거나 수정, 삽입 권한이 없을때는..

인프라 2020.10.12

[JPA] Infinite recursion 에러 발생

이번 JPA 개발을 하는 도중 nested exception is com.fasterxml.jackson.databind.JsonMappingException: Infinite recursion 에러가 발생하였다. 찾아본 결과 내가 JPA를 위해 클래스 끼리 서로 관계를 맺을려고 testA클래스 (부모) testB클래스 (자식) testA클래스 @OneToOne(targetEntity = TestB.class) @JoinColumn("hm_name") TestB testB; testB클래스 @JoinColumn("hm_email") @OneToOne(targetEntity = TestA.class) TestA testA; 으로 사용하면 서로 양방향 참조를 한다. 이렇게 된다면 이것들을 매핑하는 과정 속에..

DB/JPA 2020.10.12

JPA limit

JPA를 이용해 쿼리를 작성할 때 1개의 데이터만 불러와야 할 때가 있었다. 그리하여 나는 @Query 어노테이션을 이용했다. @Query("select h from testVo h where h.hmName = :hmName limit 1") 하지만 limit에서 에러가 발생했다. 이유는 Hibernate의 HQL 문법에서는 SQL의 LIMIT을 지원하지 않기 때문에 발생한 일이었다. 스택오버플로우에 서칭해본 결과 이렇게 구현하니 최대 한 개의 데이터를 뽑을 수 있었다. @Query(value="select h from testVo h where h.hmName = :hmName ") List findAllByhmName( String hmName ,Pageable pageable); default L..

DB/JPA 2020.10.07

Elastic Beanstalk, EC2

EC2의 뜻은 Elastic Compute Cloud이다 C가 2개라서 EC2이다. EC2는 가상서버환경으로 우리가 원하는 환경에 맞게 설치하여 사용할 수 있다. EBS는 ElasticBeansTalk로 EC2보다 편리하게 제공되는 기능이 많다 로드 밸런싱(ELB), 오토 스케일링, health check 등 제공 해주고 내가 무슨 환경인지에 따라 미리 구축되서 나온다. EC2로 환경을 구성할 경우엔 우리가 따로 설치해야하는 점이 있다. aws.amazon.com/ko/elasticloadbalancing/ Elastic Beanstalk를 이용한 무중단 배포 구축 1 우리는 Elastic Beanstalk를 이용하여 로드밸런싱을 사용하기 위해 하나의 ElasticBeanstalk 안에 ec2 두개를 포..

인프라 2020.09.26

AWS- appspec.yml root

우리 서비스는 Code pipeline을 통해 배포를 한다 pipeline의 단계는 총 소스-빌드-배포 3가지 구성으로 되어있다. 소스트리는 깃허브와 연결하여 커밋할시에 바로 변경 릴리즈를 감지하여 소스로 간다음 그다음 빌드로 넘어가게 된다. 이때 우린 build중에 환경을 구축하기 위해 프로젝트에 buildspec.yml 파일을 작성해야한다. version: 0.2 phases: install: runtime-versions: java: openjdk8 build: commands: - echo [PHASE] Entered the build phase... - gradle bootjar post_build: commands: - echo [PHASE] Entered the post_build phase..

REACT 2020.09.24

gapi oauth2 - google Calendar

GAPI is Google's client library for browser-side JavaScript. It's used in Google Sign-in, Google Drive, and thousands of internal and external web pages for easily connecting with Google APIs. gapi 란 브라우저 쪽 자바스크립트를 위한 구글에서 제공해주는 클라이언트 라이브러리다. gapi는 구글 로그인, 드라이브 등 api를 쉽게 연결할 수 있도록 도와준다. 나는 리액트를 이용하여 gapi Google Calendar와 FullCalendar을 연동 시켰다. 1. index.html index.html에 gapi를 로드하기 위해 를 넣어준다. 이 외의 ..

REACT 2020.09.15

HTML5/ novalidate

novalidate란 html5에 새롭게 추가된 요소로 html5에서 유효성 검사를 하지 않겠다는 의미이다. 이렇게 될경우 novalidate를 명시하지 않을 때는 그냥 required 표시를 안띄고 바로 넘어가게 된다. 이는 내가 jquery의 validate를 사용할 때 알게되었다. $("#projectForm").validate({ rules : { Revenu : "required", Labor : "required", }, messages: { Revenu : { required: "please input revenu" }, Labor : { required: "please input Labor " } }, submitHandler: function (form) { console.log("클릭"..

HTML5 2020.08.18

React / 환경변수 설정 DefinePlugin

React에서 개발환경에 따라 API를 다르게 호출할 수 있는 경우가 있다 예로들면 local : axios.get("http://gateway:9010/test/api") dev : axios.get("http://devway:9010/test/api") prd : axios.get("http://prdway:9010/test/api") Webpack by default does not provide any process to load ‘.env’ files. but there many plugins and libraries that can do the same task. 출처 : https://medium.com/@bhautikbharadava/environment-variables-webpack-c..

REACT 2020.08.11
728x90
반응형