분류 전체보기 62

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

[리액트,React] Props 부모-자식 전달

구조는 Template - 자식1 - 자식2 설계 되어있다. 1. 먼저 최하위 자식인 MyModal에서 onDeleteLeave 함수를 실행할 경우 props로 넘어온 handleSubmit에다가 startDate값과 cnt를 넘겨준다. 2. 그럴경우 부모의 바로 밑인 하위자식이 CalendarForm은 handleSubmit으로 받아온 값을 this.props.handleApplyTemps로 값을 넘겨준다. 3. 그러면 상위부모인 Template은 CalendarForm의 handleApplyTemps 값을 가진 handleSubmit의 값을 받아온다. function MyModal(props) { const onDeleteLeave = param => { props.handleSubmit(startD..

REACT 2020.08.10
728x90
반응형