감정 일기 프로젝트에서 "Edit 페이지 구현하기"까지 공부한 상황입니다. 구현하고 나서 강사님 설명대로 동작 시켜 보니 잘 동작하더군요. 그런데 제가 이것 저것 동작을 체크하면서 방금 생성한 일기를 다시 수정하고 나서 작성완료 버튼을 눌렀더니, Diary list에 방금 수정한 목록이 두 개가 나타나고, 이전 달의 Diary list가 사라지는 현상이 발생하였습니다. 그래서 제가 어느 부분을 잘못 코딩하였는지 확인하고자 강사님이 제공한 Git 사이트의 코드와 제가 작성한 코드를 일일이 비교해 보았지만 차이점을 발견하지 못하였습니다. 강사님은 이런 현상이 발생하지 않았는지요? 또한 어떻게 이 문제를 해결할 수 있을까요?
선생님 review-editor.tsx 파일에서 기존 리액트와는 다른게 onChange나 value useState를 활용하여 input의 상태값을 따로 설정 안하는데 이건 왜 안하는걸까요? search-bar에서는 그렇게 동작하도록 한거 같은데 무슨 차이인지 설명좀 부탁드려도 될까요?! 여러 지식들이 이제 막 충돌하기 시작했습니다 ㅠㅠ
1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 어떤 알고리즘을 학습하고 계신가요? 여기까지 이해하신 내용은 무엇인가요? 2. 어려움을 겪는 부분 어느 부분에서 막히셨나요? 코드의 어떤 로직이 이해가 안 되시나요? 어떤 개념이 헷갈리시나요? 3. 시도해보신 내용 문제 해결을 위해 어떤 시도를 해보셨나요? 에러가 발생했다면 어떤 에러인가요? 현재 작성하신 코드를 공유해주세요 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊
8-1. 사이트의 글목록을 크롤링하여 엑셀에 담기 강의 관련입니다. 예전에 흘려듣기 식으로 이 강의를 봤을 때는 분명 강의 내용과 같이 연세대학교 산학협력단의 보유 특허 검색 페이지에서 검색이 되었었는데요. 본격적으로 따라하며 익혀보려고 해당 웹페이지에 가보니 예전과 달리 검색이 되지 않습니다.(아래와 같이 보임) 연세대학교 산학협력단 홈페이지의 문제라면 일코님의 문제가 아니긴 하지만 해당 홈페이지를 이용하여 실습하는 입장에서는, 기존에 멀쩡하던 강의가 실용성을 확 잃게 되는 듯한 안타까움이 있습니다. 제가 확인한 것처럼 현재는 보유 특허 검색이 안되는 것이 맞는지 한 번 확인 부탁드립니다. 또한 이 상태로 동일한 내용을 따라하기 실습이 가능한지를 확인 부탁드립니다. 동일하게 따라하기 실습을 못한다면 이 챕터는 넘겨야 될 거 같습니다. 제가 크롤링 경험이 많고 능숙하다면 어떻게든 도움이 되겠으나, 아직 전혀 모르는 분야인 크롤링에서 정처없이 헤맬 거 같아서 그렇습니다. 일단, 요 챕터 말고 실습이 가능한 다른 부분 부터 공부해 볼게요. 감사합니다.
Supabase, Next 풀 스택 시작하기 (feat. 슈파베이스 OAuth, nextjs 14)
Supabase 가 업데이트 되면서, 강의 화면과 다른 부분이 있어서 질문드립니다. Direct connection / Transaction pooler / Session pooler 차이가 무엇인가요? 강의를 따라가기 위해 Transaction pooler 를 사용해서 연결은 하긴 했습니다.
노션에 링크에 들어가면 https://tailwindcss.com/docs/installation/using-vite 여기로 옮겨지는데 강의 내용과 완전히 다른 터미널 명령어를 알려줍니다. 홈페이지말고 강의 처럼 따라하니깐 init 부분에서 npm error could not determine executable to run npm error A complete log of this run can be found in: C:\Users\shin\AppData\Local\npm-cache\_logs\2025-02-11T09_22_29_046Z-debug-0.log 이런 오류가 뜨는데 새로 변경된 홈페이지를 따라해야하나요? 따라해야한다면 어떻게 하면될까요?
안녕하세요 설명해주신 useMemo의 역할이 재랜더링 되는 경우 컴포넌트를 랜더링 특정 경우에만 재랜더링 하도록 하고 그 외는 그대로 값을 두는 것으로 성능을 증가 시키는 개념으로 이해를 했습니다. 지난 시간에 알려주신 useEffect의 경우도 deps에 값을 지정해주면 그 상태에 따라서면 랜더링을 진행하는데 차이점이 있나요?
강사님 안녕하세요. 수업 내용 외의 질문 드립니다. 강사님께서는 Next.js 프레임워크를 사용하실 때 어떻게 디버깅하시는지 궁금합니다. 구글링을 통해서 vscode에서 launch.json 설정을 한다든가 하는 글은 봤는데 제가 설정을 잘못했는지 잘 동작하지 않기도 하고 Next.js 환경에서의 디버깅 설정에 대한 글이 많이 없더라구요. 그래서 Next.js 이용 개발자들은 디버깅 툴을 따로 사용하지 않고 개발하는지, 강사님께서 디버깅을 하신다면 어떻게 하시는지 궁금합니다.
문제1 vcs내에 cmd에서는 node -v, npm -v의 버전이 잘 나오는데 bit bash 환경에서는 사진과 같이 오류가 나옵니다 어러번 node.js를 삭제하고 깔아봤는데 계속 이럽니다 문제2 git bash환경에서 오류가 떠 cmd에서 시도를 해보았습니다. 명령프롬프트(cmd)에서는 node, npm, yarn의 버전이 잘 나오지만 vsc내에 cmd에서는 나머지의 버전은 잘 나오지만 yarn의 버전이 나오질 않습니다. 버전을 모두 확인 후 npx create-next-app를 해야하는데 앞의 문제들 때문에 그런지 npx create-next-app가 실행이 되지 않습니다. 초반 세팅 과정 때문에 시간을 너무 잡아먹는 것 같아요 도와주세요 ㅠㅠ
🚨 아래의 가이드라인을 꼭 읽고 질문을 올려주시기 바랍니다 🚨 해당 강의에서 날짜를 해당 월의 1일 0시0분0초부터 말일의 23시 59분 59초 설정해서 범위로 해당되는 값을 찾을 수 있또록 아래와 같이 작성을 하셨는데요 beginTime <= item.createdDate && item.createdDate <= endTime 궁금한 부분은 날짜를 범위 안에 넣지 않고 같은 연도와 월이 있는 값을 불러오는 방법도 있을 것 같은데 어떤 차이가 있는지 알고 싶습니다.
강의 잘 듣고 있습니다. dependencies와 devDependencies의 차이에 대해서 궁금한데요, 둘의 차이점은 앱 배포 시 포함이 되느냐 안되느냐의 차이로 알고 있습니다. 그런데 tanstack-query나, date-fns를 devDependencies에 설치하고 vercel에 배포를 하더라도 배포된 프로덕션 환경에서 정상적으로 작동하는데요, 이에 대한 챗 gpt의 답변은 다음과 같습니다. Vercel의 배포 프로세스 Vercel은 next build 를 실행하여 프로젝트를 빌드하고, 필요한 의존성을 설치합니다. 이때 dependencies 와 devDependencies 모두가 설치됩니다. 배포 환경에서도 devDependencies 의 패키지가 포함될 수 있는 이유는 Next.js의 빌드 시점 에 이 패키지가 필요하기 때문입니다. 예를 들어, @tanstack/react-query 는 런타임에 필요한 라이브러리인데, 이를 devDependencies 에 넣어두었더라도 next build 과정에서 번들된 코드에 포함됩니다. 따라서 Vercel에서 배포 후에도 런타임에 사용 가능합니다. React Query와 런타임 의존성 @tanstack/react-query 는 런타임에 작동해야 하는 의존성입니다. 따라서 빌드 결과물에 포함 되며, devDependencies에 설치된 상태라도 번들링 과정에서 런타임에 필요한 모든 코드를 포함합니다. @tanstack/react-query-devtools 는 개발 도구용이지만, 프로덕션 환경에서는 기본적으로 UI가 렌더링되지 않아 에러를 발생시키지 않습니다. dependencies 와 devDependencies 의 차이 dependencies : 런타임에 반드시 필요한 의존성. devDependencies : 개발 및 빌드 단계에서만 필요한 의존성. Next.js에서는 빌드 과정에서 사용하는 패키지든, 런타임에 사용하는 패키지든 모두 번들링되기 때문에 devDependencies 에 패키지가 있어도 문제가 없는 것처럼 보일 수 있습니다. Vercel이 에러 없이 작동하는 이유 @tanstack/react-query 는 devDependencies 에 있지만, 빌드 과정에서 번들링되어 클라이언트 코드로 전달되었기 때문에 런타임에서 정상적으로 작동합니다. 프로덕션 환경에서 ReactQueryDevtools 가 기본적으로 비활성화 상태라 에러가 뜨지 않습니다. 답변이 잘 이해가 안되어서 그러는데 빌드 시점에 dependencies와 devDependencies에 있는 모든 라이브러리가 설치되는건가요? 아니면 devDependencies에 있는 라이브러리라도 런타임 시점에 필요하다면 빌드 시에 설치가 되어 프로덕션 환경에 포함되는건가요? 제가 이해한 바로는, devDependencies에 있는 라이브러리더라도, 런타임 환경에서 필요한 라이브러리라면 알아서 분류하여 프로덕션 환경에 포함되도록 설치한다고 이해하였는데, 이렇게 된다면 dependencies와 devDependencies의 경계가 모호해지는 것 아닌가요?
강의를 따라서 코딩하고 실행시켜 봤는데 아래와 같은 내용으로 에러가 발생했습니다. 어떤 곳이 문제가 있는 알려 주신다면 감사하겠습니다. 혹시 확인하고 싶으신 게 있다면 알려 주셨으면 합니다. :: Spring Boot :: (v3.4.1) 2025-02-11T11:28:59.109+09:00 INFO 2836 --- [apiserver] [ Test worker] o.z.apiserver.service.TodoServiceTests : Starting TodoServiceTests using Java 21.0.5 with PID 2836 (started by zzamp in C:\Users\zzamp\Desktop\apiserver\apiserver) 2025-02-11T11:28:59.110+09:00 INFO 2836 --- [apiserver] [ Test worker] o.z.apiserver.service.TodoServiceTests : No active profile set, falling back to 1 default profile: "default" 2025-02-11T11:28:59.445+09:00 INFO 2836 --- [apiserver] [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-02-11T11:28:59.484+09:00 INFO 2836 --- [apiserver] [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 32 ms. Found 1 JPA repository interface. 2025-02-11T11:28:59.760+09:00 INFO 2836 --- [apiserver] [ Test worker] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] 2025-02-11T11:28:59.801+09:00 INFO 2836 --- [apiserver] [ Test worker] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.4.Final 2025-02-11T11:28:59.824+09:00 INFO 2836 --- [apiserver] [ Test worker] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled 2025-02-11T11:28:59.996+09:00 INFO 2836 --- [apiserver] [ Test worker] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer 2025-02-11T11:29:00.015+09:00 INFO 2836 --- [apiserver] [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2025-02-11T11:29:00.071+09:00 INFO 2836 --- [apiserver] [ Test worker] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection org.mariadb.jdbc.Connection@72f24a84 2025-02-11T11:29:00.073+09:00 INFO 2836 --- [apiserver] [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2025-02-11T11:29:00.107+09:00 INFO 2836 --- [apiserver] [ Test worker] org.hibernate.orm.connections.pooling : HHH10001005: Database info: Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] Database driver: undefined/unknown Database version: 10.11.10 Autocommit mode: undefined/unknown Isolation level: undefined/unknown Minimum pool size: undefined/unknown Maximum pool size: undefined/unknown 2025-02-11T11:29:00.552+09:00 INFO 2836 --- [apiserver] [ Test worker] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) 2025-02-11T11:29:00.580+09:00 INFO 2836 --- [apiserver] [ Test worker] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-02-11T11:29:00.892+09:00 WARN 2836 --- [apiserver] [ Test worker] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open -in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open -in-view to disable this warning 2025-02-11T11:29:01.216+09:00 INFO 2836 --- [apiserver] [ Test worker] o.z.apiserver.service.TodoServiceTests : Started TodoServiceTests in 2.251 seconds (process running for 3.134) Mockito is currently self-attaching to enable the inline-mock-maker. This will no longer work in future releases of the JDK. Please add Mockito as an agent to your build what is described in Mockito's documentation: https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#0.3 WARNING: A Java agent has been loaded dynamically (C:\Users\zzamp\.gradle\caches\modules-2\files-2.1\net.bytebuddy\byte-buddy-agent\1.15.11\a38b16385e867f59a641330f0362ebe742788ed8\byte-buddy-agent-1.15.11.jar) WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warning WARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more information WARNING: Dynamic loading of agents will be disallowed by default in a future release Hibernate: select t1_0.tno,t1_0.complete,t1_0.content,t1_0.due_date,t1_0.title from tbl_todo t1_0 where t1_0.tno=? No value present java.util.NoSuchElementException: No value present at java.base/java.util.Optional.orElseThrow(Optional.java:377) at org.zerock.apiserver.service.TodoServiceImpl.get(TodoServiceImpl.java:24) at org.zerock.apiserver.service.TodoServiceTests.testGet(TodoServiceTests.java:20) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended > Task :test TodoServiceTests > testGet() FAILED java.util.NoSuchElementException at TodoServiceTests.java:20 타깃 VM에서 연결 해제되었습니다. 주소: 'localhost:4408', 전송: '소켓' 2025-02-11T11:29:32.264+09:00 INFO 2836 --- [apiserver] [ionShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' 2025-02-11T11:29:32.265+09:00 INFO 2836 --- [apiserver] [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... 2025-02-11T11:29:32.268+09:00 INFO 2836 --- [apiserver] [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. > Task :test FAILED 1 test completed, 1 failed FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':test'. > There were failing tests. See the report at: file:///C:/Users/zzamp/Desktop/apiserver/apiserver/build/reports/tests/test/index.html * Try: > Run with --scan to get full insights. BUILD FAILED in 36s 5 actionable tasks: 5 executed
const TypedNumber = (num : any) => { setNumber((prev) => { if (prev === "0") return num; return prev+ num; }); }; num 타입으로 인해 오류가 나서 any로 지정을 해야만 하는데요.. 강사님 코드에는 any 타입을 지정안해 오류가 아나는데 차이가 뭔가요?