분류 전체보기
-
[Redis] Redis를 이용한 사이드 프로젝트 구현하기카테고리 없음 2025. 4. 12. 14:58
안녕하세요. 콕(KOK) 서비스의 백엔드 개발자 윤 영 입니다. 콕(KOK) 서비스는 약속을 잡기 위해 모임 장소를 고민하는 사용자들의 불편함을 줄이기 위해 기획된 중간 모임 장소 추천 서비스입니다. 모임장(방장)은 모임의 참가자들을 초대하고, 각자의 출발지를 기반으로 경로와 인기 있는 모임 장소 등의 가중치 등을 고려한 최적의 중간 장소를 추천받을 수 있습니다. 참여자 간 투표를 통해서 최종 모임 장소를 결정할 수 있으며, 주변 둘러보기 기능을 통해 최종 장소 주위의 맛집(음식점)이나 카페 등을 알려주는 기능을 제공합니다. 이 서비스를 처음 설게하면서 가장 중점적으로 고민했던 부분은 사용자들의 편리함이었습니다. 사용자들이 서비스를 이용하기 위해 번거롭게 회원 가입을 해야하는 경우가 많은데요. 그로인해 ..
-
NCP 활용 프로젝트 소개 - KOKInfra 2025. 4. 11. 23:58
콕(KOK)은 약속을 잡기 위해 오늘도 약속 장소를 고민하는 사용자들의 불편함을 줄이기 위해 기획된 중간 모임 장소 추천 서비스입니다.모임장(방장)은 약속방을 생성하고 초대 링크를 공유하여 참가자들을 초대할 수 있습니다. 약속방에 초대된 참여자들은 각자의 출발지를 입력하여 경로(거리)와 가중치 우선 순위(사람들이 많이 찾는 지역일수록 인기도 가중치 부여)를 고려한 최적의 모임 중간 장소를 추천받을 수 있습니다. 또한 사용자 간 투표를 통해 최종 모임 장소를 결정할 수 있는 기능과 주변 둘러보기 기능을 통해 모임 장소 주변의 맛집이나 카페 등에 대한 정보도 제공합니다. 프로젝트 설계 본 프로젝트는 도메인 주도 설계(DDD)와 헥사고날 아키텍처(Hexagonal Architecture) 기반으로 설계되었으며..
-
[세미나] 디프콘 참여 후기Study/세미나 2025. 1. 11. 15:00
2025년 1월 11일 사이드 프로젝트 동아리인 디프만(Depromeet)에서 진행하는 디프콘에 참여하였다.디프콘은 아래와 같은 주제와 순서로 진행되었다.1. 사이드 프로젝트를 만들때 알면 좋은 팁 (이동훈 연사님)32개의 사이드 프로젝트를 만들면서 느낀 성공하는 프로젝트를 만드는 방법-> 좋은 문제를 찾고 이를 빠르게 잘 해결했기 때문이라고 생각합니다. 1. 좋은 문제좋은 문제 = 문제를 겪는 사람 x 고통의 크기코로나맵 = 온 국민 x 바이러스로 인한 불안감사이드 프로젝트의 종류는 2가지비타민 = 고통을 겪는 사람은 많지만 고통의 크기가 작은진통제 = 고통을 겪는 사람은 적지만 고통의 크기가 큰 (연사님은 진통제 유형을 추천)좋은 문제 = 고통을 겪는 사람은 적지만 고통의 크기가 큰좋은 문제를 찾는 ..
-
[MySQL] 옵티마이저Database/데이터베이스 2024. 12. 16. 12:54
MySQL 아키텍처MySQL엔진: SQL 문장 분석 / 최적화스토리지 엔진: 데이터 저장 / 조회 쿼리 실행 과정 1SQL 파서: SQL문을 잘게 쪼개 MySQL 서버가 이해할 수 있는 수준으로 분리SQL 옵티마이저: 파스 트리를 확인하며 쿼리 최적화 및 실행계획 수립데이터 읽기/쓰기: 결정된 정보를 통해 스토리지 엔진에서 필요한 데이터 가져오기 실행 계획이란?옵티마이저가 결정한 최적의 쿼리 실행 방법EXPLAIN SELECT *FROM memberWHERE id = 1; 실행계획 분석하기실행계획 컬럼 key: possible_keys 컬럼에 적힌 후보 인덱스 중 실제로 선택한 인덱스실행계획 컬럼 rows쿼리를 실행하기 위해 조사해야 하는 행의 수rows 값을 줄이는 것이 쿼리 튜닝의 핵심추정값이라 정..
-
[Git] Git 명령어 동작 원리Computer Science/비전공자를 위한 IT 개념정리 2024. 12. 12. 12:53
Git 이란Git is free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.깃은 소스코드를 효과적으로 처리하도록 설계된 무료 오픈소스 소프트웨어컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율GIT INIT터미널에서 git init 명령어를 입력하면 .git 디렉토리 생성됨HEAD: 현재 체크아웃된 브랜치를 가리키는 파일refs: 브랜치, 태그와 같은 참조들을 저장하는 폴더index: 메타 데이터와 오브젝트 데이터 저장하는 폴더objects: 모든 데이터를 저장하..
-
[Java] ReflectionProgramming Language/Java & Kotlin 2024. 12. 11. 20:45
리플렉션이란?reflect: 반사하다, 비치다거울에 반사된 고양이가 있다고 가정하자.여기서 고양이는 '클래스', 거울에 반사된 고양이는 'JVM 메모리 영역의 정보'에 해당정의: 런타임에 클래스와 인터페이스 등을 검사하고 조작할 수 있는 기능 컴파일 타임과 런타임컴파일 타임: 스냅샷런타임: 상호 작용 리플렉션 다시보기프로그램 실행 중에 사용자와 운영체제 및 기타 프로그램과 상호작용하면서 클래스와 인터페이스 등을 검사하고 조작할 수 있는 기능 리플렉션 동작 원리Class: 메서드 영역의 클래스 및 인터페이스 정보를 가져오는 클래스리플렉션으로 어떤 정보를 얻을 수 있는가?필드메서드생성자EnumAnnotation배열부모 클래스와 인터페이스 필요한 값 가져오기 참조범위접근제어자getXXXs자신과 상위 클래스pu..
-
[MySQL] ST_Distance_Sphere 함수Database/데이터베이스 2024. 11. 11. 02:41
ST_Distance_Sphere 함수란?MySQL의 ST_Distance_Sphere 함수는 두 지점 간의 대권 거리(Greate Circle Distance) 를 계산하는데 사용됩니다.이 함수는 지구를 완벽한 구(sphere)로 간주하고 두 지점의 위도와 경도를 기반으로 두 지점 사이의 거리를 미터(meter) 단위로 반환합니다.함수 정의ST_Distance_Sphere(point1, point2)point1: 첫번째 지점의 위치(Point 객체, 위도와 경도를 포함)point2: 두번째 지점의 위치(Point 객체)반환 값: 두 지점 간의 거리 (미터 단위)특징구형 지구 모델: ST_Distance_Sphere는 지구를 구(sphere)로 가정하고 계산하기 때문에 지표면의 실제 곡률을 반영하지 않음..
-
[Real MySQL] 4장 아키텍처Books/Real MySQL 8.0 2024. 11. 9. 02:12
MySQL 엔진 아키텍처MySQL 서버는 사람의 머리 역할을 담당하는 MySQL 엔진과 손발 역할을 담당하는 스토리지 엔진으로 구분MySQL 서버는 크게 MySQL 엔진과 스토리지 엔진으로 구분그리고 이 둘을 모두 합쳐서 MySQL 또는 MySQL 서버라고 표현MySQL 엔진클라이언트로부터의 접속 및 쿼리 요청을 처리하는 커넥션 핸들러, SQL 파서, 전처리기, 쿼리의 최적화된 실행을 위한 옵티마이저가 중심MySQL은 표준 SQL(ANSI SQL) 문법을 지원하기 때문에 표준 문법에 따라 작성된 쿼리는 타 DBMS와 호환되어 실행 가능스토리지 엔진MySQL 엔진: 요청된 SQL 문장을 분석하거나 최적화하는 등 DBMS의 두뇌에 해당하는 처리를 수행스토리지 엔진: 실제 데이터를 디스크 스토리지에 저장하거나..