풀스택 웹사이트 개발기 (feat. FastAPI, Vue.js, TensorFlow, Docker)
2022. 9. 3. 22:21
후기
Intro https://whatisbreed.com/ What is breed? whatisbreed.com 견종 분류 모델 개발기에서 개발한 모델이 아깝기도 하고, 그동안 풀스택을 해보고 싶던 생각도 있어서 분류 모델 + LIME을 적용한 웹사이트를 개발했다. 2022.08.20부터 개발을 시작했고 글을 쓰는 현재(2022.09.03) 배포를 한 상태이며 꾸준히 업데이트를 할 예정이다. 기술 스택 개강을 하기 전까지 개발을 해서 배포하고 싶은 마음이 있어, 기술 스택들을 선택할 때 배우는 비용이 낮은 것에 중점을 뒀다. 그리고 이전에 유튜브에서만 보던 해보고 싶은 신기술들을 사용해보고 싶은 마음도 컸다. Frontend - Vue.js 카카오가 리액트 냅두고 왜 Vue 쓰는지 알려드림 - 코딩애플 온..
견종 분류 모델 개발기
2022. 8. 20. 14:26
후기
학교 프로젝트로 견종 분류 모델을 구축하고 XAI 알고리즘 중 하나인 LIME을 적용하는 프로젝트를 진행했고 논문까지 썼다. 주제가 여러 번 바뀐 탓에 딥러닝 노 베이스가 짧은 시간 내에 공부하고, 모델을 구축하고, 실험하며 논문까지 써서 놓친 부분이 많이 있어 방학 동안 배운 것들을 바탕으로 리펙토링을 하며 정리하려 한다. 프로젝트 개요 딥러닝을 이용한 견종 구별에 대해 근거를 제시하지 않는 데에 일반적인 사용자가 이해하기 어렵다. 이를 위해 반려견의 품종을 구별하는 딥러닝 모델을 구축한 후 이를 XAI 기법 중 하나인 LIME을 이용하여 분류 근거를 이미지로 보여준다. Dataset Class 선정 우선 분류할 견종은 총 10종으로 다음과 같이 선정했다. beagle golden retriever p..
2022 모비스 대회 후기
2022. 7. 5. 02:16
후기
학생부 1233명 중 123등을 했다. 거의 정확히 상위 10%다. 50등까지 본선인데 정말 아쉽다. 채점을 해주지 않는 대회에 익숙하지 않다. 코드에 실수가 많은 편이라 이런 대회나 코테에서 성적이 많이 떨어지는 거 같다. 4번이 제일 쉬운 문제라고 생각됐는데 그걸 틀려서 점수가 많이 깎였다. 쉬운 문제 안틀리게 빠르게 푸는 연습을 해야겠다. 근데 이걸 어떻게 연습하지... 마지막 문제가 가장 어려운 문제였는데, 최소컷 문제라는 것까지 파악하고 O(N^2E) 짜리 dinic을 써야 하는 걸 알았지만 dinic을 아직 공부하지 않아서 에드몬드 카프 알고리즘으로 O(NE^2)짜리 코드로 부분점수만 긁었다. 나중에 알고 보니 풀이도 약간 틀린 풀이였다. 그래프 모델링을 약간 다르게 했다. 아무튼 부분점수는 ..
원티드 쇼미더코드 후기
2022. 4. 15. 22:06
후기
대회라고 했지만 코테 느낌이었고, 가볍게 풀었는데 금뱃지 받았다. 문제 설명은 저작권이 어떻게 걸린지 몰라서 하지 않겠다.
2022 구글 코드잼 Qualification Round 후기
2022. 4. 3. 23:42
후기
4솔을 하고 71점을 먹었다. A번만 풀고 과제하다가 자고 일어나면 시간이 끝날 거 같아서 3시까지 풀다 잤다.. 피곤해 죽을 뻔.. 30점만 먹고 자려했는데 4번 풀이가 보여서 이것만 풀고 자야지하다가 맞왜틀 박으면서 늦게까지 풀었다. 마지막 문제는 쓰윽 보고 문제가 이상하길래 그냥 안 풀고 맘 편히 잤다. A. Punched Cards 이쁘게 출력만 하면 되는 간단한 구현문제다. #include using namespace std; char arr[100][100]; void f1(int r, int c) { char cc[2] = {'+', '-'}; for (int i = 0; i < 2 * c + 1; i++) arr[r][i] = cc[i % 2]; } void f2(int r, int c) ..
구글 푸바 챌린지 후기
2022. 3. 16. 21:00
후기
구글엔 되게 재밌는 이스터 에그인 푸바 챌린지라는 게 있다. 구글에서 다양한 개발자를 채용하기 위해 만들어놨다고 한다. 개발자스러운 검색을 하다 보면 뜬다고 하는데 이런 게 나한테 떠버렸다. 어쩌다 알고리즘에 걸려버렸나 보다. 마지막으로 검색한 게 "python list comprehension"이었던 걸로 기억한다. 이게 뭔지 몰라서 뜨는 창은 캡처를 못했지만 개발자라면 흥미롭게 생각할만한 문구로 확인 버튼을 누르라고 꼬신다ㅋㅎ 버튼을 누르면 아래 같은 창이 뜬다. 여기서 이것저것 누르다 보면 help를 쳐보라는 말이 나오고 문제를 풀 수 있게 해 준다. 문제는 파이썬과 자바로만 풀 수 있다. 레벨별로 문제가 있는데 점점 레벨별로 난이도 차가 꽤 크다. 문제당 시간을 부족하지 않게 줘서 시간제한 상관..
Flutter 기반 이미지인식 일정 관리 어플 만든 후기
2021. 8. 29. 14:32
후기
생애 첫 개발 프로젝트를 플러터로 했다. 안드로이드 네이티브 개발을 약간 맛만 본 입장에서 플러터는 선녀다. 역시 킹갓 구글. 그런데 플러터 2.0 이상 버전을 사용했더니 자료가 너무 없어서 정말 정말 힘들었다. 처음으로 공식 문서를 읽어보고, 공식 문서로 공부를 했다. 플러터 공식 문서가 굉장히 잘돼 있는 편이라고 하는데 읽으면서도 그게 느껴졌다. 하지만 이것만으로 모든 정보를 얻기엔 부족해서 구글링을 하면 자료가 너어어어ㅓ어어무 없었다. 아이디어는 내가 전부터 만들고 싶었던, 유통기한 일정 관리 어플이다. 이미지 인식을 통해 사진을 찍으면 어떤 음식인지 인식하고 그것을 기반으로 유통기한을 계산하여 알아서 표시해준다. 맘 같아서는 여러 음식 찍어도 동시에 인식할 수 있게 하고 싶지만 기술 부족으로 포기..
2021 SCPC Round 2 후기
2021. 8. 7. 21:03
후기
후기 1번은 보자마자 풀진 못했지만 30분 내에 해결했다. 2번은 처음 볼 때 문제를 약간 잘못 봐서 잘못된 풀이를 생각해냈고 약간 뿌듯했다. 하지만 코드를 짜면서 뭔가 잘못됨을 느꼈고 결국 못 풀었다. 3번은 아예 아무것도 생각나지 않았고 전탐색으로 부분점수라도 긁으려 했지만 그것도 시간 초과가 났다. 1. 원 안의 점 문제 설명 원의 반지름이 주어지고 원의 내부에 있는 격자점을 구하는 문제다. 풀이 위의 그림과 같이 원 내부 격자점의 개수 = 초록점 + 4 * (검은 점 한 세트)이다. 이때 초록점은 (r - 1) * 4 + 1로 구할 수 있다. 그렇다면 검은 점의 개수만 빠르게 구하면 되는데 이때는 이분 탐색 이용했다. 원 내부의 점 좌표를 (x, y) 라 할 때 x^2 + y ^2 < r^2인 성..
2021 SCPC Round 1 후기
2021. 7. 19. 00:33
후기
제주도 스쿠버 일정과 scpc일정과 겹쳐서 4시간 정도밖에 풀지 못했다. 2번까지 풀고 뒷 문제들이 크게 어려워 보이지 않았는데 다음 일정 때문에 못 풀어서 너무 아쉬웠다. 1. 친구들 N명의 사람이 있고, 각 사람은 d를 가지고 있는데 i번째 사람은 i + Di와 친구이다. i + Di > N이면 무시한다. A와 B가 친구라면 B와 A도 친구다. union find를 집합의 개수를 세면 풀 수 있다. 매우 쉬웠고 10분 정도만에 풀 수 있었다. #include #include using namespace std; int Answer; int par[100005], lev[100005]; int find(int x) { if (x == par[x]) return x; return par[x] = find..