안녕하세요. 강의에서는 LEFT JOIN ... ON ... 하고 나서 WHERE type1='Grass'으로 먼저 필터링을 하신 것 같은데요! 아래 처럼 GROUP BY - HAVING으로 해도 결과는 동일한데, GROUP BY 보다 WHERE를 먼저 했을 때 수행 속도 등의 이득이 있는지 궁금합니다! SELECT type1, COUNT(type1) AS pokemon_cnt FROM ( SELECT id, trainer_id, pokemon_id, status FROM `basic.trainer_pokemon` WHERE status IN ('Active', 'Training') ) AS tp LEFT JOIN `basic.pokemon` AS p ON tp.pokemon_id = p.id GROUP BY type1 HAVING type1 = 'Grass'
from snippets.models import Snippet from snippets.serializers import SnippetSerializer from rest_framework.renderers import JSONRenderer from rest_framework.parsers import JSONParser snippet = Snippet(code='foo = "bar"\n') snippet.save() snippet = Snippet(code='print("hello, world")\n') snippet.save() 튜토리얼 보고 따라하고 있었는데 shell에 이 부분을 저장하는 방법을 잘 모르겠습니다 혹시 한번만 상세하게 알려주실 수 있을까요??
안녕하세요. 나머지 합 구하기 핵심 아이디어 중 첫 번째 (A+B)%C는 ((A%C) + (B%C)) % C와 같다. 는 것은 본 문제를 푸는 데에는 직접적 관련이 없는 것 같은데 어떻게 관련이 되어 있는지 궁금합니다. 문제가 연속된 부분의 합의 나머지를 구하는 것인데, (A[i+1] + ... + A[j])%M = (S[j] - S[i])%M 이 되고, 나머지 연산이 linear 연산이기 때문에 (S[j] - S[i])%M = 0이라면 S[j]%M = S[i]%M 이라고 할 수 있을 것 같아서요. 이 경우에 핵심 아이디어 2번째, 3번째로도 문제 풀이가 가능한 것 같은데, 핵심 아이디어 1번째는 어떤 역할을 하는지 궁금합니다. 감사합니다. 이 되어
pyinstaller 사용시 에러 4900 WARNING: Library not found: could not resolve 'api-ms-win-crt-string-l1-1-0.dll', dependency of 'C:\\Users\\***\\AppData\\Local\\Programs\\Python\\Python312\\DLLs\\tcl86t.dll'. 명령 프로프트에서 실행해도 4524 WARNING: Library not found: could not resolve 'api-ms-win-crt-string-l1-1-0.dll', dependency of 'C:\\Users\\이종익\\AppData\\Local\\Programs\\Python\\Python312\\DLLs\\tcl86t.dll'. 해결 방법을 알고 싶어요
안녕하세요! 강의 잘 들었습니다 ㅎㅎ 자바 기반으로 강의해주신 내용을 바탕으로 코틀린으로 전환하여 다시금 학습하고 있습니다. 그러던 도중 매핑 과정에서 에러가 발생하는 것을 발견하였는데 이와 관련하여 도움을 요청드리고자 합니다. fun findFilmWithActorList(page: Long, size: Long): List<FilmWithActor> { val FILM_ACTOR = JFilmActor.FILM_ACTOR val ACTOR = JActor.ACTOR return dslContext.select( FILM, FILM_ACTOR, ACTOR ) .from(FILM) .join(FILM_ACTOR).on(FILM.FILM_ID.eq(FILM_ACTOR.FILM_ID)) .join(ACTOR).on(ACTOR.ACTOR_ID.eq(FILM_ACTOR.ACTOR_ID)) .offset((page - 1) * size) .limit(size) .fetchInto(FilmWithActor::class.java) } 코틀린에서 위의 코드처럼 TABLE.fields() 메서드를 사용하지 않으면 정상적으로 동작하지만, fun findFilmWithActorList(page: Long, size: Long): List<FilmWithActor> { val FILM_ACTOR = JFilmActor.FILM_ACTOR val ACTOR = JActor.ACTOR return dslContext.select( DSL.row(*FILM.fields()), DSL.row(*FILM_ACTOR.fields()), DSL.row(*ACTOR.fields()) ) .from(FILM) .join(FILM_ACTOR).on(FILM.FILM_ID.eq(FILM_ACTOR.FILM_ID)) .join(ACTOR).on(ACTOR.ACTOR_ID.eq(FILM_ACTOR.ACTOR_ID)) .offset((page - 1) * size) .limit(size) .fetchInto(FilmWithActor::class.java) } 자바와 같이 TABLE.fields()를 사용하였을 때는 아래와 같은 에러가 발생하였습니다. Caused by: java.lang.NullPointerException: Parameter specified as non-null is null: method com.example.jooq.film.FilmWithActor.<init>, parameter film at com.example.jooq.film.FilmWithActor.<init>(FilmWithActor.kt) 매핑에 문제가 있는 것 같아 아래와 같이 코드를 수정하였더니 정상 동작하였습니다. fun findFilmWithActorList(page: Long, size: Long): List<FilmWithActor> { val FILM_ACTOR = JFilmActor.FILM_ACTOR val ACTOR = JActor.ACTOR return dslContext.select( *FILM.fields(), *FILM_ACTOR.fields(), *ACTOR.fields() ) .from(FILM) .join(FILM_ACTOR).on(FILM.FILM_ID.eq(FILM_ACTOR.FILM_ID)) .join(ACTOR).on(ACTOR.ACTOR_ID.eq(FILM_ACTOR.ACTOR_ID)) .offset((page - 1) * size) .limit(size) .fetch() .map { record -> FilmWithActor( film = record.into(FILM).into(Film::class.java), filmActor = record.into(FILM_ACTOR).into(FilmActor::class.java), actor = record.into(ACTOR).into(Actor::class.java) ) } } DTO 클래스는 아래와 같습니다. data class FilmWithActor( val film: Film, val filmActor: FilmActor, val actor: Actor, ) { val filmId: Long get() = this.film.filmId!! val title: String get() = this.film.title val actorFullName: String get() = "${this.actor.firstName} ${this.actor.lastName}" } Film, FilmActor, Actor는 Flyway 기반으로 생성된 pojo 클래스들입니다. implicitPathJoin, explicitPathJoin 시에도 동일한 문제가 발생하여 문의드리고자 합니다 ㅜ 위의 방법처럼 매핑할 수 있지만, 가독성이 떨어지는 것 같아 혹시 다른 방법이 있는지 궁금합니다. 또한 혹시 제가 놓친 부분이 있다면 알려주시면 감사합니다!
강의를 듣다 궁금한 점이 생겨서 글을 남김니다. 보통 테이블을 생성할때 당연하게 pk를 지정해 주었는데 pk가 없는 테이블도 생성을 하나요? 생성은 되는것 같은데 똑같이 테스트를 해보니 따로 정렬한는 기준이 없어서 그런지 id 7번을 2번으로 바꿔도 들어온 순서대로 위치가 맨 마지막에 있는것을 확인했습니다. pk가 없는 테이블도 있는지 있으면 성능이라던지 차이점이 뭔지 궁금합니다.
1. 강사님께서 올려주신 답변들을 봤습니다. " 공식 문서에서 클라이언트 컴포넌트를 트리의 끝에 보내라고 권한다. 서버 컴포넌트를 최대한 활용하기 위한 권장 사항이라고 이해하시면 좋다. "이라고 봤는데 프로젝트를 서버 컴포넌트의 비중을 늘린다면 이점은 무엇인가요? 2. 서버 컴포넌트의 비중을 늘리면 번들 크기의 감소로 사용자 경험을 최적화 하는 것이라서 next.js를 사용하는 것인가요?
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다) - 이외의 문의등은 평생강의이므로 양해를 부탁드립니다 - 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다 - 잠깐! 인프런 서비스 운영(다운로드 방법포함) 관련 문의는 1:1 문의하기를 이용해주세요. 섹션1의 6번째 강의(출력 포멧과 입력) 수업 자료를 다운 받았는데 1번째 강의와 같은 예제파일이 들어있습니다(python-question1-web.ipynb) 해당 강의에 맞는 예제 파일로 바꿔주셔야 할 것 같습니다!!
코드상에서 graphQLClient 자동완성 알될때 부터 이상하였지만 import 하는부분 from 에서는 자동완성이 되었습니다. 하지만 위 이미지 처럼 에러가 발생합니다. package.json 은 아래와 같습니다. node_modules 는 아래와 같습니다. 설치됨을 다 확인하였으나 인식을 못하네요. tsconfig.json 에서 "module": "node" 에서 Bundler로 변경하니 해결되었습니다. 이렇게 수정하여도 문제없을까요? 추가로 해당 이슈에 대해 발생 원인을 알 수 있을까요?
인덱스를 생성할때, 오름차순 - 내림차순도 설정할수있는데, 날짜 기준으로 '최신 날짜 기준'으로 자주 조회하는 쿼리일 때, 인덱스를 날짜 기준으로 내림차순으로 만들면 쿼리에 더 효과가 있는 걸까요? 아니면 정렬 설정 상관없이 '옵티마이저'가 알아서 판단해서 조회를 하는 건가요?? 그리고 강의 너무 유익하게 듣고있습니다. 늘 좋은 강의 감사합니다
intersect가 나오는 부분을 영상으로만 봐도 이해할 수 있지만 공유해주신 sql로 테이블을 생성하고 insert를 하면 course 테이블에 title 컬럼이 없고 course_name과 department_id 컬럼이 있습니다. 영상만 볼 때는 상관없지만 직접 따라해 볼 때 조금 헷갈릴 수도 있을 것 같습니다.
아무리 코드를 봐도 잘못된게 없어서 백준 사이트 확인해보니 단맛 입력인 A 끼리는 곱하고 짠맛인 B 끼리는 더해야 해당 입력에 대한 올바른 출력값 (문제에서는 1) 이 나옵니다. 그냥 recur(idx+1, dan+ingre[idx][1], zzan*ingre[idx][0], use+1) 이렇게 인덱싱만 바꿨습니다. 아니면 제가 혹시 문제를 잘못 이해한걸까요..?