묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Svelte.js [Core API] 완벽 가이드
소스코드
라이프 사이클 모듈화 이 단원 코드는 어디서 받나요똑같이 동작 안해서 확인 하려구요
-
해결됨실무에 바로 적용하는 스토리북과 UI 테스트
스토리북 관련 팀 컨벤션
팀 내 스토리북 도입으로 인해 관련 컨벤션을 정하려고 합니다. 컴포넌트를 수정하게 되면 스토리북도 필수로 같이 수정해야 된다는 룰 말고는 떠오르는게 없는데 혹시 강사님이 사용하시는 컨벤션을 알려주실 수 있나요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
40강 개인 DB 비밀번호만 가리기
안녕하세요 강의 잘 듣고 있습니다.git Push까지 잘 됐는데 github에서 application.yml까지 올라간 것을 확인 했습니다. 여기서 제 비밀번호만 가리고 나머지 설정은 공유하고 싶은데 따로 비밀번호만 분리하는 방법은 없을까요 ?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
31강 대출기능 개발에서 계속 유저 정보 가져오는곳에서 null이 나오는 이유가 뭘까요..
분명 MySql에 보면 user 테이블에 잘 저장되어 있고 북도 잘 저장되어있는데 왜 계속 null 뜰까요 ㅠㅠ java.lang.IllegalArgumentException: null at java.base/java.util.Optional.orElseThrow(Optional.java:408) ~[na:na] at com.group.libraryapp.service.book.BookService.loanBook(BookService.java:43) ~[main/:na] at com.group.libraryapp.service.book.BookService$$FastClassBySpringCGLIB$$9fdbff4c.invoke(<generated>) ~[main/:na] at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.3.24.jar:5.3.24] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) ~[spring-aop-5.3.24.jar:5.3.24] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.24.jar:5.3.24] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) ~[spring-aop-5.3.24.jar:5.3.24] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.24.jar:5.3.24] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.24.jar:5.3.24] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.24.jar:5.3.24] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.24.jar:5.3.24] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) ~[spring-aop-5.3.24.jar:5.3.24] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) ~[spring-aop-5.3.24.jar:5.3.24] at com.group.libraryapp.service.book.BookService$$EnhancerBySpringCGLIB$$41338896.loanBook(<generated>) ~[main/:na] at com.group.libraryapp.controller.book.BookController.loanBook(BookController.java:27) ~[main/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-5.3.24.jar:5.3.24] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.24.jar:5.3.24] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1071) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:964) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.24.jar:5.3.24] at javax.servlet.http.HttpServlet.service(HttpServlet.java:696) ~[tomcat-embed-core-9.0.69.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.24.jar:5.3.24] at javax.servlet.http.HttpServlet.service(HttpServlet.java:779) ~[tomcat-embed-core-9.0.69.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.69.jar:9.0.69] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.24.jar:5.3.24] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.24.jar:5.3.24] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.24.jar:5.3.24] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.24.jar:5.3.24] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.24.jar:5.3.24] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.24.jar:5.3.24] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:177) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:891) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1784) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]
-
미해결세 시간만에 끝내는 쿠버네티스부터 마이크로서비스, CI/CD, 서비스 메시까지
강의에 사용된 소스코드는 어디서 받나요?
movies.jsonmovies.py 등강의에 사용된 소스코드는 어디서 받나요?
-
미해결PHP 7+ 프로그래밍
add configuratio.. 자체에
{ "editor.formatOnSave": true, "files.associations": { "*.html": "html" }, "C_Cpp.updateChannel": "Insiders", "workbench.iconTheme": "file-icons", "editor.tabSize": 3, "terminal.integrated.defaultProfile.windows": "Git Bash", "terminal.integrated.fontFamily": "monospace", "files.autoGuessEncoding": true, "launch": { "configurations": [ ] } } 이게 끝입니다.. 저렇게 강의처럼 길지가 않아요..
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
3D 체력바의 Canvas가 같이 보이는 현상이 있습니다.
캔버스의 설정은 영상을 보고 똑같이 따라했고 설정도 똑같이 했는데 이런 현상이 있습니다. 답변 주시면 감사하겠습니다!
-
해결됨C# TCP/IP 소켓 프로그래밍
22:38 메세지 박스가 안뜨는 문제
실습을 진행하다 22:38에 떠야하는 메시지 박스가 안뜨는 문제가 발생하여 글 남깁니다.디버깅을 통해서 알 수 있는 사실은 정상적으로 서버에서 SendAsync 한 데이터를 클라이언트 Singleton의 ReceiveAsync 메서드에서 받는다는 사실입니다. ( 스레드 풀의 작업자 스레드가 응답받습니다. )하지만, LoginForm의 주 스레드와 작업자 스레드는 병렬적으로 실행되며 LoginForm의 roomList.ShowDialog()가 호출되는 순간 ReceiveAsync 를 실행하던 작업자 스레드가 중단됩니다.결국, MessageBox.Show(packet.Code.ToString()); 가 호출되기 전에 작업자 스레드가 중단되며, 메시지 박스가 뜨지 않습니다.왜 해당 작업자 스레드가 종료되는 지 궁금합니다. header의 크기를 잘못 지정한 문제였습니다.header의 크기를 2로 지정하여 해당 크기만큼만 Receive 소켓에서 읽어야 했는데, 그 이상 읽어서 이후 ReceiveAsync에서 더 이상 읽을 데이터가 없기 때문에 스레드가 중단된 것이었습니다. ㅡㅜ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-O 질문있습니다!
안녕하세요 큰돌님.강의를 수강하면서 질문이 있습니다.제가 몇시간동안 고민한 게 단 한 줄 추가로 시간초과 해결이 됬는데, 실전에서 이런 문제들을 만나면 과연 어떻게 해야할지 고민이 생기네요... 무작정 암기하는 방식은 공부가 아니라고 생각하는데 이런 문제들을 보면 또 암기가 맞다고 생각하게 되네요.큰돌님은 어떻게 생각하시는지 또 어떻게 공부 방향을 잡아야하는지 궁금합니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
격자판 최대합 테스트케이스 문제 있습니다.
반대 누적합에 대한 테스트케이스 예외가 없는거 같아요.public static void main(String[] args) { Scanner sc = new Scanner(System.in); int length = sc.nextInt(); int[][] intArr = new int[length][length]; for (int i = 0; i < length; i++) { for (int j = 0; j < length; j++) { intArr[i][j] = sc.nextInt(); } } System.out.println(answer(length, intArr)); } private static int answer(int length, int[][] intArr) { /* 대각선 누적합, 최대값 */ int xXSum = 0, xYSum = 0, max = 0; for (int i = 0; i < length; i++) { /* 행, 열 누적합 */ int rowSum = 0, colSum = 0; for (int j = 0; j < length; j++) { /* 각 행의 누적합 저장*/ rowSum += intArr[i][j]; /* 각 열의 누적합 저장*/ colSum += intArr[j][i]; } if (rowSum > max) max = rowSum; if (colSum > max) max = colSum; /* 대각선의 누적 합 저장*/ xXSum += intArr[i][i]; xYSum += intArr[length-1-i][length-1-i]; } /* 대각선 의 합 추가*/ if (xXSum > max) max = xXSum; if (xYSum > max) max = xYSum; return max; } }반대 대각선을 코드는 위 코드에서 바로 아래와 같습니다.xYSum += intArr[length-1-i][length-1-i];위에가 잘못 적용한 코드이고 (바로 위의 정대각선과 똑같은 작업을 하는것과 마찬가지입니다.)이것을 코딩채점사이트 상에 직접 돌려보면 정답으로 인정되지만 31 1 31 3 13 1 1이렇게 데이터 직접 넣어보면 9가 아닌 5가 최대값으로 출력됩니다.즉, 코딩채점에 반대 대각선에 대한 테스트케이스가 없다는 소리에요.xYSum += intArr[i][length-1-i];위 코드가 정답이고, 이렇게 했을때에는 처리가 되긴 되는데아무튼 현재 테스트케이스 상에 반대 대각선에 대한 누적합이 더 큰 경우가 없어서 처리가 안되고있습니다.그냥 반대 대각선 누적합 자체가 없는셈 치는거나 마찬가지에요
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
섹션3-2강 타입 오류 질문
강의자료에 있는 코드대로 작성했는데도 계속해서 오류가 납니다ㅠ
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
포워딩오류? 인거 같습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. Dynamic Web Prject 템플릿으로 프로젝트 생성후 Spring MVC prj을 수동을 만들었습니다(필요한 xml파일과 폴더를 경로에 맞게 다 생성) 그런데 서버에 올리고 실행해보면 404에러가 납니다..오류내용은 Origin 서버가 대상 리소스를 위한 현재의 representation을 찾지 못했거나, 그것이 존재하는지를 밝히려 하지 않습니다.이고 구글검색후 이것저것 수정해봤는데 해결이 안되고있습니다.. https://github.com/hjlim456/springcrud제 깃주소인데 코드좀 봐주시면 감사하겠습니다.ㅠ
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
양방향 매핑시 서로 set, add로 추가해줘야한다고하는데 연관관계 주인 하나만 하면 왜 값이 안뜨는걸까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]10:21member.setUsername("member1")member.setTeam(team);em.persist(member)이렇게 하고em.find(Team.class,team.getId())를 하게 되면 어차피 1차캐시갔다가 없으면 db가서 데이터를 받아오는데team에 members도 변화가 되는게 아닌가요?team도 매핑이 된 상태이고 값이 변화가 된게 아닌가요? em.flush();를 하면 또 db에서 받아와지는거 아닌가요..열심히 들었다고 생각했는데 갑자기 어지럽고 해깔리네요..
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
서버 시작 시 자동으로 브라우저 실행하기
서버 시작 시 자동으로 브라우저 실행하는 설정이 따로 있나요?
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
orphanRemoval에서 발생하는 쿼리 관련하여 질문드립니다.
안녕하세요.OneToMany 관계에서 orphanRemoval = true 옵션으로 데이터 제거 관련하여 질문드립니다. MemberService.removeAddress() 로직에서 address를 제거하면 select address -> select member -> select address -> delete 순으로 쿼리가 발생합니다. select address 쿼리가 2번 발생하는데, 일반적으로 쿼리 2번을 발생시키면서 고아 객체 제거를 진행하는 걸까요? 아니면 다른 방식의 remove 과정이나 또는 select address 쿼리를 1번으로 줄일 수 있는 방법이 있다면 알려주실 수 있을까요? 감사합니다. @RequiredArgsConstructor @Slf4j @Service public class MemberService { private final AddressRepository addressRepository; @Transaction public void removeAddress(Long addressId) { Address address = addressRepository.findById(addressId) .orElseThrow(() -> new Exception()); Member member = address.getMember(); member.getAddresses().remove(address); } } @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @Entity public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "member_id") private Long id; @OneToMany(mappedBy = "member", cascade = CascadeType.PERSIST, orphanRemoval = true) private final List<Address> addresses = new ArrayList<>(); // .. 중략 } @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @Entity public class Address { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "address_id") private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "member_id") private Member member; // .. 중략 }
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
디버그 메세지가 나오지 않습니다.
application properties에 추가 했는데 디버그메세지가 나오지 않네요?
-
미해결실전! Querydsl
하나의 앤티티에 일대다 매핑을 2개 이상 일 때 한꺼번에 조회하면 데이터가 뻥튀기 됩니다.
안녕하세요.제가 겪고 있는 문제에 관해서 질문드리고 싶습니다.A 라는 앤티티가 B 와 C 를 패치 조인 전략을 사용해서 일대다 양방향을 하고 있는 상황입니다.query .selectFrom(A) .leftJoin(A.B, B).fetchJoin() .leftJoin(A.C, C).fetchJoin() .where(A.id.eq(AId)) .fetchOne()위와 같이 B 와 C 를 모두 패치 조인해서 한꺼번에 조회하게 되면 B 의 데이터가 C 의 개수 만큼 뻥튀기 되는 상황이 발생합니다.이를 어떻게 해결할 수 있는지 궁금합니다.저는 각각의 앤티티를 따로 따로 조회해서 A 에 할당해준다는 방법을 떠올렸는데 이렇게 하면 A 에 setter method 를 만들어야 해서 좋은 패턴이 아니라는 생각이 들었습니다.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
이번 강의에서는 SONG이라는 sqlite3 데이터베이스를 import 하지 않았는데 데이터가 혹시 어디서 불러진 건가요???
model.py를 보면 Song클래스가 정의되었는데 데이터가 어디서 불러와 졌는지를 잘 모르겠습니다ㅠ 도움 부탁드립니다. from __future__ import annotations from datetime import date from typing import Dict from urllib.parse import quote from django.db import models from django.utils.html import format_html # 파이썬 3.7부터 지원 # @dataclass 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() @property def cover_image_tag(self): return format_html('<img src="{}" style="width: 50px;">', self.cover_url) @property def melon_detail_url(self) -> str: melon_uid = quote(self.melon_uid) return f"https://www.melon.com/song/detail.htm?songId={melon_uid}" @property def youtube_search_url(self) -> str: search_query = quote(f"{self.name}, {self.artist_name}") return f"https://www.youtube.com/results?search_query={search_query}" @classmethod def from_dict(cls, data: Dict) -> Song: return cls( melon_uid=data.get("곡일련번호"), rank=int(data.get("순위")), album_name=data.get("앨범"), name=data.get("곡명"), artist_name=data.get("가수"), cover_url=data.get("커버이미지_주소"), lyrics=data.get("가사"), genre=data.get("장르"), release_date=date.fromisoformat(data.get("발매일")), like_count=int(data.get("좋아요")), )
-
미해결김영한의 실전 자바 - 중급 1편
섹션4 문제풀이2
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]사소할 수도 있는데 궁금해서요.로또 제너레이터 클래스 만드실때Private final Random random = new Random();에서 왜 final로 만드나요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
우분투 설치 버전 변경 사항
=================현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.================== 저번 강의에서는 우분투 버전이 20이었는데, 이번 강의에서는 18입니다. 새로 wsl을 깔아야 하나요?