묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
LockGuard하는 부분에서 예외가 발생하는 에러가납니다..
ㅇㅇㅇㅇㅇㅇㅇㅇㅇ 분명히 똑같은 코드인데 Launch 함수내의 락가드 잡는 부분에서 예외가 발생하네요... 후....뭐가 문제인가요 빌드는 되는데 아무것도 출력이 안되는 상태라 이상해서 디버깅해보니 이렇습니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
static에 관해서 질문이 있습니다.
강의를 보면서 C#에 대한 이해를 최대한 하면서 공부를 하고있는데요. 마이크로소프트 공식 문서와 기타 책들도 참고하면서 하고 있는데 static 한정자가 유니티에서 쓰일 때 좀 다른점이 있는 것 같아서 질문드립니다. 이것저것 테스트해보았는데도 의문점이 풀리지 않는 부분들이 있어서요.. 첫번째 질문은 - Part1,2에서 진행했던 콘솔앱같은경우, 다른 클래스에서 static한정자를 사용해서 필드변수등을 만들었을 때, 그냥 program의 Main에서 타클래스에서 선언한 static 필드변수를 new 키워드도 사용하지 않고 그대로 가져다가 사용할 수 있었습니다. 실제로 결과는 0, 100이 찍힌걸로 보아 new Class1을 하지 않았음에도 분명 어딘가에 메모리상에 Class1 클래스가 만들어져서 존재하고 myValue라는 값도 존재한다는 의미로 받아들였는데 일단 이부분의 이해가 맞는지 궁금합니다. 두번째로 - 위와 같은 방법으로 유니티에서도 실험을 해보았는데, 일단 디버그 안에서 TestManager.Instance로 바로 접근이 가능했지만, a의 값을 가져오는거에는 실패를 한게 어째서인지 모르겠고 그다음에 위에 Instance.a가 널래퍼런스 오류라서 TestManager를 새로 만든 뒤에 tm에서 a를 가져왔지만 그값이 100이 아닌 0인 이유도 모르겠습니다. (왜 TestManager의 Start안에서 초기화하는 부분이 실행이 안됐는지) a 자체를 static으로 하지 않아서 그런가 싶어서 int a에도 static을 붙여보았는데 그렇게하면 TestManaget.Instance.a가 아닌 TestManager.a로 바로 접근이 가능했습니다만, 싱글톤 패턴을 사용하는 방법에선 Instance를 사용해서 접근하는게 목적인 것 같아서 의미가 없는게 아닌가요? 세번째로 강의를 보면 Init()함수에서 Instance가 null이라면 찾아서 넣어주는 작업을 하는데, 애초에 new키워드를 쓰지 않고도 이미 Managers.Instance에 접근이 가능하다는 것 자체가 이미 Managers라는 어딘가에 존재하는 클래스를 가져왔다고 생각되는데, 왜 Instance = 자기자신으로 바로 가져오지 못하고 null상태로 존재할 수 있는지가 궁금합니다. 메모리상에 존재하지 않는다면 애초에 Managers.Instance에 접근자체를 할 수 없던가, 그렇지않다면 Instance를 찾은시점에 Instance타입자체가 Managers이므로 자기자신을 선택할 수 있어야하는게 아닌가요? 마지막으로 static키워드 자체가 유일성을 보장받는다는게 핵심이고, 그것덕분에 그냥 Managers.~~~방식으로 접근할 수 있다는부분에서, 결국 Managers 스크립트가 컴포넌트의 형태로 씬 어딘가에 존재해야만 가져다가 쓸 수 있다면 반대로 Managers 스크립트가 붙은 오브젝트가 하나가 아닌 여러개 존재할 때, Managers안의 Instance의 유일성은 보장받지 않는게 아닌가요? 만약 Managers를 가지고있는 복수의 게임오브젝트가 존재할 경우, Managers.Instance로 뭔가에 접근한다면 어떤 게임오브젝트의 Managers에 접근하는건가요? 그리고 Managers 자체가 복수로 존재하는거 자체가 가능한게 잘못 된 것 같은데 정작 Managers를 가진 게임오브젝트를 복제하고 실행해봐도 아무 문제가 없어보여서 질문드립니다. 혼자 공부하느라 최대한 이것저것 다 찾아보고 하면서 공부하고 있는데 static과 싱글톤 개념이 약간 이해가 어려워서 염치불구하고 질문드립니다...ㅜㅜ
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
에러(o.s.b.d.LoggingFailureAnalysisReporter)
안녕하세요! 질문이 있어 글을 씁니다! 처음에 run을 할때 이런 에러가 뜹니다! 다른 부분은 에러가 안뜨는데요!ㅠㅠㅠ 검색해보면 해결방법 : resources의 application.properties에 다음 문장 추가 spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration 를 하라고 떠서 그렇게 해도 뜨네요!ㅠㅠㅠㅠ 어떻게 하면 될까요?ㅠㅠ
-
미해결
스프링부트 로그 설정에러 관련 조언 부탁드립니다 ㅠ
안녕하세요!. 아래와 같이 로그(1. logback-spring.xml)를 설정해서 이용하고 있습니다. 기존에 잘 돌아가서, 다른 프로젝트에서도 그대로 카피해서 사용을 하고 있는데요. 유독 특정 프로젝트에서 해당 로그설정 파일을 이용할경우, 아래 첨부한 콘솔 내용(2.콘솔)만 출력되고 로깅이 안됩니다... 구글링을해도 답이 나오지않아 혹시 아시는 분 있을까 하여 글을 남겨봅니다 ㅠ 1. logback-spring.xml <?xml version="1.0" encoding="UTF-8"?><configuration> <property name="LOGS_ABSOLUTE_PATH" value="./logs" /> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.classic.PatternLayout"> <Pattern>[%d{yyyy-MM-dd HH:mm:ss}:%-3relative][%thread] %-5level %logger{32} - %msg%n</Pattern> </layout> </appender> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${LOGS_ABSOLUTE_PATH}/logback.log</file> <encoder> <pattern>[%d{yyyy-MM-dd HH:mm:ss}:%-3relative][%thread] %-5level %logger{32} - %msg%n</pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${LOGS_ABSOLUTE_PATH}/logback.%d{yyyy-MM-dd}.%i.log</fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>10MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <maxHistory>30</maxHistory> </rollingPolicy> </appender> <!-- <root level="INFO" additivity="false">--> <root level="INFO"> <appender-ref ref="STDOUT" /> <appender-ref ref="FILE" /> </root> <!-- <logger name="com.base.demo" level="ERROR">--> <!-- <appender-ref ref="STDOUT" />--> <!-- <appender-ref ref="FILE" />--> <!-- </logger>--></configuration> 2. console {spring.resources.cache.period=0, spring.resources.chain.cache=false} 2021-06-22 18:23:04,559 restartedMain ERROR Error processing element appender ([configuration: null]): CLASS_NOT_FOUND 2021-06-22 18:23:04,574 restartedMain ERROR Unknown object "property" of type org.apache.logging.log4j.core.config.Property is ignored: try nesting it inside one of: ["Appenders", "Loggers", "Properties", "Scripts", "CustomLevels"]. 2021-06-22 18:23:04,577 restartedMain ERROR Unknown object "root" of type org.apache.logging.log4j.core.config.LoggerConfig is ignored: try nesting it inside one of: ["Appenders", "Loggers", "Properties", "Scripts", "CustomLevels"]. . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.4.0)
-
미해결Git과 GitHub 시작하기
push 오류에 대해 문의 드립니다.
오늘 처음 깃허브 push 를 해보는데, 이상하게 push 버튼만 누르면 에러 메세지가 뜨는 것도 아닌데, 그냥 계속 빙글빙글 돌기만 합니다.수 분을 그렇게 돌기만해서 취소하고, local (git bash) 방법을 찾아서 해보는데 거기에서도 git push origin master 라고 치면 더이상 화면 변경없이 그냥 그대로 있습니다.오류 메세지가 떠야 뭐가 잘못인지 확인이라도 할텐데, 아무것도 뜨지 않아서 어디서 잘못된건지도 알수가 없네요. 강사님의 소스트리 화면과 비교해보자면, 강사님의 push 대상은 master 로 뜨는데, 저는 main 으로 뜹니다. 그게 달라요. 그걸 master로 바꾸고 싶어도 바꿔지지 않고요. 어떻게 하면 좋을지 조언 부탁 드립니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Interface와 Abstract class 의 차이점
안녕하세요, 강의 잘 듣고 있습니다. 강의에서 이끌어 주시는대로 따라가다가 생각을 해봤습니다. - ControllerV1 은 추상적 형태이고, MemberFormControllerV1. MemberSaveControllerV1, MemberListControllerV1 는 구체적 형태이다. - 추상적 형태를 나타내는 방법에는 Interface와 Abstract class 가 존재한다. 아래와 같은 의문이 들었습니다. - 현재 상황에서 Abstract class 를 사용하지 않고 Interface 를 사용한 이유가 뭔가요? - 만약 Interface 를 사용한 특별한 이유가 있다면, 어떤 상황에서 Abstract class 또는 Interface 를 선택하는게 옳을까, 판단하는 근거를 간략하게나마 말씀해주시면 감사하겠습니다. 좋은 하루 되세요 !
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃헙 404 에러
삭제된 글입니다
-
미해결
우아하게 앤서블 질문입니다!
엔서블 환경 구축하고 known_hosts에 키파일 확인도 했는데 ymal 파일을 ping을 한 다음에만 동작하고 또 시간 지나면 yaml 파일이 실행이 안 됩니다... 혹시 방법 없을까요??
-
해결됨코딩은 실전이다! - Git알못을 위한 깃린이코스(Git, Github 실습위주)
슬랙 초대해주세요
hjin9445@gmail.com 부탁드립니다!
-
미해결예제로 배우는 스프링부트 입문
안녕하세요 질문입니다.
그대로 따라해도 /test1, /test2 가면 화이트라벨 에러 뜨는데 이유를 모르겠습니다. ``` plugins { id 'org.springframework.boot' version '2.5.1' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' id 'war' } group = 'com.study' version = '0.0.1-SNAPSHOT' sourceCompatibility = '1.8' repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' testImplementation 'org.springframework.boot:spring-boot-starter-test' implementation 'javax.servlet:jstl' implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' } test { useJUnitPlatform() } ``` ------- <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <% out.println("Hello World"); %> </body> </html> -------- <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <% out.println("Hello World (sub)"); %> </body> </html> ---------- package com.study.springboot; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class MyController { @RequestMapping("/") public @ResponseBody String root() throws Exception{ return "JSP in Gradle"; } @RequestMapping("/test1") // localhost:8081/test1 public String test1() { return "test1"; // 실제 호출 될 /WEB-INF/views/test1.jsp } @RequestMapping("/test2") // localhost:8081/test2 public String test2() { return "sub/test2"; // 실제 호출 될 /WEB-INF/views/sub/test2.jsp } } ----------- server.port=8081 # JSP 설정 spring.mvc.view.prefix=/WEB-INF/views/ spring.mvc.view.suffix=.jsp
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
UNION 해커랭크 문제풀이 6분30초 부분
안녕하세요,강의 정말 잘 듣고 있습니다. 질문드릴 부분은 GROUP BY를 두번 해주는 개념이 머릿속에 잘 잡히지 않아서요GROUP BY를 두번 해줫다는건, X에 먼저 GROUP BY를 한 상태에서 Y에도 GROUP BY를 걸어주는 종속적인? 개념인가요? 아니면 X에 한번 GROUP BY를 걸어주고, Y에도 한번 걸어주는 그런 느낌인가요?그리고 거기에 COUNT(*)해준것은 정확히 무엇을 카운팅 해주는 건가요?
-
미해결CSS Flex와 Grid 제대로 익히기
안녕하세요 footer 관련 질문 드립니다 !
footer에서 width 가 줄어들어서 width:100%채워주셨는데 왜 줄어든걸까여 ? 줄어든 이유를 모르겠습니다 그럼 그 전에는 안 줄어든건가요 ?! 윗 컨텐츠 영역에서는 20% 60% 20% 이렇게 총 100%가 채워졌을텐데 footer 부분에서도 따로 width 값을 명시해줘야한다는 말씀이신건가요 ? 만약 이 말이 맞다면 그 전에는 왜 정상 작동됐는지 궁금합니다 !
-
미해결Slack 클론 코딩[실시간 채팅 with React]
setting/ts폴더 복붙해도 에러가 납니다
양질의 강의 정말 잘 보고 있습니다 하지만 에러로 진행을 하지 못하고 있습니다 첫 강의부터 코드를 따라서 타이핑한 결과 > sleact-ts-front@1.0.0 build > cross-env TS_NODE_PROJECT=\"tsconfig-for-webpack-config.json\" NODE_ENV=production webpack [webpack-cli] Unable load 'C:\Users\nogo0\#code\LearnSlackClone\front\webpack.config.ts' [webpack-cli] Unable to use specified module loaders for ".ts". [webpack-cli] ⨯ Unable to compile TypeScript: error TS5083: Cannot read file 'C:\tsconfig-for-webpack-config.json'. [webpack-cli] Cannot find module 'typescript-node/register' from 'C:\Users\nogo0\#code\LearnSlackClone\front' [webpack-cli] Cannot find module 'typescript-register' from 'C:\Users\nogo0\#code\LearnSlackClone\front' [webpack-cli] Cannot find module 'typescript-require' from 'C:\Users\nogo0\#code\LearnSlackClone\front' [webpack-cli] Cannot find module 'sucrase/register/ts' from 'C:\Users\nogo0\#code\LearnSlackClone\front' [webpack-cli] Cannot find module '@babel/register' from 'C:\Users\nogo0\#code\LearnSlackClone\front' [webpack-cli] Please install one of them npm ERR! code 2 npm ERR! path C:\Users\nogo0\#code\LearnSlackClone\front npm ERR! command failed npm ERR! command C:\Windows\system32\cmd.exe /d /s /c cross-env TS_NODE_PROJECT=\tsconfig-for-webpack-config.json\ NODE_ENV=production webpack npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\nogo0\AppData\Local\npm-cache\_logs\2021-06-22T08_10_13_340Z-debug.log C:\Users\nogo0\#code\LearnSlackClone\front>npm run build > front@1.0.0 build > cross-env TS_NODE_PROJECT="tsconfig-for-webpack-config.json" webpack asset app.js 4.13 KiB [emitted] (name: app) ../../../#code/LearnSlackClone/front/client.tsx 39 bytes [not cacheable] [built] [code generated] [1 error] ERROR in ../../../#code/LearnSlackClone/front/client.tsx Module build failed (from ../../../#code/LearnSlackClone/front/node_modules/babel-loader/lib/index.js): Error: Cannot find module 'C:\Users\nogo0\#code\LearnSlackClone\front\node_modules\babel-loader\lib\index.js' Require stack: - C:\Users\nogo0\#code\LearnSlackClone\front\node_modules\loader-runner\lib\loadLoader.js - C:\Users\nogo0\#code\LearnSlackClone\front\node_modules\loader-runner\lib\LoaderRunner.js - C:\Users\nogo0\#code\LearnSlackClone\front\node_modules\webpack\lib\NormalModule.js - C:\Users\nogo0\#code\LearnSlackClone\front\node_modules\webpack\lib\NormalModuleFactory.js - C:\Users\nogo0\#code\LearnSlackClone\front\node_modules\webpack\lib\Compiler.js - C:\Users\nogo0\#code\LearnSlackClone\front\node_modules\webpack\lib\webpack.js - C:\Users\nogo0\#code\LearnSlackClone\front\node_modules\webpack\lib\index.js - C:\Users\nogo0\#code\LearnSlackClone\front\node_modules\webpack-cli\lib\webpack-cli.js - C:\Users\nogo0\#code\LearnSlackClone\front\node_modules\webpack-cli\lib\bootstrap.js - C:\Users\nogo0\#code\LearnSlackClone\front\node_modules\webpack-cli\bin\cli.js - C:\Users\nogo0\#code\LearnSlackClone\front\node_modules\webpack\bin\webpack.js at Function.Module._resolveFilename (node:internal/modules/cjs/loader:925:15) at Function.Module._load (node:internal/modules/cjs/loader:769:27) at Module.require (node:internal/modules/cjs/loader:997:19) at require (C:\Users\nogo0\#code\LearnSlackClone\front\node_modules\v8-compile-cache\v8-compile-cache.js:159:20) at loadLoader (C:\Users\nogo0\#code\LearnSlackClone\front\node_modules\loader-runner\lib\loadLoader.js:19:17) at iteratePitchingLoaders (C:\Users\nogo0\#code\LearnSlackClone\front\node_modules\loader-runner\lib\LoaderRunner.js:182:2) at runLoaders (C:\Users\nogo0\#code\LearnSlackClone\front\node_modules\loader-runner\lib\LoaderRunner.js:397:2) at NormalModule.doBuild (C:\Users\nogo0\#code\LearnSlackClone\front\node_modules\webpack\lib\NormalModule.js:646:3) at NormalModule.build (C:\Users\nogo0\#code\LearnSlackClone\front\node_modules\webpack\lib\NormalModule.js:791:15) at C:\Users\nogo0\#code\LearnSlackClone\front\node_modules\webpack\lib\Compilation.js:1242:12 front (webpack 5.24.2) compiled with 1 error in 67 ms npm ERR! code 1 npm ERR! path C:\Users\nogo0\#code\LearnSlackClone\front npm ERR! command failed npm ERR! command C:\Windows\system32\cmd.exe /d /s /c cross-env TS_NODE_PROJECT=tsconfig-for-webpack-config.json webpack npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\nogo0\AppData\Local\npm-cache\_logs\2021-06-22T08_11_20_386Z-debug.log ------------------------------------------------------- 위와 같은 에러가 발생하였고 갈피를 잡을수없어서 제로초님 깃허브를 참고하여 setting/ts폴더를 통쨰로 복붙하고 기존에 있던 node_modules, package-lcok.json을 삭제하고 npm i로 모두 재설치 했습니다 그럼에도 불구하고 아래같은 에러가 뜨는데 혹시 제가 빠뜨린 부분이 있을까요?
-
미해결자바 스프링부트 활용 웹개발 실무용
eclipse.ini파일이 없어요.. 그리고 저는 MariaDB안에...HeidiSQL이 있는데..
제목 그대로에요.. eclipse.ini파일 설정 바꾸는 데서부터 못하고 있고, MariaDB인데.. 전 HeidiSQL로 깔려있는데, 사용할수 있을까요? 도와주세요!
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
웹에서 product card를 눌렀을때 모두 똑같은 화면으로 나옵니다
농구공, 축구공,키보드 누르면 모두 이렇게 똑같이 뜹니다. 이 화면은 id =2로 넣은 축구공을 눌렀을 떄의 화면입니다. 코드를 봤을때는 서버는 1일때만 요청했으니 축구공과 키보드를 누러면 안돼는데 다 똑같이 뜨네요 뭐가 오류일까요
-
미해결빠르게 git - 핵심만 골라 배우는 Git/Github
git push -u origin main 관련 문의드립니다.
처리 시간 문제라고 하기에는 몇시간이 지나도 오류 메시지나 성공 메시지가 뜨지 않습니다. bash 창을 종료하려고 하면 아래와 같은 창이 뜹니다. 용량 문제일까 싶어 노트북 초기화 + 인터넷 랜선 연결을 했는데도 문제가 해결되지 않습니다. 이런 경우 어떻게 해결해야할까요?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
안녕하세요 강의 잘 듣고 있습니다 다름이 아니라 안 되는게 있어서 질문을 드립니다.
Request URL: http://localhost:8080/products Request Method: POST Status Code: 200 OK Remote Address: [::1]:8080 Referrer Policy: strict-origin-when-cross-origin Response HeadersView source Access-Control-Allow-Origin: * Connection: keep-alive Content-Length: 50 Content-Type: text/html; charset=utf-8 Date: Tue, 22 Jun 2021 07:41:03 GMT ETag: W/"32-M3FXDluQXEAVLv+t1yb0yasB290" Keep-Alive: timeout=5 X-Powered-By: Express Request HeadersView source Accept: application/json, text/plain, */* Accept-Encoding: gzip, deflate, br Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7 Connection: keep-alive Content-Length: 146 Content-Type: application/json;charset=UTF-8 Host: localhost:8080 Origin: http://localhost:3000 Referer: http://localhost:3000/ sec-ch-ua: " Not;A Brand";v="99", "Google Chrome";v="91", "Chromium";v="91" sec-ch-ua-mobile: ?0 Sec-Fetch-Dest: empty Sec-Fetch-Mode: cors Sec-Fetch-Site: same-site User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36 Request Payloadview source {name: "키보드", description: "그랩이 사용하던 키보드입니다", seller: "그랩", price: 50000,…} description: "그랩이 사용하던 키보드입니다" imageUrl: "uploads\\keyboard1.jpg" name: "키보드" price: 50000 seller: "그랩" 정상적으로 나오는거 같은데 정작 프리뷰에 가면 아래와 같이 오류가 뜹니다. 상품 업로드 중에 문제가 생겼습니다. import {Form, Divider, Input, InputNumber, Button, Upload} from 'antd'; import axios from 'axios'; import { useState } from 'react'; import { API_URL } from '../config/constants'; import './index.css' function UploadPage() { const [imageUrl, setImageUrl] = useState(null); const onSubmit = (values) => { axios.post(`${API_URL}/products`, { name: values.name, description: values.description, seller: values.seller, price: parseInt(values.price), imageUrl: imageUrl, }) .then((result) => { console.log(result); }); }; const onChangeImage = (info) =>{ if(info.file.status === 'uploading') { return; } if(info.file.status === 'done') { const response = info.file.response; const imageUrl = response.imageUrl; setImageUrl(imageUrl); } } return ( <div id = "upload-container"> <Form name = "상품 업로드" onFinish={onSubmit}> <Form.Item name="upload"label={<div className="upload-label">상품 사진</div>}> <Upload name = "image" action={`${API_URL}/image`} listType="picture" showUploadList= {false} onChange={onChangeImage} > { imageUrl ?( <img id="upload-img" src={`${API_URL}/${imageUrl}`} alt="image" /> ): ( <div id="upload-img-placeholder"> <img src="/images/icons/camera.png" alt="이미지" /> <span>이미지를 업로드해 주세요.</span> </div> )} </Upload> </Form.Item> <Divider /> <Form.Item label={<div className="upload-label" >판매자 명</div> } name = "seller" rules={[{required:true, message:"판매자 이름을 입력해 주세요."}]} > <Input className="upload-name" size = "large" placeholder="이름을 입력하세요" /> </Form.Item> <Divider/> <Form.Item name="name" label={<div className="upload-label">상품 이름</div>} rules={[{required:true, message:"상품 이름을 입력해 주세요."}]} > <input className="upload-name" size="large" placeholder="상품 이름을 입력해주세요." /> </Form.Item> <Divider/> <Form.Item name="price" label={<div className="upload-label">상품 가격</div>} rules={[{required:true,message:"상품 가격을 입력해 주세요"}]} > <InputNumber defaultValue={0} className="upload-price" size="large" /> </Form.Item> <Divider/> <Form.Item name="description" label={<div className="upload-label">상품 소개</div>} rules={[{required:true,message:"상품 소개를 입력해 주세요."}]} > <Input.TextArea size="large" id="product-description" showCount maxLength={300} placeholder="상품 소개를 적어주세요." /> </Form.Item> <Form.Item> {/* htmlType은 꼭 설정을 해줘야 한다. */} <Button id = "submit-button" size="large" htmlType = "submit" > 문제 등록하기. </Button> </Form.Item> </Form> </div> ) } export default UploadPage; 코드 입니다시작 할 때 config라는 폴더가 없어서 따로 만들고 한거 외엔 다 똑같이 했다고 생각을 했는데 이렇게 오류가 나오네요..
-
미해결실전 리액트 프로그래밍
action에서 배열 state를 불러올 수 있는 방법이 있을까요?
안녕하세요. createReducer 사용해서 구현하던 중 문제가 발생하여 문의 드립니다. state에 배열을 넣은 뒤, action에서 필요한 일이 있어 불러오려고 했더니 값이 없다고 뜨더라구요. 예를 들어서 const INITIAL_STATE = { test: [1, 2, 3] } ... [Types.SetTest]: (state, action) => { console.log(state.test) } 이런 식으로 했는데 로그에 [Proxy, Proxy, Proxy, Proxy] 이렇게 뜨고 값을 가져올 수가 없었습니다. 혹시 어떻게 해야 state 값을 가져올 수 있을까요?
-
미해결iOS 개발을 위한 swift5 완벽 가이드
if랑 옵셔널 사용했는데 뭐가 잘못된걸까요? 똑같이 인덱스 범위 벗어난다고하네요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. let m = Matrix() m[0,0] // m[0,10] struct Matrix2 { var data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] subscript(row: Int, col: Int) -> Int? { if row < data.count && col < data[0].count { // 행의개수, 열의개수 미만 3이면 0~2까지 return data[row][col] } else { return nil } } // 읽기전용 서브스크립트, get {}생략 됨 } let test = Matrix() m[0,4]
-
해결됨프론트엔드 개발환경의 이해와 실습 (webpack, babel, eslint..)
DefinePlugin
DefinePlugin의 경우환경 의존적인 정보를 (ex-환경에따라 API주소가 다르다거나) 소스가 아닌곳에서 관리하기 위함이라고 하셨는데, new webpack.DefinePlugin({ VERSION: JSON.stringify("v.1.2.3"), PRODUCTION: JSON.stringify(false), MAX_COUNT: JSON.stringify(999), "api.domain": JSON.stringify("http://dev.api.domain.com"), // }) 그렇다면 api.domain : JSON.stringify("http://dev.api.domain.com"), 이부분을 api.domain : process.env.NODE_ENV == 'production' ? JSON.stringify("http://pro.api.domain.com") : JSON.stringify("http://dev.api.domain.com") 이런식으로 사용가능해야 배포할때마다 코드수정 줄일수 있지않나요? (어떤식으로 효율이 날수있게 사용하는지 잘모르겠달까요..) 그리고 webpack config 같은경우는 git에 올라가서 공개될지 모르는데 .env로 관리하는게 보안적으로 더 안전하지 않나요?