묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
빌더 패턴 vs 정적 팩토리 메서드
빌더 패턴을 사용하여 객체를 생성하는 방법과 정적 팩토리 메서드를 사용하여 객체를 생성하는 방법을 각각 언제 사용하면 좋을지 궁금합니다.구글링해서 찾아보니 빌더 패턴은 파라미터가 많을때 사용하고 정적 팩토리 메서드는 파라미터가 적을때 사용한다고 하는데 파라미터가 많고 적음의 기준도 잘 모르겠고 명확하게 언제 사용하면 좋을지에 대한 글을 찾지 못해 질문글을 작성합니다.
-
미해결[2025년 출제기준] 웹디자인기능사 실기시험 완벽 가이드
header_logo 부분 질문
header_logo 부분에 "로고의 크기 변경 시, 가로세로 비율(종횡비, aspect ratio)을 유지하여야 한다." 부분이 있습니다. 그냥 포토샵 할 때는 200 x 40 비율로해서 그대로 작성하는지 궁금합니다.
-
해결됨Windows 시스템 프로그래밍 - 기본
강사님 dll 지연로딩 관련하여 질문 드립니다
강의 내용을 기반으로 제프리 리처 <Windows via C/C++> 을 읽으며 생긴 질문이 있어서 여쭤봅니다.5판 번역본 기준 730p 입니다. /DelayLoad:MyDll.dll <- 지연로딩할 dll을 사용하면 링커에게 "실행 모듈의 임포트 섹션으로부터 MyDll.dll 파일을 제거하여 프로세스를 초기화할 때 해당 DLL 을 암시적으로 로드하지 못하도록 한다. 라고 되어 있습니다. (730페이지 상단) 이후에 지연로드 된 함수가 호출되었을 때 해당 함수를 익스포트하고 있는 DLL 이 존재하지 않으면 __delayLoadHelper2() 는 exception 을 던진다고 나와있습니다. (730페이지 3번째 문단) 궁금한 점은 "임포트 섹션에서 MyDll.dll 제거할 때 해당하는 dll 이 없으면 링크타임이나 로드할 때 에러를 발생시키면 되는데 왜 굳이 런타임에 exception 을 던지는지?" 궁금합니다. 항상 유익한 강의 감사합니다 😄
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
GestureDetector 부분 onTap 함수 VoidCallBack 함수로 감싸는 이유?
아래의 코드중에 온탭 생성자 부분에서 바로 onTap(e)를 사용하지 않고 보이드콜백 함수로 감싸줘야하는 이유가child: GestureDetector( onTap: () { ontap(e); },해당 부분에서 onTap 메소드? 함수가 받는 형식은제스처콜백 타입으로 typedef GestureTapCallback = void Function(); 이지만 저희가 생성한 새로운 자료형은 void Function(String selectedColorName);형태이기때문에 완전한 형식을 지켜주는 (){} 형태가 최 상단에 위치하고 그 아래에 저희가 사용하고자 하는 형태로 만들어진 함수를 다시 불러와줌으로서 논리적으로 작동하게 만들어주는게 맞나요?생성한 onTap함수만 넣어서 에러를 읽어봤는데 제대로 이해가 안되서 질문 남깁니다.
-
미해결F6-비전공자·일반인을 위한 기업재무회계의 이해와 활용
강의 자료를 이메일로 받고 싶습니다.
안녕하십니까?좋은 강의를 알기 쉽게 설명해 주셔 감사드립니다.제가 수강하는 "F6 비전공자.일반인을 위한 기업재무회계의 이해와 활용" 강의 자료를 이메일로 받고자 요청드립니다. 감사합니다.
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
안녕하세요 질문있습니다
안녕하세요 로딩도 만드신다고 햇는데 혹시 로비창도 강의 있나요??
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
input box에 데이터 입력후 확인 버튼 누르고 input 데이터 수정하면 오류 발생 ...
안녕하세요 Redux 수업 다 듣고 이해 되지 않아서 따로 프로젝트를 뽑아서 Redux를 연습 하고 있어요...일단 이해는 다된거 같아요...아래 dispatch 하는 부분에서 오류가 뜨네요..먼저 처리 순서가 ... input에 데이터를 입력하고 로그인 버튼을 클릭하고 다시 input에 데이터를 입력하면 오류가 뜨네요cannot assign to read only property 'current' of object '# object '버튼 클릭하는 부분에 dispatch하는 내용을 넣었구요..구글에는 깊은 복사 뭐 이런거 있던데 그거랑 관련 없는거 같구... ===================================리듀스 기본을 알면 저 문제 해결될꺼라는 어떤분의 답변이 야속하네요 ... 코드 시작=============================import { useState } from "react"; import { useDispatch } from "react-redux"; import {login} from "../slices/loginSlice" const initState = { email:'', password:'' } function LoginComponent(props) { const [loginParam, setLoginParam] = useState({...initState}) const disPatch = useDispatch() const handleChange = (e)=> { loginParam[e.target.name] = e.target.value setLoginParam({...loginParam}) } const handleLoginClick = (e)=>{ console.log(".......") disPatch ( login(loginParam) ) } const handleLogoutClick = (e)=>{ disPatch( login(initState) ) } return ( <div> <div className="flex flex=nowrap gap-x-8 place-content-center "> <div> <div> login </div> <div> <input className="text-base w-300 p-6 rounded-r border border-solid border-neutral-500 shadow-md" name="email" type ={'text'} value={loginParam.email} onChange ={handleChange}> </input> </div> <div> <input className="text-base w-300 p-6 rounded-r border border-solid border-neutral-500 shadow-md" name="password" type={'password'} value={loginParam.password} onChange={handleChange} > </input> </div> <div> <button className = "rounded p-4 w-36 bg-blue-500 text-xl text-white" onClick={handleLoginClick} > Login.. </button> </div> </div> <button onClick={handleLogoutClick}> logout </button> </div> </div> ) } export default LoginComponent; =============================
-
미해결[2023 코틀린 강의 무료제공] 기초에서 수익 창출까지, 안드로이드 프로그래밍 A-Z
room database 설치 질문
room 데이터 베이스의 의존성 주입을 하고 있는데 계속 에러가 났습니다. 근데 viewBinding 부분을 지우니 해결이 되었습니다 무슨 문제였을까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
16234 질문입니다!
16234번 테스트 케이스는 다 맞는데, 채점시에는 % 조금넘어가다가 바로 틀리는데, 어디가 틀렸는지 도저히 모르겠어서 질문드립니다. http://boj.kr/741c9846e8eb45d59f29b0a85fa3cfe9 그리고 선생님 풀이코드를 봤는데, 전역스코프에있는 벡터 v사용하시는데 dfs 파라미터에 넣으신 이유가 있을까요?? 이 질문을 드린게 함수 파라미터에서 '&'를 이용한 참조에 의한 전달을 하는 방식은 함수 파라미터에 해당 자료구조를 명시하지 않아도 상위 스코프를 순차적으로 순회하면서 동일한 이름의 자료구조를 발견하면 알아서 참조해서 사용한다고 알고있어서 그랬습니다.만약 값 전달이 목적이라면 (전역단에 빈 자료구조 'ds'생성)ds ds;func (param1, param2, ds) {~~}int main() { while (1) func(~~); ~~}이런식으로 함수를 정의하면 반복되는 로직에서 func를 부를 때 ds를 비워주는(fill, memset, clear, ...) 로직을 수행하지 않고 코드를 작성할 수 있을것 같은데, 이렇게 매번 빈 자료구조를 사용하는 로직에서는 값전달방식이 나을까요 아니면 그냥 무조건 참조 + flush가 나을까요?
-
미해결스프링 핵심 원리 - 기본편
@RequiredArgsConstructor도 @Autowired 기반인가요?
@RequiredArgsConstructor를 통한 의존관계 자동 주입이 결국 @Autowired를 사용한 것인가요
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
controller 질문드립니다
안녕하세요 코팩님 전자액자 복습 중에 문득 헷갈리는게 생겨서 질문드립니다.class _HomeScreenState extends State<HomeScreen> { Timer? timer; PageController controller = PageController();여기에서 controller 부분이 잘 이해가 안 가는데요,controller를 사용하려면 위와 같이 PageController controller = PageController();와 같은 형식으로 정의를 해야하는 건가요?웹뷰 프로젝트에서도 controller 정의하실때 WebviewController controller = WebviewController()..~~ 식으로 정의하셨는데,위와 같은 형식으로 정의를 하는 것인지와 또 controller 바로 앞 타입의 정체와 우항의 정체는 정확히 무엇인지 궁금합니다. 좌항 controller 앞의 PageController는 무엇의 타입이고 (정체가 무엇인지),우항도 정체가 무엇인지,또 controller를 사용하고자 하면 저런 형식으로 정의해야하는 것인지 궁금합니다!
-
미해결[C#/.NET 7.0]어서와, WPF는 처음이지?
코드 퍼스트
안녕하세요 entity보고있는데요 혹시 지금 강의에서 보여준 방법이 코드퍼스트인지 궁금합니다그리고 그 차이점과 wpf현업에서 사용하는 방법도 알려주세요
-
미해결3D 모델링 입문을 위한 라이노(Rhino) '꿀팁' Part.2
변형기능에 대해 질문이 있습니다
개체의 중심점을 잡고 비틀기를 하였을때 이렇게 완성 되는 이유는 무엇일까요..?
-
미해결3D 모델링 입문을 위한 라이노(Rhino) '꿀팁' Part.1
강의 80% 수강 완료는 여기다 인증하면 되는 걸까요 ?:)
안녕하세요 강사님!강의 80% 수강 완료는 여기다 인증하면 되는 걸까요 ?:)
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 챗봇 사이트 만들기
질문있어요
앞에 질문에 답변을 받았지만 링크로 참조하라는 답변이었는데 저는 그걸로는 해결을 할 수 없었습니다. 혹시 괜찮으시면 직관적인 해결법을 알려주실 수 없나요?send를 누르면 터미널에 이렇게 뜹니다. Server Running at 5000 C:\project\vswork\chatbot-app-master\node_modules\google-gax\node_modules\google-auth-library\build\src\auth\jwtclient.js:193 throw new Error('The incoming JSON object does not contain a client_email field'); ^ Error: The incoming JSON object does not contain a client_email field at JWT.fromJSON (C:\project\vswork\chatbot-app-master\node_modules\google-gax\node_modules\google-auth-library\build\src\auth\jwtclient.js:193:19) at GoogleAuth._cacheClientFromJSON (C:\project\vswork\chatbot-app-master\node_modules\google-gax\node_modules\google-auth-library\build\src\auth\googleauth.js:313:16) at ReadStream.<anonymous> (C:\project\vswork\chatbot-app-master\node_modules\google-gax\node_modules\google-auth-library\build\src\auth\googleauth.js:347:36) at ReadStream.emit (node:events:519:28) at endReadableNT (node:internal/streams/readable:1696:12) at process.processTicksAndRejections (node:internal/process/task_queues:82:21) Node.js v20.16.0 PS C:\project\vswork\chatbot-app-master> 아래와 같이 값이 입력이되어있는데도말입니다. 루트파일에다가 구글 인증json을 위치를 끌어다 넣어도 그렇습니다. 가르쳐줘서 고맙습니다. 근데 이렇게 문제가 생겨서 이 구간을 벗어나고 싶습니다 ㅠㅠ
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
auth.currentUser?.uid.toString() 가 null 이 나와요
auth.currentUser?.uid.toString() 가 null 이 나와요잘나왔었는데 몇시간뒤에 하니까 null 이 나옵니다. 로그인 -> 어플종료 -> 다시 어플 키면 uid가 나오는데MypageActivity가면 uid가 null입니다. firebase는 이상없이 작동합니다 package com.example.sogating.setting import android.os.Bundle import android.util.Log import android.widget.ImageView import android.widget.TextView import androidx.activity.enableEdgeToEdge import androidx.appcompat.app.AppCompatActivity import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat import com.example.sogating.R import com.example.sogating.auth.UserDataModel import com.example.sogating.utils.FirebaseAuthUtils import com.example.sogating.utils.FirebaseRef import com.google.firebase.database.DataSnapshot import com.google.firebase.database.DatabaseError import com.google.firebase.database.ValueEventListener class MyPageActivity : AppCompatActivity() { private val TAG = "MyPageActivity" private val uid = FirebaseAuthUtils.getUid() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_my_page) getMyData() } private fun getMyData() { val myImage = findViewById<ImageView>(R.id.myImage) val myUid = findViewById<TextView>(R.id.myUid) val myNickname = findViewById<TextView>(R.id.myNickname) val myAge = findViewById<TextView>(R.id.myAge) val myCity = findViewById<TextView>(R.id.myCity) val myGender = findViewById<TextView>(R.id.myGender) val postListener = object : ValueEventListener { override fun onDataChange(dataSnapshot: DataSnapshot) { // Get Post object and use the values to update the UI Log.d(TAG, dataSnapshot.toString()) val data = dataSnapshot.getValue(UserDataModel::class.java) // myUid.text = data!!.uid // myNickname.text = data.nickname // myAge.text = data.age // myCity.text = data.city // myGender.text = data.gender } override fun onCancelled(databaseError: DatabaseError) { // Getting Post failed, log a message Log.w(TAG, "loadPost:onCancelled", databaseError.toException()) } } // why null ? Log.d(TAG, uid) FirebaseRef.userinfoRef.child(uid).addValueEventListener(postListener) } } package com.example.sogating.utils import com.google.firebase.auth.FirebaseAuth class FirebaseAuthUtils { companion object { private lateinit var auth: FirebaseAuth fun getUid() : String { auth = FirebaseAuth.getInstance() return auth.currentUser?.uid.toString() } } } 자세한 소스 입니다. https://github.com/dongmyoungLee/sogating_app
-
미해결
수정해보았는데 답장이 오지 않습니다2
수정해보았는데 답장이 오지 않습니다.를 쓰고 Ai인턴에게 답을 받았지만 도움이 되지않습니다. 어떤 글을 참고하라고 하는데 그것을 봐서는 모르겠고 직관적으로 어떻게 수정을 해야하는지 알려주었으면 좋겠습니다. 써주신 글로 알아먹을 수 있다면 좋겠지만 마음도 다급하고 모르겠습니다. ㅠㅠsend를 누르면 터미널에 이렇게 뜹니다. Server Running at 5000 C:\project\vswork\chatbot-app-master\node_modules\google-gax\node_modules\google-auth-library\build\src\auth\jwtclient.js:193 throw new Error('The incoming JSON object does not contain a client_email field'); ^ Error: The incoming JSON object does not contain a client_email field at JWT.fromJSON (C:\project\vswork\chatbot-app-master\node_modules\google-gax\node_modules\google-auth-library\build\src\auth\jwtclient.js:193:19) at GoogleAuth._cacheClientFromJSON (C:\project\vswork\chatbot-app-master\node_modules\google-gax\node_modules\google-auth-library\build\src\auth\googleauth.js:313:16) at ReadStream.<anonymous> (C:\project\vswork\chatbot-app-master\node_modules\google-gax\node_modules\google-auth-library\build\src\auth\googleauth.js:347:36) at ReadStream.emit (node:events:519:28) at endReadableNT (node:internal/streams/readable:1696:12) at process.processTicksAndRejections (node:internal/process/task_queues:82:21) Node.js v20.16.0 PS C:\project\vswork\chatbot-app-master> 아래와 같이 값이 입력이되어있는데도말입니다. 루트파일에다가 구글 인증json을 위치를 끌어다 넣어도 그렇습니다. 가르쳐줘서 고맙습니다. 근데 이렇게 문제가 생겨서 이 구간을 벗어나고 싶습니다 ㅠㅠ
-
미해결Python Streamlit을 활용한 대시보드 만들기 (feat. 빅데이터 분석기사 실기 준비)
5단계 강의 코드관련(Streamlit st.data_editor() & st.column_config)
선생님 안녕하세요~좋은 강의 제공해주셔서 감사드립니다. Github에 해당 강의 코드가 없는것 같아 확인차 문의드립니다. 감사합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
카카오 맵 오류
import { useEffect } from "react"; declare const window: typeof globalThis & { kakao: any; }; export default function KakaoMapPage(): JSX.Element { useEffect(() => { const container = document.getElementById("map"); const options = { center: new window.kakao.maps.LatLng(33.450701, 126.570667), level: 3, }; const map = new window.kakao.maps.Map(container, options); console.log(map); }, []); return ( <> <script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=키" ></script> <div id="map" style={{ width: 500, height: 400 }}></div> </> ); } Error: Hydration failed because the initial UI does not match what was rendered on the server. Warning: Expected server HTML to contain a matching <div> in <div>.See more info here: https://nextjs.org/docs/messages/react-hydration-error 카카오 맵 하는데 오류 왜 뜨는건가요??
-
미해결스타트업 성장과 함께하는 AWS 클라우드 아키텍쳐 올인원
AWS Private-Subnet, NAT Gateway Keep-Alive 질문
안녕하세요. 우선 제가본 강의중에 제일 좋은강의를 만들어주셔서 감사합니다.private-subnet(ec2) >> NAT Gateway >> public-subnet(gateway) 경로를 통해 API를 호출하고 있습니다. 문제는 API 호출 시 첫 번째 요청은 느리지만, 이후의 요청은 빠르게 처리되며, 몇 분 후 다시 호출하면 같은 현상이 반복된다는 것입니다. AWS 문서를 확인해본 결과, NAT Gateway의 Keep-Alive 최대 시간이 360초라는 것을 알게 되었습니다.이와 같이 첫 번째 API 호출이 느렸다가 이후 호출이 빨라지는 문제를 해결할 방법이 있을까요?제가 생각해본 해결책은 private-subnet을 public-subnet으로 이동시켜 Keep-Alive 시간을 증가시키는 것이었지만, 다른 방법이 있을지 조언을 구하고자 합니다.