본문 바로가기
반응형

OpenSource187

스텝4) naver map api 학습 참고 : https://navermaps.github.io/maps.js.ncp/docs/tutorial-Map.html 지도생성 및 기본동작 Map객체 : 특정 DOM요서에 지도를 표현! var map = new naver.maps.Map('map', { mapTypeId: naver.maps.MapTypeId.HYBRID }); 지도 초기화 지도를 초기화하려면 지도가 표현 될 DOM 요소 또는 DOM요소의 id를 명시해야 함. var map = new naver.maps.Map('map', { 지도 유형 설정 Map 객체는 지도유형을 저장하고 있음. - MapOptions를 이용하거나 setMapTypeId메서드를 이용 해야 함. 지도 유형은 참고 : https://navermaps.github.i.. 2023. 8. 10.
스텝3) naver map api 호출 해보기! 안녕하세요~오늘은 드디어 naver maps를 붙여보는 날:) 뭔가 이쁘게 해보려고 https://headlessui.com/react/tabs 를 하다가 https://nuxt.com/docs/examples/routing/pages 를 참고해서 만들어보려고 합니다. 그리고 navermap api는 튜토리얼이 엄청 잘되어있네요! 굿~ 하나씩 따라서 학습하면 만들수 있을것 같아요 ㅎㅎ https://navermaps.github.io/maps.js.ncp/docs/tutorial-MapTypes.html HelloWorld는 아래처럼 바로 나옵니다. 그리고 typescript사용에서는 npm에서 이미 제공을 해주네요 npm i -D @types/navermaps 지도생성 및 기본동작 등을 학습하면 아래.. 2023. 8. 2.
스텝2) setup web application for naver maps web application은 여러가지가 있는데 현재 셀에서 최근에 작업했던 nuxt3으로 진행하려고 합니다. 참고 : https://nuxt.com/docs/getting-started/installation 1) 설치 npx nuxi@latest init cd jejuMap npm install npm run dev result) InteliJ를 사용한다면 아래와 같이 run 스크립트로 실행하게끔 해놓는다. nuxt 파일 중에 nuxt.config.ts 라는게 있는데 이 파일은 스크립트 추가, 모듈 등록 또는 렌더링 모드 변경등에 사용 됩니다. import없이 globally하고 사용할 수 있다! runtimeConfig export default defineNuxtConfig({ runtimeCon.. 2023. 8. 1.
스텝1) 네이버 지도 api를 사용해보자:) 안녕하세요 무더운 여름이네요.. 주말에 지도 api가 궁금해서 사용해보려고 합니다. 여러 지도 api가 있지만 "너로 정했다! 네이버!" 출처 : https://navermaps.github.io/maps.js.ncp/docs/tutorial-1-Getting-Client-ID.html 우선은 클라이언트 아이디를 발급! 회원가입을 해줍니다. 결제 수단을 등록 후 콘솔로 이동 합니다. AI,NAVER API를 클릭 후 Application을 등록해 줍니다. 등록하기 전 Service를 선택! Maps을 사용해야하니 Web에 띄워주고 geo관련된 친구들 2개 선택해 줍니다. 그리고 Web서비스 url을 설정해줍니다. 일단은 로컬호스트에서 동작해야하니 http://localhost를 입력해줍니다. 등록 후에 .. 2023. 7. 31.
이미 올라가있는 pod unchanged일 때 이럴 경우는 재시작을 해줘야 합니다. kubectl rollout restart deployment [deployment_name] deployments를 구하려면 아래의 명령어를 통해 알아냅니다. kubectl get deployments 끝~:) 2023. 6. 25.
What is istio? Istio란? 플랫폼과 관계없는 오픈소스 서비스 매쉬로 마이크로서비스를 보호, 연결, 모니터링할 수 있습니다. Istio는 Kubernets, Nomad 및 Console에서 실행합니다. Service Mesh란? 간단히 말해 마이크로서비스의 네트워크 입니다. 예를 들어 서비스 A, 서비스 B간의 서로 통신하는 방법이자 각 서비스를 제어하는 지점 입니다. 또한 아래와 같이 각 서비스들이 직접 호출하는 것이 아닌 각 서비스마다 Proxy를 넣습니다.(Sidecar 구성 방식) 이렇게 하면 서비스로 들고나가는 트래픽을 네트워크 단에서 모두 통제가 가능하며, 트래픽에 대한 통제를 통해서 마이크로서비스의 여러가지 문제를 해결할 수 있습니다. ex) 써킷 브레이커(호출되는 서비스가 응답이 없을 경우 프록시단에서 .. 2022. 9. 1.
[k8s] error: the server doesn't have a resource type "node" 상황 kubernetes context를 연결 후 kubectl get pods 명령어 수행 시 error: the server doesn't have a resource type "pods"라는 오류 발생 원인 .kube/config 파일에 context와 user명을 임의로 변경해줬더니 발생.. cluster: acet-dev 를 acet-dev-context user: acet-dev-admin 를 teri.epi_acet-dev-context 명령어가 아닌 config 파일을 수동으로 변경을 하면서 뭔가 꼬인듯 하다.. 우선적으로 다시 원복(롤백)을 한 뒤에 다시 해보니 잘되었다. 결과 다시 kubectl get node를 하니 잘 됨.. 2022. 8. 29.
keycloak Springboot에 연동하기 2022.08.10 - [OpenSource/keycloak] - keycloak quick start keycloak quick start springsecurity진영에서 더이상 oauth2.0에 대한 지원을 중단하고 오픈소스를 통해 구현하라는 권고가 있었다. OKTA(유료)와 Keycloak(무료)중에 keycloak을 찍먹 해보려고 한다. https://www.keycloak.org/gettin.. acet.pe.kr springboot 연동은 gradle을 사용했다. build.gradle에 아래와 같이 디펜던시 설정을 넣어주면 된다. 주석 2개 되어있는 부분 참고! dependencies { implementation 'org.springframework.boot:spring-boot-star.. 2022. 8. 16.
keycloak quick start springsecurity진영에서 더이상 oauth2.0에 대한 지원을 중단하고 오픈소스를 통해 구현하라는 권고가 있었다. OKTA(유료)와 Keycloak(무료)중에 keycloak을 찍먹 해보려고 한다. https://www.keycloak.org/getting-started/getting-started-docker 우선 k8s베이스나 docker 베이스등 어떤 베이스로 셋팅을 할지 고를수 있다. 여기에서는 로컬에 docker가 셋팅 되어있으니 docker based로 해보겠다. docker run -p 8080:8080 -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin quay.io/keycloak/keycloak:19.0.1 start-dev 위.. 2022. 8. 10.
Spring Cloud Contract https://spring.io/projects/spring-cloud-contract Spring Cloud Contract is an umbrella project holding solutions that help users in successfully implementing the Consumer Driven Contracts approach 위의 내용은 spring.io에 spring cloud contract 설명을 한 내용인데 내용중에 Consumer Driven Contracts라는 내용이 나온다. 한글로 번역하면 "소비자 주도 계약" 이것은 무엇을 말하는걸까? 제공자(Producer) 가 소비자(Consumer)에 대한 연동을 확인하면서 모듈화된 시스템 구성 요소를 TEST하는데 사용되는 .. 2022. 8. 3.
@Scheduled @Scheduled 어노테이션은? 말그대로 스케쥴링 즉, 주기적인 작업이 있을 때 사용한다. 마치 리눅스의 crontab과 같다. 사용법 우선 사용하려고 하면 @EnableScheduling 선언이 필요하다. 그리고 수행할 메소드위에 선언하여 사용하면 된다. @Scheduled(initialDelayString = "6000", fixedDelayString = "6000") protected void scheduledReloadAllGraphs() { log.debug("reloadAllGraph"); reloadAllGraphsMono().subscribe(); } 속성 cron : cron 표현식을 지원한다. ex) @Scheduled(cron="* * * * * *") 초/분/시/일/달/주 201.. 2022. 7. 19.
k9s 셋팅 및 사용법 k9s란? k8s(쿠버네티스) 클러스터를 제어하기 위해 보통 kubectl 을 사용하는데 오늘 한 크루가 k9s라는것을 사용하는것을 보았다. 터미널에서 제어를 하는거였는데 좀 더 편하게 쿠버네티스를 제어할 수 있다고 한다. 그래서 설치를 해보고 사용해보려고 한다. 장단점으로 k9s를 바로 사용한다면 kubctl의 명령어들에 대해서 점점 더 잊혀질 가능성이 크다. 하지만 매우 편할것 같긴하다. 일단 둘 다 사용해보는걸로 하자! 셋팅-macOS 기준 brew install k9s 명령어로 인스톨 해줍니다. brew install k9s Running `brew update --preinstall`... ==> Downloading https://ghcr.io/v2/homebrew/portable-ruby/p.. 2022. 6. 17.
local에 Docker 기반 Redis 셋팅(feat. mac) ■ 우선 docker가 셋팅되어져있어야 한다. ■ docker명령어로 redis 이미지를 가져온다. docker pull or docker image pull docker pull redis:6.2.6 // 해당 버전을 가져오려면 redis:버전 docker image pull redis // 최신을 그냥 가져오려면 redis ■ 네트워크 리스트 확인 docker network ls NETWORK ID NAME DRIVER SCOPE 614b4249a627 bridge bridge local 3b3695c608b6 host host local a9a8dbbfa136 none null local ■ 네트워크 설정 docker network create redis-net redis-cli도 같이 구동해서 통.. 2022. 4. 12.
springboot error - Could not write JSON: Can not start an array, expecting field name (context: Object) 에러 발생 .HttpMessageNotWritableException: Could not write JSON: Can not start an array, expecting field name (context: Object); nested exception is com.fasterxml.jackson.databind.JsonMappingException: Can not start an array, expecting field name (context: Object) (through reference chain: org.springframework.hateoas.EntityModel["content"])] 위의 에러는 테스트 코드를 돌리는데 발생. @Test @DisplayName("입력 값이 잘못된 경우에.. 2022. 3. 25.
Spring Rest Docs 사용하기 api 개발 시에 문서화를 해서 이해관계자에게 전달을 하거나 개발자들간에 공유를 하거나 한다. 이런 문서는 wiki 나 다른 기업에서는 doc이라던지 심지어 한글이라던지 문서를 만들어서 공유한다. 문서화는 개발자한테 정말 곤욕이였다. 개발하기도 바쁜데 문서까지 신경써야 하니 말이다. 혹은 개발은 해놓고 문서와의 동기화가 매번 늦거나 까먹거나 하는 경우가 빈번하게 일어난다. 그래서 문서화를 좀 더 쉽게 하기 위해 아주 오래전엔 javaDocs라고 메소드 위에다가 설명 넣고 만들어줬던 기억이 어렴풋이 난다. 내가 본 근래에는 swagger를 많이 사용하는것 같다. 그런데 이번에 새롭게 알게된 RestDocs라는것을 소개해보려고 한다. https://techblog.woowahan.com/2597/ 위에서 보.. 2022. 3. 22.
HATEOAS(Hypermedia as the engine of application state) HATEOAS(Hypermedia as the engine of application state) You will build a hypermedia-driven REST service with Spring HATEOAS: a library of APIs that you can use to create links that point to Spring MVC controllers, build up resource representations, and control how they are rendered into supported hypermedia formats (such as HAL). HAL이 좀 더 궁금하다면? 클릭 더보기 Hypertext Application Language HAL is a simp.. 2022. 3. 15.
helm chart storm 참고 : https://artifacthub.io/packages/helm/gresearch/storm helm chart를 통해서 아파치 스톰을 설치해보자! 쿠버네티스의 패키지를 한번에 다 설치해주기 때문에 뭐가(storm, zookeepr, ui, service, pod등) 어떻게 뜨는지 알수 있을 것이다. 당연히 k8s와 helm chart가 설치된 전제하에 아래를 보시면 됩니다. 가이드에 나온것과 같이 아래의 명령어를 쳐줍니다. $ helm repo add gresearch https://g-research.github.io/charts $ helm install my-storm gresearch/storm 원샷 원킬..이제 어떻게 띄워져있는지 보도록 하자! nimbus, supervisor, z.. 2022. 1. 19.
pv, pvc terminating 말고 완전 삭제하기! kubectl delete pv 으로 무심코 지웠는데... 완전 삭제가 아닌 terminating으로 나왔다. kubectl delete pv --grace-period=0 --force 이후 kubectl patch pv -p '{"metadata": {"finalizers": null}}' 를 해주면 완전히 삭제 된다. 2022. 1. 11.
k8s와 docker 주저리 kubernetes를 공부하다가.. 아차! 싶었다! k8s는 도커 오케스트레이션을 위해서 나온 녀석인데..도커랑 나는 친한가? 도커를 확실히 가지고 놀아야겠다는 생각을 했다. 도커를 안해본건 아니다. 프로젝트에서도 해봤지만 제대로 모르는 느낌이다. 왜 이럴까? 온전히 내께 아니라서 그런거 같다. 좀 더 도커라는 녀석과 친해져야겠다. 외울껀 외우고 생각할껀 생각하며 온전히 이해 해보자! 2021. 12. 30.
log4j2 보안 취약성 발생! Apache Log4j 2*에서 발생하는 원격코드 실행 취약점(CVE-2021-44228)[2] https://www.boho.or.kr/data/secNoticeView.do?bulletin_writing_sequence=36389 log4j2가 사용하는 곳이 많다. 특히나 오픈소스등에 많다. apache storm , es , logstash등등.. 아래는 es 버전별 log4j 디펜던시 버전 정보이다. 정리해주신분 감사! (출처) - 조치방법 ※ (2.0-beta9 ~ 2.10.0) JndiLookup 클래스를 경로에서 제거 : zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class ※ (2.10 ~ 2.14... 2021. 12. 14.
리눅스에서 주기적으로 es 데이터 지우기 2021.08.22 - [OS/Linux&Unix] - Disk Full 처리 , 서버에서 로그만 찾겠다는 마인드는 버려라!! 에 이어서 이제 주기적으로 es 데이터를 지워주는 것을 리눅스 기반에서 처리 해보도록 하겠습니다. 아래의 2가지 요구사항! 1. 리눅스에서 주기적 crontab 이라는것을 사용하자. 2. es 데이터를 삭제 curl -XDELETE 'es-url:9200/index명-2021.10.*' 주기적인 처리는 crontab을 이용. crontab -e (수정)을 하여 아래와 같이 매달 1일 1시에 del_elastic.sh가 동작 하도록 한다. 00 01 1 * * /acet/script/del_elastic.sh >> /acet/script/remove.log 2>&1 del_elas.. 2021. 12. 12.
반응형