[Spring] Entity, DTO, DAO (feat. 관심사의 분리)
✅ 🏝️ Fairy-Tale Island 🏝️ 리팩토링! 기획을 2023년 12월 말부터 2024년 1월 중순까지 하고, 2024년 2월에 부랴부랴 개발하느라 디테일한 부분들을 모르고 넘어갔다… 개발하면서도 부족함을 느꼈는데, 인턴십을 하면서 관심사의 분리의 중요성을 크게 느껴 내 코드를 두고 볼 수 없었다. 성공적인 리팩토링을 위해서, Entity...
✅ 🏝️ Fairy-Tale Island 🏝️ 리팩토링! 기획을 2023년 12월 말부터 2024년 1월 중순까지 하고, 2024년 2월에 부랴부랴 개발하느라 디테일한 부분들을 모르고 넘어갔다… 개발하면서도 부족함을 느꼈는데, 인턴십을 하면서 관심사의 분리의 중요성을 크게 느껴 내 코드를 두고 볼 수 없었다. 성공적인 리팩토링을 위해서, Entity...
인턴으로 참여하는 프로젝트에서 SvelteKit / Svelte로 웹 애플리케이션 개발을 하고 있다. 데이터베이스는 MariaDB, 스토리지는 Supabase storage, ORM은 Sequelize를 사용해서 풀스택 개발을 한다. 하나의 화면에도 여러 레포지토리에 데이터를 저장하는데, 이 작업들이 시작부터 끝까지 완결성 있게 이루어지지 않으면 큰일...
인턴십을 진행하면서 데이터베이스는 MariaDB, 스토리지는 Supabase를 사용하고 있다. (회사에서 이전에 진행했던 프로젝트에서 Supabase 스토리지를 cloud를 이용해서 개발자가 모두 공동 데이터베이스에 접근할 수 있도록 설정한 후 개발했다고 한다. 이 방식이 모두의 데이터베이스가 동기화 된다는 점에서 좋았으나 A와 B가 이용하고 있는 테...
cin, cout 사용 시 시간 초과 발생 알고리즘의 시간 복잡도를 O(N)으로 맞게 구현 했는데도 시간 초과가 발생할 때가 있다. C++로 문제를 풀 때 cin, cout을 사용해서 문제가 발생한 것이다. cin, cout은 scanf, printf보다 컴파일 속도가 느리다. 코딩 테스트 시 scanf, printf와 cin, cout을 섞어서 ...
비트마스크란? 정수의 이진수 표현을 자료구조처럼 사용하는 기법이다. 이진수 0 또는 1로 표현되므로, 하나의 비트가 켜진 상태(1), 꺼진 상태(0)을 나타낼 수 있다. 정수 int의 경우 4byte(== 32bit)의 크기를 가진다. 이진수로 풀어서 표현하면 0000 0000 0000 0000 0000 0000 0000 0000 이다. 비트마스...
문제 [백준/C++] 14502번 연구소 문제 해석 연구소는 빈 칸과 벽으로 이루어져 있다. 이곳에 2개 이상의 바이러스가 존재하는데, 바이러스는 상하좌우 인접한 빈 칸으로 퍼져나간다. 벽을 딱 3개 세워서 바이러스가 퍼지지 않게 막고, 바이러스가 퍼지지 않은 안전 영역의 최댓값을 구하는 문제이다. 아이디어 빈 칸에는 전부 벽을 세울 수 있다...
문제 [백준/C++] 13460번 구슬 탈출 2 문제 해석 10 * 10 크기의 보드에 구멍 하나와 빨간 구슬, 파란 구슬이 있을 때, 빨간 구슬만 구멍에 통과하도록 보드를 기울여야 한다. 첫 아이디어 빨간 구슬을 기준으로 상하좌우 방향을 확인한다. 최소 횟수를 출력해야 하고, 두 구슬이 함께 이동하는 동시성이 있으므로, BFS...
문제 [백준/C++] 1167번 트리의 지름 문제 해석 트리에서 임의의 두 점 사이의 거리 중 가장 긴 것을 찾아야 한다. 언뜻 보면 모든 노드에 대해서 가장 먼 노드를 찾고, 길이를 비교해야 할 것 같지만, 노드의 개수가 10^5 라는 점에서 고민이 필요했다. 문제에 주어진 예시를 그림으로 표현하면 위와 같다. 우선 모든 노드에서 가장 먼...
문제 [백준/C++] 16236번 아기 상어 문제 해석 아기 상어의 크기가 처음엔 2로 고정되어 있고, 크기와 같은 수의 물고기를 먹었을 때 크기가 1 증가한다. 아기 상어가 먹은 물고기의 수와 현재 크기를 기록해야 한다. 먹을 수 있는 물고기는 아기 상어의 크기보다 작은 물고기이다. 아기 상어의 크기와 같은 물고기는 지나갈 수 있다....
scp로 원격 서버 접속 시 Permission denied 로컬에서 원격으로 이미지 압축 파일이나 폴더를 보내려는데 scp 명령어에서 Permission denied 오류가 발생했다. $ scp -r ./supabase/deploy user@hostip:~/project/supabase/ user@hostip's password: scp: des...