묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결코틀린 고급편
DSL 만들기
안녕하세요 강사님. 내용을 몇번 더 봐야 더 잘 알겠지만막히는 부분이 있어서 질문올립니다. 18강 내용중에서 service(name = "db") { image { "mysql" } env("USER").`is`("myuser") env("PASSWORD").`is`("mypassword") port(host = 9999, container = 3306)} env("USER").`is`("myuser") 이 DSL은 어떻게 만들수 있을지 감이 오지 않습니다. ㅜㅜ
-
해결됨
백엔드 개발을 위한 필수 강의 - 스프링 부트
백엔드 개발은 현대 소프트웨어 개발에서 중요한 부분을 차지하고 있습니다. 이는 웹 애플리케이션의 핵심 기능을 구현하고 데이터베이스와의 상호 작용을 관리하는 역할을 합니다. 그 중에서도 스프링 부트는 백엔드 개발자들 사이에서 널리 사용되고 있는 프레임워크 중 하나입니다. 이 강의는 백엔드 개발을 위한 필수 강의로서, 스프링 부트에 초점을 맞추어 개발자들에게 필요한 기본적인 지식을 제공합니다.스프링 부트 강의 내용스프링 부트 소개: 스프링 부트의 개요와 특징, 그리고 왜 이를 사용해야 하는지에 대한 설명을 포함합니다.스프링 부트의 구성 요소: 스프링 부트에서 사용되는 주요 구성 요소들에 대한 소개와 각각의 역할을 설명합니다.스프링 부트의 설정: 스프링 부트 프로젝트의 설정 방법과 주요 설정 파일들에 대해 다룹니다.RESTful 웹 서비스 개발: 스프링 부트를 사용하여 RESTful 웹 서비스를 개발하는 방법에 대해 학습합니다.데이터베이스 연동: 스프링 부트에서 데이터베이스와의 연동 방법을 다루고, JDBC나 JPA를 이용한 데이터 액세스 방법을 학습합니다.보안과 인증: 스프링 시큐리티를 이용하여 보안과 인증 기능을 구현하는 방법을 학습합니다.테스트: 스프링 부트 애플리케이션의 테스트 방법과 중요성을 다루며, JUnit과 Mockito를 이용한 단위 테스트와 통합 테스트를 학습합니다.배포: 스프링 부트 애플리케이션을 클라우드 환경에 배포하는 방법을 다룹니다.PHP를 사용하여 간단한 모델을 만들어보겠습니다. 이 모델은 간단한 사용자 관리 시스템을 구현할 것입니다. 사용자 정보를 데이터베이스에 저장하고, 사용자를 추가하고 조회하는 기능을 갖추고 있습니다.<?php // 데이터베이스 연결 $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; $conn = new mysqli($servername, $CertsTime., $password, $dbname); // 데이터베이스 연결 확인 if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // 사용자 추가 if ($_SERVER["REQUEST_METHOD"] == "POST") {https://qrfrab6273.expandcart.com/index.php?route=product/product&product_id=403 $username = $_POST["CertsTime.com"]; $email = $_POST["email"]; $sql = "INSERT INTO users (username, email) VALUES ('$username', '$email')"; if ($conn->query($sql) === TRUE) { CertsTime.com echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } } // 사용자 조회 $sql = "SELECT id, username, email FROM users"; $result = $conn->query($sql); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "id: " . $row["id"]. " - Name: " . $row["username"]. " - Email: " . https://qrfrab6273.expandcart.com/index.php?route=product/product&product_id=404$row["email"]. "<br>"; } } else { echo "0 results"; } // 데이터베이스 연결 종료 $conn->close(); ?> <?php // 데이터베이스 연결 $servername = "https://qrfrab6273.expandcart.com/index.php?route=product/product&product_id=405"; $username = "username"; $password = "https://qrfrab6273.expandcart.com/index.php?route=product/product&product_id=406"; $dbname = "myDB"; $conn = new mysqli($servername, $username, $password, $dbname); // 데이터베이스 연결 확인 if ($conn->https://qrfrab6273.expandcart.com/index.php?route=product/product&product_id=407) { die("Connection failed: " . $conn->connect_error); } // 사용자 추가 if ($_SERVER["REQUEST_METHOD"] == "POST") { $username = $_POST["username"]; $email = $_POST["email"]; $sql = "INSERT INTO users (username, email) VALUES ('$username', '$email')"; if ($conn->query($sql) === TRUE) { echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } } // 사용자 조회 $sql = "SELECT id, username, email FROM users"; $result = $conn->query($sql); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "id: " . $row["id"]. " - Name: " . $row["username"]. " - Email: " . $row["email"]. "<br>"; } } else { echo "0 results"; } // 데이터베이스 연결 종료 $conn->close(https://qrfrab6273.expandcart.com/index.php?route=product/product&product_id=408); ?> 이 코드는 MySQL 데이터베이스를 사용하여 사용자 정보를 저장하고 조회하는 기능을 제공합니다. 데이터베이스 연결 설정은 각자의 환경에 맞게 수정해야 합니다. 사용자 추가를 위해 POST 요청을 사용하며, 사용자 조회를 위해 데이터베이스에서 사용자 정보를 가져와 출력합니다.스프링 부트의 중요성스프링 부트는 자동 구성과 개발 생산성을 높이는 기능들을 제공하여 백엔드 개발을 더욱 쉽고 빠르게 만들어 줍니다. 또한 스프링의 생태계를 기반으로 하고 있기 때문에 스프링 프레임워크의 다양한 기능들을 활용할 수 있습니다. 이러한 이유로 많은 기업과 개발자들이 스프링 부트를 선택하여 안정적이고 확장 가능한 웹 애플리케이션을 개발하고 있습니다.백엔드 개발을 공부하고자 하는 모든 이들에게 스프링 부트 강의는 필수적인 자원이 될 것입니다. 스프링 부트를 통해 백엔드 개발의 기초를 탄탄히 다지고, 현업에서 활용할 수 있는 실전적인 기술을 습득할 수 있습니다.
-
해결됨
2022 30분 요약 강좌 시즌 1: HTML, CSS, Linux, Bootstrap, Python, JS, jQuery&Ajax
2022년의 프로그래밍 및 웹 개발 분야에서 핵심적인 기술들을 단 30분 만에 소개하는 시즌 1 강좌가 출시되었습니다. 이 강좌는 초보자부터 중급자까지 널리 활용될 수 있는 HTML, CSS, Linux, Bootstrap, Python, JavaScript, jQuery 및 Ajax와 같은 기초적인 기술들을 간결하게 요약하여 제공합니다. 이러한 강좌는 프로그래밍과 웹 개발에 대한 기초를 확립하고자 하는 이들에게 이상적인 자료입니다.1. HTML(HyperText Markup Language)HTML은 웹 페이지의 구조를 정의하는 마크업 언어입니다. 다음은 간단한 HTML 코드의 예시입니다:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>My Website</title> </head> <body> <h1>Hello, World!</h1> <p>This is a paragraph.</p> </body> </html><!DOCTYPE html> <https://qrfrab6273.expandcart.com/index.php?route=product/product&product_id=389> <title>2. CSS(Cascading Style Sheets)CSS는 HTML 요소의 스타일을 정의하는 스타일 시트 언어입니다. 다음은 간단한 CSS 코드의 예시입니다:body { font-family: Arial, sans-serif; background-color: #f0f0f0; } h1 {https://zdehdv1815.expandcart.com/index.php?route=product/product&product_id=407 color: blue; } p { font-size: 16px; }body { font-family: Arial, sans-serif; background-color: #f0f0f0; } h1 { color: blue; } p { font-size: 16px; }3. LinuxLinux는 유닉스 계열 운영 체제 중 하나로, 개발자들 사이에서 널리 사용되고 있습니다. 기본적인 Linux 명령어 중 몇 가지는 다음과 같습니다:ls: 디렉터리 내의 파일 목록을 보여줍니다.cd: 디렉터리를 변경합니다.mkdir: 새로운 디렉터리를 생성합니다.rm: 파일이나 디렉터리를 삭제합니다.4. PythonPython은 간결하고 읽기 쉬운 문법을 가진 인기 있는 프로그래밍 언어입니다. 다음은 간단한 Python 코드의 예시입니다:# 두 수를 더하는 함수 def add_numbers(a, b):https://zdehdv1815.expandcart.com/index.php?route=product/product&product_id=408 return a + b # 함수 호출 및 결과 출력 result = add_numbers(3, 5) print("Result:", result)# 두 수를 더하는 함수 def add_numbers(a, b): return a + b # 함수 호출 및 결과 출력 result = add_numbers(3, 5) print("Result:", result)이와 같이, 2022년의 30분 요약 강좌 시즌 1은 HTML, CSS, Linux, Bootstrap, Python, JavaScript, jQuery 및 Ajax와 같은 핵심 기술들에 대한 기본적인 이해를 제공합니다. 이를 통해 프로그래밍 및 웹 개발에 대한 지식을 확장하고 싶은 모든 이들에게 유용한 자료가 될 것입니다.Git과 GitHub는 현대 소프트웨어 개발의 핵심 도구로 자리매김하고 있습니다. 하지만 처음 접하는 사람들에게는 이 둘의 개념과 사용법이 다소 복잡하게 느껴질 수 있습니다. 이 기사에서는 Git과 GitHub를 처음 배우는 사람들을 위해 쉽고 간단하게 설명하고, 협업에 필요한 기본적인 기능들을 마스터하는 방법에 대해 알아보겠습니다.Git이란 무엇인가요?Git은 버전 관리 시스템(VCS, Version Control System)의 한 종류입니다. 개발자들이 소스 코드를 효과적으로 관리하고 추적할 수 있도록 도와줍니다. 이전 버전과의 변경 사항을 추적하고, 필요할 때 언제든지 특정 시점으로 되돌아갈 수 있도록 합니다. 이는 여러 명의 개발자가 함께 작업하고 코드를 관리하는 데 필수적입니다.GitHub는 Git 저장소를 호스팅하고 협업을 용이하게 하는 플랫폼입니다. 개발자들이 프로젝트를 공유하고 다른 사람들과 함께 작업할 수 있는 기능을 제공합니다. 오픈 소스 프로젝트부터 기업 내부 개발까지 다양한 활용이 가능합니다.
-
해결됨
제목: 쉬운 용어로 배우는 Git & Github 첫걸음 - 협업까지 마스터하기
Git과 GitHub는 현대 소프트웨어 개발의 핵심 도구로 자리매김하고 있습니다. 하지만 처음 접하는 사람들에게는 이 둘의 개념과 사용법이 다소 복잡하게 느껴질 수 있습니다. 이 기사에서는 Git과 GitHub를 처음 배우는 사람들을 위해 쉽고 간단하게 설명하고, 협업에 필요한 기본적인 기능들을 마스터하는 방법에 대해 알아보겠습니다.Git이란 무엇인가요?Git은 버전 관리 시스템(VCS, Version Control System)의 한 종류입니다. 개발자들이 소스 코드를 효과적으로 관리하고 추적할 수 있도록 도와줍니다. 이전 버전과의 변경 사항을 추적하고, 필요할 때 언제든지 특정 시점으로 되돌아갈 수 있도록 합니다. 이는 여러 명의 개발자가 함께 작업하고 코드를 관리하는 데 필수적입니다.Git의 핵심 개념Repository(저장소): 프로젝트의 모든 파일과 폴더, 변경 이력 등을 포함하는 공간입니다. 로컬 저장소와 원격 저장소로 나눌 수 있습니다.물론이죠! 여기 몇 가지 간단한 예제 코드를 드리겠습니다. 파이썬을 사용한 간단한 모델들입니다:선형 회귀 모델 (Linear Regression):# 필요한 라이브러리 불러오기 import numpy as np from sklearn.linear_model import LinearRegression # 샘플 데이터 (입력 변수 X와 목표 변수 y) X = np.array([[1], [2], [3], [4], [5]]) y = np.array([2, 4, 6, 8, 10]) # 선형 회귀 모델 생성 및 훈련 model = LinearRegression(https://wqssja4777.expandcart.com/index.php?route=product/product&product_id=406) model.fit(X, y) # 새로운 데이터에 대한 예측 new_data = np.array([[6]]) predicted_value = model.predict(https://wqssja4777.expandcart.com/index.php?route=product/product&product_id=407) print("예측된 값:", predicted_value[0])Commit(커밋): 변경 사항을 저장소에 기록하는 작업입니다. 각각의 커밋은 고유한 식별자를 갖고 있으며, 변경 내용과 함께 메시지를 남겨 추적할 수 있습니다.로지스틱 회귀 모델 (Logistic Regression):# 필요한 라이브러리 불러오기 import numpy as np from sklearn.linear_model import LogisticRegression # 샘플 데이터 (입력 변수 X와 목표 변수 y) X = np.array([[1], [2], [3], [4], [5]]) y = np.array([0, 0, 1, 1, 1]) # 로지스틱 회귀 모델 생성 및 훈련 model = LogisticRegression(https://wqssja4777.expandcart.com/index.php?route=product/product&product_id=411) model.fit(X, y) # 새로운 데이터에 대한 예측 new_data = np.array([[6]]) predicted_class = model.predict(https://wqssja4777.expandcart.com/index.php?route=product/product&product_id=412) print("예측된 클래스:", predicted_class[0])Branch(브랜치): 독립적으로 개발을 진행하기 위한 작업 공간입니다. 새로운 기능 추가나 버그 수정 등을 위해 새로운 브랜치를 생성하고 작업을 진행할 수 있습니다.GitHub이란 무엇인가요?GitHub는 Git 저장소를 호스팅하고 협업을 용이하게 하는 플랫폼입니다. 개발자들이 프로젝트를 공유하고 다른 사람들과 함께 작업할 수 있는 기능을 제공합니다. 오픈 소스 프로젝트부터 기업 내부 개발까지 다양한 활용이 가능합니다.GitHub의 핵심 기능Pull Request(풀 리퀘스트): 변경 사항을 다른 사용자들에게 리뷰하고 통합할 수 있는 기능입니다. 코드 변경 내용을 비교하고 토론할 수 있어 협업에 매우 유용합니다.Issues(이슈): 버그 보고, 기능 제안, 작업 목록 등을 관리할 수 있는 기능입니다. 프로젝트의 개선을 위한 중요한 도구입니다.Forks(포크): 다른 사용자의 프로젝트를 자신의 계정으로 복제하는 기능입니다. 이를 통해 원본 프로젝트와 독립적으로 개발을 진행할 수 있습니다.협업하기프로젝트 포크: GitHub에서 프로젝트를 포크하고 자신의 계정으로 가져옵니다.로컬에서 작업: 자신의 컴퓨터에 프로젝트를 클론하고 변경을 가하며 작업합니다.풀 리퀘스트: 변경 사항을 커밋하고 GitHub에 푸시한 후, 풀 리퀘스트를 생성하여 원본 프로젝트에 변경 사항을 적용하도록 요청합니다.리뷰와 수정: 다른 사용자들이 풀 리퀘스트를 리뷰하고 피드백을 주면, 그에 따라 코드를 수정하고 반영합니다.병합(Merge): 리뷰가 완료되면 원본 프로젝트에 변경 사항을 병합합니다.이제 당신도 Git과 GitHub를 사용하여 프로젝트를 협업할 수 있는 기본적인 방법을 알게 되었습니다. 이러한 도구들은 현대 개발 환경에서 필수적이며, 지속적인 학습과 익숙해짐으로써 보다 효율적인 개발을 이룰 수 있습니다. 계속해서 공부하고 연습하여 개발자로서의 역량을 키워보세요!
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
201 응답
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]201 상태코드 부분에서 질문이 있습니다. 요청이 성공해서 새로운 리소스가 생성된 경우 201 상태코드와 생성된 리소스에 대한 정보를 body에 넣고 Location에 리소스의 위치를 넣어서 보낸다고 하셨는데 응답의 body와 Location 정보가 꼭 필요한 것인지 궁금합니다. 클라이언트는 리소스를 생성해야되므로 body에 내용이 필수적으로 필요하지만 서버의 응답의 경우 201 상태코드만 보내어 리소스 생성이 정상적으로 이루어졌는지만 클라이언트에게 알려주면 되는것 아닌가요? 서버에서 응답으로 보낸 Location과 body의 데이터가 클라이언트에서 어떤식으로 사용되기를 바래서 이러한 데이터를 함께 보내는지 궁금합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
파라미터를 Map으로 조회하기 관련 질문
map<string, object>와 map<string, string> 모두 정상 수행이 됩니다. 받아들인 변수를 처리하는데 차이가 있을까요?public String requestParamMap(@RequestParam Map<String, Object> paramMap){public String requestParamMap(@RequestParam Map<String, String> paramMap){
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
testMember실행은 잘되나 쿼리문이 로그에 뜨질않습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]testMember는 실행이 잘되는데요.선생님 처럼 쿼리문이 로그에 뜨질 않네요yml 파일도 제대로 따라친거같은데 따로 뭘 해줘야할까요?스프링 부트는 3.2.4버전입니다
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
JPA 를 사용하는 이유
안녕하세요 강사님. 항상 정성 가득하고 충분한 설명 덕분에 도움을 많이 받고 있습니다 : )강의를 듣다가 문득 호기심이 생겨 질문을 드립니다 !JPA 를 사용하는 이유가 DB가 변경 시에 유리하기 때문이라고 이해했습니다.그런데 만약 DB 변경이 일어나지 않는다고 가정한다면, JPA 설정을 통해서 스프링이 DB 에 넣어주는 것 보다, 일일이 쿼리를 작성하는 것이 더 속도나.. 그런 측면에서 유리하지는 않나요?1개의 기능을 만드는데 그보다 많은 기능이 포함되어있는 어떤것을 쓰면 자원이 낭비되는 것이 아닐까? 하는 생각이 들었습니다.현업에서 DB를 변경할 일이 많아서 그런 것일까요?왜 요즘 MyBatis 보다 JPA 를 선호하는 추세인지도 궁금합니다. (취업 공고를 보면 MyBatis 보다는 JPA 가 많이 보이더라구요!)항상 감사하고 존경드리며 환절기 감기 조심하세요 !
-
미해결스프링 핵심 원리 - 고급편
로그
[질문 내용]스프링 3.2대 사용중입니다.다름이 아니라 강의를 보고 따라하던 중 로그가 강의처럼 찍히지 않고 request만 찍히는 걸 발견했습니다.스프링 버전 차이인가요 ? 아니면 제가 뭘 놓치고 있는 걸 까요 ?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
텍스트 필드 커서 위치
텍스트필드에 텍스트가 입력되어 있을 때 다시 클릭을 하면 커서가 텍스트의 제일 앞으로 위치하는 문제는 왜 생기는지 궁금합니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Domain, Entity 차이점
DB에 저장될 예정인 UserData 있을 때 어떤 사람은 Domain으로 하고 또 다른 사람은 Entity라고 하는데 그 둘의 차이점이 궁금합니다. 또한 어떤 상황일때 domain, entity를 적절히 사용해야 하나요?
-
해결됨초보자를 위한 BigQuery(SQL) 입문
빅쿼리 콘솔창이 너무 글씨가 작아요
눈이 너무 아파요 ㅠ 혹시 설정 방법이 있을까요? 혼자서는 못찾겠어요 ㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
단순한 궁금증으로 인한 질문 드리겠습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]JPA사용법에 관한 강의를 듣다가 정확히 따로 정리를 하는데 스스로 정리를 어떻게 해야할 지 모르겠어서 문의 남깁니다.JpaRepository에서 findById함수 아래 코드가Member member = em.find(Member.class, id); 라고 작성이 되는데 find 괄호 안에 Member.class에 저런 ,class방식으로 작성이 되는 설명이나 이유를 좀 알려주실 수 있으실까요?
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
dbInit2 메소드 질문
====[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요.dbInit2메서드를 똑같이 작성하고 db를 조회해봤는데 dbinit1 메서드에서 정의한 것만 db에 들어가고 dbinit2메서드 값은 db에 저장이 안됩니다혹시나 @Bean 등록후 확인해보니 등록이 되는데강의내용중 강사님은 @Bean등록 없이 그냥 하신것 같은데왜 이런걸까요?
-
해결됨OpenGL 쉐이더 (2) shader 3D 그래픽스 - 프로그래머블 파이프라인, 기하학 기초, 삼각형 출력
#include "./common.c"오류
오류 LNK2005 getBaseName이(가) common.obj에 이미 정의되어 있습니다. 의 오류가 나옵니다. main이랑 같은 위치에 common.c를 두었는데 어떻게 해결해야하나요?
-
해결됨김영한의 실전 자바 - 중급 1편
내부 클래스의 활용 예제 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]모든 Car instance들이 하나의 engine instance를 참조하게 해보고 싶어private static Engine engine = new Engine();이런식으로 Car 클래스 안에 정적 변수를 만들고 engine instance를 참조 하게 만들어 봤는데 'Car.this' cannot be referenced from a static context란 에러가 뜨네요.생성자에서 안에서는 public Car(String model, int chargeLevel) { this.model = model; this.chargeLevel = chargeLevel; if (engine == null) { engine = new Engine(); } }이런식으로 정적 변수가 engine instance를 참조가 가능한데, 에러가 나는 이유와 생성자안에서는 왜 참조가 가능한지 궁금합니다.
-
해결됨Next + React Query로 SNS 서비스 만들기
강좌 보면서 개인프로젝트에 적용중입니다. build시 "Arrow" cannot be used as a JSX component 에러가 납니다.
./src/_components/Carousel.tsx 110:6 Warning: React Hook useEffect has a missing dependency: 'nextFn'. Either include it or remove the dependency array. react-hooks/exhaustive-deps (....lint warning문구 생략) info - Need to disable some ESLint rules? Learn more here: https://nextjs.org/docs/basic-features/eslint#disabling-rules Linting and checking validity of types .Failed to compile. ./src/_components/Carousel.tsx:137:12 Type error: 'Arrow' cannot be used as a JSX component. Its type 'FC<PropsWithChildren<ArrowProps>>' is not a valid JSX element type. Type 'FunctionComponent<PropsWithChildren<ArrowProps>>' is not assignable to type '(props: any, deprecatedLegacyContext?: any) => ReactNode'. Type 'ReactElement<any, any> | null' is not assignable to type 'ReactNode'. Type 'ReactElement<any, any>' is not assignable to type 'ReactNode'. Property 'children' is missing in type 'ReactElement<any, any>' but required in type 'ReactPortal'. 135 | className={`h-full w-full ${inArrow ? 'absolute' : ''} max-w-full`}> 136 | {!!showNavButton && ( > 137 | <Arrow | ^ 138 | direction="left" 139 | executeFn={prevFn} 140 | inArrow={inArrow} error Command failed with exit code 1. 'use client'; import { FC, PropsWithChildren, useEffect, useState } from 'react'; interface ArrowProps { direction: 'left' | 'right'; executeFn: () => void; inArrow?: boolean; hoverStyle?: string; } const Arrow: FC<PropsWithChildren<ArrowProps>> = ({ direction, executeFn, inArrow, hoverStyle, children, ...props }) => { const [hoverColor, setHoverColor] = useState(hoverStyle || undefined); useEffect(() => { hoverStyle && setHoverColor(`hover:${hoverStyle}`); }, [hoverStyle]); const returnString = direction === 'left' ? '<' : '>'; return ( <div onClick={executeFn} className={`${inArrow ? 'absolute z-50' : ''} ${direction === 'left' ? 'left-0 top-0 rounded-l-lg' : 'right-0 top-0 rounded-r-lg'} center-vertical flex h-full w-[30px] cursor-pointer text-[30px] ${hoverColor && hoverColor}`} {...props}> {returnString} {children} </div> ); }; export default Arrow; next build를 했을때 해당 에러가 Arrow컴포넌트에서 발생하였습니다. Arrow컴포넌트에서 제가 정의한 FC<PropsWithChildren<ArrowProps>>타입이 유효한 JSX element type이 아니라는 메시지 인거 같습니다. 이 에러가 나는 이유가유효한 JSX엘리먼트가 아니어서 일것같아서return 하는 jsx문법에 오류가 있는지 확인하려div 겉에도 fragment로 감싼다거나returnString을 해주는 중괄호 부분도 fragment로 감싸거나children도 감싸보았습니다.그러나 똑같은 에러가 발생하고 있는 상황입니다. const returnString = direction === 'left' ? '<' : '>'; 혹시 위의 코드가 문제가 발생할까 싶어서 SVG파일을 만들어조건에따라 왼쪽 오른쪽 SVG 파일 컴포넌트를 return 문 안에서 렌더링 해주었는데여기서도 동일한 에러가 발생하였습니다. Type error: 'LeftSvg' cannot be used as a JSX component. Its type '({ className, width, height, onClick, cyAttribute, }: { className?: string | undefined; width?: number | undefined; height?: number | undefined; onClick?: (() => void) | undefined; cyAttribute?: string | undefined; }) => JSX.Element' is not a valid JSX element type. Type '({ className, width, height, onClick, cyAttribute, }: { className?: string | undefined; width?: number | undefined; height?: number | undefined; onClick?: (() => void) | undefined; cyAttribute?: string | undefined; }) => JSX.Element' is not assignable to type '(props: any, deprecatedLegacyContext?: any) => ReactNode'. Type 'Element' is not assignable to type 'ReactNode'. Property 'children' is missing in type 'Element' but required in type 'ReactPortal'. 24 | }, [hoverStyle]); 25 | > 26 | const returnString = direction === 'left' ? <LeftSvg /> : <RightSvg />; | ^ 27 | 28 | return ( 29 | <div error Command failed with exit code 1. 참고로'DatePicker' cannot be used as a JSX component. Its instance type 'ReactDatePicker<undefined, undefined>' is not a valid JSX element.이런 에러가 타입에러 발견 된 적이 있어서 package.json파일에 "resolutions": { "@types/react": "^18.0.0" }, resolutions로 버전을 위와 같이 맞춰주어서해결한 적이 있습니다.
-
해결됨한 입 크기로 잘라먹는 타입스크립트(TypeScript)
tsconfig.json 설정 옵션
안녕하세요, 강의 정말 잘 듣고 있습니다. 핵심적인 부분을 쉽게 설명해주셔서 타입스크립트에 적응하는 데 도움을 많이 받고있고, 정말 감사드립니다.질문드리고 싶은 건 tsconfig.json 옵션에 대해서입니다. 강의에서 설명해주신 옵션들 외에도 다른 옵션들이 있고, 프로젝트마다 조금씩 다르게 사용하게 되잖아요.moduleDetection은 각 파일에 모듈 시스템 키워드(export, import)를 최소 하나 이상 사용해 해당 파일을 전역 모듈이 아닌 로컬(독립) 모듈로 취급되도록 만든다고 강의에서 설명해주셨는데요.이번에 isolatedModules라는 옵션을 알게 되었는데, 모듈을 독립적으로 컴파일하는 것을 강제한다고 하더라구요.moduleDetection은 모듈 시스템 키워드를 사용해서 모듈을 독립적으로 취급되도록 하고, isolatedModules는 모듈 시스템 키워드를 자동으로 사용할 수 있게 해주지는 않지만, 얼핏 보기에 두 옵션을 사용했을 때 기대할 수 있는 효과가 비슷하다고 보이는데요.제가 이해한 내용이 맞는지, 혹시 이에 대해서 추가적인 내용을 알려주실 수 있으신지 궁금해서 질문을 드리게 되었습니다.좋은 강의 준비해주셔서 다시 한번 감사합니다!
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
소스코드에 관하여 질문드립니다.
안녕하세요. Part1을 완강하고 Part2를 수강하고 있는 비전공자 수강생입니다. 강의를 하실 때 13:45 처럼 함수 복붙 후 함수에 관해 설명해주시는 순서로 진행이 되는데 예를 들어 제가 캐릭터의 속도를 설정하는 함수를 찾고 싶다면 F12를 사용하여 관련 클래스의 코드를 탐색하는게 빠르고 정석적인 방법인가요? 언리얼 공식 문서로는 찾지 못하여 질문드립니다.
-
해결됨[UI3 업데이트] 피그마 배리어블을 활용한 디자인 시스템 구축하기
icon Outline stroke
안녕하세요. 현재 Avatar 강의 듣고 있습니다. 위 사진처럼 아이콘을 삽입 후 크기 조절을 하니 stroke이 깨지지 않은 상태로 적용됩니다. icon Outline stroke을 해도 작동이 되지 않는데 해결 방법 있을까요?ㅜㅜ(*강의 잘 듣고 있습니다! 내용이 너무 좋습니다! 감사드립니다~)