가치택시(무한 스크롤, Spring)
·
회고록/무한 스크롤
서론이전에는 무한 스크롤에 대해서 weeth에서만 구현되어있는 형태만 봤었고, 직접 구현해본 경험은 없었다. 이번 프로젝트를 통해 처음 무한 스크롤을 적용하면서 백엔드 페이징 방식 선택, API 요청 최적화 등등 의 개념과, 무한 스크롤으로 구현을 해야하는 이유, 무한 스크롤의 개념 등을 세세하게 공부했었다먼저 무한 스크롤을 구현해야하는 이유는 무엇일까?첫번째로 프론트엔드에서 원활한 데이터 로딩을 도와줄 수 있다. DB 측면에서 대량의 데이터를 제공하는 서비스에서는대량의 데이터를 한 번에 불러오면 성능 저하가 발생할 수 있고, 사용자 기기의 리소스를 과도하게 사용할 위험이 있다. 따라서 무한 스크롤을 구현하면 초기 로딩 시 필요한 데이터만 가져오고, 이후 사용자의 스크롤에 따라 추가 데이터를 동적으로 불..
백준(12891번, DNA 비밀번호, 실버II)
·
알고리즘
문제 내용제출한 코드import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); StringTokenizer st = new StringTokenizer(br.readLine()); int length = Integer.parseInt(st...
가치택시(수동 매칭, Spring)
·
회고록/매칭 로직
서론매칭 알고리즘 이후 나는 수동매칭이라는 새로운 API를 맡아서 작업을 시작하게 되었는데,원래 초기 업무분담에서 내가 맡은 부분은 아니였지만, 프로젝트 진행중 변경사항으로 인해 내가 해당 작업을 맡게됐다사실 프로젝트 최종발표가 2월 6일이였기에 일주일 ?? 정도의 매우 촉박한 기간에 작업을 맡게되어서 걱정이 많았지만, 프로젝트를 진행하면서 충분히 있을 수도 있는 일이라고 생각하기도 했었고, 이전 매칭 알고리즘 회고록에서도 작성했었듯이 난 내가 맡은 파트가 너무 적어져서 팀원들에게 미안한 마음이 있었어서, 해당 파트를 맡아달라는 주영이의 요청에 당연하게도 수락하게 되었다 !(+ 작업 볼륨은 중요한게 아니라고 걱정하지말라고 얘기해준 팀원들에게 너무 고마웠다🙏)게다가, 프론트 분들의 작업도 생각을 해야해서..
백준(1940번, 주몽, 실버IV)
·
알고리즘
문제 내용제출한 코드import java.io.*;import java.util.*;public class 주몽의명령 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); // 재료들의 고유번호를 입력받음 int N = Integer.parseInt(br.readLine()); ..
Import문과 BufferedReader, BufferedWriter
·
알고리즘
Import문 작성 습관1주차때 문제 풀이 내용에 대해서 공유를 해보면서, 아래의 두가지 import문을 넣고 코딩 테스트를 푸는 습관을 들이자라는 상효의 의견이 있었다. 1. import java.io.*;먼저 io.* 과 관련된 아래의 import문에 대한 설명이다많은 코딩 테스트에서는 대량의 입력 데이터를 빠르게 처리해주는 시간복잡도와 관련한 내용이 정말 중요하다. 관련한 알고리즘 문제들을 몇개만 풀어봐도 알 수 있는 내용이지만, 코딩 테스트에서는 각 문제마다 정해진 시간 제한이 있으며, 작성한 코드가 이 시간을 초과하면 시간 초과(TLE, Time Limit Exceeded) 라는 결과가 출력되며 오답 처리된다. 흔히 사용되는 Scanner는 사용법이 간편하지만, 입출력 속도가 느려 대량의 데이터..
알고리즘
·
일상
들어가며알고리즘의 중요성개발에서의 핵심은 효율적이고 최적화된 코드를 작성하는거라고 생각한다.컴퓨터는 한정된 자원을 사용하기 때문에, 불필요한 리소스는 최대한 줄이는 것이 좋고, 여러 사용자가 동시에 시스템을 이용하는 환경이나 실시간 처리가 요구되는 상황에서는 처리 속도가 매우 중요해지기 때문이다.또 시스템의 응답 속도가 느리다면 사용자 경험 측면에서도 좋지않고, 서비스의 품질 저하로 이어질 수도 있어서, 실행 속도를 높이는 것은 단순히 기술적인 문제뿐만아니라 사용자 만족도와 직결된다.효율적이고 최적화된 코드를 작성하기 위해 중요한 것은, " 효율적인 알고리즘 " 을 사용하는 것이다 특정 프로젝트에서 API를 설계해야 할 때, “어떤 로직으로 구현해야 할지”, “어떤 방식으로 문제를 해결해야 할지”와 같은..
가치택시(매칭 알고리즘, Spring)
·
회고록
서론방학이 시작되고 Leets 4기에서 프로젝트를 시작하게 되었고, 내가 참여하여 시작한 프로젝트의 주제는 " 교내 학생들의 택시 이용시, 요금과 시간의 부담을 줄여줄 수 있는 택시 매칭 서비스 " 였다.해당 자세한 내용은 아래의 게시글을 참고해주면 더욱 좋을거같다 가치택시(무중단 배포)서론2025년이 되었다. Leets 에서 가치택시라는 새로운 프로젝트를 진행중이다프로젝트의 구상은 가천대학교 학생들 대상으로 AI 공학관 또는 기숙사까지 택시를 공유해서 탑승할 수 있는 서비스huncozyboy.tistory.com설문조사프로젝트 페르소나, 서비스의 대상을 가천대학교 교내 학생을 시작으로 특정했기때문에가천대학교의 학생들의 의견이 중요하겠다고 판단이 되어, Google Forms를 제작하여 학생들을 대상으로..
Weeth(무중단 배포, DevOps)
·
회고록/DevOps
서론Weeth얼마전에 포스팅을 했었던 가치택시라는 가천대학교 학생들 대상으로 AI 공학관 또는 기숙사까지 택시를 공유해서 탑승할 수 있는 서비스보다 더 먼저 시작되었던, 그리고 현재까지 진행하고있는 프로젝트가 있다 2024년 1학기 Leets 3기에서 진행했었던 Weeth라는 동아리 관리 서비스이다위 사진을 보면 알 수 있듯이 Weeth의 주요기능은 동아리 일정 + 캘린더, 출석+패널티, 게시판, 회비, 멤버(조회) 등 크게 5가지로 나누어져있다. 먼저 해당 5가지 주요 기능들에 대해서 간단히 설명해보겠다먼저 캘린더 기능을 통해 Leets 동아리의 일정을 한 눈에 볼 수 있고, 동아리 운영진만 관리할 수 있게 구현하였다또한 출석은 정기모임 당일에 직접 제공되는 출석 코드를 사용해 출석을 진행한다. 정기모..
가치택시(무중단 배포, DevOps)
·
회고록/DevOps
서론2025년이 되었다. Leets 에서 가치택시라는 새로운 프로젝트를 진행중이다프로젝트의 구상은 가천대학교 학생들 대상으로 AI 공학관 또는 기숙사까지 택시를 공유해서 탑승할 수 있는 서비스를 출시하고자 하는 것이였다.위 사진을 보면 알 수 있듯이, 네이버 지도 기준으로 가천대학교의 AI 공학관 + 기숙사 + 운동장까지 가려면가천대학교 1번 출구 즉, 정문 기준에서 도보로 24분이나 걸리는 것을 알 수 있다.게다가 거리뷰를 보면 알 수 있듯이 해당 거리는 엄청난 경사로 이루어져있어, 강의를 들으러 갈때에도 체력 소모가 심하고 여름에는 더더욱 문제가 심하다. 해당 내용의 대책으로 가천대 무당이라는 가천대학교 교내 셔틀버스를 운행중이지만, 1교시 전이나 붐빌때는 줄이 너무 길어 강의를 듣기위해 걸어서 올라..
P-프로젝트(구글 OAUTH, Spring)
·
회고록/소셜 로그인
서론팀 구성3학년 2학기, 12주 수업이 모두 끝나고 과에서 진행하는 P프로젝트를 시작하게 되었다.누구와 팀을 해야되지 정말 많은 고민이 있던 중, Leets 동아리도 같이 하고있고 평소에 잘알던 승현이와 팀을 꾸리게 되었다.나와 승현이가 백엔드였기에 P-프로젝트 팀은 프론트 2분을 추가로 구해서, 우리는 총 프론트 2명 + 백엔드 2명으로4명의 팀 구성을 완료하게 되었다. 하지만 프론트 팀원 1명은 백엔드 경험만 있었고 이번 프로젝트에서 프론트를 처음 맡았었고, 다른 프론트 팀원인 현지는 처음 개발 프로젝트를 하는 것이였기 때문에 팀 구성때부터 완성은 할 수 있을까 ? 라는 걱정이 많았던 것은 사실이였다.본론초기 진행사항AI와 관련해서 자신이 있던 사람도 없었고, 팀원 모두와 협의한 결과 클라우드 분야..