묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
안드로이드 + 스프링
웹이 아닌 안드로이드 기반 스프링 사용에 있어서 질문이 있습니다. 스프링의 대부분의 강의나 예제들이 웹을 기반으로 하고 있는데, 선생님의 강의로 공부를 하여도 안드로이드 스튜디오에 적용이 가능할까요? 입문 강의를 수강중인데 매우 만족하며 듣고 있어서, 추가 강의 결제를 고민 중에 있습니다.추가적으로 큰 차이가 없다면 강의는 어디까지 수강하는 것을 추천하시는지 궁금합니다.
-
미해결스프링 핵심 원리 - 기본편
@Configuration 없이 @Bean만 사용할 때에 대한 질문
안녕하세요! 진짜 영한님 강의는 최고네요. 감사합니다. 듣다가 질문이 생겼는데요. `@Configuration`을 주석처리하고 `@Bean`만 남겼을 때 빈으로 등록되긴 하는데 여러개가 등록(싱글톤 X)된다고 하셨잖아요. 여기서 헷갈리는 이유는, "Bean은 스프링컨테이너에서 관리되는 싱글톤 객체이다."라는 이론적 내용과, "같은 이름의 Bean이 여러개 생성되기도 한다"라는 이 강의의 실험 결과과 충돌해서인데요. 엄밀한 정리를 하고 싶어서 질문드려요. 일단은 "같은 이름의 Bean이 여러개 생성되기도 한다"가 먼저 가능성 측면에서 맞는 얘기고, "Bean은 스프링컨테이너에서 관리되는 싱글톤 객체이다."는 정상적(일반적)인 방식으로 Bean을 등록한다면이라는 전제가 깔렸을 때 맞는 얘기일 거로 생각 됩니다. 그럼, 아래 내용중에는 무엇이 맞는 걸까요? 영한님이 보여주신 실험처럼, `@Configuration`을 누락하면 동일한 Bean이 여러번 생성되는 경우가 있는데 이 때, 1. `memberRepository`라는 메서드가 3번이나 호출되었는데, 새로 생성될 때마다 기존에 먼저 생성되었던 빈을 덮어쓰기(override)한다. 고로 생성만 N번 될 뿐이지, 결과적으로는 스프링 내에서는 싱글톤으로 존재한다.(* 만일 이게 맞다면 컴파일타임/런타임 모두 에러가 안나고, 동작 자체에는 문제가 없겠네요. 리소스는 많이 잡아먹겠지만요.) 2. `memberRepository`라는 메서드가 3번이나 호출되어 총 3개의 인스턴스가 빈으로 각각 등록되었다. 고로 이름을 같지만 3개의 빈이 실제로 모두 존재한다. (* 만일 이게 맞다면, 이 경우 빈을 사용하기 위해 주입할 때 컴포넌트 스캔 결과, ConflictingBeanDefinitionException이 뜨게 되겠네요.) --- 앗. 질문이 잘못된 부분이 있어서 수정했습니다.
-
미해결따라하며 익히는 크롤링 마스터 with데이터공방
넷플릭스 크롤링 데이터 엑셀파일저장
! pip install selenium from selenium import webdriver browser = webdriver.Chrome('c:/인프라수업자료/chromedriver') url = 'https://www.netflix.com/kr/browse/genre/839338' browser.get(url) html = browser.page_source from bs4 import BeautifulSoup soup = BeautifulSoup(html,'html.parser') section_list = soup.select('section') results = [] for section in section_list: section_title = section.select('h2')[0].text program_list = section.select('li') for program in program_list: program_title = program.select('span.nm-collections-title-name')[0].text program_img = program.select('img')[0]['src'] program_link = program.select('a')[0]['href'] data = [section_title,program_title, program_img, program_link] results.append(data) import pandas as pd df = pd.DataFrame(results) df.columns = ['카테고리', '프로그램명', '이미지', '링크'] df.to_excel('c:/인프라수업자료/엑셀파일저장하기.xlsx') section_title설정해줄 때 [0].text를 해줬는데도 엑셀파일 상에서 카테고리명이 저렇게 나타나요. 그리고 데이터 이미지도 일부분은 주소가 잘 써져있는데 일부분은 저렇게 나타나는데 왜그럴까요..??
-
미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
Thread(4) - Lock, Deadlock 강의를 듣다가 질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. Thread(4) - Lock, Deadlock 강의를 듣다가 궁금한 점이 생겨서요. 파이썬은 GIL로 한번에 한 스레드만 실행되도록 하고, 제가 멀티스레드를 생성해도 결국 한 스레드만 실행되게 한다고 배웠습니다. 그런데 보여주신 아래 예제에서는 값이 제대로 반영안되는 걸 보여주셨는데요.. local_copy = self.value local_copy += 1 time.sleep(0.1) self.value = local_copy 어차피 GIL때문에 락이 잠겨서 한번에 한 스레드밖에 실행되지 않는데, 이게 값이 왜 제대로 반영안되는건지 궁금합니다. 여러 스레드들은 내부적으로 큐로 관리되고, 한 스레드가 제대로 끝나기 전에는 다른 스레드는 실행되지 않을테니 저 부분이 실행되고 나서야 다른 스레드가 접근할텐데요.. GIL자체가 공유자원에 대한 thread safe하지 않기때문에 그걸 보장하기 위해 인터프리터를 잠가버리는거라고 이해했는데 제 이해가 틀린걸까요 ㅠ GIL이 reference count를 thread safe하게 유지시키기 위해 필요하다고 알고있는데, GIL이 있음으로써 보호해주는건 reference count 하나뿐일까요? GIL이 있음에도 불구하고 멀티스레딩을 thread safe하게 구현할 때는 개발자가 lock을 매번 걸어줘야하는걸까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
redirectAttributes.addAttribute 관련 질문
item edit 할 때 post 매핑에서는 return 에 {itemId} 를 사용 가능 했는데, add에서는 redirectAttributes.addAttribute 에 안쓰면 안되더라구요. 그럼 item edit 은 redirectAttributes.addAttribute 를 안해줬는데도 사용 가능한 이유가 Postmapping url을 통해 들어온 {itemId} 를 스프링에서 자동으로 redirectAttributes.addAttribute에 넣어주는 건가요 ?? @PostMapping("/add")public String addItemV6(@ModelAttribute Item item, RedirectAttributes redirectAttributes) { Item savedItem = itemRepository.save(item); redirectAttributes.addAttribute("itemId", savedItem.getId()); redirectAttributes.addAttribute("status", true); return "redirect:/basic/items/{itemId}";} @PostMapping("/{itemId}/edit")public String edit(@PathVariable Long itemId, @ModelAttribute Item item) { itemRepository.update(itemId, item); return "redirect:/basic/items/{itemId}";}
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
브랜치 전환
브랜치 전환할때 전에 헷갈리는 부분들을 주석으로 정리했었는데 브랜치로 전환하면 다 날라가서 혹시 다시 돌리는 코드를 알 수 있을까요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
강의와는 상관없지만 글작성해봅니다.
리액트를 이전에 배운적이 없는 저로서는 강의를 이해하기 힘드네요 물론 따라가기도 힘들고 그래서, 리액트 교재를 모두 읽은 후에 현재 강의를 다시 보려고 합니다! 강의에 내용을 이해할 수는 있지만 나중에 혼자 구글링도 하며, 이것저것 다른 프로젝트의 소스코드를 보며 공부한다고 가정했을 때 지금 강의에서 배운 내용을 한 10%도 이용할 수 없을것 같습니다. 좋은강의 강의 무료강의 고맙습니다. 항상 응원합니다.
-
해결됨홍정모의 따라하며 배우는 C언어
예시 3번 질문입니다!
안녕하세요! 예시 3번을 혼자 풀다가 l value와 r value가 헷갈려서 질문드려요. 아래가 제 코드인데요 5.2강에 나왔던 l value와 r value 개념을 이해했다고 생각했는데 막상 여기서는 저게(아래 코드에서 제가 주석 처리해둔 부분이요) 왜 l value인지 잘 모르겠습니다.. 강의의 교수님 코드처럼 int 변수를 하나 선언해서 first_char + i 값을 대입해준다음 그 변수 값을 변경하는 것은 가능한데 그것과 제 코드의 차이를 알듯 하면서도 잘 모르겠어서 혹시 좀 명쾌하게 설명해주실 수 있나요?! 감사합니다. first_char와 i 각각이 r value인건 맞으니까 'x*y에서 x와 y각각은 r value이지만 x*y값 자체는 l value이다.'라고 설명해주셨던 부분과 비슷한거같긴한데 말이죠.. #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() { char first_char, last_char; char tmp; int repeat; printf("원하는 첫 알파벳 대문자를 입력하세요: "); scanf("%c", &first_char); getchar(); printf("원하는 마지막 알파벳 대문자를 입력하세요: "); scanf("%c", &last_char); tmp = first_char; repeat = last_char - first_char + 1; //문자 반복 for (int i = 0; i < repeat; i++) { while (first_char + i < last_char) { printf("%c", first_char + i); first_char + i = (first_char + i) + 1; // 이게 안되는이유: lvalue라서 // 이게 lvalue인 이유는...?: } first_char = tmp; printf("\n"); } return 0; }
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
리소스를 수정하는 메서드 설계 질문
상품의 재고를 차감하는 API를 HTTP 메서드로 구현한다고 하면 PUT이 됐던 PATCH가 됐던 상품 리소스의 '재고' 부분을 변경해야 합니다. 그런데 HTTP 메서드 정의에 따르면 원래 재고가 100인 상품의 재고를 1만큼 차감한다고 할 경우 요청 URI에 들어갈 재고값은 1이 아니라 99가 되는 것이 맞는 것 같은데 제가 제대로 이해한 게 맞나요? 그렇다면 상품의 재고를 차감하는 HTTP 메서드의 URI는 어떻게 설계해야 할까요? 상품의 재고를 차감하기 전에 상품의 재고 정보를 GET으로 가져온 다음 차감된 재고량을 PUT 또는 PATCH 메소드에 담는 것이 맞나요? 실제 서비스에서는 이러한 API를 만들 때 어떤 방식으로 구현하는 지도 궁금합니다. HTTP 프로토콜을 따를 경우 PUT이나 PATCH 메소드를 호출하기 전에는 항상 GET 메소드를 호출해야 하는 것으로 보이는데 이런 부분에서 성능 이슈가 발생하지는 않는지 궁금하네요.
-
미해결아이폰 앱 개발 입문 2편
xcode 구문자동완성
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. if, switch 등 자동구문 작성 기능이 안되는 거 같습니다. xcode에서 따로 설정등이 필요한 것일까요?
-
미해결Swift 5와 SpriteKit으로 만들어보는 아이폰 iOS 2D 슈팅게임
런치스크린이 나오지않아요
스토리보드를 생성하고 그대로 이미지 넣고 실행을 했는데 게임 메뉴화면이 뜨네여...
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
의존성 주입 질문
안녕하세요 항상 잘 듣고 있습니다! Startup의 ConfigurationServices에서 한 번 서비스를 등록하면 코드 상에서는 새로 @inject를 한다고 하더라도 여기서 등록한 하나의 서비스를 사용하는 것이기 때문에 모든 코드가 이를 공유한다고 이해하게 되었습니다. singleton이라고 생각이 드는데 옳게 이해한 것이 맞을까요?
-
미해결운영체제 공룡책 강의
message-passing 질문드립니다.
blocking send에서 sender가 2g의 데이터를 용량이1g인 mailbox에 보낼때 1g를 receiver가 다받아야 남은 1g를 또 send 한다는 건가요?
-
미해결리액트로 나만의 블로그 만들기(MERN Stack)
강사님 포스트 글을 업로드하면 본문에 <p>태그도 같이 나오는데 어떻하죠 ㅠㅠ?
강사님 안녕하세요~ 포스트 글을 쓰고 업로드 시키면 <p> 본문글.... </p> 이렇게 데이터 베이스에 저장되고 포스트글 조회시에도 <p> 본문글.... </p> 이런식으로 조회 되는데 어떻게 해결해야할까요? ㅠㅠ
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
dev.js .gitignore 적용 오류
안녕하세요 강사님, 수업 정말 잘듣고 있습니다. 비밀 설정 정보 관리 강좌에서 config폴더 안에 dev.js, key.js, prod.js파일을 생성하는 과정을 진행후 .gitignore 파일에 dev.js를 추가하고 github에 push를 하면 적용이 안되고있습니다. 찾아보니 적용이 되려면 .git폴더와 같은 디렉토리에 있어야 한다고 들었는데, 혹시 어떻게 하신건지 설명해주실수 있으신가요?? 아래 첨부 사진은 현재 boiler-plate폴더의 디렉토리들 입니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
mysql 설치후 react-nodebird 가 뜨지않습니다.
안녕하세요. 강의를 듣다가 해결하지 못하는 부분이 있어서 이렇게 여쭤보게 되었습니다. mysql 설치 및 config와 index를 설정 후 workbench에 들어갔지만 react-nodebird가 뜨지 않습니다. 제가 react-nodebird를 직접 만들어야 하는 것인지 아니면 강의와 같이 했을 경우 자동으로 생성 되는지 궁금합니다. 만약 생성 된다면 해결방법을 알려주시면 진심으로 감사하겠습니다..
-
미해결스프링 핵심 원리 - 기본편
@ComponentScan
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]컴포넌트 단원의 @ComponentScan에 관한 질문입니다 package hello.core; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.FilterType; @Configuration //ComponentSacn은 Spring빈을 전부 검색해서 담는 과정을 수행함, 정확히는 @Componet가 붙은 녀석들을 전부 담아줌 @ComponentScan( //AppConfig에 등록한 Configuration을 제외해주는 과정ㅇ excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Configuration.class) ) 위의 코드는 예제 AutoAppConfig.java 파일안의 코드입니다. 이렇게 하면 AppCongif, TestConfig에서 주가되는 Bean을 예외로 하는것은 이해했습니다. 여기서 궁금증이 생기는데 자기 자신에도 @Configuration이 추가 되어있는데 자기 자신의 @Configuaration은 예외 처리를 안해주는것인가요? 질문을 정리하면 @ComponentScan을 통한 예외처리를 진행할 때 자기 자신의 클래스는 제외하고 예외처리를 진행하는것인지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강의내용질문..
스프링 웹개발 기초 정적컨텐츠(6분31초강의)강의에서 6분10초쯤에 나오는 hello-static관련해서 궁금한게 있는데 혹시 Controller단에 getMapping에서 hello-static이 있으면 resources에 있는 static/hello-static.html이 무시가 되는지 아니면 conflict를 일으켜서 문제가 되는지 궁금합니다.
-
해결됨딥러닝 CNN 완벽 가이드 - TFKeras 버전
Alexnet 구현 코드에서 BN 질문입니다
안녕하세요! 질 좋은 강의에 감사 인사부터 드립니다! 다름이 아니라 해당 강의 7:49초 부터 AlexNet 구현 코드를 설명해주시는데요! 이론적인 부분에서 원래 Alex Net이 LRN(Local Response Normalization)이 적용되지만 구현코드 상 BN을 적용하는 걸로 설명해주셨습니다! 그런데 BN layer 코드를 자세히 보니 AlexNet 구현 과정에서는 '컨볼루션 -> 활성함수 -> BN 적용' 순서로 되어 있더라구요? 물론 이 과정이 잘못되었다는 건 아닌데 보통 '컨볼루션 -> BN 적용 -> 활성함수' 과정으로 진행하는게 대부분 더 모델 최적화에 긍정적인 영향을 미친다고 알고 있어서요! 제가 AlexNet 논문까지는 확인을 안해보았지만 논문 상에서도 LRN(실습 코드에서는 BN)이 활성함수 이후에 적용되는 순서로 되어 있는지 문의드려도 될까요!?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
로컬에서는 잘만 되는데 EB 환경에서는 안되네요 ㅠ
EB환경에서는 왜 이렇게 안될까요ㅠ 이것저것 바꿔가면서 계속 deploy 해봤는데 EB 환경에서는 도저히 안되네용.. 로컬에서는 문제없이 잘돌아가는 것으로 보아 EB 셋팅을 봐야하나 싶습니다.