묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결15일간의 빅데이터 파일럿 프로젝트
hue 구성 강의에서 mirrorlist.txt 설치 시 에러 질문드립니다.
echo "http://vault.centos.org/6.10/os/x86_64/" > /var/cache/yum/x86_64/6/base/mirrorlist.txt echo "http://vault.centos.org/6.10/extras/x86_64/" > /var/cache/yum/x86_64/6/extras/mirrorlist.txt echo "http://vault.centos.org/6.10/updates/x86_64/" > /var/cache/yum/x86_64/6/updates/mirrorlist.txt echo "http://vault.centos.org/6.10/sclo/x86_64/rh" > /var/cache/yum/x86_64/6/centos-sclo-rh/mirrorlist.txt echo "http://vault.centos.org/6.10/sclo/x86_64/sclo" > /var/cache/yum/x86_64/6/centos-sclo-sclo/mirrorlist.txt mirrorlist 전부 설치하라고 하셔서 진행했습니다. 하지만 4,5번째 rh, sclo는 no such file or directory 가 나옵니다. 스펠링 전부 확인해 보았고 보내주신것 그대로 설치 해보았지만 같은오류가 반복되며 해당 내용 구글링 해보았지만 나오지 않습니다. 해결 부탁드립니다.
-
미해결홍정모의 따라하며 배우는 C언어
2:56
2분 50초의 예시에서 f=1.123; f=1.25; 두 표현식 중 위의 표현식만 경고가 뜨는 이유를 선생님께서 0.25를 컴퓨터가 더 정밀하게 표현이 가능한 반면 1.123은 float로는 한계가 있기때문에 경고가 뜬다고 말씀하셨는데요 앞에서도 비슷한 내용을 배우긴 배웠는데 제기억으론 그때는 부동소수점 표현 방식의 한계로 기억하네요 , 원리가 같다고 보면 되나요? 부동 소수점은 컴퓨터는 2진수로 변환을 하기 때문에 1/2, 1/4 등은 표현이 쉽지만 그 이외의 숫자들은 변질된다(?)고 배웠던 것 같은데요 같은 원리로 float는 double에 비해 그 메모리가 더 작고 더 작기 때문에 수를 정확하게 표현하기 어렵다고 생각하면 될까요??
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
./build 에러가 발생합니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 주어진 파일로 ./build를 돌렸는데 에러가 발생했습니다. 원인을 도저히 모르겠어서 이렇게 질문 드립니다. 다음과 같이 코드 그대로 ./build를 했는데 30번째 줄에서 에러가 발생했습니다. testbench 파일도 그대로 진행해서 오류를 모르겠습니다.
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
Design flow 에 대한 질문
저는 지금 학부에서 공부하고 있다보니 드는 의문이 있습니다. Spec -> Architecture define / design -> RTL coding -> verification -> synthesis -> place & routing -> ... 위와 같은 과정을 거치는데 현재 가장 열심히 공부하고 있는 부분은 RTL ~ syntesis 까지 인 것 같습니다. 쉬어가기에서 다루신 것처럼 기회가 된다면 HLS 도 공부해야 되겠다고 느끼고 있습니다. 전에 맛비님 영상에서 지금은 스타트업에 재직 중이셔서Design 의 거의 모든 과정을 하신다고 하셨는데 학부에서 배운 computer architecture 나 IDEC 을 통해 수강할 수 있는 xx프로세서 등의 수업을 들으면 대부분 computer architecture 에서 다루고 있는 architecture model 들을 보여주고 그 history 를 알려주는 수업 같다는 느낌을 많이 받았습니다. 현재는 대학원에 진학하고 싶은 생각이라 커리어를 대기업에서 시작할지 스타트업에서 시작할지 구체적인 것은 생각하고 있지 않지만 대략적으로 현업에서 spec 을 짜고 architecture 를 구성하실 때, 어떤식으로 작업이 진행되고 어떤 tool 을 사용하는지 알고 싶습니다. 제 얄팍한 지식으로는 회사마다 tool 을 따로 만들어 사용한다고 들은 적은 있는데 그런 작업은 보통 sw 엔지니어들이 하게 되는지 hw 엔지니어들도 참여하게 되는지 알고 싶습니다. 감사합니다!!
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
train_test_split 함수에 대해 질문이 있습니다.
수업을 듣고 mmedetection을 이용해 custom dataset을 train 시키려는 작업을 계획 중인데, 걸리는 부분이 있어 질문 드립니다. mmdetection에서 mask-rcnn을 수행하기 위해 kaggle에서 coco format에 맞는 dataset을 받고, json 파일의 형식이 coco format에 맞는지 확인 했습니다. 그런데 이 dataset의 이미지와 json가 train밖에 없어서 train, val로 나누기 위해 train_test_split 을 써야 하는데, 이 함수의 첫 번째 변수로 어떤 것을 넣어야 하는지(mask rcnn nucell실습에서는 meta_df) 잘 이해가 되지 않습니다. 찾아보니 array 형태로 넣어야한다고는 하는데, 단순히 train 이미지가 있는 경로를 np.array로 넣는 것은 아닌 거 같고, 제 파이썬 실력은 많이 부족해 답이 나오지 않아 질문 남깁니다. Dataset의 형태는 사진으로 첨부합니다. json은 약 28만 장에 대한 내용이 coco format으로 나와있습니다.
-
해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
9분 54초 이후에 :vs사용법을 잘 모르겠습니다.
- 학습 관련 ㅇ문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의를 보던 중 9:54초에서 이전에 작성한 코드를 복사 붙여넣기를 하기 위해 :vs를 하셨는데 그 이후 오른쪽 화면만 vi에디터를 빠져나가게 어떻게 하나요? 리눅스가 처음이라 머라고 검색해야 할지 모르겠습니다.
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
안녕하세요 강사님 질문 드립니다
n, m = map(int, input().split())princies = deque([x+1 for x in range(n)])cnt = 1while len(princies) > 1: if cnt == m: princies.popleft() cnt = 1 else: princies.append(princies.popleft()) cnt += 1print(princies[0]) 제가 작성한 코드와 강의 코드를 비교해 제 코드가 너무 단촐하여 질문드립니다. 5개의 in, out 정답은 맞는데 제가 맥 환경이라 채점을 할 수가 없네요.. 이렇게 구현해도 되는지 문제가 있다면 어떤부분이 문제인지 질문드립니다.
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
InvocieDate 피처가 변경된거 같습니다
Recency 피처의 마지막 가공 때 2011년 12월 10일에서 Recency 피처를 빼려고 보니 Recency 피처가 문자형으로 되어있어서 확인해보니 강사님 데이터에서는 처음에 InvoiceDate 피처가 datetime형으로 되어있는데 제꺼는 Object로 변경되어 있네요. 아마 Recency 피처 혹은 InvoiceDate 피처를 datetime형으로 변경하는 코드가 필요할 것 같습니다! 그게 아니라면 제가 기존 엑셀 파일을 csv파일로 변경하고 로딩하는 과정에서 변경되었는지 혹은 원본 데이터가 변경된건지 궁금합니다.
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Connect 함수에 대해 질문이 있습니다.
안녕하세요 영상 4분쯤에 나오는 RegisterConnect 에 대해 질문이 생겨서 남겨봅니다. 먼저 제가 이해한 바를 정리해 보면 클라이언트 -> 서버 연결의 경우에는, DummyClient 입장에서 서버에 붙어야 하기에 RegisterConnect를 호출해 주었고 Server입장에서는 Listener에서 ProcessConnect를 바로 호출해 준다고 이해했습니다. 이전에 서버 -> 서버간의 연결이 분산 서버 환경에서 일어날 수 있다고 말씀주셨고 영상 4분쯤(RegisterConnect 함수 제작 중)에 서버와 서버를 연결할 경우, 상대방이 나한태 붙는 개념이라, ServiceType이 Client 인 경우에만 RegisterConnect 를 호출할 수 있다 설명해 주셨는데 이 부분이 잘 이해가 가지 않습니다. 만약 서버 -> 서버의 연결의 필요해 지는 경우에는, 서버입장에서 ClientService 를 생성해서 대상 서버에 RegisterConnect를 호출해야 하는 건가요? 아니면 따로 추가 함수 제작이 필요한 건가요? ========================== 죄송합니다 추가로 질문 하나 더 남겨봅니다. 저희가 사용하고 있는 IocpEvent는 OVERLAPPED를 상속받아 메모리 처음 시작 부분에 OVERLAPPED 구조체 정보가 들어있어서 IocpEvent <-> OVERLAPPED 간의 타입캐스팅이 가능했었는데, 이런 방식의 기믹은 뭐라고 하며, virtual 함수가 없는 이상 언제나 안전하게 사용할 수 있는 방법인가요? https://stackoverflow.com/questions/22404423/c-pod-struct-inheritance-are-there-any-guarantees-about-the-memory-layout-of 관련 내용을 찾다보니 메모리 레이아웃이 보장되지 않는다는 내용이 보여서 여쭤봅니다.
-
미해결팝스타 공식 뮤비 제작 & 유튜브 2천만 뷰 크리에이터의 애니메이트 X 이모티콘 클래스
스트로크
텍스트나 캐릭터가 밝은배경이던 어두운 배경이던 더 잘보이게하고싶어서 테두리를 만들고싶은데 포토샵처럼 스트로크로 아웃라인을 만드는 기능은 없을까요?
-
미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
showProgressDownLoading 함수
함수를 강의를 따라하며 작성하였고, 나머지 모든 기능이 정상 작동하고, 시작 버튼을 누를 시에 동영상도 저장이 되지만 progress bar 작동하지 않고 소프트웨어가 꺼짐 현상이 발생하는데, 어떤 방식으로 해결이 가능할까요?
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
데이터베이스 스키마 자동생성(create)인데 시작시 테이블 drop이 잘 안됩니다
질문 올리기 전에 하이버네이트랑 H2 데이터베이스를 모두 latest stable 버전으로 올렸더니 의외로 해결됐습니다 아마 옛날 버전에 버그가 있거나 버전 궁합이 잘 안맞아서 그랬던것 같습니다 혹시나 저랑 같은 문제를 겪으시는 분들을 위해 질문은 남겨봅니다! ============= 제목이랑 같은데요, persistence.xml에서 <property name="hibernate.hbm2ddl.auto" value="create" /> 을 적용하고 메인함수를 실행하면 db를 싹 비운 처음에는 잘 되는데, 두번째부터는 처음에 모든 테이블을 drop하고 실행하는데 이 drop이 제대로 작동하지 않는 것 같습니다. === 로그=== ..중략... 2월 15, 2022 3:57:47 오후 org.hibernate.dialect.Dialect <init> INFO: HHH000400: Using dialect: org.hibernate.dialect.H2Dialect Hibernate: drop table Category if exists Hibernate: drop table category_item if exists Hibernate: drop table Delivery if exists Hibernate: drop table Item if exists Hibernate: drop table Member if exists 2월 15, 2022 3:57:48 오후 org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl getIsolatedConnection INFO: HHH10001501: Connection obtained from JdbcConnectionAccess [org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess@65eb76cd] for (non-JTA) DDL execution was not in auto-commit mode; the Connection 'local transaction' will be committed and the Connection will be set into auto-commit mode. 2월 15, 2022 3:57:48 오후 org.hibernate.tool.schema.internal.ExceptionHandlerLoggedImpl handleException WARN: GenerationTarget encountered exception accepting command : Error executing DDL " drop table Category if exists" via JDBC Statement org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL " drop table Category if exists" via JDBC Statement at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:67) at org.hibernate.tool.schema.internal.SchemaDropperImpl.applySqlString(SchemaDropperImpl.java:375) at org.hibernate.tool.schema.internal.SchemaDropperImpl.applySqlStrings(SchemaDropperImpl.java:359) at org.hibernate.tool.schema.internal.SchemaDropperImpl.dropFromMetadata(SchemaDropperImpl.java:241) at org.hibernate.tool.schema.internal.SchemaDropperImpl.performDrop(SchemaDropperImpl.java:154) at org.hibernate.tool.schema.internal.SchemaDropperImpl.doDrop(SchemaDropperImpl.java:126) at org.hibernate.tool.schema.internal.SchemaDropperImpl.doDrop(SchemaDropperImpl.java:112) at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:144) at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:72) at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:310) at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:467) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:939) at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:56) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:79) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54) at jpabook.JpaMain.main(JpaMain.java:10) Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Cannot drop "CATEGORY" because "FKPIG62MG2IH4HQIRYCP0RFUBY3" depends on it; SQL statement: drop table Category if [90107-210] at org.h2.message.DbException.getJdbcSQLException(DbException.java:651) at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) at org.h2.message.DbException.get(DbException.java:227) at org.h2.command.ddl.DropTable.prepareDrop(DropTable.java:97) at org.h2.command.ddl.DropTable.update(DropTable.java:121) at org.h2.command.CommandContainer.update(CommandContainer.java:174) at org.h2.command.Command.executeUpdate(Command.java:252) at org.h2.server.TcpServerThread.process(TcpServerThread.java:408) at org.h2.server.TcpServerThread.run(TcpServerThread.java:191) at java.base/java.lang.Thread.run(Thread.java:834) at org.h2.message.DbException.getJdbcSQLException(DbException.java:651) at org.h2.engine.SessionRemote.readException(SessionRemote.java:637) at org.h2.engine.SessionRemote.done(SessionRemote.java:606) at org.h2.command.CommandRemote.executeUpdate(CommandRemote.java:227) at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:252) at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:223) at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:54) ... 15 more 2월 15, 2022 3:57:48 오후 org.hibernate.tool.schema.internal.ExceptionHandlerLoggedImpl handleException WARN: GenerationTarget encountered exception accepting command : Error executing DDL " drop table Delivery if exists" via JDBC Statement org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL " drop table Delivery if exists" via JDBC Statement at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:67) at org.hibernate.tool.schema.internal.SchemaDropperImpl.applySqlString(SchemaDropperImpl.java:375) at org.hibernate.tool.schema.internal.SchemaDropperImpl.applySqlStrings(SchemaDropperImpl.java:359) at org.hibernate.tool.schema.internal.SchemaDropperImpl.dropFromMetadata(SchemaDropperImpl.java:241) at org.hibernate.tool.schema.internal.SchemaDropperImpl.performDrop(SchemaDropperImpl.java:154) at org.hibernate.tool.schema.internal.SchemaDropperImpl.doDrop(SchemaDropperImpl.java:126) at org.hibernate.tool.schema.internal.SchemaDropperImpl.doDrop(SchemaDropperImpl.java:112) at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:144) at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:72) at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:310) at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:467) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:939) at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:56) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:79) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54) at jpabook.JpaMain.main(JpaMain.java:10) Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Cannot drop "DELIVERY" because "FKQP0F0WCL9U3NIQYKUYM5MW22I" depends on it; SQL statement: 중략... Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "MEMBER" already exists; SQL statement: create table Member ( member_id bigint not null, createdBy varchar(255), createdDateTime timestamp, lastModifiedBy varchar(255), lastModifiedDateTime timestamp, city varchar(255), street varchar(255), zipcode varchar(255), name varchar(255), [42101-210] at org.h2.message.DbException.getJdbcSQLException(DbException.java:521) at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) at org.h2.message.DbException.get(DbException.java:227) at org.h2.message.DbException.get(DbException.java:203) at org.h2.command.ddl.CreateTable.update(CreateTable.java:88) at org.h2.command.CommandContainer.update(CommandContainer.java:174) at org.h2.command.Command.executeUpdate(Command.java:252) at org.h2.server.TcpServerThread.process(TcpServerThread.java:408) at org.h2.server.TcpServerThread.run(TcpServerThread.java:191) at java.base/java.lang.Thread.run(Thread.java:834) at org.h2.message.DbException.getJdbcSQLException(DbException.java:521) at org.h2.engine.SessionRemote.readException(SessionRemote.java:637) at org.h2.engine.SessionRemote.done(SessionRemote.java:606) at org.h2.command.CommandRemote.executeUpdate(CommandRemote.java:227) at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:252) at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:223) at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:54) ... 15 more ====== 혹시 해결방법이 무엇인지... cascade를 추가로 붙이면 삭제가 되던데 그렇게 할 수는 없을까요??
-
미해결Vue.js 시작하기 - Age of Vue.js
개발자도구에서 Components는 보이는데 Events는 안보여요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. Components외에 다른 탭이 아무 것도 안보입니다. 아무래도 뷰 개발자 도구 버전이 업데이트 되어서 그런것 같은데 혹시 방법이 있을까요?
-
미해결코딩으로 학습하는 리팩토링
블로그에 공부한 내용 포스팅해도 괜찮을까요?
안녕하세요 선장님! 열공하기 위해서 이번 리팩토링 강의 구매하였습니다. 리팩토링 수업을 들으면서 해당 내용들 정리하여 제 개인블로그에 포스팅해도 괜찮을까요? 항상 좋은 강의 감사합니다 :)
-
미해결남박사의 파이썬 기초부터 실전 100% 활용
함수 마지막 부분
왜 코드 마지막 부분에 For 문을 써야하나요 ???그냥 print(result) 하면 안되나요 ? 크롤링 어렵네요 ㅜㅜ
-
미해결홍정모의 따라하며 배우는 C언어
12:37 strncpy() 함수 질문
char dest[100] = ""; char source[] = "Start programming!"; strncpy(dest, source, 5); 를 출력하였을 때 정상적으로 Start가 출력 된것은 이미 dest[]에 '\0'가 들어있어서 그런것이다 라고 하셨는데 덮어쓰기 되는 함수라 dest의 값이 '\0' 에서 Start로 덮어 씌워지면서 '\0'이 사라지고 문제가 발생해야하는 것 아닌가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
@modelattribute , setter관련 질문
혼자 개인 프로젝트를 진행하는데 궁금증이 생겨 질문드립니다. @modelattribute를 사용해서 바인딩하려면 dto에 setter가 구현이 되어있어야 하는걸로 알고있습니다. 그런데 혼자 프로젝트를 끄적이다가 한dto는 setter를 구현안했음에도 바인딩이 되길래 궁금증이 생겨 질문드려요! --------fundingDto를 입력받는 폼------------ <form class="validation-form" novalidate th:action th:object="${fundingDto}" method="post" enctype="multipart/form-data"> <div class="mb-3"> <label for="restaurantName">가게이름</label> <input type="text" class="form-control" id="restaurantName" placeholder="restaurantName" th:field="*{restaurantName}" th:errorclass="field-error" required> </div> <div class="mb-3"> <label for="menu">메뉴</label> <input type="text" class="form-control" id="menu" placeholder="menu" th:field="*{menu}" th:errorclass="field-error" required> </div> <div class="mb-3"> <label for="information">가게정보</label> <input type="text" class="form-control" id="information" placeholder="information" th:field="*{information}" th:errorclass="field-error" required> </div> <div class="mb-3"> <label for="introduction">가게소개</label> <input type="text" class="form-control" id="introduction" placeholder="introduction" th:field="*{introduction}" th:errorclass="field-error" required> </div> <div class="mb-3"> <label for="notice">가게 공지사항</label> <input type="text" class="form-control" id="notice" placeholder="notice" th:field="*{notice}" th:errorclass="field-error" required> </div> <div class="mb-3"> <label for="discountPrice">할인가격</label> <input type="text" class="form-control" id="discountPrice" placeholder="discountPrice" th:field="*{discountPrice}" th:errorclass="field-error" required> </div> <div class="mb-3"> <label for="price">가격</label> <input type="text" class="form-control" id="price" placeholder="price" th:field="*{price}" th:errorclass="field-error" required> </div> <div class="mb-3"> <label for="minFundingCount">최소펀딩수</label> <input type="text" class="form-control" id="minFundingCount" placeholder="minFundingCount" th:field="*{minFundingCount}" th:errorclass="field-error" required> </div> <div class="mb-3"> <label for="maxFundingCount">최대펀딩수</label> <input type="text" class="form-control" id="maxFundingCount" placeholder="maxFundingCount" th:field="*{maxFundingCount}" th:errorclass="field-error" required> </div> <div class="mb-3"> <label for="startDate">펀딩 시작 날짜</label> <input type="datetime-local" class="form-control" id="startDate" placeholder="startDate" th:field="*{startDate}" th:errorclass="field-error" required> </div> <div class="mb-3"> <label for="endDate">펀딩 종료 날짜</label> <input type="datetime-local" class="form-control" id="endDate" placeholder="endDate" th:field="*{endDate}" th:errorclass="field-error" required> </div> <div class="mb-3"> <label for="mainImage">메인 이미지</label> <input type="file" class="form-control" id="mainImage" placeholder="mainImage" multiple="multiple" th:field="*{mainImage}" th:errorclass="field-error" required> </div> <div class="mb-3"> <label for="imageFiles">이미지</label> <input type="file" class="form-control" id="imageFiles" placeholder="imageFiles" multiple="multiple" th:field="*{imageFiles}" th:errorclass="field-error" required> </div> <button class="btn btn-primary btn-lg btn-block" type="submit">펀딩 등록</button> </form> ------------------------------------------------------------------------- fundingDto @Getter @Builder @AllArgsConstructor public class FundingDto { private Long id; private String restaurantName; private String menu; private String information; private String introduction; private String notice; private Integer discountPrice; private Integer price; private Integer minFundingCount; private Integer maxFundingCount; private Integer nowFundingCount; private MultipartFile mainImage; private List<MultipartFile> imageFiles; private List<Image> imageList; @Enumerated(EnumType.STRING) private FundingStatus fundingStatus; @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm") private LocalDateTime startDate; @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm") private LocalDateTime endDate; public void setMainImage(MultipartFile mainImage) { this.mainImage = mainImage; } } 다른 dto는 @setter를 달아주지않으면 null이 바인딩 되는데 이 객체는 왜 바인딩이 성공하는지 잘 모르겠어요.. 그리고 한가지 더 질문이 있는데 @modelattribute 를 사용함에 있어 @Setter를 사용하지 않고는 사용이 불가능한가요? @Setter를 되도록 사용하지 않는게 좋다고 들어가지고 질문드립니다.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
drf의 업로드 업데이트 관련 여러가지 질문입니다
안녕하세요 강사님. 강사님 강의를 토대로 학습하며 개인적으로 진행하고있던 프로젝트에서 문제점이 발생하여 이렇게 질문드립니다. 현재 상황은 다음과 같은 모델이 존재하고, 리액트에서 formdata객체에 모든 데이터를 append해서 post요청을 통해 중첩된 시리얼라이저를 활용한 modelviewset에 create함수를 호출하는 형태로 코드를 작성했습니다. 1)최초에 portfolio 모델을 구성하고 관계를 설정할때, portfolioupload 모델은 유저가 동적으로 필드를 채워나가기 때문에 하나의 컬럼에 총 5가지 필드가 만들어지게 제작하게 되었습니다.(이미지, 텍스트, 비디오, 임베드, 그리드 등의 5가지 선택지가 있고 유저는 그중 한가지를 초이스 하여 필드를 채워나가는 형식/behance의 포트폴리오 업로드 형식을 벤치마킹하려고 노력했습니다) 그렇기 때문에 현재와 같은 portfolio 모델을 구성하게 되었는데, 보다 더 나은 방법이 있었을지 궁금합니다. 2)portfolio 모델과 같이 여러 가지 관계를 형성하고 있는 데이터를 불러와서 리액트에서 사용하려다 보니, 중첩된 시리얼라이저가 필수인것 같아 다음과 같은 시리얼라이저를 작성했습니다. 그러다 보니 query 수가 많아져서 요청이 길어지는 성능 이슈가 발생했습니다. 현재는 django auto prefetch라는 라이브러리를 통해 개선했지만, 저런 데이터구조를 불러올 때 더 좋은 방법이 있을지 궁금합니다. 3)create 함수를 구현할 때 중첩된 객체를 받아서 현재의 코드보다 조금 더 간결하게 구현해 보려고 했었습니다. 따라서 리액트에서 아래와 같은 함수를 통해 중첩된 object를 보내봤지만 drf에서 멀티미디어 콘텐츠를 읽어내지 못했습니다. 아마도 콘텐츠 타입이 aplication/json 때문일 거라 생각했기 때문에 parser를 바꿔보는 등 여러 가지 방법을 시도했고, 모든 게 다 실패해서 현재와 같이 formdata 객체에 모든 데이터를 append 해서 보내는 형태가 되었습니다. 이 과정에서 portfolio 모델에 post 요청을 보내는 데이터의 구조와 drf에서의 데이터 처리가 어떤 방향으로 가는 게 지금보다 더 좋은 생각이었는지, 혹은 중첩된 object를 drf에서 받아서 처리할 방법이 있는지 궁금합니다. function formData(formData, filesIgnore = []) { let data = new FormData(); let files = filesIgnore; Object.entries(formData).forEach(([key, value]) => { if (typeof value === 'object' && !files.includes(key)) { data.append(key, JSON.stringify(value) || null); } else if (files.includes(key)) { data.append(key, value[0] || null); } else { data.append(key, value || null); } }) return data; } 4) portfolio 모델에서의 update를 구현하려고 보니, react에서 기존 데이터를 보여주기 위해 portfolioserializer를 통해 데이터를 불러오고 유저가 진입한 upload url에 pk가 포함되었는지를 검사해서 미리 input 필드에 데이터를 채워주는 형태의 방법을 사용했습니다. 이런 상황에서 불려와진 image는 storage의 url 형태였고, 유저가 이미지의 순서 변경이나 삭제를 할 경우 추적할 방법이 없어서 데이터의 변경이 안되는 이슈가 발생했습니다. 위 상황에서 저는 get 요청을 할 때 멀티미디어 콘텐츠가 불려와져야 할까? / put 요청으로 보내는 serializer에 해당 정보가 담겨있어야 할까? 라는 고민을 했고 첫 번째 방법은 방법 자체를 찾을 수 없었고, 두번 째 경우는 해당 정보를 어떻게 담아서 어떻게 처리할지 감이 잡히질 않아서 질문을 드리게 되었습니다. 사실 접근 방법이 이게 맞는지조차 의문이 들기에 보통 이런 혼합 데이터의 게시물 수정을 어떻게 구현하시는지 궁금합니다. 5) 업로드 시에 가로 1920px 이상의 이미지들의 resize가 필요해서 찾아보니 백엔드에서 업로드 시에 실행하는 게 보편적이라는 답변을 받았는데, 업로드의 속도를 줄이려면 업로드할 이미지들의 미리 보기 기능에 사용된 image onload 함수에 포함하는 게 더 좋은 방법이 아닌가에대해 고민하게 되었습니다. 어떤 접근 방법이 더 나은 방향인지 궁금합니다. 6)해당 프로젝트는 강의에서 설명 해주신 azure를 통해 배포 / 테스트 중입니다. 포트폴리오 같은 데이터를 업로드할 때 아무래도 이미지, 비디오 등의 데이터량이 많기 때문에 간혹 업로드 용량이 상당해지는 경우가 생기게 되었습니다. 이와 같은 경우에 용량의 총합이 100mb가 넘어가게 되면 데이터 업로드가 안되는 현상이 발생했고, 로컬에서는 정상작동하기에 아마도 서버의 문제일 것 이라고 예상하게 되었는데, 서버가 작아서 발생하는 문제인 건지 아니면 어떤 다른 문제점 혹은 제한을 풀 수 있는 명령어가 존재하는지 궁금합니다. 강사님 강의를 토대로 약 9개월 정도 혼자서 진행한 프로젝트입니다. 상당히 많은 시행착오가 있었고 그때마다 구글링과 강의 다시 보기를 통해 해결해왔었는데, 혼자서 적지 않은 기간을 하다 보니 어떠한 코드 작성에 있어서 구현이 되고안되고 보다는 접근 방법이나 이게 정말 맞는지? 라는 문제가 여러가지 발생했습니다. 그런 부분들이 혼자서는 해결되지 않아 이렇게 질문드립니다. 만약 설명이 부족하거나 질문들에 이해가 안 되시는 점 있으시면 바로바로 추가하겠습니다.
-
미해결블록체인3.0 NFT GAME
미국 블록체인 게임
규제 동향에 대해 궁금한데요. 1. 우리나라는 블록체인기반 게임 제작이 사실상 힘든 것으로 설명을 주셨고 그렇다면 미국에서는 자유롭게 만들수 있나요?
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌2)
코딩문의
강사님, 유익하게 수업 잘 듣고있습니다! 다른게 아니라 코딩을 할 때 헤더 부분이나 본문에 들어가는 텍스트들을 사용자가 설정하여 바꾸어 설정하도록 만드는 페이지를 짜야하는데 이럴때는 어떤 코드를 이용하여 짜야할지 모르겠어서요 form태그는 아닌것같고 헤더부분은 li로 묶어서 그냥 p태그로 넣어놓으면 개발할때 변경가능하게 되는건지,,, 문의드립니다!