테스트 코드 까지 강의를 들었습니다. 패키지와 폴더의 차이 자세히 이해가 가지 않습니다. 패키지로 해도 되고 폴더로 해도되면 모두 패키지 폴더로 생성해도 되지않나 생각이 드는데요 어떻게 이해하면 되며 어떤 상황에서 패키지와 폴더를 사용하면 될까요 ?? 강사님이 패키지를 자주 사용하지 않고 폴더만 을 사용하시다가 패키지는 필요할때만 사용하시는것 같아서 그이유가 있으실까요 ?
안녕하세요. 원래 위의 상태에서, 아래에서 ConcreteProxyConfig.class 를 @Bean 으로 등록을 하면 LogTrace 주입이 잘 되는 이유가 궁금하네요. ConcreteProxyConfig를 @Bean 으로 등록이 되어야만, ConcreteProxyConfig 내에 @Bean 으로 설정한 것들도 @Bean 으로 등록이 되는지는 알겠는데, 그렇다고 LogTrace 이 어떻게 @Bean으로 등록이 되어 주입이 될 수 있는지 궁금합니다. 감사합니다.
유튜브에서 떠돌며 이런저런 기초강좌를 보면서 아무래도 흥미위주의 따라하기가 많다보니 기본 개념이 궁금해졌었습니다. 어디서부터 어디까지를 기본개념으로 익혀야 하나 고민하다 시작하다 말기를 여러차례 반복하다 이 강의로 기본을 제대로 익힌것 같아 뿌듯합니다. 강의를 보면서 몇번이나 '아~!', '그렇구나' 감탄을 했는지 모릅니다. 다음강의도 잘 부탁드리겠습니다. 결과물을 공유하며 질문을 드립니다. 다음강의를 기다리며 나름대로 좀 더 공부를 해보고 더 알아보고 싶습니다. 선생님께서 처음 블렌더를 접하시면서 자주 찾았던 다른 강좌나 튜토리얼, 커뮤니티등은 어떤게 있었나요? 기다리는동안 봐두면, 들리면 좋을만한곳 알려주시면 열심히 예습 복습하고자 합니다! 좋은강의 만들어 주셔서 감사합니다!
강사님, 안녕하세요. s3 glacier vault lock은 아카이브 데이터를 저장하는 컨테이너이고 s3 object lock은 객체가 일정 시간 동안 삭제되거나 수정이 되지않도록 읽기만 하게 하는 기능이라고 돼 있는데. s3 glacier vault lock은 컨테이너고 s3 object lock은 기능인가요??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. try{ Child child1 = new Child(); Child child2 = new Child(); child1.setName("자식1"); child2.setName("자식2"); Parent parent = new Parent(); parent.setName("아빠"); parent.addChild(child1); parent.addChild(child2); em.persist(parent); em.flush(); em.clear(); System.out.println("parent = " + parent.getName()); tx.commit(); }catch (Exception e){ tx.rollback(); }finally { em.close(); } (영속성전이를 설정해둔 상태입니다 em.flush()하는 순간 insert쿼리가 3번나가고 clear()에서 영속성 컨텍스트를 초기화 하니까 아래 parent를 println으로 찍을 때 select쿼리가 나가야 할 것 같은데 따로 안나가고 그대로 아빠라는게 찍히는데 왜 이런걸까요? 이건 그냥 영속성컨텍스트와 무관한 객체의 값을 찍은걸까요?
#include <stdio.h> #define ROWS 3 #define COLS 4 int sum2d_3(int* arr, int rows, int cols); int main() { int data[ROWS][COLS] = { {1,2,3,4},{5,6,7,8},{9,0,1,2} }; return 0; } int sum2d_3(int *arr, int rows, int cols) { int r, c, tot = 0; for (r = 0; r < rows; r++) for (c = 0; c < cols; c++) tot += *(arr + c + cols * r); return tot; } 여기서 data 는 포인터 연산시 자료형이 int(*)[4] 주소자료형입니다. 2차원 배열 data 를 함수의 안에 넣고 매개변수 int *arr 로 사용할때 tot += *(arr + c + cols * r); 를 보면 마치 배열 arr 가 1차원 배열인것처럼 사용되고 있습니다. Q.2차원 배열은 함수안에 들어가면 1차원배열처럼 포인터 연산이 되는건가요? 감사합니다.
mac os 환경에서 utm에 ubuntu 설치해서 사용중입니다. 고정 IP할당하는 부분에서, 강의는 virtual box로 설명되어 세팅값 설정하는데 어려움이 있습니다 구글링 해봐도 "utm ubuntu 수동 ip 설정" 관련해서는 따로 자료가 없어서요! ㅠㅠ utm > edit selected vm > Devices > 네트워크 > 고급 설정 보기 다음에 어떤걸 설정해야되는지 모르겠습니다!
안녕하세요 큰돌님 이 문제 제가 이해를 못하고 있는게 있는데요 일단 결론부터 말하면 info[2][500000] 처럼 배열을 2차원으로 만들어서 홀,짝 시간으로 분할해서 문제를 푸는것과 그냥 info[500000]로 각 배열 요소에 시간을 기록해서 배열을 순회하면서, 홀짝 구분해서 답을 찾는거랑 무슨차이인지 잘 모르겠습니다. 일단 아래 제풀이는 틀렸습니다. 주어진 테스트 케이스는 맞는데 백준게시판 반례들 몇개가 틀리게 나오는데요... (ex 입력 27297 339652 --> (답 : 425 , output : 426) 대부분 1~2 차이로 틀립니다. 이것 저것 다른 답안들이랑 비교하면서 디버깅해보면 info 배열을 구성하는과정에서 틀린게 있는것 같은데요....... 위에 굵게+기울임 글씨체로 쓴 부분 처럼 1차원,2차열 두가지 배열이 정확히 어떤차이가 있는건지 잘 모르겠습니다. 예를들어서, 제가 생각하기에는 2차원 배열을 통해서 홀수,짝수 시간을 구분할 경우에는 특정 지점 A에서 무조건 info[0][A], info[1][A] 둘중에 하나만 값을 가져야 한다고 생각하는데 제가 틀렸나요?(왜냐면 BFS를 통해서 최단경로를 찾으니까 info[0][A] info[1][A]에 두개에 값이 기록될수가 없음) // Example program #include <iostream> #include <string> #include <vector> #include <algorithm> #include <queue> #include <stack> #include <unordered_map> #include <map> #include <limits.h> using namespace std; int n,k; int info[500002]; // 수빈이 위치,시간 정보 queue<int> q; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin>>n>>k; fill(&info[0], &info[500001], -1); if(n==k){ cout<<0<<'\n'; return 0; } //------------------------------------------------------------ // BFS로 수빈이 위치 전부 구하기 else { q.push(n); info[n]=0; while(q.size()){ int prev=q.front(); q.pop(); for(int next :{prev-1,prev+1, prev*2}){ if(next<0 || next>500000) continue; if(info[next]!=-1) continue; info[next]=info[prev]+1; q.push(next); } } //-------------------------------------------------------------- // 동생위치를 구하면서 -> 동생,수빈이 위치가 같아지는 지점을 찾음 -> // 그리고 수빈이가 소모한 시간이 동생보다 적거나 같으면 -> 시간차이가 짝수인지 확인 int pos=k; // 동생 초기 위치 int t=0; // 초기 시간 while(pos<=500000){ if(info[pos]<=t){ // 특정 동일위치에서 수빈이가 소모한 시간이 더 적을때 if((info[pos])%2 ==0 && t%2==0){ //둘의 시간이 짝수이면(=시간 차이가 짝수면) cout<<t<<'\n'; break; } else if((info[pos])%2 && t%2){ //둘의 시간이 홀수이면(=시간차이가 짝수면) cout<<t<<'\n'; break; } } t++; pos+=t; } if(pos>500000) cout<<-1<<'\n'; } }