20강 수강중입니다. membervo에서 pass는 int로 지정되어있짐만 memberInsertController에서는 String으로 되어있는지 궁금합니다. 위 내용으로 인해 오류가 발생합니다. 도와주세요 java: constructor MemberVo in class model.MemberVo cannot be applied to given types; required: int,java.lang.String,int,java.lang.String,int,java.lang.String,java.lang.String found: no arguments reason: actual and formal argument lists differ in length
S500 쿼드콥터 드론 PDB 에디션 Kit - 카본 랜딩기어 포함 - 프레임 [RTS] S2312-920KV Motor for F450/F550/S500/TBS500 Multicopter(CCW/HP/V3) - 모터(반시계) [RTS] S2312-920KV Motor for F450/F550/S500/TBS500 Multicopter(CW/HP/V3) - 모터(시계) [GT-Drone] EC-X3 ESC for Multicopters (30A/OPTO/COB/6S) - ESC [TR] 9x4.5 자동 잠금 프로펠라 (DJI/Universal Type) - White - 프로펠러 이 부품들과 배터리만 5000mAh를 사용하고 나머지는 강의에 나와있는 부품을 그대로 사용해서 사이즈가 큰 드론을 한 번 만들어 보고 있습니다. 그런데 수동비행을 하기위한 PID제어 값을 구하고 시험비행 하는게 위험해서 힘들더라고요 ㅜㅜ 선생님 저 부품들을 사용할 땐 PID값을 어떤 값을 써야 하는지 알고 계신가요? PID제어 부분이 막혀서 도움을 요청드립니다.
질문을 온전히 이해할 수 있도록, 모든 맥락을 전달해주세요. 질문은 질문자가 번거로워야 보다 좋은 답변을 얻으실 수 있습니다. 시행착오를 알려주시면 곧바로 원하는 문제에 집중할 수 있습니다. 오류 메시지는 일부만 알려주시기보다 전체 오류 메시지를 캡처해서 주시면, 오류 파악에 도움이 됩니다. 당신의 파이썬/장고 페이스메이커가 되겠습니다. ;-) 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. =================================== Song 모델, slug 필드 추가에서 질문이 몇 가지 있습니다. 우선, Meta 속성 추가는 makemigration을 위한 것이고, get_absolute_url method는 template에서 호출하기 위해 정의한 것으로 이해했습니다. 첫 질문은 makemigration을 두 단계로 나눈 이유가 있나요? class Migration(migrations.Migration): dependencies = [ ("hottrack", "0001_initial"), ] operations = [ migrations.AddField( model_name="song", name="slug", field=models.SlugField(allow_unicode=True, blank=True), ), migrations.AddIndex( model_name="song", index=models.Index(fields=["slug"], name="hottrack_so_slug_7cf104_idx"), ), migrations.RunPython(forward_code, reverse_code=migrations.RunPython.noop) ] 이런식으로 한번에 처리하면안되나요? 또한 영상 8:06 실습 영상에서는 생략되어있지만 5:40 설명하실 때는 class Song(models.Model): melon_uid = models.CharField(max_length=20, unique=True) rank = models.PositiveSmallIntegerField() album_name = models.CharField(max_length=100) name = models.CharField(max_length=100) artist_name = models.CharField(max_length=100) cover_url = models.URLField() lyrics = models.TextField() genre = models.CharField(max_length=100) release_date = models.DateField() like_count = models.PositiveIntegerField() slug = models.SlugField(allow_unicode=True, blank=True) class Meta: # Model의 related field, primary key에 대해서는 자동으로 index가 생성된다. # 이외에 model을 쿼리할 때 자주 사용되는 field인 경우 index 생성을 고려해보는 것이 좋다 indexes = [ models.Index(fields=["slug"]) ] def slugify(self, force=False): if force or not self.slug: self.slug = slugify(self.name, allow_unicode=True) def save(self, *args, **kwargs): self.slugify() super().save(*args, **kwargs) @property def get_absolute_url(self) -> str: # slug = slugify(self.name, allow_unicode=True) ###################################################### print("-----------check-----------") self.save() # 강의 상에서 누락 ####################################################### return reverse( viewname="hottrack:song_date_detail", args= [ self.release_date.year, self.release_date.month, self.release_date.day, self.slug, ] # kwargs={"pk": self.pk} ) get_absolute_url 내부에 self.slugify()를 호출하여 detail 버튼을 클릭하였을 때 slug가 없으면 name으로 부터 slugify를 수행하는 것으로 이해하였는데 그 경우 db에 저장되지 않습니다. 그래서 제 경우 임으로 self.save ()로 줄을 추가하여 db에 저장되도록 하였습니다. 테스트를 위해 0002 migration만 진행하여 빈 slug필드만 생성하였습니다. 그러나 버튼을 눌러 페이지를 호출 시 url은 정상적으로 생성되었으나 db 업데이트가 이루어지지 않아 404 not found가 발생합니다. 추가적으로 print 문도 stream에 나오지 않습니다. 아마 template단에서 method를 콜해서 그런거 같은데 문제가 뭔가요? 만약 제가 이해한 바가 틀리다면, save와 slugify method는왜 정의했으며 어디에 사용되는 건가요?
안녕하세요 선생님! 가뭄에 단비 같은 VR 강의 너무 잘 보고 있습니다! 강의를 따라가는데 자꾸 실행할 때마다 플레이어의 눈높이가 바닥보다 아래에 있어서 진행에 어려움이 있습니다. VR_Root 의 Z축 값을 조정해봤는데도 그대로 이더라고요. 혹시 제가 블루프린트에서 놓친 설정이 있는지 하여 사진을 첨부합니다. 다시 한번 강의를 들어봤는데 답을 찾지 못하고 계속 시간이 소요되어... 생각보다 쉬운 부분을 제가 놓치고 있는지 여쭤보고 싶네요. 이상입니다, 감사합니다.
코딩 입문자입니다. 간단한 사진첩 클릭 사이트를 만들었는데요. 스샷처럼 한쪽 사진만 계속 선택 했을 때는 함수가 한번만 실행되며 제가 원하는 아웃풋이 나오는데, 다른 사진을 선택하면 함수가 여러번 실행이 되네요... 소스는 html+js+부트스트랩 으로 짰습니다. 원본소스의 링크는 아래 올려놨습니다. https://drive.google.com/file/d/1Ov0Qik9ofDHli-TsblLw5OkUz7uCXTDo/view?usp=drive_link 왜 이런건지 너무 답답하네요 ㅠㅠ 왜 이런건지 누가 좀 알려주세요 ㅠㅠ
제로쵸 님의 강의를 여러개 듣고 있는 코딩 입문자입니다 ㅜ 간단한 사진첩 클릭 사이트를 만들었는데요. 스샷처럼 한쪽 사진만 계속 선택 했을 때는 함수가 한번만 실행되며 제가 원하는 아웃풋이 나오는데, 다른 사진을 선택하면 함수가 여러번 실행이 되네요... 왜이러는걸까요? ㅜㅜ 소스는 html+js+부트스트랩 로 짰습니다. 원본소스의 링크는 아래 올려놨습니다. https://drive.google.com/file/d/1Ov0Qik9ofDHli-TsblLw5OkUz7uCXTDo/view?usp=drive_link
안녕하세요. 최근 검색어 구현 중 Store.js에서 스토리지의 historyData를 받아와서 sort를 할 때, 강의에서 나오는대로 > 부등호로 하면 정렬이 되지 않고 - 를 해줘야 내림차순으로 정렬이 됩니다. 왜 강의와 똑같이 부등호로 했을 때 정렬이 안되는 것일까요? getHistoryList() { return this.storage.historyData.sort(this._sortHistory); // 날짜 역순 정렬 } _sortHistory(history1, history2) { // return history2.date > history1.date; return history2.date - history1.date; }
public class StringImmutable2 { public static void main(String[] args) { String before = "hello"; String after = before.concat(" java"); System.out.println("before = " + before); System.out.println("after = " + after); } } 자바 프로그램 로딩 시점에 문자열 리터럴이 문자열 풀에 보관된다고 알고 있는데요. 위 코드에서 "hello" 뿐만 아니라 " java"도 문자열 리터럴인가요? 그렇다면 " java"도 문자열 풀에 저장되는 것인가요? (제가 자바 기초 지식이 부족한 상태입니다) concat() 내부에서 생성하는 String 인스턴스는 문자열풀에 생성되는 것인가요? 아니면 문자열풀이 아닌 힙 영역에 생성되는 것인가요?
package com.myproject.jpaboard.web.service; import com.myproject.jpaboard.domain.Post; import com.myproject.jpaboard.web.repository.BoardRepository; import lombok.RequiredArgsConstructor; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import java.util.Optional; @SpringBootTest @RequiredArgsConstructor class PostServiceTest { private final BoardRepository boardRepository; private final PostService postService; @Test void addViewCount() { Optional<Post> byId = boardRepository.findById(1L); Post post = byId.get(); System.out.println("post.getViewCount() = " + post.getViewCount()); postService.addViewCount(1L); System.out.println("post.getViewCount2() = " + post.getViewCount()); } } 안녕하세요. 개인적으로 배운것들을 따로 테스트중입니다. 위의 코드와 같이 생성자 주입을 하니 boardRepository에 NullPointerException이 발생하였습니다. @Autowired를 이용한 필드 주입으로 코드를 수정해보니 문제가 해결되었습니다. 원인을 추측해보면, 테스트 메서드 실행할 때 주입받을 빈이 초기화되어있지 않기 때문으로 보입니다. 이런 상황이 처음이라 지식 공유자님의 의견을 듣고싶습니다.
SQL 공부하다가 궁금한점이 생겼어요! 실행순서는 group by가 select 보다 먼저 실행되는 것으로 알고 있는데 select절에서 설정한 별칭을 왜 group by절에서 사용해도 되는걸까요? 현업에서는 팀마다 다르겠지만, 보통 어떻게 사용하시나요? 그리고 만약에 안된다면, 서브쿼리를 사용하시나요? 서브 쿼리를 사용하는 이유는 정확히 무엇인가요? 그리고 현업에서도 서브쿼리를 많이 사용하는지 궁금합니다! (아직 서브쿼리가 정확히 왜 필요한지 모르겠어요. 자바스크립트의 클로저라는 개념과 비슷한 개념일까요?) 마지막으로 아래 쿼리가 결과는 똑같은데 어떤게 더 바람직한 작성 방법일까요? (해당 강의는 4-6. 조건문(CASE WHEN, IF)입니다) 감사합니다 :) SELECT new_type1, COUNT(DISTINCT id) AS cnt FROM( SELECT *, CASE WHEN type1 IN ('Rock', 'Ground') OR type2 IN ('Rock', 'Ground') THEN 'Rock&Ground' ELSE type1 END AS new_type1, FROM `basic.pokemon` ) GROUP BY new_type1 SELECT CASE WHEN type1 IN ('Rock', 'Ground') OR type2 IN ('Rock', 'Ground') THEN 'Rock&Ground' ELSE type1 END AS new_type1, COUNT(DISTINCT id) AS cnt FROM `basic.pokemon` GROUP BY new_type1
String이 불변 객체인 이유가 궁금한데요. String 내부에 문자열이 final byte[] value;에 저장되는데 참조변수 final에 들어있는 값(배열의 시작 주소값)이 변경될 수 없는 것이지 byte[] 배열 내부에 있는 원소는 변경 가능 하다고 알고 있습니다. final char[] chArr = new char[] {'a', 'b', 'c', 'd', 'e'}; chArr[0] = 'k'; // 가능 System.out.println(chArr); chArr = new char[]{'A', 'B', 'C', 'D', 'E'}; // 불가능 byte[] 배열 내부에 있는 값이 변경 가능한데 String은 왜 불변 객체인 건가요? 혹시 내부적으로 모든 문자를 변경할 수 없도록 하는 어떠한 로직이 존재하는 건가요...?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 제가 이해한게 맞나 싶어서 질문드립니다. setter로 의존관계 주입을 완료까지 해야 스프링 빈 사용가능!! 하지만 코드에서 보면 빈을 생성하는 과정에서 초기화(connect(); call("초기화 연결메세지");)를 진행하게됨 =>setter로 의존관계가 주입이 완료되지 않은시점에서 생성자에서 초기화를 진행해서 url이 없음 => 자동 의존관계가 주입된 시점을 알아야하 초기화를 진행 가능 그럼 언제 완료된지는 다음 강의의 콜백함수를 통해 알아보자