일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로젝트진행
- java
- JavaScript
- 교육철학과 교육사
- 백엔드공부
- array
- 전화영어
- webServlet
- 탄력근무
- OpenAPI프로젝트
- 개발자
- maven
- 자료구조
- 백엔드스쿨
- 그래프탐색
- Queue
- YBM전화영어
- OAuth
- 내돈내산
- 자바스크립트
- Node.js
- 원격근무
- BFS
- 탐색알고리즘
- 제로베이스
- 최단경로문제
- 백엔드
- npm
- 시급합니다
- Spring
- Today
- Total
목록분류 전체보기 (86)
인생자취

25/2/9(주일)에 드!디!!어!!! 마음만 먹었던 일에 행동을 더하게 되었다.오늘 우연한 계기로 아는 언니와 대화를 하게 되었는데, 대화 중에 교원자격증과 관련한 얘기를 하게 되었다.언니 : 1정 연수 블라블라 ... (생략) ... 그래서 교원자격증은 취득하고 왜 안써! 써야지!나 : 네.. 그래서 쓰려구요. 준비하고 있어요. (이때까지만 해도 마음만)지원한 학교에서 제시한 형식에 따라 자소서를 작성하고 왔다.자소서가 소설이 아니도록 쓰는 게 자소서를 쓸 때마다 갖는 목표인데, 오늘도 목표는 어느정도 달성한 것 같다.오늘 지원한 학교에서 채용된다면, 올해 만큼은 수업을 재밌게 할 수 있을 것 같다. 기대된다.수업 형식을 낱낱이 기록해봐야겠다.

2023년 9월, 당시 내가 가장 사랑했던 일을 포기하고 본래 하던 일로 돌아온지 1년이 훌쩍 지나버렸다.1년 남짓 지나보니, 다음과 같은 결론에 이르게 되었다. 1. 세상은 넓고 개발할 일은 많다는 점.2. 개발 공부를 진행하면서 부족했던 논리적 사고체계를 다시 한 번 정리했다는 점.3. 앞으로도 개발을 종종 공부할 것이라는 점.4. 그치만 나에게 가장 잘 맞는 일은 교육이라는 점.5. 그래서 교육계통인 현업에 몸담을 때 필요에 의해 개발 했던 경험을 사용할 것이라는 점. 내가 사랑했던, 사랑하는 일을 포기하고 다른 일을 시작하면 개발 일이 생각나지 않을 것이라고 다짐했건만소소하게 개발하는 일들이 필요하다면, 필요에 의해 개발을 진행해보고 싶다는 생각이 든다.너무나도 그립다. 개발공부를 했을 때 그 열..

본 글은 OpenAPI 데이터를 기반으로 WebApp을 생성하는 프로젝트의 과정을 담았다. 프로젝트 진행 과정을 정리한 글은 총 세 개의 글인 계획 및 Data 핸들링, 1차 기능 구현, 2차 기능 구현 및 검토로 이루어져 있고, 그 중에서 본 글은 2차 기능 구현 및 검토에 해당한다. 들어가며 2차 구현에서는 금방 해결될 것이라 예상했던 db 마이그레이션에서 꽤 시간이 오래 걸렸다. 그래서 발생했던 주요 이슈 및 이슈 해결 방안, 참고 자료를 순차적으로 정리해볼 것이다. 주요 이슈 1. MaridDB to SQLite SQLite는 서버가 없는 응용프로그램만 존재한다. 따라서 SQLite로 DB를 연결할 때 라이브러리를 mariadb-jdbc에서 sqlite-jdbc로 교체만 해주면 될 것이라는 생각이..

본 글은 OpenAPI 데이터를 기반으로 WebApp을 생성하는 프로젝트의 과정을 담았다. 프로젝트 진행 과정을 정리한 글은 총 세 개의 글인 계획 및 Data 핸들링, 1차 기능 구현, 2차 기능 구현 및 검토로 이루어져 있고, 그 중에서 본 글은 1차 기능 구현에 해당한다. 들어가며 구현 과정에서 어떤 블로그를 참고했는지 노트해놓은 것을 정리해봤다. 프로젝트를 진행하는 순서에서 계획도 계획이지만, 구현이 제대로 이뤄지지 않으면 프로젝트 결과물이 나오지 않으니, 기간을 최대한 맞추기 위한 어떤 노력을 했는지를 중점으로 내용을 담아봤다. 구현 중에 발견한 사소한 이슈들을 어떻게 처리했는지도 중간에 담아봤다. 구현 흐름 1. 프로젝트 생성 (1) Servlet 프로젝트 생성 https://suyeoncho..

