다른 블로그 참고하여 강의에 맞게 설정을 조금 수정하였습니다. 새롭게 강의 듣는 분들의 시간을 아낄 수 있을까 싶어 공유드립니다. 장점 QEntity 생성 경로가 강의와 같습니다. src/main 하위가 아닌 generated 하위에만 QEntity 가 생성 되어 git ignore설정을 따로 해주지 않아도 됩니다. 저도 이 강의의 이 회차를 듣고 알아본 것이기 때문에 QEntity 가 잘 생성되어 Run이 잘되는 것만 확인했지 다른 것까지 모두 테스트 해보진 못했습니다. compileQueryDsl 동작 없이 Application Run 하시면 되겠습니다. 아래 설정의 잘못된점이 있다면 댓글 달아주시면 모두에게 도움이 될 것 같습니다. 내 블로그 : https://elastinn.tistory.com/11 블로그 광고해도 되나 모르겠습니다. 감사합니다. plugins { id 'java' id 'org.springframework.boot' version '2.7.12' id 'io.spring.dependency-management' version '1.0.15.RELEASE' } group = 'study' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' // queryDSL 설정 implementation "com.querydsl:querydsl-jpa" implementation "com.querydsl:querydsl-core" implementation "com.querydsl:querydsl-collections" annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jpa" // querydsl JPAAnnotationProcessor 사용 지정 annotationProcessor "jakarta.annotation:jakarta.annotation-api" // java.lang.NoClassDefFoundError (javax.annotation.Generated) 대응 코드 annotationProcessor "jakarta.persistence:jakarta.persistence-api" // java.lang.NoClassDefFoundError (javax.annotation.Entity) 대응 코드 runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' } tasks.named('test') { useJUnitPlatform() } //querydsl 추가 시작 def querydslDir = "$buildDir/generated/querydsl" // java source set 에 querydsl QClass 위치 추가 sourceSets { main.java.srcDirs += [ querydslDir ] } // gradle clean 시에 QClass 디렉토리 삭제 clean { delete file(querydslDir) } //querydsl 추가 끝
virtualbox 에서 온프레미스 환경에서 클러스터 구축하는데 오류가 발생하는 원인이 무엇인가요? 강의의 내용처럼 순차적으로 실행하다가 cilium install 하는 곳에서 에러가 발생하면서 에드온이 적용이 잘 안되는 것 같습니다. 환경 구성은 virtualbox-7.0.8에서 ubuntu-22.04.2-live-server-amd64.iso를 사용해서 가상머신 두 대를 생성하였습니다. nat network를 사용해서 인프라 환경을 구축하였고 ping을 통해서 게스트 os 간 통신이 정상적으로 작동하는 것을 확인했습니다. swapoff 수행 netfilter 관련 설정 수행 kubeadm 버전은 1.27.2와 1.26.5 버전을 사용해서 시도했으나 두 버전 같은 현상을 보이고 있었습니다. 간헐적으로 kubectl get nodes 명령 정상 수행되거나 오류가 발생하는 경우가 발생해서 마스터 노드의 쿠버네티스 컴포넌트(컨테이너) 들이 정상적으로 running 상태인지 확인을 해보니 컴포넌트들이 지속적으로 running 상태가 아니라 exited 상태가 되고 다시 재시작하는 것을 확인하였습니다. kubectl 명령이 수행되지 않는 경우는 kube-proxy가 exited 상태로만 존재하는 경우 작동이 되지 않았습니다. 그래서 인증서 문제가 아니라 컴포넌트들이 다운되어서 재 역할을 하지 못해서 cni 도 설치가 안된다고 판단했는데 왜 이런지 해결할 수가 없네요. 어떻게 해야 이 오류를 해결할 수 있나요? crictl log [container-id] 조회 결과 api-proxy container error log etcd container error log kube-controller-manager error log
안녕하세요. 큰돌님 강의 잘 보고있습니다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; public class Main { static int[][] board; static boolean[][] visited; static int[] dy = {-1, 0, 1, 0}; static int[] dx = {0, 1, 0, -1}; static int yLen; static int xLen; static int cnt; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); StringBuilder sb = new StringBuilder(); while (n-- > 0) { int[] given = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray(); if (given[2] == 1) { sb.append(1).append(System.lineSeparator()); continue; } board = new int[given[0]][given[1]]; visited = new boolean[given[0]][given[1]]; yLen = given[0]; xLen = given[1]; for (int i = 0; i < given[2]; i++) { String[] numStr = br.readLine().split(" "); int y = Integer.parseInt(numStr[0]); int x = Integer.parseInt(numStr[1]); board[y][x] = 1; } for (int i = 0; i < yLen; i++) { for (int j = 0; j < xLen; j++) { if (!visited[i][j] && board[i][j] == 1) { dfs(i, j); cnt++; } } } sb.append(cnt).append(System.lineSeparator()); } System.out.print(sb.substring(0, sb.length() - 1)); } public static void dfs(int y, int x) { visited[y][x] = true; for (int i = 0; i < 4; i++) { int ny = y + dy[i]; int nx = x + dx[i]; if (ny < 0 || ny >= yLen || nx < 0 || nx >= xLen) continue; if (visited[ny][nx] || board[ny][nx] == 0) continue; dfs(ny, nx); } } } 위 코드를 실행하면 12%, ArrayIndexOutOfBounds가 발생하는데 어떤 부분인지 알 수 있을까요?
QueryDSL 강의 예제 모델에서 , @Entity @Getter @Setter @NoArgsConstructor(access = AccessLevel.PROTECTED) @ToString(of = {"id", "username", "age"}) public class Member { @Id @GeneratedValue @Column(name = "member_id") private Long id; private String username; private int age; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "team_id") private Team team; public Member(String username, int age, Team team) { this.username = username; this.age = age; if (team != null) { changeTeam(team); } public void changeTeam(Team team) { this.team = team; team.getMembers().add(this); 이 부분에서 public void changeTeam(Team team) { this.team.getMembers().remove(this); this.team = team; team.getMembers().add(this); 아래와 같이 해당 팀의 멤버 삭제도 해줘야 하는것 아닌가요? public void changeTeam(Team team){ if(this.team != null) { // this.team이 null이 아니면 이 member객체는 team이 있음을 의미 this.team.getMembers().remove(this); // 해당 팀의 멤버에서 삭제 } this.team = team; team.getMembers().add(this); }
모바일 앱이라는 개념을 설명해 주셨는데, 저희 회사는 모바일 웹이라는 용어를 씁니다. 뜻은 동일한것 같거든요..(웹 브라우저로 접근하며 html/css/js로 구현되어 웹서버에서 새로운 페이지를 받아야하고 속도가 느림) https://www.wisetracker.co.kr/blog/mobile-vs-app/ 여기 사이트 보면 모바일 앱을 네이티브 앱처럼 설명하고 있어서 더 헷갈려요 모바일 웹과 모바일 앱은 같은 의미인가요?
안녕하세요 강의를 듣고 제 프로젝트에 적용해볼려고 하는데(리액트만 ec2에 배포를 해볼려고 합니다) 무한 build가 되더라구요 그래서 ec2모니터링을 해보니 cpu가 99퍼를 차지하는 걸 확인했습니다. 그래서 이 상황을 해결하려고 ec2인스턴스 스펙을 좀 더 높여볼까하는 생각도 해봤는데 비용적인 부분때문에 걱정이 되더라구요 혹시 ec2인스턴스의 스펙업 이외의 해결 방법이 있을까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 먼저 본 강의는 88000 원에 책정되어 있음을 알려 드립니다. 어디에 13만원으로 되어 있는가요? 현재 강의를 1섹센을 듣고 계시는 중인데 그 중에 현재 5개 강의를 학습한 걸로 나옵니다. 참고로 1섹션과 2섹션은 개념과 이론을 학습하는 부분이라 원래부터 강의 소스 자체를 제공하지 않고 있습니다. 5개의 강의를 들으셨는데 이미 완성된 소스라고 말씀하시는 기준이 무엇인가요? 1섹션에서는 이미 완성된 소스라는 개념 자체가 성립이 되질 않습니다. 강의소스는 깃헙에 섹션 3부터 브랜치 별로 제공되고 있습니다. 혹시 master 브랜치만 보고서 말씀하시는건지 모르겠지만 글을 작성하실 때는 정확히 사실에 기반해서 작성해 주시길 정중히 요청드립니다. 라고 수강평에 글을 올려주셨는데 제가 구매할 당시에는 이 강의는 8만8천원이 할인가였고 정가는 13만원이었습니다. 정확한 사실이고요. 섹션 1,2만 수강했다고 하는데, 지금 섹션3강의에 첫번째 강의를 듣다가 글 올렸습니다. 그러니 강사님께는 조회가 되지 않겠네요? 섹션3에서 강의를 열자마자 이미 소스가 어느정도 완성된 상태에서 강의를 진행하시잖아요? 사실에 기반하여 작성하고 있는 것 맞구요. 브랜치마다 소스도 어느정도 완성되어서 글을 올려주시잖습니까? "먼저 죄송한 말씀 드립니다. 강의 소스가 강의 챕터별로 제공되지 못해 불편을 겪고 계시리라 생각합니다. 제가 강의 소스를 당시 브랜치별로 만들었는데 master 를 제외하고 실수로 날려버렸습니다. 다행이 얼마전 복구가 되었는데 좀 오래전이라 강의에 사용되던거와 완전 일치하지는 않을 것 같습니다. 실전 프로젝트편 소스입니다. 여기 가시면 브랜치별로 생성이 되어 있습니다. 다만 브랜치명이 숫자로 되어 있어서 각 브랜치가 어떤 강의에 해당되는지 찾으셔야 할 것 같습니다. 실전프로젝트 편 챕터순으로 되어 있으니 찾기가 그렇게 어렵지는 않을 것 같습니다. 불편을 드려서 거듭 죄송합니다." 그리고 위와 같이 글을 작성해주셨는데, 강의를 구매한 사람에게 제대로된 서비스를 해주시고 계신것 맞습니까? 브랜치에 제대로 이름이 적혀있지도 않구요. 챕터순으로 되어있다는데 브랜치에 CH가 섹션입니까? 제가 이런걸 하나하나 게시판에 글을 올려서 확인받고 소스를 확인해야하나요? 애초에 제대로 공지해주시면 이렇게 되새김질 하지 않는데요. 제대로 서비스를 제공해주시고 계시지 않다고 생각 안드시나요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/) [질문 내용] 힙에 있는 단일 인스턴스에 만약 100명이 동시에 요청하면 그 인스턴스를 여러개 복사 해서 전달되는건가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 실전 프로젝트 생성강의에서 이미 코드가 admin, user쪽 모두 생성되어있는것같은데 깃허브 링크로 알려주세요. https://github.com/onjsdnjs/corespringsecurity이거 말구요~ 어느 브랜치인지 정확히 말씀주셔요^^