일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- android
- 안드로이드
- 개발
- DFS
- DART
- Flutter
- 코테
- cos pro
- 알고리즘
- codingtest
- C++
- BAEKJOON
- 코드품앗이
- 파이썬
- 코딩테스트
- AndroidStudio
- DFS와BFS
- Python
- Vue
- Algorithm
- vuejs
- 분할정복
- 안드로이드스튜디오
- 동적계획법
- cos
- django
- issue
- 백준
- cos pro 1급
- 동적계획법과최단거리역추적
- Today
- Total
목록개발 (8)
Development Artist
사내 포탈 웹 서비스를 개발하기 위해서 어떤 기술 스택을 사용할 것인지 '선택'이 필요했습니다. 또한, 어떤 '구조'로 서비스를 할 것인지에 대한 디자인도 필요했습니다. 이에 대한 고민들을 이번 글에서 풀어보도록 하겠습니다. Frontend 프론트엔드는 웹 서비스의 UI 및 서버에 API 요청을 담당하고 있습니다. 현재 React가 프론트엔드 시장에서 가장 많이 쓰이는 기술 스택인데요, React는 진입장벽이 높아 혼자서 프론트엔드, 백엔드, 인프라를 하기에 모든 부분에서 여유가 없었습니다. Vuejs는 디자인 패턴이 굉장히 직관적이고 처음 배우기에도 쉽기 때문에 이번 포탈 개발의 프론트엔드 스택으로 Vuejs를 선택하였습니다. 또한, 이전 회사에서 인턴을 할때 Vuejs를 조금 다뤄본 경험이 있어 고민..
도입 백준 단계별 풀기 최단경로 첫 번째 문제이다. 다익스트라 알고리즘 [출처 : 위키 백과] 풀이 1. 다익스트라 알고리즘 사용할 것이다. dijkstra 라는 함수를 정의하고, 매개변수로 시작점(var_start)을 받는다. 2. heapq 라이브러리를 사용한다. heap에는 방문할 vertex의 정보들이 들어있다. [최단거리, vertex]로 구성이 되어 있다. 3. mat_table은 vertex간 어떻게 연결되어 있는지 인덱스값을 그 값에 해당하는 vertex(var_u)라고 두고, 해당 vertex에 연결된 다른 vertex(var_v)와 가중치(var_w) 정보를 넣어둔다. 4. list_shortest_dist는 시작점 index를 제외한 다른 index 들의 값을 INF(무한:infini..
아이디어 회의 새로 시작하는 프로젝트...2번째 트라이! 아이디어가 무려 10가지가 나왔다! 사진에는 3가지 뿐이지만, 그 아래로 많은 아이디어들이 있다. 첫 번째로 진행했던 아이디어들보다 사이즈가 좀 작은 것들로 써보았다. 아이디어, 대상, 해결하고자 하는 점들을 적어보았다. 구글 공유 드라이브로 각자 의견들을 공유하였다. 그리고 zoom을 통한 회의에서 각자 아이디어에 대해 ppt 발표를 하고, 투표를 진행하였다. 투표 및 선정 현재 7명이서 각자 3가지에 투표를 한다. 점수는 1점. (지금 현재는 인원 8명이서 진행, 1명 더 뽑을 예정) 최종적으로 'All in one 다이어리'가 채택이 되었다. 다이어리가 기능이 많아서 구현에 빡셀 수 있지만, 개발 인원이 있어서 크게 문제가 되어 보이지는 않았..
아이디어 회의를 거치고 선정된 '1인 코스 추천' 에 대한 세부적 논의 중 새로운 컨셉 추가 이 아이디어의 목적은 혼자 활동하는 1인에게 혼자서도 즐길 수 있는 정보들을 제공한다. 하지만, 정보를 제공하기 위해서는 데이터 정제와 기준들이 필요하다. 우리는 그런 정보들의 정제 및 제공과 더불어, 유저들끼리 의사소통을 할 수 있게 하여 정보를 공유하고, 하나의 문화로 만들어 나가는 것을 목표로 한다. 데이터 형식 '어떤식으로 데이터를 형성 할 것인가' 에 대한 논의 : 일기 같이 유저가 일기장 형식으로 하루 일기를 쓰고 공유하는 방식으로 가면 어떨까, '일기장' 형식의 데이터 구조를 짜자! 데이터 형식의 차별화 (특별함) '일기장'의 컨셉으로 가는 것은 정해졌다. 그렇다면, 보통 일반적인 일기장의 형식인 제..
코드 품앗이 첫번째 아이디어 관련 두 번째 회의 안건 : 아이디어 논의 및 선정 프로젝트를 시작함에 있어 어떤 내용을 가지냐에 따라 필요한 요소들이 각기 다르다. 그렇기 때문에 이것에 대한 논의가 프로젝트 시작에 앞서 이루어져야 한다. 또한, 코드품앗이 프로젝트 첫 번째 프로젝트인 만큼, 신중한 결정이 필요할 것으로 보였다. 예전에 학교수업 중 '실전코딩1'에서 라이엇 현직 개발자 분들과 진행했던 아이디어 논의 방법을 차용하여 이번에 적용시켜 보기로 하였다. 또한, '집중교육2'에서도 이 방법을 차용해서 효과를 본 적이 있어서, 이번에 이것을 그대로 적용 시켰다. 회의는 Zoom을 통해 진행하였다. 회의 전 미리 Google Drive로 문서를 공유한 뒤 각자 대략 5일 정도 각자의 아이디어를 업로드 하..
나의 出恖表(출사표) != 出師表 아주대 소프트웨어학과 4학년... 이제 졸업까지 1년 남은 시점, 과연 나는 어떤 것을 해야 의미있는 1년을 보낼 수 있을까... 방학 때 하는 거라고는 코딩 테스트 준비로 백준 알고리즘 풀이가 전부... 1일 1커밋을 실행하려고 노력 중... 지루하기 짝이 없는 하루들의 반복. 그러다 문득 심장이 뛰는 것을 생각하게 되었으니, 그것이 바로 이름하여 "코드품앗이" 프로젝트. 늘 그렇지만, 시작은 설렘이다. 첫 입학, 첫 군대, 첫 프로젝트. (첫 사랑?) 학교에서 진행한 프로젝트는 꾀 있었다. Autosar의 자동차 SW 프로젝트, Riot 개발진들과의 멘토링, Hotpler 프로젝트. 하지만, 내가 자의적으로 이렇게 프로젝트를 구성해 보는 것은 처음이다. 그래서 더욱 ..
도입 백준 단계별 풀기에서 분할정복 여덟 번째 문제이다. 풀이 1. n이 매우 크다. - 점화식으로 푸는 DP 방법 = $O(N)$ -> 비추천 - 행렬로 변환한 풀이법(행렬 거듭제곱) - $O(M^3 * logN)$ -> 사용 2.1. 점화식을 행렬로 변환해보자. 2.2. 여기서 f1 과 f2 는 1이다. 그리고 거듭제곱 결과의 2x2 행렬을 a b c d로 치환하면 2.3. $F_{n+2} = a+b$ 이고 $F_{n+1} = c+d$가 된다. 2.4. 이제 $F_{n}$을 구해보자. n에 n-1을 대입한다. 그렇다면 n-1의 거듭제곱을 구하고 2번째 행의 2개 값을 더해주면 된다. 3. 곱셈 연산자 오버로딩을 사용한다. c++에서는 '연산자 오버로딩'을 찾아보면 더 자세한 내용들이 많을 것이다. p..
도입 백준 단계별 풀기에서 분할정복 일곱 번째 문제이다. 풀이 1.1. 행렬의 거듭제곱을 어떤식으로 할 것인가! 정사각형 행렬 A를 13번 거듭제곱을 한다고 가정해보자. A의 제곱부터 차례차례 A를 곱하는 방법이 있다. 하지만, 이렇게 하지 않는다. $A^{13}$이 $(A^6)^2*A$ 으로 표시할 수 있고, 여기서 $A^6$을 알고 있다면? 제곱연산을 2번만 하면 된다. 1.2. 지수가 홀수인가, 짝수인가. 홀수라면 $(A^k)*A$ 일 것이고, 짝수라면 $(A^k)^2$ 으로 표현할 수 있다. 1.3. 13을 2진법으로 표현해보자. $1101_2$ 이다. MSB로 계산을 한다. (LSB아님) 1일 때는 홀수로 계산하고 0일때는 짝수로 계산. 1 - $(A^0)^2*A$ = $A$ 1 - $(A^1)..