백엔드 7

개발자 70명 앞에서 발표한 후기

발표 후기지난 5월 19일에 있었던 [글또 8기 - 백엔드 반상회] 발표 후기를 남겨보고자 한다! 나는 70여명의 개발자 앞에서 '내가 커뮤니티로 성장하는 방법'이라는 주제로 발표를 했다. 아래는 당시 발표하는 모습을 찍은 사진이다. 글또 백엔드 반상회에 대한 설명과 자료는 해당 링크에서 확인할 수 있다. 내가 만든 발표 자료 또한 링크를 통해 확인할 수 있다. 나도 발표를 할 수 있을까?비전공자로서 처음 개발을 시작했을 때, 언젠가 나도 다른 개발자들 앞에서 발표를 할 수 있을까?라는 의문을 가졌었다. 그 당시에는 발표를 한다는 것이 '뛰어난 개발자'의 징표처럼 여겨졌다. 이렇듯 나는 발표에 대한 막연한 동경심을 갖고 있었다. 발표에 대한 욕구가 가장 강하게 일었던 때는 작년 '글또콘'이었다. 당시 성..

시장지표(지수/환율/원자재) 프로젝트 회고

환율, 원자재, WTI 등, 시장지표도 포함시켜 주세요. 위의 문장은 실제 고객이 요청한 내용이다. 나는 '차세대 트레이딩 플랫폼' 서비스를 만드는 백엔드 개발자이다. 우리 서비스는 주식과 가상화폐에 대한 시세 정보, 차트, 종목분석과 같은 투자에 유용한 기능들을 제공한다. 하지만 우리는 지수, 환율, 원자재 같은 시장지표는 아직 제공하지 못하고 있었는데 위에서 언급한 고객 요청사항처럼 양질의 정보를 고객에게 제공하기 위하여 시장지표 프로젝트를 진행하기로 했다. 이번 글은 내가 실무자로서 프로젝트를 어떻게 진행했는지, 그 과정과 배운 것을 정리한 회고글이다. 요구사항 나는 프로젝트의 목적을 다음과 같이 정의하고 목적에 맞게 요구사항을 세웠다. 지수, 환율, 원자재 데이터를 제공하여 고객이 시장지표를 쉽게..

#7_술GO? 하기 전에 회GO!

결과물 사이트 주소 : http://suulgo.s3-website.ap-northeast-2.amazonaws.com/ 깃헙 레포 : https://github.com/Daco2020/27-2nd-SUULGO-backend 고민했던 것들 지난 1차 프로젝트 때 개인적으로 아쉬웠던 점들이 있었다. 노션과 트렐로 툴을 병행하여 트렐로 툴을 적극 활용하지 못한 것 트렐로를 활용하지 못하여 칸반의 진척도를 정확히 파악하지 못한 것 팀원 간 실력차에 의해 업무 공백이 발생한 것 단순 데이터 반환 기능만을 구현한 것 개성 있는 서비스가 아닌 사이트 클론과 기능에 집중한 것 이번 술고 프로젝트에서는 1차 때의 아쉬운 점들을 극복하는데 집중했다. 그래서 이번에는 첫 번째, 트렐로를 과감히 포기하고 노션에서 칸반을 함..

cs에 대한 생각

기업 협업이 내일이면 마지막이다. 기업 협업을 4주간 진행하면서 느낀 점은 cs지식이 실제 실무와 많이 연결되어 있다는 것이다. 예를 들어 나는 개발에서 데이터 저장은 DB만 사용하는 줄 알았는데, 문제를 어떻게 바라보느냐에 따라 DB 외에도 메모리, 파일, 등을 사용할 수 있어야 한다는 것을 알게되었다. 내가 이번에 다룬 주식 호가 데이터는 전형적인 '스트리밍 데이터'로 그 양이 어마어마하다. 이렇게 방대한 데이터를 DB에 그대로 저장하는 것은 좋은 방법이라고 할 수 없다. 왜냐하면 하나의 테이블에 매일 수백만 개의 데이터를 쌓는 것은 데이터 관리나 활용 측면에서 매우 비효율적이기 때문이다. 하지만 이런 데이터를 특정 기준에 따라 여러 파일로 분산 저장한다면 어떨까? 데이터를 관리하기도, 활용하기도 매..

위스타그램 스터디(백엔드) 정리

인스타그램 클론코딩(이하 위스타그램) 13가지의 미션이 주어졌다. 하지만 서비스를 구현하는 프로젝트는 처음이다보니 이 서비스의 목적이 무엇인지, 프로젝트를 통해 내가 무엇을 배울 수 있는지 과제의 의도와 의미를 파악하기가 힘들었다. 그래서 주어진 미션만 하나씩 해결해나가지 말고 동료들과 함께 이번 프로젝트를 전체적으로 분석해보기로 했다. 주말을 이용해 동료를 모아 1시간 조금 넘게 스터디를 진행했다. 스터디 내용은 아래와 같다. 현재 파이썬을 조금 익히고 장고를 배운지 2주차 밖에 안되었기 때문에 틀린 정보가 많을 수 있으니 감안해서 보기를 바란다. 스터디 목적 위스타그램 미션에 대한 의견을 공유하면서 프로젝트에 대한 이해도를 높이기 위함 장고 API 프로세스를 복기하고 위스타그램 프로젝트의 전체 과정을..

'ManyToManyField' 또는 '중간테이블'로 데이터 가져오는 방법

django(장고)에서 만들려는 데이터베이스 테이블의 관계가 n:n 관계, 즉 ManyToMany 관계의 테이블을 생성하는 방법은 크게 3가지가 있다. 1번 >>> 중간 테이블을 만들어 중간테이블이 각각 다른 테이블을 FK로 가져오는 방법 2번 >>> models.py 작성시에 다대다 관계의 테이블 중 하나의 테이블에 ManyToManyField를 사용하는 방법(이 방법은 장고가 자동으로 중간테이블을 생성해준다) 3번 >>> 1번, 2번 모두 사용하는 방법으로 중간 테이블을 만들고, ManyToManyField도 사용하면서 중간 테이블 지정을 미리 만들어둔 중간테이블로 지정하는 방법 *세 가지 방법에 대한 차이점(아래 예제를 보고 오면 이해가 될거에요!) 더보기 차이점1. >>> 1번의 경우 A에서 한 ..

장고 용어 정리

장고를 튜토리얼부터 배우고 있는데 아직 모르는 것 투성이다. 따라는 하는데 이해가 안된다. 그렇다면 이해를 하기 위해 무엇부터 공부해야할까? 문득 '모든 언어는 단어에서부터 시작한다'라는 생각이 들었다. 단어의 뜻을 알아야 문장의 의미를 유추할 수 있다. 의미를 유추하면 그제서야 맥락이 보이기 시작한다. 그렇다면 지금 내가 해야할 것은 장고와 관련된, 특히 자주 쓰이는 용어들의 의미를 파악하는 것이다. 이 글은 생소한 용어들을 하나씩 정리하면서 앞으로 내가 장고를 이해하는데 도움이 되어줄 글이다. 앞으로 주기적으로 업데이트 하면서 새로운 용어는 추가하고 잘못알고 있었던 것을 수정할 예정이다. URLconf (파일명 : urls.py) - 클라이언트로부터 요청을 받으면 가장 먼저 요청에 들어있는 URL을 ..