>

Config 서버 구성 중 

 

yml 설정에서 git  uri 설정 중 내 로컬 ( c:\  ) 의 파일을 참조를 시키고 싶을 떈, 

native 설정을 아래와 같이 추가 해주면 됨.

 

윈도우 기준으로 config-repo 폴더의 설정 파일일 불러 올 수 있음.

spring:
     application:
        name: config-service
     cloud:
       config:
           server:
                git:
                  uri: https://github.com/l*****/****.git

                native:
                search-locations: file:///${user.home}\Documents\config-repo

'개발 > Spring' 카테고리의 다른 글

Spring Quartz 스케쥴 시간 설정 참고 (스프링 쿼츠)  (0) 2017.08.03

Git Bash를 이용하여 프로젝트 폴더 최초로 커밋&푸시 하기 

 

기본적인 git 셋팅이 되어있다는 과정하에 작성 했습니다.

 

환경 :  Windows11, Git, Git Bash, GitLab...

 

아래 사진 처럼 git bash > 커밋&푸시 하려는 디렉토리 이동

 

저의 경우에는  C:\dev\egovframeMsa\workspace.edu\egovframe-msa-edu\backend\board-service 

경로에 Git에 올릴 소스가 있습니다.

 

 

1) git init

 

2)  git add .

맨뒤에  .  있음

 

3)  git commit -m "최초커밋요"

 

4)  git remote add origin git@gitlab.com:xxxxxxxboard-service.git

뒤에 부분은 본인의 git ssh  주소를 입력.

 

5) git branch -M main 

git 사이트 마다 약간 상이 함.  깃랩 사이트 기준으로 기본 branch 는 main 이다. github 는 master 일듯 상와에 따라서 변경 해야함

 

6) git pull --rebase origin main

 

6) git push origin main 

 

깃랩 사이트 가서 push 된 소스를 확인 해 본다.

 

- 끝 - 

https://devlop.tistory.com/17

 

전자정부 4.0 개발환경 구축 MSA 교육자료 환경 셋팅 (1편)

기본 적인 부분은 넘기면서 기록을 남겨야 할 것 같다.. 시간이 촉박하다.. 전자정부에 MSA 으로 구축 된 샘플이 있다고 하여, 개발환경을 구축 하고자 한다. 이미 전자정부 사이트에 좋은 교육자

devlop.tistory.com

 

 

1편에 이어서 2편 시자 ㄱㄱ

 

 

2편은 교육자료 중 02.MSA템플릿_백엔드구성및실습.pdf  보면서  문제가 있었던 부분을 정리 해야지...

 

1. 전자정부  다운  ( 또 다운해??  하라는 대로 하자..) 

1편에서 다운 받은 eGovFrame-4.0.0-Win-64bit.exe이거는무시하자

 

글쓴일 기준 개발자용 개발환경 64bit(Implementation Tool) Version 4.1.0 버전을 다운 받았음

https://www.egovframe.go.kr/home/sub.do?menuNo=94 

 

개발환경 - 4.x 다운로드 | 표준프레임워크 포털 eGovFrame

처리중입니다. 잠시만 기다려주십시오.

www.egovframe.go.kr

 

Step 1-2-10. Gradle Tasks 에서 portal-service>other>compileQuerydsl
을 더블클릭 또는 우클릭 후 Run Gradle Tasks 를 클릭하면 build 가
시작된다.

 

전자정부 4.1 버전에는 compileQuerydsl 보이지 않는다.  대신  querydsl  > cleanQuerydslSo  클릭 완료 후   initQuerydslSour 클릭  

 

Step 1-2-14. Source Folder Selection 창이 열리면 build>generated>querydsl 을 체크하고 OK 버튼을 클릭한다.

 

이렇게 진행 하면  빨간 오류가 사라진다고 했으나..... 사라지지 않았음 

 

다시.. 그래들  build > build  진행 하니 빨간피 사라짐

 

 

빨피는 모두 사라졌다.. 이제  APIGATEWAY spring profile 설정 후 서버 시작.. 또 오류 발생 

Error creating bean with name 'reactiveAuthorization': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'token.secret' in value "${token.secret}"

 

 

token.seceet 오류??

 

user-service 부터 기동 해야하나?   

 name 'messageSourceConfig': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'messages.directory' in value "${messages.directory}"

 

오류 발생 

application.yml 젤 하단에 

messages:
  directory: test   

추가 후 서버실행 

 

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

 

