묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 핵심 원리 - 기본편
[섹션 7-5] 같은 타입의 빈이 2개일 때 문제
[문제 상황]이전에는 컴포넌트 스캔의 대상으로 RateDiscountPolicy 만 등록해줬지만, FixDisCountPolicy에 @Component를 추가해서 컴포넌트 스캔의 대상으로 만들어줬습니다.그래서 같은 타입이 2개 이상일 때 @Autowired를 사용하면 오류가 발생해서 필드명을 빈 이름으로 변경하는 방법을 쓰기 위해 OrderServiceImpl의 코드를 아래와 같이 수정했습니다.OrderServiceImpl의 코드@Component public class OrderServiceImpl implements OrderService{ private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; public OrderServiceImpl(MemberRepository memberRepository,DiscountPolicy rateDiscountPolicy) { this.memberRepository = memberRepository; this.discountPolicy = rateDiscountPolicy; } 그리고 나서 아래의 테스트를 진행한 결과 ... AutoAppConfigTest public class AutoAppConfigTest { @Test @DisplayName("컴포넌트 스캔해서 스프링 빈 등록하기") void basicScan(){ AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class); MemberService memberService = ac.getBean(MemberService.class); assertThat(memberService).isInstanceOf(MemberService.class); } } AutoAppConfigTest 뿐만 아니라 CoreApplicationTests도 오류가 발생했습니다. 그리고 각각의 오류 메세지는 다음과 같습니다. AutoAppConfigTest 오류메세지 org.springframework.beans.factory.UnsatisfiedDependencyException:Error creating bean with name 'orderServiceImpl' defined in file [...\hello\core\order\OrderServiceImpl.class]:Unsatisfied dependency expressed through constructor parameter 1:No qualifying bean of type 'hello.core.discount.DiscountPolicy' available:expected single matching bean but found 2: fixDiscountPolicy,rateDiscountPolicy CoreApplicationTests 오류메세지 Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException:Error creating bean with name 'memberServiceImpl' defined in file :Unsatisfied dependency expressed through constructor parameter 0:No qualifying bean of type 'hello.core.member.MemberRepository' available:expected single matching bean but found 2: memoryMemberRepository,memberRepository OrderServiceImpl 의 코드에서 rateDiscountPolicy로 코드를 수정했음에도 왜 빈을 구분 할 수 없다는 오류가 발생한 것이고 , CoreApplicationTests는 왜 오류가 발생한 것 일까요? 참고로 @Qualifier과 @Primary 를 사용하면 AutoAppConfigTest 는 성공하고CoreApplicationTests만 실패합니다 !! 아래는 CoreApplicationTests만 실패시 오류 메세지 입니다. Caused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException:No qualifying bean of type 'hello.core.member.MemberRepository' available:expected single matching bean but found 2: memoryMemberRepository,memberRepository [질문 사항] @Autowired 매칭을 할 때 필드명, 파라미터 명으로 매칭 되어야하는데 왜 이름을 바꿨는데도 매칭이 안될까요?? AutoAppConfig의 오류는 Discount 타입을 임의로 두 개 설정해줘서 발생한 것이지만 CoreApplicationTests는 왜 오류가 발생한 걸까요?제 생각엔 수동으로 빈을 등록해주는 코드가 실행돼서 수동 빈들이 등록된 것같은데AutoAppConfig 클래스에서 @Configuration 어노테이션이 있으면 빈으로 등록되지 않게 필터도 설정했고, 테스트를 진행하며 작성한 코드도 모두 지워줬는데 왜 memberRepository가 빈으로 등록 되었을 까요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
properties logger 사용문제
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] <스프링 3.x.x 버전을 사용하고있습니다.>강의를 잘 따라가고 있었는데 properties 부분에서 막힙니다. 왜 로그가 안뜨는지 궁금합니다.
-
해결됨[2024] 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
originData.id 대신 useParams로 받은 id를 사용하여 삭제하면 안되는 이유
LocalStorage 사용 강의의 16분 50초 부근 "삭제하기" 버튼 관련 질문입니다.처음에 혼자 구현을 하려고 할 때 originData.id 대신 id를 onRemove에 파라미터로 전달했을 때 작동이 안됐는데 originData.id로 해야 삭제되더라고요. 콘솔로 찍었을 때 둘 다 일기 데이터의 id로 같은 걸 가리키는 것으로 나오는데 제가 잘못 알고 있는 부분이 있을까요? 안되는 이유가 무엇인가요? const handleDelete = () => { if (window.confirm("정말 삭제하시겠습니까?")) { console.log(id); console.log(originData.id); onRemove(originData.id); navigate("/", { replace: true }); } };
-
해결됨독하게 시작하는 C 프로그래밍
달팽이 문제] 설명을 듣지 않고 구현을 해봤습니다.
도전정신 때문에 설명 듣기 전에 구현을 했더니 강사님 의도와 다르게 구현되었지만.... 1시간 헤딩한 시간이 아까워서 남겨둡니다아~~두 가지 접근방법이 생각났는데, 그 중 하나는 이동 불가능할때마다 이동 방향을 바꾼다는 간단한 논리로 위 코드로 구현해봤고,두 번째로 생각난 접근방법은 위 그림처럼 블럭이 5, 4, 4, 3, 3, 2, 2, 1, 1 순으로 첫번째를 제외한 블럭 수가 2개씩 묶인다는 점이 생각났는데, 첫 번째 블록이 규칙에 살짝 어긋난다는 점에서 구현이 복잡해질 것 같아서 포기했습니다. 설명해주신 방법대로 위 그림에서의 블럭이 2개 합쳐진 채로 규칙을 찾았으면 간단하게 구현 가능했을 것 같습니다.설명해주신 방법으로도 구현을 해봐야겠네요..
-
미해결문과생도, 비전공자도, 누구나 배울 수 있는 파이썬(Python)!
jupyter-lab 실행 문의
jupyter-lab 실행할때 같은 jupyter-lab인데 제가 글자로 쓰면 실행이 안되고 다른 분이 jupyter-lab 쓴거 복붙한건 실행이 되는데 왜 그럴까요. 그렇다고 제가 쓴거 복붙 하면 안되고 오로지 다른 분이 쓰신 것만 복붙해야 돼요. 철자가 틀렸나 아무리 봐도 똑같아요
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberServiceTest에서 오류가 나는데 도와주세요 ㅠㅠ
<MemberService code><MemberRepository code><build.gradle><Error Messeage>어디가 문제일까요?감사합니다~~ㅜㅠㅠㅜㅠ 학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
[에러 해결] 콜백 관련 오류 나오시는 분들
promise chain 적용하여 코드를 변경했습니다. 참고하시면 좋을 거 같아요! // index.jsapp.post('/api/users/logout', auth, (req, res) => { User.findOneAndUpdate({ _id: req.user._id }, { token: "" }) .then(() => { return res.status(200).json({ logoutSuccess: true }); }) .catch((err) => { return res.status(400).json({ logoutSuccess: false, message: err.message }); }) })// auth.jsfunction auth(req, res, next) { // 쿠키에서 토큰 가져오기 const token = req.cookies.x_auth; console.log("token is ", token); // 토큰 복호화 및 유저 검색 User.findByToken(token) .then((user) => { if (!user) { throw new Error("유효하지 않은 토큰입니다."); } // 토큰과 유저정보를 다음 단계로 전달함. req.token = token; req.user = user; return next(); }) .catch((err) => { return res.status(401).json({ isAuth: false, message: err.message }); }) }// User.jsuserSchema.statics.findByToken = function(token) { const user = this; return util.promisify(jwt.verify)(token, 'secretToken') .then((decoded) => { console.log(decoded); return user.findOne({ "_id": decoded, "token": token }); }) .catch((err) => { console.log(err); throw new Error("유효하지 않은 토큰입니다."); }); }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
window cmd 창 error
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]C:\JAVA\SPRING\hello-spring gradlew.batC:\JAVA\SPRING\hello-spring gradlew build 도 해보고C:\JAVA\SPRING\hello-spring gardlew clean build 해봤습니다.그리고 환경변수도 구글보고 설정도 잘해주었는데 계속 에러가 뜨네요 왜 그럴까요오늘 하루종일 구글링해서 찾아보았는데 해결이 안됩니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
localStorage에 지역과 날씨를 저장하는 장점이 있을까요??
앞 강의 끝날때는 지연을 줄이기 위해 로컬스토리지에 저장하는걸 알아보자 하고 끝났는데,해당강의에서는 로컬스토리지 중복체크 내용을 다루고 계셔서 로컬스토리지에 저장하는 장점에 대한 궁금증이 생깁니다.강의 내용을 보면 로컬스토리지 저장된 데이터와 관련된거 먼저 보여주고, 통신 데이터가 로컬스토리지와 다르면 다른 데이터를 로컬에 저장하면서 관련된걸 보여주는식인것 같습니다.제 생각으론 같은 지역 같은 날씨, 그리고 자주 접속하거나 새로고침을 자주 한다면 좋은 방법같은데,다른 지역 이나 다른날씨 라면 처음 데이터가 오히려 잘못된걸 보여주고 늦게 바뀌는거라 그런면에서 보면 해당 기능이 장점인지가 궁금합니다.만약 큰 장점이 아니라면 로컬에 저장하고, 그 정보를 먼저보여주고, 다르다면 로컬정보 바꾸고, 해당 정보 보여주고 하는 과정의 기능이 필요한가 의문이 듭니다.아무래도 지연을 줄이기위해 로컬스토리지를 사용한다길래 무슨 방법이 있나 싶었다가 기대했던것과 다른방향이라 의문이 생겨 질문남겨봅니다.제가 잘못 이해했거나, 놓치고 있는 다른 이유가 있다면 알려주시면 감사하겠습니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
cascadetype.remove와 orpphanRemoval = true
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 제가 강의 복습 겸 혼자 개발을 하다가 궁금한점이 생겨 질문드립니다. cascadetype.remove를 설정하면 부모 엔티티가 삭제되면 자식 엔티티도 삭제되는 것이라고 알고 있습니다. 그래서 cascadetype.remove를 설정하고 부모 객체를 삭제했더니 delete 쿼리가 나가지 않았는데, 여기에 더해 orphanRemoval=True까지 설정해줬더니 delete쿼리가 나가서 부모엔티티와 자식엔티티를 모두 삭제해주었습니다.제가 잘못알고 있는 것인지 아니면 왜 두 가지 모두를 설정해줘야 delete쿼리가 나가는지 궁금해서 여쭤봅니다. @Entity @RequiredArgsConstructor @Setter @Getter public class Restaurant { @Id @GeneratedValue private Long restaurantId; @Column(unique = true) private String name; private mealoralcohol meal_alcohol; private URL url; private int saturdayopentime; private int sundayopentime; private int maxNumOfPeople; private int averagePrice; @OneToMany(mappedBy = "restaurant") private List<MenuRestaurant> menuRestaurants = new ArrayList<>(); } @Entity @RequiredArgsConstructor @Getter @Setter public class MenuRestaurant { @Id @GeneratedValue private Long menuRestaurantid; private mealtype mealtype; @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) @JoinColumn(name = "restaurantId") private Restaurant restaurant; public void setRestaurant(Restaurant restaurant){ this.restaurant = restaurant; restaurant.getMenuRestaurants().add(this); } } @Repository @RequiredArgsConstructor public class RestaurantRepository { private final EntityManager em; public void save(Restaurant restaurant){ em.persist(restaurant); } public Restaurant findById(Long id){ return em.find(Restaurant.class,id); } public void delete(Restaurant restaurant){ Assert.notNull(restaurant,"Entity must not be null!"); if (em.contains(restaurant)){ em.remove(restaurant); } } } @RunWith(SpringRunner.class) @SpringBootTest @Transactional public class RestaurantRepositoryTest { @Autowired RestaurantRepository rr; @Autowired EntityManager em; @Test @Rollback(false) public void testJPQL() throws Exception{ Restaurant res1 = new Restaurant(); res1.setName("res1"); res1.setAveragePrice(10000); res1.setSaturdayopentime(17); res1.setSundayopentime(17); res1.setMaxNumOfPeople(29); res1.setMeal_alcohol(mealoralcohol.Meal); em.persist(res1); MenuRestaurant menures1 = new MenuRestaurant(); em.persist(menures1); menures1.setRestaurant(res1); menures1.setMealtype(mealtype.Korean); // heavyres1 MenuRestaurant menures2 = new MenuRestaurant(); em.persist(menures2); menures2.setRestaurant(res1); menures2.setMealtype(mealtype.heavy); // japaneseres2 MenuRestaurant menures3 = new MenuRestaurant(); em.persist(menures3); menures3.setRestaurant(res2); menures3.setMealtype(mealtype.Japanese); rr.delete(res1); } } 여기서 rr.delete(res1)을 했을 때, Restaurant 클래스의 orphanRemoval=True 설정을 없애면 delete쿼리가 나가지 않습니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
Stateless와 비연결성 질문입니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요 복습하다가 궁금한 것이 생겨서 질문 남깁니다.Stateful에서 Stateless로 발전하게 된 이유는 중간에 서버가 끊기거나, 많은 클라이언트의 요청에도 어느 서버가 투입이 가능하기 때문에 서버의 효율이 높아지게 되어 사용하게 된 것인가요? Persistent Connection가 생기게 된 배경은 연결성으로 하게 된다면 클라이언트가 사용하지도 않는데 서버와 연결이 되어 있으니 자원이 낭비되고,비연결성으로 하게 되면 자주 사용하는 웹 사이트에 접속한다면 3 hand shake로 인해 시간이 길어지고 비효율적이기 때문에 그 중간인 Persistent Connection을 사용하게 된 것으로 이해하면 되나요? 감사합니다!
-
해결됨실리콘밸리 엔지니어와 함께하는 랭체인(LangChain)
chroma db import 가 업데이트된 것 같습니다.
from langchain_community.vectorstores.chroma import Chroma이렇게 되어야 Chroma를 vscode에서 인식하는 것 같습니다.
-
해결됨블렌더 입문 : UX/UI 디자이너를 위한 3D 아이콘으로 배우는 블렌더!
베벨주는데 방향이 이상해요..
베벨 주는데 엣지가 바깥쪽으로 부드럽게 만들어져야하는데 안쪽으로밖에 안만들어집니다..ctrl+A눌러서 어플라이 올이랑 스케일 둘다 눌렀는데도 저래요..왜저럴까요..?
-
미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL 문제풀이
set 3의 3번 문제- 데이터의 개수가 짝수일 때 질문
set 3의 3번 문제에서, 데이터의 개수가 짝수일 때 다음 쿼리문을 알려주셨는데요.SELECT ROUND(AVG(LAT_N), 4) FROM ( SELECT ROW_NUMBER() OVER (ORDER BY LAT_N) - 1 AS row_num , COUNT(*) OVER () - 1 AS row_total , LAT_N FROM Station ) t WHERE row_num IN (FLOOR(row_total / 2), CEIL(row_total / 2))이때, 왜 ROW_NUMBER()와 COUNT(*) 에서 각각 1을 빼는건가요? 각각 1을 빼지 않아도 정답이 잘 출력되는데, 혹시 이 문제에서는 드러나지 않는 예외상황이 있는걸까요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
/hello가 안돼고 index는 바로 hello의 내용이 나와버립니다.
[질문 내용]여기에 질문 내용을 남겨주세요.8080포트 말고 8090으로 쓰고있는데실행하면 8090이 index가 나타나야하고hello 는 a 태그가 나타나야하는데 localhost:8090에서 바로 hello 파일이 나와버립니다. 정작 localhost:8090/hello로 들어가면 화이트라벨이나옵니다. 어떻게해결해야할까요>?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
[에러 해결] (function) no longer accepts a callback
이제는 promise chain이나 async await 문으로 콜백함수를 처리해야 하는 것으로 보입니다. 다음과 같이 코드를 수정해서 돌아가는 것을 확인했으니 활용하시면 좋을 것 같아요! // index.jsapp.post('/login', (req, res) => { // 이메일이 DB에 있는지 확인 User.findOne({ email: req.body.email }) .then (async (user) => { if (!user) { throw new Error("제공된 이메일에 해당하는 유저가 없습니다.") } // 비밀번호가 일치하는지 확인 const isMatch = await user.comparePassword(req.body.password); return { isMatch, user }; }) .then(({ isMatch, user }) => { console.log(isMatch); if (!isMatch) { throw new Error("비밀번호가 틀렸습니다.") } // 로그인 완료 return user.generateToken(); }) .then ((user) => { // 토큰 저장 (쿠키, localstorage ...) return res.cookie("x_auth", user.token) .status(200) .json({ loginSuccess: true, userId: user._id }); }) .catch ((err) => { console.log(err); return res.status(400).json({ loginSuccess: false, message: err.message }); }) }); // User.jsuserSchema.pre('save', function( next ) { // 비밀번호 암호화 const user = this; if(user.isModified('password')) { bcrypt.genSalt(10, function(err, salt) { if (err) { return next(err); } bcrypt.hash(user.password, salt, function(err, hash) { if (err) { return next(err); } user.password = hash; return next(); }); }); } else { return next(); } }); userSchema.methods.comparePassword = function(plainPassword) { // 암호화된 비밀번호와 같은지 체크 const user = this; return bcrypt.compare(plainPassword, this.password) } userSchema.methods.generateToken = function() { // jwt 생성 user = this; const token = jwt.sign(user._id.toJSON(), 'secretToken'); user.token = token; return user.save(); }
-
해결됨Flutter 앱 개발 실전
CartService 강의에서 질문이요
안녕하세요. CartService 강의에서 CartService의 cartItemList를 굳이 const 로 선언하는 이유가 있는지 궁금합니다.
-
미해결가장 빠른 풀스택: 파이썬 백엔드와 웹기술 부트캠프 (flask/플라스크와 백엔드 기본) [풀스택 Part1-1]
flask_cors설치 오류
pip install flask_cors를 통해 설치가 완료된뒤 석세스라는 메세지까지 출력이 되었는데요, from flask_cors import CORS를 입력하면 flask_cors부분에 밑줄이 그어지면서 modulenotfinderror가 발생을 합니다. 어떻게 해결을 해야지 좋을까요..?? 참고로 맥 쓰고있습니다. flask_cors를 지운뒤, brew install flask_cors를 해도 같은 에러메세지가 출력이 되고있습니다
-
해결됨모의해킹 실무자가 알려주는, 파일 다운로드 취약점 공격 기법과 실무 사례 분석
33강 [실습4-1] 실무 사례 분석(1) 에 대한 질문이 사항이 있습니다.
안녕하세요. 크리핵티브 강사님 실습4-1 강의 진행 중에 오류 사항이 발생하여 질문 드리게 되었습니다. [공유해주신 환경 구성 현황]--> 현재 저는 공유해주신 자료(환경)를 C:\apache-tomcat-8.5.90-windows-x64\apache-tomcat-8.5.90\webapps\ROOT 폴더 아래에 압축을 해제 하였으며 강의 내용 대로 해당 디렉토리 이름을 practice로 변경 하였습니다. --> 환경의 동작 자체는 문제가 없었습니다. [문제상황]--> 해당 다운로드 버튼을 클릭해서 동작 시키면 --> 다운로드 코드가 그대로 나옵니다. --> burp suite에서 캡처를 해서 보면 그대로 다운로드 코드가 response로 오는 것을 알 수 있습니다.--> 강의 내용대로 ㅇ filename=/Chrysanthemum.jpgㅇ filename=Chr/ysanthemum.jpgㅇ filename=%5cChrysanthemum.jpgㅇ filename=Chr%5cysanthemum.jpg등등을 시도해도 동일하게 그냥 download 코드가 나오고 있습니다.--> 그래서 강의 내용을 그대로 수행해도 filedownload 실습을 진행하기가 어렵습니다. 참고로 강사님이 공유해주신 이미지 파일 위치는 수정하지 않았습니다.[실습 대상 이미지 파일 위치]--> practice -> prob1-> upload 아래에 Chrysanthemum.jpg 파일 위치 --> 어느 부분에서 문제가 발생한 것 이며 어디를 수정해야 하는지 가르쳐 주시면 감사하겠습니다.
-
미해결[실전 게임 코드 리뷰] 유니티 클리커 게임
바인드가 안돼요
안녕하세요 오랜만입니다.. 오늘도 어김없이 어디가 잘못된지 모르겠어서 여쭈어봅니다.제가 만들려는 게임이 단순해서 부분적으로 개미회사게임 코드를 참고해서 UIBase 비스무리한 역할을 하는 스크립트를 만들었습니다.빈 오브젝트에 아래와 같은 스크립트가 붙어있구요 빈 오브젝트의 자식들로 팝업 객체들이 있습니다. 그런데 모든 객체가 계속 바인딩에 실패합니다. 아무리봐도 이름도 똑같이 설정했습니다. 대체 뭐가 문제일까요. 스크립트는 메일로 전송하겠습니다 미리 감사합니다..ㅠㅠ 추가적으로 필요한 부분이 있으면 말해주세요 처음부터 너무 구조적으로 만들기가 너무 어려워서 드래그 좀 하며 하드코딩으로 어찌저찌 작동시켜놓고 깨끗하게 정리하고싶어서 바꿨다가 이도저도 못하고 봉변당하고있는데 파일을 복제해놓고 했어야했을까요..? 부탁드립니다 엉엉