묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
동시성 질문있습니다!
안녕하세요 좋은 강의 잘들었습니다.동시성 관련 공부하다보니 헷갈리는 부분이 있어서 질문드립니다.답변 부탁드립니다 :)java에서는 동기화를 제공하기위해 synchronized와 volatile, 아토믹 클래스를 이용해서 동시성을 보장한다고 알고있습니다. 근데 이게 단일 서버 싱글 코어 환경에서만 국한되는 내용이구요, 반면에 단일 서버 멀티 코어 환경에서는 아토믹클래스로 데이터의 가시성 및 원자성을 보장해주는것으로 알고있습니다. 그렇다면 분산서버 환경에서는 싱글코어든 멀티코어든 어플리케이션단에서는 동시성을 보장할 방법이 없게되고, 강의에서처럼 디비락을 통하여 동시성을 보장하는 방법이 정답이라고 이해하면 될까요?두번째 질문은 분산서버 관련 내용이긴한데요, 요요즘 많이 사용하는 msa 서버 환경에서 비즈니스 도메인 단위로 서버를 두는것으로 알고있는데, 그렇다면 재고관리에 대한 로직은 한대의 서버에 담아 두게되고, 디비락 없이 자바동기화 방법으로도 해결이 될 것같은데 속도적인 측면에서 redis를 사용하는것일까요? 아니면 기업마다 인프라를 구축하는 방법이 다른 부분일까요?
-
미해결[2025년 출제기준] 웹디자인기능사 실기시험 완벽 가이드
공지사항, 갤러리 tab 부분
.tab-inner .tab, .gallery-inner .tab { border: 1px solid black; padding: 0 10px; height: 145px; } 부분에 갤러리도 같이 묶었는데 갤러리 부분만 반영되지 않습니다.실제 문제를 보니 공지사항과 tab 부분에 border값을 넣지 않던데 큰 상관이 없는 건가요?<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>레이아웃 가로고정형-공지사항, 갤러리 별도구성</title> <link rel="stylesheet" href="css/style.css"> </head> <body> <div class="container"> <header> <div class="header-logo">로고</div> <div class="navi">네비게이션</div> </header> <div class="slide"> <div>이미지 슬라이드</div> </div> <!--아이템--> <div class="items"> <div class="news"> <div class="tab-inner"> <div class="btn"> <span>공지사항</span> </div> <div class="tab"> <a href="#none">SNS 발송 서비스 개선작업 <b>2020.01.09</b></a> <a href="#none">휴대폰 인증 서비스 개선 작업 <b>2020.01.07</b></a> <a href="#none">카드사 부분 무이자 할부 이벤트 <b>2019.12.31</b></a> <a href="#none">올앳 서비스 작업 안내 <b>2019.12.20</b></a> <a href="#none">휴대폰 결제 시스템 작업 안내 <b>2019.12.20</b></a> </div> </div> </div> <div class="gallery"> <div class="gallery-inner"> <div class="btn"> <span>갤러리</span> </div> </div> <div class="tab"> <a href="#none"><img src="images/gallery-01.jpg" alt="gallery1"></a> <a href="#none"><img src="images/gallery-02.jpg" alt="gallery1"></a> <a href="#none"><img src="images/gallery-03.jpg" alt="gallery1"></a> </div> </div> <div class="banner">배너</div> </div> <footer> <div class="footer-logo">로고</div> <div class="copyright">copyright</div> <div class="sns">sns</div> </footer> </div> </body> </html> .container { border: 2px solid gray; width: 1200px; margin: auto; } header { height: 100px; } header > div { background-color: rgb(185, 185, 185); height: 100px; } .header-logo { width: 200px; float: left; } .navi { width: 660px; float: right; } /* Content */ .slide {} .slide > div { border: 1px solid gray; height: 300px; } .items { overflow: hidden; } .items > div { height: 200px; float: left; box-sizing: border-box; /*border: 1px solid gray;*/ } .news { width: 500px; } .gallery { width: 350px; } .banner { border: 1px solid black; width: 350px; } /*Footer*/ footer { overflow: hidden; } footer > div { border: 1px solid gray; height: 100px; float: left; box-sizing: border-box; } .footer-logo { width: 200px; } .copyright { width: 800px; } .sns { width: 200px; } /* Tab Content */ .tab-inner, .gallery-inner { width: 95%; margin: auto; } .tab-inner .btn {} .tab-inner .btn span, .gallery-inner .btn span { border: 1px solid black; display:inline-block; width: 100px; text-align: center; padding: 5px; border-radius: 5px 5px 0 0; border-bottom: none; margin-bottom: -1px; background-color: white; } .tab-inner .tab, .gallery-inner .tab { border: 1px solid black; padding: 0 10px; height: 145px; } .tab-inner .tab a { display: block; padding: 3px; border-bottom: 1px solid black; text-decoration: none; color: black; } .tab-inner .tab a:last-child { border-bottom: none; } .tab-inner .tab a b { float: right; font-weight: normal; } /* gallery Content */ .gallery .tab img { width: 100px; } .gallery .tab { text-align: center; padding-top: 30px; box-sizing: border-box; }
-
미해결Slack 클론 코딩[실시간 채팅 with React]
3095포트로 요청이 가지 않습니다.
devServer: { historyApiFallback: true, // react router port: 3090, devMiddleware: { publicPath: '/dist/' }, static: { directory: path.resolve(__dirname) }, proxy: { '/api/': { target: 'http://localhost:3095', changeOrigin: true, }, }, },-> webpack.config.ts if (prod) { app.enable("trust proxy"); app.use(morgan("combined")); app.use(helmet({ contentSecurityPolicy: false })); app.use(hpp()); } else { app.use(morgan("dev")); // app.use( // cors({ // origin: true, // credentials: true, // }) // ); }-> back > app.js 에서 주석한 부분 const onSubmit = useCallback((e: React.FormEvent<HTMLFormElement>): void => { e.preventDefault(); console.log(email, nickname, password, passwordCheck); if (!mismatchError && nickname) { console.log("회원가입 하러가기!"); setSignUpError('') // 비동기 요청전에 초기화 한번 해주기 setSignUpSuccess(false); axios.post('/api/users', { email, nickname, password, }) .then((response) => { console.log(response); setSignUpSuccess(true); }) .catch((err) => { console.log(err.response); setSignUpError(err.response.data); }); } }, [email, nickname, password, passwordCheck]);-> SignUp axios 부분 const onSubmit = useCallback((e: React.FormEvent<HTMLFormElement>) => { e.preventDefault(); setLogInError(false); axios.post( 'api/users/login', { email, password }, { withCredentials: true } ) .then(() => { }) .catch((error) => { }) }, []);-> LogIn axios 부분 -> 회원가입 시 3090 포트로 요청이 갑니다.-> 로그인 시도 마찬가지로 3090 포트로 요청이 갑니다. 검색도 해보고 /api/를 /api로도 바꿔봤는데, 마땅한 해결책을 찾을수가 없어서 질문드립니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
레포지터리 검색 테스트 코드 어떻게 짜면 좋을까요?
강의에서 동적 jpql 코드로 주문 검색하는 코드인데 아래 레포지토리 함수에 대해 테스트 코드 예제좀 작성해주시면 감사여 그리고 주문 검색을 querydsl로 작성한 코드도 쉽지 않던데 이거 더 좋은 방법 안나왔나요? public List<Order> findAllByString(OrderSearch orderSearch) { String jpql = "select o from Order o join o.member m"; boolean isFirstCondition = true; //주문 상태 검색 if (orderSearch.getOrderStatus() != null) { if (isFirstCondition) { jpql += " where"; isFirstCondition = false; } else { jpql += " and"; } jpql += " o.status = :status"; } //회원 이름 검색 if (StringUtils.hasText(orderSearch.getMemberName())) { if (isFirstCondition) { jpql += " where"; isFirstCondition = false; } else { jpql += " and"; } jpql += " m.name like :name"; } TypedQuery<Order> query = em.createQuery(jpql, Order.class) .setMaxResults(1000); if (orderSearch.getOrderStatus() != null) { query = query.setParameter("status", orderSearch.getOrderStatus()); } if (StringUtils.hasText(orderSearch.getMemberName())) { query = query.setParameter("name", orderSearch.getMemberName()); } return query.getResultList(); }
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
lambda 함수 오류 질문드리겠습니다.
안녕하세요 제로초님 강의를 들으면서 lambda함수를 구현하여 이미지 업로드 테스트를 했습니다.근데 다음과 같이 로그이벤트를 확인해보니 AccessDenied 에러가 발생하면서 s3에 thumb폴더도 생기지 않았습니다.확실하지는 않지만 해당 문제에 대해서 구글링해보니 버킷권한과 관련된 에러인것같아서강의를 보면서 처음부터 실습하고, 오타도 확인해봤지만 방법을 찾지 못해 질문드립니다.바쁘시겠지만 해당 문제에 관해서 피드백해주시면 감사하겠습니다.참고자료도 함께 첨부하겠습니다. /lambda/index.jsconst AWS = require('aws-sdk'); const sharp = require('sharp'); const s3 = new AWS.S3(); exports.handler = async (event, context, callback) => { const Bucket = event.Records[0].s3.bucket.name; // react-nodebird-s3 const Key = decodeURIComponent(event.Records[0].s3.object.key); // original/12312312_abc.png console.log(Bucket, Key); const filename = Key.split('/')[Key.split('/').length - 1]; const ext = Key.split('.')[Key.split('.').length - 1].toLowerCase(); const requiredFormat = ext === 'jpg' ? 'jpeg' : ext; console.log('filename', filename, 'ext', ext); try { const s3Object = await s3.getObject({ Bucket, Key }).promise(); console.log('original', s3Object.Body.length); const resizedImage = await sharp(s3Object.Body) .resize(400, 400, { fit: 'inside' }) .toFormat(requiredFormat) .toBuffer(); await s3.putObject({ Bucket, Key: `thumb/${filename}`, Body: resizedImage, }).promise(); console.log('put', resizedImage.length); return callback(null, `thumb/${filename}`); } catch (error) { console.error(error) return callback(error); } } 개발자도구를 확인했을때는 특별한 오류가 발생되지 않습니다.
-
미해결(2025 최신 업데이트)리액트 : 프론트엔드 개발자로 가는 마지막 단계
netlify에 REACT_APP_API_KEY 환변경변수 추가하고 배포해도 API_KEY가 없다고 에러가 나옵니다
netlify에 REACT_APP_API_KEY 환변경변수 추가하고 배포해도 API_KEY가 없다고 에러가 나옵니다배포한 주소입니다https://resilient-sorbet-bba9dd.netlify.app/
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
함수형 위젯과 클래스형 위젯
안녕하세요 :)이번 영상에서 renderFloatingActionButton을 메소드로 선언을 하시고, 바텀시트 내부를 클래스로 선언하셨더라구요!위젯 하나의 규모가 커지면 1) 새로운 class로 widget 생성2) 해당 위젯에 widget을 리턴하는 메소드 생성위 두 가지 방법을 사용하고 계시던데,어떤 상황에서 어떤 것을 선택 하시는지 궁금합니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path 오류 질문입니다...
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]현재 JPA 마치고 스프링 데이터 JPA 배우기 전이구요..이전 질문에서 h2를 제대로 킨 상태로 다시 진행해보니 저런 오류가 뜹니다..도움 되실까봐 제 gradle 과 springConfig, properties 코드도 올립니다.. Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.2022-11-06 20:18:23.385 ERROR 4392 --- [ main] o.s.boot.SpringApplication : Application run failedorg.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration': Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: org.h2.Driver at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:410) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154) ~[spring-context-5.3.22.jar:5.3.22] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908) ~[spring-context-5.3.22.jar:5.3.22] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.22.jar:5.3.22] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.3.jar:2.7.3] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:734) ~[spring-boot-2.7.3.jar:2.7.3] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) ~[spring-boot-2.7.3.jar:2.7.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:308) ~[spring-boot-2.7.3.jar:2.7.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-2.7.3.jar:2.7.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1295) ~[spring-boot-2.7.3.jar:2.7.3] at inflearn.hellospring.HelloSpringApplication.main(HelloSpringApplication.java:11) ~[classes/:na]Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: org.h2.Driver at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-5.3.22.jar:5.3.22] ... 28 common frames omittedCaused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: org.h2.Driver at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.3.22.jar:5.3.22] at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-5.3.22.jar:5.3.22] ... 42 common frames omittedCaused by: java.lang.IllegalStateException: Cannot load driver class: org.h2.Driver at org.springframework.util.Assert.state(Assert.java:97) ~[spring-core-5.3.22.jar:5.3.22] at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.determineDriverClassName(DataSourceProperties.java:171) ~[spring-boot-autoconfigure-2.7.3.jar:2.7.3] at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.initializeDataSourceBuilder(DataSourceProperties.java:123) ~[spring-boot-autoconfigure-2.7.3.jar:2.7.3] at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration.createDataSource(DataSourceConfiguration.java:48) ~[spring-boot-autoconfigure-2.7.3.jar:2.7.3] at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari.dataSource(DataSourceConfiguration.java:90) ~[spring-boot-autoconfigure-2.7.3.jar:2.7.3] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.3.22.jar:5.3.22] ... 43 common frames omittedProcess finished with exit code 1 gradleplugins { id 'org.springframework.boot' version '2.7.3' id 'io.spring.dependency-management' version '1.0.13.RELEASE' id 'java' } group = 'inflearn' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-jdbc' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' runtimeOnly 'com.h2database:h2' testImplementation 'org.springframework.boot:spring-boot-starter-test' } tasks.named('test') { useJUnitPlatform() } propertiesspring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.driver-class-name=org.h2.Driver spring.datasource.username=sa spring.jpa.show-sql=true spring.jpa.hibernate.ddl-auto=noneconfigpackage inflearn.hellospring.service; import inflearn.hellospring.domain.Member; import inflearn.hellospring.repository.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.persistence.EntityManager; import javax.sql.DataSource; @Configuration public class SpringConfig { private final DataSource dataSource; private final EntityManager em; public SpringConfig(DataSource dataSource, EntityManager em) { this.dataSource = dataSource; this.em = em; } @Bean public MemberService memberService() { return new MemberService(memberRepository()); } @Bean public MemberRepository memberRepository() { return new JpaMemberRepository(em); } }
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
섹션2 HTTP응답 데이터 - API JSON
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 섹션2 HTTP 응답 데이터- API JSON을 공부하는 과정에서코드를 전부 작성한 뒤 크롬에서 json이 network에 어떤 데이터를 담고있는지 보고싶어서서버를 올린 뒤,localhost:8080/response-json으로 들어갔습니다.코드는 강의자료에 있는 것을 복붙했으나, 아래의 사진과 같이 크롬 화면 창에서는 json형태로 파싱이 잘 된 것을 볼 수있지만, network에는 서버를 내렸다올리고 새로고침을 해봐도 아무런 정보가 담기지 않습니다.왜그런걸까요??
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
tensorboard error
안녕하세요 강사님,저는 보완 문제로 폐쇄 네트워크환경(소스내에서 downloac 차단)에서 object detection AutoML을 실행하고 있습니다. yolov3 소프 포팅후 자체 host pc에서 running이 되도록 해야 하는데 환경구축이 만만치 않네요.. 모든 datasets zip 파일들을 따로 다운 받아 집에서는 vs code나 jupyter notebook으로 작업하고 회사에서는 kubeflow notebook 환경에서 테스트 진행하고 있습니다.질문 1: coco val & coco test에서 --data coco.yaml 대신 --data coco128.yaml로 실행해도 되는 건지 알고 싶습니다.질문 2: train.py 전에 tensorboard launch 시 에러가 나옵니다. 해결 방법을 알려 주시면 감사 하겠습니다.질문 3: 질문2의 에러가 해결되어 train.py 실행 되는 건지, 그리고 coco test를 하지 않고 바로 train.py를 진행해도 되는건지 알고 싶습니다. 집에서 vs code나 jupyter notebook에서 train.py 실행을 하면 아래 같은 에러가 나옵니다.coco128.yaml 에서 download 차단 없이 진행하면 kernel 이 죽어 restarting 이 되고 진행이 안되네요..download 차단하면 맨 아래 캡쳐 화면 처럼 멈쳐 버리고 Dead kernel 이 되어 버립니다. 혹 질문 2의 tensorboard 에러와 관련이 있는 건지 알려 주시기 바랍니다.질문 4: 마지막 질문인데.. 이 질문은 강의 내용에서 벗어나는 질문 이지만 해결을 못하고 있어 조언을 듣고자 합니다. 로컬 호스트 환경에서 yolov5 train.py가 잘 돌고 있는 상황에서 docker 이미지 빌디시 Dockerfile의 베이스 이미지를 FROM nvcr.io/nvidia/pytorch:21.10-py3 로 하면 container 가 바로 죽고 실행이 안되며, FROM python:3.9로 하면 container가 running 되는데 train.py 가 실행되다 epochs를 하다 멈쳐 버립니다. 이 문제가 gpu 문제인건지 아님 단지 memory 부족 문제인지 잘 판단이 안되는데.. 소중한 의견 주시면 감사 하겠습니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
findAllByString 함수의 조건문 설정이 잘 이해가 안되요
public List<Order> findAllByString(OrderSearch orderSearch) { String jpql = "select o from Order o join o.member m"; boolean isFirstCondition = true; //주문 상태 검색 if (orderSearch.getOrderStatus() != null) { if (isFirstCondition) { jpql += " where"; isFirstCondition = false; } else { jpql += " and"; } jpql += " o.status = :status"; } //회원 이름 검색 if (StringUtils.hasText(orderSearch.getMemberName())) { if (isFirstCondition) { jpql += " where"; isFirstCondition = false; } else { jpql += " and"; } jpql += " m.name like :name"; } TypedQuery<Order> query = em.createQuery(jpql, Order.class) .setMaxResults(1000); if (orderSearch.getOrderStatus() != null) { query = query.setParameter("status", orderSearch.getOrderStatus()); } if (StringUtils.hasText(orderSearch.getMemberName())) { query = query.setParameter("name", orderSearch.getMemberName()); } return query.getResultList(); } 질문:위에서 isFirstCondition이 true 가 아니면 and 를 붙이는게 잘 이해가 안되요 where 도 없는 상태에서 and를 붙이는건가요? code) if (orderSearch.getOrderStatus() != null) { if (isFirstCondition) { jpql += " where"; isFirstCondition = false; } else { jpql += " and"; } jpql += " o.status = :status"; } https://okky.kr/articles/1347075
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
마지막 문제 질문입니다.
강의에서처럼 문제가 되는 부분을 통으로 날려주면hp가 0이 되어 죽었는데도 계속 출력하는게 마음에 안들어서,그냥 단순히 knight 가 nullptr일 때는 AttckTarget()이 실행되지 않도록 바꿨는데요,이렇게 하니 제가 의도했던 대로 되었는데, 이 경우에 문제가 생길 여지가 있을까요?
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
프록시 객체 getReferenceById() 에 관하여
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]선생님 언제나 좋은 강의 올려주셔서 감사합니다.JPA 강의를 전부 듣고 실무에 적용을 하려는 데 궁금한게 몇가지 있어서 문의 드립니다.entity를 저장할 때 fk로 전달받은 값을 저장하기 위해 fk로 findById()를 날려 entity를 가져온 뒤 그 객체를 저장하려는 객체에 넣어주고 save를 했습니다.필요한 값은 fk 하나고 이 fk 하나를 저장하기 위해 select쿼리가 날아가는게저는 성능에 좋아보이지 않아 getReferenceById() 에 fk 를 넣고 프록시 객체를 넣어서 저장하니 정상적으로 값이 들어가는 것을 보았습니다. 쿼리도 불필요한 select 쿼리가 나가지도 않고요실제로 이렇게 사용해도 괜찮을까요?코드 첨부 합니다.전달하는 dto 입니다.public class ReservationDto { private Long restaurantId; private String reservationDate; private String reservationStatus; } service 코드 입니다.Restaurant restaurant = restaurantRepository.findById(reservationDto.getRestaurantId()) .orElseGet(() -> Restaurant.builder().restaurantId(-1L).build());위에서 나온 entity를 가지고 값을 저장합니다.if (restaurant.getRestaurantId() == -1L) { return -1L; } else { Reservation savedReservation = reservationRepository.save( Reservation.builder() .restaurantReservation(restaurant) .reservationDate(reservationDto.getReservationDate()) .reservationStatus(reservationDto.getReservationStatus()) .build() );reservation entity 입니다.public class Reservation { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name="reservation_id") private Long reservationId; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "restaurant_id") private Restaurant restaurantReservation; private String reservationDate; private String reservationStatus; } 어차피 fk 를 클라이언트 측에서 dto 로 전달을 해주는데 findById()의 이점은 orElseGet을 통해 null 값일 경우 처리를 편리하게 해줄 수 있다는게 저는 장점으로 보입니다.하지만 그것을 제외 한다면Restaurant restaurant = restaurantRepository.getReferenceById(reservationDto.getRestaurantId());이렇게 프록시 객체를 가져와 fk만 저장하는 것이 select 쿼리가 날아가지 않아 성능의 이점이 보이는데 이렇게 사용해도 상관이 없을까요??
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"
Axios에 posts/${id}에 숫자를 보내서 에러가 발생하는군요
// PostListView.vue <PostDetailView :id="2"></PostDetailView>위 코드에서 id를 숫자값으로 전달하고 있어서 에러 메시지가 노출되고 있는 것으로 보입니다. 수업에서 이를 안내해주시면 좋을 것 같습니다. 인프런 서비스 버그: 글 작성 Editor에 이미지 업로드가 안되는 군요. png 파일 업로드인데, 조치 부탁드립니다.
-
미해결실전 프로젝트로 배우는 타입스크립트
rootdir, include 차이가 궁금합니다
안녕하세요, 강의 정말 잘 듣고 있습니다.강의에서는 tsconfig.json에서 include 항목을 넣어 컴파일 할 디렉토리를 설정해 주었는데, rootDir을 사용할 때와의 차이점이 궁금합니다.include나 rootdir을 특별히 사용해야하는 케이스 또는 이유가 있을까요?
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
너무 복잡하게 풀어버렸네요ㅠㅠ
# 점수 계산 N = int(input()) l = list(map(int, input().split())) score = [0] * N for i in range(len(l)): if l[i] == 1: score[i] = 1 #print(score) for i in range(1, len(score)): idx = i if score[i] == 1: while (score[i-1] != 0) and (i != 0): score[idx] += 1 i -= 1 print(sum(score)) 점수 리스트 그대로 채점 리스트 score 생성첫번째 점수는 가중치 값이 없으니까 1부터 score배열의 길이까지 for문을 돌면서만약에 채점내용이 1점이라면, while문 통해서 그 앞의 점수가 0이 아니고, i가 0이 아닐 때까지 현재 채점점수에 가중치 값 1을 더해주는 과정을 했습니다. 선생님 풀이 보니 너무 간단하게 푸셨네요ㅠㅠ 간단한 문제를 너무 어렵게 푸는 경향이 있는 것 같아요. 일단 풀었다는거에 의의를 두고 강의보며 간단한 풀이법을 익히면 될까요?
-
미해결
물리문제 풀이 좀 부탁드립니다
수고많으십니다. 물리 문제풀이 좀 부탁드립니다. 제 머리론 통 풀지 못해서 올립니다.2. 1010/cm2의 유량(fluence)을 가지고 250 MeV 에너지를 지닌 양성자(Proton)가 0.5 mm 두께의 실리콘 층(silicon)에 입사한다.a) 델타파(Delta ray)를 무시하였을 때 실리콘 층에 흡수된 흡수선량(Absorbed Dose)은 얼마인가?b) a)에서 델타파를 고려한다면 흡수선량은 증가하는가 감소하는가?c) Bremsstrahlung 효과에 의해서 방출된 에너지를 구하시오.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
exercise8 질문드립니다.
pet의 주소값을 전혀 사용하지 않도록 main 함수 내부의 Pet pet; 는 그대로 두고 _pet(nullptr)을 사용하여 이렇게 코드를 짰습니다.new 랑 delete가 각자 다른 cpp 파일에 있으면 나중에 헷갈리지 않을까? 해서 저렇게 했는데,이렇게 코드를 짜도 문제가 없는게 맞을까요?
-
미해결초보를 위한 쿠버네티스 안내서
"쿠버네티스배포데모" 코드 제공 재문의
강사님 안녕하세요.쿠버네티스배포데모 소스코드는 제공에 대해 한 번 문의 드렸는데요 바쁘신 것은 충분히 예상됩니다만 한 번더 문의 드립니다."쿠버네티스알아보기>쿠버네티스배포" 데모에서 시연해주신 환경에 대한 질문입니다.EKS에 2개의 노드를 만들고 helm으로 어플리케이션을 배포하셨는데요, EKS 환경을 만들고, helm으로 application을 배포하는 것에 대한 자료를 받을 수 있을지 지난 8월경 문의 드린 적이 있고, 공유계획이 있으시다고 하셨는데, 공유 예상 대략의 일정을 알 수 있을까요?AWS EKS 환경을 만들고 서비스 배포까지 일련의 전체 과정을 볼 수 있을 것 같아 업무에 적용하는데 도움이 많이 될 것으로 생각됩니다. 추가로, 쿠버네티스배포데모에서 그라파나와 로키에 대해서 보여주셨고, 쿠버네티스 모니터링 설정에 대한 내용도 공유할 계획이 있다고 다른 수강자분의 문의에 답변을 주셨었는데요, 이것에 대한 대략의 공유 일정이 있다면 같이 알고 싶습니다. 감사합니다.
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
datasource를 썼을 때 jdbc 인터페이스는 어느 위치에 들어가나요?
"jdbc인터페이스"를 쓰면 아래와 같이 연결이 되고애플리캐이션로직jdbc인터페이스mysql드라이버mysqlDB "datasource"를 쓰면 아래와 같이 연결이 되는데애프릴캐이션로직Datasource커넥션풀DBdatasource를 썼을 때 jdbc 인터페이스는 어느 위치에 들어가게 되나요?