묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨개발 입문을 위한 실무자가 알려주는 Spring Boot
Constants 가 맞을거 같습니다.
상수들을 모아 놓은 클래스이므로 Constants 가 맞는 이름일 거 같습니다.
-
미해결비트코인 선물거래 자동매매 시스템(저자직강)
선생님 크롤링 관련하여 문의드립니다!
선생님, requests.get 하여 크롤링을 하려 하는데 403 error가 계속 뜹니다. headers 부분을 추가하여 했는데도 계속 오류가 뜨는데 혹시 무엇이 문제일까요? API로 받아와야하나요 이젠?
-
해결됨[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
오리엔테이션
선생님4:20 에서 나오는 빨간 버튼?이 안 나와서 타이핑으로 진행했는데 나오게 하는 방법이 있나요???
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
15강 rest 인증 성공 핸들러 관련 문의
안녕하세요. 선생님 학습중에 에러가 발생하여 문의드립니다. 인증 성공 핸들러에 onAuthenticationSuccess 메소드로 넘어 오는데 authentication.getPrincipal() 의 타입이 java.util.ImmutableCollections$List12 로 와서 AccountDto로 cast가 안되는 에러가 발생하는데 원인을 모르겠습니다. ㅠㅠ 에러 내용java.lang.ClassCastException: class java.util.ImmutableCollections$List12cannot be cast to classcom.test.security.domain.dto.AccountDto (java.util.ImmutableCollections$List12 is in module java.base of loader 'bootstrap'; com.test.security.domain.dto.AccountDto is in unnamed module of loader 'app') 에러 발생한 부분AccountDto accountDto = (AccountDto) authentication.getPrincipal();
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
로드맵에대한 질문입니다.
안녕하세요 본강의의 로드맵에관해서 질문있습니try catch에 관해서 좀 더 공부해보고싶은데현재 로드맵과 수강내용을 확인해보았는try / catch 구문에 대한 내용을 다루고있는 섹션은 없는것으로 보입니다.강의 과정에 해당부분도 어느정도 다루는지 궁굼합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
7:40에서 언급하신 색상이 날아가는 문제 이해를 못하겠습니다
ConsoleColor prevColor = Console.ForegroundColor; Console.ForegroundColor = prevColor; 언급하신대로 색상이 날라가는 문제를 해결하기 위해 이 두 줄을 추가하는 이유를 이해 못했습니다
-
해결됨김영한의 실전 자바 - 중급 2편
Comparator질문입니다
public class SortMain2 { public static void main(String[] args) { Integer[] arr = {3,2,1}; System.out.println(Arrays.toString(arr)); System.out.println("Comparator 비교"); Arrays.sort(arr,new AscComparator()); System.out.println("AscComparator:"+Arrays.toString(arr)); } } public class AscComparator implements Comparator<Integer> { @Override public int compare(Integer o1, Integer o2) { if(o1 > o2){ return 1; } else if (o1 == o2) { return 0; }else return -1; } }SortMain2함수에서 Arrays.sort(arr,new AscComparator()); 부분에서 new AscComapator()로 객체만 생성했는데 어떻게 compare함수까지 호출되서 비교를 할수있는거죠?이해가안갑니다...함수 호출을안해는데..
-
미해결
이런 오류가 나는데 어떻게 해결해야 하나요?
오후 9:50:54: 실행 중 ':ServletApplication.main()'... :: Spring Boot :: (v3.3.3)2024-08-29T21:50:57.956+09:00 INFO 7124 --- [servlet] [ main] hello.servlet.ServletApplication : Starting ServletApplication using Java 17.0.11 with PID 7124 (C:\Spring_Study\servlet\build\classes\java\main started by choi in C:\Spring_Study\servlet)2024-08-29T21:50:57.963+09:00 INFO 7124 --- [servlet] [ main] hello.servlet.ServletApplication : No active profile set, falling back to 1 default profile: "default"2024-08-29T21:50:59.965+09:00 INFO 7124 --- [servlet] [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http)2024-08-29T21:50:59.995+09:00 INFO 7124 --- [servlet] [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]2024-08-29T21:50:59.995+09:00 INFO 7124 --- [servlet] [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.28]2024-08-29T21:51:00.132+09:00 INFO 7124 --- [servlet] [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext2024-08-29T21:51:00.134+09:00 INFO 7124 --- [servlet] [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2057 ms2024-08-29T21:51:00.201+09:00 ERROR 7124 --- [servlet] [ main] o.s.b.web.embedded.tomcat.TomcatStarter : Error starting Tomcat context. Exception: java.lang.IllegalArgumentException. Message: Invalid <url-pattern> [response-json] in servlet mapping2024-08-29T21:51:00.274+09:00 INFO 7124 --- [servlet] [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat]2024-08-29T21:51:00.288+09:00 WARN 7124 --- [servlet] [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start web server2024-08-29T21:51:00.305+09:00 INFO 7124 --- [servlet] [ main] .s.b.a.l.ConditionEvaluationReportLogger : Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.2024-08-29T21:51:00.345+09:00 ERROR 7124 --- [servlet] [ main] o.s.boot.SpringApplication : Application run failedorg.springframework.context.ApplicationContextException: Unable to start web server at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:165) ~[spring-boot-3.3.3.jar:3.3.3] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:619) ~[spring-context-6.1.12.jar:6.1.12] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.3.3.jar:3.3.3] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[spring-boot-3.3.3.jar:3.3.3] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) ~[spring-boot-3.3.3.jar:3.3.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:335) ~[spring-boot-3.3.3.jar:3.3.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1363) ~[spring-boot-3.3.3.jar:3.3.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1352) ~[spring-boot-3.3.3.jar:3.3.3] at hello.servlet.ServletApplication.main(ServletApplication.java:12) ~[main/:na]Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:147) ~[spring-boot-3.3.3.jar:3.3.3] at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:107) ~[spring-boot-3.3.3.jar:3.3.3] at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:516) ~[spring-boot-3.3.3.jar:3.3.3] at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:222) ~[spring-boot-3.3.3.jar:3.3.3] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:188) ~[spring-boot-3.3.3.jar:3.3.3] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:162) ~[spring-boot-3.3.3.jar:3.3.3] ... 8 common frames omittedCaused by: java.lang.IllegalArgumentException: Invalid <url-pattern> [response-json] in servlet mapping at org.apache.catalina.core.StandardContext.addServletMappingDecoded(StandardContext.java:2840) ~[tomcat-embed-core-10.1.28.jar:10.1.28] at org.apache.catalina.Context.addServletMappingDecoded(Context.java:882) ~[tomcat-embed-core-10.1.28.jar:10.1.28] at org.apache.catalina.core.ApplicationServletRegistration.addMapping(ApplicationServletRegistration.java:188) ~[tomcat-embed-core-10.1.28.jar:10.1.28] at org.springframework.boot.web.servlet.ServletRegistrationBean.configure(ServletRegistrationBean.java:194) ~[spring-boot-3.3.3.jar:3.3.3] at org.springframework.boot.web.servlet.ServletRegistrationBean.configure(ServletRegistrationBean.java:51) ~[spring-boot-3.3.3.jar:3.3.3] at org.springframework.boot.web.servlet.DynamicRegistrationBean.register(DynamicRegistrationBean.java:124) ~[spring-boot-3.3.3.jar:3.3.3] at org.springframework.boot.web.servlet.RegistrationBean.onStartup(RegistrationBean.java:52) ~[spring-boot-3.3.3.jar:3.3.3] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:241) ~[spring-boot-3.3.3.jar:3.3.3] at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:52) ~[spring-boot-3.3.3.jar:3.3.3] at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4414) ~[tomcat-embed-core-10.1.28.jar:10.1.28] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) ~[tomcat-embed-core-10.1.28.jar:10.1.28] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1203) ~[tomcat-embed-core-10.1.28.jar:10.1.28] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1193) ~[tomcat-embed-core-10.1.28.jar:10.1.28] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na] at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) ~[tomcat-embed-core-10.1.28.jar:10.1.28] at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) ~[na:na] at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:749) ~[tomcat-embed-core-10.1.28.jar:10.1.28] at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:772) ~[tomcat-embed-core-10.1.28.jar:10.1.28] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) ~[tomcat-embed-core-10.1.28.jar:10.1.28] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1203) ~[tomcat-embed-core-10.1.28.jar:10.1.28] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1193) ~[tomcat-embed-core-10.1.28.jar:10.1.28] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na] at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) ~[tomcat-embed-core-10.1.28.jar:10.1.28] at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) ~[na:na] at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:749) ~[tomcat-embed-core-10.1.28.jar:10.1.28] at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:203) ~[tomcat-embed-core-10.1.28.jar:10.1.28] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) ~[tomcat-embed-core-10.1.28.jar:10.1.28] at org.apache.catalina.core.StandardService.startInternal(StandardService.java:415) ~[tomcat-embed-core-10.1.28.jar:10.1.28] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) ~[tomcat-embed-core-10.1.28.jar:10.1.28] at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:874) ~[tomcat-embed-core-10.1.28.jar:10.1.28] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) ~[tomcat-embed-core-10.1.28.jar:10.1.28] at org.apache.catalina.startup.Tomcat.start(Tomcat.java:437) ~[tomcat-embed-core-10.1.28.jar:10.1.28] at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:128) ~[spring-boot-3.3.3.jar:3.3.3] ... 13 common frames omitted> Task :ServletApplication.main() FAILEDDeprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.For more on this, please refer to https://docs.gradle.org/8.8/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.3 actionable tasks: 1 executed, 2 up-to-dateFAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':ServletApplication.main()'.> Process 'command 'C:\Users\choik\.jdks\graalvm-jdk-17.0.11\bin\java.exe'' finished with non-zero exit value 1* Try:> Run with --stacktrace option to get the stack trace.> Run with --info or --debug option to get more log output.> Run with --scan to get full insights.> Get more help at https://help.gradle.org.BUILD FAILED in 5s오후 9:51:00: 실행이 완료되었습니다 ':ServletApplication.main()'.
-
해결됨[UI3 업데이트] 피그마 배리어블을 활용한 디자인 시스템 구축하기
Value 값을 대문자로 꼭해야하나요?
Value 값을 대문자로 꼭 표시하지 않아도 괜찮을까요? 개발자와 네이밍에 관련해 카멜표기를 하자고 했었는데 컴포넌트 또한 카멜표기로 해야하는지 궁금합니다
-
미해결Airflow 마스터 클래스
dag_seoul_api dag은 실행이 되는데 파일이 저장이 안되네요
json으로 데이터로 잘불러왓고 dag도 성공적으로 마쳤다고 했는데 정작 files 폴더에는 저장이 안되어 있습니다.그래서 docker inspect로 mount 속성을 보니{ "Type": "bind", "Source": "/home/jspark9703/airflow/files", "Destination": "/opt/airflow/files", "Mode": "rw", "RW": true, "Propagation": "rprivate" }propagation이 rprivate으로 되있더군요 아마 이 속성때문에 그런거같은데... volumes 속성을 바꾸는 방법은 없을까요? 아님 다른 문제가 있는 것일까요?
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
MEM/WB 질문 있습니다
안녕하세요! MEM/WB 레지스터에 대해, data memory에서 나온 값과 ALU에서 나온 값의 타이밍에 대해 궁금한 점 있어서 질문 드립니다. EX/MEM 레지스터에서 나온 ALU 연산 결과는 다음 사이클에 바로 MEM/WB 레지스터로 이동하는 것은 이해했습니다.하지만, Data memory에서 값을 가져오는 경우, EX/MEM에서 Address를 받고 다음 사이클에서 값이 나오고, 그 다음 사이클에 해당 값이 MEM/WB로 이동하여 두 사이클이 걸린다고 생각했습니다.이러면 data load를 하는 경우는 5 cycle이 아닌 6 cycle이 소모된다고 생각했는데, 이렇게 생각하는 것이 맞는지 궁금합니다. 맞다면, Instruction 별로 소모되는 사이클이 차이가 생길 수도 있는지 궁금합니다.질문 읽어주셔서 감사합니다!
-
미해결
Finding the Best Options to Study in USA?
If you're looking for the best way to study in USA, you're not alone. Every year, thousands of international students aim to experience the high-quality education and vibrant campus life that American universities offer. But finding the right guidance can make a huge difference in ensuring your journey is smooth and successful.To get started, it's essential to choose the right course and university that align with your goals. The process can be overwhelming, from understanding admission requirements to preparing for standardized tests like the SAT, GRE, or TOEFL. It's crucial to stay informed about visa processes, scholarship opportunities, and accommodation options to ensure a hassle-free experience.Many students rely on professional guidance to streamline their applications and navigate the complexities of studying abroad. With the right support, you can secure a spot in top universities and make the most out of your decision to study in USA.
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
특정 범위 서체 변경하기 (글자속성변경하기)
안녕하세요? 조금씩 천천히 강의를 따라가고 있습니다 ^^ 글자속성 변경하기 챕터에서특정 범위의 서체 변경하기를 따라 해 보고 있는데요. 빈문서를 만들고,텍스트를 입력한 다음,블럭을 설정하고,charshape = True를 입력하고,실행시키면 화면에 나오는 것처럼 글자 속성이 변하지 않네요. 참고로 저는 Visual Studio Code로 작업을 하고 있습니다.추측으로는,열어 놓은 한글 파일에 접근할 수 있어야 하고블럭설정한 부분을 읽어야 하는 것 같은데,이 코드는 빠져 있는 건가요?멋진 강의 감사합니다! ^^
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
retrofit을 사용한 통신 시 content type 관련하여 문의
안녕하세요. 강의에 없는 내용이지만, 검색을 며칠 째 하고 있으나 해결방법을 못 찾아서 이렇게 문의드립니다. 양해부탁드립니다.. flutter에서 retrofit을 사용하여 multipartforamdata 형식의 api를 호출할 때, application/json으로 보내야 하는 객체는 content type을 어떻게 지정해주어야 하는 걸까요? springBoot와 flutter로 개발 진행 중이고, api와 flutter는 각각 아래와 같이 작성하였습니다.// api @PostMapping(path = "", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public void temp(@RequestPart TempReq, @RequestPart List<MultipartFile> files) { // 생략 } // flutter에서 api 호출부 @POST('') @MultiPart() Future<void> temp(@Part() TempReq req, @Part() List<MultipartFile> files);flutter에서 api 호출 시 content type 'application/octet-stream' not supported 에러가 발생합니다.postman이나 swagger로 테스트 했을 땐 정상적으로 동작하는 걸 보면 api 문제는 아닌듯합니다.flutter에서 호출할 때도 files는 잘 들어오는데, TempReq 객체를 받을 때가 문제인 듯합니다. @Part 안에 content type을 application/json으로 지정해보았는데도 동일한 에러가 발생합니다.
-
미해결Apple 출신 개발자의 SwiftUI Basic Part 1 기초튼튼
마지막 생성자 코드에서 enum이 안쓰이고 있는거 같아요
enum CarBrand 다 정의되고나서는마지막 생성자 코드가 init(country: String, brand: CarBrand) { self.country = country switch brand { case .Hyundai: self.title = "Hyundai" self.backgroundColor = Color.yellow case .Tesla: self.title = "Tesla" self.backgroundColor = Color.pink }}이렇게 switch 구문 패턴매칭으로 쓰는게 enum 타입을 활용해야 하지 않나요?강의에서 마지막 코드는 생성자에서 country 국가명을 if문으로 조건 분기해서 뷰를 그리고 있습니다 (brand 파라미터가 뷰를 그리는데 안쓰이고 있어요)
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
강의영상 5분 7초 EAGER 패치 전략
비슷한 게시글을 봐도 이해가 잘 가지 않아서 재차 질문 드립니다제가 이해하는 상황이 맞는지 고견 부탁드립니다1. fetch = EAGER 쿼리가 두 번 실행이것이 프록시 강의영상에서 말씀하시는 (N+1) 문제인지 궁금합니다첫 번째 쿼리는em.flush(), em.clear() 실행되면 영속성 컨텍스트가 비워지고 이후 jpql 쿼리가 실행되면서 EAGER 패치 전략에 따라 Team도 함께 조회가 됩니다. 두 번째 쿼리는 영속성 컨텍스트가 비워졌고 EAGER 패치 전략으로 조회되어야 합니다. 실제 엔티티로 조회되어야 하는걸로 알고있습니다하지만 특정 시점에서 Team이 프록시로 로드 되었고 이후 프록시가 초기화되면서 다시 데이터베이스에서 조회하면서 발생한 쿼리로 생각이 듭니다
-
미해결비전공자도 이해할 수 있는 Redis 입문/실전 (조회 성능 최적화편)
페이지 데이터 캐싱할때 질문
페이지 데이터 캐싱할 때, 아래처럼 컨텐트만 보내는 게아니라@Cacheable(cacheNames = "getBoards",key = "'boards:page:'+ #page + ':size:' + #size", cacheManager = "boardCacheManager") public List<Board> getBoards(int page, int size) { Pageable pageable = PageRequest.of(page - 1, size); Page<Board> pageOfBoards = boardRepository.findAllByOrderByCreatedAtDesc(pageable); return pageOfBoards.getContent(); }아래처럼 Page 객체 자체를 보내야,실제로 페이징 처리가 가능할텐데요@Cacheable(cacheNames = "getBoards",key = "'boards:page:'+ #page + ':size:' + #size", cacheManager = "boardCacheManager") public Page<Board> getBoards(int page, int size) { Pageable pageable = PageRequest.of(page - 1, size); Page<Board> pageOfBoards = boardRepository.findAllByOrderByCreatedAtDesc(pageable); return pageOfBoards; }이렇게 하면, Page 역직렬화시 오류가 발생하는데, 이렇게 Page<Board>를 보내줘야 할 때는 어떻게 보내야할지 모르겠습니다. 정확히 캐싱의 역직렬화가 어디까지 가능한지 파악이 잘 안되서..gpt한테 물어보니, Page 같은 특수한 객체는 역직렬화 방법이 없고, db에서 찾은 page를 분해해서 이걸 다시 dto로 감싸서 보내라는데, 이런 방식밖에 없는건지.. Page 데이터 보내실때 어떻게 보내시는지 궁금합니다.
-
해결됨외워서 끝내는 네트워크 핵심이론 - 응용
홀펀칭 P2P에 관해 약간의 궁금한 점이 생겼습니다.
Full Cone NAT를 이용한 경우 홀펀칭을 이용해서 P2P 통신이 가능해지는데 TCP Protocol로 해서 해당 NAT 테이블에 등록이 되어 있어서 지속적으로 P2P 통신이 가능합니다. 그렇다면 P2P 통신을 하러 들어온 다른 클라이언트 쪽에서 TCP FIN을 보내서 4-way handshake를 하게 되면 해당 호스트 역할을 맡은 클라이언트의 공유기의 NAT table에서 제거되어 P2P연결이 모두 종료되는 건가요? 게임으로 따지면 누군가 해당 IP와 Port를 확인하는 것 만으로 방을 폭파시킬 수 있는 건가요? 이상입니다.오늘도 좋은 하루 되십시오. 감사합니다.
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
유투브 찾는데 제이쿼리 초급 또는 입문과정은 없나요?
■ 질문 남기실 때 꼭! 참고해주세요.- 먼저 유사한 질문이 있었는지 검색해주세요.- 궁금한 부분이 있으시면 해당 강의의 타임라인 부분을 표시해주시면 좋습니다.- HTML, CSS, JQUERY 코드 소스를 텍스트 형태로 첨부해주시고 스크린샷도 첨부해주세요.- 다운로드가 필요한 파일은 해당 강의의 마지막 섹션에 모두 있습니다.
-
해결됨게임 수학의 이해
게임 수학 강의와 책
안녕하세요.관련 공부를 위해서 책으로 할지 강의로 할고민 중에 있는데요.언 뜻 보기에는 강의보다는 책이 좀 더상세하고 많은 내용을 다루고 있을 거같다는 생각이 드는데혹시 둘 간에는 어떤 차이가 있나요?