이야기를 나눠요
131만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
선생님 방탈출 질문 죄송한데요 고민있어요
선생님 프로젝트 폴더 및 파일 이름을 어떤식으로 주로 지으시나요?강의에서처럼 01-02-token-api 이런식으로 주로 하시나요?아니면 01-02-tokenApi 이런식으로 하시나요?? 프로젝트 폴더 및 파일 이름은 같이 작업하는 개발자들끼리 코드컨벤션을 짜서 정하는거라고 하지만,,아직 취준생이고 혼자 작업하는 일이 많은 저는 어떤방식으로 해야할지 고민입니다. 어떤 방식을 더 선호하시고 추천하시나요?(프론트 백엔드 구분없이 !)
-
대세는 쿠버네티스 [초급~중급]
혹시 환불이 가능할까요.?
안녕하세요 강사님.죄송하지만 혹시 강의 관련해서 혹시 환불을 요청드려도될까요.?사유는 우선 제가 부족해서지만 강의 순서가 뭔가 이어지지 않고내용이 흘러가는것과 대시보드 환경 및 m1 맥북에서의 설치가 잘 되지않고 힘든점 때문에 요청드립니다. 혹시 환불이 안된다면 쿠버네티스 어나더 클래스[지상편] 으로대체가 가능할지.. 다른방법이 있는지 알려주시면 감사하겠습니다.
-
실전도커: 도커로 나만의 딥러닝 클라우드 컴퓨터 만들기
Azure 구독 과금 문제 발생
안녕하세요 선생님,강의 잘 듣고 있습니다. 다름이 아니라 수업을 그대로 따라한 것 같은데, 특정 구독이 되면서 12만원 가량이 청구되었네요 .. 자세히 살펴보니 '표준' 구독 모드이고 프로덕션 워크로드 환경이 가능한 것에 가입했나 보네요.. 저만 이런 현상이 생긴건지,, 구독 취소하면 환불받을 수 있는지 궁금합니당
-
개발자를 위한 쉬운 도커
컨테이너 구성에서 궁금한 것이 있습니다.
안녕하세요! 강의 정말 잘보고 있습니다. 쉽게 궁금증이 해결될 수 있는 부분인데 제가 혼자 싸매고 있는 걸 수 있습니다!도커 컨테이너 내부를 그림으로 자주 표현해 주실 때 OS 레이어 부분의 궁금증입니다.실제 도커는 컨테이너를 만드는 기술이 아니라 컨테이너를 만드는 기술을 쉽게 사용할 수 있도록 하는 것으로 이해했습니다.그리고 컨테이너는 호스트 OS의 커널을 공유한다고 이해했습니다. 그렇다면, 이미지에서 보여주시는 OS 레이어 부분은 실제 OS 의 파일들이 들어있다는 의미인가요? 아니면 호스트 OS의 일부분이며 커널이라고 이해해도 괜찮을까요?혹시 일부분이라면 도커의 이미지를 만들 때 호스트 OS를 건드릴 수 있는 부분들이 포함되어 있는건가요?
-
파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
drf 3.0.0 문제
drf>3.0.0django>3.2python>3.9위의 환경으로 프로젝트를 진행해야합니다. 그런데 settings에 drf를 등록후 runserver 를해보면 from django.core.urlresolvers import reverse, NoReverseMatchModuleNotFoundError: No module named 'django.core.urlresolvers'The above exception was the direct cause of the following exception:위와 같은 에러가 뜹니다.drf 를 최신버전으로 업그레이드하면 문제 없지만 3.0 버전을 써야해야하는 상황입니다.구글링해서 찾아봐도 django 2.0대에 생기는 에러인것같은데.. 의견 부탁드립니다.
-
그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
ConfigMap과 Secret 의 Volumemout 부분입니다.
예제로 보여주신 실습 파일의 내용을 보면 ConfigMap 에서는 파일로 생성한 후 이를 프로그램에서 이 파일을 읽어서 처리하는 형태로 되어 있는 것 같습니다.Secrete 의 경우에는 이 파일을 생성하지 않고 env 를 이용하여 직접 변수로 사용하고 있었습니다. 몇 가지 질문 있습니다.ConfigMap 의 경우 파일로 생성하셨는데 그럼 POD 에서 이 값을 사용하려면 해당 파일을 열어서 읽어 사용하는 건지 ?ConfigMap 도 VolumeMount 를 사용하는 경우에 env 를 사용해서 파일로 생성하지 않고 직접 env 변 수로 사용하는 방법이 존재하는지 여부 Secrete 도 VolumeMount 를 사용하는 경우 별도의 파일을 생성해서 이 파일을 이용하는 방법의 존재 여부 입니다. 참고로 Secrete 의 volumes: 부분에 "secrete" 을 추가하여 파일이 생성되는지 확인해 봤지만 에러가 발생하였습니다. 아울러 좋은 강의 감사드립니다.
-
입문자를 위한 Docker 및 Dockerizing 마스터하기
좀 아닌거 같습니다.
갑자기 vim 쓰고 window 사용자 입장에서는 hello.py 도 만들려면 vscode 로 써야하고 terminal 로 저도 휙휙 하고 싶은데 이런 기초지식이 없다 보니까 그냥 vscode 쓰고 또 dockerfile 만들때도 txt 로 만들고 나서 dockerfile 로 확장자 변경했네요; 강의 전에 이렇게 환경구성을 할 것이고 그런 안내강의라도 짧게 있었으면 좋았을텐데 아쉽습니다.
-
그림으로 배우는 쿠버네티스("v1.22"-v1.24, v1.27~)
선행 학습 강의가 있는줄 몰랐네요..
쉽게 시작하는 쿠버네티스(v1.25) 이 강의가 선행 학습 되어야 진행할 수 있는 지를 3강을 보면서 깨달았습니다............. 그림으로 배우는 쿠버네티스 부터 시작하면 개념 학습 부분에서 비는게 있을까요?안듣고 가면 찝찝할거 같은데 고민되네요 ㅠ
-
초보를 위한 도커 안내서
도커를 하는데 우분투로 안쓰고 파워쉘로 사용하면 어떻게 하면될까요
우분투로 하면 run ubuntu로 하는데 우분투가아니라 파워쉘로 사용을 하게되면 어떻게 명령어를 입력해서 컨테이너로 들어가면 될까요
-
파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
어렵네요.
아... 그냥 어떻게 돌아가는지 보기만 해보라고 하셨지만, 하나하나 따라해보는데 정신없네요. 아... 어렵네요...
-
파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
Azure app service의 웹소켓 지원에 대해서 질문
안녕하세요 강사님.<파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트> 강의를 통해서 장고에 처음 입문하고 개인 프로젝트도 5개정도 진행하고 배포까지 해보았습니다.<ChatGPT 영어 상황극 채팅 서비스 만들기 (Feat. 파이썬/장고채널스)> 강의가 새롭게 올라와서 체널스 학습을 위해 강의를 구매하고 싶은데 , 강의를 듣기전 궁금한 점이 있습니다. 1. 체널스를 통한 소켓통신을 하면 Gunicorn이 아닌 Daphne을 사용하는데 도커 파일을 만들때 daphne를 사용하면 Azure app service를 통해 배포할 수 있나요?2. 프로덕션 레벨에서 괜찮은 성능이 나올까요?
-
데브옵스(DevOps)를 위한 쿠버네티스 마스터
왜이렇게 환경이 자꾸 바뀌는지 ;;
아무리 해당 기능이 안정화가 안돼서 다른환경에서 진행한다고 하더라도... 방식이 좀 이상합니다.gke사용할거면 gke만 사용하지 왜 자꾸 다른환경으로 바꾸시는지 모르겠네요.. 그럼 gke에서 ingress는 다른데서 배우고 오라는건지 ㅋㅋ여러환경에서 할거면 3가지 환경 모두 어떻게 구성하는지 다 진행해야 하는거 아닌가요? 듣다듣다 짜증나서 문의드립니다.
-
[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
Ubuntu 설치 시
안녕하세요. 강의 시작시, 사용중인 PC(노트북)의 OS를 Linux(Ubuntu)로 변경하는 게 조금 부담이 있어, Virual Machine 을 설치하여 해당 강의를 수강하여도 무방할까요?? 현재 PC(노트북)의 Memory는 16GB입니다.
-
풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
강의가 너무 좋아요
현업에서는 아파치 아니면 nginx를 만나는데아파치 설명도 이정도만 해주셨음 좋겠어요 ㅠㅜㅠㅠ 그동안 답답했던게 속이 뻥 뚫리는 느낌이네요
-
작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
강의 자료 문의
강의 자료는 어디서 볼 수 있을까요??
-
따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
context-api쪽 auth.tsx를 제 나름대로 리팩토리 해보았습니다.
[auth.tsx]import { User } from '@/shared/interfaces/user.interface'; import { createContext, FC, PropsWithChildren, useContext, useReducer, Dispatch, ReactNode, } from 'react'; interface AuthState { authenticated: boolean; user: User | undefined; loading: boolean; } export type AuthAction = | { type: 'LOGIN'; payload: User } | { type: 'LOGOUT' } | { type: 'STOP_LOADING' } | { type: undefined }; const initialState: AuthState = { authenticated: false, user: undefined, loading: true, }; const AuthContext = createContext<{ state: AuthState; dispatch: Dispatch<AuthAction>; }>({ state: initialState, dispatch: () => null, }); const authReducer = (state: AuthState, action: AuthAction): AuthState => { switch (action.type) { case 'LOGIN': return { ...state, authenticated: true, user: action.payload, }; case 'LOGOUT': return { ...state, authenticated: false, user: undefined, }; case 'STOP_LOADING': return { ...state, loading: false, }; default: throw new Error(`Unknown action type: ${action.type}`); } }; const AuthProvider: FC<PropsWithChildren<{ children?: ReactNode }>> = ({ children, }) => { const [state, dispatch] = useReducer(authReducer, initialState); return ( <AuthContext.Provider value={{ state, dispatch }}> {children} </AuthContext.Provider> ); }; const useAuthStateDispatch = () => useContext(AuthContext); export { AuthProvider, useAuthStateDispatch }; [login.tsx]import InputGroup from '@/components/ui/field/InputGroup'; import axios from 'axios'; import { AuthAction, useAuthStateDispatch } from 'context/auth'; import { NextPage } from 'next'; import Link from 'next/link'; import { useRouter } from 'next/router'; import React, { FormEvent, useState } from 'react'; const LoginPage: NextPage = () => { const [username, setUsername] = useState(''); const [password, setPassword] = useState(''); const [errors, setErros] = useState<any>({}); const router = useRouter(); const { dispatch } = useAuthStateDispatch(); const handleSubmit = async (e: FormEvent) => { e.preventDefault(); try { const res = await axios.post( '/auth/login', { password, username }, { withCredentials: true }, ); dispatch({ type: 'LOGIN', payload: res.data?.user }); router.push('/'); } catch (error: any) { console.log(error); setErros(error.response.data || {}); } }; return ( <div className="bg-white"> <div className="flex flex-col items-center justify-center h-screen p-6"> <div className="w-10/12 mx-auto md:w-96"> <h1 className="mb-2 text-lg font-medium">로그인</h1> <form onSubmit={handleSubmit}> <InputGroup placeholder="Username" value={username} setValue={setUsername} error={errors.username} /> <InputGroup placeholder="Password" value={password} setValue={setPassword} error={errors.password} /> <button className="w-full py-2 mb-1 text-xs font-bold text-white uppercase bg-gray-400 border border-gray-400 rounded"> 로그인 </button> </form> <small> 아직 아이디가 없나요? <Link href="/register" className="ml-1 text-blue-500 uppercase"> 회원가입 </Link> </small> </div> </div> </div> ); }; export default LoginPage; 누군가에겐 도움이 되지 않을까해서 남겨 보아요!
-
파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
migrate 후에도 데이터베이스가 생성되지 않습니다.
우선 강의를 통해 정말 많은 것을 배우고 있어 감사의 말씀부터 드립니다^^ 문제 요약: 도커 컨테이너에 진입 후 python3 manage.py migrate 명령을 통해 테이블 생성 후에도, 장고 admin 페이지에 들어가 보면 데이터베이스가 생성되지 않았다는 오류가 나옵니다.azure postgresql을 장고 코드와 연동한 코드는 다음과 같습니다.그리고 docker에 진입하여 migrate 명령을 다음과 같이 진행하여 테이블들이 생성되는 것을 확인하였습니다.(이후 superuser도 생성하였습니다.)그럼에도 장고 admin페이지 로그인해서 들어가 보면 데이터베이스가 생성되지 않아서 발생하는 에러가 나타납니다.혹시나 하여 docker exec 명령을 활용하여 실행 중인 컨테이너에 진입하여 보니 migrate를 한 이후에도 다음과 같이 테이블이 생성되지 않은 모습이 나타납니다.장고와 azure postgresql 데이터베이스와 연동은 이루어진 것으로 보이는데, 어떤 이유로 테이블 생성이 안 되는 지를 모르겠습니다.ㅠㅠ
-
쿠버네티스 101 - 클라우드/서버 개발 첫걸음
쿠버네티스 소개 자료
쿠버네티스를 잘 설명하는 문서가 있어서 공유합니다. https://www.itworld.co.kr/techlibrary/275317참고로 k8s는 Kubernetes의 약어이고, k3s는 Kubernetes의 경량화 버전입니다.
-
스프링과 JPA 기반 웹 애플리케이션 개발
[win10]Can't get Docker image: RemoteDockerImage에러 해결
Can't get Docker image: RemoteDockerImage 사유가 docker 설치되지 않으신 분이라면 아래 순서대로 진행해보시기 바랍니다. 저의 경우 win10, gradle build 였고, docker 설치가 되어 있지 않았습니다 1. gradle 의존성 주입(build.gradle) - 백선장님과 동일한 버전으로 했습니다. 1.15버전부터 new PostgreSQLContainer(); 선언시 deprecated 되었다고 나와서 버전을 그냥 맞췄습니다. testImplementation group: 'org.testcontainers', name: 'testcontainers', version: '1.13.0' testImplementation group: 'org.testcontainers', name: 'junit-jupiter', version: '1.13.0' testImplementation group: 'org.testcontainers', name: 'postgresql', version: '1.13.0' 2. docker 설치 win10에서 docker를 사용하려면 먼저 wsl이 설치되어 야합니다. 아래 링크글에서 처음부터 docker desktop 설치, Resource -> WSL Integration 페이지로 이동해서 설정을 확인까지 진행하면 됩니다. https://www.44bits.io/ko/post/wsl2-install-and-basic-usage 테스트 실행시 docker가 정상작동 중이어야 합니다.
-
풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
Pause 된 container 재실행시
Version : Docker version 20.10.6, build 370c289 해당 버전에서 paused 된 container를 재가동 시키시려면 docker start가 아닌 unpaused나 restart 옵션으로 하시면 됩니다. EX) docker start myubuntu --> Error response from daemon: cannot start a paused container, try unpause instead Error: failed to start containers: 3418 docker restart myubuntu --> Success docker unpaused myubuntu --> Success