반응형

분류 전체보기 23

uv와 ruff를 사용하여 프로젝트 구성해보기.

uv ? uv는 python 프로젝트와 package를 매니징할 수 있는 도구이다.https://docs.astral.sh/uv/ uvAn extremely fast Python package and project manager, written in Rust. Installing Trio's dependencies with a warm cache. 🚀 A single tool to replace pip, pip-tools, pipx, poetry, pyenv, virtualenv, and more. ⚡️ 10-100x faster than pip. 🐍 Installsdocs.astral.sh  python에는 기본적으로 venv라는 내장 라이브러리가 존재한다.https://docs.python.org..

Python 2024.10.16

글또 10기 비긴즈

이전에도 회사 동료의 추천과 주변에 글또를 하는 친구들이 많아 자연스럽게 존재를 알고 있었다. 하지만 선뜻 지원을 못했다.이미 일을 하면서도 기록을 많이 하고 있는데, 따로 글쓰기를 해야된다 ..? 개발자로 시작하고, 글을 정말 많이 쓰게 되었다. CS 지식 정리글, 회사 연구 문서, 개발 공유 문서 등등 .. 이러한 과정들이 마냥 달갑지는 않았다.나는 개발이 좋은데 코딩할 시간도 없는데 글을 써야한다니 ..그런데 최근에 조금 생각이 바뀌어나가고 있다.지식은 무궁무진하고 개발은 계속해서 발전해나가는데 이 모든걸 쫓아가려고 하기에는 물리적 한계가 있다는 생각을 많이 하고 있다. 또한 나는 어떤 개발자가 되고 싶은지, 그냥 코더가 하고 싶은건 아닌지 .. 기술의 발전으로 개발자의 역할과 정의에 대해 고민을 ..

카테고리 없음 2024.10.13

[Android] Android Trace로 특정 로직 성능 확인

Android에서 성능 최적화를 해야하는 상황 혹은 특정 로직이 동작하는 시간이 궁금한 경우가 있습니다.혹은 얼마나 자원을 쓰고 있는지 궁금할 때 Trace를 확인하여, 이를 확인할 수 있습니다.android.os package에 있는 Trace Class를 활용했습니다.아래와 같이 Trace를 찍으면, Trace를 추적 할 수 있습니다.  이후에 App을 안드로이드 기기에 빌드합니다.설정 → 개발자 옵션 → 추적기록추적기록 토글을 활성화시키면, Trace 파일 기록을 시작합니다.그리고 빌드한 App을 실행하고, 내가 확인하고자 하는 동작을 진행합니다.추적 기록을 실행하면, 상단바에 추적 기록 중 이라고 알림이 뜨는데, 확인하고자 하는 앱 동작을 마친 뒤에 해당 알림을 탭하면, Trace 파일이 저장됩니..

카테고리 없음 2024.06.26

[Spring] JPA ID 설계 전략

JPA에서는 아래와 같이 Entity를 설계할 때, @Id 어노테이션으로 해당 프로퍼티가 Database에서 PK가 되는 것을 명시하고, @GeneratedValue 를 통해 어떻게 PK를 생성할 건지 생성 전략을 명시하고 있다. @Entitypublic class Entity { @Id @GeneratedValue(strategy = IDENTITY) private Long id;}IDENTITY 전략을 사용하면, MySQL의 Auto Increment 생성 전략으로 ID를 생성할 수 있다.그 외에 TABLE, SEQUENCE, UUID, AUTO 의 전략으로 ID를 설계할 수 있다. 하지만 Auto Increment 전략을 사용하면, 기본적으로 data가 새롭게 생성될 때 id가 1씩 증가하기 때문에..

Spring 2024.06.13

[유니톤 11th] 회고

회사에서 일을 하면서 매너리즘에 빠진 것 같다는 느낌을 받아, 다시금 열정을 찾아보고자 유니톤에 지원하게 되었다.   경쟁률도 빡세고 선발되기 어려운 것으로 알게 되었는데, 열심히 지원서를 작성했더니 .. 좋은 결과가 있었다! 유니톤의 경우 팀원이 기획자 1, 디자이너 1, 백엔드 개발 2, 프론트 엔드 개발 2로 총  6명으로 구성되어있다. 며칠 뒤에 팀 배정이 나왔고, iOS 개발자 분과 같은 팀이 되었다. 금요일 저녁부터 총 2박 3일 동안 진행되는데, 무박 2일 해커톤은 해봤는데 3일 해커톤은 처음이었다.해커톤을 하기전에 간단하게 킥오프 시간을 갖고, 만들고 싶은 서비스에 대해서 아이디에이션 하는 시간을 가졌다. 같이 하시는 분이 Spring 개발 경험도 많고, 미리 많은 부분을 세팅 해주셔서 편..

