'분류 전체보기'에 해당되는 글 1378건

 
  1. 2020.12.04 젠킨스에 자바 설정 - 11/17 AWS EC2 JENKINS 스프링부트 자동배포
  2. 2020.12.04 EC2에 메이븐 설치 - 10/17 AWS EC2 JENKINS 스프링부트 자동배포
  3. 2020.12.04 EC2에 깃 프로그램 설치 - 9/17 AWS EC2 JENKINS 스프링부트 자동배포
  4. 2020.12.04 젠킨스 SSH, 메이븐, 깃 플러그인 설치 - 8/17 AWS EC2 JENKINS 스프링부트 자동배포
  5. 2020.12.03 젠킨스 접속 포트 변경 - 7/17 AWS EC2 JENKINS 스프링부트 자동배포
  6. 2020.12.03 EC2에 젠킨스 설치 - 6/17 AWS EC2 JENKINS 스프링부트 자동배포
  7. 2020.12.03 EC2에 자바1.8 설치, 설정 - 5/17 AWS EC2 JENKINS 스프링부트 자동배포
  8. 2020.12.03 EC2 인스턴스에 스왑 파티션 생성, 설정 - 4/17 AWS EC2 JENKINS 스프링부트 자동배포
  9. 2020.12.03 Putty로 EC2접속, PPK키 생성 - 3/17 AWS EC2 JENKINS 스프링부트 자동배포
  10. 2020.12.03 EC2 보안그룹 인바운드 규칙 접속 설정 - 2/17 AWS EC2 JENKINS 스프링부트 자동배포
  11. 2020.12.03 EC2 인스턴스 생성 - 1/17 AWS EC2 JENKINS 스프링부트 자동배포
  12. 2020.11.27 [WINDOWS] .bat(배치)파일을 시작화면에 등록/고정하는 방법 1
  13. 2020.11.26 AWS EC2, 80포트 리다이렉트 명령어, sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
  14. 2020.11.26 Medis, 무료 레디스 GUI 툴, Free Redis Manager Application
  15. 2020.11.26 PostgreSql 테이블, 컬럼의 주석, 코멘트 조회 셀렉트 쿼리
  16. 2020.11.26 안드로이드 오류, Cleartext HTTP traffic to 도메인 not permitted, Android HttpUrlConnection Error, Android Error HttpUrlConnection
  17. 2020.11.22 자바 모든 세션값 출력, Java Session Enumeration PrintAll 1
  18. 2020.11.22 자바, 스프링부트에서 레디스 키-값 출력 예제, SpringBoot+Redis Key-Value PrintAll
  19. 2020.11.20 [ECLIPSE] Failed to load the JNI shared library, 이클립스 실행 오류
  20. 2020.11.17 Access to fetch at 'https://도메인/엔드포인트' from origin 'https://호출한도메인' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.
  21. 2020.11.16 안드로이드 URLConnection 내용짤림, Android Logcat Truncated
  22. 2020.11.15 rejected - non-fast-forward, STS 이클립스에서 Git Remotes 설정
  23. 2020.11.15 젠킨스 접속 포트 변경, AWS EC2 Jenkins Port
  24. 2020.10.29 스타벅스 Caution! 별적립 현대카드 만들기
  25. 2020.10.26 [KB] 국민은행 리브메이트 포인트리 이벤트
  26. 2020.10.26 [CLASHROYALE] WithZack의 스파키 듀오 도전, 클래시로얄 도전 완료
  27. 2020.10.23 Duplicate resources, 안드로이드 리소스 파일 중복 오류, Intellij, Android Studio
  28. 2020.10.21 AttributeError: type object 'Callable' has no attribute '_abc_registry', 파이썬 PyAutoGui 설치 오류
  29. 2020.10.20 인텔리제이 파이썬 패키지 설치 실패 PIP 업그레이드, PYTHON PYCHARM INTELLIJ
  30. 2020.10.20 유토렌트웹 설치 주의사항, 맥아피, 아바스트 빼고 설치 uTorrent Web MacAFee Avast
젠킨스에 자바 설정 - 11/17 AWS EC2 JENKINS 스프링부트 자동배포

 

 

젠킨스 설정에 가서 설치한 자바를 설정해줍니다.

이전에 이미 자바를 설치했기때문에 설치된 자바를 설정하겠습니다.

자바가 여러개 가지고 싶으면 또 설치해도 됩니다.

 

 

1. 젠킨스 > Jenkins 관리 > Global Tool Configuration

 

 

2. JDK > Add JDK

 

 

3. Install automatically 체크 해제 > Name, JAVA_HOME 입력 > Save

Name은 아무렇게나 입력해도 됩니다.
JAVA_HOME은 본인 인스턴스에 맞는 경로를 입력하세요.