오류발생  실화임?

재부팅하니까 해결 되었다..... ;;;;

 

서버 실행 시 순서는 상관이 있는것 같다. 

 

config > discovery > gateway 순으로 실행 시켜주었다. 

API 테스를 하기 위해, http://localhost:8000/webjars/swagger-ui/index.html

접근하여 테스트를 진행 해도록 하자 

 

 

여기까지 문제 없이 API 호출까지 정상작동 하였다. 

 

3편에서는 Front 셋팅을 진행 해보겠습니다. 

1. eGovFrame-4.0.0-Win-64bit.exe

2. MSA템플릿_교육자료.zip

 

2가지 모두 다운로드 

 

MSA템플릿_교육자료.zip  압축을 풀어서 보면,  충분히 개발환경이 셋팅이 가능 합니다. 

하지만,  중간중간 오류가 나는 등.. 문제가 있었고, 기록용으로  다시 블로그에 정리 한다. 

 

처음 부터 끝까지 는 작성을 하진 않을 것이며,   문제가 있었던 위주로 정리.  혹시나, 블로그의 

글을 보면서 스터디 하시는 분들은 교육자로 보면서 참고 하시는 걸 추천 합니다. 

 

교육자료 중 01.MSA템플릿_개요및개발환경_이론.pdf 을 보면서 시작 ㄱㄱ

 

1. git 설치하고..

2. git clone ㄱㄱㄱ 

https://github.com/eGovFramework/egovframe-msa-edu.git

 

GitHub - eGovFramework/egovframe-msa-edu: [Egovframe MSA Template] 클라우드 네이티브 기반의 행정,공공기관 서

[Egovframe MSA Template] 클라우드 네이티브 기반의 행정,공공기관 서비스 확산 지원 사업, 온라인 교육 소스 - GitHub - eGovFramework/egovframe-msa-edu: [Egovframe MSA Template] 클라우드 네이티브 기반의 행정,공공

github.com

 

3. docker 설치 ㄱㄱ

4. Mysql 설치 ㄱㄱ

4-1 Mysql 접속 확인 (아이디 패스워드 동일)

 

 

5. RabbitMQ 설치 ㄱ 

docker run -d -e TZ-Asia/Seoul --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:management

http://localhost:15672/

guest//guest

 

6. Zipkin 설치 ㄱ 

docker run --name zipkin -d -p 9411:9411 -e TZ=Asia/Seoul openzipkin/zipkin

 

7. ELK 설치 ㄱ

 

 

 

01.MSA템플릿_개요및개발환경_이론.pdf   이 부분을 참고하면서 진행 했지만 별 다른 문제는 발견대지 못했다 

 

다음편은 02.MSA템플릿_백엔드구성및실습.pdf  교재를 보면서 진행 해야겠다...

 

 

▶ 컬럼변경

ALTER TABLE 테이블명 MODIFY COLUMN 컬럼명 varchar(600) NULL;

▶ 컬럼추가

ALTER TABLE 테이블명 ADD COLUMN 컬럼명 varchar(300) NOT NULL;

 

▶컬럼 삭제 

ALTER TABLE 테이블명 DROP COLUMN 컬럼명;

 

 

 

테스트 환경 

Vue 2.6.11  + intellij 

 

Okta 공식 홈페이지 

https://www.okta.com/kr/

 

Okta - Identity for the Internet

Okta는 고객부터 직원에 이르기까지 모든 아이덴티티를 보호하는 신뢰할 수 있는 단일 플랫폼입니다.

www.okta.com

 

Okta + Vue2 공식 Git Url 

https://github.com/okta/samples-js-vue/tree/vue-2

 

okta/samples-js-vue

samples-js-vue. Contribute to okta/samples-js-vue development by creating an account on GitHub.

github.com

조심 해야 할 점은 Vue3 버전과 Vue2 버전 브랜치가 따로 있으니 참고 해주시기 바랍니다. 

저는 Vue2 버전으로 진행 했습니다. 

 

 

###################################################################

1. Okta 공홈 가입 진행 

 

2. 아래의 그림을 참고 하여 Applications 등록 진행을 하자 

Create App.... 버튼 클릭 

 

OIDC - OpenID Connect 선택 > Single-Page Application 선택 후 Next 버튼 클릭
App integration name 설정 

 

1. Sign-in redirect URIs :  Okta 인증 후 호출 할 주소   2.Sign-out redirect URIs : 로그아웃 후 호출 할 주소
Save 버튼 클릭

 

