목록전체 글 (46)
초오오오오오짜개발자의낙서장
graphana api를 이용하여 dash board 목록을 조회할수가 있다. Accept: application/jsonContent-Type: application/jsonAuthorization: Bearer api key 값api : GET /apis/dashboard.grafana.app/v1beta1/namespaces/:namespace/dashboardslimit query parameter를 사용하여 한번에 가져오는 대쉬보드의 갯수를 조절할수 있고, continue token을 사용하여 다음 페이지의 대쉬보드를 가져올수 있다.namespace는 대쉬보드를 생성할때 붙는 식별자인것 같다 지정하지 않으면 default가 붙는것 같다. graphana api를 이용하여 dash board를 ..

cors 에러는 웹개발에서 자주 마주치는 보안 정책 관련 오류이다.정식 명칭은 Cross-Origin Resource Sharing브라우저가 다른 출처의 리소스를 요청할 때 보안상 차단하면서 발생 자바스크립트에서의 요청은 기본적으로 서로 다른 도메인에 대한 요청을 보안상 제한한다.브라우저는 기본적으로 하나의 서버 연결만 허용되도록 설정되어있기 때문 우리가 어떤 사이트를 접속할때 인터넷 주소창에 우리는 URL이라는 문자열을 통해 접근하게 된다.이처럼 URL은 https://domain.com:3000/user?query=name&page=1 과 같이 하나의 문자열 같지만, 사실은 다음과 같이 여러개의 구성 요소로 이루어져 있다. 동일 출처 정책동일 한 출처에서만 리소스를 공유할 수 있다.왜?해커가 C..
트랜잭션 격리 수준 이해하기 위해서 먼저 lock을 알아야한다 크게 스토리지 엔진 레벨과 mysql 엔진 레벨로 나눌수 있다. - 스토리지 엔진 레벨의 잠금 : 테이블의 데이터를 다루기 위한 락 - mysql 엔진 레벨의 잠금 : 테이블이나 데이터베이스 등과 같은 부분을 위한 락 스토리지 엔진 레벨의 잠금 - 레코드 락 - 갭 락 - 넥스트 키 락 - 자동 증가 락 레코드 락 - 테이블 레코드 자체를 잠그는 락 - 레코드 수준은 작은공잔으로 관리 - 레코드 락이 페이지 락 or 테이블 락으로 레벨업 되는 경우는 없다. - mysql에서의 레코드 락은 테이블의 레코드가 아닌 인덱스의 레코드를 잠근다는 점에서 차이가 있다. - mysql에서 인덱스와 테이블은 별도의 자료 구조로 관리되는데 인덱스에 락이 걸린..
1. grafana?그라파나는 데이터 시각화 및 모니터링 도구로 데이터 소스를 통합하여 대시보드 형태로 시각화 할 수 있다. 2. 설치홈페이지에 들어가면 여러 os 버전에 맞는 프로그램을 설치가 가능하다.나는 윈도우라 윈도우로 설치를 했다. 3. 그라파나 접속기본적으로 3000번 포트를 사용한다. 포트 변경은 환경변수? 파일을 수정하면 가능하다. 해당 파일은 관리자 권한으로 열어야 수정이 가능하다. 4. 데이터 소스 연결시각화를 시키려면 데이터 소스를 연결해야한다.종류가 많이 있지만 사용하려는 aws opensearch가 아직 구현이 되지 않았기 때문에 mysql로 설정해서 가지고있는 maria.db랑 연결을 시켯다. 5 대시보드 추가https://grafana.com/grafana/dashboards/..
부스트 캠프 베이직 과정이 끝났습니다~~ 예에~~ - 베이직 이란?부스트 캠프의 멤버쉽 과정으로 가기위한 첫단계이다.가장 첫단계인 베이직은 신청을 하면 누구나 들어갈수 있게 2025년도부터 수정됨. 올해 2월에 퇴사를 하고난후 국비지원 부트캠프를 수강하면서 백엔드, 프론트엔드, CI/CD, DevOps등의 지식을 짧은 시간에 배우게 되었다.이런방법으로 공부를 하다가는 깊은 지식을 쌓기가 어려울 것으로 판단되어 부스트캠프에 지원을 했다. 부스트 캠프는 예고했던대로 일방적으로 지식을 주입하는 것이 아닌, 매일 하나씩 미션을 제시하고 그것을 해결하는 과정에서 도전자가 지식을 얻는것을 목표로 진행되었고 주입식으로만 공부를 하던 나에게는 새로운 자극이 되었다. 2주동안 베이직 과정을 진행하면서 처음에는 문제 해결..
inteli j 에서 import 가 5개 이상되면 자동적으로 와일드 카드 import로 바꾸어준다 이는 지양해야하는 요소이다. import racingcar.domain.* -> 와일드 카드 import 이다. 이거 편리하다 생각했는데 지양해야 되는구나를 알았다.왜? -> 보안에 취약해 진다다 풀어서 쓴다. Spring Boot 에서 @Column 어노테이션을 써서 일일히 네이밍을 지정해준다. JPA는 자동으로 테이블 명이나 칼럼명을 스네이크케이스로 바꾸어준다. 이것의 주체가 JPA인지 하이버네이트인지 알아보자 하이버 네이트는 자바 언어를 위한 ORM oriented relational Mapping 프레임 워크다 jpa의 구현체로 jpa 인터페이스를 구현하며 내부적으로 jDBC api를 사용한다. j..
const arr = [1,3,2,4,5];const filter1 = arr.filters(thisIsOver => thisIsOver >= 3);// filter 1 : [3,4,5]자바 스크립트 공부중 특이한(?) 메소드를 찾았다. filter 함수인데, 배열의 각 요소를 돌며 callback 함수를 실행해서 조건에 맞는 요소만을 리턴해 준다. c 에서는 for문 돌려서 새로운 배열에 추가하는 방식으로 생각을 했는데, 이런 함수가 있다니 놀랍다. js로 코드를 짜면서 느끼는 생각인데, 나의 사고 방식이 C, C++에 갖혀있고 그 마저도 엄청 좁아서 생각의 확장이 필요해 보인다.

kubectl port-forward -n argocd svc/argocd-server 8443:443 8443 포트를 사용중에 컴퓨터를 재부팅하니 포트가 막혔다. 검색을 4시간동안 한 결과 Window NAT(winnat) 드라이버로 인해 생기는 문제라고 한다. netsh int ip show excludedportrange protocol=tcp 드라이버에서 해당 포트를 미리 예약해서 그 예약을 삭제하면 된다.net stop winnat netsh int ipv4 add excludedportrange protocol=tcp startport=8443 numberofports=1 net start winnat 위 사진은 당시 에러 사진은 아니며 에러 회고를 위해 찍은 사진이다. 아무튼 해결!