Name		JDK1.8
JAVA_HOME	/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.265.b01-1.amzn2.0.1.x86_64

 

 

 

EC2에 메이븐 설치 - 10/17 AWS EC2 JENKINS 스프링부트 자동배포

 

 

yum으로 EC2에 Maven을 설치하겠습니다.

메이븐은 젠킨스에서 프로젝트 빌드할때 필요한 프로그램 입니다.

 

 

1. yum 업데이트

sudo yum update -y

 

 

2. 메이븐 패키지 리파지토리 정보 가져오기

sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo

 

 

3. 최신 메이븐 패키지 정보 추출

sudo sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo

 

 

 

4. 메이븐 설치

sudo yum install -y apache-maven

 

 

5. 메이븐 버전 확인

Maven home 경로는 나중에 젠킨스에 입력해줘야 합니다.

mvn --version

 

EC2에 깃 프로그램 설치 - 9/17 AWS EC2 JENKINS 스프링부트 자동배포

 

 

젠킨스에서 사용할 깃 프로그램을 설치하겠습니다.

Github, Gitlab, 뭐든 깃을 이용하는 곳에서 소스를 받으려면 Git을 설치해야 합니다.

 

 

1. yum 업데이트

sudo yum update -y

 

 

2. 깃 설치

sudo yum install git -y

 

 

3. 깃 버전 확인

git version

 

젠킨스 SSH, 메이븐, 깃 플러그인 설치 - 8/17 AWS EC2 JENKINS 스프링부트 자동배포

 

 

젠킨스 설치할때 설치된 기본 플러그인으로는 자동배포를 할 수 없습니다.

이번에는 젠킨스에 추가로 플러그인을 설치하겠습니다.

 

 

1. 젠킨스 > Jenkins 관리 > 플러그인 관리

 

 

2. 플러그인 관리 > 설치 가능 탭 선택

 

 

3. Publish Over SSH 체크

 

 

 

4. Maven Intergration 체크

 

 

5. Github Intergration 체크

 

 

6. 재시작 없이 설치하기 (지금 다운로드하고 재시작 후 설치하기)

 

 

7. 설치

설치가 완료되도 표시가 잘 안될수도 있습니다.

반응이 없으면 한참후에 새로고침해보시면 됩니다.

 

젠킨스 접속 포트 변경 - 7/17 AWS EC2 JENKINS 스프링부트 자동배포

 

 

젠킨스의 기본 포트는 8080입니다.

그런데 저는 서버 한대에 젠킨스와 스프링부트를 함께 돌릴거라서 포트가 겹칩니다.

그래서 8080은 스프링부트에 적용하고,

젠킨스 포트를 8090으로 변경하겠습니다.

(8090말고도 다른 원하는 포트로 변경해도 됩니다.)

 

 

1. 젠킨스 파일 수정

sudo vi /etc/sysconfig/jenkins

... 파일수정

:wq

 

 

2. 젠킨스 서비스 재시작

sudo service jenkins restart

 

 

3. 변경된 포트로 접속

http://탄력적IP:8090

 

EC2에 젠킨스 설치 - 6/17 AWS EC2 JENKINS 스프링부트 자동배포

 

 

EC2에 젠킨스를 설치하겠습니다.

저는 자동배포가 목적이기 때문에,

기본설정에 기본 플러그인을 모두 설치합니다.

 

 

1. yum 업데이트

sudo yum update -y

 

 

2. 젠킨스 저장소 가져오기

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

 

 

3. 젠킨스 키 가져오기

sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

 

 

 

4. 젠키스 설치

sudo yum install jenkins -y

 

 

5. 젠킨스 서비스 시작

sudo service jenkins start

 

 

6. 브라우저로 접속
http://탄력적IP:8080

 

 

7. EC2에서 비밀번호 복사
위 스크린샷의 위치의 파일을 열면 됩니다.

 sudo vi /var/lib/jenkins/secrets/initialAdminPassword

 

 

 

8. 복사한 비밀번호 붙여넣기 > Continue

 

 

9. Customize Jenkins > Install suggested plugins

 

 

10. Getting Started
기본 플러그인을 설치, 시간이 좀 걸립니다.

 

 

11. 관리자 계정 만들기

 

 

 

12. 젠킨스 주소 확인 > Save and Finish

 

 

13. Jenkins is ready! > Start using Jenkins

 

 

14. 젠킨스 메인페이지 접속

 

EC2에 자바1.8 설치, 설정 - 5/17 AWS EC2 JENKINS 스프링부트 자동배포

 

 

EC2를 생성하면 보통 JAVA 1.7이 깔려있습니다. (나중엔 더 높은버전이 깔려있겠죠)