카테고리 없음 2024.04.08

[Smeem] Presentation Layer <-> Application Layer DTO 리팩토링

Smeem 프로젝트를 하면서 경험했던 부분을 작성한 포스트입니다. Layered Architecture에서 Presentation Layer는 클라이언트로 부터 요청을 받아, 하위 계층(Application Layer)에 전달하고 하위 계층으로 부터 전달받은 응답 값을 클라이언트에게 응답해주는 Layer이다. Project를 하면서 기본적으로 클라이언트에서 Request Body가 존재하는 API의 경우에는 아래 코드와 같이 DTO 클래스를 생성하고, Controller에서 @RequestBody 어노테이션을 사용하여 해당 객체를 Service에 그대로 넘겨주는 형태로 개발을 해왔었다. @PostMapping("/member") public ApiResponse saveMember(@RequestBody..

Spring 2024.03.22

[Spring] RestDocs 기반으로 API 문서 작성해보기

보통 Swagger를 작성하여 API 문서를 많이 작성했는데, Controller의 Test를 작성하고 작성한 Test를 기반으로 API 문서를 만들어주는 RestDocs에 대해서 공부해보고 API 문서를 작성해봤다. https://docs.spring.io/spring-restdocs/docs/current/reference/htmlsingle/ Spring REST Docs Document RESTful services by combining hand-written documentation with auto-generated snippets produced with Spring MVC Test or WebTestClient. docs.spring.io 해당 공식문서 기반으로 RestDocs를 적용했다..

Spring 2024.03.16

[SOPT] DO SOPT 서버 파트 회고 (리크루팅편)

SOPT에서 서버파트로 두 기수를 활동하면서 대학 생활을 마무리하면서 가장 의미있게 마무리 할 수 있는 것이 무엇일까?에 대해 많이 고민했다. 1년 전에 SOPT 활동을 시작하면서, 정말 좋은 사람들을 만나고 많은 것을 배웠다.내가 SOPT에서 많은 것을 얻은 만큼 대학생활 마지막을 SOPT 라는 단체에 기여해보고 싶다는 생각이 들어, 서버파트장을 결심했다. 종무식에 후보 별로 발표를 하고, 회원 분들의 투표를 통해 파트장이 선출된다.파트장 선거 결과 발표 결과가 날 때 많이 떨렸는데,  반대가 0표 였을 때는 많은 분들이 응원해주시는구나라는 마음과 함께 그래도 1년동안 동아리 활동을 잘했구나 라는 안도감도 느껴졌다.파트장을 열심히 해야겠다는 큰 동기부여가 되었다. 종무식이 끝나고 일주일간 휴식을 마친뒤..

카테고리 없음 2024.03.02

[자료구조] Heap

알고리즘 스터디로 프로그래머스 알고리즘 고득점 Kit Heap 문제를 풀면서, Heap에 대해서 알아보기로 함. 나동빈님의 유튜브 영상에서 Heap에 대한 간단한 개념을 살펴볼 수 있었다. https://www.youtube.com/watch?v=AjFlp951nz0 Python에서는 heapq라는 표준 라이브러리를 활용하여, heapq를 쉽게 사용할 수 있다. heapq 라이브러리에 아래와 같이 heapq 라이브러리에 대한 설명이 나와있다. python에서 구현 heap의 경우 기본적으로 minheap 형태이다. 따라서 maxheap을 사용해야 하는 경우에는 -를 붙인 tuple 형태로 데이터를 저장하면 된다. 우선순위큐를 heap을 이용하여 구현할 수 있고, 이 때 가장 시간 복잡도가 작음 . 완전 ..

알고리즘 2024.03.01

[AI] gradio

AI model을 구성하면 Test data로 inference하는 code를 작성한다. 그리고 그 결과를 바탕으로 성능을 판단하는데 그 외에 빠르게 inference 해보고 싶은 환경도 주어진다. 예를 들어 동물 분류 모델을 만들었는데, 처음 본 동물을 발견했다면 동물을 해당 model로 test 해보고 싶을텐데, python code를 Setup해서 실행하는 것도 어렵고, 만약 다른 분들이 Test 하고 싶어하는 상황이라면 더더욱 힘들다. 따라서 사내에서 쉽게 Test 해볼 수 있는 페이지를 만들어보고 싶다는 갈증이 있었다. 하지만 만드는 경우에는 UI 작업도 필요하기 때문에, 제대로 만들어보려니까 쉽지 않았고 Django를 사용하여 간단하게 웹서버를 만들어보려고 했는데 시간이 너무 오래걸리고, 완성..

AI 2024.02.27
반응형