Giter Site home page Giter Site logo

seminar-2020's Introduction

seminar-2020's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

seminar-2020's Issues

409 Conflict status code 시에 user table의 id 값이 사용되는 현상

회원가입 API 구현 시에 IntegrityError를 409 Conflict로 잡았기 때문에 POSTMAN을 통해 같은 아이디를 생성하려고 하면 해당 에러 status code가 잘 뜹니다.

다만 그 후에 다른 아이디로 회원가입을 하면 auth_user table의 id가 건너뛰는 것을 볼 수 있는데요,

만약 요청을 받을 때마다 id에 할당되는 거라면 왜 그래야 하는지 궁금합니다!

아래 사진은 id=1인 첫 번째 user (yeonghyeon) 생성 후 5번의 Conflict를 만들고 username을 변경하여 id=6이 생성된 상황입니다.

id=10 user 또한 id=7 user를 생성하고 2번의 Conflict를 만든 후 생성한 row입니다.

image

kotlin의 randomInt

google codelabs의 Android Studio tutorial에서 [1,6]내의 random int 를 생성하는 과정을 다음과 같이 하고 있습니다.

randInt: Int = (1..6).random()

그런데 여기서 randInt라는 변수명은 다음과 같이 자동완성에 존재하고 있습니다

스크린샷 2020-09-04 오전 2 18 52

그런데 처음 만드는 그냥 변수명을 자동완성한다는 것이 이해가 안되서 검색했으나 왜 그런지 알지 못했습니다.
그냥 kotlin file에서eh randomInt라는 변수명이 자동완성에 나옵니다.

이 자동완성을 무엇일까요..?

mysqlclient 설치

required.txt 에 있는 사항들 중에, mysqlclient를 설치하는 중에 문제가 생겨서, 구글링을 통해 다음과 같은 명령을 수행한 후 설치했습니다.

sudo apt-get install libmysqlclient-dev

이후에는 정상적으로 설치할 수 있었습니다.

제가 질문드리고 싶은 것은, 이제 Mysql을 설치하려고 할 때, 혹시 앞의 명령 때문에 충돌 같은 것이 일어나지 않을까요?
그리고, Mysql의 경우 가상환경에서 설치해야 하나요? 아니면 원래 머신에 설치해야 하는 건가요?

Ubuntu에서 Django migrate시 Access denied 오류가 뜨는 경우

한 곳에서 계속 막히는데 구글링으로 잘 찾지 못해서 Issue에 등록하였습니다.
현재 Ubuntu 멀티부팅으로 설정해놓고, assignment 3번까지는 완료했습니다.
4번 진행중인데,
python3 manage.py migrate 명령어로 migrate을 시도하였습니다. 하지만 그럴 때마다
django.db.utils.OperationalError: (1045, “Access denied for user ‘waffle-backend’@‘localhost’ (Using password: Yes)”)
라는메세지가 뜨면서 오류가 발생합니다

혹시 몰라서 sudo로도 실행해 보았는데, 그 경우에는 Django 모듈을 인식하지 못하는 듯한 메세지가 떴습니다
(정확히는 “ImportError: Couldn’t import Django. Are you sure it’s installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?” 입니다)

현재 가상환경은 활성화 해놓은 상태이며, requirements.txt의모듈도 모두 설치한 상태입니다.
혹시 피드백 주실 수 있으시다면 정말 감사하겠습니다.

읽어주셔서 감사합니다.

(옮김) HTTP는 크게 Header와 Body로 이루어지는데, Postman의 response를 보면 왜 Cookies가 따로 있나요?

이번 세미나부터는 세미나 이후 참여가 자유인 질의응답 시간을 따로 가집니다. 물론 개인 일정, 다음 세미나 등으로 참여가 어려운 분이 있을 수 있습니다. 이 내용은 오늘 Backend 세미나 이후 질의응답 시간 중 나온 질문인데 제가 좀 더 찾아보고 정리해 말씀드리겠다고 한 질문입니다. 원문은 아니고 해당 질문의 내용을 제가 기억하는대로 짧게 옮겼습니다. HTTP에 대한 내용이라 frontend, android, backend 등 여러 영역에 해당될 질문이라 general로 label을 달았습니다.

HTTP는 크게 Header와 Body로 이루어져있는 것으로 알고 있습니다. 그런데 여기서 Postman의 response(하단부)를 보면 Cookies와 Headers가 나눠져있습니다. 이는 어떻게 된 것인가요?

스크린샷 2020-09-05 16 20 13

4번질문

3번까지는 버전도 다 맞고, user password privilege까지 다 진행했습니다.
4번을 진행하는데 다음과 같은 에러가 뜹니다. 원래는 survey를 못찾았다가, survey를 설치하니 survey.app가 업다는 에러가 뜹니다...
no module survey

