WECODE 21

2022년 4주차 '인턴십 종료'

Weekly Work 4주간의 인턴십(기업 협업)이 종료되었다. 당시에는 시간이 너무 느리다고 생각했는데, 지금에 와서는 정말 빠르게 지나갔다는 생각이 든다. 아쉬운 게 참 많은 인턴십이었다. 내 실력이 좀 더 좋았다면 더 많이 배울 수 있었을 텐데.. 그 점이 가장 아쉽다. 내가 아는 지식이 협소하니 배울 수 있는 것에도 한계가 있었다. 내가 인턴을 하며 고민한 것들은 다음과 같다. 1. Cybos API는 어떻게 사용할 수 있는가? - 대신증권 예제코드와 비공식 문서를 참고하여 사용법을 익혔다. 2. Flask는 어떻게 사용할 수 있는가? - Flask 공식 튜토리얼을 통해 사용법을 익혔다. 3. Flask안에서 아키텍처는 어떻게 구현할 수 있는가? - '깔파탄백' 책을 따라 하며 레이어 아키텍처를 ..

#3_Faker만 있으면 DB업로드가 두렵지 않아

페이커와의 만남 Faker는 디비에 가짜 데이터를 생성해주는 모듈이다. 맨 아래에 공식 페이지 링크를 남겨놓겠다. 만약 더 쉽게 사용하고 싶다면 구글에 검색해보라. 자주 사용하는 페이커 메서드를 잘 정리해 놓은 블로그들이 많다. 페이커는 1차 때 브랜치 팀에서 데이터를 넣을 때 사용했었다. 그 당시에 우리팀은 모든 상품과 데이터들을 직접 일일이 찾고 직접 입력하는 식으로 진행하였는데 (65개 상품을 입력하는데 하루를 모두 사용했었다..ㅜㅜ) 페이커를 이용한 브랜치 팀은 수십만 개의 데이터를 손쉽게 입력하였다. 그래서 이번에 우리는 페이커를 이용하여 디비에 데이터를 넣기로 하고 여러 글들을 보며 공부를 했다. 그리고 브랜치팀에서 이를 사용했던 도원님에게도 찾아가 조언을 구했다. 페이커는 생각보다 어렵지 않..

#2_모델링 이렇게 해도 되나?

혼돈의 모델링 기존 커머스는 유저가 있고, 카테고리가 있고, 상품이 있고, 장바구니, 주문, 등등으로 나누면 되었는데 매칭 서비스의 경우 기존 커머스 DB 구조와는 맞지 않았다.(테이블은 적지만 더 복잡해진 느낌?) 가장 큰 차이점은 두 가지였다. 하나는 유저와 관련된 정보가 매우 많다는 것이고(사용자의 취향을 모두 저장하므로) 다른 하나는 유저가 곧 상품이라는 것이다. (사람을 '상품'취급하는 것이 이상해 보일 수도 있지만 사람과 사람을 이어주는 것이므로 그런 의미로 서로 받아주시면 감사하겠다) 우리는 우선 유저의 회원가입정보와 함께 가입 시 유저가 작성한 취향 정보도 모두 하나의 테이블에 넣었다.(이때의 결정이 이후 디비를 갈아엎는 원흉이 되었다.) 그리고 중복선택이 가능한 항목들은 모두 다대다 테이..

#1_코딩하다 지친 당신.. 술 GO?

2차 프로젝트의 시작 2차 프로젝트가 시작되었다. 새로운 인원들과 조를 이루었고 우리가 받은 과제는 고수를 찾아 매칭 해주는 서비스 '숨고'였다. 일단 우리는 '숨고' 사이트를 살펴보기 시작했다. 나는 사용자가 직접 입력한 선택지들을 통해 누군가와 연결시켜주는 매칭 서비스가 인상적이었는데, 이 외에도 상대방과의 채팅 기능, 자신을 홍보하는 포스팅, 등 다양한 기능들이 있었다. 우리가 하기에 난이도가 너무 높아 보였다. 우리 팀 PM인 유진님이 숨고 싶다고 표현할 정도..ㅎ 우리는 우리가 할 수 있는 선까지만 하기로 하였고 이왕이면 재밌게 해보고 싶어서 기존 컨셉을 완전히 바꾸기로 했다. 그중에는 여러 가지 아이디어가 있었다. 숨고 싶다 : 심리상담사 매칭 서비스 만나고 : 소개팅 매칭 서비스 숨고 : 술..

RESTful 도대체 뭐냐고...

