알고리즘 유형 판단 및 암기 공식알고리즘사용 타이밍(문제 키워드)암기 공식핵심 뼈대BFS기중치 없는 최단 거리, 미로 탈출, 영역 크기큐.꺼.사.넣1. deque 생성 및 시작점 방문 처리2. popleft()로 추출3. 4방향(dx, dy) 탐색4. 조건 체크 후 방문 처리 즉시 append()DFS / 백트래킹모든 경우의 수 탐색,순열/조합, 백트래킹종.방.호.복1. 종료 조건 (depth == N)2. 방문 처리 및 경로 추가3. 재귀 호출 (dfs(depth+1))4. 상태 복구 (pop(), visited = False)이진 탐색정렬된 데이터, 범위가 매우 큼(10^9 이상), 조건 만족 최댓값/최솟값left 1. while left 2. mid = (left + right) // 23. 조건에..
문제 상황SELECT * FROM table WHERE TRUNC(create_date) = TO_DATE('2026-08-19', 'YYYY-MM-DD'); -- create_date 컬럼에 인덱스가 있어도 함수 적용으로 인해 인덱스를 타지 못함 (Full Scan 발생) 해당 방식의 경우 WHERE절 컬럼 가공으로 인하여 Index Full Scan 발생 해결 방식SELECT * FROM table WHERE create_date >= TO_DATE('2026-08-19', 'YYYY-MM-DD') AND create_date 범위 검색 방식으로 변환하여 Index Range Scan 유도 !! 핵심 요약대용량 조회의 경우에는 where 절에서 컬럼 자체에 TRUNC나 ROUND를 씌우지 ..
사내(부서 내)에서 Git 저장소 Gitea 를 사용했었음.전사 형상관리를 위해 이거 Gitlab 을 본격적으로 검토해보면서 겪었던 셋팅 방법을 정리해놓고자 작성함. Docker 기반에서 Gitlab CE를 올리고,메일(SMTP) 연동하고 그룹/저장소 이관 시키고,사용자 계정 일괄 생성 하는 방법 찍먹하고,GitLab Runner 등록까지 한 흐름으로 테스트를 진행했다. 중간에 겪은 삽질들도 그대로 적어둘 예정... 기록이니까 0. 환경- OS: 리눅스- 서버: 메모리 15GB, 루트 디스크(/) 8.8GB, 별도 데이터 디스크(/data) 200GB- Docker: 이미 설치되어 있는 상태 (Docker CE 29.x, compose 플러그인 포함) 루트 디스크가 8.8GB로 작고, 데이터용 /data..
나의 상황Gitea 에 프로젝트 수가 엄청나게 많지는 않음그런데Web 에서 리포지토리 접근하는 속도가 프로젝트 용량 대비 너무 오래걸리는 것 같음.탭 이동하는 것 조차 지연시간 발생음.. 뭔가 내부에서 꼬였나? 라는 생각이 들며 해결해야겠다고 생각함. 항목확인 결과판단CPU사용률 낮음정상Memory약 19GB / 31GB정상Disk65GB / 141GB (47%)정상Repository 수26개적은 편SQLite DB 크기21MB매우 작음Gitea 버전1.21.7정상 현재 규모에서는 Repo 개수나 SQLite DB 크기 때문에 느려졌을 가능성은 매우 낮다고 본다. - gpt 쌤 왈 상황 확인했던 명령어 1. Gitea 프로세스 확인실행 중인 Gitea와 설정파일 위치 확인ps -ef | grep gite..
내가 작성한 답변SELECT FOOD_TYPE , REST_ID , REST_NAME , FAVORITES FROM (SELECT REST_ID , REST_NAME , FOOD_TYPE , FAVORITES , ROW_NUMBER() OVER (PARTITION BY FOOD_TYPE ORDER BY FAVORITES DESC) AS RN FROM REST_INFO ) BEST_FAVORITE_LIST WHERE RN = 1 ORDER BY FOOD_TYPE DESC;
1. SQL 윈도우 함수 (Window Funciton)Group by와 달리 행의 개수를 유지하면서 그룹별 순위나 집계 결과를 각 행에 부속 데이터로 첨부할 때 사용 3대 순위 함수ROW_NUMBER()중복 순위 없이 무조건 고유한 순번 부여 (1,2,3,4)DENSE_RANK()동순위 허용. 동순위가 있어도 다음 순위를 건너뛰지 않음 (1,2,3,4)RANK()동순위 허용. 동순위 갯수 만큼 다음 순위를 건너뜀 (1,2,2,4) 사용 패턴SELECT EMPLOYEE_ID , DEPARTMENT_ID , SALARY -- 부서별로 급여가 높은 순서대로 순위 매기기 , ROW_NUMBER() OVER (PARTITION BY DEPARTMENT_ID ORDER BY SALAR..
문제 설명ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE VARCHAR(N) ..
새롭게 React 를 이용해서 프레임워크를 만들게 되었음.처음부터 뭘 택하냐... 하나하나 공부하면서 기술 표준을 잡아가보려고 했다. 여기서 vite 라는 신종? 빌드도구를 알게 되고, 뭐부터 어떻게 택해야하는지 하나하나 공부해봄 그 결과를 내가 기억하기 위해 메모하는 포스팅 새로운 프론트엔드 프로젝트를 시작하거나 기존 레거시 시스템을 리팩터링할 때 가장 먼저 고민하게 되는 것 중 하나가 바로 "빌드 도구와 프레임워크를 무엇으로 가져갈 것인가?" 입니다.최근 프로젝트 빌드 도구 선정 과정에서 CRA(Create React App), Next.js, 그리고 Vite를 비교 검토하였고, 최종적으로 Vite를 선정하게 되었습니다. 이번 글에서는 왜 Vite가 우리 팀의 프로젝트에 가장 적합한 선택이었는지 그..
[100세 시대를 준비하는 Mindset] 장수의 위험 * 노후 생활 전반의 어려움 * 연령주의 * 사회전반의 장수에 대한 부담과 이해부족 장수리스크 대비하기 * 생애주기별 구체적 계획과 실천 필요 * 생애 전반에 걸친 '요람에서 무덤까지'의 진로 설계 [진로의 이해] 진로의 의미 * 전 생애 과정에서 일과 여가, 개인발달, 가족에 대한 헌신 등을 모두 포함하는 개념 * 일과 관련된 생애 전체를 조망하는 전 생애적 인식 필요 직업의 의미 * 경제적 의미: 생계를 위한 수단 * 사회적 의미: 내가 하는 일이 누군가 또는 무엇에게 도움이 되는 것 * 심리적 의미: 자기실현에 대한 기여 [생애 발달과업] 생애주기단계 * 영아기, 유아기, 학령전기, 학령기, 청소년기, 청년기, 중..
문제This lab contains a SQL injection vulnerability in the product category filter. When the user selects a category, the application carries out a SQL query like the following:SELECT * FROM products WHERE category = 'Gifts' AND released = 1To solve the lab, perform a SQL injection attack that causes the application to display one or more unreleased products. 답https://0ad600f104883d418331eb9900870..
문제 설명수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 입출력 예 participant completion return ["leo", "ki..
- Total
- Today
- Yesterday
- 옵션
- IntelliJ
- react
- PM
- hikaricp
- 일정관리
- SQL
- ENV
- maven
- MSSQL
- VSCode
- 티스토리챌린지
- 리액트
- 문법
- springboot
- 백엔드
- mybatis
- 환경변수
- 변수선언
- 기초문법
- 오블완
- Java
- 비교연산자
- 확인
- 개발
- 빌드
- 상태관리
- 동적라우팅
- gitea
- 라이브러리
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 |