안녕하세요~선생님 강의 잘 따라하고 있는데요, SEO 제안이 아닌, 다른걸로도 한번 만들어 봤는데, (node.js로)... 조금 복잡한거라 그런지 1000여개의 파일이 만들어 지더라구요. 그래도 콘솔에서 실행도 잘되고 에러도 없어서. 이번 장의 깃허브에 올리는걸 실험해볼려고 했는데, 파일이 U -> A로 변동이 되었는데 대부분의 파일이 U에서 A로 바뀌지 않더라구요. 그래도 이니셜 업로드는 되던데, u로 되어 있는것들이 어떤건지 찾아볼려고 해도 안보이더라구요. 그래서,,, 예를 들어 .env 파일처럼 올려서는 안되는 파일들이 u로 남아 있는건지요? 그렇다면 .env 하나야 복사해서 올리면 되는데, .env 파일처럼 실행에 필요한 중요한 파일들이 안올라가면, 나중에 깃허브에서 클론하고 가져왔을때(내 동료나 또는 내가 집에서 하고 싶을때) 실행에 어떤 파일이 필요한건지 알수 있나요?
28:48 초 swap 으로 함수 선언으로 하고 temp 에 a 주소의 값 203 대입 / a 주소에 b주소의 값 1004 대입 /다시 temp 를 b 주소 값을 대입 후 return 값을 다시 주지 않았는데 어떻게 두번 째 print 에서 바뀌어서 나올 수 가 있는거죠 ? return 값을 주지 않으면 void swap 내 블록에서 변경된 값은 그대로 종료되고 두번째 print는 첫번째 출력값 교환전: x=203, y=1004 랑 동일 하지 않나요?
선생님, 선생님이 짜주신 코드로 풀었는데, 오답이 나왔는데, 만약에 같은 키가 많은 친구들중에 하나가 철수고, 바꿔준 짝꿍도 동일한 키의 사람들이 있다면 누가 철수인지, 짝꿍인지 어떻게 구분하나요?? import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; class problem06 { // 06. 장난꾸러기 //선생님은 반 학생들에게 반 번호를 정해 주기 위해 운동장에 반 학생들을 키가 가장 작은 학생부터 일렬로 키순으로 세웠습니다. //제일 앞에 가장 작은 학생부터 반 번호를 1번부터 N번까지 부여합니다. 철수는 짝꿍보다 키가 큽니다. //그런데 철수가 앞 번호를 받고 싶어 짝꿍과 자리를 바꿨습니다. //9 //120 125 152 130 135 135 143 127 160 public ArrayList<Integer> solution(int n, int[] arr){ ArrayList<Integer> answer = new ArrayList<>(); int[] tmp = arr.clone(); // 깊은 복사해야 기존의 arr이 변하지 않음. Arrays.sort(tmp); // 오름차순 정렬 //다른애들만 그 순서를 ArrayList에 넣어준다. for(int i=0; i<n-1;i++){ if(arr[i] != tmp[i]) answer.add(i+1); } return answer; } public static void main(String[] args){ problem06 T = new problem06(); Scanner kb = new Scanner(System.in); int n = kb.nextInt(); // 캐시의 크기 int[] arr = new int[n]; for(int i=0; i<n;i++){ arr[i] = kb.nextInt(); } for(int x : T.solution(n, arr)){ System.out.print(x+" "); } } }
Spring Data 조직에서도 OpenFeign/QueryDSL를 공식적으로 지원(Support)한다고 합니다. 현재 공식QueryDSL 최신 버전인 5.1.0에서 아래와 같은 문제가 있습니다. CVE-2024–49203 이슈(CVSS 3.1기준 9.8 높은 심각도) Kotlin KSP 지원관련 기타 문제(Issues) 등등 공식 QueryDSL에서는 유지보수가 전혀 안되고 있기 때문에 혹시나 궁금하신 분들을 위해 정보 공유 드립니다. 1번, 2번관련 내용은 OpenFeign/QueryDSL 에서 모두 패치완료된 내용입니다. KSP - 6.9버전 이상, CVE-2024–49203 6.10.1버전 이상 Spring 공식 홈페이지 OpenFeign/QueryDSL 관련 내용 https://docs.spring.io/spring-data/jpa/reference/repositories/core-extensions.html Spring Git OpenFeign/QueryDSL 관련 내용 https://github.com/spring-projects/spring-data-jpa/pull/3859 OpenFeign/QueryDSL https://github.com/OpenFeign/querydsl
실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
getStats() 안에 쿼리 작성할 때, book에서 id와 name은 불러와지는데, type이 불러지지 않습니다. QBook 클래스에서 확인해보니 final type만 없더군요. 찾아보니 이유는 이러합니다. "Kotlin에서 type은 리플렉션/메타프로그래밍에서 자주 사용되는 예약 필드명이고, QueryDSL이 Q 클래스 생성 시 내부적으로 getType()을 쓰기 때문에 필드명 충돌이 발생했을 가능성이 높아 생성되지 않을 수 있습니다. 이러한 경우 ./gradlew clean kaptKotlin 명령어로 재빌드 한 후 Q 클래스를 다시 생성하거나 type 명칭을 bookType으로 수정하여 해결할 수 있습니다." 저는 ./gradlew clean kaptKotlin로 재빌드하니 해결됐습니다.
강의 잘 보고 있습니다. 무한 스크롤 기능 구현 해보았는데요 영화가 60개까지 나오고 진행이 되지 않다가 개발자 도구를 켜면 더 스크롤이 되는데 그것도 120번 영화에서 끊깁니다. 머가 문제일까요 ...ㅠ 검색기능에서 title 첫글자 대소문자 상관없이 하려면 어디를 수정해야 하나요?
react에서 데이터를 가져올 때 페이지나 컴포넌트 내부에서 바로 가져와서 사용했던 걸로 기억하는데 AppRouter에서 사용하는 방식과 똑같은건가요? 2. 그리고 pageRouter는 페이지에서만 getStaticProps나 getServerSideProps를 사용해서 props형태로만 전달할 수 있기 때문에 이 단점을 보완하기 위해서 AppRouter에서는 지금처럼 사용하는건가요? 3. 그리고 마지막으로 section02에서 search페이지를 만들때 getStaticProps를 사용하는 대신 페이지 함수에서 useEffect를 사용해서 바로 데이터를 가져오는 형식으로(react에서 사용하던 방식이랑 똑같은 방식으로) 사용하는 부분이 있는데 이렇게 하면 PageRouter의 단점인 props형태로만 전달할 수 있다도 보완되는거 아닌가요? pageRouter 배우고 appRouter배우면서 react쓰던 지식까지 겹치니까 많이 헷갈리네요..ㅠㅠㅠ 질문이 좀 긴데 잘 부탁드립니다..
섹션 3. Page Router 핵심정리 12.2.4)프리페칭 안녕하세요 프리페칭 관련하여 실습을 진행하던 중 궁금한 사항이 있어서 질문드립니다 ! Next.js는 요청한 페이지의 js 번들과 현재 페이지 내에서 이동할 것 같은 페이지(Link 태그 및 router.prefetch로 설정한 페이지)를 프리페칭 한다고 배웠습니다. 근데 이때, Link 태그를 사용한 페이지 중 이동이 적을 것 같은 페이지는 <Link href="/" prefetch={false}>를 통해 프리페칭을 막을 수 있다고 배워 해당 내용을 실습했습니다. 근데 처음에 강력 새로고침을 진행하면 초기에는 프리페칭을 하지 않지만 약 5초 정도 지나면 추후에 제가 prefetch={false}로 설정한 Link 태그 js 번들 파일을 네트워크 탭에서 불러오는 것 같아 왜 그런지 궁금하여 질문드립니다.
학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요! 강의 잘 들었습니다! 궁금한 점이 있어서 문의 드립니다. 강의에서는 상위 1000건에 대해서 articleId를 기준으로 Redis 캐시를 해두었는데 혹시 키워드(제목, 작성자, 내용등)에 대한 검색 페이징 처리도 캐시가 가능한걸까요? 제가 생각했을 때는 아래와 같은 방법으로 처리가 가능할 것 같은데 보통 대용량 트래픽 환경에서 해당 케이스를 어떻게 처리하는지 궁금합니다! 키워드 검색이 있을 경우 RDB에서 직접 조회 키워드 검색 조건 별로 Redis 캐시 Elasticsearch 도입 후 동기화하여 키워드 검색시 Elasticsearch에서 조회
안녕하세요, 현재 이미지 업로드 및 수정 과제를 진행중에 발생한 CORS 에러에 대해 질문드립니다. 새로운 게시글의 이미지 input 데이터를 graphQL에 전송하는 것은 문제가 없습니다. 수정하는 게시글에서 이미지를 onChange를 통해 updateFile에 업데이트하는 것도 문제가 없습니다. 최종적으로 수정을 완료하는 graphQL에 통신을 하는 과정에서 다음과 같은 에러가 발생합니다. 며칠전에 같은 작업을 했을 때에는 문제가 없었던 부분이라 질문드립니다.
Next.js 완벽 마스터 (v15): 노션 기반 개발자 블로그 만들기 (with 커서AI)
안녕하세요~ 강의 잘 보고 있습니다! 현재 cursor 0.49.6 버전을 사용중입니다. 영상에서 사용중인 버전은 Rule Type을 설정할 수 없는데 현재 제가 사용중인 버전에서는 아래와 같이 여러 옵션을 선택할 수 있습니다 여기서 궁금한게 Notepad로 만들지 않고 Project Rules로 설정한 후 Manual 로 설정하면 제가 원할때마다 직접 참고할 수 있도록 할 수 있는 것 같더라구요. 뭔가 notepad 기능들이 project rules로 흡수된 것 같은데 project rules로 등록해서 사용해도 문제 없을까요..??
5.3) 풀 라우트 캐시 3. 동적 경로에 적용하기 7:20 generateStaticParams() 를 export하면 page component의 fetch() 메서드에서 명시적으로 데이터 캐싱 옵션을 설정하지 않아도 해당 페이지는 무조건 static page가 된다고 설명해주셨는데, 그럼 { cache: "force-cache" } 로 되어있다고 생각하면 될까요? { cache: "force-cache" } 를 안써도 되는지 궁금합니다. 또, export const dynamicParams = true 또는 false 의 설정에 따라 어떤 영향을 받는지도 함께 설명해 주시면 감사하겠습니다. 🙂 뭔가 저는 generateStaticParams() 를 export + export const dynamicParams = true + 데이터 캐싱 옵션 설정하지 않은 경우에도 새로운 id 경로로 접속 요청이 들어왔을 때, 내부적으로 { cache: "force-cache" } 로 적용되어 데이터 캐싱이 되는지 궁금한 것 같습니다. 🤔
안녕하세요~ 선생님~ ^^ 선생님 설명대로 잘 따라하니 정말 깔끔하고 정교한 SEO 팁 생성기가 되네요! OPENAI API를 사용하니 답변도 아주 정말 정교하고 치밀하게 잘 나오고요 ^^ 그런데 만약 이런 어플을 제작했다고 하면 매번 이렇게 터미널을 열고(커서를 열고) 수동으로 타이핑해서 프로그램을 실행 시키는게 여간 사용성이 안좋던데(제가 실제 적용하거나, 친구에게 주는것 등에서) 이거 나중에 윈도우에서 아이콘 클릭해서 일반적인 프로그램 실행시키듯이 할수도 있는건가요? 나중에 이번 강의에서 그거 배우는지 궁금해요~ (차차 배워나가면 나중에 알게 되겠지만... 지금 너무 궁금해서요 ^^)
안녕하세요. 단건 update관련 질문이 있습니다. update +연산 update Member m set m.stock = m.stock + 1 where m.id = :id 이런식으로 해야하는 연산은 어떻게 처리하나요? 벌크작업은 아니지만 개수를 증가시킬 때 할당으로 쓰면 덮어씌워질 수 있느니 + 1 로 처리하는 경우도 있는 것으로 아는데, 이런 경우는 영속성 컨텍스트에 반영이 안되는걸로 알고 있습니다. 객체를 기반으로 업데이트 하는 경우 m.stock = n으로 할당이 되어서 이런 경우는 객체지향관점에서 어떻게 처리하고 설계하시는지 궁금합니다. 업데이트 전 조회 업데이트 전에 findOne 조회를 하시던데, 전 업데이트할 때 요청받은값만 덮어쓰면 되고 그게 더 안전할때도 있다고 생각이 듭니다. 이런 경우에는 어떻게 처리하시는지 궁금합니다. 또한, 객체를 기반으로 업데이트하기에는 요청받은 데이터가 객체랑 필드가 정확히 매핑될것 같지 않아서 결국 update문 하나만 요청하는 방식으로 처리해야 할 것 같은데 어떻게 처리하시는지 궁금합니다. 감사합니다.
강의 21:06에서 작성하신대로 LAZY로 설정한 객체에 접근하면 프록시 객체가 초기화되면서 필요한 때에 DB에 쿼리를 날린다고 하셨는데요. 반복문 횟수만큼 order.getMember().getName()을 사용하니 여기서 N+1 문제가 발생하는건가요? (LAZY 로딩의 객체를 초기화할 때는 테이블 전체를 가져오는 게 아니라 객체 하나만 로딩해오는거죠?) 감사합니다.
에러: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'com.example.feign.NaverClientIntegrationTest': Unsatisfied dependency expressed through field 'naverClient': Error creating bean with name 'com.example.feign.NaverClient': FactoryBean threw exception on object creation NaverClientIntegrationTest파일 작동시 위와 같은 에러가 납니다. NaverClientInt 파일에서 컨피규레이션을 넣어도 위와 같은 에러가 나옵니다. 제가 강의 자료 와 비교해도 NaverErrorDecoder(강의자료와 다름. 아직 진도 안나감)를 제외하고 나머지 다 똑같거든요. 근데 에러가 나는 이유를 몰라서 질문올립니다. < jaytech108@gmail.com >이쪽으로 파일 보냈습니다.