묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결마케터를 위한 구글 애널리틱스 실무
안녕하세요. pdf 수업 자료 공유 부탁드립니다.
저두 초보입니다. 수업자료 부탁드립니다. 꾸벅bbugury-r@nate.com
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
saa와 scp 내용 비교
saa 강의 듣고 scp도 취득할수 있나요?
-
미해결스프링 부트 - 핵심 원리와 활용
잘 이해가 안갑니다...
MyContainerInitV1 : ServletContainerInitializer을 implement한 클래스로서 서블릿 컨테이너 초기화를 위해 작성됐다.HelloServlet : HttpServlet을 상속받은 Servlet이다.AppInit : 애플리케이션 초기화를 위한 인터페이스이다.AppInitV1Servlet : AppInit를 implement한 애플리케이션 초기화 클래스 ? onStartup()을 통해 서블릿 컨테이너를 초기화하고 서블릿도 등록한다. MyContainerInitV2: ServletContainerInitializer을 implement한 클래스로서 @HandlesTypes(AppInit.class) 해줌으로써 해당 AppInit의 onStartup()을 통해 서블릿 컨테이너의 ctx를 파라미터로 보내서 AppInit 객체를 생성한다?================================제가 이해한 개념이 맞나요? 뭔가 용어들이 비슷해서 명확하게 이해가 안되는 것 같습니다. ㅠㅠ질문1) 컨테이너 초기화와 애플리케이션 초기화는 다른 건가요? 각각 뭐가 다르고 왜 해주는건지 잘 모르겠습니다. ㅠㅠ 질문2) AppInit과 ServletContainerInitializer은 둘다 onStartup()를 가지고 있던데.. 서로 다른 역할을 하는 각각의 인터페이스죠..? 질문3) AppInitV1Servlet 은 서블릿 컨테이너 초기화하고 서블릿도 등록하고, MyContainerInitV2도 서블릿 컨테이너 초기화와 서블릿 등록을 하게되는데 둘의 차이는 뭔가요?...너무 헷갈려요 ㅠㅠㅠㅠㅠ
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
첫페이지 크롤링하기 오류
안녕하세요!! 바꿔서 올려주신 강의자료 복사해서 사용해도 작동하지 않습니다!!맥북 사용중이라 혹시나해서 유저 에이전트 값을Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 으로 변경해서 진행했는데도 값이 나오지 않아요!! 확인부탁드립니다.! import requests from bs4 import BeautifulSoup main_url = "https://www.coupang.com/np/search?component=&q=usb%ED%97%88%EB%B8%8C&channel=user" # 헤더에 User-Agent, Accept-Language 를 추가하지 않으면 멈춥니다 header = { 'Host': 'www.coupang.com', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'Accept-Language': 'ko-KR,ko;q=0.8,en-US;q=0.5,en;q=0.3', } response = requests.get(main_url, headers=header) html = response.text soup = BeautifulSoup(html, 'html.parser') links = soup.select("a.search-product-link") # select의 결과는 리스트 자료형 print(links)
-
미해결처음 만난 리액트(React)
false expression
Inline If에서 false expression을 사용하면 뒤에 내용은 평가되지 않지만, false expression의 결과 값이 그대로 리턴되기 때문에 주의 해야 한다 이렇게 말씀하셨는데 그러면 하단의 흰색 박스에 조건이 만족하지 않을 경우에도 결과 값을 그대로 리턴하나요..?
-
해결됨게임 프로그래머 취업 전략 가이드
[취업] 게임 클라이언트 개발자를 준비중입니다.
안녕하세요 현재 독학으로 게임 클라이언트 개발자를 준비하고 있습니다. 팀 프로젝트 경험이 없고 포폴은 유니티를 이용해 하이퍼 캐주얼 게임 2개정도 이며, 루키스님을 알게되어 프로그래머스와 백준에서 문제풀이를 하며 유니티 강의 수강을 고민하고 있습니다.루키스님의 유니티 mmo강의는 클라와 서버부분을 같이 공부할 수 있을 것 같은데, 빠른 취업을 목표로 강의는 최소 어디까지 듣는게 좋을지 포폴은 어느정도 수준이어야 할지 감이 잡히지 않아서 질문드립니다.
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
mapState을 이용하여 state값을 가져오면 가져와지는데 개발자 도구 Vuex 부분에서는 state값이 없다고 뜹니다.
mapState을 이용하여 state값을 가져오면 가져와지는데 개발자 도구 Vuex 부분에서는 state값이 없다고 뜹니다. 단순한 개발자도구 에러일까요? 다른 이유가 있을까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
값 타입 컬렉션 삭제부분에서 이해가 안가는곳이 있는데요
챕터9 값 타입 컬렉션 25분Address 값 타입 컬렉션 삭제 부분입니다. 우선 삭제되는 부분만 확인하고 싶어서, 새로운 값을 추가하지는 않았습니다.System.out.println("========== 값 타입 컬렉션 주소 삭제================"); findMember.getAddressHistory().remove(new Address("old1", "street", "zipcode")); 데이터는 정상적으로 삭제되었는데, 저는 왜 Member테이블에 대해 update쿼리가 나가는지가 이해가 안가는데요,Member 테이블에서는 수정사항이 발생할게 없는데 왜 update쿼리도 발생했는지 알 수 있을까요? 혹시 몰라 코드 전체와 결과 남깁니다. Member member = new Member(); member.setUsername("member1"); member.setHomeAddress(new Address("homeCity","street","zipcode")); member.getFavoriteFoods().add("꾸부라꼬"); member.getFavoriteFoods().add("카페라떼"); member.getFavoriteFoods().add("회"); member.getAddressHistory().add(new Address("old1", "street", "zipcode")); member.getAddressHistory().add(new Address("old2", "street", "zipcode")); em.persist(member); em.flush(); em.clear(); System.out.println("================== 조회 시작 =================="); Member findMember = em.find(Member.class, member.getId()); System.out.println("================== 컬렉션은 지연로딩, Addr 조회 =================="); List<Address> addressHistory = findMember.getAddressHistory(); for(Address address : addressHistory) { System.out.println("address = " + address.getCity()); } System.out.println("================== 컬렉션은 지연로딩, favorite food 조회 =================="); Set<String> favoriteFoods = findMember.getFavoriteFoods(); for(String favoriteFood : favoriteFoods) { System.out.println("favoriteFood = " + favoriteFood); } Address homeAddress = findMember.getHomeAddress(); findMember.setHomeAddress(new Address("new change city", homeAddress.getStreet(), homeAddress.getZipcode())); findMember.getFavoriteFoods().remove("꾸부라꼬"); findMember.getFavoriteFoods().add("무화과 크림치즈 베이글"); System.out.println("========== 값 타입 컬렉션 주소 삭제================"); findMember.getAddressHistory().remove(new Address("old1", "street", "zipcode")); tx.commit(); Hibernate: /* insert hellojpa.Member */ insert into Member (city, street, zipcode, USERNAME, MEMBER_ID) values (?, ?, ?, ?, ?) Hibernate: /* insert collection row hellojpa.Member.addressHistory */ insert into ADDRESS (MEMBER_ID, city, street, zipcode) values (?, ?, ?, ?) Hibernate: /* insert collection row hellojpa.Member.addressHistory */ insert into ADDRESS (MEMBER_ID, city, street, zipcode) values (?, ?, ?, ?) Hibernate: /* insert collection row hellojpa.Member.favoriteFoods */ insert into FAVORITE_FOOD (MEMBER_ID, FOOD_NAME) values (?, ?) Hibernate: /* insert collection row hellojpa.Member.favoriteFoods */ insert into FAVORITE_FOOD (MEMBER_ID, FOOD_NAME) values (?, ?) Hibernate: /* insert collection row hellojpa.Member.favoriteFoods */ insert into FAVORITE_FOOD (MEMBER_ID, FOOD_NAME) values (?, ?) ================== 조회 시작 ================== Hibernate: select member0_.MEMBER_ID as member_i1_6_0_, member0_.city as city2_6_0_, member0_.street as street3_6_0_, member0_.zipcode as zipcode4_6_0_, member0_.USERNAME as username5_6_0_ from Member member0_ where member0_.MEMBER_ID=? ================== 컬렉션은 지연로딩, Addr 조회 ================== Hibernate: select addresshis0_.MEMBER_ID as member_i1_0_0_, addresshis0_.city as city2_0_0_, addresshis0_.street as street3_0_0_, addresshis0_.zipcode as zipcode4_0_0_ from ADDRESS addresshis0_ where addresshis0_.MEMBER_ID=? address = old1 address = old2 ================== 컬렉션은 지연로딩, favoritfood 조회 조회 ================== Hibernate: select favoritefo0_.MEMBER_ID as member_i1_4_0_, favoritefo0_.FOOD_NAME as food_nam2_4_0_ from FAVORITE_FOOD favoritefo0_ where favoritefo0_.MEMBER_ID=? foavortefood = 꾸부라꼬 foavortefood = 회 foavortefood = 카페라떼 ========== 값 타입 컬렉션 주소 삭제================ Hibernate: /* update hellojpa.Member */ update Member set city=?, street=?, zipcode=?, USERNAME=? where MEMBER_ID=? Hibernate: /* delete collection hellojpa.Member.addressHistory */ delete from ADDRESS where MEMBER_ID=? Hibernate: /* insert collection row hellojpa.Member.addressHistory */ insert into ADDRESS (MEMBER_ID, city, street, zipcode) values (?, ?, ?, ?) Hibernate: /* delete collection row hellojpa.Member.favoriteFoods */ delete from FAVORITE_FOOD where MEMBER_ID=? and FOOD_NAME=? Hibernate: /* insert collection row hellojpa.Member.favoriteFoods */ insert into FAVORITE_FOOD (MEMBER_ID, FOOD_NAME) values (?, ?) Process finished with exit code 0
-
미해결C# 프로그래밍 기초
메서드 Override1
09:58 이 부분에서 저는 Student가 아닌 Human이 나오는데 원인을 잘 모르겠습니다.ㅠㅠ
-
미해결밑바닥부터 시작하는 왕초보 유니티 2D 게임제작
섹션2: 에너미이동
랜덤하게 에너미이동을 진행할 때, speed를 높이면 씬뷰에서 카메라 범위를 벗어나게 되어서 기존 코드에 다음 코드를 추가하였습니다. 그런데도 씬뷰를 벗어나게 되더라고요. 업데이트 부분에서 현재 위치의 x,y가 주어진 범위를 벗어나면 코루트를 시작하는 함수를 호출하여 다시 목표 방향을 설정한건데 왜 벗어나는 걸까요?if(transform.position.x < (-hs.x)){ StartCoroutine(ChangeDir(3f)); } if(transform.position.x > (hs.x)){ StartCoroutine(ChangeDir(3f)); } if(transform.position.y < (-hs.y)){ StartCoroutine(ChangeDir(3f)); } if(transform.position.y > (hs.y)){ StartCoroutine(ChangeDir(3f)); }using System.Collections; using System.Collections.Generic; using UnityEngine; public class EnemyMove1 : MonoBehaviour { public float speed = 3; Vector2 hs; //half screen: 원점 초기화 Vector2 dir; //direction: 원점 초기화 // Start is called before the first frame update void Start() { hs.x = Camera.main.orthographicSize; //카메라 위쪽에서 아래쪽 바라보는 가로의 길이 hs.y = Camera.main.aspect * hs.x; //가로세로 비율 * 가로 길이 = 세로 길이 StartCoroutine(ChangeDir(3f)); } // Update is called once per frame void Update() { Vector2 delta = dir * speed * Time.deltaTime; transform.Translate(delta); //자동으로 z가 0으로 됨. if(transform.position.x < (-hs.x)){ StartCoroutine(ChangeDir(3f)); } if(transform.position.x > (hs.x)){ StartCoroutine(ChangeDir(3f)); } if(transform.position.y < (-hs.y)){ StartCoroutine(ChangeDir(3f)); } if(transform.position.y > (hs.x)){ StartCoroutine(ChangeDir(3f)); } } IEnumerator ChangeDir(float delta){ Vector2 goal; while(true){ goal.x = Random.Range(-hs.x,hs.x); //전체 가로 길이 goal.y = Random.Range(-hs.y,hs.y); //전체 세로 길이 dir = goal - (Vector2) transform.position; //이동방향 = 목표지점 - 현재위치(Vector3) dir.Normalize(); float delay = Random.Range(1f,delta); yield return new WaitForSeconds(delta); } } }
-
미해결밑바닥부터 시작하는 왕초보 유니티 2D 게임제작
섹션2: 에너미 이동2
void Update() { Vector2 delta = dir * speed * Time.deltaTime; }이 부분에서 왜 dir을 곱하는 지 이해가 되지 않습니다!그 전에는 초당 얼만큼 가기 위해 speed를 곱했는데 dir은 여기서 무엇을 뜻하는 걸까요?
-
해결됨Verilog FPGA Program 2 (MicroBlaze, Arty A7-35T)
자료링크 "접근이 불가능합니다"
"접근이 불가능합니다" 라고 뜨며 다운로드가 불가능합니다.
-
미해결스프링 핵심 원리 - 기본편
AllBeanTest시 왜 NullpointException 에러가 발생하나요 ㅠ
sout 으로 policyMap과 policies에 값이 fixDiscount와 RateDiscount가 들어가있는걸 확인했는데 왜 널포인트에러가 발생할까요 ㅠ package hello.core.autowired.AllBeanTest; import hello.core.AutoAppConfig; import hello.core.discount.DiscountPolicy; import hello.core.member.Grade; import hello.core.member.Member; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import java.util.List; import java.util.Map; import static org.assertj.core.api.AssertionsForClassTypes.assertThat; public class AllBeanTest { @Test void findAllBean() { ApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class, DiscountService.class); DiscountService discountService = ac.getBean(DiscountService.class); Member member = new Member(1L, "userA", Grade.VIP); int discountPrice = discountService.discount(member, 10000,"fixDiscountPolicy"); Assertions.assertThat(discountService).isInstanceOf(DiscountService.class); assertThat(discountPrice).isEqualTo(1000); } static class DiscountService { private final Map<String, DiscountPolicy> policyMap; private final List<DiscountPolicy> policies; @Autowired public DiscountService(Map<String, DiscountPolicy> policyMap, List<DiscountPolicy> policies) { this.policyMap = policyMap; this.policies = policies; System.out.println("policyMap = " + policyMap); System.out.println("policies = " + policies); } public int discount(Member member, int price, String discountCode) { DiscountPolicy discountPolicy = policyMap.get(discountCode); return discountPolicy.discount(member, price); } } }
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
refetchQueries 질문
안녕하세요.강의를 복습하던 도 중 궁금한게 생겨서 질문 드립니다.onClick={qqq}으로 버튼을 클릭시 5개 정도의 데이터가 refetchqueries 되어야 하는데 모두 다 쓰면 비효율적 인 듯 합니다.많은 데이터가 refetch되어야 할 때 페이지가 새로고침 되는것이 낫다고 생각 하는데.. 1.새로고침을 한다면 어떤식으로 코드를 써야하나요?2. 둘 중 어느것이 더 효율적일까요.
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Row 위젯의 children의 [위젯1, 위젯2...] 안에서 if문
위 코드처럼 Row위젯의 children 파라미터에 있는 ElevatedButton 위에 if문을 작성하였는데,이떄 if 문을 적용하는 코드에는 {} 를 쓰는데 여기서는 안써도 왜 if문을 먼저 통과해야 ElevatedButton이 생기는지 이유가 궁금합니다!
-
미해결처음 만난 리덕스(Redux)
todo 추가, 삭제, 모두삭제는 되는데 devtools에서 변화가 없어요
기능은 동작하는데 devtools에 state, diff 에서 정상적으로 나오지 않습니다.. 뭐가 문제일까요?
-
미해결Illustrator CC - 일러스트레이터 입문부터 실전까지 한번에 마스터하기
예제파일이 이상합니다...
잘못된 파일이라며 압축이 풀리지도 않고 안에 아무것도 없다고 뜨네요. 여러 번 지우고 새로 다운 받아도 마찬가지입니다. 뭐가 문제일까요...?
-
해결됨디자인 시스템 with 피그마
안녕하세요 <Spacing mode> 탭 자체가 보이지가 않아서요
안녕하세요 어플라이 부분을 보고 있는데 3:20초 쯤 Space between 을 해제하는 부분이 있는데현재 피그마에서 그 부분 <Spacing mode> 탭 자체가 보이지가 않아서요혹시 제가 못 따라간 부분이 있을까요?아니면 ui가 바껴서 탭 위치가 달라졌을까요?? ㅜㅜ
-
해결됨처음 만난 리덕스(Redux)
안녕하세요, Counter 애플리케이션 실습 부분에서 질문있습니다!
function render() { valueEl.innerHTML = store.getState().toString(); } render(); // redux store에 변화가 있을 때마다 render 함수를 호출한다. store.subscribe(render);정말 별건 아니지만 store.subscribe(render) 부분이 그냥 문맥 상 읽으면 store가 render를 구독한다 의 표현이 되는데, 코드 상의 흐름은 store의 변화에 따라 render가 실행되니 render가 store를 구독하는 걸로 이해했습니다. 이게 맞는지 궁금합니다.
-
미해결Practical Testing: 실용적인 테스트 가이드
isEqualByComparingTo를 사용하는 이유가 궁금합니다.
안녕하세요강의를 듣다가 궁금증이 생겨서 질문을 드립니다.void init() { // given List<Product> products = List.of( createProduct("001", 1000), createProduct("002", 2000) ); // when Order order = Order.create(products, LocalDateTime.now()); // then assertThat(order.getOrderStatus()).isEqualByComparingTo(OrderStatus.INIT); }강의에서 OrderTest 클래스 테스트 과정에서 enum을 비교할때 isEqualByComparingTo를 사용하셨습니다. assertThat(order.getOrderStatus()).isEqualTo(OrderStatus.INIT);위와 같이 isEqualTo를 사용해도 enum을 비교할 수 있는데, 혹시 isEqualTo 대신 isEqualByComparingTo를 사용한 이유를 알 수 있을까요? isEqualByComparing가 정의된 AbstractComparableAssert.java를 확인해보면 BigDecimal을 예시로 들어서 사용법을 설명하고 있습니다.BigDecimal의 예시로 Enum을 써야 하는 방법을 생각해보았는데, 유추(?)가 잘 되지 않아서 질문을 남깁니다. 항상 좋은 강의 제공해주셔서 감사합니다!!😀😀