저는 JAVA 1.8로 개발도하고 젠킨스도 돌리고 서버도 돌릴꺼라서 JAVA 1.8을 설치하겠습니다.

이미 JAVA 1.8이 설치되어있으면 작업하지 않아도 됩니다.

 

 

1. yum 업데이트

sudo yum update

 

 

2. 설치된 자바 확인

java -version

 

 

3. 설치가능한 자바 버전 확인

yum list java*jdk

 

 

 

4. java 1.8 설치 (설치가능한 자바 목록에서 복붙하세요)

sudo yum install -y java-1.8.0-openjdk.x86_64

 

 

5. 자바 버전 선택 > 1 > 엔터 (이미 1.8이 선택되어있으면 취소해도 됩니다)

sudo /usr/sbin/alternatives --config java

 

 

6. 다시 자바버전 확인

java -version

 

EC2 인스턴스에 스왑 파티션 생성, 설정 - 4/17 AWS EC2 JENKINS 스프링부트 자동배포

 

 

AWS의 EC2를 만들면 스왑 파티션이 없습니다. (일부러 빼놓은거같은데)

프리티어로 생성하는 EC2는 똥컴이기 때문에 쓰다보면 메모리 부족으로 프로그램들이 멈춥니다.

 

그래서 직접 스왑 파티션을 생성해주면 사용하는데 지장이 없습니다.

 

고성능 상위 인스턴스를 사용하면 스왑 파티션을 안만들어도 됩니다.

 

 

1. 스왑파일 생성

sudo mkdir /var/spool/swap
sudo touch /var/spool/swap/swapfile 
sudo dd if=/dev/zero of=/var/spool/swap/swapfile count=2048000 bs=1024
ls -l /var/spool/swap

 

 

2. 스왑파일 설정

sudo chmod 600 /var/spool/swap/swapfile 
sudo mkswap /var/spool/swap/swapfile
sudo swapon /var/spool/swap/swapfile

 

 

3. 스왑파일 등록

sudo vi /etc/fstab

파일 아래쪽에 추가
/var/spool/swap/swapfile    none    swap    defaults    0 0 

wq:

 

 

Putty로 EC2접속, PPK키 생성 - 3/17 AWS EC2 JENKINS 스프링부트 자동배포

 

 

윈도우 사용자일 경우 Putty로 콘솔에 접속하는 방법입니다.

맥 사용자는 안하셔도 됩니다.

EC2 생성할때 받은 PEM파일로는 Putty로 접속할 수 없기때문에,

PPK로 변환을 하고 접속할 수 있습니다.

 

 

1. puttygen.exe 실행

 

 

2. Load 버튼 클릭

 

 

3. 다운로드받은 pem파일 선택

EC2생성할때 다운로드받은 .pem파일을 선택하면 됩니다.

석세스풀리 임포티드 경고창이 뜨고, 프로그램에 키값이 막 채워집니다.

 

 

 

4. Save private key

이름은 pem파일과 똑같이하면 (마음대로 해도 됩니다)

 

 

5. AWS서비스 > 네트워크 및 보안 > 탄력적 IP > 탄력적 IP 주소 할당

 

 

6. 탄력적 IP 주소 설정 > (아무것도 건드리지 않고) > 할당

 

 

7. 생성된 탄력적IP 선택

 

 

 

8. 탄력적 IP 주소 연결

 

 

9. 인스턴스에서 EC2 선택 (인스턴스인풋박스를 클릭하면 자신의 EC2서버가 보입니다.)

 

 

10. putty.exe 실행 > Connection > SSH > Auth

Browse클릭 > ppk파일 선택 (위에서 만든파일)

 

 

11. Session > Host Name에 위에서 생성한 탄력적 IP 입력 > Open

 

 

 

12. 경고창 > 예(Y) 선택

 

 

13. login as:에 "ec2-user"입력 > 엔터

 

 

14. 연결되었습니다

 

EC2 보안그룹 인바운드 규칙 접속 설정 - 2/17 AWS EC2 JENKINS 스프링부트 자동배포

 

 

AWS EC2 서버는 기본적으로 모든 접근이 막혀있습니다.

콘솔 접근을 하거나 젠킨스 접속/사용,

스프링부트 프로젝트 확인을 위해서

접속권한을 설정하겠습니다.

 

 

1. AWS 콘솔 > 서비스 > EC2

 

 

2. 인스턴스 > 인스턴스 > 내 인스턴스 체크(선택)

 

 

3. 보안 탭 > 보안 그룹 > 보안그룹링크 클릭 (sg-0549a.... 사용자마다 다릅니다)

 

 

 

4. 인바운드 규칙 편집

 

 

5. 규칙 추가 > 80, 22, 8080, 8090 입력 > 내 IP

