반응형
var formData = new FormData();

formData.append('key1', 'value1');

formData.append('key2', 'value2');



for (var pair of formData.entries()) {
console.log(pair[0]+ ', ' + pair[1]);
}

 

반응형
반응형

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>

 

반응형
반응형

자바에서 모바일인지 아닌지 체크하는 로직 예제

 

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;
	}

 

 

반응형

'IT > JAVA' 카테고리의 다른 글

[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 을 등록 해야 된다. 

가비아 도메인 관리자 페이지에서 CNAME 을 등록 
가비아에서 등록 한 도메인을 입력.

https://docs.microsoft.com/ko-kr/azure/storage/blobs/storage-custom-domain-name

스토리지 계정

 

Azure 스토리지 계정에 대한 사용자 지정 도메인 이름 구성

Azure Portal을 사용하여 고유한 CNAME(정식 이름)을 Azure 스토리지 계정의 Blob 스토리지 또는 웹 엔드포인트에 매핑합니다.

docs.microsoft.com

 

 

 

반응형

'IT' 카테고리의 다른 글

GCP MARIA DB 설치  (0) 2020.03.02
반응형

 

원인

@Data
@Entity
//@Table(name="t_wts_naverSid")
public class WebtoonEntity {

@Column(name="SID")
private String sid;

 

위의 상태에서 컴파일 시작 

org.hibernate.AnnotationException: No identifier specified for entity: com.emfldlem.webc.webtoon.Entity.WebtoonEntity

 

에러 발생

 

 

해결

엔티티 선언시 식별자를 선언해주지 않아서 발생하는 에러

@Data
@Entity
//@Table(name="t_wts_naverSid")
public class WebtoonEntity {

 

@Id
@Column(name="SID")
private String sid;

 

- 엔티티 내 특정 요소 중 하나에 @Id 어노테이션 추가 해준다.

반응형
반응형

지난번까지 보면


네이버 클라우드 플랫폼 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 




매번 윈도우 서버에서만 작업하다가

클라우드 플랫폼 & 리눅스 서버를 접하려니 삽질 하는게 많은 것 같다.

그래도 하나하나 배워나가면서 리눅스 서버와 클래우드 플랫폼에도 익숙해지면 언젠가는 다 도움이 될 것이다.

반응형
반응형
@Getter
@NoArgsConstructor //??
@Entity
@Table
public class Board {


@NoArgsConstructor

Lombok을 사용하면 생성자도 자동으로 생성할 수 있습니다. @NoArgsConstructor 어노테이션은 파라미터가 없는 기본 생성자를 생성해주고, @AllArgsConstructor 어노이션은 모든 필드 값을 파라미터로 받는 생성자를 만들어줍니다. 마지막으로 @RequiredArgsConstructor 어노테이션은 final이나 @NonNull인 필드 값만 파라미터로 받는 생성자를 만들어줍니다. 


출처 : 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객체를 조회하는 시점이 아닌 객체가 실제로 사용 될 때 조회 한다는 의미




반응형
반응형

2019-03-01 네이버클라우드 micro 서버 이용하기 2_포트포워딩을 통해 원격접속 설정)


포스팅 하기 이전에 3.1절을 맞이하여 대한독립을 위한 순국선열의 숭고한 희생을 기억합니다. 





지난번 포스팅이후 간단한 원격접속 후 jar 배포를 하려고 했으나 일주일이라는 시간이 지나버렸다....



각설하고 

다음과 같이 네이버 클라우드 플랫폼을 통해 우분투를 설치한 micro 서버를 만들어봤다.




다음으로 네이버 클라우드 플랫폼에서 제공하는 가이드(http://docs.ncloud.com/ko/compute/compute-2-2-v2.html)를 따라 포트포워딩을 설정하고 푸티로 원격 접속을 할 수 있도록 설정 하였다.




먼저 포트 포워딩이랑

외부에서 내 서버로 접속 가능한 공인 아이피의 포트와 내 서버의 내부 아이피의 포트를 서로 연결하는 작업을 말하는 것이다. 




내 설정의 경우 내부 ip의 22포트(리눅스 원격접속 기본 포트) 와 외부에서 접근이 가능한 공인ip의 1089(내가 저정한 포트)로 접근을 하겠다는 내용이다.







다음으로 관리자 비밀번호 설정




관리자 비밀번호 확인팝업에서 이전에 서버 설정 부분에서 만들었던 인증키 파일 (xxxxx.pem) 을 선택하여 초기 관리자 비밀번호를 확인한다.

 -> 이 비밀번호 확인은 서버 설치시 기본적으로 설정해주는 기본 비밀번호를 확인시켜준다. 이후 서버 접속 후 관리자 root 비밀번호를 변경한 뒤에 확인 해도 초기 관리자 비밀번호만 알려준다. 





우분투이기에 푸티를 통해 접속을 시도 하였다.

공인 ip와 포트포워딩에서 설정했던 포트를 입력 후 접속한다.


맨 처음 root 접속 비밀번호는 위에 관리자 비밀번호 확인에서 확인한 비밀번호를 입력하면 위와 같이 접속 할 수 있다.

이후에는 관리자 비밀번호를 변경하는 것을 권장 하고 있다.





이렇게 간단하게 포트 포워딩 기능을 통해 내가 만든 micro 서버에 원격 접속을 시도 하였다.

이후에는 이제 ftp 설정, jar 복사, jar 실행 등을 통해 구현을 진행 해보겠다.



반응형

+ Recent posts