어제 저녁부터 저 상태였는데 하루종일 구글링하고 고쳐봐도 답이 안나와 올립니다...
별거 아닌 내용시, 구글링 팁이라도 주시면 감사하겠습니다.
os는 윈도우입니다.

3번 mysql 설치 후 root의 늪에 빠졌습니다

처음에 ubuntu local환경에서 mysql을 설치했습니다. 이후에 여러 시도를 해보다가, pyenv에서 조성한 가상환경에서 mysql을 설치했습니다.

그런데 그 '자주색 화면' 초기 비밀번호를 설정하라는 창을 본 적이 한번도 없습니다.

그런데 이후로 mysql 삭제를 해도, 재설치를 해도, 패스워드 초기화가 안됩니다.

패스워드를 안 치고 enter를 눌러도, 제가 혹여나 실수로라도 눌렀을 법한 어떠한 암호들을 눌러도

(test) snu231@DESKTOP-9HB7C0C:/mnt/c/Users/sewonlee/Desktop/waffle-rookies-18.5-backend-0$ mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

위와 같이 나옵니다.

https://xe1.xpressengine.com/tip/19378819

(test) snu231@DESKTOP-9HB7C0C:/mnt/c/Users/sewonlee/Desktop/waffle-rookies-18.5-backend-0$ killall mysqld
mysqld: no process found
(test) snu231@DESKTOP-9HB7C0C:/mnt/c/Users/sewonlee/Desktop/waffle-rookies-18.5-backend-0$ ps -ef |grep mysql
snu231 31641 30279 0 06:14 tty3 00:00:00 grep mysql

kill 후에 ps -ef |grep mysql를 입력하면, 아무것도 안 떠야 정상인 걸로 압니다.
그런데 위와 같이 구동되는 게 하나가 남아 있습니다.
이 때문에, 비밀번호 재설정 과정을 진행하지를 못합니다.

한편, 제어판 '관리 도구'의 '서비스'로 들어가면 mysql 이름이 붙은 파일이 하나도 안 보입니다.

그래서 혹시 mysql이 설치가 안됐나 의심을 했지만, 그건 아닙니다.

Kotlin 에서 파일의 위치를 스트링으로

Kotloin tutorial 에서 다음과 같이 randomInt의 값에 따라 dice image를 바꾸고 있습니다

스크린샷 2020-09-04 오후 8 18 06

이렇게 일일이 하는 대신 이 경로를 다음의 string을 이용해서 나타내는 법은 없을까요?

"R.drawable.dice_" + randomInt.toString()

주의할 점에 대해서 이해가 안되는 부분이 있습니다.

"이 repo를 clone하되 로컬에 생성된 waffle_backend에서 바로 작업하지 마세요. 아래 '제출 방식'을 통해 생성한 본인의 waffle-rookies-18.5-backend-0 repo를 로컬에 clone하고, 그 directory 바로 하위에 waffle_backend 를 복붙하여 작업을 시작하세요."
두번째 주의할 점에 이렇게 적혀 있는데 backend-0 repo 는 어떤 repo인가요? seminar0 폴더안에 waffle_backend폴더가 있고, 그 폴더 안에 또 다른 waffle_backend 폴더가 있어서 헷갈립니다.

서버의 포트

서버의 포트를 3306에서 8001로 바꾸는 이유는 무엇인가요? 바꾸지 않으면 어떤 문제가 생기는 것인가요?

그리고 우리가 과제를 할 때 TCP/UDP 중에서 TCP를 사용한 것이 맞나요?

mysqlclient 다운로드가 되지 않습니다.

스크린샷, 2020-09-04 03-07-30

아래 이슈들 전부 읽어보아도 해당 에러를 해결할 수 없었습니다 ㅠㅠ

구글링도 계속 해봤으나, 마땅한 해결방법을 찾지 못했습니다...

우분투 20.04 LTS 사용중이며, 파이썬 3.8.3 및 pip3 20.2.2 입니다.

Backend 과제 0 관련 사소한 팁들

사실 구글링하면 금방 해결하는 것들이고, 별거 없긴 하지만 귀찮은 에러들이라 공유드리면 좋을 것 같아 공유합니다.
환경 설정 관련 문제는 제외하고 올립니다.
저와 환경이 다르신 분들께는 아래 적은 해결책이 먹히지 않을 수도 있습니다.

참고로 저는 windows 10, Python 3.8.5를 쓰고있습니다.
평소에는 그냥 cmd에서 작업하고 필요할 때 종종 wsl을 켜서 하는 편입니다.

5번 과제 중 : Exception: Please specify path of directory including 'example_surveyresult.tsv'!