80		스프링부트 프로젝트 접속 포트, 브라우저로 접속
22		EC2접속 포트, PUTTY로 접속
8080		스프링부트 프로젝트 접속 포트, 브라우저로 접속
8090		젠킨스 접속 포트, 브라우저로 접속

 

 

- 컴퓨터 아이피가 자주 바뀌는 분들은 XXX.XXX.XXX.0/24로 설정하면
아이피가 변경되도 접속할 수 있습니다.

 

EC2 인스턴스 생성 - 1/17 AWS EC2 JENKINS 스프링부트 자동배포

 

 

AWS EC2에 스프링부트 프로젝트를 자동배포 하는 방법입니다.

로컬 컴퓨터에서 스프링부트 프로젝트의 소스를 푸시(커밋)하면 EC2에 자동으로 배포/적용되게 하겠습니다.

 

예제에서 사용하는 스프링부트 프로젝트는 메이븐 기반입니다.

(그래들 프로젝트도 젠킨스에 기본으로 깔리니까 잘 빌드될것 같습니다.)

스프링부트 프로젝트가 있고 소스가 Github에 있어야 합니다.

AWS 회원가입(카드등록)도 되어있어야 합니다.

 

 

먼저 AWS에 EC2를 생성하는 방법입니다.

 

 

1. 서비스 > 컴퓨팅 > EC2

 

 

2. 인스턴스 > 인스턴스 > 인스턴스 시작

 

 

3. Amazon Linux2 AMI > 선택

(아마존 리눅스나 우분투 아무거나 해도 됩니다)

 

 

 

4. t2 마이크로 선택 > 다음: 인스턴스 세부 정보 구성

 

 

5. (변경한게 없습니다.) 다음: 스토리지 추가

 

 

6. (변경한게 없습니다.) 다음: 태그 추가

저는 기본으로 적혀있는 8Gb를 선택했는데, 30Gb까지는 프리티어 무료 입니다.

 

 

7. (추가한게 없습니다.) > 다음: 보안 그룹 구성

 

 

 

8. SSH, 22, 내 IP선택 > 검토 및 시작

접속해야 하니까 일단 SSH한개만 열어주면 됩니다.

 

 

9. 자신이 선택한 세부정보 확인 > 시작하기

 

 

10. 새 키 페어 생성 > "키페어이름입력" > 키 페어 다운로드 > 인스턴스 시작

키파일은 한번 받으면 더이상 받을 수 없습니다.

잃어버리면 셋팅을 다시 해야하니까 잘 보관하세요.

 

 

11. 인스턴스 생성 완료 > 시작

 

 

 

12. 인스턴스 > 인스턴스 > 생성된 인스턴스 확인

2020. 11. 27. 16:59 WINDOWS
[WINDOWS] .bat(배치)파일을 시작화면에 등록/고정하는 방법

.bat(배치)파일도 실행파일이긴 한데 시작화면에 등록이 안됩니다.

그런데 제가 자주사용하는 jmeter프로그램은 실행을 bat로 해야 합니다.

 

자주쓸라면 시작화면에 등록해야하는데,

시작화면에 등록하기 위해서 작업을 조금 해야합니다.

다른 bat들도 같은 방식으로 등록할 수 있습니다.

 

 

1. bat파일에 오른쪽 > 바로 가기 만들기(S)

 

 

2. 생성된 바로가기에 오른쪽 > 속성

 

 

3. 대상(T) 값 앞에 "cmd /c "를 추가

 

 

4. 바로가기에 마우스 오른쪽 > 이름 바꾸기(M) (안해도됩니다)

 

 

5. 바로가기에 마우스 오른쪽 > 시작 화면에 고정(P)

 

 

6. 시작화면에 추가된 바로가기 확인

 

2020. 11. 26. 17:04 DEV ENVIRONMENT
AWS EC2, 80포트 리다이렉트 명령어, sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

AWS에서는 80포트가 막혀있다고 합니다.

여기저기 80을 사용할 수 있는 방법이 많은데,

조금씩 틀리고 안되는것도 있고...

제가 사용하는 관련 명령어들 입니다.

 

 

80포트를 8080포트로 라우팅

sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

 

 

포트상태 출력

netstat -tnlp 



아이피테이블 상태 출력

sudo iptables -t nat -L --line-numbers 

 


아이피테이블 삭제 (목록 조회 후 번호 입력)

sudo iptables -t nat -D PREROUTING 2

 

 

아이피테이블 저장

sudo service iptables save

 

 

부팅 스크립트 편집

sudo vi /etc/rc.local

 

 

리부팅

sudo reboot -f

 

 

 

2020. 11. 26. 15:58 카테고리 없음
Medis, 무료 레디스 GUI 툴, Free Redis Manager Application

