학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 영한님처럼 이렇게 나왔으면 하지만,, spring: #띄어쓰기 없음 datasource: #띄어쓰기 2칸 url: jdbc:h2:tcp://localhost/~/jpashop username: sa password: driver-class-name: org.h2.Driver jpa: #띄어쓰기 2칸 hibernate: #띄어쓰기 4칸 ddl-auto: create #띄어쓰기 6칸 properties: #띄어쓰기 4칸 hibernate: #띄어쓰기 6칸 format_sql: true # show_sql: true #띄어쓰기 8칸 logging: level: org.hibernate.sql: debug org.hibernate.orm.jdbc.bind: trace yml 설정이 이렇게 되있는데도 아래와 같이 나옵니다. 그리고 빨간 경고가 뜨는 이유는 뭔지 알 수 있을까요..? WARNING: A Java agent has been loaded dynamically (C:\...\.gradle\caches\modules-2\files-2.1\net.bytebuddy\byte-buddy-agent\1.14.10\90ed94ac044ea8953b224304c762316e91fd6b31\byte-buddy-agent-1.14.10.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 ``` 부트 3.2버전에 JDK는 21로 설정했습니다. 혹시나 build.gradle 도 같이 올립니다. plugins { id 'java' id 'org.springframework.boot' version '3.2.0' id 'io.spring.dependency-management' version '1.1.4' } group = 'jbabook' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '21' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-validation' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-devtools' implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' } tasks.named('test') { useJUnitPlatform() }
안녕하세요 vue3로 시작해서 열심히 교육 듣다가 이벤트 버스에서 막혔습니다. 아직 vue가 초보라 구글링 보면서 이방법 저방법 해보다 잘 안되서 결구 mitt를 사용해서 해결했습니다. 우선 npm install --save mitt 로 mitt 설치했고 main.js에 mitt 세팅해주고 NewsView.vue에서 이벤트 보내주고 App.vue에서 받아서 처리하는 방법을 썻습니다. 일단 잘 되는거 같아 다행인데요 질문이 좀 있습니다. 질문1 혹시 더 좋은 방법이 있었으면 알려주셨으면 합니다. 위에 소스에서 잘못사용한거 같은 부분도 좀 알려주셨으면 합니다. 질문2 첨에 NewsView.vue에서 $emit으로 start,stop 보내고 App.vue에서 NewsView를 import하고 템플릿에 NewsView 세팅해주고 @이벤트명="aaa"로 받아서 methods에서 aaa() {} 안에 처리하려고 했습니다. 그런데 첨에 페이지 들어갈때는 되는데 페이지 이동하면 $ emit가 실행이 안되네요 emit 위아래는 console.log가 찍히는데 왜 app.vue로 emit이 왜 안가는걸까요? ================================= <<NewsView.vue>> this.$emit('eventBus', 'start'); this.$store.dispatch('FETCH_NEWS'); this.$emit('eventBus', 'stop'); <<App.vue>> <template> <news-view @eventBus="lodings"><news-view> </template> import NewsView from './views/NewsView.vue' methods: { lodings(event) { if(event === 'start') { this.startSpinner(); }else if(event === 'stop') { this.endSpinner(); } } }; =================대충 이런느낌으로============ 질문3 두번째로 this.$store.dispatch를 사용해서 처리해보려고 했습니다. NewsView.vue 화면에서 this.$store.dispatch('EVENT_BUS_START'); this.$store.dispatch('FETCH_NEWS'); this.$store.dispatch('EVENT_BUS_STOP'); 이런식으로 처리해서 index.js에서 세팅한 eventBus값을 바꿔서 app.vue에서 $store.start.eventBus값을 불러서 처리하려고 했는데 stop만 인식하더군요 NewsView.vue 화면에서 다 처리된값만 인식하는 걸까요? 일단 질문드리지만 뭔가 설명을 잘 못적겠네요 소스를 지워서 사진으로 보여드릴수 없지만 질문 이해되시면 답장좀 부탁드립니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 테이블 생성 제대로 되는 것 확인하였으나 sql문이 터미널에 나타나지 않습니다. 이전 강의 참고하여 repository를 인터페이스 상속받는 형태로 만들어보긴 했는데 이 부분은 문제 없을 것으로 생각됩니다. build.gradle plugins { id 'java' id 'org.springframework.boot' version '3.2.0' id 'io.spring.dependency-management' version '1.1.4' } group = 'jpabook' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-validation' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-devtools' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' //JUnit4 추가 testImplementation("org.junit.vintage:junit-vintage-engine") { exclude group: "org.hamcrest", module: "hamcrest-core" } } tasks.named('test') { useJUnitPlatform() } application.yml spring: datasource: url: jdbc:h2:tcp://localhost/~/databasesByH2/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.orm.jdbc.bind: trace #스프링 부트 3.x, hibernate6 Member.java package jpabook.jpashop.entity; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; import lombok.Getter; import lombok.Setter; @Entity @Getter @Setter public class Member { @Id @GeneratedValue private Long id; private String username; } MemberRepository.java (인터페이스) package jpabook.jpashop.repository; import jpabook.jpashop.entity.Member; public interface MemberRepository { public Long save(Member member); public Member find(Long id); } JpaMemberRepository.java (구현체) package jpabook.jpashop.repository; import jakarta.persistence.EntityManager; import jakarta.persistence.PersistenceContext; import jpabook.jpashop.entity.Member; import org.springframework.stereotype.Repository; @Repository public class JpaMemberRepository implements MemberRepository{ @PersistenceContext EntityManager em; @Override public Long save(Member member) { em.persist(member); return member.getId(); } @Override public Member find(Long id) { return em.find(Member.class, id); } } JpaMemberRepositoryTest.java package jpabook.jpashop.repository; import jpabook.jpashop.entity.Member; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.Rollback; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; import static org.junit.jupiter.api.Assertions.*; @RunWith(SpringRunner.class) @SpringBootTest class JpaMemberRepositoryTest { @Autowired MemberRepository memberRepository; @Test @Transactional @Rollback(false) void save() { //given Member member = new Member(); member.setUsername("조건우"); //when Long resultId = memberRepository.save(member); Member findMember = memberRepository.find(resultId); //then Assertions.assertThat(findMember.getUsername()).isEqualTo(member.getUsername()); Assertions.assertThat(findMember.getId()).isEqualTo(member.getId()); Assertions.assertThat(findMember).isEqualTo(member); } @Test void find() { } } JpaMemberRepositoryTest.java 실행로그 > Task :compileJava UP-TO-DATE > Task :processResources UP-TO-DATE > Task :classes UP-TO-DATE > Task :compileTestJava UP-TO-DATE > Task :processTestResources NO-SOURCE > Task :testClasses UP-TO-DATE 15:29:18.352 [Test worker] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils -- Could not detect default configuration classes for test class [jpabook.jpashop.JpashopApplicationTests]: JpashopApplicationTests does not declare any static, non-private, non-final, nested classes annotated with @Configuration. 15:29:18.391 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper -- Found @SpringBootConfiguration jpabook.jpashop.JpashopApplication for test class jpabook.jpashop.JpashopApplicationTests 15:29:18.451 [Test worker] INFO org.springframework.boot.devtools.restart.RestartApplicationListener -- Restart disabled due to context in which it is running . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.2.0) 2023-12-18T15:29:18.567+09:00 INFO 2911 --- [ Test worker] j.jpashop.JpashopApplicationTests : Starting JpashopApplicationTests using Java 17.0.9 with PID 2911 (started by kangg in /Users/kangg/Coding/jpashop) 2023-12-18T15:29:18.568+09:00 INFO 2911 --- [ Test worker] j.jpashop.JpashopApplicationTests : No active profile set, falling back to 1 default profile: "default" 2023-12-18T15:29:18.865+09:00 INFO 2911 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2023-12-18T15:29:18.875+09:00 INFO 2911 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 6 ms. Found 0 JPA repository interfaces. 2023-12-18T15:29:19.077+09:00 INFO 2911 --- [ Test worker] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] 2023-12-18T15:29:19.097+09:00 INFO 2911 --- [ Test worker] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.3.1.Final 2023-12-18T15:29:19.111+09:00 INFO 2911 --- [ Test worker] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled 2023-12-18T15:29:19.201+09:00 INFO 2911 --- [ Test worker] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer 2023-12-18T15:29:19.213+09:00 INFO 2911 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2023-12-18T15:29:19.245+09:00 INFO 2911 --- [ Test worker] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection conn0: url=jdbc:h2:tcp://localhost/~/databasesByH2/jpashop user=SA 2023-12-18T15:29:19.246+09:00 INFO 2911 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2023-12-18T15:29:19.542+09:00 INFO 2911 --- [ 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) 2023-12-18T15:29:19.554+09:00 INFO 2911 --- [ Test worker] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2023-12-18T15:29:19.634+09:00 WARN 2911 --- [ 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 2023-12-18T15:29:19.643+09:00 INFO 2911 --- [ Test worker] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [static/index.html] 2023-12-18T15:29:19.812+09:00 INFO 2911 --- [ Test worker] j.jpashop.JpashopApplicationTests : Started JpashopApplicationTests in 1.367 seconds (process running for 1.814) OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended 2023-12-18T15:29:20.098+09:00 INFO 2911 --- [ionShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' 2023-12-18T15:29:20.099+09:00 INFO 2911 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... 2023-12-18T15:29:20.104+09:00 INFO 2911 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. > Task :test Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. For more on this, please refer to https://docs.gradle.org/8.5/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. BUILD SUCCESSFUL in 2s 4 actionable tasks: 1 executed, 3 up-to-date 3:29:20 PM: Execution finished ':test --tests "jpabook.jpashop.JpashopApplicationTests"'.
언리얼 리플렉션 시스템에 의해 UEnum 포인터 값을 찾을 수 있기 때문에 UEnum값의 메타 데이터 정보를 가져오기 위해 강의 예제에서는 FindObject<UEnum>(nullptr, TEXT("/Script/프로젝트 이름.ECardType")); 이렇게 절대경로를 입력하여 Object를 찾는 것으로 이해했습니다. 하지만 저는 Card 클래스를 플러그인 모듈로 따로 빼서 한번 진행해봤는데 저 경로로는 UEnum값을 찾을 수가 없던데 이런 경우에는 어떻게 해야 하는지 궁금합니다.
아래와 같은 에러가 발생하여 application.properties 를 application.yml로 바꾸어봤지만 같은에러가납니다. *************************** APPLICATION FAILED TO START *************************** 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: datasource: driver-class-name: org.mariadb.jdbc.Driver url: jdbc:mariadb://localhost:3306/apidb username: apidbuser password: apidbuser jpa: hibernate: ddl-auto: update properties: hibernate: format_sql: true show-sql: true logging: level:debug 아래코드는 build.gradle 내용입니다. buildscript { ext { queryDslVersion = "5.0.0" } } plugins { id 'java' id 'org.springframework.boot' version '3.0.13' id 'io.spring.dependency-management' version '1.1.4' } group = 'org.mail' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' testCompileOnly'org.projectlombok:lombok' developmentOnly 'org.springframework.boot:spring-boot-devtools' runtimeOnly 'org.mariadb.jdbc:mariadb-java-client' annotationProcessor 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' implementation "com.querydsl:querydsl-jpa:${queryDslVersion}:jakarta" annotationProcessor( "jakarta.persistence:jakarta.persistence-api", "jakarta.annotation:jakarta.annotation-api", "com.querydsl:querydsl-apt:${queryDslVersion}:jakarta") } tasks.named('bootBuildImage') { builder = 'paketobuildpacks/builder-jammy-base:latest' } tasks.named('test') { useJUnitPlatform() } compileJava.dependsOn('clean') 맨위에 에러 난 후 이하 반복적인 에러가 발생하지만 값을 가져오는데는 이상이없습니다. 프론트에서 호출해도 정상적으로 데이터가 호출됩니다. 그래서 quertdsl에 관한내용을 지우고 해봤는데 에러가 사라졌습니다. 혹시 querydsl 에 관한 이슈가 있는걸까요? 검색을 해봤지만 발견할 수가 없었습니다. java.lang.NullPointerException: Cannot read field "generatedClass" because "data" is null
정적 컨텐츠 정적 컨텐츠는 단순히 파일을 그대로 클라이언트에게 전송하는 방식이다. 주로 이미지 파일, CSS 파일, JavaScript 파일 등과 같은 변하지 않는 자원들을 제공할 때 사용한다. MVC와 템플릿 엔진 MVC 아키텍처에서 템플릿 엔진을 사용하면 모델(Model), 뷰(View), 컨트롤러(Controller)를 각각 독립적으로 분리할 수 있다. 모델은 데이터를 관리하고, 뷰는 템플릿 엔진을 사용하여 HTML로 동적으로 프로그래밍하며, 컨트롤러는 비즈니스 로직을 처리하고 모델 및 뷰를 관리한다. 렌더링된 HTML은 클라이언트에게 전달되어 화면(=View)에 표시된다. API API는 객체를 반환하는 방식으로 동작한다. HttpMessageConverter를 사용하여 객체를 적절한 형식으로 변환하고, 이를 HTTP ResponseBody(자바 스프링의 경우 @ResponseBody)에 직접 넣어 클라이언트에게 반환한다. 이 과정에서 별도의 뷰 없이 데이터가 그대로 HTTP ResponseBody에 포함되어 전송된다. 이렇게 이해했는데 틀린 부분이 있을까요? 틀리거나 어색한 부분 지적 부탁 드립니다.
안녕하세요 교수님 part 1, part 2를 모두 수강하고 너무 도움이 많이 되어 part 3까지 듣고 있는 클라이언트 지망생입니다~ 강의를 들으니, 처음 게임을 개발 할 때, 서버를 염두해 두지 않고 개발을 하면 이후에 코드를 수정하는데 많은 시간이 걸리는 것을 이해를 했습니다. 그렇다면 리슨서버로 개발을 진행하고, 이후에 데디케이트 서버로 변경을 하려고 하면 이 또한 많은 코드 수정이 필요한가요? 정확히 궁금한 것은, 언리얼에 리슨서버와 데디케이트 서버의 호환성이 높은지 아니면 완전히 다른 코드를 사용해서 구현해야 하는 것인지 입니다~~
안녕하세요. 강의와 똑같이 코드를 작성 후, jackson 라이브러리 또한 확인했습니다. HelloData 코드도 작성 후 롬복도 추가해 놓았습니다. postman으로 요청시에 HelloData helloData = objectMapper.readValue(messageBody, HelloData.class); System.out.println("helloData.username = " + helloData.getUsername()); System.out.println("helloData.age = " + helloData.getAge()); response.getWriter().write("ok"); 이 부분이 출력되지 않아서 질문 남깁니다. 오류 메시지는 없습니다. boot 버전은 3.2.0 입니다. 감사합니다.
안녕하세요, cli강의에서 react native expo를 사용하지 않는 이유로 네이티브 라이브러리와의 호환성 문제를 꼽으셨는데 최근 prebuild 기능을 사용하면 expo에서도 네이티브 라이브러리를 가져다 쓸 수 있게 업데이트가 되었고 expo의 최적화 문제도 어느정도 해결이 되었다는 소식을 들어서, 혹시 expo 관련 강의는 해보실 생각이 없을까 싶어 여쭙습니다. 특히 expo가 최근에 업데이트하면서 많이 바뀌었는데 최신버전 강의 영상이 아예 없더라고요.. 그래서 혹시 여전히 expo는 업데이트가 되었어도 실무에서 사용할 수 없다고 생각하시는건지 궁금합니다
안녕하세요! 섹션 6 중 컴포넌트 스캔과 의존관계 자동 주입하기 강의 관련 질문 드립니다. OrderServiceImpl @Component public class OrderServiceImpl implements OrderService { private final MemberRepository memberRepository; private final DisountPolicy disountPolicy; @Autowired public OrderServiceImpl(MemberRepository memberRepository, DisountPolicy disountPolicy) { this.memberRepository = memberRepository; this.disountPolicy = disountPolicy; } ... } (DisountPolicy 는 처음 클래스 명 설정할 때 오타가 나서 그냥 그대로 쭉 사용하고 있습니다..) AutoAppConfig를 생성한 후 각 클래스에 @Component 어노테이션을 붙여줬고, OrderServiceImpl 클래스에 @Autowired 를 통해 의존 관계를 주입하는 과정에서 Could not autowire. There is more than one bean of 'DisountPolicy' type.Beans:discountPolicy (AppConfig.java)rateDiscountPolicy (RateDiscountPolicy.java) 에러가 발생합니다. 원인을 찾아보니 같은 타입의 빈이 여러 개 존재해서 발생하는 에러라고 하는데, 제 코드에서 어떤 부분이 잘못된건지 모르겠어서 질문 드립니다.. AutoAppConfig package Hello.core; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.FilterType; @Configuration @ComponentScan ( excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Configuration.class) ) public class AutoAppConfig { } AppConfig @Configuration public class AppConfig { @Bean public MemberService memberService() { System.out.println("call AppConfig.memberService"); return new MemberServiceImpl(memberRepository()); } @Bean public MemberRepository memberRepository() { System.out.println("call AppConfig.memberRepository"); return new MemoryMemberRepository(); } @Bean public OrderService orderService() { System.out.println("call AppConfig.orderService"); return new OrderServiceImpl(memberRepository(), discountPolicy()); } @Bean public DisountPolicy discountPolicy() { return new RateDiscountPolicy(); } }
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] PRG를 이용해서, 불필요한 post요청을 방지하는 내용이 있었는데, 상품을 추가하고 뒤로가기를 누르게되면, 다시 제출했던 폼이 그대로 남아있어서 "추가 -> 뒤로가기 ->추가" 계속 반복적으로 작성할 수 있잖아요? 이런거는 spring으로 방지 못하고, javascript로 처리해줘야하나요
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
강의에서는 패스워드를 암호화하지 않고 그냥 보내는 방식으로 설명해주셨는데요. Flutter 에서 패스워드를 RSA 암호화하고 서버에서 복호화 처리하는 방법으로 실제 프로젝트에서는 사용할 거 같습니다. Flutter 에서 RSA 암호화 하는 예제 코드 좀 부탁드리겠습니다.
Refused to apply style from ' http://127.0.0.1:5500/common/reset.css ' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled. 콘솔창에 이렇게 뜨는데 뭐가 문제일까요?
오픈 카카오톡 으로 문의주시면 더 빠르게 답변 받으실 수 있어요 :) 에뮬레이터 실행하면 이런 오류문구가 계속 뜹니다...... 혹시나 예전에 어떤 책 보면서 해놓은 환경변수 설정해 놓은게 있어서 그거 때문인가 싶어 그 환경 변수 지워봤는데 도움이 되진 않네요..... 구글에 쳐봤는데 제가 이해할 수 가 없어서 어떻게 해야 할 지 모르겠습니다...
오픈 카카오톡 으로 문의주시면 더 빠르게 답변 받으실 수 있어요 :) 에뮬레이터 실행하면 이런 오류문구가 계속 뜹니다...... 혹시나 예전에 어떤 책 보면서 해놓은 환경변수 설정해 놓은게 있어서 그거 때문인가 싶어 그 환경 변수 지워봤는데 도움이 되진 않네요..... 구글에 쳐봤는데 제가 이해할 수 가 없어서 어떻게 해야 할 지 모르겠습니다...
오픈 카카오톡 으로 문의주시면 더 빠르게 답변 받으실 수 있어요 :) 에뮬레이터 실행하면 이런 오류문구가 계속 뜹니다...... 혹시나 예전에 어떤 책 보면서 해놓은 환경변수 설정해 놓은게 있어서 그거 때문인가 싶어 그 환경 변수 지워봤는데 도움이 되진 않네요..... 구글에 쳐봤는데 제가 이해할 수 가 없어서 어떻게 해야 할 지 모르겠습니다...