docker를 사용해서 구성하실때는 virtualenv를 사용하지 않나요?? docker

 
Jaehyung Kwak

docker를 사용해서 구성하실때는 virtualenv를 사용하지 않나요??
docker 컨테이너를 web(nginx+gunicorn+django)과 db(mysql)으로 구성하려다가
virtualenv에서 막혀서;;;;
web(nginx)과 app(gunicorn+django), db(mysql), (static 서버도 따로?) 으로 docker 컨테이너를 따로따로 구성해야하나 고민중인데…
어떻게들 구성하시나요??

  • Woojing Seok

    원래 따로따로 구성하는게 권장사항이기는 하죠.
    docker로 따로 구성할때는 virtualenv는 사용할필요 없지 않나요?

    Jeffrey Park

    도커 쓰시면 virtualenv를 안쓰셔도 됩니다. 서버 프로그램 종류별로 환경 설정을 해서 올리는게 도커의 철학이기 때문에 안쓰는게 맞고 각각의 프로그램당 이미지를 만드셔서 컨테이너에 올리시는 방법을 쓰시면 됩니다.

    Jeffrey Park

    그런데 이렇게 쓸려면 도커의 기능을 전부 사용해야 함으로 복잡합니다. 어떻게 잘써야 할지가 제일 큰 문제인것 같습니다

    Lee Persy Ji-Ho

    저는 도커에 대해 잘 모르고 써보지도 않았지만 그런 이유로 가상환경 사용이 매우 잦은 편입니다.

Advertisements

장고로 웹기반 자동화 프로그램을 짜고 있습니다. 현재 사람 성과 이름 그리고 생성 날자를

 
Kyung-Don Choi

장고로 웹기반 자동화 프로그램을 짜고 있습니다.

현재 사람 성과 이름 그리고 생성 날자를 받아들이는데는 성공했는데 이제 생성날자_이름+성으로 디렉토리를 만들어 보고자 합니다. 어떤 명령어를 사용해야 할지 감이 안오는데 어떻게 해야 하련지요.

플라스크로 웹개발하다, 장고를 처음 공부해보고 있습니다. 그런데 static파일에 이미지

 
DongHyeok Lee

플라스크로 웹개발하다, 장고를 처음 공부해보고 있습니다.

그런데 static파일에 이미지를 올려두고 불러오려고 하는데, 계속 404에러가 뜨더군요…..

장고 doc를 보고서 static관련해서 보고 있는데 몇가지 질문이 있습니다.

1. 기존에 STATIC_URL 에 쓰여진, ‘/static/’ 주소와 STATIC_ROOT, STATICFILES_DIRS 의 차이가 무엇인가요?