그림판으로 만든것 같은 아이콘이 인상적이고,

설치할때 짱개냄새가 물씬 풍기는 프로그램

용량은 무려 69Mb

p3x가 더 낳은것 같습니다.

 

개발자가 숏컷이랑 스크린샷을 구분을 못하는것 같습니다.

프로그램을 사용하다보니까 짱개프 로그램이라서 그런지 점점 구려보입니다.

 

 

홈페이지

github.com/luin/medis

 

윈도우 버전 다운로드 페이지

github.com/x2jia/medis/releases/tag/win

 

 

결과목록이랑 상세보기가 불편합니다.

 

 

스크린샷을 찍는 이상한 기능이 들어있어요.

 

 

접속 설정 화면

 

 

2020. 11. 26. 15:01 PROGRAMMING
PostgreSql 테이블, 컬럼의 주석, 코멘트 조회 셀렉트 쿼리

코멘트 검색할때 사용하는 쿼리 입니다.

 

1. 테이블의 주석(코멘트/설명) 출력

/* 테이블 주석 셀렉트 */
SELECT N.NSPNAME, C.RELNAME, OBJ_DESCRIPTION(C.OID) 
FROM PG_CATALOG.PG_CLASS C INNER JOIN PG_CATALOG.PG_NAMESPACE N ON C.RELNAMESPACE=N.OID 
WHERE C.RELKIND = 'r'
AND NSPNAME = '데이터베이스명'
AND RELNAME = '테이블명'

 

2. 테이블의 컬럼명과 주석(코멘트/설명) 출력

/* 컬럼 주석 셀렉트 */
SELECT
	PS.RELNAME AS TABLE_NAME,
	PA.ATTNAME AS COLUMN_NAME,
	PD.DESCRIPTION AS COLUMN_COMMENT
FROM PG_STAT_ALL_TABLES PS, PG_DESCRIPTION PD, PG_ATTRIBUTE PA
WHERE PD.OBJSUBID<>0
	AND PS.RELID=PD.OBJOID
	AND PD.OBJOID=PA.ATTRELID
	AND PD.OBJSUBID=PA.ATTNUM
	AND PS.SCHEMANAME='스키마'
	AND PS.RELNAME='테이블'
ORDER BY PS.RELNAME, PD.OBJSUBID

 

 

2020. 11. 26. 13:35 ANDROID IOS
안드로이드 오류, Cleartext HTTP traffic to 도메인 not permitted, Android HttpUrlConnection Error, Android Error HttpUrlConnection

안드로이드 앱 개발중에 HTTP URL CONNECTION을 사용할때,

Cleartext HTTP traffic to 도메인 not permitted

라는 오류가 발생했습니다.

 

FATAL EXCEPTION: main
    Process: PACKAGENAME, PID: 13923
    java.io.IOException: Cleartext HTTP traffic to openapi.nature.go.kr not permitted
        at com.android.okhttp.HttpHandler$CleartextURLFilter.checkURLPermitted(HttpHandler.java:115)
        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:458)
        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:127)

 

해당 연결에 http를 허용하지 않는다는 뜻인데요, https로 연결해야 합니다.

그래도 http로 해야한다면 앱 설정파일을 수정해서 해결할 수 있습니다.

 

app/src/main/AndroidManifest.xml 파일 편집

android:usesCleartextTraffic="true"

 

다시 실행해보면 정상적으로 통신됩니다.

 

 

 

2020. 11. 22. 01:35 PROGRAMMING
자바 모든 세션값 출력, Java Session Enumeration PrintAll

자바에서 세션값 출력

 

Enumeration을 이용해서 세션에 등록한 모든 값을 출력하는 예제 입니다.

Enumeration<String> attributes = request.getSession().getAttributeNames();
while (attributes.hasMoreElements()) {
    String attribute = (String) attributes.nextElement();
    System.err.println(attribute+" : "+request.getSession().getAttribute(attribute));
}

 

 

2020. 11. 22. 00:32 카테고리 없음
자바, 스프링부트에서 레디스 키-값 출력 예제, SpringBoot+Redis Key-Value PrintAll

 

자바(스프링부트)에서 레디스 키 출력

 

spring:session:TEST:sessions의 모든 값을 출력하는 예제 입니다.

Set<String> redisKeys = redisTemplate.keys("spring:session:TEST:sessions:*");
List<String> keysList = new ArrayList<>();
Iterator<String> it = redisKeys.iterator();
while (it.hasNext()) {
	String data = it.next();
	keysList.add(data);
	System.err.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ "+data);
}

 

 

2020. 11. 20. 17:23 DEV ENVIRONMENT
[ECLIPSE] Failed to load the JNI shared library, 이클립스 실행 오류

