묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
인코딩 + 403 Forbidden 질문입니다.
download 2-8-2 코드 작성할 때 인프런의 추천강좌의 글 + 그림을 저장하는 코드입니다. for i, e in enumerate(img_list, 1): with open(savePath+"text_"+str(i)+".txt","wt") as f: # 저장할 경로에 "text_순번.txt"의 이름으로 텍스트를 저장한다. 텍스트 쓰기 모드 (wt) f.write(e.select_one("div.card-content > div.course_title").string) fullFileName = os.path.join(savePath, savePath+str(i)+'.png') imgUrl = e.select_one("div.card-image > figure > img")['src'] base = rep.urljoin(imgUrl, "../../../../../") parseUrl = rep.urlparse(imgUrl).path path = rep.quote(parseUrl) fullURL = rep.urljoin(base, path) request_url = req.Request(fullURL, None, headers) response_url = req.urlopen(request_url) f = open(fullFileName, 'wb') f.write(response_url.read()) f.close() #req.urlretrieve(fullURL, fullFileName) 이 코드를 실행할 때 그림을 불러올 때 일부의 그림 주소가 한글로 인코딩 되어 있어서 그냥 단순히 그림의 주소로 urlretrieve를 실행하면 UnicodeEncodeError: 'ascii' codec can't encode characters in position 70-75: ordinal not in range(128) 가 발생합니다. 때문에 한글 인코딩을 바꿔주고자 이미지 주소의 path 부분을 추출해서 path 부분만 인코딩해주고 url을 합쳐주고 retrieve를 실행하면 403 forbidden 에러가 뜹니다. 여기에 헤더를 추가하는 방법을 구글링해서 찾아봐서 저렇게 추가했지만 403 forbidden이 사라지지 않습니다. 문제가 되는 사진의 주소입니다. https://cdn.inflearn.com/public/courses/324995/course_cover/efab1490-0082-446a-b173-52108106bfc1/%EC%9D%B8%ED%94%84%EB%9F%B0-%EA%B5%90%EC%9E%AC%ED%8C%90%EB%A7%A4-%EB%8C%80%EB%AC%B8.jpg https://cdn.inflearn.com/public/courses/324995/course_cover/efab1490-0082-446a-b173-52108106bfc1/%25EC%259D%25B8%25ED%2594%2584%25EB%259F%25B0-%25EA%25B5%2590%25EC%259E%25AC%25ED%258C%2590%25EB%25A7%25A4-%25EB%258C%2580%25EB%25AC%25B8.jpg 위로 접속하면 정상 접속이 됩니다. 아래로 접속하면 (인코딩 후) 엑세스가 거부됩니다. 어떻게 해결할 수 있을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
localhost:8080 들어가면 페이지를 찾을 수 없다고 떠요
인텔리제이에선 아무런 에러도 없고, 잘 구동되는데, localhost:8080 들어가면, 페이지를 찾을 수 없다고 떠요. 크롬, 사파리, 익스플로어 모두 안되고, 윈도, 맥북 모두 안되요. 집에 인터넷 문제인가 해서 회사에서 했는데도 똑같아요. 인텔리제이에서 뭔가 설정해야 하는 것인가요? 4일째 이것만 해보고 있는데 너무 답답해서 글남깁니다ㅠ https 강제 리다이렉트 되는거라는 글도 있어서 인증서 깔아서 연결하려고 mkcert 설치해서 크롬설정창 인증서 부분에 불러오는 것까지 다 했는데도 안되요ㅠ 포트번호도 바꿔보고, 경로도 이래저래 다 써보고 진짜 할 수 있는건 다 해본듯해요 다들 되는데 저만 안되는거 보면 엄청 기초적인게 빠진거 같은데..알 수가 없네요 이클립스 깔려있어서 그럴까요?ㅠ 뭘까요 진짜
-
미해결웹 게임을 만들며 배우는 React
유튜브로 기본강좌 9강 보던 중에 질문 드립니다.
9강에서 router 부분 강의를 듣던 중에 궁금한게 생겨서 질문 드립니다. Hooks로 router 사용시 react를 여러곳에서 import하는 문제 때문에 에러가 발생해서 클래스 컴포넌트를 불러오는 식으로 진행하셨는데 Hooks로 사용하는 방법은 아예 없는건지 궁금합니다.
-
해결됨자바 프로그래밍 입문 강좌 (renew ver.) - 초보부터 개발자 취업까지!!
인터페이스를 사용 하는 이유가 무엇인가요?..
잘 이해하지 못하였지만 부모 클래스를 상속 받아서 사용하면 굳이 인터페이스 클래스가 필요 없을거라 생각이 드는데 인터페이스의 실무에서 메리트는 무엇인가요? 인터페이스 클래스를 은닉 후 메인클래스에서 원하는 인터페이스의 펑션만 호출 할 수 있는것인가요? 코딩 고수님들 혹시 지나가시다가 이 걸 보게 된다면 쉽게 설명해 주실 수 있나요 ㅠ
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
MapStruct 와 Entity Setter 질문
안녕하세요. 이도원 선생님 강의 항상 잘 듣고 있습니다. 강의와 연관되어 MapStruct 와 Entity Setter 에 대해 문의드립니다. ------------------------------------------------ 제가 이해한 내용은 두가지 입니다, 1. Entity 에 Setter 는 지양해야한다. 2. MapStruct 는 구현체 자동생성에서 Field mapping에 target의 setter 를 사용한다. ------------------------------------------------ 여기에서 제가 질문드리고 싶은 내용은 한가지입니다. 1. 함수의 사용권한을 특정 클래스객체에 제한할 수 있는가? ( Entity Setter 의 사용권한을 Mapper 에게만 줄 수 있는가? ) ------------------------------------------------ 구현체를 직접 수정하기에는 번거롭고, 필수필드만 setter를 생성하기엔 선택필드가 들어갈 상황을 배제하기에 오류가 예상됩니다. 결국 MapStruct 를 사용할때는 setter를 생성해 두어야 할꺼 같아서 질문드립니다. 감사합니다.
-
미해결스프링 핵심 원리 - 기본편
뭔가 잘 이해가 되지 않는 부분이 있습니다.ㅠ
서비스역할의 구현체들은 서비스에 있는 기능을 사용하기 위해 OrderServiceImpl 경우에는 MemoryMemberRepository, FixDiscountPolicy 를 private final 을 붙여서 사용하는데 private는 해당 클래스 밖에서 직접 접근을 하지 못하게 하는것! final은 한번 값을 넣어주면 절대 바뀌지 않는것! 제가 이해 한 것을 토대로 왜 굳이 private final을 붙였나 OrderAPP를 찾아보았습니다. MemberService memberService = new MemberServiceImpl(); OrderService orderService = new OrderServiceImpl(); 두 객체를 생성할 때 두 객체 전부 MemoryMemberRepository를 참조하는 MemberRepository를 생성하기에 겹치는 부분이 생길 가능성이있기때문인가요,,? 어짜피 store는 static 변수이기때문에 객체가 얼마든지 생성된다고 해도 공유하고 있기에 문제가 일어날 것 같지는 않습니다. 뭔가 왜 private final인지 포인트를 잡지못하고 있는거 같아요ㅠ
-
해결됨홍정모의 따라하며 배우는 C언어
15:58 질문입니다.
modifiable L-values 를 오타 내신건가요? 아니면 현업에서 l value를 줄여서 저렇게 표기하는 약속같은게 있는건가요? 구글링해도 도움이 되지 않아 질문합니다.
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
next.js에서 swr 서버사이드 렌더링 질문드립니다.
next.js에 swr, typescript를 이용해 노드버드 실습을 해보다가 서버사이드 렌더링에 대해 궁금한 게 생겼습니다. 사용자가 만약 로그인을 한 상태일 때, 서버사이드 렌더링을 해서 컴포넌트에 사용자 정보를 넣어준 상태로 페이지가 보여지도록 하고 싶은데요. 강의에서는 pages/index.js에서 리덕스를 이용하여 LOAD_MY_REQUEST 액션을 dispatch 한 뒤, components/AppLayout.js 에서 useSelector로 me 값을 가져 오면 사용자 정보가 담겨진 채로 AppLayout.js 컴포넌트가 랜더링 됩니다. swr을 적용해서 동일하게 구현해보려고 하는데요. swr에서는 page/index.js에서 서버사이드에서 로그인한 사용자 정보롤 가지고 오더라도, components/AppLayout.js에서 useSWR을 사용하면 처음 [로그아웃] 상태일 때의 화면이 잠깐 나오고, [로그인]상태일 때의 모습으로 변합니다. 혹시 swr을 이용해서 pages/index.js에서 서버사이드 렌더링으로 가지고 왔던 값을 components/AppLayout.js에도 페이지 렌더링 초기에 값을 함께 전달해주는 방법은 없을까요? 제가swr을 이용해 아래처럼 적용해봤는데, 다른 방법이 있을까요? pages/index.tsx export const getServerSideProps: GetServerSideProps = async function({ req }) { const cookie: string = req ? req.headers.cookie : ''; if (cookie) { const data = await fetcher.get('/user', { cookie }); if (data) { return { props: { userProps: data }, }; } } return { props: { userProps: null }, }; }; function Index({ userProps }: InferGetServerSidePropsType<typeof getServerSideProps>) { const { data: user } = useSWR<IUser>('/user', fetcher.get, { initialData: userProps }); return <AppLayout>{user ? user.nickname : '로그인해주세요'}</AppLayout>; } components/AppLayout.tsx function AppLayout() { const { data: user } = useSWR<IUser>('/user', fetcher.get); return ( <div css={userNavStyle}> {user ? ( <> <Profile image={user.profile} size='40px' /> </> ) : ( <Link href='/login'> <a href='' className='login'> 로그인 </a> </Link> )} </div> ); }
-
미해결mongoDB 기초부터 실무까지(feat. Node.js)
갑자기 나는 'userFullName' Path 오류
faker로 새로운 데이터생성하는데, (node:8264) UnhandledPromiseRejectionWarning: ValidationError: comment validation failed: userFullName: Path `userFullName` is required. 이런 오류가 났습니다. 그래서 Comment.js 에서 userFullName 부분을 기존 username: {type: String, required: true} 에서 required 부분을 삭제하였더니 잘 동작하더라구요. 이전에는 위 오류가 나지않았는데 갑자기 안되는 이유가 있나요...??? const CommentSchema = new Schema( { content: { type: String, required: true }, user: { type: ObjectId, required: true, ref: "user", index: true }, userFullName: String, blog: { type: ObjectId, required: true, ref: "blog" }, }, { timestamps: true } );
-
미해결실전! Querydsl
일대다 collection select 질문
JPA 활용 2강의 - 컬렉션 조회(One To Many) - v3.1 방법으로 ToOne 관계만 fetch join하고, batch_fetch_size 설정했습니다. QueryDsl에서 hospital 엔티티의 id를 통해 원하는 것만 조회하고 싶은데 reviewHospital가 List 형태라서 review.reviewHospitals.hospital.id.eq(id) 이런식으로 안 됩니다. 그래서 생각해낸 게 contain으로 JPAExpression을 이용해서 where 절에 hospital id를 입력해서. 병원에 해당하는 id를 검색했습니다. java.sql.SQLException: Subquery returns more than 1 row 그런데 위와같이 subQuery가 1개 이상이라고 오류가 나더군요. hospital.id에 맞는 여러 개의 Review들을 조회하고 싶은데 다른 방법이 있는지 궁금합니다.
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
로그인 요청 후 네트워크 기록에 대하여
삭제된 글입니다
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
질문
app: "docker-fullstack-app" bucket_name: elasticbeanstalk~~~~ travis에서 작성해줄 때 어떨 때에는 더블 쿼트를 쓰고 어떨 때에는 그냥 싱클 쿼트나, 더블 쿼트 없이 그냥 이름만 있는데 차이점이 있을까요???
-
미해결홍정모의 따라하며 배우는 C언어
strlen 의 결과가 5가나와야 하는데 계속 110으로 나옵니다.
분명히 교수님처럼 5가 나와야 하는데 자꾸 110이 나와서 혼란스럽습니다.. 한 번만 봐주시면 감사하겠습니다. 조교님 감사해요.
-
미해결윤재성의 만들면서 배우는 Spring MVC 5
이클립스 (Dynamic Web Project)
안녕하세요. Dynamic Web Project를 생성했는데 WebContent 이런 구조는 안나오고 다르게 나오는데 왜 그런건가요?? ㅜㅜㅜㅜㅜ
-
미해결Slack 클론 코딩[실시간 채팅 with React]
웹팩 설정 깃허브 업로드
수강중에, 외적으로 궁금한게 생겨서 여쭤봅니다! 보통 프로젝트 진행시, 웹팩 설정을 깃허브에 업로드 하나요? 아니면 깃이그노어 하나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
6:42 static import
선생님~ 게시판에 같은 질문있나 찾아봤는데 없는 것 같아서 질문 남겼어요 윈도우에서 어떻게 해야 static import가 뜨나요 이 단축키가 윈도우에서 뭔지 도통 모르겠어요 ㅠㅠ 따라한 제 코드는 이렇습니다.
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
쿼리문 전체를 백틱으로 감싸고 컬럼명을 싱글 쿼테이션으로 감싸는 이유
안녕하세요 질문이 있습니다. 마이그레이션 쿼리를 작성하실 때 전체 쿼리를 싱글쿼테이션으로 묶고 컬럼을 백틱으로 묶으시더라구요. 반대로 하지 않고 이대로 하신 이유가 있을까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
알고리즘?
안녕하세요 강의 정말 잘 보고있습니다... 문법에대해선 어느정도 이해를해서 남이 작성한 코드나 선생님이 작성한 코드를 보면 무슨기능을하고 왜하는지는 이해를 하겠지만.. 혼자서 작성할려고하면 머리가 새하얗게 되고 뭐 부터 시작을 해야할지 잘 모르겠는데 어떻게 해야할까요..? 코드를 작성할때 ㅊ하나하나 시작해야하는 순서가있나요 ?? 예컨데 변수몇개 등등 구상을 먼저해야한다 라던가.. 이러한 알고리즘? 을 어떻게 생각해야할지 모르겠습니다.
-
해결됨스프링 시큐리티
중복 정의된 SecurityController `/login`과 Security 기본제공 `/login`이 호출되는 원리 질문입니다
강의 예제 시연 때 아래와 같이 정의된 상태에서EntryPoint 핸들러를 주석처리를 하셨지요 SecurityController.java @RestControllerpublic class SecurityController { @GetMapping("/login") public String login() { return "'/login' - 개발자가 작성한 Login 페이지"; }} SecurityConfig.java http// 인증/인가 예외처리 .exceptionHandling()// .authenticationEntryPoint((request, response, ex) -> {// // 인증 실패 후 재인증요구 처리: AuthenticationEntryPoint.commence() method// response.sendRedirect("/login");// 게빌자 제공 로그인 페이지로 이동 설정// }) 주석 처리 이후에는 S.Security 기본제공 `/login` URI 가 호출 되었구요,주석 처리 이전에는 개발자가 작성한 Controller `/login ` URI 가 호출이 되었습니다. 결과를 통해 추론 해보면, Spring Security 의 기본 제공 컨트롤러 구현체가 존재한다는 것을 알게 되었습니다 질문입니다 EntryPoint 핸들러를 주석처리 하자마자개발자 정의 Controller 에 선언된 /login URI 는Spring Security 기본제공 컨트롤러 /login URI 에게우선순위가 밀려 호출이 되지 않는것 같습니다.왜 개발자가 정의한 Controller 에 /login 이 우선처리 되지 않고, EntryPoint 핸들러를 통해 sendRedirect( /login ) 처리로만 이동이 가능한건지원리가 궁금합니다.혹시 sendRedirect 가 최우선순위로 호출되는 것이라는 단순한 이유일까요? 읽어주셔서 감사합니다
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
선생님 redux 버전 질문입니다
해당 영상에서 redux 6 버전이고 지금은 7 버전으로 받아지는데 버전을 낮추어 사용해야 할까요? 오류가 나는지는 아직 설치만 해 둔 상태라 잘 모르겠습니다.. ㅠ ㅠ