저장 후 Okta 화면 모습

 

위에서 언급 안 된 옵션은 기본 선택 임.

 

Sign-in redirect URIs

Sign-out redirect URIs

위 2개 옵션은 자신에 설정에 맞게 변경 해주면 됨. 

 

 

3. Sample Git Clone 진행 

OKta 공식 Git : Vue2 샘플소스 주소

https://github.com/okta/samples-js-vue/tree/vue-2

 

클론 진행...

Clone 후 README.md 를 보면 친절 하게 셋팅 하는 방법이 나와있습니다. 

 

샘플소스 는 2가지 로그인 방법 모드를 제공 하고 있으며,  상황에 맞춰서 사용 하면 될 듯.

 

첫째, custom-login : Okta 로그인 화면을 띄울떄 자신의 서버(ex. http://localhost:8080/login) 이런

식으로 호출 하며 Okta 로그인 화면을 iframe 형식으로 불러 올수 있어서, 로그인 화면을

커스텀 할 수 있도록 제공해 주는 것 같다. 

근데 이놈이 이상하게..  같은 Okta내에 다른 App에서 로그인 을 하면 다른 App 하고 연동 되는 것이 

아니라 각각 App 마다 로그인을 해줘야 한다.. sso 개념은 이게 아닌거 같은대.. 무튼 이거는 

잘 안사용 할 듯 싶다. 

 

둘쨰, okta-hosted-login : Okta에서 제공하는 Url 의 로그인 화면으로 이동 시켜서, Redirection 

해주는 것 같다.  (ex. http://localhost:8080/login 입력 하면 Okta 에서 제공 해준 개인 도메인 로그인 

화면을 이동) 

만약 같은 Okta내에 다른 App에서 로그인을 했다면,  자동으로 로그인 을 시켜 줌.  위에 놈과는 다름 ㅋㅋ

 

4. 샘플 소스 띄우기

okta-hosted-login 를 띄어 보도록 하겠다. 

intellij 로 진행을 하였으며, 다른 ide 들도 비슷 할 것 같다. 

터미널 모드에서 명령어 날리는건  윈도우 cmd 열어서 진행 해도 됨. 

 

선행으로 npm명령어를 사용 하기 위해 node.js 설치가 되어 있어야 함. 

cd okta-hosted-login 
npm install

 

설치 완료 후 testenv 파일을 프로젝트 최상단에 생성 (명칭 똑같이)

 

testenv

 

testenv 파일안에 내용은 아래와 같이 본인에 설정에 맞춰서 입력. 

 

ISSUER=https://yourOktaDomain.com/oauth2/default
CLIENT_ID=123xxxxx123

 

위에 값은 Okta 홈페이지에서 확인 가능. 

 

Sign On 탭 클릭
Audience = CLIENT_ID

입력 후 

npm start

 

실행 후 모습 

 

 

로그인 버튼을 클릭 하면 회원 가입하고 App 을 만들때 로그인 한 관리자 페에지 token 이 있기 때문에

자동으로 로그인이 되는 걸 확인 할 수있다. 

 

 

끝.

 

프로젝트를 진행하다 보면 BATCH 를 돌려야 할 경우가 있다..  보통 통계쪽 에서 많이 쓰고 있다. 

ORACLE 의 JOB스케줄러 처럼 MSSQL 에도 그런 기능이 있다...  여러가지 단어가 있는대.. 정석으로 말하자면

SQL Server 에이전트 작업 이다.. 설정 방법을 소개하고자 한다.

 

[환경] 

MSSQL SERVER 2017 

Microsoft SQL Server Management Studio 18

 

[시나리오]

TEST프로시저 작성 후,  매일 오후 5시에 TEST프로시저가 실행 되도록.

 

1. test 프로시저 작성 (재량 껏 작성)

2. MSSMMicrosoft SQL Server Management Studio 18 실행 

3. SQL Server 에이전트 > 새 작업 클릭 

새 작업 클릭

4. 일반 탭에서  이름, 설명 입력 (소유자는 자동으로 입력 됨)

 

5. 단계 > 새로만들기 클릭 > 단계이름, 실행 될 프로시저 명령어 작성 후 > 확인 버튼 클릭

 

6. 일정 > 새로만들기 클릭 > 

 

7. 이름 입력 및 배치일정을 선택하고 확인 버튼 클릭 

 

8. 마지막 ~ 확인 작업 아래와 같이 스케줄러가 생성 된 걸 확인 할 수 있다. 

 

 

 

9. 배치 결과 할수 있는 리포트를 제공한다..  MS가 이런 면에선 편하긴 편하다..

 

 

 

모두... 등록 성공을 바라면서.. 여기까지 쓰겠습니다 !

현재 일하고 있는 곳에서 업무요건이 왔다.. 


담당자 : 우리 홈페이지의 특정 화면이 구글에 특정 명칭으로 검색하면 나오는데, 나오지 않게 해주세요


삽질LEE : 네 분석 해보고 연락드리겠습니다~! ㅋ


"구글 검색 제외하기" 오더가 떨어진것이다..  머리속에 스쳐 간것이 구글봇, 검색로봇이 떠오르더라.. 


사실 이것이 정확하게는 뭔지는 몰랐다.. 그거 구글이 웹페이지를 수집해서 구글 쪽 서버(DB)에 저장해서 

노출하는 정도였다  



구글봇 이란?


 Googlebot은 Google의 웹 크롤링 봇으로 '스파이더'라고 불리기도 합니다. 크롤링은 Googlebot이 새로운 페이지 및 업데이트된 페이지를 찾아 Google 색인에 추가하는 과정입니다. Google은 다양한 종류의 컴퓨터를 사용하여 수십억 개의 웹페이지를 가져옵니다.


라고 구글에 검색하면 나온다ㅋㅋㅋㅋㅋㅋ.. 나는 쉽게 이해 하려고한다... 


위에서 중요한 문구중 하나가  "웹 크롤링"   이다.. 


웹 크롤링???  쉽게 생각하면 웹사이트를 돌아 다니며 정보를 수집하여 지들 DB에 저장한다. 질문은 거절한다. ㅋㅋ  -이하생략- 


무튼 정리하면 

구글봇이 아무 사이트에 가서 정보를 수집하는 건 아니다. html, jsp 등등 웹소스 상단에 메타 태그로 허용을 한다라는 태그를 써야 

구글봇 뿐만 아니라 다른(네이버,다음,등등 ) 검색로봇이 웹사이트에 와서 정보를 수집(웹크롤링) 해간다는 말이다~! 



말이 너무 많은거 같다.. 일단 퀘스트를 수행해보도록 하자 



웹사이트의 특정 페이지 검색로봇 차단 방법 : 


예를 들어  메인 > 자료실 > 상세화면 이 노출되고 있다면,   해당화면.jsp  소스파일 상단에 



라고 선언이 되어있다면, 검색 로봇들이 이 페이지는 수집해가도 대는 페이지구나 ~! 아이쿠 하면서 내용을 퍼간다



부가 설명을 하자면.. 이 페이지는 수집해가지 말아라 라는 옵션이다..  




위에 설명한 방법은 "특정 페이지만 차단 하는 방법이고.." 통쨰로 차단하고 싶다면 


robots.txt 를 이용하여 특정 봇 (구글봇, 네이버봇, 다음 등등) 페이지 수집을 막을수있다. 


요약하면 robots.txt 파일을 만들어 입맛에 맛게 붙여 넣은 다음 웹 소스 상단에 붙여넣으면 끝. 


각 프로그래밍 언어 마다 다르지만 필자는 java 언어 기준으로 설명을 하면.. 


WebContent 아래 robots.txt 붙여넣으면 끝 쉽죠잉?




robots.txt 안에 들어갈 내용은 아래에서 필요한거를 붙여서 저장 하면 끝 



1. 모든 검색봇 차단 

User-agent: * 

Disallow: /



2. 모든 검색봇 허용

User-agent: *

Allow: /


3. 구글봇 차단 (구글봇, 구글봇이미지, 구글봇모바일)

User-agent: Googlebot

Disallow: /


User-agent: Googlebot-Image

Disallow: /


User-agent: Googlebot-Mobile

Disallow: /



4. 네이버봇 차단

User-agent: Yeti

Disallow: /



더 많은 포털들이 있지만... 구글링을 통해 알수가 있다. 



-끝-

'개발 > Etc' 카테고리의 다른 글

Git 프로젝트 최초 commit push 하기  (0) 2023.04.12
Mysql 테이블 수정 #Alter #수정 #table  (0) 2023.03.03
Okta Vue2 연동 설정 셋팅  (1) 2021.06.21

+ Recent posts