묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결윤재성의 만들면서 배우는 Spring MVC 5
미니프로젝트 500 에러 질문입니다.
삭제된 글입니다
-
미해결'이것이 리눅스다' 저자의 Red Hat CentOS7 리눅스 서버&네트워크 강좌
클라이언트까지 막힘
분명 root를 막았는데 왜 유저로 로그인까지 막히는건가요?
-
미해결팀 개발을 위한 Git, GitHub 입문
수업 PPT 자료 요청드립니다.
안녕하세요~ 이번에 강의신청하였습니다. plafslee@gmail.com 으로 수업자료 PPT 자료 공유 부탁드립니다. 오늘 하루도 즐거운 하루 보내세요~ 감사합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
text/plain으로 보낸 hello!는 어떻게 꺼내오나요?
쿼리스트링이 아니라서 따로 파라미터 이름이 없는 거 같은데 저런 건 어떻게 꺼내오나요?
-
미해결AWS(Amazon Web Service) 입문자를 위한 강의
비밀키의 기능
접근키는 커맨드 라인에 접근하는 패스워드 인건 알겠는데, 비밀키는 정확히 기능이 무엇인가요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
마이그레이션 생성 시점에 관한 질문입니다.
저 같은 경우에는 강의한 내용을 토대로 삼아서 추가적으로 컬럼값이 하나 이상 추가, 삭제 될때 마다 마이그레이션을 남길거 같은데, 이렇게 하면 왠지 너무 많은 마이그레이션을 남기는게 아닌가 하는 혼란이 생겨서 질문을 남깁니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
DB 저장 시점에 관한 질문입니다.
플레이어의 위치 값 같은 경우 DB에 저장하는 시점이 언제가 될까요? 왠지 매번 플레이어가 움직일때마다 DB에 저장하면 느릴거같은데 생각이 들어서요 이처럼 실시간으로 서버와 통신하는 값이라고 해야할까요? 이런 값(대표적으로 위치 같은..)들을 DB에 저장할 때, 텀을 두고 저장하는지 매번 저장하는지도 궁금합니다. 추가적으로 지금은 어떻게 보면 DB에 접근해서 데이터 받아오는게 동기 방식이고 작업량이 많지 않아서 빨라보이는데, 작업량이 많아서 서버 반응이 느릴 정도까지 되면, DB 전용 쓰레드를 만들어서 잡큐 방식으로 하는게 속도 개선에 보다 나은 것인지, 아니면 다른 방법이 있는 것인지 궁금합니다.
-
미해결[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
와이어 프레임(css) 관련 질문입니다.
.slide{ position: relative; height: 300px; overflow: hidden; } .slide > div{ /*border: 1px solid red;*/ width: 3600px; font-size: 0; position: absolute; /*animation: slide 10s linear infinite;*/ 슬라이브 부분을 예로 해서 css의 구조를 잡을때 .slide{} 와 .slide div{} 두개로 나눠서 CSS 입력하는 의미가 어떤건가요? .slide는 무슨 의미와 역할이고 .slide div{} 했을때는 무슨 역할인지요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
클라이언트 포폴, IMGUI 관련 질문
안녕하세요! 강의를 몇차레 복습하고, IMGUI로 클라이언트 엔진(?)과 같이 발전 시켜 포트폴리오를 만드려고 합니다.. 헌데 IMGUI를 붙이려고 보니 imgui도 렌더 시스템이 돌고 있더군요.. 수업중에 만든 랜더 시스템과 imgui 자체 렌더 시스템을 통합하는게 아직 제 역량으론 힘들것 같아서 포기중에 있습니다.. 목표는 지속적으로 개선가능한 클라이언트 포폴을 만드는 것입니다. 그래서 무턱대고 UI를 붙여서 엔진 처럼 만들어봐야 겠다.. 생각 했다 IMGUI를 붙이는 과정에서 바로 막히네요... 1. 클라이언트 포톨은 어떻게 준비하는 것이 좋은지 2. IMGUI을.. 적용하려면.. 어떻게 접근 하면 좋을지 3. 혹시 IMGUI나 MFC 등을 써서 다이렉트 작업물을 좀더 발전 시키는 수업은 생각이 있으신지 궁금합니다!
-
미해결실전! 스프링 데이터 JPA
@Query를 사용하면 계속 확정적으로 오류가 뜹니다 왜 그런건지 도저히 모르겠네요..
spring jpa사용하지 않고 em.createquery를 사용해서 test를 실행 시켜도 무조건 에러가 뜹니다. 어디서 문제가 발생하는 걸까요? public interface OrderRepository extends JpaRepository<Order,Long> { List<Order> findByMarketAndTransactionPrice(String market,Double transactionPrice); @Query("select o from Order o") List<Order> findPlz(); List<Order> findByMarketAndTransactionPriceAndTradeStatusAndStatus(String market, Double transactionPrice, OrderTradeStatus tradeStatus, OrderStatus status);} @Testpublic void errorTest() throws Exception { //given orderRepository.findPlz(); //when //then} ; 2021-06-15 03:03:55.491 INFO 17208 --- [ main] o.s.t.c.transaction.TransactionContext : Rolled back transaction for test: [DefaultTestContext@31edaa7d testClass = OrderRepositoryTest, testInstance = com.gon.coin.demotradingcoin.repository.OrderRepositoryTest@19c578bf, testMethod = errorTest@OrderRepositoryTest, testException = org.springframework.dao.InvalidDataAccessResourceUsageException: could not prepare statement; SQL [select order0_.order_id as order_id1_5_, order0_.created_date as created_2_5_, order0_.excution_time as excution3_5_, order0_.market as market4_5_, order0_.member_id as member_i9_5_, order0_.status as status5_5_, order0_.trade_status as trade_st6_5_, order0_.trading_volume as trading_7_5_, order0_.transaction_price as transact8_5_ from order order0_]; nested exception is org.hibernate.exception.SQLGrammarException: could not prepare statement, mergedContextConfiguration = [WebMergedContextConfiguration@26adfd2d testClass = OrderRepositoryTest, locations = '{}', classes = '{class com.gon.coin.demotradingcoin.DemoTradingCoinApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@5656be13, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@71d44a3, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@34123d65, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@4afcd809], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.populatedRequestContextHolder' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.resetRequestContextHolder' -> true]] org.springframework.dao.InvalidDataAccessResourceUsageException: could not prepare statement; SQL [select order0_.order_id as order_id1_5_, order0_.created_date as created_2_5_, order0_.excution_time as excution3_5_, order0_.market as market4_5_, order0_.member_id as member_i9_5_, order0_.status as status5_5_, order0_.trade_status as trade_st6_5_, order0_.trading_volume as trading_7_5_, order0_.transaction_price as transact8_5_ from order order0_]; nested exception is org.hibernate.exception.SQLGrammarException: could not prepare statement at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:279) at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:253) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:527) at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:153) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:144) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$ExposeRepositoryInvocationInterceptor.invoke(CrudMethodMetadataPostProcessor.java:364) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:93) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.data.repository.core.support.SurroundingTransactionDetectorMethodInterceptor.invoke(SurroundingTransactionDetectorMethodInterceptor.java:61) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) at com.sun.proxy.$Proxy133.findPlz(Unknown Source) at com.gon.coin.demotradingcoin.repository.OrderRepositoryTest.errorTest(OrderRepositoryTest.java:103) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74) at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 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.run(ParentRunner.java:363) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) 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.startRunnerWithArgs(IdeaTestRunner.java:33) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:221) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) Caused by: org.hibernate.exception.SQLGrammarException: could not prepare statement at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:63) at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:182) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareQueryStatement(StatementPreparerImpl.java:148) at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1984) at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1914) at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1892) at org.hibernate.loader.Loader.doQuery(Loader.java:937) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:340) at org.hibernate.loader.Loader.doList(Loader.java:2689) at org.hibernate.loader.Loader.doList(Loader.java:2672) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2506) at org.hibernate.loader.Loader.list(Loader.java:2501) at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:504) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:395) at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:220) at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1508) at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1537) at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1505) at org.hibernate.query.Query.getResultList(Query.java:132) at org.springframework.data.jpa.repository.query.JpaQueryExecution$CollectionExecution.doExecute(JpaQueryExecution.java:129) at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:91) at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:136) at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:125) at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:605) at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.lambda$invoke$3(RepositoryFactorySupport.java:595) at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:595) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:59) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:295) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) ... 42 more Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "SELECT ORDER0_.ORDER_ID AS ORDER_ID1_5_, ORDER0_.CREATED_DATE AS CREATED_2_5_, ORDER0_.EXCUTION_TIME AS EXCUTION3_5_, ORDER0_.MARKET AS MARKET4_5_, ORDER0_.MEMBER_ID AS MEMBER_I9_5_, ORDER0_.STATUS AS STATUS5_5_, ORDER0_.TRADE_STATUS AS TRADE_ST6_5_, ORDER0_.TRADING_VOLUME AS TRADING_7_5_, ORDER0_.TRANSACTION_PRICE AS TRANSACT8_5_ FROM ORDER[*] ORDER0_ "; expected "identifier"; SQL statement: select order0_.order_id as order_id1_5_, order0_.created_date as created_2_5_, order0_.excution_time as excution3_5_, order0_.market as market4_5_, order0_.member_id as member_i9_5_, order0_.status as status5_5_, order0_.trade_status as trade_st6_5_, order0_.trading_volume as trading_7_5_, order0_.transaction_price as transact8_5_ from order order0_ [42001-199] at org.h2.message.DbException.getJdbcSQLException(DbException.java:451) at org.h2.message.DbException.getJdbcSQLException(DbException.java:427) at org.h2.message.DbException.getSyntaxError(DbException.java:243) at org.h2.command.Parser.readColumnIdentifier(Parser.java:4530) at org.h2.command.Parser.readIdentifierWithSchema(Parser.java:4491) at org.h2.command.Parser.readTableFilter(Parser.java:1853) at org.h2.command.Parser.parseSelectSimpleFromPart(Parser.java:2641) at org.h2.command.Parser.parseSelectSimple(Parser.java:2788) at org.h2.command.Parser.parseSelectSub(Parser.java:2636) at org.h2.command.Parser.parseSelectUnion(Parser.java:2469) at org.h2.command.Parser.parseSelect(Parser.java:2440) at org.h2.command.Parser.parsePrepared(Parser.java:814) at org.h2.command.Parser.parse(Parser.java:788) at org.h2.command.Parser.parse(Parser.java:760) at org.h2.command.Parser.prepareCommand(Parser.java:683) at org.h2.engine.Session.prepareLocal(Session.java:627) at org.h2.server.TcpServerThread.process(TcpServerThread.java:270) at org.h2.server.TcpServerThread.run(TcpServerThread.java:175) at java.base/java.lang.Thread.run(Thread.java:831) at org.h2.message.DbException.getJdbcSQLException(DbException.java:451) at org.h2.engine.SessionRemote.done(SessionRemote.java:607) at org.h2.command.CommandRemote.prepare(CommandRemote.java:85) at org.h2.command.CommandRemote.<init>(CommandRemote.java:51) at org.h2.engine.SessionRemote.prepareCommand(SessionRemote.java:477) at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1292) at org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:77) at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:349) at com.zaxxer.hikari.pool.ProxyConnection.prepareStatement(ProxyConnection.java:311) at com.zaxxer.hikari.pool.HikariProxyConnection.prepareStatement(HikariProxyConnection.java) at com.p6spy.engine.wrapper.ConnectionWrapper.prepareStatement(ConnectionWrapper.java:118) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$5.doPrepare(StatementPreparerImpl.java:146) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:172) ... 73 more
-
미해결야곰의 iOS 프로그래밍
Todo 앱에서 DateFormatter 사용 관련 질문 드립니다.
Todo 앱에서 DateFormatter 사용 관련 질문 드립니다. 질문이 3개 있습니다. 질문 1. private let dateFormatter: DateFormatter = { let formatter: DateFormatter = DateFormatter() formatter.dateStyle = DateFormatter.Style.medium formatter.timeStyle = DateFormatter.Style.short return formatter }() 에서 = 뒤의 {}() 코드 블록을 어떻게 이해하면 될까요? 강사님 말씀대로 이름 없는 함수인 클로져로 이해해 보려고 해도 아닌 것 같고 연산 프로퍼티의 게터도 아닌 거 같고… 대략적으로 {}의 코드가 DateFormatter 객체를 생성해서 반환하는 거 같은데 어떤 스위프트 문법에 의해서 가능한 건지 모르겠습니다. 질문 2. 여러 스위프트 코드를 보면 DateFormatter처럼 클래스 객체를 생성할 때 ClassName() 이런 식으로 생성하는 경우가 있던데 이런 기존 library 객체들의 디폴트 생성자를 찾아보려면 관련 문서는 어떻게 검색할 수 있을까요? 올려주신 학습자료랑 스위프트 개발자 문서를 봐도 이런 내용은 잘 못 찾겠어서 방법을 문의 드립니다. 자바 같은 경우에는 도큐먼트에 디폴트 생성자가 설명되어 있었던 거 같은데 비슷한 도큐먼트를 어떻게 찾는지 궁금합니다. 질문 3. 위 코드를 이해하려고 이것저것 바꿔보다가 private let dateFormatter: DateFormatter = { let formatter: DateFormatter = DateFormatter() formatter.dateStyle = DateFormatter.Style.medium formatter.timeStyle = DateFormatter.Style.short return formatter }() 를 아래처럼 바꿔 보았습니다. private let dateFormatter: DateFormatter = DateFormatter() dateFormatter.dateStyle = DateFormatter.Style.medium dateFormatter.timeStyle = DateFormatter.Style.short 그랬더니 두번째 줄에서 Consecutive declarations on a line must be separated by ; 라는 에러가 나더라고요 let을 var로도 고쳐봐도 똑같고… 스위프트의 클래스에서는 프로퍼티(dateFormatter)에 어떤 타입의 객체를 생성 할당 후 그 객체의 프로퍼티(dateFormatter.dateStyle)는 바로 세팅을 못 해주는 건가요? 그럼 강사님이 작성하신 코드처럼 밖에는 작성을 못 하는 건지 아니면 UITableViewController의 init()을 써야 되는 건지도 궁금합니다. 긴 질문 읽어주셔서 감사합니다. 답변 미리 감사 드립니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
TryDelete내부에서 궁금한점이 있습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. if (_popCount == 1){ if(--_popCount == 0) // 1) { } } 안녕하세요! 1) 부분에 대한 질문입니다왜 한번더 체크를 해야하는건가요?설명해주신 내용에선 끼어든 애가 없으니 삭제 진행이라고 하셨는데요애초에 popCount == 1 에서 if문 안으로 들어왔다면 더이상 끼들수 있는 애가 없는게 아닌가 싶습니다 누군가가 다시 Pop에 들어온다면 if (popCount == 1){}else {} 처음부터 else로 빠지는게 될 것 같습니다 그리고 _pendingList 도 exchange로 가져오기 떄문에 원자적으로 가져올 수 있는게 아닌가 싶습니다
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
몽고db 방화벽문제 ㅠㅠ
안녕하세요~ 기초강의 3번 몽고db연결을 따라하고 있는도중에 사소한 것 같지만 오류가 떠서 진행을 못하고 있습니다. 몽고디비 홈페이지에서 cluster connect 버튼을 누르면 다음과 같은 오류가 뜹니다. 어떻게 해야할까요? ㅜㅜ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
jdk8은 안되나요?
선생님 제가 자바8버전으로 설치햇는데 지우고 11버전으로 다시 설치해야할가요??
-
미해결처음하는 코딩 - 러플 (중등교육 - Python)
1강 마크다운 언어
안녕하세요. 1강 실습 html 골격 만들기 할 때 '# 제목입니다.' 이렇게 하면 마크다운 언어가 된다고 하셨잖아요? 그런데 '# 제목입니다.'를 쓰고 저장해서 웹브라우저에서 보면 메모장에 쓴 대로 '# 제목입니다.' 이것만 작게 뜹니다. 원래 이렇게 뜨는 게 맞는 건지 궁금합니다. 아니라면 어떻게 해야 하는지 대강이라도 알려주시면 감사하겠습니다. 나중에 복습할 때 혼자서 해보려고 노트 정리 중인데 이것도 한번 해보고 싶어서요. 아, 그리고 CSS 실습에서 background-color: #2851A3; 이거를 복사 붙여넣기 하지 않고 직접 따라 쓰니까 안 되더라고요 그래서 저도 페이스북에 들어가서 개발자 도구에서 복사 붙여넣기 하니까 그제서야 적용이 되던데 원래 이런 건가요? 미리 답변 감사드립니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
혹시 mmdetection 프레임워크를 사용하여 학습된 모델을 이용하여 webcam으로 받은 영상을 object detection 할 수 있을까요?
혹시 mmdetection 프레임워크를 사용하여 학습된 모델을 이용하여 webcam으로 받은 영상을 object detection 할 수 있을까요? 구글링을 해서 쭉 찾아보는데 찾기가 쉽지 않아 여쭤봐요!!.. 대략적인 정보만 알려주시면 나머지는 혼자 찾아보겠습니다 ㅠㅠ... 매번 감사합니다 ㅠㅠ
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
next-redux-saga 삭제할 때
강의에서보면 next-redux-saga 모듈을 package.json에서 그냥 해당 dependencies를 지워주시던데 npm uninstall로 지워줘야지만 깔끔하게 지워지는거 아닌가요?? 지금까지 항상 사용하지않는 모듈은 uninstall로 지웠었어서요
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
push에서 참조나 포인터가 아닌 이유가 있을까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요~ 궁금한게 있어서 질문 드립니다 Stack이나 Queue에서 PUSH 하는 함수에서 참조나 포인터가 아닌 이유가 있을까요?
-
미해결반응형 웹사이트 포트폴리오(Architecture Agency)
.feature>office+service 플롯줄때 질문있습니다
안녕하세요, 쌤 플롯이 헷갈려서 문의드립니다. .feature>office와 service가 있는데 초기 가로 배치할때 float:left를 하나에게만 주는게 아니였나요? office{float:left}이렇게 않주고 .feature>div 로 오피스와 서비스에게 둘다 주는게 맞는건가요? 그리고 이렇게 플롯을 자식에게 주면 부모에 반드시 clearfix등을 다 넣주던데 이부모 feature에 안넣어도 되는건가요? 현재 피시상세 contact부분을 하고 있는데 브라우저 줄여보니 이 location섹 션의 글자들이 위로 우르르 올라오더라구요. 나중에 내려주는건지요? 하다보니 몇가지 막히는게 있어서 힘들지만 수업은 너무 좋습니다! 감사합니다!! PC 레이아웃 섹션 상세 퍼블리싱(Location Section) .feature{ width: 70%; position: absolute; top:50%; left: 50%; transform: translate(-50%, -50%); color: #ddd; } .feature>div{ float: left; } .office{ width: 60%; padding-right: 100px; } .service{ width: 40%; }
-
미해결반응형 웹사이트 포트폴리오(Architecture Agency)
contact-inner가 안보입니다. PC 레이아웃 섹션 상세 퍼블리싱(Contact -1))
안녕하세요 쌤~질문이 있습니다.. pc 레이아웃 상세 퍼블리싱 contact section -#1 에서 .contact-inner 부분이 아무리해도 border, 색상 자체가 나타나지 않아요. 완성파일 받아서 그부분 css, html,js..복붙해도 아예 나타나지가 않는데요. 이유를 모르겠어요. 맨앞에 .content에 바탕에 #ddd색이 깔려 있는데 그것만 보입니다. 알려주세요 ㅜㅜ 몇가지 질문이 더 있는데요, 맨처음에 dody>container>cd-section>div에서 가로폭은 설정이 아예 없던데 div가 100%라서 않설정하는건가요? 그리고 피시형->반응형을 할때 처음부터 마진 패딩 폰트 모두다 퍼센트와 rem으로 계산하던데 아직은 pc 상세긴하나 퍼센트나 rem을 라인하이츠 외에 쓰지 않는데 나중에 어떻게 되는건가요? 감사합니다! pc 레이아웃 상세 퍼블리싱 contact section -#1 html <!doctype html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>DesignWorks Architecture Agency</title> <script src="https://kit.fontawesome.com/a69c137eb6.js" crossorigin="anonymous"></script> <script src="js/jquery-2.1.4.js"></script> <!-- Page Scroll Effects JS & CSS --> <script src="./js/velovity/modernizr.js"></script> <script src="./js/velovity/velocity.min.js"></script> <script src="./js/velovity/velocity.ui.min.js"></script> <script src="./js/velovity/main.js"></script> <link rel="stylesheet" href="./js/velovity/velocity.css"> <!-- Smooth Scrolling --> <script src="js/jquery.scrollTo.min.js"></script> <!-- Custom JS & CSS --> <script src="custom.js"></script> <link rel="stylesheet" href="style.css"> <link rel="stylesheet" href="responsive.css"> </head> <!-- hijacking: on/off - animation: none/scaleDown/rotate/gallery/catch/opacity/fixed/parallax --> <body data-hijacking="off" data-animation="rotate"> <div class="container"><!-- container --> <!-- section --> <section class="cd-section visible" id="home"><!-- Section: home --> <div> <div class="content"> <img src="images/temp-section-01.jpg" alt=""> </div> </div> </section> <section class="cd-section" id="about"><!-- Section: about --> <div> <div class="content"> <div class="about-inner"> <div class="about-items"> <div class="item"> <img src="images/careers-main-01.png" alt="career01"> <span> <h3>Together we can make an impact</h3> <p> Design Works the excitement of an entrepreneurial environment with the stability of an established practice. Principals and senior leadership work side-by-side with junior designers to create innovative, workable designs. </p> </span> </div> <div class="item"> <img src="images/careers-main-02.png" alt="career02"> <span> <h3>We’re always looking for talent</h3> <p> If you don’t see an open position that fits your talents, send us your resume. We’re always looking for smart, self-starters and will reach out to you if something becomes available. </p> </span> </div> <div class="item"> <img src="images/careers-main-03.png" alt="creer03"> <span> <h3>Fellowship</h3> <p>Every summer we offer a Fellowship to a select group of students in architecture, planning and landscape architecture. Read about our 2019 Fellowship winners and learn more about what the Fellowship has to offer.</p> </span> </div> </div> </div> </div> </div> </section> <section class="cd-section" id="project"><!-- Section: project --> <div> <div class="content"> <img src="images/temp-section-03.jpg" alt=""> </div> </div> </section> <section class="cd-section" id="plan"><!-- Section: plan --> <div> <div class="content"> <img src="images/temp-section-04.jpg" alt=""> </div> </div> </section> <section class="cd-section" id="awards"><!-- Section: awards --> <div> <div class="content"> <div class="awards-inner"> <div class="about-awards"> <div class="about-heading"> <h2>2020<br>Architecture Award<br> Winner</h2> <hr class="bar"> <p> The mission of the Architecture MasterPrize (AMP) is to advance the appreciation and exposure of quality architectural design worldwide. The AMP architecture award celebrates creativity and innovation in the fields of architectural design, landscape architecture, and interior design. Submissions from architects all around the world are welcome. </p> <a class="view-awards" href="https://architectureprize.com/" target="_blank">View the awards</a> </div> </div> <div class="victory-jump"> <img src="images/victory-jump.png" alt="victory"> </div> </div> </div> </div> </section> <section class="cd-section" id="location"><!-- Section: location --> <div> <div class="content"> <div class="location-inner"> <div class="feature"> <div class="office"> <div class="headquarters"> <b>CREATIVE DESGIN GROUP</b> <h2>Headquarters</h2> <p> Lorem ipsum, dolor sit amet consectetur adipisicing elit. Minima alias voluptatibus aspernatur accusamus sapiente esse quo iure voluptatem laudantium, tempore libero reprehenderit voluptate ipsam eum error mollitia sunt ducimus autem? </p> <span> Address : Address: 309, New Cavendish St, EC1Y 3WK / Tel : 0800 214 5252 </span> </div> <div class="customer"> <b>THE PERFECT WAY</b> <h2>Customer Service</h2> <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Exercitationem laboriosam accusamus tenetur dolore temporibus explicabo odio sint ullam officia porro. Amet eos molestiae omnis tenetur culpa iste non dignissimos expedita! </p> <span>Address : 11 Fifth Ave - New York, US / Tel : 0800 809 3400</span> </div> </div> <div class="service"> <div class="service-item"> <i class="fas fa-leaf"></i> <h3>Built and natural contexts</h3> <p> Lorem ipsum dolor sit, amet consectetur adipisicing elit. Nihil in ipsum suscipit nobis sint totam. </p> </div> <div class="service-item"> <i class="fas fa-bullseye"></i> <h3>Landscape design</h3> <p> Lorem ipsum dolor sit, amet consectetur adipisicing elit. Nihil in ipsum suscipit nobis sint totam. </p> </div> <div class="service-item"> <i class="fas fa-cube"></i> <h3>Every building site unique </h3> <p> Lorem ipsum dolor sit, amet consectetur adipisicing elit. Nihil in ipsum suscipit nobis sint totam. </p> </div> </div> </div> </div> </div> </div> </section> <section class="cd-section" id="contact"> <div> <div class="content"> <div class="contact-inner"> <div class="contact-feature"> <div class="contact-form"> contact-form </div> <div class="contact-info"> contact-info </div> </div> </div> </div> </div> </section> <!-- Header --> <header><!--css에서 header.active 흰색--> <div class="gnb-inner"><!-- gnb-inner --> <div class="logo"><!-- logo--> <a href="#none"><img src="images/logo.png"></a> </div> <div class="gnb"><!-- gnb --> <div class="menu"><!-- menu --> <a href="#home">Home</a> <a href="#about">About</a> <a href="#project">Project</a> <a href="#plan">Plan & History</a> <a href="#awards">Awards</a> <a href="#location">Location</a> <a href="#contact">Contact</a> </div> <div class="slogan">We design places, not projects.</div> </div><!-- gnb end --> <div class="trigger"><!--toggle button: active 추가는 responsive.css 제어는 jquery --> <span></span> <span></span> <span></span> </div><!-- trigger end--> </div><!-- gnb-inner end--> </header><!-- Header end --> </div><!-- container end --> <!-- Container end --> <a href="#" class="gototop"><!-- gototop --> <img src="images/gototop.png" alt=""> </a><!--a="#"" 문서의가장 탑상단!--> <a href="#" class="btn_hiring"><!-- btn-hiring--> <i class="fas fa-comment-dots"></i> Hiring</a> <nav><!-- nav --> <ul class="cd-vertical-nav"> <li><a href="#0" class="cd-prev inactive">Next</a></li> <li><a href="#0" class="cd-next">Prev</a></li> </ul> </nav> <!-- nav end --> </body> </html> css /* Google Web Font : Montserrat */ @import url('https://fonts.googleapis.com/css?family=Montserrat:200,300,400,500&display=swap'); @import url('https://fonts.googleapis.com/css?family=Manrope:300,400,500,600&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@200;300;400;600;700;900&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Overpass&display=swap'); /* FontAwesome CDN 4.7 */ @import url('https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css'); /* ################### Reset CSS ################### */ * { box-sizing: border-box; } ul { list-style: none; } a { text-decoration: none; } /* ################### Default CSS ################### */ body { font-family: 'Montserrat', sans-serif; color: #222; font-size: 15px; margin: 0; height: 100vh; background-color: #fff; } /* ################### Entire Layout ################### */ .cd-section { height: 100vh; } .cd-section>div { height: 100%; position: relative; } .content { /* background-color: #ddd; */ position: absolute; width: calc(100% - 40px); height: calc(100% - 80px); left: 20px; bottom: 20px; overflow: hidden; } /* ################### Header ################### */ header { position: fixed; width: 100%; top: 0; left: 0; z-index: 10; } .gnb-inner { /* border: 1px solid #000; */ width: calc(100% - 40px); margin: auto; height: 60px; line-height: 60px; } .logo { float: left; } .logo img { padding-top: 17px; } .gnb { float: right; } .gnb a {} .menu { display: none; } .slogan { font-size: 18px; font-style: italic; } .trigger { display: none; } /* ################### Hiring Button ################### */ .btn_hiring { position: fixed; right: 50px; bottom: 50px; color: #fff; background-color: #000; padding: 10px 20px; border-radius: 20px; box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.4); transition: 0.5s; } .fa-comment-dots{ transform: rotateY(180deg); margin-right: 5px; } .btn_hiring:active{/*버튼 누르면 작아지는 액티브 가상클래스*/ transform: scale(0); } /* ################### Section : About ################### */ .about-inner{ /*background 한줄쓰기: color url no-repeat position/size*/ background: #0dace3 url(images/line-drawing.png) no-repeat right bottom; height: 100%; position: relative;; /* background-color: #0dace3; */ /* background-size: 80%; */ /* background: blue; */ } .about-items{ /* border: 1px solid #000; */ width: 50%; position: absolute; top: 50%; left: 100px; transform: translateY(-50%); /*y - 위로 올라감*/ } .item{ overflow: hidden; /* float준 부모를 해제 */ /* clear: both; */ color:#fff; margin-bottom: 30px; } .item img{ height: 120px; float: left; margin-right: 20px; filter:invert(1); /* img에 색상필터 넣을떄 filter, (1)은100% */ } .item span{ transition: 0.5s; } .item span h3{ font-size: 28px; font-weight: 500; margin: 0; letter-spacing: -1px; /*자간*/ } .item span p{ overflow: hidden; /* float떄문에 글자가 아래로 밀린경우*/ font-size: 18px; } .item:hover h3{ color: #000; } .item:hover img{ filter:invert(0); } /* ################### Section : awards winner ################## */ .awards-inner{ height: 100%; /*부모에 높이를 100%줘야 자식이 float 플롯됐을떄 높이를 줄수있음!! */ border: 1px solid #ddd; } .awards-inner >div{ /* awards-inner안에 자식div 2개만 해당되므로 >div */ float: left; width: 50%; height: 100%; position: relative; } .about-awards{ background-color: #000; color: #fff; } .about-heading{ position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; width: 70%; } .about-heading .bar{ width: 50px; height: 4px; border: none; background-color: crimson; margin: 30px auto;/* 위아래30 가로중앙 auto*/ } .about-heading p{ color: #999; font-size: 16px; line-height: 1.5em; } /* A button */ .view-awards{ color: #bbb; border: 1px solid #bbb; padding: 5px 15px; border-radius: 20px; transition: 0.5s; /*hover*/ /* margin-top: 200px; 마진상하가 안되니까 인라인임 p테그에서 내리거나*/ display: inline-block; margin-top: 20px; } .view-awards:hover{ /*호버시 색상변화, ** 보더가 안보여야하는데 none으로하면 픽셀이빠져서 화면이 흔들림, 투명으로해야 */ background-color: #31c0ce; color:#fff; /* border: none; */ border-color: transparent; } .victory-jump{ background-color: #fff; } .victory-jump img{ /*img 중앙배치하는 방법*/ position: absolute; top: 50%; left:50%; transform: translate(-50%, -50%); width: 80%; } /* ################### Section : Location ################### */ .location-inner{ background: url(images/background-location.jpg) no-repeat center center; /*background 안나오는이유: 크기줘야쟎이*/ height: 100%; } .location-inner:before{ content:''; /*before, after content:'' 로시작, 인라인이되므로 크기줘도안보인다. position: absoulte/display inline-block 줘서 인라인블럭화한다*/ background-color:rgba(0,0,0,0.85); width: 100%; height: 100%; /* display: inline-block; */ position: absolute; } .feature{ width: 70%; position: absolute; top:50%; left: 50%; transform: translate(-50%, -50%); color: #ddd; } .feature>div{ float: left; } .office{ width: 60%; padding-right: 100px; } .service{ width: 40%; } .office b{ font-weight: normal; } .office h2{ /*h2는 마진0줘야한다*/ color: #1db1f0; font-weight: 500; margin: 0; margin-top: 5px; } .office p{ font-size: 16px; line-height: 1.5em; } .office span{color: #fff;} .customer{ margin-top: 40px; } /* Service */ .service{} .service-item{ margin-bottom: 20px; } .service-item .fas{ color: #1db1f0; font-size: 40px; }/*fontawesome 인라인임*/ .service-item h3{ color: #fff; font-size: 22px; margin: 0; margin-top: 10x; } /* ////////////////// Section: contact ///////////////// */ .contact-inner { background-color: #fff; height: 100%; border: 1px solid #ddd; } .contact-feature { width: 70%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .contact-feature > div { float: left; width: 50%; padding: 20px; } .contact-form{} .contact-info{} custom js /*Trigger */ // $(function(){})의미가 html을 읽어라, 이게 없으면 js부터 읽으니까 trigger인식못함.('.따옴표')toogleClass('class명')*/ $(function(){ $('.trigger').click(function(){ $(this).toggleClass('active')//1.togglebutton제어 $('.gnb').toggleClass('active')//2.gnb메뉴판 토글하게 제어 }) $('section,.menu a').click(function(){ //3.바탕(섹션)클릭시 메뉴없어지게 제어 $('.gnb').removeClass('active')//gnb메뉴판 클래스(left:0)를 떄어서 들어가게 제어 $('.trigger').removeClass('active')//5. trigger x는 섹션, 메뉴클릭시 gnb닫고 동시에 사라져야함. }) /*$('.menu a').click(function(){ 4. menu a클릭시 gnb닫혀야하므로 위에씀. $('.gnb').removeClass('active') })*/ /*Smooth scrolling 플러그인*/ $('.menu a,.gototop').click(function(e){ $.scrollTo(this.hash || 0,900)//5. scrollTo 0.9초에 부드럽게 스크롤 }) /* Header/ Gototop Change CSS with Scroll*/ $(window).scroll(function(){ if($(window).scrollTop() > 50){ $('header, .gototop').addClass('active')//윈도우스크롤50 내리면, 헤더, 고투탑 보여라 } else{ //아니면(스크롤이 탑에있을떄 헤더, 고투탑은 사라진다.) $('header, .gototop').removeClass('active') } }) })//end responsive.css /* Mobile 768 */ @media (max-width: 768px){ /* html{ scroll-behavior: smooth; /*제이쿼리스크롤 플러그인비슷함*/ /* Entire Layout */ .cd-section { /* height: 100vh; 뷰포트하이츠,100%는 모바일에서는 해제해야함*/ height: auto; } .cd-section > div { height: auto; /*position: relative; */ } .content { position: static; width: 100%; height: 100%; /* overflow: hidden; */ } /* Header */ .menu { display: block; } .slogan { display: none; } .gnb { background-color: #fff; position: fixed; top: 0; right:-280px; width: 250px; height: 100vh; box-shadow: -5px 0 10px rgba(0, 0, 0, 0.1); transition: 0.5s; } .menu { line-height: 40px; margin-top: 60px; } .menu a { text-align: right; display: block; padding-right: 20px; color: #000; font-size: 20px; } /* Trigger */ /*중요-trigger:absoulte으로 배치, span:absoulte 으로배치. 트리거의 자식이지만 다시 부모trigger에 relative주면 안되고 앱솔루트로 부모를 냅둬라*/ .trigger{ display: block;/*나오게함*/ /* border: 1px solid red; */ width: 24px; height: 14px; position: absolute; top: 20px; right: 20px;} .trigger span{ position: absolute; height: 1px; width: 100%; background-color: #000; transition: 0.5s; } .trigger span:nth-child(1){ top:0; } .trigger span:nth-child(2){ top:50%; width: 80%; } .trigger span:nth-child(3){ top:100%; } .trigger.active span:nth-child(1){ top:50%; transform: rotate(45deg); } .trigger.active span:nth-child(2){ top:50%; width: 80%; opacity: 0;/*안보이게 할때는 투명도 0*/ } .trigger.active span:nth-child(3){ top:50%; transform: rotate(-45deg); } .gnb.active{/*gnb메뉴를 보이게함 .active를 js에 설정*/ right:0; } /* Header*/ header{ transition: 0.5s; /*header 스크롤 나타날떄*/ } header.active{ background-color: #fff; border: 1px solid #eee; } /* Gototop */ .gototop{ /*누르면 탑으로간다: html->a href="#" 스크롤자연스럽게 플러그인에 삽입*/ position: fixed; bottom:20px; left: 20px; border: 1px solid #fff; border-radius: 50%; display: block; width: 40px; height: 40px; text-align: center; line-height: 60px; opacity: 0; /*고투탑 기본설정을 안보이게+트랜스폼 아래위치하게*/ transform: translateY(30px); transition: 0.5s; } .gototop.active{ /*고투탑 보이게 액티브를 제이쿼리에 추가 */ opacity:1; transform: translateY(0); } /* goto top */ .btn_hiring{ right: 20px; bottom: 20px; } /* end */ }/*최대 768 모바일까지만 실행*/