본 글은 OpenAPI 데이터를 기반으로 WebApp을 생성하는 프로젝트의 과정을 담았다. 프로젝트 진행 과정을 정리한 글은 총 세 개의 글인 계획 및 Data 핸들링, 1차 기능 구현, 2차 기능 구현 및 검토로 이루어져 있고, 그 중에서 본 글은 계획 및 Data 핸들링에 해당한다. 들어가며 온라인 백엔드 스쿨에서 본 과제를 부여받았다. 과제를 진행중에 있지만, 아주 간단하게 세워놓은 계획을 조금씩 구체화하며 진행중에 있었다. 그 내용을 메모장에 정리해놨는데, 글로 짜임새 있게 정리하고자 했고, 또한 다음주에 진행하는 2차 구현을 위해서도 리마인드 차원으로 본 글을 작성하게 되었다. 진행과정 1. 본 과정을 진행하는 데 앞서서 이걸 어떻게 해야하나 엄청 고민을 했던 것 같다. MariaDB를 사용해서..

필자는 dp 방식으로 풀기 위해 메모이제이션에 사용할 배열을 잘못 생성하여 본 문제에 대해 12시간 이상을 고민했다. 독자는 그러지 마시길 바라며 글을 시작한다. 1. 문제 이해 _ 댐은 n개의 수문을 가지고 있다. 각각의 수문은 자체 용량과 물길을 가지고 있고, 하류에 영향을 줄 수 있다. 수문이 열렸을 때, 영향을 받는 지역은 홍수의 위험이 있다. 수문에 의한 예상 피해액은 지역의 인구의 수와 면적으로 계산할 수 있다. 수문 Gi의 유량이 Fi m3/hour 이고, 피해 비용이 Ci라고 하자. 댐에는 물이 Vm3 만큼 저장되어 있고, 이 물을 T시간 이내에 모두 비워내야 하는 상황이다. 이때, 수문을 어떻게 열어야 피해 비용이 최소가 되는지를 구하는 프로그램을 작성하시오. 예를 들어, 댐에 수문이 4..

1. 문제 분석Given an array nums of distinct integers, return all the possible permutations. You can return the answer in any order. 본 문제는 주어진 정수 배열인 nums를 가능한 모든 순열로 만들어서 반환하는 문제다. 어떠한 순서로든 반환이 가능하다. 2. 로직 플로우int 배열인 nums를 입력받고, 배열의 순서를 바꿀 때 사용할 temp 배열을 같은 int 배열로 생성한다. 그리고 dfs에서 방문 순서에 쓰일 visited 배열을 초기화 한 뒤, dfs 함수를 호출한다. 재귀함수 형태로 dfs를 통과할 때는 visited의 방문 체크를 true, false로 바꾸면서 진행한다. dfs를 재귀적으로 호출하..

1. 문제 이해 10,000 이하의 자연수로 이루어진 길이 N짜리 수열이 주어진다. 이 수열에서 연속된 수들의 부분합 중에 그 합이 S 이상이 되는 것 중, 가장 짧은 것의 길이를 구하는 프로그램을 작성하시오. 입력값이 길이가 N인 수열에 해당한다. 이 수열의 부분합을 구하는데, 또다른 입력 값인 S 이상이 되는 경우를 찾는다. 그 중에서 연속된 수의 길이 중 가장 짧은 길이를 구하는 것이다. 이때 부분합을 구하는 방법으로는 1차원 배열이므로 투포인터 알고리즘을 적용한다. * 투포인터(Two Pointer) 알고리즘 : left와 right로 구분한 두 포인터를 좌우로 이동해가면서 요구조건에 맞는 답을 찾는 풀이법이다. 2. 로직 2-1) 로직 플로우 정수 배열은 수열의 길이는 N+1로 초기화 시킴(ri..

1. 들어가기 지난 글에서는 경로의 가중치가 음수로 부여된 경우에 사용되는 벨만-포드 알고리즘에 대해 살펴봤다. 이번 글에서는 경로의 가중치가 음수인 경우에 사용하는 알고리즘이긴 하나, 모든 노드간 최단 거리를 탐색하는 알고리즘인 플로이드-워셜(Floyd-Warshall)에 대해 알아볼 것이다. 2. 플로이드-워셜(Floyd-Warshall) 플로이드-워셜 알고리즘으 모든 정점의 쌍 사이에 최단 경로를 구할 수 있다. 다만, 음의 가중치의 순환(음수 사이클)이 없다는 가정 하에서 구할 수 있다. 모든 쌍의 최단 경로는 최단 경로의 부분 경로이므로, 경로의 부분 경로가 모여 곧 최단경로가 되는 형태이다. 그러므로 최단 경로를 구하는 상향식 접근방법이라 볼 수 있다. 플로이드-워셜 알고리즘은 모든 정점의 쌍..

1. 들어가기Java.util.Arrays 클래스에는 sort()가 있다. Arrays.sort()를 호출하면 배열을 정렬할 수 있다.위 [사진 1]을 통해 sort()는 DualPivotQuicksort로 정렬이 이뤄진다는 것은 쉽게 찾아볼 수 있고, JAVA에서 제공하는 API를 사용하는 정도로만 알고 있었기 때문에 정렬에 대한 더 자세한 구현에 대해서는 크게 관심을 갖지 않았었다. 그런데 새로운 사실을 알게 되었다. Arrays.sort()와 관련하여 JAVA API 문서에 다음과 같이 적힌 내용 때문이다.All elements in the array must implement the Comparable interface.[사진 2]와 [사진 3]을 통해 Comparable interface가 이렇..