묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
PCA 및 SVD 범주형 변수
PCA나 SVD를 통해서 차원축소를 할때, 이 두 방법은 모두 수치형변수를 기본으로 하여 차원축소하는 법이라고 알고있습니다. 혹시 데이터에 범주형변수가 있을때, 이는 어떻게 처리하는 것이 좋을까요? 원핫인코딩 혹은 레이블 인코딩범주형 컬럼 제외하기등 의 방법이 있을 것이라고 예상되는데, 1번으로 했더니 explained variance ratios가 현저하게 낮아져서 2번방법이 그나마 나을 것이라고 생각되는데, 범주형변수가 있는 경우에 pca나 svd를 보통 어떻게 적용하나요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
설치 후 Deleting Shortcut으로 Vivado 폴더 삭제해버리는 경우
설치 후 Deleting Shortcut으로 Vivado 및 각종 생성 폴더를 삭제해버리는 문제가 발생하였고,5번째 설치 시도 끝에 저와 비슷한 분의 글을 발견하여서 덕분에 해결하였습니다.같은 이슈가 생긴 분들께 공유 드리고자 글 남깁니다.Ubuntu 버전을 바꾸어 설치했더니 잘 됐습니다 ! (ㅠㅠ)저는 Ubuntu-22.04.2 버전을 사용했을 때 안됐고,20.04.6 버전 사용했더니 이제야 설치가 잘 됐네요.영상에서는 22.04.5 도 잘 설치가 된다고 하셨는데,뭐가 문제인지는 잘 모르겠습니다.설치가 돼서 너무 기쁘네요!!!드디어 강의 들으러 갑니다 ㅎㅎ
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
안녕하세요. 플래그에 대해서 궁금해져서 질문드립니다.
제가 깊게 몰라서 이런 질문 드리는 것일지 모르겠지만 CPU 자체에 음수와 양수를 구분하기 위한 플래그가 있다면 굳이 2의 보수법으로 음수를 표현하기 보다는 그냥 그 수 자체에 음수라는 플래그를 달아서 단순히 표현하는 것이 더 낫지 않나요? 예를 들어서 0101(2) 가 플래그를 음수로 달고있으면 -5라고 바로 인식할 수 있는 것인데 괜히 복잡하게 2의 보수법을 사용해서 0101(2)가 플래그를 음수로 달고 0101(2)라는 것을 또 1011(2)의 음수로 인식을 해서 CPU가 일을 두 번 하게 만드는 것이 아닌가 해서 여쭤봅니다.
-
미해결3dsmax 모델링 고수의 비밀! (Modeling Expert Technique)
제가 2023버전을 사용 중인데 2021버전을 사용해도 괜찮을까요?
2021버전을 사용해도 문제없을까요?아니면 2021버전을 다시깔아야하나요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
docker-compose build 했을때 에러
섹션 27. Nest.js08-06 Docker 패키징 강의를 따라서 docker-compose build 를 했더니아래와 같은 에러가 나옵니다. > [5/6] RUN yarn install: #0 2.639 yarn install v1.22.19 #0 3.290 [1/4] Resolving packages... #0 5.360 [2/4] Fetching packages... #0 66.77 info There appears to be trouble with your network connection. Retrying... #0 100.1 info There appears to be trouble with your network connection. Retrying... #0 141.5 error @graphql-tools/merge@9.0.0: The engine "node" is incompatible with this module. Expected version ">=16.0.0". Got "14.21.3" #0 141.5 error Found incompatible module. #0 141.5 info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command. ------ failed to solve: process "/bin/sh -c yarn install" did not complete successfully: exit code: 1 챗gpt 한테 물어보니까이 오류는 @graphql-tools/merge 모듈의 버전 9.0.0이 설치되지 않았으며, 해당 모듈은 Node.js 엔진의 버전이 16.0.0 이상이어야 작동한다는 것을 의미합니다. 그러나 현재 사용 중인 Node.js 버전은 14.21.3이기 때문에 설치할 수 없다는 오류입니다.라고 하길래 Dockerfile 의 FROM node:14 이 부분을FROM node:16 으로 수정하고 다시docker-compose build 를 했더니 에러가 안나는데이렇게 node를 16으로 수정하고 강의를 따라가도 문제가 없을까요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
try문에서 return시 chain.doFilter 동작이유..:)
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 안녕하세요.아래의 그림부분에서 이해가 안되서, 글남깁니다.!!제가 학습하기로는 return문이 실행될 경우에는 메서드단위 자체를 종료하는 것으로 알고 있는데요!만약 미인증 사용자가 items에 요청이 들어올 경우 sendRediect메서드가 실행됨과 동시에 return으로 doFilter 메서드가 종료될 것으로 예상됩니다.그럼에도 불구하고, 아래의 try문에 log와 chain.dofilter가 실행되는 이유가 무엇인가요..?스크립트 상에는 필터를 더이상 진행하지 않는다고 하고있습니다.만약, 위의 코드에서 chain.doFilter를 제거할 경우에는 빈화면의 http://localhost:8080/login?redirectURL=/items페이지가 나옵니다. (현재의 return시에는,try문의 내부.. if문까지만의 종료로 보입니다.!) 자문자답해봅니다.. :)너무 이해가 안되서, 흐름을 다시한번 정리했더니 이해가 되네요.결론은 스크립트와 동일하게 동작하네요!필터의 경우에는 모든 HTTP요청에 대해서 필터가 실행되기때문에 items url 요청 -> 필터 실행 -> if문에 걸려서 redirect 후 리턴 (다음 필터 실행 X ) , finally문은 실행여기서 다시 login url 요청 -> 필터 실행이 되기때문에만약, chain.doFilter가 없는 경우, 해당 스텝에서 다음필터로 진행이 안되기때문에.. 이후 동작이 안 이루어진거였습니다.!!
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
완전탐색(For 반복문) 14분
for x in range(-10000, 10001): for y in range(-10000, 10001): if A * x + B * y == C: if D * x + E * y == F: print(x, y) break range가 빠진거죠?
-
미해결[백문이불여일타] 데이터 분석을 위한 SQL 실전편 (무료 미니 코스)
신규 가입자 분석하기 : 당일 가입자의 당일 활동 유무 분석 이유
1. One of the easiest things to check is growth, both because it's easy to measure and because most companies (Yammer included) track this closely already. In this case, you have to make it yourself, though. You'll notice that nothing has really changed about the growth rate—it continues to be high during the week, low on weekends:View Mode Analysis이 부분에서 쿼리를SELECT DATE(created_at) AS day, COUNT(*) AS all_users, SUM(CASE WHEN activated_at IS NOT NULL THEN 1 ELSE 0 END) AS activated_users FROM tutorial.yammer_users WHERE created_at >= '2014-06-01' AND created_at < '2014-09-01' GROUP BY DATE(created_at) ORDER BY DATE(created_at); 이런 식으로 작성했던데, 당일 활동 유무가 위의 growth에 어떤 점을 알려 줄 수 있는건가요?가입자의 패턴와 가입한 날의 활동 유무의 패턴이 비슷하다는 걸 알려주는건가요?근데 당일 가입자의 당일 활동 유무가 어떤 의미있는 패턴을 알려줄 수 있는 걸까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
8080포트 이미 사용중/localhost:8080접속시 로그인하라고 합니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 선생님학원에서는 이클립스 위주로 하여 인텔리제이 사용이 미숙합니다. 메인메소드를 run하니 8080포트를 이미 쓰고 있다고 하고, localhost:8080에 접속하면 팝업창으로 로그인창이 뜹니다.어떻게 해결해야할까요?java 버전 : 17.spring initialize 버전 : 3.1.2.[메인메소드가 있는 클래스]package yn.ynspring; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class YnSpringApplication { public static void main(String[] args) { SpringApplication.run(YnSpringApplication.class, args); } } [build.gradle]plugins { id 'java' id 'org.springframework.boot' version '3.1.2' id 'io.spring.dependency-management' version '1.1.2' } group = 'yn' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' } tasks.named('test') { useJUnitPlatform() } [console]C:\Users\USER\.jdks\jbr-17.0.7\bin\java.exe -javaagent:C:\Users\USER\AppData\Local\JetBrains\Toolbox\apps\IDEA-C\ch-0\231.9011.34\lib\idea_rt.jar=52065:C:\Users\USER\AppData\Local\JetBrains\Toolbox\apps\IDEA-C\ch-0\231.9011.34\bin -Dfile.encoding=UTF-8 -classpath "C:\YN\dev\edu\김영한쌤 spring 입문\yn-spring\yn-spring\out\production\classes;C:\YN\dev\edu\김영한쌤 spring 입문\yn-spring\yn-spring\out\production\resources;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-thymeleaf\3.1.2\177cb8b744ae3556d79e01121e3d1b34b29c0178\spring-boot-starter-thymeleaf-3.1.2.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-web\3.1.2\30b824817e764a5a5a1e9fb46e7ace40bcfa3185\spring-boot-starter-web-3.1.2.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter\3.1.2\c09a48df6fbc2b07b7aef1256b45260a3478b49f\spring-boot-starter-3.1.2.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.thymeleaf\thymeleaf-spring6\3.1.1.RELEASE\deb52ef921a4ac5132fedb7ebfc2bc1dad4382b3\thymeleaf-spring6-3.1.1.RELEASE.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-json\3.1.2\c48d521879dbbcebe1a99f47257612968e022f5b\spring-boot-starter-json-3.1.2.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-tomcat\3.1.2\2e7284f8ecf2989e1a6ffc7faf964eccb309bfd4\spring-boot-starter-tomcat-3.1.2.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.springframework\spring-webmvc\6.0.11\892b4a63b5d930c2c43058c6db0c2c65401fb078\spring-webmvc-6.0.11.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.springframework\spring-web\6.0.11\c32a7bf6b88b83bac6aa63866fcf208892640446\spring-web-6.0.11.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-autoconfigure\3.1.2\ea294976f925441fc1d5a5414d5d31717f06aa3c\spring-boot-autoconfigure-3.1.2.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot\3.1.2\3cf070561716277ec91ebadc07362dd0b4a9f63f\spring-boot-3.1.2.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-logging\3.1.2\4e47bd132fdd0d60ad57d70bdc99198b182166ee\spring-boot-starter-logging-3.1.2.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\jakarta.annotation\jakarta.annotation-api\2.1.1\48b9bda22b091b1f48b13af03fe36db3be6e1ae3\jakarta.annotation-api-2.1.1.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.springframework\spring-core\6.0.11\87834b5cf95c6fa28f5bdf8a85e0daf0bff918a8\spring-core-6.0.11.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.yaml\snakeyaml\1.33\2cd0a87ff7df953f810c344bdf2fe3340b954c69\snakeyaml-1.33.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.thymeleaf\thymeleaf\3.1.1.RELEASE\374a129dfa5e7d7f1a46eacc4d49e594ca0cf26f\thymeleaf-3.1.1.RELEASE.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-api\2.0.7\41eb7184ea9d556f23e18b5cb99cad1f8581fc00\slf4j-api-2.0.7.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.datatype\jackson-datatype-jsr310\2.15.2\30d16ec2aef6d8094c5e2dce1d95034ca8b6cb42\jackson-datatype-jsr310-2.15.2.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.module\jackson-module-parameter-names\2.15.2\75f8d2788db20f6c587c7a19e94fb6248c314241\jackson-module-parameter-names-2.15.2.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.datatype\jackson-datatype-jdk8\2.15.2\66a50e089cfd2f93896b9b6f7a734cea7bcf2f31\jackson-datatype-jdk8-2.15.2.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-databind\2.15.2\9353b021f10c307c00328f52090de2bdb4b6ff9c\jackson-databind-2.15.2.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-websocket\10.1.11\ac9ecc8a2b6a2cd8123554259faabc2e7b4aa013\tomcat-embed-websocket-10.1.11.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-core\10.1.11\9d1ba230cbe0dfb410b0beba102eff20e14793a1\tomcat-embed-core-10.1.11.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-el\10.1.11\97aa65b1f036f722e869f582f8d607d01508d420\tomcat-embed-el-10.1.11.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.springframework\spring-context\6.0.11\a7b10f3d3c1492bfc4e6d7c966cd2e21f4d441f5\spring-context-6.0.11.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.springframework\spring-aop\6.0.11\15b85c825558fadb85e3c77779d7225ce7e4a7bc\spring-aop-6.0.11.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.springframework\spring-beans\6.0.11\8513efc6e94b407b5cd85f69eeec511f1ef34164\spring-beans-6.0.11.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.springframework\spring-expression\6.0.11\1d0940120a275719c3988c592068f4acf807fe59\spring-expression-6.0.11.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\io.micrometer\micrometer-observation\1.11.2\704e145c4801320b4c7abf6c1a5b000155b069db\micrometer-observation-1.11.2.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\ch.qos.logback\logback-classic\1.4.8\f00ba91d993e4d14301b11968d3cacc3be7ef3e1\logback-classic-1.4.8.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-to-slf4j\2.20.0\d37f81f8978e2672bc32c82712ab4b3f66624adc\log4j-to-slf4j-2.20.0.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.slf4j\jul-to-slf4j\2.0.7\a48f44aeaa8a5ddc347007298a28173ac1fbbd8b\jul-to-slf4j-2.0.7.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.springframework\spring-jcl\6.0.11\c9b16cdb6d4874ba4118fcdd4b0335f6278b378\spring-jcl-6.0.11.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.attoparser\attoparser\2.0.6.RELEASE\8f603f22a18d4f7258f8860ccbb68b069f49904a\attoparser-2.0.6.RELEASE.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.unbescape\unbescape\1.1.6.RELEASE\7b90360afb2b860e09e8347112800d12c12b2a13\unbescape-1.1.6.RELEASE.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-annotations\2.15.2\4724a65ac8e8d156a24898d50fd5dbd3642870b8\jackson-annotations-2.15.2.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-core\2.15.2\a6fe1836469a69b3ff66037c324d75fc66ef137c\jackson-core-2.15.2.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\io.micrometer\micrometer-commons\1.11.2\f03f87bd7eacf79b00aa89907c6e30e0ec86b4\micrometer-commons-1.11.2.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\ch.qos.logback\logback-core\1.4.8\3fba9c105e0efc5ffdcda701379687917d5286f7\logback-core-1.4.8.jar;C:\Users\USER\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-api\2.20.0\1fe6082e660daf07c689a89c94dc0f49c26b44bb\log4j-api-2.20.0.jar" yn.ynspring.YnSpringApplication . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.1.2) 2023-07-28T18:46:41.602+09:00 INFO 16832 --- [ main] yn.ynspring.YnSpringApplication : Starting YnSpringApplication using Java 17.0.7 with PID 16832 (C:\YN\dev\edu\김영한쌤 spring 입문\yn-spring\yn-spring\out\production\classes started by USER in C:\YN\dev\edu\김영한쌤 spring 입문\yn-spring\yn-spring) 2023-07-28T18:46:41.610+09:00 INFO 16832 --- [ main] yn.ynspring.YnSpringApplication : No active profile set, falling back to 1 default profile: "default" 2023-07-28T18:46:43.058+09:00 INFO 16832 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) 2023-07-28T18:46:43.069+09:00 INFO 16832 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2023-07-28T18:46:43.069+09:00 INFO 16832 --- [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.11] 2023-07-28T18:46:43.222+09:00 INFO 16832 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2023-07-28T18:46:43.224+09:00 INFO 16832 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1506 ms 2023-07-28T18:46:43.731+09:00 WARN 16832 --- [ main] ion$DefaultTemplateResolverConfiguration : Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false) 2023-07-28T18:46:43.788+09:00 WARN 16832 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'webServerStartStop' 2023-07-28T18:46:43.792+09:00 INFO 16832 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat] 2023-07-28T18:46:43.811+09:00 INFO 16832 --- [ main] .s.b.a.l.ConditionEvaluationReportLogger : Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. 2023-07-28T18:46:43.840+09:00 ERROR 16832 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPLICATION FAILED TO START *************************** Description: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that's listening on port 8080 or configure this application to listen on another port. Process finished with exit code 1 [web (chrome)]
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
Lightsail에서 배포시 Error: Cannot find module './KakaoStrategy'에 대한 오류 질문입니다.
안녕하세요 강사님,현재 Lightsail에서 배포를 진행하며$ sudo NODE_ENV=production PORT=80 pm2 start server.js -i 0 명령어 작성후$ sudo pm2 monit으로 확인해 보니 아래와 같은 오류가 발생합니다.KakaoStrategy 모듈을 못찾는다는데passport-kakao 1.0.0 버전으로 npm i를 했었습니다. 어떤게 문제인걸까요..?로컬에서는 문제없이 잘 돌아갔습니다. package.json 입니다.{ ... "dependencies": { "@aws-sdk/client-s3": "^3.377.0", "bcrypt": "^5.1.0", "connect-redis": "^4.0.4", "cookie-parser": "^1.4.6", "cors": "^2.8.5", "cross-env": "^7.0.3", "csurf": "^1.11.0", "dotenv": "^16.3.1", "express": "^4.18.2", "express-session": "^1.17.3", "helmet": "^7.0.0", "hpp": "^0.2.3", "morgan": "^1.10.0", "multer": "^1.4.5-lts.1", "multer-s3": "^3.0.1", "mysql2": "^3.4.2", "nunjucks": "^3.2.4", "passport": "^0.6.0", "passport-kakao": "1.0.0", "passport-local": "^1.0.0", "pm2": "^5.3.0", "redis": "^3.0.2", "sanitize-html": "^2.11.0", "sequelize": "^6.32.1", "sequelize-cli": "^6.6.1", "winston": "^3.10.0" }, "devDependencies": { "nodemon": "^2.0.22" } } passport > kakaoStrategy.js 부분입니다.const passport = require('passport'); const KakaoStrategy = require('passport-kakao').Strategy; const User = require('../models/user'); module.exports = () => { passport.use(new KakaoStrategy({ clientID: process.env.KAKAO_ID, callbackURL: '/auth/kakao/callback', }, async (accessToken, refreshToken, profile, done) => { // accessToken, refreshToken은 카카오 api를 호출하는데 사용되나, 여기선 사용하지 않음 console.log('kakao profile', profile); try { const exUser = await User.findOne({ where: { snsId: profile.id, provider: 'kakao' }, }); if (exUser) { //login done(null, exUser); } else { //join const newUser = await User.create({ email: profile._json?.kakao_account?.email, // 이 구조가 자주 바뀌므로, profile을 console.log를 통해 계속 확인하자 nick: profile.displayName, snsId: profile.id, provider: 'kakao', }); done(null, newUser); } } catch (error) { console.error(error); done(error); } })); };
-
해결됨게임 프로그래머 취업 전략 가이드
지금 언리얼로 포트폴리오를 만드는 중인데 궁금한 것이 있습니다.
지난주부터 언리얼5로 VR 퍼즐게임 포트폴리오를 만드는 중입니다.발사한 레이저를 거울 배치를 통해 특정지점으로 유도하기전선 이어서 문 스위치 켜기망치로 플레이트를 뒤집어서 특정 모양 만들기등의 기믹을 만들려고 하고 있습니다.그런데 한국 게임회사서는 VR게임을 시도를 거의 하지 않고 있고 신규 프로젝트 계획도 적은 걸로 아는데 취업을 위해 이렇게 만들어도 될지 의문이 듭니다.저도 MMO, FPS를 좋아하고 오래 했기 때문에 이러한 팀에 들어가고 싶긴 합니다.이런 팀에 지원하는데 VR게임 포트폴리오를 내미는 건 리스크가 있는 선택일까요? 아니면 인터렉션 구현을 잘했다면 좋은 평가를 받을 수 있을까요?블루프린트 에셋을 C++로 옮겨서 만들어 쓴 부분도 좋은 평가를 받을 수 있는 부분일까요?지금이라도 PC FPS나 TPS를 만들어야 하나 고민입니다.
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
ELSE NULL 관련 질문입니다.
안녕하세요, ELSE NULL 관련 질문입니다.<CASE를 활용한 테이블 피봇(난이도 상)> 강의 내 문제에서ELSE NULL 을 써주지 않아도 결과는 똑같은 것 같은데END 전에 ELSE NULL을 써줘야하는 이유가 특별히 있을까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
TypeScript Utility 부분 질문드립니다
Utility 부분 강의에서 type의 Partial, Required 등을 이용하여 모든 프라퍼티를 옵션으로 바꾸거나 필수로 바꾸는 방법을 가르쳐주셨는데, 특정 하나만 옵션으로 하거나, 특정 하나만 필수인자로 바꾸는 방법은 없을까요?interface IProfile {name: string;age: number;school: string;hobby?: string;friend:? string;}으로 정의했다고 하면 여기서 school만 옵션으로 바꾸고 싶다면, 방법이 없을까요?
-
미해결만들면서 배우는 리액트 : 기초
고양이 이미지 깨져요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 고양이 이미지 깨지는데, 어떻게 하면 될까요?
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
크로링 패턴에서 필요한 부분을 지정하는 방법
- 섹션 3 크롤링 패턴 관련 질문이 있습니다. 변수.find() 을 이용하여 원하는 부분을 찾는다고 했는데, 이때 find의 괄호 안에는 태그의 이름만 들어가는 게 맞나요?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
보충 에셋 다운 관련
안녕하세요 보충 에셋관련 리소스들은 강의를 그전까지 다 들어야 다운이 가능한건가요? 미리 다운받으려 했는데 구름모양으로 된 다운버튼이 안보입니다..
-
미해결
궁금해서 여쭤봅니다.
강사님 Condition 의 matches 메서드는 메인메서드가 실행되기 전에 실행될거 같은데즉 스프링이 빈을 구성하기 전에 실행되는 것 같은데 어떻게 ConditionContext 와 AnnotationTypeMetadata 를 주입 받을 수 있는지 궁금합니다. 더군다나 ConditionContext 이나 AnnotationTypeMetadata 은 어디서도 빈으로 등록하지않은거 같은데 어떻게 동작하는지 궁금합니다.
-
미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
버전 관련 질문
안녕하세요. 파이썬 및 판다스의 강의 촬영 날짜 기준 버전과 현재 버전이 다른데 문제 없이 강의를 따라갈 수 있을까요??
-
미해결
CSR 버그 질문입니다.
스택오버플로에도 올렸는데 답변이 안달리네요 ㅠㅠhttps://stackoverflow.com/q/76692263/21893669힌트라도 주실 분 계신가요?
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
union 해커랭크 문제풀이
안녕하세요 항상 좋은 강의 감사합니다symmetric pairs 문제에서 문제 초반 부에 xy 값이 같은 경우와 다른 경우로 나누어서 푸셨는데 저 같은 경우는 select f1.x,f1.yfrom functions as f1 inner join functions as f2 on f1.x = f2. y and f1.y = f2.x where f1.x <= f1.y and f1.x < f2.x order by x 이 부분만 적고 xy가 같은 경우를 따로 만들어서 union해야 하는 지 생각을 하지 못했는데 강사님께서는 어떤 이유로(어떤 요소를 보고) xy값이 같은 경우와 다른 경우로 나누어서 풀어야 겠다고 생각하셨는지 알고 싶습니다. 감사합니다