[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
Ontap 같은 경우는 Setstate를 써서 값 변경시 적용해주는데 음…onchanged 같은 건 발 this.변수 = 변수 이렇게. Setstate를 쓰지않고 바로 적용이 되는거 같아요 …,, 코드를 들여다보면 무슨차이가 있길래 Setstate 가 한쪽은 있고 한쪽은 없는 걸까요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 제목이 곧 내용입니다
칼리 리눅스 설치 후 시작시켜봤는데, 자꾸 로그인 화면으로 안 넘어가고 이 화면만 계속 뜹니다. 어떻게 해결해야 할까요? 참고로 제가 계속 시도를 해봤는데 설정값을 바꾸지 않고 바로 실행시키면 로그인 화면이 정상적으로 나오는데, 강의에서 나온 것처럼 네트워크와 시스템 값을 바꾸면 위에서 보이는 것처럼 로그인 화면이 안 나옵니다..
안녕하세요 이부분에서 event.removeEnrollment(enrollment); 이 메서드를 타고 들어가면 이 메서드가 실행되는데 이때 106라인 ->enrollment.setEvent(null); 이 코드는 꼭 필요 한건가요 ?? 첫번째 사진 보시면 어차피 enrollmentRepository.delete(enrollment); 이걸 실행 하는데 왜 있는건지 이해가 잘 안갑니다 ! =================두번째 질문=========== 이 부분에서 취소를 하면 대기하던사람이 자동 확정 하는 로직인데 대기 하던 사람들 중 제일 먼저 신청을 해놓은 사람들을 정렬해서 true 처리 해야하는데 이건 안되있는거 아닌가요 !!?
컨트롤러 빈은 싱글톤이고, 여기에 Provider로 매 클라이언트의 요청시마다 새로운 request scope빈을 생성해 주입해준다는 것 까지는 이해했습니다. 그런데 강의 7:40처럼 메서드 logDemo를 호출하는 메인 쓰레드를 sleep()하고 그 사이 여러번 요청을 했을때, 쓰레드가 깨어나면서 각 요청마다 새로운 request scope빈이 생성되고 다시 여러번 종료되는 것이 이해가 되지 않습니다. 컨트롤러 빈은 싱글톤이라, 다음번 새로운 request빈이 들어올 때까지는 전의 request빈의 주소값을 갖고 있을텐데 어떤 과정으로 싱글톤빈의 log-Demo실행 중 내부 주입되는 request빈이 교체될 수 있을까요? 컨텍스트 스위칭처럼 logDemo의 실행간 내부 주입되는 빈이 교체되는 건가요?
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
안녕하세요? 오늘은 양해를 구하면서 조금 모호한 질문을 들고 왔습니다. 제목대로 완성본을 커스텀하면 메인 포폴로 내세울 수 있을정도인지 궁금합니다. 제가 수강한 강의는 C# Part4. 서버와 Part7. 유니티 연동 입니다. 물론 커스텀 과정에서 멀티스레드 이해 TCP 통신 과정 이해 클라이언트 <--> 서버 간 패킷 송수신 및 로직 이해 은 어느 정도 되었다고 자신하고 있고, 저의 주요 변경 사항은 Zone 단위 개념 삭제 Zone 개념 삭제에 따른 모든 방향 이동 및 모든 방향 투사체 발사 이동_Packet / 발사_Packet 등의 결정 주체 변경 - ex) 강의에서 결정 주체가 클라이언트였으면, 저는 서버가 결정하도록 변경 탑다운 슈팅 게임 방식의 배틀 로얄 컨셉 프로토타입 수준의 완성도 (아래 사진) 이 정도면 포폴 메인으로 써먹을 수 있을지 조심스럽게 질문 올립니다.. ㅎㅎ 답변 미리 감사합니다.
실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
안녕하세요 강의 실습 따라 진행하다가 조금 다른 점이 생겨서 문의 드립니다. package com.group.libraryapp.domain.book; import static com.querydsl.core.types.PathMetadataFactory.*; import com.querydsl.core.types.dsl.*; import com.querydsl.core.types.PathMetadata; import javax.annotation.processing.Generated; import com.querydsl.core.types.Path; /** * QBook is a Querydsl query type for Book */ @Generated("com.querydsl.codegen.DefaultEntitySerializer") public class QBook extends EntityPathBase<Book> { private static final long serialVersionUID = -608098416L; public static final QBook book = new QBook("book"); public final NumberPath<Long> id = createNumber("id", Long.class); public final StringPath name = createString("name"); public final EnumPath<BookType> type = createEnum("type", BookType.class); public QBook(String variable) { super(Book.class, forVariable(variable)); } public QBook(Path<Book> path) { super(path.getType(), path.getMetadata()); } public QBook(PathMetadata metadata) { super(Book.class, metadata); } } 위와 같이 EnumPath의 경우에 type 패키지 아래에 정의해 둔 이넘 클래스를 제대로 가져오지 못하는 문제가 발생하고 있습니다. QUserLoanHistory에서도 UserLoanStatus에 대해 똑같은 상황이 발생해서 생성된 QClass를 수동으로 고쳐서 사용중입니다. 이게 제 IDE에서만 이상 현상이 발생하는 것인지 모르겠습니다. public final EnumPath<com.group.libraryapp.type.UserLoanStatus> status = createEnum("status", com.group.libraryapp.type.UserLoanStatus.class); 이 부분도 수정 전에는 아래와 같은 상태였습니다. public final EnumPath<com.group.libraryapp.domain.user.UserLoanStatus> status = createEnum("status", com.group.libraryapp.domain.user.UserLoanStatus.class); 제가 설정을 무언가 잘못한 부분이 있는 걸까요? 감사합니다.
좋은 강의 잘 듣고, 하나하나 따라하고 있는 코린이 입니다. 다름이 아니라 환경변수는 왜 설정해줘야하는 지 궁금합니다. 그리고 bash_profile관련해서 source bash_profile을 해주셨는데, 그 과정이 왜 필요한 지 어떤 것들이 일어나고 있는 지 궁금합니다.
In order to call GetTransformInfoExpectUpToDate, RendererUpdateManager.UpdateAll must be called first. UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&) 라는 오류가 발생하는데요. 현재까지 Play를 통해 게임을 실행할때 아무 영향을 주지 않으나, Unity를 처음 실행할때만 발생합니다.
P11438 문제 교재 코드 그대로 쳤는데 시간초과가 발생하네요 ㅜ 어딜 고쳐야 할까요 ㅠ import java.util.*; import java.io.*; public class Main { static ArrayList<Integer>[] tree; static int[] depth; static int kmax; static int[][] parent; static boolean[] visited; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); // 노드의 수 tree = new ArrayList[N + 1]; for(int i = 1; i <= N; i++) { tree[i] = new ArrayList<Integer>(); } StringTokenizer st; // 1. 인접리스트에 그래프 데이터 저장하기 for(int i = 0; i < N - 1; i++) { st = new StringTokenizer(br.readLine()); int s = Integer.parseInt(st.nextToken()); int e = Integer.parseInt(st.nextToken()); tree[s].add(e); tree[e].add(s); } depth = new int[N+1]; visited = new boolean[N + 1]; int temp = 1; kmax = 0; while (temp <= N) { // 최대 가능 depth 구하기 temp <<= 1; kmax++; } parent = new int[kmax + 1][N + 1]; // 2. depth와 바로 윗 부모 bfs로 구하기 bfs(1); // 3. 2^k 부모 구하기 for(int k = 1; k <= kmax; k++) { for(int n = 1; n <= N; n++) { parent[k][n] = parent[k - 1][parent[k - 1][n]]; } } int M = Integer.parseInt(br.readLine()); // 4. 질의 수행하기 for(int i = 0; i < M; i++) { st = new StringTokenizer(br.readLine()); int a = Integer.parseInt(st.nextToken()); int b = Integer.parseInt(st.nextToken()); int LCA = excuteLCA(a, b); System.out.println(LCA); } } static int excuteLCA(int a, int b) { // 더 깊은 depth가 뒤에 오도록 변경 if (depth[a] > depth[b]) { int temp = a; a = b; b = temp; } for(int k = kmax; k >= 0; k--) { // 높이 빠르게 맞추기 if(Math.pow(2, k) <= depth[b] - depth[a]) { if(depth[a] <= depth[parent[k][b]]) { b = parent[k][b]; } } } for(int k = kmax; k >=0; k--) { // 조상 빠르게 찾기 // 최대 위로 올라가서 같은 부모를 가리키면 k를 1씩 감소하며 다른 지점을 찾음 if(parent[k][a] != parent[k][b]) { a = parent[k][a]; b = parent[k][b]; } } // 여기 온 것은 k = 0일때 고려 // case 1. k=0, 둘이 같은 노드를 가리킴 -> 그곳이 최소 공통 조상 // case 2. k=0, 둘이 다른 노드를 가리킴 -> 바로 위에가 최초 공통 조상 -> 2^0 위에 보기 int LCA = a; if(a != b) { LCA = parent[0][LCA]; } return LCA; } // bfs 구현 private static void bfs(int node) { Queue<Integer> queue = new LinkedList<>(); queue.add(node); visited[node] = true; int level = 1; int now_size = 1; int count = 0; while(!queue.isEmpty()) { int now_node = queue.poll(); for(int next : tree[now_node]) { if(!visited[next]) { visited[next] = true; queue.add(next); parent[0][next] = now_node; // 부모 노드 저장하기 depth[next] = level; // 노드 depth 저장하기 } } count++; // 자식 노드 모두 검사했는지 확인 if(count == now_size) { count = 0; now_size = queue.size(); level++; } } } }