여러분들이 복사해오신 데이터 파일, example_surveyresult.tsv의 경로를 지정해주셔야 합니다.
waffle_backend\survey\management\commands\download_survey.py의 9 line에 갑니다.
주석에 나와있다시피 경로를 지정해 주어야 합니다.
path='.'으로 manage.py와 같은 경로에 있다고 말해주면 끝입니다.

5번 과제 중 : UnicodeDecodeError

인코딩 문제입니다.
waffle_backend\survey\management\commands\download_survey.py의 18 line에 갑니다.
with open(tsv_file) as f:
with open(tsv_file,encoding="utf-8") as f: 로 바꿔주시면 됩니다.

6번 과제 중 : surveyresult 테이블의 data들이 이쁘게 나오지 않는 경우

마지막 데이터, say_something에 '\n' 이 포함되어 있어 줄바뀜이 일어나 table이 이쁘게 나오지 않습니다. 이 경우 아주 찝찝하게 결과가 나오기 때문에 '\n'을 제거해 주어야 합니다.

waffle_backend\survey\management\commands\download_survey.py의 23 line에 갑니다.

data = line.split('\t')
data = line.replace('\n','').split('\t')로 바꿔주시면 됩니다.

10번 과제 중 : README 이쁘게 꾸미기

md 파일은 단순히 텍스트만 저장하는 것이 아닌, 마크다운이라는 특수한 문법을 지원합니다.
아주 간단하니 참조 링크를 보시거나 구글링으로 필요한 것들을 적용하다보면 금방 익히실 수 있습니다.
이를 통해 본인의 README.md를 이쁘게 꾸미시면 기분이 좋아집니다.
+github 이슈, 노션도 markdown 문법을 지원합니다.

+또 생각나는 게 있다면 추후 업데이트 하겠습니다. 당장은 이정도가 전부인 것 같습니다.

주의할 점에 대해서 이해가 안되는 부분이 있습니다

"이 repo를 clone하되 로컬에 생성된 waffle_backend에서 바로 작업하지 마세요. 아래 '제출 방식'을 통해 생성한 본인의 waffle-rookies-18.5-backend-0 repo를 로컬에 clone하고, 그 directory 바로 하위에 waffle_backend 를 복붙하여 작업을 시작하세요."
두번째 주의할 점에 이렇게 적혀 있는데 backend-0 repo 는 어떤 repo인가요? seminar0 폴더안에 waffle_backend폴더가 있고, 그 폴더 안에 또 다른 waffle_backend 폴더가 있어서 헷갈립니다.

MySQL 설치가 안되고 있습니다

안녕하세요, 백엔드 세미나를 듣고 있는 이성민입니다.
운영체제는 윈도우10이고 파이썬 3.8.3을 설치 했습니다.
하지만 MySQL 설치에 문제가 계속 발생하고 있습니다.
MySQL Installer로 다시 설치를 하는 과정에서 MySQL Router, Connector/C++ 8.0.21, Connection/NET 8.0.21, 그리고 Connector/Python 8.0.21이 계속 설치가 안됐다고 뜹니다.
이런 문제를 어떻게 해결 해야하는지 잘 모르겠습니다.
혹시 이해에 도움 될 만한 자료가 있다면 읽어보겠습니다.
감사합니다.

Postman 질문

질문

"GET /api/v1/survey/와 GET /api/v1/survey/{surveyresult_id}/를 호출하고 그 결과가 보이는 화면이 포함된 스크린샷"을 찍으라고 하셨는데, 이러한 코드의 body 부분을 캡쳐하면 되는 것인지 궁금합니다. 우측에 404 not found error가 발생하는데 잘못된 결과물인 것인가요?

백엔드 6번 관련

안녕하세요,
6번 과제에 대해서 질문이 있어요. MySQL CLI에서 survey_surveyresult 테이블을 출력을 하는 과정에서 한글 캐릭터가 이상하게 출력이 되고 있어요.
이 문제를 고치려고 waffle_backend 데이터베이스와 survey_surveyresult 테이블의 character set 과 collation을 바꿨는데도 문제가 발생하고 있어요.
image
image
이런 식으로 character set과 collation을 바꿨는데, 한글로 출력을 하려면 character set과 collation을 다른것으로 바꿔야 하나요?
감사합니다.

shell에서 mysql에 접속을 어떻게 해야 할까요?

mac 을 쓰고 있습니다.
database를 만들기 위해서 mysql에 connect하려는데 안되고 있습니다.ㅠㅠ
https://dev.mysql.com/doc/refman/8.0/en/connecting-disconnecting.html
위 링크를 보면서 terminal 에서 waffle_backend % mysql -h localhost -u waffle-backend -p 를 입력하고, password를 seminar로 했는데, 아래와 같이 ERROR 1045 (28000) 에러가 났습니다.
Screen Shot 2020-09-04 at 12 41 02 AM

