강사님이 백엔드 개발자 입장에서 UI 기술을 어디까지 공부해야 하는지에 대한 조언을 듣고 질문 남깁니다. 개발 공부를 하다보면 프로젝트 기반의 학습을 많이 진행하게 되는데요. 저는 백엔드 영역 기반 지식들을 공부하다 보니 프로젝트 아이디어가 있어도, 프론트 개발 팀원을 구하기 어려운 상황에서는, 프로젝트를 혼자 진행하는 것이 부담이 되었습니다. 이때도 우선은 SSR로 간단하게 화면을 구현하는 것을 해야할 지, 아니면 풀스텍으로 좀 더 정교한 화면을 구현할 수 있도록 노력해야 할까요? 그것도 아니라면 프로젝트 팀원을 구할 수 있도록 더 노력을 해야할 수도 있겠네요. 조언을 구하고자 질문 남깁니다.
로그인 유지가 되지 않는 것 같아서 storage의 저장하는 되는 값을 확인하고 싶습니다. 재로딩 시 로그인이 끊기는 현상이 있어 accessToken과 refreshToken을 확인하고 싶습니다. const onSubmit = useCallback(async () => { if (loading) { return; } if (!email || !email.trim()) { return Alert.alert('알림', '이메일을 입력해주세요.'); } if (!password || !password.trim()) { return Alert.alert('알림', '비밀번호를 입력해주세요.'); } try { setLoading(true); const response = await axios.post(`${Config.API_URL}/login`, { email, password, }); Alert.alert('알림', '로그인 되었습니다.'); dispatch( userSlice.actions.setUser({ name: response.data.data.name, email: response.data.data.email, accessToken: response.data.data.accessToken, }), ); await EncryptedStorage.setItem( 'refreshToken', response.data.data.refreshToken, ); } catch (error) { const errorResponse = (error as AxiosError).response; if (errorResponse) { Alert.alert('알림', errorResponse.data.message); } } finally { setLoading(false); } }, [loading, dispatch, email, password]); 로그인은 정상적으로 되었고 오더페이지로 넘어 간 상태입니다 "react-native-encrypted-storage": "^4.0.3", 의심되는 부분은 강의에서 설치한 버전 차이가 있는데 "4.0.2" 버전으로 설치 시 에러가 있어서 "4.0.3" 버전을 사용중입니다.
안녕하세요 다음의 소스코드를 실행 했을 시 ... child process 에서 who 명령 실행 했을 때 .. 마지막에 새로운 프롬프트가 안 뜬 상태로 되는거죠? #include <sys/types.h> #include <unistd.h> #include <stdlib.h> #include <stdio.h> int main() { pid_t pid; switch (pid = fork()) { case -1 : /* fork failed */ perror("fork"); exit(1); break; case 0 : /* child process */ printf("--> Child Process\n"); if (execl("/usr/bin/who", "who", (char *)NULL) == -1) { perror("execl"); exit(1); } exit(0); break; default : /* parent process */ printf("--> Parent process\n"); break; } printf("End of fork\n"); return 0; }
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 처음에 이렇게 연결누르면 Unsupported database file version or invalid file header in file " 이런 오류떠서 지원되지 않는 헤더라길래 test말고 testDB로 치니까 연결이 됐거든요..? 그런데 문제는 그 뒤에 보니까 jdbc:h2:tcp:// localhost/~/test이렇게 접근해야한다는 설명이 있어서요!! 저는 따로 설정해줬던게 없는데 이미 test.mv .db가 있었던건가요.....? 오늘 처음 h2데이터베이스 해봐요ㅠㅠ 그럼 전 앞으로 접속할때 jdbc:h2:tcp:// localhost/~/testDB 여기로 접속해야하나요 jdbc:h2:tcp:// localhost/~/test로 접속해야하나요..? 상관없는건가요..>
테스트 진행 중 오류가 납니다. 구글링해두 해결을 못하겠네요 ㅠㅠ 어쩌다가 테스트 진행이 됐었는데 시퀀스를 계속 삭제해줘야 됐었습니다. H2 1.4.200 버전맞고 다른 소스들 교재랑 같습니다. 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 강의 듣고 기존에 쓰던 H2에서 database만 추가해서 사용중인데 이게 문제가 될까요? java.lang.IllegalStateException: Failed to load ApplicationContext for [WebMergedContextConfiguration@597a7afa testClass = jpabook.jpashop.MemberRepositoryTest, locations = [], classes = [jpabook.jpashop.JpashopApplication], contextInitializerClasses = [], activeProfiles = [], propertySourceLocations = [], propertySourceProperties = ["org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true"], contextCustomizers = [org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory$DisableObservabilityContextCustomizer@9da1, org.springframework.boot.test.autoconfigure.properties .PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@49d904ec, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@3c419631, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@3e2e18f2, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@63355449, org.springframework.boot.test.context.SpringBootTestAnnotation@8c81e9cd], resourceBasePath = "src/main/webapp", contextLoader = org.springframework.boot.test.context.SpringBootContextLoader, parent = null] at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext( DefaultCacheAwareContextLoaderDelegate.java:141 ) at org.springframework.test.context.support .DefaultTestContext.getApplicationContext( DefaultTestContext.java:127 ) at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary( ServletTestExecutionListener.java:192 ) at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance( ServletTestExecutionListener.java:131 ) at org.springframework.test.context.TestContextManager.prepareTestInstance( TestContextManager.java:249 ) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest( SpringJUnit4ClassRunner.java:228 ) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall( SpringJUnit4ClassRunner.java:290 ) at org.junit.internal.runners.model.ReflectiveCallable.run ( ReflectiveCallable.java:12 ) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock( SpringJUnit4ClassRunner.java:292 ) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild( SpringJUnit4ClassRunner.java:247 ) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild( SpringJUnit4ClassRunner.java:97 ) at org.junit.runners.ParentRunner$4.run( ParentRunner.java:331 ) at org.junit.runners.ParentRunner$1.schedule( ParentRunner.java:79 ) at org.junit.runners.ParentRunner.runChildren( ParentRunner.java:329 ) at org.junit.runners.ParentRunner.access$100( ParentRunner.java:66 ) at org.junit.runners.ParentRunner$2.evaluate( ParentRunner.java:293 ) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate( RunBeforeTestClassCallbacks.java:61 ) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate( RunAfterTestClassCallbacks.java:70 ) at org.junit.runners.ParentRunner$3.evaluate( ParentRunner.java:306 ) at org.junit.runners.ParentRunner.run ( ParentRunner.java:413 ) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run ( SpringJUnit4ClassRunner.java:191 ) at org.junit.runner.JUnitCore.run ( JUnitCore.java:137 ) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs( JUnit4IdeaTestRunner.java:69 ) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute( IdeaTestRunner.java:38 ) at com.intellij.rt.execution.junit.TestsRepeater.repeat( TestsRepeater.java:11 ) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs( IdeaTestRunner.java:35 ) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart( JUnitStarter.java:235 ) at com.intellij.rt.junit.JUnitStarter.main( JUnitStarter.java:54 ) Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not instantiate id generator [entity-name=jpabook.jpashop.Member] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.initializeBean( AbstractAutowireCapableBeanFactory.java:1751 ) at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.doCreateBean( AbstractAutowireCapableBeanFactory.java:599 ) at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.createBean( AbstractAutowireCapableBeanFactory.java:521 ) at org.springframework.beans.factory.support .AbstractBeanFactory.lambda$doGetBean$0( AbstractBeanFactory.java:326 ) at org.springframework.beans.factory.support .DefaultSingletonBeanRegistry.getSingleton( DefaultSingletonBeanRegistry.java:234 ) at org.springframework.beans.factory.support .AbstractBeanFactory.doGetBean( AbstractBeanFactory.java:324 ) at org.springframework.beans.factory.support .AbstractBeanFactory.getBean( AbstractBeanFactory.java:200 ) at org.springframework.context.support .AbstractApplicationContext.getBean( AbstractApplicationContext.java:1130 ) at org.springframework.context.support .AbstractApplicationContext.finishBeanFactoryInitialization( AbstractApplicationContext.java:905 ) at org.springframework.context.support .AbstractApplicationContext.refresh( AbstractApplicationContext.java:584 ) at org.springframework.boot.SpringApplication.refresh( SpringApplication.java:730 ) at org.springframework.boot.SpringApplication.refreshContext( SpringApplication.java:432 ) at org.springframework.boot.SpringApplication.run ( SpringApplication.java:308 ) at org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3( SpringBootContextLoader.java:137 ) at org.springframework.util.function.ThrowingSupplier.get( ThrowingSupplier.java:59 ) at org.springframework.util.function.ThrowingSupplier.get( ThrowingSupplier.java:47 ) at org.springframework.boot.SpringApplication.withHook( SpringApplication.java:1386 ) at org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run( SpringBootContextLoader.java:543 ) at org.springframework.boot.test.context.SpringBootContextLoader.loadContext( SpringBootContextLoader.java:137 ) at org.springframework.boot.test.context.SpringBootContextLoader.loadContext( SpringBootContextLoader.java:108 ) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal( DefaultCacheAwareContextLoaderDelegate.java:183 ) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext( DefaultCacheAwareContextLoaderDelegate.java:117 ) ... 27 more Caused by: jakarta.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not instantiate id generator [entity-name=jpabook.jpashop.Member] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory( AbstractEntityManagerFactoryBean.java:421 ) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet( AbstractEntityManagerFactoryBean.java:396 ) at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet( LocalContainerEntityManagerFactoryBean.java:352 ) at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.invokeInitMethods( AbstractAutowireCapableBeanFactory.java:1797 ) at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.initializeBean( AbstractAutowireCapableBeanFactory.java:1747 ) ... 48 more Caused by: org.hibernate.MappingException: Could not instantiate id generator [entity-name=jpabook.jpashop.Member] at org.hibernate.id .factory.internal.StandardIdentifierGeneratorFactory.createIdentifierGenerator( StandardIdentifierGeneratorFactory.java:222 ) at org.hibernate.mapping.SimpleValue.createIdentifierGenerator( SimpleValue.java:515 ) at org.hibernate.mapping.SimpleValue.createIdentifierGenerator( SimpleValue.java:372 ) at org.hibernate.internal.SessionFactoryImpl.lambda$new$1( SessionFactoryImpl.java:291 ) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept( ForEachOps.java:183 ) at java.base/java.util.stream.ReferencePipeline$2$1.accept( ReferencePipeline.java:179 ) at java.base/java.util.HashMap$ValueSpliterator.forEachRemaining( HashMap.java:1779 ) at java.base/java.util.stream.AbstractPipeline.copyInto( AbstractPipeline.java:509 ) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto( AbstractPipeline.java:499 ) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential( ForEachOps.java:150 ) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential( ForEachOps.java:173 ) at java.base/java.util.stream.AbstractPipeline.evaluate( AbstractPipeline.java:234 ) at java.base/java.util.stream.ReferencePipeline.forEach( ReferencePipeline.java:596 ) at org.hibernate.internal.SessionFactoryImpl.<init>( SessionFactoryImpl.java:290 ) at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build ( SessionFactoryBuilderImpl.java:415 ) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build ( EntityManagerFactoryBuilderImpl.java:1425 ) at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory( SpringHibernateJpaPersistenceProvider.java:66 ) at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory( LocalContainerEntityManagerFactoryBean.java:376 ) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory( AbstractEntityManagerFactoryBean.java:409 ) ... 52 more Caused by: org.hibernate.HibernateException: Could not fetch the SequenceInformation from the database at org.hibernate.engine.jdbc.env.internal.ExtractedDatabaseMetaDataImpl.sequenceInformationList( ExtractedDatabaseMetaDataImpl.java:302 ) at org.hibernate.engine.jdbc.env.internal.ExtractedDatabaseMetaDataImpl.getSequenceInformationList( ExtractedDatabaseMetaDataImpl.java:151 ) at org.hibernate.id .enhanced.SequenceStyleGenerator.getSequenceIncrementValue( SequenceStyleGenerator.java:561 ) at org.hibernate.id .enhanced.SequenceStyleGenerator.configure( SequenceStyleGenerator.java:210 ) at org.hibernate.id .factory.internal.StandardIdentifierGeneratorFactory.createIdentifierGenerator( StandardIdentifierGeneratorFactory.java:217 ) ... 70 more Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Column "start_value" not found [42122-214] at org.h2.message.DbException.getJdbcSQLException( DbException.java:502 ) at org.h2.message.DbException.getJdbcSQLException( DbException.java:477 ) at org.h2.message.DbException.get( DbException.java:223 ) at org.h2.message.DbException.get( DbException.java:199 ) at org.h2.jdbc.JdbcResultSet.getColumnIndex( JdbcResultSet.java:3492 ) at org.h2.jdbc.JdbcResultSet.getLong( JdbcResultSet.java:745 ) at com.zaxxer.hikari.pool.HikariProxyResultSet.getLong( HikariProxyResultSet.java ) at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.resultSetStartValueSize( SequenceInformationExtractorLegacyImpl.java:110 ) at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.lambda$extractMetadata$0( SequenceInformationExtractorLegacyImpl.java:54 ) at org.hibernate.tool.schema.extract.spi.ExtractionContext.getQueryResults( ExtractionContext.java:50 ) at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.extractMetadata( SequenceInformationExtractorLegacyImpl.java:39 ) at org.hibernate.engine.jdbc.env.internal.ExtractedDatabaseMetaDataImpl.sequenceInformationList( ExtractedDatabaseMetaDataImpl.java:286 ) ... 74 more
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. TemperatureInput.jsx 코드 Calculator.jsx index.js 이렇게 했습니다. 이렇게 할 경우, 이렇게 뜨고, 저기에 입력할 경우, 이런 오류가 뜹니다. 오류의 부분에서 TemperatureInput.jsx 10번째 줄이 함수로 지정되어 있지 않다는 의미를 모르겠습니다. 또한 어느 부분에서 오류가 있기에 실행 화면에서 단위: " " 이 부분(" ")에 해당 문자가 뜨지 않는지 모르겠습니다.
[질문 내용] 안녕하세요 영한님! 강의 항상 잘 듣고 있습니다~ 저는 spring 로그인 강의를 듣고 아는 것들로 프로젝트를 하고 있습니다. 저는 주문 취소 컨트롤러를 이렇게 작성했습니다! @GetMapping("/order/cancel") public String cancel(@RequestParam("orderId") Long orderId, HttpServletRequest request){ // 세션에서 loginMember 객체를 가져온다 HttpSession session = request.getSession(false); if (session == null) { return "redirect:/member/login"; } Member loginMember = (Member) session.getAttribute("loginMember"); // 파라미터로 받은 orderId로 주문 객체를 찾는다. Order order = orderRepository.findById(orderId); // 주문의 멤버와 세션의 멤버가 동일하면 주문취소처리 if (order.getMember().equals(loginMember)){ orderService.cancel(orderId); } return "redirect:/member/mypage"; } 로그인한 멤버가 주문을 취소하려고 할 때, 세션에 있는 loginMember를 가져와서 order.getMember()와 같다면 주문취소처리를 해주었습니다. 근데 order.getMember().equals(loginMember) 가 false로 나오는 이유를 잘 모르겠습니다,,,ㅠㅠㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 실행을 하고서 localhost :8080에 들어가니 사이트에 연결할수없다고 떴어요. 콘솔을 확인하니 이런 에러가 뜨네요. crbug/1173575, non-JS module files deprecated. 그래서 그 다음에 index.html 자체를 실행시켜봤어요. http://localhost:63342/hello-spring/hello-spring.main/static/index.html?_ijt=shihsho683lr8er1m981ad6o09 이런 주소로 들어가니 강의에 나오는 대로 Hello hello가 잘 떴습니다. 근데 왜 localhost :8080으로 들어갔을때 에러가 뜰까요..?
따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
이전 수업 중 로그인, 회원가입 페이지에 authState를 불러와서 if (authenticated) router.push("/") 이렇게 한건 인증이 된 유저는 로그인, 회원가입 페이지에 못 가게 하기 위해 맞나요? 그리고 그때는 동작이 안했는데 이번에 수정하고나서는 되는것을 보니 이것도 user 미들웨어에서 next()를 안해줘서 그런건가요? 제가 잘 이해한 것이 맞나 궁금해요
타입가드에서 tony는 Developer도 아니고 Person도 아닌 것 아닌가요? 그 후에 if문에서 어떻게 이게 성립 되는건지 모르겠습니다 ㅜ 그리고 실제 서비스에서는 더 복잡한 인터페이스를 사용할텐데 이렇게 유니온 타입으로 지정해서 타입가드를 해줘야하는 경우는 어떤 경우인가요? interface Developer { name : string; skill : string; } interface Person{ name: string; age : number; } function introduce():Developer | Person { return {name: 'Tony', age : 33, skill: 'Iron Making'} }