전체 글 196

webHook이란

웹훅은 웹페이지 or 웹앱에서 발생하는 특정 행동(이벤트)들을 커스텀 Callback으로 변환해주는 방법으로 이러한 행동 정보들을 실시간으로 제공하는데 사용됩니다. 보통 REST API로 구축된 웹 서비스는 하나의 요청에 따라 하나의 응답을 제공합니다. 이러한 구조로 인해 특정 이벤트가 발생했는지 조회하려면 서버로의 요청이 선행되어야 합니다. 즉, 일반적인 API(Polling)는 클라이언트가 서버를 호출하는 방식입니다. 하지만, 웹훅은 서버에서 특정 이벤트가 발생했을 때, 클라이언트를 호출하는 방식으로써 역방향 API라고도 불립니다. 이렇게 서버측에서 클라이언트의 어떤 URL로 데이터를 보낼지 정해놓은 주소를 바로 Callback URL이라고 부릅니다. ✅ Webhook 활용성 예를 들어, 메일을 수신..

카테고리 없음 2023.02.16

querydsl에서의 조건문처리 삽질기

private BooleanExpression FindAllEventList(LocalDateTime start, LocalDateTime end) { if (event.rrule == null) { //일반 이벤트{ System.out.println(" 1번경우"); return (DateBetween(start, end).or(DateInclude(start, end))).and(ExceptboundaryValue(start)); } else // 반복이벤트 경우 { System.out.println(" 2번경우"); return (NotEndedRepeat(start).or(RepeatEndDateNull())); } } 위와 같은 코드가 있다고 해보자. 나는 위 코드가 "event" 테이블의 "r..

TIL 2023.02.15

shell이란

shell 이라는 말을 많이 들었다. shell은 한글로 번역하면 그냥 껍데기, 라는 뜻인데, 운영체제의 핵심 ( 프로세스관리, 메모리관리, 저장장치 관리 등 ) 을 모아놓은 커널 을 다루기 위한 명령어들이 shell 이다. Application에 daemons ( 데몬프로그램) 이란 ? : -멀티태스킹 운영 체제에서 데몬은 사용자가 직접적으로 제어하지 않고, 백그라운드에서 돌면서 여러 작업을 하는 프로그램을 말한다. -윈도우의 서비스 같은 개념 -일반적으로 프로세스의 형식으로 실행되며 데몬이라는 표시를 위해 뒤에는 d가 붙는다. ex) syslogd -서버측면의 네트워크 서비스를 처리하는 프로그램 -대개 관리자 권한으로 실행되어 네트워크 요청이나 하드웨어 동작 등 여러 기능을 담당하며 다양한 목적으로 사용

카테고리 없음 2023.02.06

jwt..

맨날 이론적으로만 알고있다고 생각했다가 막상 또 jwt 토큰으로 받아드리는 과정을 코딩하다보니 헷갈렸다. 그냥 내 언어로 정리를 해야겠당!! 1. 예전 ( 대칭키 ) A와 B가 같은 키를 가지고 수행함. 장점 : 빠름 단점 : 사람이 늘어나면 nC2 만큼의 키가 만들어짐 ( 관리 어려움) -> sniffing, spoofing 등으로 해킹의 위험. 물론 장점도 있어서 필요시 사용 가느!! 2. 현재 ( 공개키) A는 키 하나를 다른 사람들에게 공개 함. X509 : PKI(공개키 기반 구조)의 표준임.(https://gruuuuu.github.io/security/what-is-x509/) PKI : 인터넷과 같이 안전이 보장되지 않는 망 사용자들이 한쌍의 공개키와 개인키를 사용함으로써 하는것. 근데 공..

카테고리 없음 2023.02.03

FCM 알람이란

알람센터를 만들어야하는데, 회의에서부터 뭐라는지 모르겠다.. 정리좀 해야겠다!! FCM Firebase Cloud Messaging의 약자로, 무료로 메세지를 전송할 수 있는 플랫폼 메시지 솔루션. 그냥 FireBase에서 메세지 보내는 서비스이다. Firebase가 뭐였지? https://beomseok95.tistory.com/106 FireBase란? FireBase란?모바일 서버를 개발하기 위해서는 인증, 데이터베이스, 푸시 알람, 스토리지, API 등 모든것을 개발해야 했습니다. 하지만 모바일 서버는 이런 모든 것을 구성하는데 구성하는 범위가 매 beomseok95.tistory.com 요약해보자면, 인증, 데이터베이스, 스토리지, 원격 구성, 푸시 알람 등을 해주는 개짱짱한 통합 플랫폼이다. ..

TIL 2023.01.31

자바 정렬 sort

어떤 조건들을 쭉 나열하면서 -1 : 왼쪽으로 옴 1 : 오른쪽으로 옴. 0 : 두 조건에서 같음. 근데 여러 조건을 메서드명으로 주루룩 길게 쓰면 현재 coplilot이 잘 따져준다ㅎㅎ 편리하당 자세한 정렬 : https://codechacha.com/ko/java-sorting-comparator/ Java - Comparator로 정렬(Sorting)하는 방법, Comparable과의 차이점 Comparator 객체를 생성하여 Collections나 배열 등을 정렬할 수 있습니다. Comparator는 익명 클래스 또는 람다식으로 만들 수 있습니다. compare()의 리턴 값은 음수, 양수, 0이 될 수 있습니다. 음수가 리턴 codechacha.com

카테고리 없음 2023.01.26

스프링에서의 cache

기존 cache 처리라고하면 떠올리는게 Redis이다. 이는 추가적인 메모리 DB를 사용하거나 application레벨에서 사용가능한 EhCache등이 많이 쓰이는데, 이 중 application레벨에서 사용가능한 spring cache가 있다. spring cache는 cache 기능의 추상화를 지원하는데, EhCache, Couchbase, Redis 등의 추가적인 캐시 저장소와 빠르게 연동하여 bean으로 설정 할 수 있도록 도와준다. 만일 추가적인 캐시 저장소와 연결하지 않는다면, ConcurrentHashMap 기반의 Map 저장소가 자동으로 추가된다. 캐시를 쓰긴 써야하는데, EhCache까지는 쓸 필요는 없고, 간단하게 몇몇 토큰 정도만 캐시처리가 필요 한 경우 빠르게 사용 할 수 있다. 로..

카테고리 없음 2023.01.26

RequestContextHolder.currentRequestAttributes()) .getRequest()

스프링에서 HttpServletRequest에 접근하도록 도와주는 함수이다. 나는 @CreateBy 같이, 로그인한 사람의 정보를 바로 저장할때 사용한다. 원리를 단순하게 설명하면, 1.Spring은 static한 MAP을 하나 만들고, 2.Servlet( 참고: https://zandi123.tistory.com/17 ) 이 호출되면, key를 thread로 해서 제공받은 HttpServletRequest를 보관함. 3. 그리고 servlet이 종료될 때 , 해당 쓰레드를 key로 같는 HttpServletRequest를 MAP에서 제거함. 4. -> 호출된 서블릿과 동일한 쓰레드 내에서는 어느곳이던 같은 HttpServletRequest를 꺼내서 접근할 수 있음. 위는 단순화된 설명이지 실제와는 다르..

TIL 2023.01.26