분류 전체보기

프로젝트/Beatn-beat [비튼 - 비트]

1. 구상의 첫걸음

이름 Beaten-beat라고 이름을 붙였다. 일단 beat에는 다음과 같은 뜻이 있다. 투표기능이 있는 공유 플레이 리스트 서비스 이다. 그래서 "이기다"와 "리듬"이라는 뜻을 섞어 Beaten-beat라고 지었다. 사이트 대충 훑기 BGMS라는 기존에 있는 서비스를 클론 코딩하고, 내가 마개조 하는 것이 목표이므로 일단 간단하게 사이트 흐름도를 기입했다. 기술 스택 front-end를 Vue.js로 예전에 해본게 끝이라, Flutter가 숙련가 제일 높았다. 그리고 Window, Linux, Mac이나 App으로도 만들 수 있어 유연하다고 판단 했다. BGMS 개발자의 블로그를 읽었을 때, fire-base의 기능을 활용하여 구현했다는 내용을 확인했다. 현재 3-2 오픈소스 과목에서도 Flutter ..

프로젝트/Beatn-beat [비튼 - 비트]

0. 프로젝트 시작

학부 연구생을 하고 있다. 이제 한달 채 남지 않았지만. 주말에 연구실에 3 ~ 4명 정도 친한 사람이들이 남았을 때 종종 노래를 틀곤 했다. 그러면 항상 다음과 같은 대사가 나왔다. 신청곡 있는 사람? 플레이 리스트 모음을 틀거나, 듣고 싶은 노래를 받아서 직접 추가 하는 방식으로 틀었다. 우리도 인간이라 그런지, 시간이 지나서 방식이 조금 발전했다. Youtube의 플레이리스트를 공개로 만들고 거기다가 추가하는 방식을 사용했다. 이건 좀 나쁘지 않네 라는 생각이 듦과 동시에, 이거 이미 서비스 있을 것 같은데? 라는 생각이 들었다. 역시나 찾아버렸다..! https://bgms.live/ BGMs - YouTube 플레이리스트 공유 및 원격 재생 BGMs (브금쓰)로 YouTube 플레이리스트를 공유..

개발 관련/셋업

Pop!_OS 세팅

1. Pop_os? Pop os는 Ubuntu 기반의 배포판이다. Ubuntu를 확장한 것이다. * 하드웨어 지원 : AMD, Nvidia, Wifi, BlueTooth와 같은 기능을 기본으로 제공 * 간편하고 이쁜 UI : Gnome, Tile, dock등을 통합하여 만든 환경을 제공하여 간편하고 이쁘다! 필자의 셋업은 다음과 같다. 2. Pop_os 설치 Window만큼 이나 단순하게 설치할 수 있다. 설치화면이 이렇게나 아름다울 수 있다니! 위의 화면을 거치면, 아래의 화면이 나오며 설치가 완료 된다. 다음과 같이 적용했다. 언어 : 영어, 자판: 영어, encryption: 사용 안함, clean-install: 사용 외우면 좋은 단축키들 Window 키가, Super키라 생각하면 편하다. 다음은..

프로그래밍 언어/Java

(Python -> Java) 빠른 입력과, PQ

1. 기존 Python 코드 2. Java 변환 시도 3. 다른 사람의 Java 코드 기존에는 아래와 같이 C스럽게 처리를 했었다. inputLine을 받고, 이를 StringTokenizer로 잘라가면서 하나하나 집어 넣었다. 아래와 같이 stream으로 받아들이고, mapping을 한다음 array로 하는 Python의 map과 같은 기능이 가능하다! 4. 피드백 빠른 입출력을 외웠다, IOException의 가능성이 있으므로 throws로 하는게 좋다. Integer.MAX_VALUE, Integer.MIN_VALUE가 존재한다. PriorityQueue가 비교를 하는 만큼, Comparable를 implements해야 한다.

프로그래밍 언어/Java

(Python -> Java) 2차원 배열과 정렬

