전체 글 14

COMFORT ZONE을 벗어나자!

Comfort Zone이란?컴포트 존(Comfort Zone)이란 심리적인 안정감을 느끼는 영역을 뜻한다. 친한 친구들을 만나는 것, 익숙한 업무를 지속하는 것 등이 컴포트 존에 해당된다. 컴포트 존에서의 삶을 유지하며 사는 것도 일종의 행복이지만 일반적으로 사람들은 컴포트 존을 벗어날 때 많이 성장한다고 한다. 나는 태어나면서부터 지금까지 지금 살고 있는 동네를 벗어나본 적이 없다. 친척들도 전부 같은 동네에 살고 있어 아마 결혼하지 않는 이상 계속 이곳에서 살 것 같다. 그러다 보니 늘 익숙한 동네, 내가 태어날 때부터 본 익숙한 이웃, 그리고 유치원 때부터 본 익숙한 친구들 등 전부 내겐 익숙한 것 밖에 없었다. 고등학교를 졸업하고 대학교에 진학하게 되며 내 생활 반경은 약간 넓어졌지만 그뿐이었고,..

일상 2024.08.20

ML 모델로 신분증 검증 이미지 분류 모델 적용해보기

최근 들어 IT 기업들은 인공지능(AI)과 머신러닝(ML) 기술을 다양한 분야에 적용하여 효율성을 높이고 사용자 경험을 개선하는 데 주력하고 있다. 특히, 신분증 검증과 같은 보안이 중요한 서비스에서는 이러한 기술들은 매우 유용하게 사용되고 있다. 이번 글에서는 토스뱅크가 ML 모델을 활용해 신분증 검증 시스템을 구축한 사례를 소개하고, 이를 바탕으로 적용해본 과정을 공유하려고 한다. 토스뱅크의 ML 모델 활용 사례토스뱅크는 사용자가 제출한 신분증을 빠르고 정확하게 검증하기 위해 다양한 ML 모델을 도입했다고 한다. 초기에는 모든 신분증 검증을 사람이 직접 수행했지만, 고객 수가 증가함에 따라 검증에 소요되는 시간과 비용이 문제로 대두되었다. 이를 해결하기 위해 신분증의 진위 여부, 정보의 가독성, 얼굴..

카테고리 없음 2024.08.12

순환 참조 해결: Jackson 라이브러리의 @JsonManagedReference와 @JsonBackReference 사용하기

개발을 진행하면서 순환 참조 문제는 흔히 발생할 수 있는 이슈 중 하나라고 한다. 특히 JSON 직렬화 과정에서 순환 참조가 발생하면 스택 오버플로우 에러가 발생하거나 직렬화가 제대로 이루어지지 않는 경우가 많다고 한다. 나 역시 지난 프로젝트에서 이와 같은 문제를 겪어보았기에 이번 글에서는 Jackson 라이브러리의 @JsonManagedReference와 @JsonBackReference 어노테이션을 사용하여 순환 참조 문제를 해결하는 방법에 대해 알아보겠다. 순환 참조 문제란?순환 참조(Circular Reference)란 두 객체가 서로를 참조하는 경우를 말한다. 예를 들어, Parent 객체가 Child 객체를 참조하고, Child 객체가 다시 Parent 객체를 참조하는 경우이다. 이러한 구조..

카테고리 없음 2024.07.28

DFS와 BFS 알고리즘

깊이 우선 탐색 (DFS: Depth-First Search)원리DFS는 그래프의 한 정점에서 출발하여, 가능한 한 깊이 있게 탐색하는 방법이다. 즉, 다음 분기(가지)로 넘어가기 전에 현재 분기를 완벽하게 탐색한다. 이를 위해 DFS는 스택(stack) 자료 구조를 사용하거나 재귀(recursion)를 활용한다.구현DFS는 재귀 함수를 통해 간단하게 구현할 수 있다.# 구현 예시def dfs(graph, start, visited): visited[start] = True print(start, end=' ') for neighbor in graph[start]: if not visited[neighbor]: dfs(graph, neighbor, visi..

카테고리 없음 2024.07.20

따릉잉 프로젝트 회고록

최근 동아리에서 진행한 공공데이터 프로젝트 “따릉잉”을 마무리해 회고록을 작성하려고 한다.프로젝트 소개“따릉이”는 서울시에서 시행하는 무인 공공자전거 대여 서비스이다. 따릉이의 사용률은 점점 증가하여 무려 서울시민 3명 중 1명이 사용 중이라고 한다. 하지만 지금의 따릉이는 빌리고 반납하는 서비스만을 제공한다는 점에서 아쉽다고 할 수 있다. 따라서 우리 프로젝트는 어떻게 하면 서울 시민들에게 더 나은 따릉이 서비스를 제공할 수 있을까? 하는 고민에서 시작되었다. 이를 위한 방안으로 아래의 두가지를 생각해보았다.시민들에게 따릉이 커뮤니티를 제공하자.기존의 따릉이 어플의 UI/UX를 개선하자.이런 고민들 끝에 탄생한 것이 이번에 개발한 “따릉잉”이다. 따릉잉은 따릉이 코스 추천 웹어플리케이션으로, 따릉이가 ..

카테고리 없음 2024.07.07

정보처리기사 실기 7일 벼락치기 합격 후기 및 공부 방법

