본문 바로가기
반응형

전체 글1073

[Kubernetes] 쿠버네티스 레플리카셋(replicaset) 개념 CICD 를 하면서 사용하게 되는 argoCd 가 있고, 그 안에서 사용되는 쿠버네티스의 레플리카 셋 이라는 것이 있다. argoCd, 쿠버네티스 등에 대한 자세한 내용은 아래 참고포스팅에서 확인할수 있다. 레플리카셋(Replicaset) 이란? 레플리카셋은 실행되는 파드 개수에 대한 가용성을 보증 하며 지정한 파드 개수만큼 항상 실행될 수 있도록 관리한다. 즉 10개의 파드를 항상 실행 하도록 설정하면 이후 파드 1개가 삭제될 경우 다시 파드 1개가 실행되어 10개를 유지할 수 있도록 해준다. 리플리카셋은 아래와 같이 작성을 할수 있다. apiVersion: apps/v1 kind: ReplicaSet metadata: name: test-replicaset spec: template: metadata.. 2023. 2. 13.
[firebase] Crashlytics 연동방법 Firebase Crashlytics란? Firebase Console에서 포괄적인 비정상 종료 보고서를 확인하는 방법을 설명한다. Android용 Crashlytics를 사용하면 비정상 종료, 심가하지 않은 오류, '애플리케이션 응답 없음'(ANR) 오류에 관한 보고서를 받을 수 있다. 어플을 만들면 다양한 기능을 위해 google 에서 만든 firebase에 어플을 등록하여 데이터를 수집하곤 하는데, 그중 crashlytics 이라는것을 소개 해보려고 한다. 다양한 오류로 인해서 비정상적인 종료가 되는 어플에 대한 기록을 남기기에 아주 유용하다. 자세한 내용은 firebase 공식 홈페이지에서 확인할수 있다. https://firebase.google.com/docs/crashlytics/get-st.. 2023. 2. 12.
상태바 숨기기 (flutter) 이전 포스팅에서 안드로이드 어플의 상단바 숨기는 법을 포스팅 하였다. 자세한 내용은 아래 참고 포스팅을 확인 바란다. 이번 포스팅에서는 flutter 에서의 상태바 숨기는 법을 공유한다. 스텝이 간단하다. 해당 서비스 import import 'package:flutter/services.dart'; 코드 명시 SystemChrome.setEnabledSystemUIOverlays([]); 기호에 따라 원하는 statusBar만 볼수도 있다. SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.top]); // 상단 StatusBar 생성 SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.bottom]).. 2023. 2. 11.
findBy 쿼리 메서드에서 dto 명칭(underbar, camel case) CRUD repository 에서 제공하는 쿼리 메서드를 사용하게 되면 아마 findById 에 대해서는 들어봤을 것이다. 자세한 사항은 아래 참고 포스팅을 참고 바란다. 그리고 dto 를 사용 하게 될 경우 , 정확히는 entity 를 사용하게 될 경우 변수의 명명 규칙이 있다. 바로 camel case 규칙이다. 자세한 사항은 아래 참고포스팅을 참고 바란다. 쿼리 메서드를 사용하게 되면 예를들어 변수명이 name 일 경우나 className 같은 경우는 findByName / findByNameAndClassName 이런식으로 And 절 나오기 전 까지 구분이 된다. 허나 데이터베이스에서는 camel 케이스 보다는 언더바를 사용하는 snake 케이스를 주로 사용한다. 그러기에 자바 dto 에서는 이것.. 2023. 2. 10.
자바 Timestamp / Date / LocalDate 에서 현재 시간 구하는 방법 오라클에서 작업 시 현재 시간을 sysdate 로 사용을 하는데 오라클 함수를 자바에서 구현해야할 일이 있었고, 해당 변수의 자료형은 Timestamp였다. timestamp를 자바에서 현재로 받는 방법은 아래와 같다. Timestamp timestampName = new Timestamp(System.currentTimeMillis()); 그밖에 시간 변수타입인 Date를 이용해서는 아래와 같다. Date date = new Date (); System.out.println(date.toString()); 또 그밖에 시간 변수타입인 LocalDate를 이용해서는 아래와 같다. LocalDate.now(); 이들의 차이는 아래 참고 포스팅에서 확인할 수 있다. 참고 포스팅 https://thenicesj.. 2023. 2. 9.
[Oracle] EXISTS, NOT EXISTS 결론을 먼저 말하면 EXISTS(서브 쿼리)는 서브 쿼리의 결과가 "한 건이라도 존재하면" TRUE 없으면 FALSE를 리턴한다. EXISTS는 서브 쿼리에 일치하는 결과가 한 건이라도 있으면 쿼리를 더 이상 수행하지 않는다. 말로하는 설명이 좀 이해가 안가서 이해하기 쉽도록 그림으로 설명을 하면 아래 표가 있다. 그리고 아래 쿼리가 돌아가면 아래의 결과가 나온다. 서브쿼리 테이블에 존재하는 값들만 조인 조건을 기준으로 같은 값이 있는 경우의 값들만 보여준다. 그리고 select 1 의 의미는 select 을 빈 값으로 둘 수 없어서 기입을 해둔것이며 , 1이 출력되거나 하지는 않는다. 반대로 NOT EXISTS 의 경우는 차집합 개념으로 없는 데이터를 출력해준다. in 절과 비교 이렇게 되면 in절과 .. 2023. 2. 8.
도메인 포워딩이란? 도메인 포워딩을 알기 전에 아래 참고 포스팅에서 도메인에 대한 개념을 먼저 알고 오는것을 추천한다. 짧게 말하면 도메인은 일종의 사이트의 주소로서 웹사이트를 운영하는데 꼭 필요한 서비스이다. com/ co.kr/ net / kr 등 도메인의 종류가 무수히 많기에 방문자 입장에서는 도메인 주소가 헷갈리 수 있다. 예를 들어, naver 주소 (naver.com) 대신 naver.kr로 입력하거나 naver.co.kr 입력하는 등 도메인 주소가 다양하다보니 다르게 입력할 수 있기에 그렇다. 아예 다른 사이트라면 문제가 없지만 같은 화면을 가리키게 해주게 하는 방법이 있다. 본 포스팅에서 소개하는 도메인 포워딩 기능을 적용하면, 고객이 'naver.com'을 입력하든, 'naver.kr'을 입력하든. 'nav.. 2023. 2. 7.
[Java] 리스트 내 요소 중복 체크 list를 사용중에 중복된 요소를 체크해야할 일이 생겼다. 물론 반복문을 돌면서 새로운 리스트에 넣어도 되고, 다양한 방법들이 있지만 이전 포스팅에서 다룬 set을 사용하여 좀더 편하게 중복 체크를 하려고 한다. 이전 포스팅인 set과 list에 대한 설명은 아래 참고 포스팅을 참고하길 바란다. list를 set으로 바꿔만 주면 간단하게 해결이 된다. List list = Arrays.asList(1,2,3,4,5,5,5,5); Set set = new HashSet(list); 이렇게만 해주면 set으로 사용하면서 중복된 값을 사용할수 있게된다. 참고 포스팅 https://thenicesj.tistory.com/282 Map, Set, List 에 대해서 이번 포스팅에서는 자바에서 arraylist나 .. 2023. 2. 6.
LOG 란? 로그란? 모든 행위와 이벤트 정보를 시간의 경과에 따라 기록한 데이터 시스템 상에서 "로그" 를 생성하는 과정을 "로깅(Logging)" 이라고 한다. 로깅(logging)의 장점 개발 프로그램의 디버깅 예기치 못한 문제의 원인 파악 시스템 및 사용자의 동작 패턴 분석 해킹(침입)의 비정상 동작의 기록을 감지 분석을 통한 통계화 즉, 모든 것을 기록하고 분석하여 예측하게 해주는 장치라고 할 수 있다. 로깅 라이브러리 종류 로깅 라이브러리는 프로그램을 실행하는 도중에 로그를 남기기 위해 사용되는 유틸리티이다. java.util.logging (jdk8) JDK에 내장된 기본 로깅 라이브러리. JDK 1.4부터 포함된 표준 로깅 API Apache Commons logging Apache 재단의 Common.. 2023. 2. 5.
반응형