stackoverflow 에서 https://stackoverflow.com/questions/10299148/mysql-error-1045-28000-access-denied-for-user-billlocalhost-using-passw 찾아보니 "The recommended solution is to drop this anonymous user (this is usually a good thing to do anyways)." 라고 하던데, 무슨 말인지 모르겠습니다..

질문 등록 방법

질문 등록 방법

세미나와 관련된 질문은 현재 위치인 rookies repository의 issue로 남겨주시면 됩니다.
모든 세미나가 레포지토리를 공유하므로 labeling을 잘 해주시기 바랍니다.

Labeling

스크린샷 2020-08-22 오후 3 10 45

labeling은 issue를 생성한 뒤 생성한 issue 창에서 위와 같이 설정 할 수 있고 필수 labeling 종류는 다음과 같습니다.

  • general: 세미나 전반적인 질문사항
  • android: android 질문
  • frontend: frontend 질문
  • backend: backend 질문

모든 이슈는 다음 네가지 label 중 하나가 꼭 붙어있어야 합니다.
만약 labeling이 되지 않았을 경우 답변이 달리지 않을 수도 있습니다.

postman에서 GET /api/v1/survey/{surveyresult_id}/ 실행 도중 value error 발생

GET /api/v1/survey/ 는 정상적으로 출력이 되는데 GET /api/v1/survey/{surveyresult_id}/의 경우 value error가 발생합니다.
ValueError: invalid literal for int() with base 10: '{surveyresult_id}'

해당 에러가 어느 부분에서 발생하여 문제가 되는지를 파악하기 힘들어 issue에 올립니다.

에러 메세지를 모두 기재하기에는 너무 길어 postman과 terminal에 표시된 에러 메세지를 파일로 따로 첨부하겠습니다.

작업 환경은 ubuntu 20.04 입니다.
특이사항으로는 python 3.8.3에서 pip가 에러가 발생하여 python 3.8.2로 진행한 점이 있습니다.

postman_error.txt
terminal_error.txt

2차 세미나와 snupc대회가 겹칩니다.

9월 12일 토요일 2차 세미나 일정이 잡혀있는 시간에 snups동아리에서 진행하는 snupc대회가 오후 1시부터 5시까지 진행됩니다.
snupc대회로 인한 세미나 불참이 적절한 불참 사유가 될 수 있을지 궁금합니다!

user name 및 download_survey

4번에서 user name이 과제에서는 waffle-backend라고 되어 있지만 아래 그림과 같이 -를 name에 쓸수 없어 waffle_backend라고 user 이름을 짓고, settings.py에서 다음과 같이 waffle_backend라고 임의로 바꾸어 migration 했습니다.
mysql no name
databases
이렇게 이름을 임의로 해도 되는지 여쭙고 싶고

download-survey

4번을 끝내고 바로 5번을 넘어갔는데, 5번에서는 download_survey command가 이미 들어가있다고 되어 있는데, 없습니다...

command 관련하여 구글링해보고 장고 문서도 읽었는데, download_survey command가 어느 경로로 미리 깔려있게 되는건지에 대해서는 여전히 잘 모르겠습니다ㅠ

구글링 팁을 주셔도 감사하겠습니다:)

서버의 포트를 8001로 바꾸는 법(?)

서버의 포트를 3306(기본) 에서 8001로 바꾸는 데 문제를 겪고 있습니다.
저의 환경은 macOS, Catalina 10.15.2 입니다

제가 검색을 해서 시도한 방법은 다음과 같습니다

  1. my.cnf 파일 바꾸기

/usr/local/etc/my.cnf 파일을 다음으로 바꾸었습니다

스크린샷 2020-09-01 오후 1 35 55

원래는 port 항목이 없었는데, 제가 추가했습니다

  1. .com.oracle.oss.mysql.mysqld 파일의 port 항목을 바꾸기

여기에는 아예 port 항목이 없었습니다. 또 어떻게 넣어야 할지도 알 수가 없었습니다

스크린샷 2020-09-01 오후 1 38 29

그래서 현재 port는 계속 3306입니다

스크린샷 2020-09-01 오후 1 39 12

어떤 방법을 시도하면 좋을까요?

몇가지 의문점들을 공유하고자 합니다

  1. mac 에서 Postman실행시 실행중임을 표시하는 Dock위의 점이 나타나지 않는 이유는?

  2. Postman에서 http://localhost:8001/api/v1/os/12 처럼 뒤의 /울 빠뜨릴 경우 두번의 쿼리가 보내져서
    에러가 한 번 난 다음에 정상적으로 작동되며 2번의 기록이 나는데, Postman이 자체적으로 뒤의 /을 빠뜨리는 오류는 수정하는 것일까?

