JPA 어노테이션 사용 할 때 마다 정리
@Transient
- 엔티티 내 @Column 이나 @Formula 등을 사용하지 않는 필드를 선언 할 때 사용
@Query
https://stackoverflow.com/questions/21456494/spring-jpa-query-with-like
JPA 어노테이션 사용 할 때 마다 정리
@Transient
- 엔티티 내 @Column 이나 @Formula 등을 사용하지 않는 필드를 선언 할 때 사용
@Query
https://stackoverflow.com/questions/21456494/spring-jpa-query-with-like
var formData = new FormData();
formData.append('key1', 'value1');
formData.append('key2', 'value2');
for (var pair of formData.entries()) {
console.log(pair[0]+ ', ' + pair[1]);
}
오늘의 코딩 2020-03-1 (0) | 2020.03.15 |
---|---|
[vue] vue 에서 페이지 랜더링시 checkbox 컨트롤하기 (0) | 2019.06.12 |
[vue] vue 사용법 정리 (0) | 2019.05.20 |
[javascript] common js 리스트 (0) | 2019.01.23 |
[에디터,위지윅에디터] Quill 에디터 적용 및 이미지 url 콜백 받기 (2) | 2019.01.15 |
vue import 후 위와 같은 warn이 뜬다면
vue.js -> vue.min.js 로 변경 후 import 하면 된다.
변경 전
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
변경 후
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.min.js"></script>
[vue] updated에 input change 트리거를 넣으면 두번 실행되는 에러 (0) | 2019.06.18 |
---|---|
4년차의 회고록 (0) | 2019.06.03 |
No identifier specified for entity 에러 수정 방법 (1) | 2019.04.14 |
스프링 부트 공부 중 어노테이션 정리 (0) | 2019.03.03 |
[springboot] 스프링부트 내 리소스(css, img) 경로 추가 방법 (0) | 2019.02.17 |
자바에서 모바일인지 아닌지 체크하는 로직 예제
String userAgentHeader = getRequest().getHeader("user-agent");
if(userAgentHeader != null){
userAgentHeader = userAgentHeader.toLowerCase();
}
if(userAgentHeader.matches(".*(android.+mobile|iphone|ipad|ipod|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino).*")){
getResponse().sendRedirect(Configuration.getInstance().getString("tradekorea_mobile_host"));
return;
}
[JPA] Composite-id class must implement Serializable 에러 (1) | 2019.05.28 |
---|---|
[JAVA] String To Date , Date To String (0) | 2018.11.29 |
포스팅 주제
- azure의 스토리지 서비스 중 blob 스토리지를 구축
- blob스토리지에 사용자 도메인을 설정하여 접근 가능 도록 구축
1. azure의 스토리지 서비스 중 blob 스토리지를 구축
-> blob 서비스 란 : 구조화되지 않은 데이터를 위한 REST 기반의 개체 스토리지
- azure 스토리지 계정 추가 - 인스턴스 정보 중 'BlobStorage' 선택
- 컨테이너 만들기, 엑세스 수준 변경
컨테이너 이름 설정,
공용 엑세스 수준
-> 개인(익명 액세스 없음) : 계정 소유자 전용, 개인만 접근 허용
-> Blob : 각 Blob에 대한 접근 허용
-> 컨테이너 : 컨테이너와 그 안에 Blob 들에 대한 접근 허용
특별한 보안을 요구하지 않는다면 컨테이너를 설정
2. 사용자 지정 도메인 설정
- 사용자 지정 도메인 설정에 앞서 미리 도메인 관리자 측에서(후이즈, 가비아 등등) 지정하려는 도메인에 대한 CNAME 을 등록 해야 된다.
https://docs.microsoft.com/ko-kr/azure/storage/blobs/storage-custom-domain-name
스토리지 계정
GCP MARIA DB 설치 (0) | 2020.03.02 |
---|
원인 |
@Data
위의 상태에서 컴파일 시작 org.hibernate.AnnotationException: No identifier specified for entity: com.emfldlem.webc.webtoon.Entity.WebtoonEntity
에러 발생
|
해결 |
엔티티 선언시 식별자를 선언해주지 않아서 발생하는 에러 @Data
@Id
- 엔티티 내 특정 요소 중 하나에 @Id 어노테이션 추가 해준다. |
4년차의 회고록 (0) | 2019.06.03 |
---|---|
[vue] 에러 해결방법 Templates should only be responsible for mapping the state to the UI. Avoid placing tags with side-effects in your templates, such as <script>, as they will not be parsed (0) | 2019.05.02 |
스프링 부트 공부 중 어노테이션 정리 (0) | 2019.03.03 |
[springboot] 스프링부트 내 리소스(css, img) 경로 추가 방법 (0) | 2019.02.17 |
[spring] spring session(세션) 시간 변경 및 확인 (0) | 2019.01.30 |
지난번까지 보면
네이버 클라우드 플랫폼 micro 서버 만들기 - 포트 포워딩을 통해 공인 ip의 1089 포트를 내부 ip 22번 포트로 연결 - 접속 확인
이후 단계는
ftp 연결 - jar 업로드 - jar 실행 - 웹페이지 확인 의 단계를 거칠 생각이다.
1. FTP 연결
리눅스 FTP을 구글에 검색해본 결과 vsftpd를 설치 및 설정 하고 파일질라 클라이언트를 통해 접속 하는 방법으로 진행 vsftpd 설정 후 아래와 같이 상태를 확인하였다. ftp 기본 포트인 21번 포트에 정상적으로 서비스가 잘 올라가 있다. 이후 부터는 삽질을 연속이었다. 네이버 클라우드 플랫폼에서 제공해주는 공인ip는 ssh 접속을 위한 22번 포트에만 포트포워딩을 할 수있고, 다른 포트를 사용, 혹은 외부에서 접근이 가능하도록 하기 위해서는 공인 ip를 따로 발급 받아서 사용해야 됐다. |
2.네이버 클라우드 플랫폼 공인IP 발급 방법
공인 IP 신청은 간단하다. 1. server 하위 메뉴 중 Public IP 를 클릭 2. 공인 IP 신청 3. 떠오르는 팝업 내에서 공인 IP를 사용하고자 하는 서버를 선택 - 주의 할 점은 공인 IP는 서버 1대 당 1개를 발급 받을수 있으며 공인IP 발급은 비용이 발생한다. 무료 micro 서버를 사용하지만 공인 ip는 유료이다!!! 비용은 1달 사용 기준 약 4천원 (1시간 당 43원) |
3. ACG(Access Control Group) 규칙 설정 / 네트워크 접근 규칙 설정
클라우드 환경을 처음 사용해 본 입장에서 생각을 못해서 FTP 연결에 삽질을 하였다. ACG를 통해 22 PORT (FTP 기본 포트) // vsftpd 를 사용시 환경설정에서 포트 변경 가능 의 접근을 허용 해 주어야 외부 ftp 클라이언트 프로그램에서 서버의 ftp로 접근이 가능하다.
|
4. jar 업로드 및 실행
파일 질라 클라이언트를 통해 접근을 한 뒤 jar 파일을 업로드 하였다. jar 업로드 후 java -jar 명령어를 통해 jar 를 실행 웹 페이지에서 공인아이피로 접근을 확인하였다. 이로써 내가 만든 결과물을 내 서버에 공인ip로 접근이 가능하 루트를 처음으로 만들어 보았다. |
추가 삽질 윈도우에서 jar 실행 명령어는 java -jar 혹은 javaw -jar 를 실행하였는데 둘 다 푸티로 세션을 끈어 버리면 서버가 죽어버리는 현상이 있었다. 그래서 찾아보니 사용자가 로그아웃해도 백그라운드에서 프로그램이 돌아가도록 실행을 시켜줘야 됐고 그 명령어로는 nohup java -jar *****.jar 를 실행시켜 주면 된다. 출처 : https://wlsufld.tistory.com/22 |
매번 윈도우 서버에서만 작업하다가
클라우드 플랫폼 & 리눅스 서버를 접하려니 삽질 하는게 많은 것 같다.
그래도 하나하나 배워나가면서 리눅스 서버와 클래우드 플랫폼에도 익숙해지면 언젠가는 다 도움이 될 것이다.
2019-03-01 네이버클라우드 micro 서버 이용하기 2_포트포워딩을 통해 원격접속 설정) (1) | 2019.03.01 |
---|---|
2019-02-24 네이버클라우드 micro 서버 이용하기 (0) | 2019.02.25 |
2019-02-23 개발일지 (0) | 2019.02.23 |
2019-02-19 개발 일지 (0) | 2019.02.19 |
@Getter
@NoArgsConstructor //??
@Entity
@Table
public class Board {
@NoArgsConstructor
Lombok을 사용하면 생성자도 자동으로 생성할 수 있습니다. 출처 : http://www.daleseo.com/lombok-popular-annotations/ |
@Column
@Enumerated(EnumType.STRING)
private BoardType boardType;
@Enumerated
Enum 타입 매핑용 어노테이션. 자바 enum형과 데이터베이스 데이터 변환을 지원. 실제로는 자바 enum형이지만 데이터베이스에서는 String형 변환하여 저장 하겠다는 선언 |
@OneToOne(fetch = FetchType.LAZY)
private User user;
@OneToOne
현재의 도메인과 현재 도메인의 필드인 User 도메인이 1:1 관계라는 것을 설정하는 어노테이션 실제 DB에 저장 될 때는 User 객체가 저장되는 것이 아닌 User 도메인의 PX 값이 저장 됨. fetch 는 eager // lazy 두 종류가 있고 전자는 처음 Board 도메인을 조회할 대 즉시 관련 User 객체를 조회 하는 의미 후자는 User객체를 조회하는 시점이 아닌 객체가 실제로 사용 될 때 조회 한다는 의미 |