wrapper__left 랑 wrapper__right에 아무것도 입력하지 않았을 때는 위처럼 뜨고, 지정했을 때는 이렇게 뜹니다. wrapper__left 랑 wrapper__right에 아무것도 지정하지 않았을 때는 폭이랑 높이에 어떠한 입력값이 없어서 background-color가 안 보인다고 생각합니다만, 그렇다면 wrapper__left 랑 wrapper__right에 지정했을 때는 저렇게 파란색이 튀어나오는 이유는 무엇인가요???
질문이 있습니다. page 같은 경우는 최대한 SSR로 하고 page 하위에 사용되는 컴포넌트 같은 경우는 브라우저 API 사용한다면 CSR로 하는게 맞나요? ( 하이브리드 렌더링 방식 ) app/page.tsx 파일 상단에 "use client" 선언하면 페이지 전체가 CSR로 된다고 생각하는데 네트워크 창에 localhost 에 preview를 보면 빈 페이지가 아닌 렌더링된 내용이 보이는데 왜 그런걸까요?
싸이월드 만들기 1탄 강좌 13분 30초에 <div class= "outerbox"></div> 위에 여백을 넣으시려고 background 쪽에서 padding: 20px 0px 0px 20px; 을 넣으셨는데 저는 outerbox 쪽에서 넣고 싶어서 margin: 20px 0px 0px 20px; 을 넣었습니다. 그랬더니 이와 같이 outerbox의 css에 넣었는데도 불구하고 background도 같이 margin이 적용됩니다. 아무리 생각해봐도 왜 이렇게 되는지 모르겠습니다.
안녕하세요 이번 강의를 듣고 선생님께서 알려주신 풀이 방법을 이해하게 되었습니다 감사합니다! 다만 제가 몇가지 질문이 있어 글 올립니다! 1 . 풀이 방향이 각각의 (조합) * (숫자) 의 합이 되는데 왜 마지막 숫자가 (조합) * (숫자) 의 합이 되나요 ??? 제가 강의를 듣기전에 혼자서 코드를 짜보았는데 왜 이 코드는 답이 안나오는지 여쭈고 싶습니다! function solution(n, end) { let mem_arr = Array.from(Array(n + 1), () => Array(n + 1).fill(0)); // 메모이제이션 let comb_arr = Array.from({ length: n }, () => 0); // 조합의 배열 let check = Array.from({ length: n }, () => false); // for 수열 (중복X) let arr = Array.from({ length: n }, () => 0); // 순열 저장 let answer = []; function comb(n, r) { if (n === r || r === 0) return (mem_arr[n][r] = 1); if (mem_arr > 0) return mem_arr[n][r]; return (mem_arr[n][r] = comb(n - 1, r - 1) + comb(n - 1, r)); } for (let i = 0; i < n; i++) { comb_arr[i] = comb(n - 1, i); } function dfs(lev) { if (lev >= n) { let sum = 0; for (let i = 0; i < n; i++) { sum += comb_arr[i] * (i + 1); } if (sum === end) { answer.push(arr.slice()); } } else { for (let i = 1; i <= n; i++) { if (check[i] === true) continue; check[i] = true; arr[lev] = i; dfs(lev + 1); check[i] = false; } } } dfs(0); return answer; } 제가 처음에 의도했던 코드의 경우로는,, 일단 순열을 arr에 저장하고 lev=== n 이 될때 구한 순열과 조합의 곱의 합인 sum 을 구하여 비교하는 방식으로 짰습니다. 근데 이 코드를 실행해보니까 arr 이 (1,2,3,4) 로만 나오는데 어디서 잘못됐는지 잘 모르겠습니다!! 답변 주시면 정말 감사하겠습니다 😄
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 이 save메서드를 여기서 repository.save (member); 로 사용할때 save메서드 내에서 리턴되는 member는 사용되지 않고 버려지는건가요? 아님 어떻게 되는건가요?
1부 듣고 이제 막 2부 와서 개발 환경 강의를 들었는데요 혹시 리액트를 처음에 설치 하실 때 npx create-react-app 을 안쓰시고 직접 package.json을 직접 작성하신 다음에 npm i로 설치 하시나요?? 아니면 npx create-react-app을 하시고 나서 필요없는 파일 지우고 폴더구조나 package.json을 수정 하시는 건가요?? 깃 헙 저장소 가져와서 브런치 이동해보면 나오는 파일이나 폴더가 제가 npx create-react-app으로 리액트를 설치했을 때랑은 조금 다른것도 같은데 보통 다른 책이나 강의들 보면 거의 npx create-react-app으로 설치하고 진행 하는데 선생님은 어떻게 하시는지 궁금합니다... 그리고 혹시 전자의 경우로 하신다면 그렇게 하시는 이유도 궁금합니다!!
안녕하세요 8강에 관한 질문이 생겨서 올립니다 8강 4페이지에 ItemRepositoryV2 인터페이스를 작성하고 V2Config 로 설정을 해줬는데요 컴파일 에러가 발생해서요 어디서 발생 하는지 찾아봤더니 V2Config 코드중에 private final ItemRepositoryV2 itemRepositoryV2 이 부분에서 Bean 을 찾을 수 없다는 오류가 발생 하더라고요 제가 알던 내용은 jpaRepository 를 extends 하면 자동으로 bean 이 생성 된다고 알고 있었는데 bean 을 찾을 수 없는 오류가 발생해서 이해를 하지 못하고 있었고 구글링 해서 찾아본결과 ItemServiceApplication 파일에 @Import(V2Config.class) @SpringBootApplication(scanBeasePackages = "hello.itemservice" ) 이렇게 바꿨더니 에러가 사라졌습니다 원래 코드는 @SpringBootApplication(scanBeasePackages = "hello.itemservice.web " ) 이 였습니다 hello.itemservice.web 에서만 검색 한다고 설정 해놔서 v2 에 있는 itemRepositoryV2를 검색 못한거 같은데 혹시 제가 틀렸을까요 ㅠㅠ 교재에도 여기 설정 하는 부분에 hello.itemservice.web 이라고 되어있어서요
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.next(); int A[] = new int[str.length()]; for(int i=0; i<str.length(); i++){ A[i] = Integer.parseInt(str.substring(i, i+1)); } for(int i=0; i<str.length(); i++){ int Max = i; for(int j = i+1; j<str.length(); j++); { if(A[j]>A[Max]) { Max = j; } } if (A[i] < A[Max]){ int temp = A[i]; A[i] = A[Max]; A[Max] = temp; } } for (int i=0; i<str.length(); i++){ System.out.println(A[i]); } } } 안녕하세요 강의 잘 보고 있어요. 강사님이 치라는 대로 코드를 따라 쳤는데 계속 오류가 뜨네요?? (굵게 표시한 부분) cannot find symbol 오류인데.. 분명 j와 max를 잘 정의해 주었는데 왜 이러는 걸까요?
Description: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider the following: If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active). 이러한 오류만 반복이 되는데요 데이터 베이스 설정화면과 application.yml 입니다 - Spring과 jpa가 동일한 선상에 있으면 안된다는 글도 읽게되어서 고쳤지만 같은 오류가 발생하였습니다... spring: datasource: url: jdbc:h2:tcp://localhost/~/jpashop username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create properties: hibernate: # show_sql: true format_sql: true logging.level: org.hibernate.SQL: debug org.hibernate.orm.jdbc.bind: trace 맨처음에는 포트번호가 같아서 접속이 불가능 하다고하여 포트번호도 바꾸고 이것저것을 다 해봤는데 안돼어서 문의 남깁니다..ㅜㅜ 도와주세요ㅜㅜ
S3 이미지 다운로드 아키텍쳐에 질문이 있습니다. 제가 이해한 순서는, 프런트에서 이미지를 백엔드 서버에 던진다. 백엔드에서 S3 버킷에 저장한다. S3는 해당 이미지에 대한 링크를 다시 서버에 돌려준다. 서버는 링크를 DB에 넣는다. 사용자가 API get 요청을 할 때, DB에 있는 이미지 링크를 프런트로 띄어줌으로서 화면에 페인팅해준다. ------ 03:42 이미지를 다운 받아와서 렌더링 시켜야 된다고 말씀해주셨는데, DB에 담긴 값을 프런트로 보내줌으로서 화면 렌더링을 말씀해주신게 맞으실까요? 아니면 웹을 접속할때마다 화면이 렌더링이 되는데, 이때 S3 이미지 파일을 새롭게 계속 다운받아 온다는 말씀이실까요?
이미지에 Link 태그를 쓰는거에 대한 질문입니다. Link 같은 경우에는 default로 prefetch가 되는데, 이미지를 눌렀을때 나오는 정보들은 굳이 prefetch를 미리 하고 있을 필요는 없겠죠? 그러면 실제 서비스라면 prefetch를 false로 하거나 router.push를 이용하는게 좋지 않을지 궁금합니다. 페이지를 구성할때 존재하는 모든 경로를 Link 태그로 그냥 쓰게 되면 prefetch가 모두 되어버려서, 큰 카테고리를 이동하는 경우만 prefetch를 키면 되지 않을까 하는 고민입니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요.. 좀 이상한 질문이지만 궁금해서 남깁니다ㅠㅠ watch([x, y], ([newX, newY]) => { console.log(newX, newY); }); return { x, y }; }, 이런식으로 수업하실 때 예시를 들어주셨는데, 이런건 보자마자 바로 아는 게 아니고 공식문서 가서 사용법 보고 알 수 있는거죠..? 그냥 문법 자체를 암기하는 게 아니라 인강들으면서 어떻게 사용하는지 정도만 보고 나중에 필요할 때는 직접 공식문서 가서 쓰고 그러는건가요..?ㅜㅜ 너무 초보스러운 질문이지만 넘 궁금해서 남깁니다!ㅠㅠㅠㅠㅠ
강의 항상 잘듣고있습니다! 89 토마토 문제 관련 제가 짠 코드에서 결과값은 문제 없이 나오지만 컴파일러가 아래와 같은 New_allocator 창을 띄우면서 pause 되는 문제가 있는데 코드를 아무리 봐도 에러가 왜 발생하는지 모르겠어서 질문 올립니다 . #include<iostream> #include<vector> #include<algorithm> #include<cmath> #include<queue> using namespace std; //넘겨야할 인자가 x,y,day 세개라서 class 필요 class Tmt{ public: int x; int y; int day; Tmt(int a, int b , int c){ x = a; y = b; day = c; } }; int main(){ freopen("input.txt","rt",stdin); int m,n; cin >> m >> n; // m = j = 가로 // n = i = 세로 vector<vector<int>>map(m+2,vector<int>(n+2,1)); //얘는 어차피 익으면 1로바뀌니까 ch가 따로 필요없을 것 같음. //vector<vector<int>>ch(n+2,vector<int>(m+2,0)); queue<Tmt>q; //상하좌우 탐색용 방향벡터 int dx[] = {1,0,-1,0}; int dy[] = {0,1,0,-1}; // input 읽어오는 동시에 초기 셋팅값 확인하기 int flag = 0; // flag 1 = 값이 1인 좌표 존재 for(int i = 1; i<=n ; i++){ for(int j = 1 ; j <=m;j++ ){ int temp; cin >> temp; map[i][j] = temp; if(map[i][j]==1){ flag = 1; // x,y 좌표 및 초기 0 day 삽입 및 ch 체크 q.push(Tmt(j,i,0)); } //cout << map[i][j]; } //cout << "\n"; } if(flag == 0){ //익은게 하나도없어서 결국 아무것도 안변함 -1반환 cout<<-1; return 0; } if(q.size() == n *m){ //시작때부터 다 익어있음 cout<<0; return 0; } int res = 0; //초기 setting된 q 활용해서 day 진행 while(!q.empty()){ Tmt temp = q.front(); int t_x = temp.x ; int t_y = temp.y; int t_day = temp.day; res = t_day; cout << " t_x: " << t_x << " t_y: "<<t_y<<" t_day: "<<t_day << "\n"; q.pop(); for(int i = 0; i<4;i++){ //cout <<" t_x+dx[i]: " <<t_x+dx[i] << " t_y+dy[i]: "<<t_y+dy[i] << " m: " << m << " n: "<<n << "map[t_x+dx[i]][t_y+dy[i]]: "<<map[t_x+dx[i]][t_y+dy[i]]<<"\n"; if((0<t_x+dx[i]<=m) && (0<t_y+dy[i]<=n) &&(map[t_y+dy[i]][t_x+dx[i]] == 0)){ //cout <<" t_x+dx[i]: " <<t_x+dx[i] << " t_y+dy[i]: "<<t_y+dy[i] << " m: " << m << " n: "<<n<<"\n"; map[t_y+dy[i]][t_x+dx[i]] = 1; q.push(Tmt(t_x+dx[i],t_y+dy[i],t_day+1)); } } } cout << res; return 0; }