728x90
📣 9월 19일, Java 21이 출시됐대 이 프로젝트를 시작했던 10월 17일 기준으로 Backend팀에서는 출시한 지 얼마 안 된, Java 21 RC(정식 출시 후보버전)를 프로젝트에 적용하고자 하였다.세 번의 프로젝트를 진행하며 SpringBoot 기반 백엔드 포지션을 주로 맡았기에 이번에는 신버전을 적용하며 이전과는 다른 경험의 차별점을 가질 수 있을까가 가장 먼저 든 생각이었다.그렇게 기획 단계에서 Java 21 기능 핵심 요약 영상들을 찾아보고서 오랜만에 OS 개념도 복기하며 영상 몇 개를 재밌게 보았다.(🔗: YOUTUBE - 가상스레드 특징, 최범균님) 그리고 그 버전의 호기심을 가지는 것에서 한 발짝 더 나아가면 다음과 같은 점을 고려해야 했다.1. 현재 프로젝트의 요구사항에 대하여..
🧚🏿♀️: 이번에도 IOT 프로젝트를 하셨다구요! 어떤 프로젝트예요?🍊 한 문장으로 하면, 자율주행 Device를 통해 신축 건물의 시공 결함을 파악하는 서비스를 위한 플랫폼크게 개발 부분을 세 가지로 나누면 다음과 같아요.1️⃣ ROS상에서 자율주행 및 결함 탐지 AI가 탑재된 Device개발2️⃣ 해당 Device를 조작할 수 있는 (가상의 하자 탐지 서비스 직원이 이용하는) Application3️⃣ 해당 서비스를 신청/결제할 수 있는 (고객이 이용하는) Web 🧚🏿♀️: 어떤 부분을 맡았나요?🍊 팀 구성에 따라 Device팀이 ROS관련 AI 알고리즘을 전면 담당했고 Front팀은 React기반 고객 전용 Web 화면과 직원 전용 Application 화면 구현을 맡았어요. 그리고 ..
IntelliJ 2019버전을 쓰다보니 java버전과 Springboot버전에 제약이 있었다.이번에 intellij 2023.2 버전을 재설치한 김에, Springboot 3.x를 쓰면 어떨까 싶어 2.x버전과 비교문서를 찾았다 1️⃣ SpringBoot 2.x2018.03 출시Javajavax패키지 (ft. Java EE)로그형식: yyyy-MM-dd HH:mm:ss.SSS 2️⃣ SpringBoot 3.x2023.11 출시JDK 17 미만 버전 미지원jakarta패키지 (ft. Jakarta EE)Springfox Swagger 미지원로그형식: (ISO-8601 표준) yyyy-MM-dd'T'HH:mm:ss.SSSXXX 3️⃣2 -> 3 주의사항✔ JDK를 17로 업그레이드 하기래거시 자바 문법을 없..
아래는 프로젝트 기획 단계에서 걸렸던, 데이터 설계의 일부 요약 타임랩스에 대하여 테이블을 분리해야하는가?1️⃣ 문제사항현재 프로젝트에 존재하는 '타임랩스' 개념은 진행/완료 상태에 따라 속성이 달리한다진행 중인 타임랩스는 마이페이지에서만 조회되며, 완료된 타임랩스는 메인화면의 전체 피드로 조회된다만약 진행/완료 상태에 구분없이 한 테이블에 관리한다면, 전체 데이터를 끌고와 완료된 전체피드만 쿼리해내는 것에 비용이 클 것같다 2️⃣ 초기 해결방안타입랩스를 테이블 분리시키자잔행중인 타임랩스는 'Challenges'로, 완료된 타임랩스는 'Feed'로 따로 관리한다면 별도의 쿼리 과정을 줄일 수 있다. 그치만... 이게.. 최선일까? 오빠? 3️⃣ FeedBack (ft. GPT)✔ 테이블 분리 시 정말 ..
지난 6주간 SSAF생활을 하면서 IOT프로젝트를 했다. IOT에 관심있냐고 하면 아니었다. 관련된 경험이라고는 고등학교때 이름만 IOT(그때 프로듀스 101이 유행해서.. )인 동아리를 개설했고 이게 다른 SSAFY생분에게 잘못 전해지면서 IOT팀에 들어갈 기회가 왔다. 기존에 내 계획대로라면 웹개발을 할 줄 알았으니, IOT와의 프로젝트를 구상할 때는 무엇을 고려해야할지 이제서야 고민을 팀을 이루고 나서야 시작했다. 실은, 하려던 웹개발을 더 한다고 해서 수월할 것도 아니었고 하던 거(웹 개발)에서도 더 공부를 해야할 것 같은데 영역이 확장되니 불안했었다. 배포로 도커든 젠킨스든 인증으로 JWT든 아니면 아키텍처든 서버관리기법이든 공부할려던 주제를 뽑았는데 예상못한 IOT와의 통신방법부터 탐색해야했으..
지난 3개월동안의 프로젝트개발팀 4인은 1주일단위의 스프린트를 계획하여 오늘까지 개발을 진행했다겨울동안 코드베이스를 맡은 선배가 Spring Security/JWT, 자체 알고리즘 제작, Swagger Docs, 로그인/회원가입등을 구현하였다. 그리고 min-0 동생이 같이 Oauth2와 docker환경의 서버를 준비했다.그리고 JHJ는 각종 테이블설계와 TDD를 위한 사전조사, API 설계를 도맡았다. 나같은 경우는 log(log4j2)쪽과 이에 대한 mongoDB를 연동을 위해 JPA 이해를 기반으로 CRUD구현과 테스트, rest 원칙을 기반으로 API를 설계하기 등을 맡았다. 우리의 목적은 크게 주서비스에 대한 만족도 높은 큐레이팅인데, 그 전에 기본적인 API구현을 다 끝내는 것이 level1이..