전체 글
-
빌드 관리 도구, 예제와 함께 Gradle 알아보기📖 개발 공부 2024. 1. 21. 11:00
프로젝트에서 gradle이 어떻게 돌아가는지 이해도를 높이기 위해 글을 작성해보겠다. 일단, 공식 문서 내용이 너무 많아서 🥲 프로젝트에 적용했던 설정들을 토대로 정리해보려고 한다. Gradle 이란? gradle은 오픈소스 빌드 자동화 툴이다. 어떤 플랫폼에서든 소프트웨어를 구축, 테스트, 게시 및 배포하는 경우 gradle은 코드 컴파일 및 패키징부터 웹 사이트 게시까지 전체 개발 수명주기를 지원할 수 있는 유연한 모델을 제공한다. 컴파일(Compile): Gradle은 Java 파일을 바이트코드로 컴파일하는 과정을 자동화한다. 테스트(Test): 어플리케이션이 예상대로 정상 작동하는지 확인하는 자동화된 테스트를 수행한다. 패키징(Packaging): JAR 또는 WAR 파일과 같은 배포 가능한 형태..
-
2023 회고 | 시간 왤케 빨라카테고리 없음 2024. 1. 6. 16:29
지나간 2023을 회고하는 글!2023년 감상평을 한줄로 써보자면 “시간 왤케 빨라” 이다 ㅎㅎ.나 1년동안 뭐했지?라고 생각했을 때 기억나는 활동이 크게 많지 않았다. 그만큼 내가 올해에 회사 일에만 몰두했나?란 생각을 했다. 그래서 일기 / 올렸던 PR들 / 기록했던 공부들을 보며 정리하는 시간을 가졌다. 생각만큼 활동을 안한 건 아니었다. (다행 ㅎㅎ) 1-2월#사내스터디 사내에서 “가상 면접 사례로 배우는 대규모 시스템 설계 기초” 스터디를 진행했다. 스터디 진행방식은 한 챕터씩 읽어 오고, 읽으면서 들었던 질문들에 대해 얘기하는 시간을 가졌다. 그리고 회사 내에서는 어떻게 시스템을 구축하고 있는지 함께 공유하기도 하였다. 대규모 시스템 설계를 해본 경험이 많이 없는 나에게는, 경험 있으신 분들..
-
늦게나마 올리는 GDSC 홈커밍데이 연사발표 회고카테고리 없음 2024. 1. 6. 16:10
2023.11.15에 GDSC 홈커밍데이 연사발표를 하였다! 나는 발표 경험이 거의 없었다. 사람들 앞에서 발표하는 것에 대해 굳이 나서지 않아서 거의 해본 적이 없다. 하지만 나는 학부 시절 이러한 경험을 못해본 것이 조금 아쉬웠다. 경험이란 것은 소중한데.. 무섭다고 외면해서 결국 나의 단점이 되어버린 듯한? 그래서 발표를 해보고 싶은 마음이 가슴한켠에 남아있었다. 그러던 어느날, GDSC 현재 기수 운영진을 하고 있는 친구가 연락이 왔다! 너 혹시 올 수 있으면 강연할래? 사실 직장을 다니고 있는 평일 저녁에 홈커밍데이를 진행하여서 80% 못가겠다 생각하고 있었다. 하지만 친구의 제안을 듣고 !!!헉!!! 내가 해보고 싶었던 연사의 기회가! 하고 눈이 커졌다. 그래서 조오금 고민하다가 바로 하겠다고..
-
파이썬으로 살펴보는 아키텍처 패턴 총정리📚 개발 도서 2024. 1. 1. 22:24
1장. 도메인 모델링을 지원하는 아키텍처 구축 1장에서는 도메인 모델 패턴으로 비즈니스 계층을 만드는 방법을 보여준다. 대부분 개발자가 새로운 시스템을 설계하라는 요청을 받으면 즉시 데이터베이스 스키마를 그리기 시작하고 그다음 객체 모델을 생각한다. 여기서부터 모든 것이 잘못되기 시작한다. 대신 먼저 행동하고 저장에 대한 요구 사항은 행동에 맞춰 정해져야 한다. 나는 페이지의 새로운 혁신 내용을 재미있게 읽었다. 기존 시스템에서, 모든 배송과 도착 날짜를 추적하여 창고로 배송 중인 상품을 실제 재고로 간주에 창고에 존재하는 제품처럼 취급할 수 있다는 이야기. 이는 재고가 없다고 표시되는 상품이 감소하여 더 많은 상품을 팔 수 있게 된다. 즉, 이 비즈니스는 돈을 절약하게 된다. 이런 시스템을 구현하려면 ..
-
링크드리스트 구조로 정제 규칙 순서 관리하기📖 개발 공부 2023. 12. 20. 00:06
현재 속해있는 팀에서 장소 이름을 정제하는 태스크를 진행하고 있다. 공공데이터로부터 장소 이름을 가져와서 우리가 만들어놓은 정제 규칙들을 통해 정제하여 데이터화하는 과정이라고 볼 수 있다. 이 정제 과정이 필요한 이유는 크게 두가지가 있다. 깔끔하고 통일성 있는 장소이름을 유저에게 보여주기 위함. 여러 공공데이터를 통해 데이터화를 하는데, 공공데이터 간 중복 장소가 있을 수 있음. 정제를 통해 이 중복 장소들을 하나의 장소로만 데이터화하기 위함. 이러한 이유로 정제 고도화는 우리 팀에서 중요한 태스크이다! 첫 정제 과정에서는, 이상한 패턴들을 가진 이름들을 수정하기 위한 규칙들을 코드 내에서 관리하고 있었다. 하지만 정제해야 할 케이스들이 끝도 없이 나왔다.. 😱 😱 이상한 이름들을 가진 데이터를 제보받..
-
도메인 모델에 kotlin의 data class가 적합할까?📖 개발 공부/kotlin 2023. 12. 10. 12:00
회사 프로젝트에서 비즈니스 로직이 담긴 도메인 모델을 만들 때 kotlin의 data class를 사용하고 있다. 언제 class를 사용하고, 또 언제 data class를 사용하는 게 적합한지 제대로 숙지하지 못하고 무분별하게 쓰고 있는 것 같아 이번 기회에 공부해보려고 한다! 코틀린의 공식 문서를 보자 👀 Data classes in Kotlin are classes whose main purpose is to hold data. 데이터 클래스(Data class)는 데이터 보관 목적으로 만든 클래스를 말한다. 데이터 보관을 목적으로 만들었다라.. 뭔가 DTO의 역할을 말해주고 있는 것 같다. (데이터 전달) 도메인 모델은 데이터 보관 역할을 넘어서 비즈니스 로직을 구현하고 도메인의 행위를 정의하는 ..
-
다양한 좌표계를 위경도 좌표로 변환해보기 수난시대 (feat. geotools)📖 개발 공부 2023. 11. 5. 16:17
회사에서 외부 공공데이터들을 가져와서 POI화하는 업무를 맡았다. 공공데이터들은 각기 다른 EPSG 좌표계를 사용하고 있다. 주소 데이터: GRS80 UTM-K 기준 → EPSG:5179 지방행정인허가 데이터(LocalData): 중부원점TM(Bessel) → EPSG:5174 DB에 저장할 최종 좌표계는 EPSG:4326이다. 이는 우리가 흔히 쓰는 위경도 좌표라고 보면 된다. 여기서 EPSG가 뭐신가 EPSG 코드는 전세계 좌표계 정의에 대한 고유한 명칭이다. EPSG 코드에 대한 상세 정의는 proj4와 wkt라는 문자열로 되어 있다. EPSG.io: Coordinate Systems Worldwide EPSG.io: Coordinate systems worldwide (EPSG/ESRI), pre..
-
📸 [Flutter] Google Cloud OCR 연동하기📖 개발 공부/flutter 2023. 10. 18. 22:48
나는 독서 기록을 할 때, 기억하고 싶은 구절은 기본 카메라앱으로 스캔 후 복사하여 노션에 붙여넣고 있다. 하지만 이 과정은 나에게 꽤나 번거롭다. 그래서 카메라에서 문장을 스캔&선택한 후 곧바로 해당 문장에 대한 나의 생각을 기록하고 싶어서 독서 기록 앱을 만들고 있다! 플러터로 개발을 하고 있고, 플러터로 Google Cloud OCR을 연동하여 이 기능을 구현해보려구 한다! 📸 코드 작성에 앞서, Google Cloud에서 제공하는 Vision AI 를 사용하기 위해 키를 발급 받아야 한다. 다음 링크에 들어가서 발급 받으면 된다. https://cloud.google.com/vision cloud.google.com 발급받는 과정 요약 Vision AI 무료로 사용해보기 → 가입 → 서비스 계정 ..