=> 제가 doc 읽고나서 이해한 부분을 먼저 설명해드리면,
STATIC_URL : static 파일의 위치에 대한 URL 접속값
STATIC_ROOT : 디플로이를 위해 static파일 모으는 주소?
STATICFILES_DIRS : 추가적으로 static 파일의 위치가 있는경우, 추가 (경로 모으기)
일단 이런식으로? 이해를 해보았습니다. 그런데 막상 static 폴더를 만들고 해당 파일을 넣었는데, 계속 404가 뜨네요…. (참조한 사이트는 https://docs.djangoproject.com/en/1.9/howto/static-files/ 입니다.)

여기서 Configuring static files 순서대로 1,2번까지는 했습니다.
그리고 3번에서 테스트해보니까 404더군요.
4번의 절대경로로도 접근하려고 해봤지만, 여전히 404입니다….ㅠㅠ

static파일 경로 설정 부분 조금만 자세히 설명 해주실 분 계신가요?
너무 기초적인 질문이라 죄송합니다….ㅠ

  • 남홍김

    settings에 DEBUG 값이 어떻게 되어 있나요? 만약 True 라면, development static file 에 대해서 찾아보면 될 거 같습니다.

    최준석

    캬…. 제가 장고로 한달 반동안 공모전을 했는데…. 이거로 일주일은 날렸는데도 실패했었던….

    DongHyeok Lee

    해결했습니다! 사진처럼 setting.py 에 쓰고서

    DongHyeok Lee

    url.py에 추가로 쓰고

    DongHyeok Lee

    최종 html 파일에서 테스트해보니 두가지 경우 모두 접근가능했습니다!
    감사합니다!!!

    Chinseok Lee

    settings.DEBUG 값이 True 일 때에는, 장고 개발서버에서 static 파일 서빙을 지원해주기 때문에, urls 에 static(…, document_root=…) 설정은 쓰지 않으셔도 됩니다.

    템플릿 내에서는 /static/logo.png 와 같이 settings.STATIC_URL 값을 직접 쓰시기보다 (값이 변경될 수 있으므로), {% static “logo.png” %} 와 같이 써주세요.

    Chinseok Lee

    장고에는 staticfiles finder 라는 것이 있습니다. 기본적으로 app directory finder 와 file system finder 가 제공되구요.
    app directory finder 는 각 앱 별 static 디렉토리에서 파일을 찾구요.
    file system finder 는 settings.STATICFILES_DIRS 에 명시된 경로에서 static 파일을 찾습니다.

    참고하세요. 🙂 // AskDjango

장고를 docker이용 AWS에 퍼블리시 할줄 아시는분 계신가요? 알려주시면 소정의 사례를

 
KyoungWon Park

장고를 docker이용 AWS에 퍼블리시 할줄 아시는분 계신가요? 알려주시면 소정의 사례를 해드리며 배우고 싶습니다^^

안드로이드, 아이폰 애플리케이션과 웹이 있을 때 일단 애플리케이션 상에서만 회원가입을 받는

 
Dongmin Kim

안드로이드, 아이폰 애플리케이션과 웹이 있을 때
일단 애플리케이션 상에서만 회원가입을 받는다고 하였을 경우
휴대폰 인증이나 이메일 인증과 같은 수단이 없을 때
UUID 만으로 무작위 spoofing 가입을 막을 수 있을까요?

또한 api 는 외부에 노출되어 있는데 이 api 가 노출된 경우 게시글 쓰기 같은 경우
그 형식만 알면 자동으로 무작위 글쓰기가 가능할텐데요…
이런식의 요청을 막는 방법이 있을까요?

일단 회원가입 만이라도 막고자 해도 가입시 UUID 를 저장을 하고 재 가입시 이미 등록된 UUID 로는 가입이 불가하도록 한다 하여도 UUID 필드 부분을 무작위로 변형시켜 가입을 시도할 수도 있을 것 같구요.

저의 어플리케이션에서만 요청이 오도록 할 수 있는 방법이 있을까요?

CSRF 토큰이 이런 곳에 사용되는 것인지요? CSRF 토큰은 서버 측에서 페이지를 만들어 보여줄 때는 가능하지만 서버와 완전 독립적으로 동작하는 이런 애플리케이션이나 웹앱의 경우 안되는 것으로 알고 있는데 제가 잘못 알고 있는 것인지요?

api 의 end point 는 누구나 분석을 통해 얻을 수 있고 또한 아예 rest api 를 공개하는 곳도 많은데요… 일단 이런 도배의 경우 단말에서 보내든 자신의 커스텀한 로직에서 보내든 open api 형식이라 생각하고 서버 자체에서 도배성 글에 대한 정책으로 대응해야 하는거죠? 글 등록은 3분마다 한 번씩 가능하고 또한 동일한 내용의 글을 반복적으로 올리지 못하게 하고 스팸성 글을 등록시 계정을 블록시키는 정책을 통해서 막아야 하는거죠? 신고 시스템과 함께…

그럼 회원 가입 부분만 무작위로 못되게 하면 어느정도 가능할 것 같은데요..
휴대폰 번호나 이메일 인증이 없는 시스템의 경우
가입은 애플리케이션을 통해서만 받는다고 할 경우
UUID 값 단말의 모델 값, 플랫폼 정보, 버전 정도의 기기 정보를 통해 해당 단말에서 가입을 했고 해당 단말은 더 이상 가입이 불가 하도록 할 수 있는 방법이 있을까요?
UUID 를 저장하고 해당 UUID 가 있을 경우 가입이 불가하도록 한다치면
UUID 를 조작하여 signup api 로 요청을 보내면 무작위 가입이 가능할 것 같은데요…
이것에 대한 대처 방안이 있을까요?

[코틀린 1.0 정식버전 출시기념] Django 로 API 서버를 만들고, Kotlin

 
Chinseok Lee

[코틀린 1.0 정식버전 출시기념]

Django 로 API 서버를 만들고, Kotlin 으로 Android 앱을 만드는 것을

20분짜리 라이브 코딩쇼로 찍어봤습니다. 🙂

  • Jiho Bak

    하…

    Donghyun Cho

    좋은 강좌 올려주셔서 감사해요. 집에가면 확인해봐야겠네요.

안녕하세요 질문이있어서 올리게 됐습니다. 혹시 이게 무슨에러인지 아시나요ㅠㅠ?

 
이동욱

안녕하세요 질문이있어서 올리게 됐습니다.
혹시 이게 무슨에러인지 아시나요ㅠㅠ?


  • Juyoung Lee

    코드상에 os.environ[‘HE_CLIENT_SECRET’]을 호출하려 했는데 해당 키에 대한 값이 없어서 생긴 문제같은데요 …

    Suchan An

    발급받으신 HackerEarth API키를 넣어주시면 됩니다.

    “`
    $ export HE_CLIENT_SECRET=”…”
    “`

    Chinseok Lee

    환경변수 HE_CLIENT_SECRET 값을 가져올려는 데, 해당 값이 등록되어있지 않아서 그렇습니다.

    환경변수 설정이 어려우실 수도 있는데요. settings.py 에 넣어두시는 방법도 있습니다.

    # settings.py
    HE_CLIENT_SECRET = “해당 값”

    # hackIDE/views.py
    from django.conf import settings

    CLIENT_SECRET = settings.HE_CLIENT_SECRET

    Chinseok Lee

    혹은 hackIDE/views.py 파일 line 22 에서

    CLIENT_SECRET = os.environ[‘HE_CLIENT_SECRET’] if not DEBUG else “”

    코드를 다음과 같이 고쳐보세요.

    CLIENT_SECRET = os.environ.get(‘HE_CLIENT_SECRET, ”) if not DEBUG else ”

    이동욱

    해당 값이라하면 키를 말하는건가요?? 클라이언트아이디 혹은 클라이언트 시크릿 키 어떤걸 의미하나요? 답변들 너무감사드립니다

    Chinseok Lee

    참조하는 변수명이 HE_CLIENT_SECRET 이니깐, 시크릿이겠죠. ㅎㅎ

    이동욱

    [14/Feb/2016 18:38:38]”GET / HTTP/1.1″ 400 26
    이제는 이런에러가나네요 ㅎㅎ 어렵고도어렵습니당 ..ㅠㅠㅠ

    Chinseok Lee

    로그부터 차근차근 확인해보세요.

    Chinseok Lee

    아직 HE_CLIENT_SECRET 를 설정하지 않으셨다면, 아마도 400 bad request 오류가 발생할 듯 하네요.

    이동욱

    설정을 말씀해주신것처럼 setting에다가 해놓았는데도 그러네요ㅠㅠㅠ

    Donghyun Cho

    로그 보니까 셋팅파일이 아니라 environment variable을 설정해야 할 것 같네요. 로그를 천천히 읽어보세요. 답은 항상 에러로그에 있습니다.