뭔가를 듣고 배운 것 같고 개념도 이해가 되는 것 같은데 뭐가 뭔지 모르겠는 것이 왔다. 그건 바로 RESTful 이다. 일단 이름부터가 마음에 안든다. 뭔지 모르겠다. 풀어보자면 Representational State Transfer 이라고 한다. 네이버 사전에 찾아보니 [확장성 생성 언어(XML) 파일로 된 웹 페이지를 읽어 원하는 정보를 수집하는 기능.] 라고 한다. 한글을 봐도 모르겠다. 공부를 해도 잘 모르겠어서 뭐라 딱 정의하기는 어렵고 그냥 일단 현재까지 공부한 내용을 정리해보겠다. (글 마지막 쯤에는 조금 이해가 됬을지도..?) REST 3가지 구성 요소 1. 자원(Resource) : HTTP URI (특정 자원의 위치 주소) 모든 자원에 고유한 ID가 존재하고, 이 자원은 Server..

m1 맥북 ip주소 확인하는 방법 2가지 + ifconfig 에러 해결

맥북에서 ip주소를 확인하는 방법을 알려주겠다. 첫 번째는 시스템 환경설정에서 확인하는 방법이다. ip 주소가 딱 보인다. 두 번째는 터미널에서 확인하는 방법이다. 터미널에서 ifconfig | grep inet 이라고 치면 중간에 ip주소를 확인할 수 있다. 하지만, but 이렇게 명령어를 입력해도 찾을 수 없는 오류가 날 수도 있다. 이런 경우에는 터미널에 vi ~/.zshrc 명령어를 입력하고 환경변수를 열어 새로운 경로를 추가해야 한다. #zshrc export PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin" 추가한 후에는 위에 위에 처럼 정상적으로 작동하는 것을 볼 수 있다.

11개 기업 개발문화 엿보기

2021년 11월 27일 토요일 오후 4시~5시 30분 11개 기업의 개발문화를 주제로 다룬 글들을 읽고 동기 12명과 함께 자체 세션을 진행하였다. 아래는 해당 세션에 대해 정리한 글이다. 세션 목적 팀프로젝트에 들어가기에 앞서 우리의 소통방식과 기업 개발문화에 대해 알아보기 위함 선배기수의 조언대로 성공적인 프로젝트를 위해 소통능력을 기르기 위함 각자의 경험과 생각을 공유하며 서로를 더 잘 이해하기 위함 세션 내용 좋은 개발문화의 공통 키워드 목적, 목표, *OKR, 고객, 영향 공개, 공유, 투명성, 신뢰, 효율 페어 코딩, 코드 리뷰 스프린트, 애자일, mvp, 칸반 실수, 실패나눔, *포스트모템 *OKR이란? → 참고 글 *포스트모템이란? 개인의 잘잘못을 따지기 보다는 문제해결과 근본 원인에 집..

git 이것만 알면 돼!

git 기본 명령어 정리 1. 원하는 디렉토리로 들어가 git 초기화하기(깃 연동 준비) git을 사용하기 위해서는 우선 원하는 디렉토리(폴더)로 들어가 git을 초기화 해주어야 합니다. 초기화라고 해서 어렵게 생각하지 마시고 github과 연동하는 준비단계라고 봐주시면 됩니다. "이제부터 이 폴더를 github과 연동할거야"라고 선언하는 것이죠. git init 2. git 연동하기 연동할 준비를 마쳤으면 실제로 연동합니다. 깃헙의 레파지토리의 주소를 복사해 아래 명령어와 함께 실행합니다. git remote add origin [깃헙 레파지토리 주소] 3. git 올리기 그리고 log 확인 작업한 내용을 github에 올리기 위해서는 아래 세 단계가 필요합니다. 첫 번째는 git add입니다. 어떤 ..

[TIL]django__데이터 중복_IntegrityError_ValidationError

오늘 배운 것 회원가입 시 이메일 정보가 중복되면 에러로 반환하고 싶다. 장고 view에서 데이터의 중복을 확인하는 방법에는 여러 가지가 있는데 한 번 살펴보자. 처음에 나는 회원정보가 있는 Member테이블에서 email 칼럼의 값을 리스트 형태로 가져와 변수에 저장했다. 그리고 요청받은 email 데이터가 해당 리스트에 있는지 확인 하는 식으로 코드를 작성했다. 코드는 다음과 같다. email_list = Member.objects.values_list("email", flat=True) if data['email'] in email_list: # data['email']은 요청받은 이메일 정보이다. return ~~ 그리고 동료로부터 배운 두 번째 방법은 exists()매서드를 활용에 중복 여부를 ..

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

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