이클립스를 실행하면 Failed to load the JNI shared library

오류가 발생하면서 실행되지 않습니다.

경로를 확인해봐도 정상적으로 파일이 있습니다.

 

 

원인은 32비트, 64비트가 안맞아서 그런것 입니다.

이클립스가 32비트고 java가 64비트이거나

이클립스가 64비트고 java가 32비트이면

 

 

자바를 바꾸던 이클립스를 바꾸던 32비트로 하든 64비트로 하든 맞춰주면 됩니다.

자바 버전확인을 해보면 32비트인지 64비트인지 확인할 수 있습니다.

java -version

 

2020. 11. 17. 17:00 DEV ENVIRONMENT
Access to fetch at 'https://도메인/엔드포인트' from origin 'https://호출한도메인' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.

포스트맨으로는 잘되던게 실제 브라우저에서는 오류가 발생했습니다.

알아보니까 실제로는 OPTIONS라는 메소드로 먼저 호출을 한다고 하는데,

그 이름이 PREFLIGHT라고 하네요.

 

그래서 오류가 일반적인 CORS오류가 아니고

blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.

라고 적혀있습니다.

 

Access to fetch at 'https://도메인/엔드포인트' from origin 'https://호출한도메인' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.

 

스프링프레임웤(스프링부트)에서 해결하는 방법

 

1. 파일중에 WebSecurityConfigurerAdapter를 상속받은 클래스를 찾는다.

 

 

2. 오버라이드 된 configure(HttpSecurity http)메소드를 편집한다. (없으면 만듦)

