묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
요청 파라미터, 요청 정보,, 질문있습니다..!
30초 경에 save하는 컨트롤러 입장에서 요청 파라미터 정보가 필요한 거지 request, response 정보가 필요하지 않는다고 하셨는데, 그냥 무심코 지나치킨 했는데 다시 듣다가 궁금해서 질문 올립니다! request 정보가 파라미터 정보가 아닌거였나요,,??!
-
미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
슬라이싱 질문있습니다
- 1. 변수를 사진처럼 작성하면 number[3]에 str를 씌웠을 때 오류가 생겼는데 이유가 궁금합니다. 2. 슬라이싱을 할때 변수를 문자열로 선언하는 이유가 궁금합니다.
-
미해결비전공자를 위한 개발자 취업 올인원 가이드 [통합편]
비전공자 학원선택이 막막합니다
유익한 강의 감사합니다. 비전공자로, 대학다닐 때에도 개발자에 대한 생각이 어느정도 있었지만 '지금와서 과를 바꾸기엔 늦었으니 내 전공 살려 취업하자' 란 생각으로 대학을 졸업했고, 시간이 지날 때마다 '그때 시작할걸, 왜 늦었다고 생각했을까.' 라는 생각을 하며 막상 개발자에 대한 도전은 하지 못하고, 전공을 살리는 길만 찾았습니다. 미래에 가서도 이런 후회를 계속할 것 같아 이제라도 개발자쪽으로 공부를 시작하자 라는 마음을 먹게 되었습니다. 그리고 이 강의를 통해 용기를 얻게 되었고, 많은 도움을 받았습니다. 강의 덕분에 어느정도 길을 잡을 수 있었지만 나이로 인해 취업에 대한 걱정이 드는 중입니다. 프론트엔드쪽으로 가고싶어 공부를 시작한지 3일차이며 자바스크립트 조건문과 반복함수를 이용해 간단한 가위바위보 게임이나 업다운 게임 정도를 만드는 정도밖에 모릅니다. 독학을 하기에는 시간이 오래걸릴 것 같고 때문에 학원을 통해 프로젝트를 준비하여 취업하고 싶습니다. 하지만 대부분의 부트캠프, 기업아카데미는 기간이 지났고, 다음 기수를 들어가기에는 시간적으로 부담이 되며, 현재 모집중인 SW마에스트로는 코딩테스트를 보기에, 아무런 지식이 없는 저로서는 들어갈 수 없을 것 같습니다. 국비지원 내일배움카드 학원은 말씀하신 대로 프론트엔드 학원이 없고 전부 ui ux 디자인 과정이기 때문에 그 외에 제가 알아본 교육과정으로는 1. 폴리텍 대학교 응용소프트웨어 학과 1년 과정 2. 42seoul (현재 온라인테스트 합격) 3. 구공팩토리 4. 패스트캠퍼스 메가바이트 스쿨 이렇게 4개의 교육과정을 고민중에 있습니다. 42서울은 기본적으로 c+에 대한 지식이 있어야 하며 교육이라기 보다는 스터디그룹 분위기 인 것 같아 고민이 되며 패스트캠퍼스 메가바이트 스쿨은 제가 정보가 부족해서 그럴 수 있는데, 상당히 신뢰가 가지는 않습니다. 현재는 인프런 강의를 통해 자바스크립트와 jquery 독학중에 있으며 위 교육과정 중 어느 것이 괜찮을지, 혹은 다른 길이 있는 지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
http://localhost:8080/hello 오류(*추가)
500오류가 나요ㅜㅜ 질문에 오타나 서버 문제이길래 서버 구동 제대로 시켰는지 확인하고 오타도 확인했는데 뭐가 문제인지 모르겠어요.. ************추가*************** templates부분에 저는 templates.hello라고 적혀있는데 문제가 되는건가요? rename으로 파일명만 고쳐도 되나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
질문 있습니다..
해당 서블릿까지 콘솔로 확인 했는데... jsp로 가질 않네요,,, ㅠㅠ 그래서 디폴트가 webapp로 되어 잇는걸로 아래 질문내용에서 봤는데 간단한부분인데 어디쪽이 문제가 있는지 감이 안잡힙니다.
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
${id}
동영상에서 볼때 ${id} 이부분이 색이 변하면서 경로에 id값을 넣으면 잘 들어오는데 저는 사진과 같이 색이 안 변하고 localhost:8080/products/50 이런 식으로 id값을 넣어도 화면에는 id는 ${id}입니다 로 id값이 적용 안돼서 출력이 되는데 어떻게 해야하는지 알 수 있을까요? ${id}를 따옴표 밖에 써봤더니 밖에 있는건 사진처럼 색이 변하네요
-
미해결스프링 시큐리티
IllegalArgumentException: authenticationManager must be specified 에러가 납니다.
[SecurityConfig] package io.security.corespringsecurity.security.configs; import io.security.corespringsecurity.security.filter.AjaxLoginProcessingFilter; import io.security.corespringsecurity.security.handler.CustomAccessDeniedHandler; import io.security.corespringsecurity.security.provider.FormAuthenticationProvider; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.security.servlet.PathRequest; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.authentication.AuthenticationDetailsSource; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.authentication.AuthenticationProvider; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.builders.WebSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.web.access.AccessDeniedHandler; import org.springframework.security.web.authentication.AuthenticationFailureHandler; import org.springframework.security.web.authentication.AuthenticationSuccessHandler; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; import org.springframework.web.filter.CharacterEncodingFilter; import javax.persistence.Access; @Configuration @EnableWebSecurity @Slf4j public class SecurityConfig extends WebSecurityConfigurerAdapter { @Autowired private AuthenticationDetailsSource authenticationDetailsSource; @Autowired private AuthenticationSuccessHandler customAuthenticationSuccessHandler; @Autowired private AuthenticationFailureHandler customAuthenticationFailureHandler; @Bean public FormAuthenticationProvider authenticationProvider() { return new FormAuthenticationProvider(passwordEncoder()); } @Bean public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { auth.authenticationProvider(authenticationProvider()); } @Override public void configure(WebSecurity web) throws Exception { web.ignoring().requestMatchers(PathRequest.toStaticResources().atCommonLocations()); } @Override protected void configure(final HttpSecurity http) throws Exception { CharacterEncodingFilter filter = new CharacterEncodingFilter(); http .authorizeRequests() .antMatchers("/","/users", "user/login/**", "/login*").permitAll() .antMatchers("/mypage").hasRole("USER") .antMatchers("/messages").hasRole("MANAGER") .antMatchers("/config").hasRole("ADMIN") .anyRequest().authenticated() .and() .formLogin() .loginPage("/login") .loginProcessingUrl("/login_proc") .defaultSuccessUrl("/") .authenticationDetailsSource(authenticationDetailsSource) .successHandler(customAuthenticationSuccessHandler) .failureHandler(customAuthenticationFailureHandler) .permitAll(); http.exceptionHandling() .accessDeniedHandler(accessDeniedHandler()) .and() .addFilterBefore(ajaxLoginProcessingFilter(), UsernamePasswordAuthenticationFilter.class); } @Bean public AccessDeniedHandler accessDeniedHandler() { CustomAccessDeniedHandler accessDeniedHandler = new CustomAccessDeniedHandler(); accessDeniedHandler.setErrorPage("/denied"); return accessDeniedHandler; } @Bean public AjaxLoginProcessingFilter ajaxLoginProcessingFilter() { AjaxLoginProcessingFilter ajaxLoginProcessingFilter = new AjaxLoginProcessingFilter(); return ajaxLoginProcessingFilter; } } [AjaxLoginProcessingFilter] package io.security.corespringsecurity.security.filter; import com.fasterxml.jackson.databind.ObjectMapper; import io.security.corespringsecurity.domain.AccountDto; import io.security.corespringsecurity.security.token.AjaxAuthenticationToken; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.core.Authentication; import org.springframework.security.core.AuthenticationException; import org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter; import org.springframework.security.web.util.matcher.AntPathRequestMatcher; import org.springframework.security.web.util.matcher.RequestMatcher; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @Component public class AjaxLoginProcessingFilter extends AbstractAuthenticationProcessingFilter { private ObjectMapper objectMapper = new ObjectMapper(); public AjaxLoginProcessingFilter() { super(new AntPathRequestMatcher("/api/login")); } @Override public void setAuthenticationManager(AuthenticationManager authenticationManager) { super.setAuthenticationManager(authenticationManager); } @Override public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse httpServletResponse) throws AuthenticationException, IOException { if(!isAjax(request)) { throw new IllegalStateException("Authentication is not supported"); } AccountDto accountDto = objectMapper.readValue(request.getReader(), AccountDto.class); if(StringUtils.isEmpty(accountDto.getUsername()) || StringUtils.isEmpty(accountDto.getPassword())) { throw new IllegalStateException("Username or Password is empty"); } AjaxAuthenticationToken ajaxAuthenticationToken = new AjaxAuthenticationToken( accountDto.getUsername(), accountDto.getPassword() ); return getAuthenticationManager().authenticate(ajaxAuthenticationToken); } private boolean isAjax(HttpServletRequest request) { if("XMLHttpRequest".equals(request.getHeader("X-Requested-With"))) { return true; } return false; } } [AjaxAuthenticationToken.java] package io.security.corespringsecurity.security.token; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.authentication.AbstractAuthenticationToken; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.SpringSecurityCoreVersion; import javax.security.auth.Subject; import java.util.Collection; public class AjaxAuthenticationToken extends AbstractAuthenticationToken { private static final long serialVersionUID = SpringSecurityCoreVersion.SERIAL_VERSION_UID; private final Object principal; private Object credentials; public AjaxAuthenticationToken(Object principal, Object credentials) { super(null); this.principal = principal; this.credentials = credentials; setAuthenticated(false); } public AjaxAuthenticationToken(Object principal, Object credentials, Collection<? extends GrantedAuthority> authorities) { super(authorities); this.principal = principal; this.credentials = credentials; setAuthenticated(true); } public Object getCredentials() { return this.credentials; } public Object getPrincipal() { return this.principal; } public void setAuthenticated(boolean isAuthenticated) throws IllegalArgumentException { if(isAuthenticated) { throw new IllegalArgumentException( "Cannot set this token to trusted - user constructor which takes a GrantedAuthority list instead" ); } super.setAuthenticated(false); } @Override public void eraseCredentials() { super.eraseCredentials(); credentials = null; } } [에러로그] Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2022-01-19 17:55:47.000 ERROR 7200 --- [ restartedMain] o.s.boot.SpringApplication : Application run failed org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:156) ~[spring-boot-2.2.1.RELEASE.jar:2.2.1.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:544) ~[spring-context-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141) ~[spring-boot-2.2.1.RELEASE.jar:2.2.1.RELEASE] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747) [spring-boot-2.2.1.RELEASE.jar:2.2.1.RELEASE] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) [spring-boot-2.2.1.RELEASE.jar:2.2.1.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) [spring-boot-2.2.1.RELEASE.jar:2.2.1.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) [spring-boot-2.2.1.RELEASE.jar:2.2.1.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215) [spring-boot-2.2.1.RELEASE.jar:2.2.1.RELEASE] at io.security.corespringsecurity.CoreSpringSecurityApplication.main(CoreSpringSecurityApplication.java:15) [classes/:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_251] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_251] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_251] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_251] at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-2.2.1.RELEASE.jar:2.2.1.RELEASE] Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:126) ~[spring-boot-2.2.1.RELEASE.jar:2.2.1.RELEASE] at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:88) ~[spring-boot-2.2.1.RELEASE.jar:2.2.1.RELEASE] at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:438) ~[spring-boot-2.2.1.RELEASE.jar:2.2.1.RELEASE] at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:191) ~[spring-boot-2.2.1.RELEASE.jar:2.2.1.RELEASE] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:180) ~[spring-boot-2.2.1.RELEASE.jar:2.2.1.RELEASE] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:153) ~[spring-boot-2.2.1.RELEASE.jar:2.2.1.RELEASE] ... 13 common frames omitted Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ajaxLoginProcessingFilter' defined in class path resource [io/security/corespringsecurity/security/configs/SecurityConfig.class]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: authenticationManager must be specified at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1803) ~[spring-beans-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:595) ~[spring-beans-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517) ~[spring-beans-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323) ~[spring-beans-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321) ~[spring-beans-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:207) ~[spring-beans-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:211) ~[spring-boot-2.2.1.RELEASE.jar:2.2.1.RELEASE] at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addAsRegistrationBean(ServletContextInitializerBeans.java:174) ~[spring-boot-2.2.1.RELEASE.jar:2.2.1.RELEASE] at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addAsRegistrationBean(ServletContextInitializerBeans.java:169) ~[spring-boot-2.2.1.RELEASE.jar:2.2.1.RELEASE] at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addAdaptableBeans(ServletContextInitializerBeans.java:154) ~[spring-boot-2.2.1.RELEASE.jar:2.2.1.RELEASE] at org.springframework.boot.web.servlet.ServletContextInitializerBeans.<init>(ServletContextInitializerBeans.java:86) ~[spring-boot-2.2.1.RELEASE.jar:2.2.1.RELEASE] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:253) ~[spring-boot-2.2.1.RELEASE.jar:2.2.1.RELEASE] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:227) ~[spring-boot-2.2.1.RELEASE.jar:2.2.1.RELEASE] at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:53) ~[spring-boot-2.2.1.RELEASE.jar:2.2.1.RELEASE] at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5135) ~[tomcat-embed-core-9.0.27.jar:9.0.27] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.27.jar:9.0.27] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384) ~[tomcat-embed-core-9.0.27.jar:9.0.27] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374) ~[tomcat-embed-core-9.0.27.jar:9.0.27] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_251] at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) ~[tomcat-embed-core-9.0.27.jar:9.0.27] at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) ~[na:1.8.0_251] at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909) ~[tomcat-embed-core-9.0.27.jar:9.0.27] at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841) ~[tomcat-embed-core-9.0.27.jar:9.0.27] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.27.jar:9.0.27] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384) ~[tomcat-embed-core-9.0.27.jar:9.0.27] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374) ~[tomcat-embed-core-9.0.27.jar:9.0.27] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_251] at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) ~[tomcat-embed-core-9.0.27.jar:9.0.27] at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) ~[na:1.8.0_251] at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909) ~[tomcat-embed-core-9.0.27.jar:9.0.27] at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) ~[tomcat-embed-core-9.0.27.jar:9.0.27] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.27.jar:9.0.27] at org.apache.catalina.core.StandardService.startInternal(StandardService.java:421) ~[tomcat-embed-core-9.0.27.jar:9.0.27] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.27.jar:9.0.27] at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930) ~[tomcat-embed-core-9.0.27.jar:9.0.27] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.27.jar:9.0.27] at org.apache.catalina.startup.Tomcat.start(Tomcat.java:459) ~[tomcat-embed-core-9.0.27.jar:9.0.27] at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:107) ~[spring-boot-2.2.1.RELEASE.jar:2.2.1.RELEASE] ... 18 common frames omitted Caused by: java.lang.IllegalArgumentException: authenticationManager must be specified at org.springframework.util.Assert.notNull(Assert.java:198) ~[spring-core-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.afterPropertiesSet(AbstractAuthenticationProcessingFilter.java:164) ~[spring-security-web-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1862) ~[spring-beans-5.2.1.RELEASE.jar:5.2.1.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1799) ~[spring-beans-5.2.1.RELEASE.jar:5.2.1.RELEASE] ... 56 common frames omitted
-
미해결Slack 클론 코딩[실시간 채팅 with React]
react-router-dom 최신버전 쓰시는분들
최신버전 react router dom 쓰시는 분들은 App.tsx의 Swich와 Redirect 가 바뀌어서 제 스크린샷 처럼 하면 잘 돌아갑니다~~ 저는 강의에 따라 버전낮춰서 다운받는거보다 최신버전에 맞춰서 강의에 쓰인 코드들을 계속 리팩토링하는 걸 좋아해서 이렇게 했습니다!
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
환경설정에서 질문이있습니다.
강의와는 조금 상관없는 이야기일수도 있지만, 제가 가지고있는 파이썬 호스팅이 있어서 강의를 듣기위해서 가져왔습니다. 아래는 패키지 다운로드인데, 호스팅에서 기본적으로 지원하는 부분입니다. 이호스팅을 이용해서 환경설정없이 제가 이호스팅으로 강의내용을 따라할수 있을까요? 패키지엔 아톰이나 이런부분이 없어 질문드립니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
rootReducer 질문 있습니다.
reducer를 확장 가능하게 구조를 바꾸셨는데 이 방법에 대해 뭐라고 구글링을 해야 상세하게 볼 수 있는지 궁금합니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
배포 환경에서도 random.value를 사용하는지 궁금합니다.
현재 localhost에서 여러 개의 user-service를 실행하기 위해 port를 나누어 실행한다고 생각하는데요. 배포 환경이라면 user-service가 각각 다른 hostname (ip주소)를 가질 수도 있겠다는 생각이 들어서 질문드립니다. 다른 hostname을 가진다면 고정 포트를 사용한다거나 랜덤 포트를 사용하더라도 xxx.xxx.xxx.x:user-service:0 으로 instance id를 등록해도 xxx 부분이 다르기 떄문에 문제가 없을거라 생각합니다. 제가 추측한 내용이 맞다면 지금 수업에서 작성한 application.yml은 로컬 환경을 위한 설정이라고 생각하려고 합니다. 그리고 수업 잘 듣고 있습니다. 좋은 강의 감사합니다 😄
-
미해결따라하며 배우는 NestJS
pdf 자료 질문!
pdf 자료 열어보니 많이 잘려서 나오던데 어떻게 봐야 안잘리게 볼수있을까용?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberServiceIntegrationTest를 만드는 도중 에러가 발생했습니다ㅠㅠ
MemberServiceIntegrationTest클래스를 만들기전에는 에러가 발생하지 않았지만, 만든 후에 갑자기 'Cannot resolve symbol' 이라는 에러가 발생했습니다. 구글링해서 캐쉬도 초기화하고 rebuild Project도 해보고 intellj를 다시 실행한 후 open -> build.gradle-> open as project도 해보았지만 해결되지 않습니다
-
미해결
maven 버전 에러 해결이 안됩니다.
이와 같이 에러가 뜨는데 혹시 Maven버전을 다시 받아야하나요? pom.xml은 위와 같습니다. maven 버전입니다.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
캐리지 리턴 관련 문의 드립니다
안녕하세요. 수차례에 걸쳐서 강의를 반복해서 듣고 있습니다.캐리지 리턴 관련 질문 드립니다.상품상세에서 description(상품설명)이 있는데 문자열의 캐리지 리턴을 <br />로 바꾸어서 화면에 출력을 하면 화면에는 <br />을 포함한 아래와 같은 문자열로 표시 됩니다.확인 부탁 드리겠습니다. Descriptionプラセンタ配合のエイジングケアトニック!<br />ジェットスプレーが直撃!頭皮と毛髪をトータルケア<br />※年齢に応じた栄養補給によるケア<br /><br />アルコールを含む※제가 예전에 AWS관련 질문을 드렸는데 알기 쉽게 쓸려고 몇번을 지우고 다시쓰고 했는데 지웠던 질문에 대한 답변을 주신것 같습니다 번거로우시겠지만 다시한번 확인 부탁 드릴께요
-
미해결만들면서 배우는 리액트 : 기초
이후 강의 계획
리액트 초급-중급-고급 강의로 계획에 있으셨는데, 중급이나 고급강의는 언제 오픈되는지 궁금합니다!! 준비기간동안에 나온다면 더욱 좋을것 같습니다 !(쿠폰 감사히 잘 사용하였습니다.)
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
하나도 모르겠어요
[제로초 강좌 질문 필독 사항입니다]질문에는 여러분에게 도움이 되는 질문과 도움이 되지 않는 질문이 있습니다.하도움이 되는 질문을 하는 방법을 알려드립니다.https://www.youtube.com/watch?v=PUKOWrOuC0c0. 숫자 0부터 시작한 이유는 1보다 더 중요한 것이기 때문입니다. 에러가 났을 때 해결을 하는 게 중요한 게 아닙니다. 왜 여러분은 해결을 못 하고 저는 해결을 하는지, 어디서 힌트를 얻은 것이고 어떻게 해결한 건지 그걸 알아가셔야 합니다. 그렇지 못한 질문은 무의미한 질문입니다.1. 에러 메시지를 올리기 전에 반드시 스스로 번역을 해야 합니다. 번역기 요즘 잘 되어 있습니다. 에러 메시지가 에러 해결 단서의 90%를 차지합니다. 한글로 번역만 해도 대부분 풀립니다. 그냥 에러메시지를 올리고(심지어 안 올리는 분도 있습니다. 저는 독심술사가 아닙니다) 해결해달라고 하시면 아무런 도움이 안 됩니다.2. 에러 메시지를 잘라서 올리지 않아야 합니다. 입문자일수록 에러메시지에서 어떤 부분이 가장 중요한 부분인지 모르실 겁니다. 그러니 통째로 올리셔야 합니다.3. 코드도 같이 올려주세요. 다만 코드 전체를 다 올리거나, 깃헙 주소만 띡 던지지는 마세요. 여러분이 "가장" 의심스럽다고 생각하는 코드를 올려주세요.4. 이 강좌를 바탕으로 여러분이 응용을 해보다가 막히는 부분, 여러 개의 선택지 중에서 조언이 필요한 부분, 제 경험이 궁금한 부분에 대한 질문은 대환영입니다. 다만 여러분의 회사 일은 질문하지 마세요.5. 강좌 하나 끝날 때마다 남의 질문들을 읽어보세요. 여러분이 곧 만나게 될 에러들입니다.6. 위에 적은 내용을 명심하지 않으시면 백날 강좌를 봐도(제 강좌가 아니더라도) 실력이 늘지 않고 그냥 코딩쇼 관람 및 한컴타자연습을 한 셈이 될 겁니다. 하하 익스프레스로 웹개발할 때도 이렇게 어렵나요 장고는 이렇게 어렵진 않았는데
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
TCP 실제 연결유무
[질문 내용]TCP 강의 중 TCP/IP 연결은 클라이언트와 서버가 서로 SYN,ACK를 주고 받아서 개념적으로만 연결이 됐다고 설명하셨습니다. 그 이유는 클라이언트와 서버가 연결을 할 때, 중간에 수많은 서버(노드)들을 거쳤는지를 잘 모르기 때문이라고 설명하셨습니다. 그러면 여기서 궁금한점은 클라이언트와 서버가 중간 노드들을 거쳐서 SYN,ACK를 주고 받는게 아닌건가요?? 만약 중간 노드들을 거쳐서 주고 받는거라면 "중간 노드들이 잘 연결이 됐기 때문에 SYN, ACK를 주고 받은게 아닌가??" 라는 생각이 들어서 질문을 남기게 됐습니다!
-
미해결홍정모의 따라하며 배우는 C언어
debug 했을때랑 release 했을때랑 왜 다른가요
디버그 모드로 했을 때는 이렇게 맨 끝에가 80이라고 뜨고요 릴리스 모드로 했을 때는 이렇게 맨 끝에가 0이라고 뜨는데 왜 다르게 실행되나요?
-
해결됨리눅스 입문 - 개념으로 탄탄히!!
inode 와 매핑된 파일을 rm으로 지우면 inode 도 자동으로 지워지나요?
복습겸 강의를 다시 보는데 갑자기 궁금해져서 물어봅니다. 혹시 자동으로 지워지나요? 아니면 또 따로 지우는 작업을 해야하나요?