그런 게 아닐까 생각합니다

  1. Datagrip에서 서버의 properties에는 url이 jdbc:mysql://localhost:3306이라고 나오는데, 왜 terminal에서는 http://로 시작하는 url을 알려줄까? 그리고 Postman에는 terminal의 url만 작동되는데, Datagrip에 있는 url은 어디에 쓰는 걸까?

지금까지 제가 이해한 바로는 Postman이 web UI에 맞춘 서비스를 제공하기 때문인 것 같습니다. jdbc는 자바로 DB에서 작업하는 표준 SQL 인터페이스 API이기 때문입니다

Routers 질문

안녕하세요, Django 관련 Documents를 읽다가 Routers가 정확히 뭔지 감이 안 잡혀 질문 드립니다.

  1. Routers가 REST Framework에서 URL에 따라 로직이 실행될 수 있도록 자동으로 라우팅하는 기능이라고 설명되어 있는데 대충 감으론 알겠지만 명확하게 뭔지 파악이 안됩니다. 혹시 이번 과제와 관련하여 설명해주실 수 있으신가요?

  2. 예시 코드들을 보니 보통 router.register()를 보통 router.register(r'users', UserViewSet) 이런 식으로 사용하는 것 같습니다. 근데 저희 survery/urls.py에서는 prefix 앞에 r 없이 router.register('survey', SurveyResultViewSet, basename = 'survey') 이렇게 쓴 것 같은데 prefix 앞의 r은 어떤 걸 의미하고, 어떨 때 사용하는 건지 궁금합니다!

감사합니다 :-)

CSRF token 받아오는 방법 질문드립니다

HW0과 관련없는 질문입니다.

저도 개인적으로 @davin111님에게 질문이 있는데요

혹시 장고에서 CSRF token을 어떻게 관리하시나요?
이번 과제 소스코드에는 CSRF token을 전달하는 부분이 없어서요

저는 이전까지 CSRF token을 전달하는 endpoint를 만들고 해당 endpoint를 이용해 CSRF 토큰을 받아오는 식으로 짰었는데
조금 안 좋은 방식인 듯 하네요

아마 내일 세미나에서 POST등의 request를 날릴때 CSRF token을 사용할텐데 좋은 방식 있으면 공유해주세요. 🧇👍

4번 수행중 ImportError, NameError 가 나옵니다

지금 제 상황은, 언급된 조건(packages)을 만족한 virtualenv에서 작업하며

스크린샷 2020-08-31 오후 4 57 29

스크린샷 2020-08-31 오후 5 00 41

이와 같이 user, DB, 그리고 password까지 setting.py에 맞게 설정한 상태입니다.

그런데 python manage.py migrate을 실행하면

스크린샷 2020-08-31 오후 5 01 53

이런 오류메세지가 나옵니다

즉 위 4번째 줄의 Importerror 와 마지막 줄의 Nameerror가 일어났습니다

그 내용은 각각 다음과 같습니다

스크린샷 2020-08-31 오후 5 09 07

스크린샷 2020-08-31 오후 5 09 22

