• 티스토리 홈
  • 프로필사진
    아몬드맛빼빼로
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
아몬드맛빼빼로
  • 프로필사진
    아몬드맛빼빼로
    • 분류 전체보기 (46)
      • Java (8)
      • C (3)
      • Springboot (7)
      • Kotlin (2)
      • 회고 (5)
      • Backend (13)
      • 기타 (5)
      • DevOps (3)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
# Home
# 공지사항
#
# 태그
# 검색결과
# 방명록
  • 포스트글 썸네일 이미지
    [Backend] gRPC
    아몬드맛빼빼로:
    g...RPC?gRPC란 Google에서 개발한 오픈소스이며 원격 프로시저 호출(Remote Procedure Calls)를 위한 통신규약,즉 프로토콜이다.더 쉽게 말하자면 A 서버에서 만들어 둔 함수를 B 서버에서 호출하여 사용할 수 있다.Remote Procedure Calls기존에도 소켓(Socket)이라는 훌륭한 통신방식이 존재하였지만 통신 과정을 직접 구현하며 개발자의 부담이 커지고 데이터의 포맷팅을 처리하는 것도 서비스가 고도화되고 대형화될 수록 어려워졌다.이때 RPC라는 기술이 등장하였는데 네트워크로 연결된 서버 상의 프로시저(함수 등)를 원격으로 호출할 수 있는 기술이었다.IDL(Interface Definition Language) 기반으로 다양한 언어로 구동되는 환경에서도 확장이 가능하..
    • 2025-02-28 04:02:30
  • 포스트글 썸네일 이미지
    [Backend] MySQL에서 한글 검색을...?
    아몬드맛빼빼로:
    문제상황여느때와 같이 몇몇의 친구들과 토이 프로젝트를 하고 있던 어느 날 심각한 고민에 빠지게 된다.한글로 저장된 사용자들의 이름을 검색할 수 있어야 하는데 지금까지는 MongoDB,Elaticsearch의 Nori 형태소 분석기를 써서 아주 자연스러운 한글 검색을 구현해냈지만 많아봐야 150여개의 적은 데이터에서 길어봤자 10자를 안넘어가는 한글 검색을 위해 하나의 DB를 추가적으로 운용하자는 것은 오히려 득보다 실이 더 많을 것 같았다.그냥 Like문이나 쓰면 안되나?거두절미하고 사실 이미 간단한 검색은 충분이 구현 가능하다.SELECT * FROM member WHERE name LIKE '%김%';다음과 같은 쿼리문을 작성할 수 있다면 "member 테이블에서 -> name 칼럼의 -> "김"이 ..
    • 2025-02-06 13:35:01
  • 포스트글 썸네일 이미지
    [Backend] Elasticsearch
    아몬드맛빼빼로:
    데이터의 바다에서엄청나게 방대한 유저 정보와 같은 데이터가 있다고 해보자,여기서 "Kim" 이라는 이름으로 시작하는 모든 데이터를 RDB에서 조회하려면 모든 행을 검사하며 "Kim"이 포함되어 있는지를 확인해야한다.이런 작업은 막대한 부하를 줄 수 있고 데이터가 많아질수록 비효율적으로 변한다.일래스틱...서치?오픈소스 검색,분석엔진으로 대량의 데이터를 저장하고 분석하고 조회하는데 특화되있다.RESTful API를 통해 동작하며 대규모 데이터 처리에 특화되어 다양한 설정과 데이터 조작을 제공한다.역색인 구조책에서 무언갈 찾을 때 우린 책 맨 뒷장을 펼쳐 색인을 뒤져본다.예를 들어 위 이미지에서 "Cat"을 찾으려면 1,3,6을 조회하면 되는 것이다.이처럼 키워드를 통하여 찾아내는 방식을 역색인 구조라 한다..
    • 2024-12-23 12:01:53
  • 포스트글 썸네일 이미지
    [Backend] Redisson Pub/Sub 기반 분산 락
    아몬드맛빼빼로:
    동시성 문제(Concurrency Issue), 그리고 분산 락(Distributed Lock)동일한 리소스에 여러 쓰레드가 동시에 접근하면 '동시성 문제'가 발생한다.'동시성 문제'란 예를 들어 하나의 쓰레드가 리소스를 수정하던 상황에서 다른 쓰레드가 수정 전의 리소스를 조회함으로서 서로 다른 리소스를 얻어가는 문제를 말한다.이러한 문제를 해결하는 데에는 여러 해결책이 있는데 그중 하나로 Java에서 사용되는 Redis 클라이언트인 Redisson를 사용하는 분산 락 방법에 대해 알아보겠다.Lettuce 기반 스핀 락(Spin Lock)?Spring Boot 2.0부터는 Netty 기반의 Lettuce가 Redis 기본 클라이언트로 사용됬다. Lettuce를 이용한 락 구현 시, 락을 획득하지 못한 ..
    • 2024-11-30 21:04:15
  • 포스트글 썸네일 이미지
    [Backend] GraphQL
    아몬드맛빼빼로:
    GraphQL 개요GraphQL의 주요 특징단일 엔드포인트로의 유연한 접근GraphQL은 단일 엔드포인트(/graphql)를 통해 모든 데이터 요청을 처리한다. REST API처럼 여러 엔드포인트를 관리해야 하는 복잡성을 줄이고, 클라이언트가 특정 데이터에 대한 요청을 자유롭게 구성할 수 있다.필요한 데이터만 요청 가능GraphQL은 클라이언트가 필요한 데이터만 요청하도록 설계되었다. 불필요한 데이터를 전송받을 필요 없이 원하는 필드를 명시적으로 요청할 수 있어 네트워크 사용을 효율화할 수 있다.타입 시스템을 통한 데이터 일관성 보장GraphQL 스키마는 데이터의 구조와 타입을 명확하게 정의한다. 이를 통해 개발자는 API가 어떤 데이터를 주고받는지 쉽게 이해할 수 있으며, 런타임 오류를 줄일 수 있다...
    • 2024-11-25 12:32:49
조회된 결과가 없습니다.
[1][2]
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
목차
표시할 목차가 없습니다.
    • 안녕하세요
    • 감사해요
    • 잘있어요

    티스토리툴바