묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
paginationParams 파라미터 추가 등.
23년 5월에 비슷한 질문이 있었습니다.개인적으로 답하신듯해서 질문 드려봅니다.질문1.paginationParams의 count 값을각 메뉴에서 변경하려 하는데 현재 강의 소스에서는 어디부분을 확인해야 하는지요? 질문2.paginationParams에서 강의내용에 있는 after, count외에 다른..예를 들면 검색조건의 값을 받을 수 있게 하려면 어떻게 풀어야 하나요?강의내용에 있는 DB를 가지고 할 건 아니고,응용해서 별도로 해보다 보니.. 문의드립니다.
-
해결됨파이썬 알고리즘 트레이딩 파트2: Interactive Brokers API를 활용한 실시간 알고리즘 트레이딩
타임시리즈 데이터 가져오기에서 에러원인이 무엇인가요?
stock-trading-eda-scheduled.ipynb 파일에서데이트 타임을 당겨오면 아래와 같은 에러메세지가 출력됩니다. 어떤 현상인가요?
-
미해결Next + React Query로 SNS 서비스 만들기
NextAuth를 활용한 소셜 로그인 시 authorization code 발급 방법
안녕하세요 강의 수강 후에 자체 프로젝트를 진행하고 있는데 소셜 로그인 처리 중 궁금한 점이 있어 질문 드립니다.기존에는 Google, Naver, Kakao, Facebook 등 5가지 소셜 로그인을 각각 OAuth 리디렉션 방식으로 구현했으나, 이번에는 NextAuth를 활용하여 간편하게 통합적으로 구현하려고 합니다.소셜 로그인은 authorization code 발급용으로만 사용하고 실제 access, refresh token 발급은 자체 서버에서 처리를 하려고 합니다. 따라서 인가 과정만 next auth를 활용하고 callbacks 내부에서 인가 코드를 전달하여 access token 발급 과정을 진행하려 했습니다./api/auth/[...nextauth]/route.ts const authOptions = { // Configure one or more authentication providers providers: [ GoogleProvider({ clientId: process.env.GOOGLE_ID ?? "", clientSecret: process.env.GOOGLE_SECRET ?? "", }), ], callbacks: { async signIn({ account, profile }: any) { if (account.provider === "google") { const response = await fetch( `${process.env.GATEWAY_SERVER_URL}/auth/v1`, { method: "POST", headers: { "Content-Type": "application/json", devicetype: "1", }, body: JSON.stringify({ sns_type: "GOOGLE", key: 인가코드, }), } ); } return true; // Do different verification for other providers that don't have `email_verified` }, }, }; const handler = NextAuth(authOptions); export { handler as GET, handler as POST };하지만 알아본 결과 NextAuth의 callbacks에서는 access token이 발급되고 authorization code는 받을 수 없게 되어있는 것 같은데 authorization code 발급용으로만 사용하기에는 next auth를 사용하는것이 적합하지 않은 것인지 궁금합니다.또한 authorization code를 받을 수 있는 방법이 있다면 알려주시면 감사하겠습니다!
-
해결됨김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
스레드와 메모리영역 질문
1:31 경에 쓰레드1,2,3 3개의 객체를 만들고 실행하잖아요 그러면 1:49 그림에서 3개의 인스턴스가 그려져야하는거 아닌가요?반복문을 통해 Thread를 100개 실행하고 있습니다. 여기서, thread 참조변수에 Thread 객체를 생성하고 있던데, 그렇다면 for문 순회하나하고 블록 종료시점에 스택프레임이 제거되어 thread 참조변수는 제거될것이고 힙영역에 Thread 객체가 존재하다가 나중에 GC 실행시점에 Thread 객체가 지워질것으로 보이는데 맞나요? 만약 그렇게 Thread 객체가 지워진다면 실행중이던 스레드도 중단되나요?
-
미해결
창업 동아리 CareMinder 웹 RN 프론트 개발자 모집
안녕하세요! 저희는 간호업무 효율화 AI 스마트병원 플랫폼을 개발하고 있는 예비창업팀 케어마인더입니다.저희 팀은 아직 예비창업 단계이지만 단기간에 빠르게 성장하며 올해 주요 사업들에 선정되어 현재 아주대병원과 함께 제품을 개발하고 있습니다.저희와 함께 할 프론트엔드 개발자 팀원을 모시고 싶습니다![필요 역량]- 리엑트를 사용해 보신 분- 프로젝트 경험이 한번이라도 있으신 분- 협업 경험이 있으신 분- Figma, Notion, Git을 잘 활용하시는 분[근무 방식]주 15시간분 출퇴근 혹은 주 15시간분 자택근무[사무실&연구소]🏢 킹고 스타트업 스페이스 혜화🏢 역삼 마루360🏥 아주대병원 첨단의학 RD센터[주요 사업선정이력]⭐️예비창업패키지(중소벤처기업부)⭐️공공기술기반 시장연계 창업탐색 지원사업 I-Corps(과학기술정보통신부)⭐️아주대병원 개방형실험실 구축사업(한국보건산업진흥원)외 사업 7건[주요 수상선정이력]🏆정주영 창업경진대회🏆네이버 캠퍼스 기술창업 공모전🏆학생창업유망팀 300+ 도약트랙외 수상 8건자세한 내용은 연락 주시면 답변드리도록 하겠습니다! 감사합니다 🙂[오픈채팅 링크]https://open.kakao.com/o/sSKoc41f
-
미해결스프링 시큐리티 OAuth2
프론트엔드 + 서버 oauth2 연동
안녕하세요, 좋은 강의 감사합니다. 현재 제가 개발중인 react 로 된 SPA 어플리케이션이 있는데요, 프론트엔드에서 직접 authorization server 로 access token 을 가져오자니 페이지가 새로고침 될때 날라가는 현상이 발생합니다. 이를 localStorage, sessionStorage, cookie 등에 저장하는것도 안전하지 않아서 (혹시 안전하게 하는 방법이 있나요?)아예 "로그인"만 서버쪽에서 수행하고 access token, refresh token 을 프론트로 전달해줘서 refresh token 만 httpOnly Cookie 에 넣으려고 합니다. 이제 새로고침 될때마다 서버에 access token 요청을 refresh token 으로 한다음, 그 access token 을 사용하려고 합니다. 혹시 이 같은 방식이 쓰이는지 알 수 있을까요? 아니면 추천해 주시고 싶은 방식이 있으신가요? 2. 서버 사이드 view 를 통해 로그인만 oauth2Login 으로 수행하고, 로그인 후 나머지는 SPA 프론트엔드로 리다이렉트 가 가능한가요? 혹은 이렇게 쓰기도 하나요?
-
미해결인터랙티브 웹 개발 제대로 시작하기
3d 뒤집기 추가효과
지금 카드를 3d로 뒤집는데 그냥 뒤집히는게아니라카드의 뒷면이 무엇인지 왼쪽아래나 왼쪽면부터 조금씩 뒤집어지는 느낌으로 뒤집기 위해선 animation3에서 이미지를 나눠서 보여준것처럼 효과를 줘야할까요? 그냥 카드가 3d로 휙 뒤집히는게 아닌 책장넘길때처럼 구현하고싶은데 뒷면을 확인할때 긴장감을 주기위해서 혹시 어떤 방법이 있을까요?
-
해결됨파이썬으로 시작하는 머신러닝+딥러닝(sklearn을 이용한 머신러닝부터 TensorFlow, Keras를 이용한 딥러닝 개발까지)
보스턴 집값 예측 15번 강의에 쓰이는 csv
보스턴 집값 예측 15번 강의에 쓰이는 csv는 어디서에서 다운받는지요?
-
해결됨입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
mutableListOf
강의를 들으면서 코틀린 문법도 같이 병행하면서 듣고있는데 이부분 질문을 하고 싶습니다!mutableListOf 로 감싸줘서 넣어져야지 코드가 오류 없이 되는지 궁금합니다. jpa 특성상 그런건가용?
-
해결됨김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
메서드 영역에 static 변수?
자바 8부터 Heap 영역에 Static Object(Static Variable, static객체 , static method)이 존재하고MetaSpace에는 static reference만 저장한다고 아래 글에서 읽었습니다.https://openjdk.org/jeps/122어떤게 맞는건가요? 제가 오역한거같지는 않은게 다른 분들도 그렇게 말씀하시는것 같습니다.https://jgrammer.tistory.com/entry/JAVA-Java8%EB%B6%80%ED%84%B0%EB%8A%94-static%EC%9D%B4-heap%EC%98%81%EC%97%AD%EC%97%90-%EC%A0%80%EC%9E%A5%EB%90%9C%EB%8B%A4
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
보일러 플레이트
인강듣기전에 학습자료를 보고 먼저 따라했는데요.인강에선 <main> 이부분을 삭제를 안했는데,학습자료에선 main을 다 삭제 했더라구요.이부분에서 학습자료를 참고해도 될까요?아님 다시 복구 해야하나요?이 부분 뿐만아니라 인강에서는 삭제를 안했는데, 학습자료에선 삭제된 부분이 꽤 있어서 걱정이 되어 문의를 드립니다.
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
12장 퀴즈 runnableSet 질문
퀴즈 풀이 진행시저는 _03_JOIN 에서 사용한 것 처럼 클래스 내부에 함수를 만들어서 호출해서 사용하는 방식을 했습니다. 코드package chap_12; public class _Quiz_12 { public static void main(String[] args) { Pkg pkg1 = new Pkg(); Pkg pkg2 = new Pkg(); Runnable a = new Runnable() { @Override public void run() { String name = "A"; int number = 1; for (int i = 1; i <= 5; i++) { pkg1.pack("A"); } System.out.println(" -- A 상품 준비 완료 -- "); } }; Runnable b = new Runnable() { @Override public void run() { String name = "B"; int number = 1; for (int i = 1; i <= 5; i++) { pkg2.pack("B"); } System.out.println(" -- B 상품 준비 완료 -- "); } }; Thread pkgA = new Thread(a); Thread pkgB = new Thread(b); pkgA.start(); pkgB.start(); try { pkgA.join(); pkgB.join(); } catch (InterruptedException e) { throw new RuntimeException(e); } Dmz(); } public static void Dmz() { for (int i = 1; i <= 5; i++) { System.out.println("세트 상품 포장 시작 " + i + "/5"); } System.out.println(" == 세트 상품 포장 완료 == "); } } class Pkg { public int number = 1; public void pack(String name) { // 직원 1 : 3번방 청소 완료 System.out.println(name + "상품 준비 " + number + "/5"); number++; } } 영상에서는 이전과 다르게 Runnable 인터페이스를 구현하여서? 하는걸 보았습니다결과는 똑같이 나오는데 기능적으로나 프로그램적으로 어떠한 차이가 있는지 알려주시면 감사하겠습니다.
-
해결됨개발자를 위한 쉬운 도커
쿠버네티스 강의 오픈 언제 예정이신가요?
도커 강의 너무 잘 듣고있어서 쿠버네티스까지 같이 수강하고자 합니다.
-
미해결쿠버네티스 어나더 클래스-Sprint3 (#실무핵심 #Docker #Nginx #Minio #Longhorn)
컨테이너와 VM 비교 해주신 설명중에 궁금한 부분이 있습니다.
안녕하세요. 좋은강의 많은 도움을 받고있어 항상 감사드립니다."아무나 모르는 컨테이너 기술의 장점" 섹션을 수강하던중 아래와같은 두가지 궁금한 부분이 있어 질문드립니다.VM과 Container를 비교설명 해주셨는데요. Container 설명 중에 개발자 환경이 Windows Host에 Container 환경을 구성하여 개발환경과 같은 linux명령, 환경을 동일하게 시험해 볼 수 있다고 하셨습니다. 이때 host os에 커널을 공유하는게 Container기술이라고 이해하고 있었는데, Windows Host에 linux 컨테이너 이미지가 가능한 건가요? 컨테이너가 VM에 비해 이미지화/dockerhub를 통한 배포로 인해 동일한 환경을 배포함에 있어서 장점이 있다고 설명해주셨는데요. sprint 1,2 실습환경을 제공해 주신것처럼, vagrant 와 packer를 이용하면 VM도 Container와 비슷한 조건이지 않은가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
java.lang.NumberFormatException: Cannot parse null string
강의를 듣다가 2024-08-07T11:08:47.538+09:00 ERROR 9788 --- [servlet] [nio-8080-exec-3] o.a.c.c.C.[.[.[/].[memberSaveServlet] : Servlet.service() for servlet [memberSaveServlet] in context with path [] threw exceptionjava.lang.NumberFormatException: Cannot parse null string at java.base/java.lang.Integer.parseInt(Integer.java:624) ~[na:na] at java.base/java.lang.Integer.parseInt(Integer.java:778) ~[na:na] at hello.servlet.basic.domain.web.servlet.MemberSaveServlet.service(MemberSaveServlet.java:25) ~[classes/:na] at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-embed-websocket-10.1.26.jar:10.1.26] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.1.11.jar:6.1.11] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.11.jar:6.1.11] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.1.11.jar:6.1.11] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.11.jar:6.1.11] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.1.11.jar:6.1.11] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.11.jar:6.1.11] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:389) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:904) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.26.jar:10.1.26] at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]2024-08-07T11:08:47.559+09:00 DEBUG 9788 --- [servlet] [nio-8080-exec-3] o.apache.coyote.http11.Http11Processor : Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@330cc8fe:org.apache.tomcat.util.net.NioChannel@37334a47:java.nio.channels.SocketChannel[connected local=/[0:0:0:0:0:0:0:1]:8080 remote=/[0:0:0:0:0:0:0:1]:60555]], Status in: [OPEN_READ], State out: [CLOSED] 이라는 에러가 떴는데 int age = Integer.parseInt(request.getParameter("age"));에서 문제가 있다는것 같은데 아무리 확인해도 왜 오류가 뜨는건지 모르겠습니다...
-
해결됨워드프레스(WordPress) 완전정복
워드프레스 완전정복, 36강 post-format의 array추가시 문제
안녕하세요. 워드프레스 완전정복을 수강중입니다. 36강 post format 1을 수강중에 "add_theme_support('post-formats', array('aside','video','image','status','link'));"을 추가 했는데 대쉬보드에 글형식 메뉴가 뜨지를 않네요. AI에 질의해 보니.테마 파일에 올바르게 추가되지 않음:add_theme_support('post-formats', array(...))가 테마의 functions.php 파일에 올바르게 추가되지 않았을 수 있습니다. 이 함수는 after_setup_theme 액션 훅 내에서 호출되어야 합니다 [2].php코드 복사add_action('after_setup_theme', 'mysecondwp_setup'); function mysecondwp_setup() { add_theme_support('post-thumbnails'); add_theme_support('post-formats', array('aside','video','image','status','link')); }Gutenberg와의 호환성 문제:Gutenberg 에디터와의 호환성 문제가 있을 수 있습니다. 몇몇 경우, 포스트 포맷이 제대로 표시되지 않거나 작동하지 않을 수 있습니다 [3].자식 테마 사용 시 문제:자식 테마를 사용하고 있다면, 자식 테마에서 포스트 포맷을 올바르게 상속받지 못했을 수 있습니다. 이 경우, 부모 테마와 자식 테마 모두에 올바르게 설정되어 있는지 확인이 필요합니다 [4].테마가 포스트 포맷을 지원하지 않음:사용 중인 테마가 포스트 포맷을 지원하지 않을 수 있습니다. 일부 테마는 기본적으로 특정 포스트 포맷만을 지원합니다 [5].위의 이유들을 하나씩 확인하고 문제를 해결해 보세요. 추가적인 디버깅이 필요할 수도 있습니다.이런 내용이 나오는데 초보라서 잘 모르겠네요. 도와 주시면 감사하겠습니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
Team 클래스에서 member를 List로 저장하는 이유
안녕하세요 강의 잘 보고있습니다!다름아니라 Member 클래스에서는 List를 쓰지않고 Team team으로 객체를 저장하셨는데Team 클래스에서는 List를 사용하여 member를 저장하는 이유가 궁금합니다.팀이 1이고 멤버가 N이여서 팀에 여러명의 멤버가 들어갈 수 있으므로 List를 사용하신걸까요?
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
한 부모테이블에 속한 자식 테이블들의 칼럼이 전부 NOT NULL일 경우
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]Item 부모 클래스를 Album , Book , Movie 자식 클래스들이 상속받는 상황에서 해당 자식 테이블들 칼럼들이 전부 NOT NULL일 경우 단일 테이블 전략을 쓰고 데이터를 삽입할 경우 다른 자식 객체에 값에 NULL이 들어감으로써 NOT NULL 조건을 위배하여 오류가 발생즉 이럴 경우 JOINED 전략을 통해 칼럼들이 NOT NULL이어도 테이블이 자식 별로 분리돼서 생성됨에 따라 NOT NULL 조건을 위반하지 않고 원활하게 삽입될 수 있습니다.[핵심 질문]하지만 규모가 크지 않은 프로젝트에서 선생님께서는 단일 테이블 전략이 좋다고 하셨는데, 규모가 크지 않은 프로젝트에서라도 일반적으로 칼럼들이 NOT NULL로 설정되는 경우가 많은데 이런 경우에는 불가피하게 무조건적으로 조인 전략(JOINED)을 채택해야하는지 여쭙고 싶습니다 !
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
붙여넣기 후 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 순수 JDBC영상 7분30초 쯤 파일참고해서 붙여넣기를 했더니 빨간줄이 어마무시하게 많이 그였습니다.원인좀 알려주실 수 있을까요https://drive.google.com/file/d/16hfb328rA7fdLiE6oxILNIjL-gpDYSPL/view?usp=sharing
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
2.2)단락 평가 11:28 인수 전달 관련하여 질문드립니다.
안녕하세요, 2.2)단락 평가 11:28 인수 전달 관련하여 질문 드립니다. function printName(person){ const name= person && person.name; // const age = person && person.age; console.log(name || "person의 값이 없습니다.") // console.log(age || "나이를 추정할 수 없습니다.") } printName({name:"이정환"}); 객체 값을 인수로 전달했을 때 name 변수에 인수로 전달받은 객체 값들이 정상적으로 저장되고 콘솔 창을 통해 출력되잖아요. printName함수의 person라는 매개 변수 형식?을 어디에서도 선언, 정의하지 않았는데 객체 타입으로 함수 호출 시 정상 출력되는 점이 혼란스럽습니다. 이전에 학습한 7가지 Truthy 한 값들 중 객체가 속해 있기에 Truthy 가 나오고, 그런 성질을 이용하여 변수에 name : "이정환" 이 저장되어 콘솔창에서 확인 가능한 결과가 나온다고 이해하면 될까요? 친절히 설명해주셔서 감사합니다.