분류 전체보기
-
[세미나] 디프콘 참여 후기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의 두뇌에 해당하는 처리를 수행스토리지 엔진: 실제 데이터를 디스크 스토리지에 저장하거나..
-
가상 면접 사례로 배우는 대규모 시스템 설계 기초Books/가상 면접 사례로 배우는 대규모 시스템 설계 기초 (1,2) 2024. 11. 4. 20:21
Chapter 1장사용자 수에 따른 규모 확장성수백만 사용자를 지원하는 시스템을 설계하는 것은 도전적인 과제이며, 지속적인 개량과 끝없는 개선이 요구되는 여정단일 서버웹 앱, 데이터베이스, 캐시 등이 전부 서버 한 대에서 실행되는 시스템사용자의 요청이 처리되는 과정사용자는 도메인 이름(api.mysite.com)을 이용하여 웹사이트에 접속한다. 이 접속을 위해서는 도메인 이름을 도메인 이름 서비스(DNS)에 질의하여 IP주소로 변환하는 과정이 필요하다. DNS는 보통 제3 사업자 (third party)가 제공하는 유료 서비스를 이용하게 되므로, 우리 시스템의 일부는 아니다.DNS 조회 결과로 IP주소가 반환된다.해당 IP주소로 HTTP(HyperText Transfer Protocol) 요청이 전달된다..
-
[MySQL] 스토어드 프로시저(Stored Procedure)Database/데이터베이스 2024. 8. 28. 21:43
개요평소 SQL문을 사용할 때 쿼리문을 자주 사용하는데 특정한 경우 프로시저를 사용하면 편리성 면에서 효과가 있음MySQL 프로시저(Procedure)는 저장된 프로시저로도 알려져 있으며, 서버에 저장된 하나 이상의 SQL 문장의 집합프로시저는 여러 SQL문을 모아서 재사용할 수 있는 방법을 제공하며 데이터베이스 작업의 자동화, 코드 재사용성 향상, 그리고 복잡한 로직을 캡슐화하는데 유용함프로시저의 주요 특징1.입력 및 출력 매개변수 지원프로시저는 'IN', 'OUT', 'INOUT' 매개변수를 사용할 수 있음IN: 호출할 때 전달되는 입력 매개변수OUT: 프로시저가 반환하는 출려 ㄱ매개변수INOUT: 입력과 출력을 모두 담당하는 매개변수2. SQL 문장의 집합여러 SQL 문을 포함할 수 있으며, 복잡한..