분류 전체보기
-
[MySQL] B+Tree Index 구조와 Clustered Index에 대한 고찰개발 2024. 5. 15. 20:35
사전 개념MySQL은 스토리지 엔진으로 InnoDB를 기본값으로 활용한다.MySQL은 인덱스 자료구조로 B+Tree를 활용한다.MySQL은 인덱스 자료구조로 B+Tree를 활용한다?MySQL 공식 문서를 살펴보면 With the exception of spatial indexes, InnoDB indexes are B-tree data structures....Index records are stored in the leaf pages of their B-tree or R-tree data structure. 라고 나와 있다. 처음엔 알고 있던 것과 다르게 B-tree라길래 깜짝 놀랐는데 자세히 읽어보니 B-tree 리프 페이지들에 저장되는 레코드라고 나와 있어서 B+tree 자체가 리프노드에 값을 저..
-
[Spring Security] OAuth2 client의 StackOverflowException개발/Spring 2024. 4. 16. 10:47
대학 축제 공연 티켓팅 서비스 Uket 프로젝트의 로그인 기능을 개발하던 와중 발생한 에러,,, 에러 전문 2024-04-16T10:14:19.771+09:00 ERROR 85157 --- [nio-8080-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Filter execution threw an exception] with root cause java.lang.StackOverflowError: null at java.base/java.lang.ref.Reference.refersToImpl(Refer..
-
2024.04.06 GDSC Konkuk 컨퍼런스컨퍼런스 2024. 4. 13. 21:47
헥사고날 아키텍쳐 blog-shine 1. 좋은 아키텍처의 영항 : Then 소프트웨어가 제공하는 가치에 행위(동작)은 인정인데 구조가 해당되나? 완벽하게 동작하지만 수정이 불가능 한 sw보다 동작하지 않더라도 수정이 쉬운 sw가 유리하다. 아키텍쳐의 목표는 sw를 더 쉽게 개발하고 유지보수하며 비용을 최소화하기 위함 2. 좋은 아키텍쳐를 위해서 : When 아키텍쳐란 무엇일까? 지켜야하는 제약조건(규칙)들의 집합? 2.1. 클린 아키텍쳐란? 중요도, 관심사에 따라 계층을 나눔 관심사를 분리하여 의존성이 내부 고수준을 향하도록 아무리 좋다해도 이를 내 코드에 어떻게 적용할지… 2.2. 헥사고날은 클린 아키텍쳐를 준수하는 실질적인 구현체이다. 3. 헥사고날 아키텍쳐 적용해보기 3.1. 헥사고날을 위한 규칙..
-
2024.01.03 새싹 콘서트컨퍼런스 2024. 4. 13. 21:46
사공이 많아도 배가 순항하는 법 - Passport님 프로젝트에 참여하는 사람이 많은게 무조건 좋을까? → 아닐수도 있다..! 두려움 넘어서기! 처음은 두려움이 앞서는 법이다 일단 시작해볼 것 기다리는 중… MVP → 건국대 축제 티켓팅 서비스 (단국대 예시) 건국대 학식 주문 서비스 아니 오늘까지 였잖아요… 기능 단위로 구체적으로 기한 부여 → 마감 횟수가 늘어남으로 안전층 확보 데일리 스크럼 → 스크럼의 작업 내용을 어떻게 확인하는지? : 작업 내용 확인이 주 목적이라기 보단 서로서로 확인하고 보완하는 방식 중 하나 개발과정의 투명성을 높이기 위함 → 작일 작업 내용, 금일 작업 예정 내용 작성 반성되네.. 저번 학기 너무 막했을지도 온/오프라인 회의 차이 온라인 ai 받아쓰기, 화면 녹화 등 기록이..
-
[Java 기초] 객체지향의 개념과 4대 특성개발/Java 2024. 4. 4. 19:41
잘못된 내용이 있다면 언제든지 댓글 환영합니다! Java를 배우면 객체지향 프로그래밍이라는 단어는 한 번쯤 들어보셨을 것 같습니다. 그렇다면 객체지향이 무엇인지, 객체지향의 4대 특성이라고 불리는 것들이 무엇이 있는지 알아보죠! 객체지향 프로그래밍이란? 객체지향 이전 프로그래밍 언어인 절차지향 언어는 함수 호출을 주로 로직을 순차적으로 처리하는 언어였습니다. 프로그래밍을 사람의 입장으로 바라본 것이 아니라 컴퓨터가 처리하는 방식대로 코드를 작성한 것이죠. 하지만 개발자들은 여기서 그치지 않고 코드를 사람이 세상을 바라보는 시각에서 바라보고자 했습니다. 그래서 등장한 방식이 객체지향 프로그래밍! 프로그램에서 필요한 정보들을 추상화하여 이를 객체로 두고 객체 간의 관계를 맺어 하나의 거대한 프로그램을 만들어..
-
[프로그래머스] 2023 KAKAO BLIND RECRUITMENT - 미로 탈출 명령어알고리즘/프로그래머스 2024. 4. 1. 10:52
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 핵심 전형적인 미로찾기 문제이다. 단순히 dfs 또는 bfs를 떠올려 문제 풀면 쉽게 풀렸을 문제였다. 심지어 이 문제는 미로에서 별다른 벽이 존재하지 않아 최단거리는 명확하게 주어진 문제였다. 이게 오히려 나한텐 독이 됐을까? 굳이 dfs나 bfs를 쓸 필요가 없다고 생각해서 요상한 방법으로 풀려다가 실패했다... (근데 이 방법도 잘했으면 더 좋은 결과가 나왔던 것 같다..!) 1. 이 문제에서는 dfs가 적절하다. 그 이유는 우선순위가 정해져 있고, 우선 순위 방향으로 먼저 도달하는 경우만 고려하는..
-
[Java 기초] Java가 OS에 영향을 받지 않는 이유 (JVM,JRE,JDK)개발/Java 2024. 3. 29. 13:35
잘못된 내용이 있다면 언제든지 댓글 환영합니다! 자바하면 떠오르는게 뭐가 있나요? 객체지향 프로그래밍 언어? OS에 영향을 받지 않는다? 맞습니다. 자바를 상징하는 대표적인 것들이죠. 이 글에선 Java가 OS에 영향을 받지 않는 이유에 대해 자세히 알아보려고 합니다. 다른 언어들은? 들어가기 앞서 자바 이전에 언어들은 어떻게 동작했는지 간단하게 살펴보겠습니다. 0과 1만 존재하던 아주 원시적으로 돌아가면 사람과 컴퓨터는 오로지 0과 1로만 대화할 수 있었죠. 그렇기에 컴퓨터가 0과 1을 해석하는 방법을 하드웨어마다 다르게 설정했고 똑같이 작성한 기계어를 다른 컴퓨터에 넣으면 제대로 일하지 못하는게 당연했습니다. 이 때는 OS가 문제가 아니라 컴퓨터 제조사마다 달랐기에 접근성이 매우 떨어졌습니다. 그 다..
-
[프로그래머스] KAKAO 2023 BLIND RECRUITMENT - 표 병합알고리즘/프로그래머스 2024. 3. 29. 10:12
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 핵심 이 문제는 크게 위치별 업데이트, 단어별 업데이트, 병합, 병합 해제, 프린트 로 나뉘어져 있다. 업데이트의 경우 찾아서 바꿔주기만 하면 되므로 크게 문제가 안되는데 이 문제가 어려워진 이유는 병합에 있다. 병합 각 셀이 병합이 된 이후에는 특정 셀을 업데이트할 시 해당 셀과 병합된 모든 셀을 동시에 업데이트 시켜야 했다. 모든 셀을 하나처럼 움직여야 한다? -> 하나의 공통 조상을 가지고 있다? -> union-find!! 이 기능을 보자마자 생각난 것은 union-find! 업데이트 하려는 셀의..