@Override
protected void configure(HttpSecurity http) throws Exception {

 

 

3. http에 코드 추가

.cors().and()
.requestMatchers(CorsUtils::isPreFlightRequest).permitAll()

 

 

* 리액트프론트용 자바스크립트 코드

브라우저에 붙여서 테스트

var Data = {
  METHOD : {
    GET : 'GET',
    POST : 'POST',
    PUT : 'PUT',
    DELETE : 'DELETE'
  },
  TYPE : {
    FILE_UPLOAD : 'Data.TYPE.FILE_UPLOAD'
  },
  load : ( option ) => {
    const accessToken = localStorage.getItem('access.token');
    let parameters = {
      headers : { Authorization : accessToken ? `Bearer ${ accessToken }` : '' },
      method : option.method || Data.METHOD.GET
    };
    switch ( option.method ) {
      case Data.METHOD.POST :
      case Data.METHOD.PUT :
        option.type !== Data.TYPE.FILE_UPLOAD && ( parameters = { ...parameters, headers : { 'Content-Type' : 'application/json' } } );
        break;
      default :
    }
    if ( option.data ) {
      let data;
      if ( option.type === Data.TYPE.FILE_UPLOAD ) {
        data = new FormData();
        for ( let i in option.data ) {
          data.append( i, option.data[ i ] );
        }
      } else {
        data = JSON.stringify( option.data );
      }
      parameters = { ...parameters, body : data };
    }
    window.fetch( option.url, parameters )
      .then( response => response.json() )
      .then(
        ( data ) => {
          if ( data.code === 'S000000' ) {
            option.success && option.success( data.data );
          } else if ( data.hwrErrorCode?.code === 'ERR_SUCCESS' ) {
            option.success && option.success( data.candidates[ 0 ] )
          } else {
            option.error && option.error( data );
          }
        }
      );
  }
};
Data.load({url:'http://localhost/주소'});

 

 

2020. 11. 16. 12:25 ANDROID IOS
안드로이드 URLConnection 내용짤림, Android Logcat Truncated

Kotlin으로 urlConnection을 코딩하는데 계속 내용이 짤려서 나옵니다.

처음에는 내가 코틀린 나부랭이라서 못하는가부다 했는데,

로그가 길어서 짤리는것이였고,

실제로는 정상작동하고 있었습니다.

(공공데이타API였는데 결과가 한줄로 나오는바람에 4k를 넘어감)

 

로그캣의 최대출력길이는 4096바이트 입니다.

 

저는 빈 텍스트필드에 결과를 찍게 했더니 결과값이 100% 출력되었습니다.

 

아니면 로그를 짤라서 출력해도 됩니다.

출력물에 엔터값이 없으면 콤마나 갈메기등을 사용해보세요.

for( String line : logMesg.split("\n") ) {
    Log.d( TAG, line );
}

 

2020. 11. 15. 12:09 DEV ENVIRONMENT
rejected - non-fast-forward, STS 이클립스에서 Git Remotes 설정

이클립스에서 GIT 설정하는 방법입니다.

인텔리제이보다 복잡하네요.

 

 

1. Git Repositories열기

메뉴 > Windows > Show View > Other...

Git > Git Repositories

 

 

2. 패치 설정

프로젝트 > Remotes > origin > 패치주소에 마우스오른쪽 > Configure Fetch...

 

 

2-1. Advanced...

 

 

2-2. Source ref:, Destination ref: 수정

refs/heads/master

refs/remotes/origin/master

 

 

2-3. Add Spec > Finish

 

 

2-4. Save and Fetch

 

 

3. 푸시 설정

프로젝트 > Remotes > origin > 푸시주소에 마우스오른쪽 > Configure Push...

패치설정과 동일하게 작업하세요.

 

 

2020. 11. 15. 10:34 DEV ENVIRONMENT
젠킨스 접속 포트 변경, AWS EC2 Jenkins Port

젠킨스 포트 변경하는 방법 입니다.

로컬에서 설치하신 분들은 편집기로 수정하면 됩니다.

AWS EC2에 설치했기 때문에 설정파일이 리눅스 기준으로 되어있습니다.

 

 

1. 터미널로 EC2접속

 

 

2. 명령어 실행

sudo vi /etc/sysconfig/jenkins

 

 

3. 설정파일 편집

JENKINS_PORT="8080" 부분을 찾아서 변경

JENKINS_PORT="원하는포트"

변경 후에 ":wq[엔터]" 입력하면 저장/편집종료 입니다.

 

 

 

 

4. 젠킨스 재시작

sudo service jenkins restart

 

 

2020. 10. 29. 13:11 STARBUCKS
스타벅스 Caution! 별적립 현대카드 만들기

스타벅스에서 현대카드가 나왔습니다. (현대카드에서 스타벅스 카드가 나온건지)

아무튼 나왔습니다.

 

원래 이런 광고를 보면 그냥 지나치는데 카드디자인이 너무 예뻐서 신청하기로 결심했습니다.

 

발급하고나면 앱카드로 바로 사용 가능합니다.

실물카드 등록안하면 10일후에 자동으로 정지된다고 하네요.

 

Wanna be a superSTAR?

 

 

저는 컵홀더 디자인의 카드를 신청하겠습니다.

 

 

회원인증, 스타벅스 회원이여야 하나 봅니다.

 

 

5개 디자인의 카드 선택, 컵홀더 카드 이름이 Caution!이네요

 

 

연회비 안내 국내/비자/마스터 전부 3만원이네요.

 

 

해외겸용, 국내전용, 교통카드 여부 선택

 

 

개인정보 입력

 

 

신분증 정보 입력

 

 

휴대폰 본인인증

 

 

결제일 선택, 결제계좌 입력, 결제한도 선택

 

 

자동이체 출금 동의

 

 

인증서 없으니까 자동이체 동의 ARS

 

 

일부 결제 금액 이월약정 (리볼빙)(선택) 당근 선택안함

 

 

그래도 리볼빙 권유, 그래도 안해야죠 

 

 

자동입력서비스? 했는데 안되서 직접 입력중입니다.

 

 

주소, 직업, 소득유형 입력

 

 

차량보유여부 선택, 결혼여부 선택

 

 

카드 받는 곳 선택, 상품설명서 받는 곳 선택, 카드이용알림 서비스 선택



드디어 다 입력했습니다. 신청 완료

 

 

또 리볼빙 권유, 짱개에게 팔아먹은 생보사 가입 권유 등등

 

 

 카드 신청 접수 중, 30초 카운트다운

 

 

Caution! 카드 발급 완료

 

 

 

 

 

2020. 10. 26. 09:53 MONEY
[KB] 국민은행 리브메이트 포인트리 이벤트

국민은행에서 돈(포인트리)을 살포하기 시작했습니다.

친구에게 1,000포인트리를 보내면 국민은행에서 2,000포인트리를 줍니다.

 

근데 서로 주고받을 수는 없게 되어있었습니다.
저는 친구가 별로 없어서 보낼곳이 별로 없는데;;;

비밀댓글로 전화번호 남겨주시면 선착순 10분에게 1,000포인트리 보내드리겠습니다.
(다른사람에게 전달하거나 포인트전송 이외에 다른 목적으로 이용하지 않겠습니다.)

 

친구 20명에게 20,000포인트(각각1,000포인트)를 보내면 40,000포인트를 얻을 수 있습니다.

 

 

일단 보내려면 1,000포인트를 만들어야해서 989포인트를 충전하겠습니다.

 

 

보유하신 포인트리는 1,000P입니다.

 

 

2020년 10월 15일 부터 10월31일 까지

 

 

2020. 10. 26. 08:39 GAME/CLASH ROYALE
[CLASHROYALE] WithZack의 스파키 듀오 도전, 클래시로얄 도전 완료

이번주에는 스파키 도전이 시작되었습니다.

보상도 괜찮고 스파키의 강한 공격력으로 게임하는 재미도 있는 도전 입니다.

 

 

- 스파키가 나오는 위치는 처음에만 랜덤으로 시작하고 번갈아가면서 나옵니다.
- 스파키가 두개씩 나옵니다. 가다보면 1자로 늘어서게 됩니다.

- 13레벨 스파키가 쏘면 양쪽 4기의 스파키가 전부 딸피가 됩니다.

 

 

9승을 하면 스파키 카드 1장을 받습니다.

 

 

WithZack의 스파키 듀오 도전

 

 

제가 사용한 덱입니다. 상대가 물량으로 나올경우 자이언트해골~
해골 대신에 아이스스피릿, 일렉트로스피릿을 사용해도 좋습니다.

 

 

모든 카드와 타워가 9레벨로 하향 조정됩니다.

 

 

클랜전 3등 상자에서 전설카드가 나와서 넣어봤습니다. 라바 하운드!! 안씀

 

2020. 10. 23. 22:51 ANDROID IOS
Duplicate resources, 안드로이드 리소스 파일 중복 오류, Intellij, Android Studio

우연히 로딩이미지를 인터넷에서 푸다가

확장자가 달라서 두개가 들어갔는데,

 

어떤 에러가 날까? 에러가 안날까?

해서 고대로 두고 빌드했더니

 

Duplicate resources라는 에러가 발생했습니다.

 

왜 이렇게 만들었는지 모르겠지만 안드로이드 리소스에서는 확장자를 안적게 되있습니다.

그러니까 확장자가 달라도 이름이 같은 파일은 사용할 수 없는것입니다.

 

파일이름을 변경하거나 안쓰는 파일을 삭제하면 됩니다.

 

loading.gif랑 loading.png, 확장자가 다르지만 이름이 같은 파일이 2개 이상 있으면 오류
(당근 소스에서 로드했을때겠죠)

 

 

2020. 10. 21. 10:57 DEV ENVIRONMENT
AttributeError: type object 'Callable' has no attribute '_abc_registry', 파이썬 PyAutoGui 설치 오류

PyAutoGUI 설치중 에러가 발생했습니다.

콜러블은 abc레지스트리 속성이 없다?!?!

AttributeError: type object 'Callable' has no attribute '_abc_registry'

 

 

typing 패키지 삭제

패키지중에 typing이란 패키지가 있으면 설치가 안됩니다.

pip uninstall typing

 

 

pyautogui 설치

pip install pyautogui

 

 

 

 

2020. 10. 20. 17:24 DEV ENVIRONMENT
인텔리제이 파이썬 패키지 설치 실패 PIP 업그레이드, PYTHON PYCHARM INTELLIJ

인텔리제이에서 파이썬 패키지 설치중 오류가 발생했습니다.

그래서 자세히 보니까 PIP가 업그레이드 되었다고 합니다.

PIP가 업글되는지는 몰랐네요.

 

 

설치 오류 발생 > Details... 클릭

 

 

오류 메세지중에 PIP를 업그레이드해보라고 적혀있습니다.

C:\Users....................... --upgrade pip 까지 복사

WARNING: You are using pip version 20.1.1; however, version 20.2.4 is available.
You should consider upgrading via the 'C:\Users\qqqqqqqq\AppData\Local\Programs\Python\Python38-32\python.exe -m pip install --upgrade pip' command.

 

 

시작 > 실행 > cmd (명령프롬프트 실행)

PIP업그레이드 명령어 붙여넣기 > 엔터

 

 

 

 

 

2020. 10. 20. 15:17 COMPUTER
유토렌트웹 설치 주의사항, 맥아피, 아바스트 빼고 설치 uTorrent Web MacAFee Avast

웹기반 토렌트 프로그램 uTorrent Web을 설치하겠습니다.

윈도우 사용자들을 아래 링크에서 바로 받으면 되고

다른 운영체제는 돌아다니세요.

 

설치중에 체크박스 해제하고 Decline(거절) 누르시면 됩니다.

 

www.utorrent.com/intl/ko/downloads/win

 

Windows Downloads -

Download the official µTorrent® (uTorrent) torrent client for Windows, Mac, Android or Linux-- uTorrent is the #1 bittorrent download client on desktops worldwide.

www.utorrent.com

 

1. uTorrent Web Install Wizard

 

 

2. 사용동의, License Agreement

 

 

3. 맥아피 설치 추천, McAfee WebAdvisor

Install McAfee WebAdvisor 체크박스 해제

 

 

4. 아바스트 설치 추천, Avast Free Antivirus

Decline(거절) 선택

 

 

5. Installing uTorrent Web...

 

 

6. Installation Complete

 

 

최근에 올라온 글

최근에 달린 댓글