1. 기존 Python 코드 해야할 기능은 다음과 같다. 2차원 배열로 데이터 저장하기 2차원 배열 정렬하기 2차원 배열 순회하기 2. Java 변환 시도 3. 다른 사람의 Java 코드 빠른 입력 일반 Scanner가 아니라, InputStreamReader -> Bufferedreader로 해야 빠른 것 같다. readLine으로 한 줄 입력을 받고, 바로 parse하거나 또는 StringTokenizer로 문자열을 공백기준으로 split 하고 각각 parse한다. Comparable을 implements하는 클래스 그냥 무지성으로 2차원 배열을 만들었었다. [x, y] 좌표를 가지는 배열 하나, 이 배열들의 배열로 2차원으로 말이다. Java는 oop에 충실한 언어인 만큼, [x, y]를 배열로 하..

개발 관련/마음가짐

효율적으로 공부하는 방법에 관하여

서론 작년 에는 이런 생각을 했다. 노력만 하면 모든 걸 이룰 수 있다. 이루지 못 했다면, 노력이 부족한 것이다. 올해는 이런 생각을 했다. 내 하루는 24시간 이다, 모든 걸 이룰 수는 없다. 이루고 싶은 걸 선택해야 한다. 지금은 이런 생각을 한다. 열심히 하는건 당연하며, 효율적으로 어떻게 이룰 것인가? 이 때까지 공부를 열심히 하겠다고 나름 발버둥을 쳤다. 결과는? 좋지는 않다. 할 필요가 없던 삽질까지 했던 적도 많다. 공부를 한다고 앉았으나 집중을 못하고 내다 버린 시간들도 많다. 하긴 했으나, 똑바로 이해하지 못하고 앵무새처럼 보고 읽기만 한 경우도 많다. 무지성으로 시간으로 때려박아서는 답도 없다는걸 체감했다. 계획적이고, 효율적인 공부를 하지 않으면 내가 원하는 개발자가 될 수 없을 것..

개발 관련/마음가짐

어떻게 하면 잘할 수 있을까

서론 나는 프로그래밍을 잘하고 싶다. 라는 생각에 이어지는 질문은, 왜 잘하고 싶은가? 이다. 이유에는 높은 임금, 명예 등 여러가지 요소가 있을 것이다. 나에게 '잘함'이란 살아 있음이다. '잘함'이란 성장 사이클을 발생시킨다. 잘하니까 좋은 결과가 나오고, 좋은 결과는 더 잘하게 만든다. 이 성장사이클에서 난 살아 있음을 느낀다. 여기에는 모순이 한 가지 존재한다. 성장 사이클에 들어가기 위해선, 처음부터 잘 해야 한다는 조건이 필요하다. 경력직 신입을 찾는 아이러니 함과 같다. 하지만, 나는 2가지 진입 방법이 있다고 믿는다. 1. 남들보다 일찍 시작하기. 2. 치밀하고 광적으로 학습하기. 1. 남들보다 일찍 시작하기. 필요 요소 : 운, 태도 남들보다 일찍 시작하게 되면, 비교 대상이 없거나 다들..

개발 관련/Agile

Agile_process 3. Daily_scrum & pair-programming

스프린트에 돌입했을 때, 무엇을 해야하는가 Sprint-Backlog대로 개발을 하면 되는데, 그냥 하면 되는걸까요? 앞선 과정을 거치고 개발을 진행한다고 Agile은 아니라고 생각합니다. Agile의 꽃은, Agile한 마음가짐과 태도. 라고 생각한다. Agile한 태도가 무엇인가? 아래는 공격성의 진화 시뮬레이터에 관한 영상입니다. 이게 무슨 상관인가 싶지만, 조직과 관련이 있는 이야기 입니다. 여기서 알 수 있는 점은 아래와 같습니다. 모두가 이타적일 때, 조직은 가장 큰 이득을 볼 수 있다. 이기적인 몇이 존재할 때, 이기적인 사람들만 큰 이득을 본다. => 이기적인 사람들의 비율이 늘어나고 조직은 손해를 본다. 모두가 이기적일 때, 조직은 생존할 수 없다. 모두 착하게 살면, 법이 필요가 없었겠..

코딩 악귀
'분류 전체보기' 카테고리의 글 목록 (5 Page)