최근 정보처리기사 실기 시험을 봤다. 정보처리기사는 한국산업인력공단에서 시행하는 시험으로 1년에 총 3번 시행되고, 필기와 실기 시험이 있다. 필기를 통과해야 실기 시험을 응시할 자격이 주어진다. 실기시험의 일정은 1차는 4.27~5.17 로 명시되어있지만 막상 접수해보면 4.27 하루만 볼 수 있도록 되어있으니 참고하면 좋을 것 같다. (2회와 3회 시험도 마찬가지로 7/22와 9/10에만 시험을 응시할 수 있다.) 필기 시험의 경우 상대적으로 시험 접수가 널널해 원서 접수 시작일에 접수하지 않고 다음날 접수해도 자리가 남아있었다. 하지만 실기 시험의 경우 원서 접수가 굉장히 치열하므로 원서 접수 시작일, 시작 시간에 바로 접수하는 것을 추천한다. 나도 원서 접수 시작시간에 바로 접수를 시도했지만 여러..

자격증 2024.07.01

소소한 생각들

최근 교수님과 맞팔을 했다. 맞팔을 한지 한달이 넘게 지난 지금도 여전히 내 인스타그램 피드에 교수님이 보이면 깜짝 깜짝 놀란다. 교수님께서는 꽤나 인스타를 애용하셔서 글이 참 많이 올라온다. 피드를 보다보니 교수님과 내가 꽤나 가까운 곳에 살고있다는 새로운 사실도 알게되었다…! 인근 동네 주민이셨다니… 기분이 참 이상하다.  교수님은 내가 현재 활동하고 있는 학과 동아리 담당 교수님이시다. 교수님께서 직접 만드신 동아리라 애정이 깊으셔서 프로젝트를 진행하다 막히는 부분이 있으면 언제든지 면담을 요청하라고 하시는 분이다. 지난 5월, 학과 후배와 공모전을 진행하던 중 막히는 부분이 있어 교수님께 면담을 청하였고 교수님께서는 흔쾌히 요청에 응하시며 함께 식사를 하며 이야기해보자고 하셨다. 그렇게 시작된 교..

일상 2024.06.21

TOPCIT 후기 및 공부방법

소프트웨어 중심 대학에 선정된 학교라면 한번쯤 “TOPCIT”이라는 시험을 들어봤을 것이다. TOPCIT은 소프트웨어 역량 검정(TOPCIT: Test Of Practical Competency in IT)으로 소프트웨어를 활용한 창의적 문제해결 능력을 평가받고자 하는 사람을 대상으로 실시하는 검정시험이다. 쉽게 말해 정보처리기사 필기 + 실기 시험인 것 같다. 우리 학교도 소프트웨어 중심 대학이기에 TOPCIT 150점 이상을 넘기면 졸업 프로젝트를 대체할 수 있어 시험을 신청했다. 공부할 시간이 전혀 없었지만 이미 정보처리기사 필기를 합격했고 실기 시험을 본 상태였기에 그냥 한번 봤다. 그린컴퓨터 아카데미 강남캠퍼스에서 봤고, 생각보다 보는 사람들은 많았다. 내가 시험을 본 강의실은 2/3 정도가 찼..

자격증 2024.06.17

GCP로 ML 서버 연동 및 배포하기

자체적인 스케줄링 알고리즘을 개발하여 최적의 항만 화물차 입항 스케줄링 시스템에 대한 프로젝트를 진행했었다. 이때 ML 서버에 연동하는 과정을 경험했는데 이 과정에 대해 서술하려고 한다. 시스템 소개항만 혼잡은 항만 근처의 교통 혼잡을 야기하고 이는 경제적, 환경적인 문제로 이어진다. 이를 개선하기 위한 방법으로 트럭 예약 시스템을 생각해 볼 수 있다. 트럭 예약 시스템은 효율적인 운송 관리를 위한 시스템으로, 이를 통해 트럭의 배송 스케줄을 최적화하여 비용과 시간을 절약할 수 있다. 기존의 스케줄링 시스템은 트럭이 특정 시간대에 몰리는 문제들이 빈번하게 발생하였다. 따라서 지금의 스케줄링보다 더욱 세밀한 스케줄링을 통해 문제를 개선하기 위하여 중장기 스케줄링과 실시간 스케줄링 알고리즘을 활용한 트럭 예..

카테고리 없음 2024.05.31

[OS] Chap 02. 들어가기 전에

2.1 OS의 목적운영체제사용자와 컴퓨터 사이의 가교역할을 한다고 하였는데, 이것은 사용자가 컴퓨터를 보다 편리하게 사용할 수 있도록 해 주어야 한다는 것을 의미하드웨어가 가지는 능력을 발휘되도록 제어한다고 하였는데, 이것은 컴퓨터 시스템의 자원들을 효율적으로 사용될 수 있게 해야 한다는 말사용자의 편리성과 자원의 효율적 사용이 그 목적효과적인 점검과 개발이 가능하고, 새로운 기능들이 추가될 수 있도록 만들어져서 사용자에게 보다 나은 서비스를 제공할 수 있도록 만들어져야 할 것다른 각도에서 좀 더 설명하자면운영체제를 사용하는 사람들의 입장에서는 사용하기 쉽고 편리하며, 배우기 쉽고 신뢰할 수 있으며 빨라야 한다는 것만드는 사람의 입장에서는 운영체제가 설계, 유지, 보수가 쉽고 적응성이 좋으며 오류 없이 ..

운영체제 2024.05.20