이를 위해서 제가 시도한 방법은 다음과 같습니다

  1. bash_profile 파일 변경
    ->nano .bash_profile로 열어서
    MYSQL=/usr/local/mysql/bin
    export PATH=$PATH:$MYSQL
    export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH
    를 넣었는데, source .bash_profile을 적용하자 python , pip 등이 unknown command 라고 나오면서 아예 manage.py를 열 수 없습니다

  2. /usr/local/lib 에 usr/local/mysql/lib/*을 복사하기
    -> shell로 하면 not permitted라는 에러가 나와서 그냥 수동으로 넣었는데, 효과가 없었습니다

혹시 문제가 무엇이고, 어떻게 해결할 수 있을까요?

백엔드 8-9번에 대해서 질문이 있습니다

views.py에서 OperatingSystemViewSet 클래스를 작성하려면 serializers.py에 있는 OperatingSystemSerializer를 써야해서, import serializers를 파이썬 파일에 작성을 했습니다.
하지만 runserver를 다시 해보니까 serializers라는 모듈이 없다고 ModuleNotFoundError가 생성이 됩니다.
serializers.py를 바꾸지 않았고, serializers와 views는 directory안에 같은 레벨에 있는데 문제가 왜 발생 하는지 잘 모르겠습니다.
init.py에 문제가 있어서 그런것같은데, 어떤 문제인지 알려줄 수 있나요?
에러 메시지가 길어서 텍스트 파일로 첨부 했습니다.
No8_Error.txt

Repository 생성 시 .gitignore template에 대한 tip

[waffle-rookies-18.5-frontend-1] Repository를 만드는 과정에서 백엔드 과제(waffle-rookies-18.5-frontend-0)의 지시사항에서처럼 .gitignore를 생성하려고 하는 분들을 위한 tip입니다.

javascript projects를 위한 좋은 .gitignore template이 있어 공유하고자 합니다.

더 자세한 내용은 GitHub Document Ignoring files참고하시면 될 것 같습니다!

백엔드 과제에 관한 질문입니다.

안녕하세요, 백엔드 세미나를 듣고 있는 임중빈입니다.

운영체제는 윈도우10이고, 아나콘다, 파이썬 3.8.5, mySQL은 설치했습니다.

파이썬 및 서버/데이터베이스 등에 대한 배경지식이 전혀 없어서 과제 전반적인 내용을 이해하기 힘들어 이슈를 작성합니다.

현재 2번(가상환경 세팅)은 해결한 것 같습니다(아나콘다의 프롬프트를 이용했습니다).

3번의 "settings.py에 명시된 DATABASES 설정대로 서버가 DB와 연결을 맺도록 해야합니다."에서부터 의문점이 생겼습니다.

  1. settings.py에 명시된 설정대로 DB를 만드는 방법(mySQL CLI의 어떤 명령어를 사용하는지?)과, 이 DB를 서버와 연결하는 방법이 무엇인가요?

(3번의 이후 부분에서 요구되는, mySQL CLI를 이용하여 user/password를 생성하고 이미 존재하는 database에 대한 권한을 주는 방법은 검색하여 알게 되었습니다.)

  1. 과제 2번에서 만든 가상환경 내에서(?) 3번 이후의 문항들을 수행해야 하는 것인가요? 3번 이후 문항들이 잘 이해가 되지 않아 2번의 가상환경과의 연관성을 정확히 모르겠습니다.

이해도가 부족해 질문이 모호한 점 양해 부탁 드립니다.
혹시 이해에 도움될만한 자료들이 있다면 열심히 읽어보겠습니다.

항상 좋은 답변 감사합니다.

Github Desktop을 통한 파일 관리 질문

제가 .gitignore를 설정하기 전에 파일을 먼저 remote repo에 올려버려서 local repo에는 파일을 남겨두고 remote repo에 있는 파일만 지우는 방법을 찾아보니 CLI에서는 git rm --cached를 사용하면 된다는 것을 알게되었습니다.

그런데 똑같은 기능을 github desktop에서는 찾지 못하고있는데, 위 기능은 명령어만을 통해서 가능한 것인가요? 아니면 명령어를 사용하지 않고 GUI에서 똑같은 기능을 할 수 있는 옵션이 있나요?

리눅스 초기설정 질문 (소리가 안나는 문제)

세미나와는 큰 관련이 없지만, 윈도우에서 리눅스로 갈아타는 도중에 생긴 문제여서 질문드립니다.

현재 윈도우/우분투 20.04.1멀티부팅을 사용중이며 파빌리온 15-cs3014tx노트북을 사용중입니다.

우분투에서 소리가 나지 않습니다. 윈도우에서는 잘 됩니다.

구글링을 통해 alsamixer도 만져보았지만 크게 효과는 없었습니다.

image

헤드셋을 따로 연결해보았을때, 소리가 매우매우작게 들리고, 설정창에서 소리 크기를 150%로 설정해주어야지 들리는 수준이었습니다.

하지만 헤드셋을 빼고 소리를 150%로 설정해주어도 소리가 들리지 않습니다.

zoom연결을 통해 마이크가 되는 것은 확인하였습니다.

image

설정창에서는 소리가 나온다고 표시가 되지만 소리가 나지 않습니다.

혹시 해결방법을 알 수 있을까요?

7번관련

8001포트로 접속 후 postman에서 7번을 실행하였는데,
/api/v1/survey/는 다음과 같이 뜹니다. 그런데 이전 #75 질문에서 보인 body와 200이 보이지 않아 이렇게 하는게 맞는지 올립니다
survey
그리고 /api/v1/survey/{surveyresult_id}/에서 마지막 /{surveyresult_id}/가 어떤 걸 의미하는지 잘 모르겠는데, 구글링 용어를 잘 모르겠습니다.ㅠ 어떤걸 검색해야하는지 알려주시면 감사하겠습니다. 현재는 /api/v1/survey/{surveyresult_id}/그대로 쓰면 ValueError가 뜹니다..
surveyresult

migrate 시 "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)" 오류 (임시해결)

backend 과제를 3번까지 모두 수행한 이후, 4번 수행 중 오류가 발생하였습니다. migration을 위해
python manage.py migrate
을 수행하였으며
django.db.utils.OperationalError: (2002, "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)")
라는 에러메세지가 나타납니다. 구글링 결과, mysql이 제대로 실행되지 않았을 수 있다고 하여
sudo service mysql restart
를 실행한 후 다시 시도하였으나 여전히 해결이 되지 않습니다.
스크린샷, 2020-09-04 17-55-43
Ubuntu 20.04 사용 중이며, Anaconda를 이용해 Python과 Django 등을 설치하였습니다.

Assignment 제출 시 PR 여부

과제를 마쳤다면 collaborator 분들을 reviewers로 지정해서 PR한다음 approve를 받나요 아니면 어차피 개인 repository니깐 따로 PR 필요 없이 merge하면 되나요?

여기서의 PR 대상은 wafflestudio/rookies가 아닌 {rookie}/waffle-rookies-18.5.-backend-0 입니다.

백엔드 github repo 올리는 방법

로컬에 있는 waffle-rookies-18.5-backend-0폴더를 github에 올라가 있는 동일한 이름인 private repo로 올리고 싶은데, 어떻게 해야 하나요?
https://gist.github.com/alexpchin/102854243cd066f8b88e
이 링크를 보고 따라하고 있었는데
git remote add origin
이 부분에서 막혀서 질문 드립니다.
이런 에러가 떠서 더 진행을 못하고 있었습니다.
fatal: remote origin already exists.

Assignment용 Repository에 대한 질문

지난주에 waffle-rookies-18.5-backend-0 private repository를 개설하여 assignment를 수행한 상태입니다.

과제 명세를 살펴보니 매번 새로운 repository를 생성해야하는 것 같은데, 그렇다면 지난 repository가 많이 쌓일텐데 삭제하는 것이 좋나요 아니면 그냥 놔두는 편이 좋나요?

django 디버그 툴바 질문

가상환경에 디버그 툴바를 설치하고, setting.py에 있는 그대로 돌렸더니 서버에서 보이지 않더라구요.

이것저것 시도해본 결과, settings.py의 if DEBUG_TOOLBAR: 부분을 주석처리하고,
직접 INSTALLED_APPS 와 MIDDLEWARE, INTERNAL_IPS를 추가해준 다음,
urls.py의 if settings.DEBUG_TOOLBAR을 if settings.DEBUG로 바꿔주면 되긴 했습니다.

물론 DEBUG 자체가 true로 설정되어있기에 상당히 잘못된 방법인 것 같은데..

아무리 구글링을 해봐도 왜 기존 방식으로 돌리면 디버그 툴바가 보이지 않는지,
왜 저 요소들을 append하면 안돌아가는데 직접 붙여주면 돌아가는지 도무지 모르겠네요.

혹시라도 아시는 계시거나 같은 오류가 발생하신 분들 계시다면 도움 부탁드립니다.

2번째 회원가입 시부터 csrf 토큰이 요구됩니다.

3번째 과제를 위해, postman을 통해 POST /api/v1/user/ API를 날려주었습니다.

그런데 1번째 회원가입 시에는 csrf 토큰이 요구되지 않은 것으로 기억하는데,
2번째 회원가입 시에는 csrf 토큰이 요구됩니다.

정상적인 상황인지, 왜 이런건지 궁금합니다.

8-9번 질문

현재 views.py 내부에 OperatingSystemViewSet class를 만들어 os data를 rest api로 표현하도록 코드를 작성하고 있습니다. 그런데 튜토리얼을 참고해도 잘 모르겠는 부분이 있어서 질문 드립니다.

  1. urls.py가 waffle_backend와 survey 폴더 둘 다에 있는데 두 파일 모두 수정해주면 되는 것인지 궁금합니다. 기존에 작성하신 path와 유사하게 작성을 해도 connect ECONNREFUSED 127.0.0.1:8001 에러가 발생합니다.
    path('api/v1/'), include('survey_operatingsystem.urls'), <- 이런 방식으로 작성하는 게 아닌가요?
    TypeError: _path() missing 1 required positional argument: 'view' <-이전 line에서는 view를 따로 받지 않아도 문제가 없었는데 왜 view를 받으라는 에러가 발생하는 것인가요?

  2. views.py에서 OperatingSystemViewSet을 짤 때 어떻게 operatingsystem_id에 접근할 수 있는지 모르겠습니다. SurveyResult가 있는 models.py 파일에는 os의 id는 멤버 변수가 아닌데 어떻게 접근할 수 있나요?

Assignment 제출 관련 질문

사소할 수도 있는 질문이지만, 궁금해하시는 분들도 있을 것 같아 Issues에 남깁니다.

Assignment 제출 시, 제출을 늦거나 모두 수행하지 못하는 경우도 있을 것 같습니다.

만약 due를 어기거나 assignment 일부만 수행하여 제출하는 경우 어떻게 되나요?

백엔드 5번 관련 예시 데이터 복구에 대한 질문이 있습니다

5번에서 "이미 준비된 download_survey command 를 이용해 예시 데이터를 survey_surveyresult 테이블에 저장시켜야 합니다." 이 부분을 하는 과정에서 문제가 생겨서 질문 드립니다.
제가 과제를 시작할때 잘못해서 waffle_backend 폴더에 있는 example_surveyresult.tsv 예시 데이터를 지웠습니다.
혹시 github 페이지에 올라가 있는 waffle_backend 폴더에 있는 예시 데이터를 local로 복붙하는 방법이 있나요?
감사합니다.
ㅠㅠㅠㅠ

Pycharm 에서 open 으로 프로젝트를 추가하는 방법

os: mac
pycharm: professional version

안녕하세요. 이제 과제중인 clone하여 복사한 것을
Pycharm에서 구동시키고 싶은데 생기는 문제들이 잘 해결되지 않아 질문드립니다.

현재 디렉토리 구조는 다음과 같고 파이참에서 open 으로 박스 친 디렉토리를 열었습니다.
image

그리고

  1. 가상환경 activate( 가상환경 환경설정은 잘 되었습니다.)
  2. mysql.server start
    했습니다.

다음 사진의 상황을 해결하려고 여러가지 시도들을 해보았으나 해결하는데 어려움을 겪고 있습니다ㅜ

image

python 3.8.3 설치 관련 질문

window 10 환경이고, python 3.8.5가 깔려 있습니다. python installer를 이용해서 3.8.3을 다운 받으려 했는데, 이미 설치되어 있다고 message가 뜨면서 설치되지 않습니다. PATH를 바꿔서 시도해도 마찬가지 결과가 뜹니다!! 3.8.3과 3.8.5를 같이 설치하는 방법이 있을까요.. ? (3.7 버전은 잘 설치됩니다.)

mysqlclient 가 설치가 안됩니다

구글링해서 이것저것 시도해봤는데 가상환경에 다른것들은 설치가 잘 되었는데 mysqlclient가 설치가 안되네요ㅠㅠ
Mac 쓰고있고, pip install mysqlclient==2.0.1 했을 때 ERROR: Command errored out with exit status 1: 라는 에러메시지가 뜨네요.

해결방법 아시는 분 계신가요?
(라벨링이 지금 안돼서 되는대로 라벨링은 하겠습니다)

프론트앤드 과제 제출 양식 / 로그인 계정 관련 질문!

안녕하세요, 오늘 프론트앤드 첫 세미나 모두 수고하셨어요ㅎㅎ

과제 중에 궁금한 점이 생겨서 질문 드립니다.

  1. 페이지를 만들 때 유저 정보를 사용하는 부분들이 있는데 그냥 제 계정으로 구현하면 되나요? (ex. import repository/ profile 등)

  2. waffle-rookies-18.5-frontend-1 repo에 html, css 파일 두개를 담아서 commit하면 되는건가요?

감사합니다!

(옮김) 6번에서 survey_operatingsystem table을 출력할 때 나오는 게 3개가 되어야 하나요

Backend 세미나 단톡방에서 나온 질문인데, 이후 이어진 내용이 남겨두고 공유할만 해서 따로 이슈로 옮겨 적습니다.

Q1. 혹시 6번에서 survey_operatingsystem table을 출력할 때 나오는 게 3개가 되어야 하나요 아니면 예시 데이터에 나와있는 "Windows Ubuntu 듀얼부팅" 같이 생긴 것들도 포함되는게 맞는 것인가요??

A. 제가 포함시켜드린 command를 정상적으로 실행하셨다면, 3개 초과되게 다 포함되는 것이 맞습니다

Q1. 답변 감사합니다!

A. 그리고 '왜 그런가'가 중요하다고 생각되는데요, 이런 것들에 대해 제가 공유차 첨언을 하고 싶을 수도 있어서 사소한 것도 Issues로 올려주시면 좋습니다. 아무래도 한 번에 몰아볼 때 채널이 일원화되는 게 좋으니까요. https://github.com/wafflestudio/rookies/blob/master/backend/seminar0/waffle_backend/survey/management/commands/download_survey.py#L25 를 보시면, OperatingSystem을 get_or_create하고 있습니다. 그렇기에, DB에 해당 name을 가진 operatingsystem이 없다면, INSERT query가 날아가서 해당 table에 새로운 row가 생깁니다. 그래서 드린 예시 tsv에서 참여자 분들에 의해 언급된 모든 운영체제들이 DB에 있게 됩니다.

Q2. 제가 이해한 것이 맞다면, window+macOS 이런 예외적인 것들을 위해서 25번째 라인에서 get_or_create을 하는 것이고, 그런 경우 description 이나 price는 null로 자동으로 설정되는 것 같은데, 맞나요?

A. 네, 정확히는 https://github.com/wafflestudio/rookies/blob/master/backend/seminar0/waffle_backend/survey/models.py#L6 에 따라 descriptionnull=False(default)이고, blank=True(참고)라서, 기본 값으로 ‘’가 됩니다.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.