from django.db import models class Post(models.Model): title = models.CharField(max_length=200) content = models.TextField() class Comment(models.Model): post = models.ForeignKey(Post, on_delete=models.CASCADE) content = models.TextField() import itertools from typing import Iterator, Tuple from django.core.management import BaseCommand from django.db import transaction from blog.models import Post, Comment class Command(BaseCommand): help = "test" def handle(self, *args, **options): generate_post_instances = ( Post(title=title, content=content) for title, content in self.generate_post_row() ) with transaction.atomic(): for chunks in self.get_chunks(generate_post_instances, chunk_size=1000): Post.objects.bulk_create(chunks, ignore_conflicts=True) for post_instance in Post.objects.all(): generate_comment_instance = ( Comment(post=post_instance, content=content) for content in self.generate_comment_row() ) for chunks in self.get_chunks( generate_comment_instance, chunk_size=1000 ): Comment.objects.bulk_create(chunks, ignore_conflicts=True) @classmethod def generate_post_row(cls, size: int = 1000) -> Iterator[Tuple[str, str]]: for i in range(1, size + 1): yield f"Test post {i}", f"Test content {i}" @classmethod def generate_comment_row(cls, size: int = 100) -> Iterator[str]: for i in range(1, size + 1): yield f"Test comment {i}" @classmethod def get_chunks(cls, iterable: Iterator, chunk_size: int = 100) -> Iterator: iterator = iterable if hasattr(iterable, "__next__") else iter(iterable) for first in iterator: yield itertools.chain([first], itertools.islice(iterator, chunk_size - 1)) 안녕하세요. 기존 강의에서 다루시던 대용량 데이터 처리 관련 코드를 참조하여 좀 더 이해하고자 커스텀해서 예시코드를 작성하게 되었습니다. 제너레이터, bulk_create 메서드에 대해서 질문이 있습니다. 1. 제너레이터는 yield 한 다음 반복문을 이용해 호출합니다. 제너레이트를 호출 한다면 호출할 때 반복문이 여러개 겹치게 되는데 이때 시간복잡도는 어떻게 되는건가요? [ generate_post_row 호출 > generate_post_instances 호출 > get_chunks > 호출] 이때 반복문을 많이 사용하게 되는데 어떤식으로 처리가 되는지 궁금합니다. 2. transaction.atomic() 에서 먼저 Post을 bulk_create로 생성한 뒤 해당 Post의 데이터들을 Comment 인스턴스에 넘겨주어 bulk_create를 사용하였는데. 혹시 더 나은 방법이 있을까요?
a 와 b 테이블이 있다고 가정하고 (b 테이블에 매칭되는 값이 없어도) 빠지면 안되는 정보가 있어서 강의에서 말씀하신대로 left outer join의 기준이되는 집합 테이블을 a 로 from 절에 배치했는데요 select * from a left join a on a.id = b.id 이렇게 걸면 원하는 조건 (매칭되는 값이 없어도)이 정상적으로 나오는데요 저렇게 b테이블을 그대로 안걸고 뭔가 조건을 추가해서 left join 을 걸면 매칭되는 값은 전혀 안나오고 공통된 값만 나옵니다. 예시로 with b ( select * from b left join a on a.id = b.id where a.deleted = 0 and a.customerid = 1 ) select * from a left join a on a.id = b.id where a.customerid = 1 이런식으로 b테이블을 그대로 조인하는게 아니라 뭔가 조건을 준 다음에 조인하면 매칭되는 값만 나오고 값이 없는 데이터도 나와야되는데 안나와서요 from 절에 a 테이블을 기준으로해서 잡았는데도 왜 공통된 값만 나오는걸까요? 두 구문에서 어떤 차이때문에 다른 결과를 도출하는지 궁금합니다
제가 이해한 개념은 CSR 방식이면 클라이언트 브라우저가 서버에 요청을 처음 보낼 때 웹 서버(Apache, nginx 등)에서 정적 리소스(HTML, CSS, JS)를 응답해주고 거기서부터 동적으로 필요한 데이터가 있으면 WAS에 API 요청을 통해 데이터를 가져와서 필요한 부분만 렌더링 한다고 알고 있는데 맞을까요??
alert 메세지가 숨겨지는 코드까지는 실행이 되는데 그 이후 코드들이 실행되지 않는 것 같습니다. 콘솔에도 값들이 뜨지 않고 제출하면 새로고침 되는 현상이 발생해서 혹시 보지 못한 오타가 있나 검수 해보고 강의 코드와 비교도 해봤는데 실행되지 않는 이유를 잘 모르겠어서 질문 남겨봅니다..!
function instantiator<T extends { new (...args: any[]): {} }>(constructor: T, ...args: any) { return new constructor(...args); } console.log(instantiator(Idol, '아이유', 23)); console.log(instantiator(Car, 'BMW', 'M3')); 여기에서 instantiator의 parameter에서의 constructor parameter 변수는, 사실상 생성자의 의미보다는 class 정의 자체(T의 형식을 가진) 를 넘겨준다고 봐도 되는건가요?
환경 Window10, intellij ultimate, Java17, spring boot 3.2.5 application.properties - /error-ex 상황 스프링 부트의 application.properites 기본값으로 /error-ex에 GET 요청을 보냈을 때 위와 같은 결과를 얻을 수 있었습니다. 위의 이미지에서 오류 페이지2의 1:37에서의 결과가 다른 것을 확인할 수 있었습니다. 명시적으로 아래와 같이 값을 지정해야 동일한 결과를 얻는데 왜 그런 것인지 알 수 없어 문의를 드립니다. server.error.include-exception=false server.error.include-message=never server.error.include-stacktrace=never server.error.include-binding-errors=never
accessToken을 넘기는데 undefined가 떠서 컨트롤러에 오지 못하는 거 같습니다. socialcontroller 입니다. 리액트 kakaoAPI.js 입니다. accessToken을 쿼리스트링으로 잘 보내고 받는 코드는 맞는거 같은데 왜 undefined가 뜨는지 모르겠습니다...
안녕하십니까 큰돌님 제가 강의 보기 전에 당근마켓 엔지니어 문제를 혼자 코드로 작성했었는데 뭐가 문제인지 모르겠습니다 입력에서 무한루프에 빠지는 왜 빠지는 거 같은데 모르겠습니다 ... http://boj.kr/d57fe9c1c85b4938bc642528ab607f2e 그리고 n이 세로, m이 가로이면 반복문에서 n과 m의 위치가 제 코드처럼 바껴야 하는 거 아닌가요 ??
Spring Security와 카카오 소셜로그인을 함께 사용했습니다. 문제는 카카오 소셜로그인 후 https://도메인이름/login?error로 넘어갑니다. 로그를 봐도 SecurityConfig의 Filter Chain를 잘 거치고 redirect uri 설정도 문제 없습니다. 로컬 환경에서는 잘 되는데 배포 환경에서 테스트만 하면 안되는데 /login?error 부분이 Spring Security 문제인 것 같아 /**로 다 열어주었는데도 그러네요. MSA 환경이라 gateway와 eureka를 사용했는데 로컬 환경에서는 잘 되고 배포 환경에서 잘 안된다면 gateway나 eureka 설정 문제일까요? 제가 놓치는 부분이 무엇일지 궁금합니다 ㅜㅜ
저기 오류가 발생하여 무시하고 진행했을때 Running as SYSTEM Building in workspace /var/lib/jenkins/workspace/2121-source-build The recommended git tool is: NONE No credentials specified Cloning the remote Git repository Cloning repository https://github.com/k8s-1pro/kubernetes-anotherclass-api-tester.git > git init /var/lib/jenkins/workspace/2121-source-build # timeout=10 ERROR: Error cloning remote repo 'origin' hudson.plugins.git.GitException: Could not init /var/lib/jenkins/workspace/2121-source-build at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$5.execute( CliGitAPIImpl.java:1073 ) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$2.execute( CliGitAPIImpl.java:819 ) at hudson.plugins.git.GitSCM.retrieveChanges( GitSCM.java:1222 ) at hudson.plugins.git.GitSCM.checkout( GitSCM.java:1305 ) at hudson.scm.SCM.checkout( SCM.java:540 ) at hudson.model.AbstractProject.checkout( AbstractProject.java:1245 ) at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout( AbstractBuild.java:649 ) at jenkins.scm.SCMCheckoutStrategy.checkout( SCMCheckoutStrategy.java:85 ) at hudson.model.AbstractBuild$ AbstractBuildExecution.run ( AbstractBuild.java:521 ) at hudson.model.Run .execute( Run.java:1900 ) at hudson.model.FreeStyleBuild.run ( FreeStyleBuild.java:44 ) at hudson.model.ResourceController.execute( ResourceController.java:101 ) at hudson.model.Executor.run ( Executor.java:442 ) Caused by: hudson.plugins.git.GitException: Error performing git command: git init /var/lib/jenkins/workspace/2121-source-build at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn( CliGitAPIImpl.java:2858 ) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn( CliGitAPIImpl.java:2762 ) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn( CliGitAPIImpl.java:2757 ) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommand( CliGitAPIImpl.java:2051 ) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$5.execute( CliGitAPIImpl.java:1071 ) ... 12 more Caused by: java.io .IOException: Cannot run program "git" (in directory "/var/lib/jenkins/workspace/2121-source-build"): error=2, No such file or directory at java.base/java.lang.ProcessBuilder.start( ProcessBuilder.java:1128 ) at java.base/java.lang.ProcessBuilder.start( ProcessBuilder.java:1071 ) at hudson.Proc$LocalProc.<init>( Proc.java:252 ) at hudson.Proc$LocalProc.<init>( Proc.java:221 ) at hudson.Launcher$LocalLauncher.launch( Launcher.java:994 ) at hudson.Launcher$ProcStarter.start( Launcher.java:506 ) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn( CliGitAPIImpl.java:2835 ) ... 16 more Caused by: java.io .IOException: error=2, No such file or directory at java.base/java.lang.ProcessImpl.forkAndExec(Native Method) at java.base/java.lang.ProcessImpl.<init>( ProcessImpl.java:340 ) at java.base/java.lang.ProcessImpl.start( ProcessImpl.java:271 ) at java.base/java.lang.ProcessBuilder.start( ProcessBuilder.java:1107 ) ... 22 more ERROR: Error cloning remote repo 'origin' Finished: FAILURE 로그에서 이러한 오류를 발견했습니다. 사진과 같은 깃저장소의 오류때메 발생하는 거같습니다.
npm run dev 하면 > react-boiler-plate@1.0.0 dev > concurrently "npm run backend" "npm run start --prefix client" sh: concurrently: command not found 다음과 같은 오류가 발생합니다. npm install server과, client 모두에서 진행했고 gpt가 알려주는 npm install -g concurrently도 진행했고 npm update 후 다시 실행해보아도 해결되지 않고 있습니다. 도와주세요 ..!
중급, 활용편 #1 DevOps : Infrastructure as Code with AWS and 테라폼
안녕하세요. 중급강의 영상을 시청하면서 실습을 진행하던 도중 궁금한 것이 생겨 질문을 드리려 합니다. vpc 구성 강의 중 artd_apnortheast2 디렉토리 복사 후 몇몇 내용만 바꿔서 vpc를 구성하는 부분이 있는데 보면서 vpc는 모듈로 만들어놓고 사용해도 괜찮지 않을까라는 생각이 들었습니다. 혹시 vpc를 모듈로 구성하지 않은 이유가 궁금합니다. 답변 부탁드립니다. 감사합니다.
안녕하세요! 5/24에 예정된 코딩테스트를 준비하기 위해서 급하게 강의를 신청, 수강하고있습니다! 어떤 방식으로 해야 효율적일까요? 각 주차의 문제를 모두 못 풀더라도 개념(1~8주)를 다 들어보고 문제를 골고루 풀어본다. 1주차 강의를 듣고 1주차 문제를 모두풀고 -> 2주차 -> 3주차 .. -> 8주차 로 차근차근히 넘어간다. 강의를 순서대로 다 수강하면 좋겠지만 학기중이라 시간이 부족해서 코딩테스트 전까지 8주차까지 못 도달할까 걱정이 됩니다. 원래 전공생이라서 자료구조를 어느정도(한번 들으면 아 기억난다) 정도로 알고 있고 수강 전 백준 골드4 정도였습니다!
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 스프링 입문의 섹션 1 '프로젝트 생성' 강의 부분을 따라가고 있는데 막혀서 질문드립니다. 자바 21을 설치하고 환경변수 설정하고 강의를 따라 13분 23초에 나온대로 일단 실행해보는 부분을 하려는데 자꾸만 빨간 글씨로 에러 메세지가 나와서 다음으로 넘어갈 수가 없습니다. 다른 질문들 찾아보고 구글링 해봐도 잘 모르겠습니다. 도움주시면 감사하겠습니다...!