묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
구조 차이에 대한 문의
안녕하세요.vue cli (@vue/cli 5.0.8)로 프로젝트를 생성하니강의 구조와 다르게 /public/ 에 index.html이 생성되며,<script src="dist/build.js"> 도 없습니다.어떻게 main.js intex.html에 붙는 건지 궁금합니다. 감사합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
이터레이터 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.현재 교안으로 1회독중에 이터레이터 부분에서 막혀 질문드립니다. cout << &*lower_bound(a.begin(), a.end(), 3) << endl; cout << &*a.begin(); cout << &*lower_bound(a.begin(), a.end(), 3) - &*a.begin() << endl;각각의 주소값이0x139e05e580x139e05e50 임을 가정했을때0x139e05e58 - 0x139e05e50 연산이 왜 8이 아니라 2가 되는지 모르겠습니다.
-
미해결홍정모의 따라하며 배우는 C언어
배열의 subscript(index)는 0보다 커야 한다?
realm과 realm_tax 변수를 배열로 만들었고, 배열로 만들어진 각각의 공간에 일일히 데이터를 지정해뒀더니, int realm[10]에 딸려있는 realm[0]에 오류가 나더군요. 오류내용은 제목과 같이 "배열의 사이즈는 0보다 커야 한다." 였습니다. realm[0]에 커서를 대어보니 error-type이란 정보를 볼 수 있었습니다. 이거 어떻게 해야 오류를 내지 않수 있나요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
예외 처리 질문드립니다.
[질문 내용]안녕하세요 해당 강의에서 LoginCheckFilter 구현 중에 try - catch 코드에서 질문이 있어서 글을 남깁니다. catch (Exception e) { throw e; // 예외 로깅 가능하지만 , 톰캣까지 예외를 보내주어야 함.}부분이 이해가 가질 않습니다. 톰캣까지 예외를 보내줘야하는 이유를 모르겠네요. 그리고 try 구문 내에서 return으로 다음을 진행하지 않고 끝을 내는 부분도 잘 와닿지 않습니다.제가 예외 처리 부분 개념이 약한 거 같은데, 위에 질문 드린 내용들을 뭐라고 검색하고 공부하면 좋을까요?
-
미해결스프링 핵심 원리 - 기본편
의존관계 주입 질문입니다.
4. '스프링 컨테이너와 스프링 빈'강의에서 빈을 한번에 등록하고 그 이후에 의존관계를 주입한다고 알고있습니다. 그런데 '@Configuration과 싱글톤'강의에서 @Bean public MemberRepository memberRepository() { if (memoryMemberRepository가 이미 스프링 컨테이너에 등록되어 있으면?) { return 스프링 컨테이너에서 찾아서 반환; } else { //스프링 컨테이너에 없으면 기존 로직을 호출해서 MemoryMemberRepository를 생성하고 스프링 컨테이너에 등록 return 반환 } } 이렇게 되어있는데 else로직은 앞에서 말했던 것처럼 처음에 빈을 한번에 등록했을 때 실행되는 로직이 맞나요?
-
미해결[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]
로우데이터 깨짐
항상 질좋은강의 너무감사드립니다. 강사님 다름이아니라 데이터가 모두 깨져있는데 강의자료좀 받아도될까요...
-
해결됨스프링 핵심 원리 - 기본편
Thread.sleep 질문입니다.
제가 이해한 바로는 챕터9장 request스코프 강의에서 Thread.sleep을 이용해서 request소멸을 지연하였습니다.이때 sleep메서드는 InterruptedException를 가지고 있기때문에 예외처리를 해줘야합니다.그래서 throws로 예외를 넘겼는데 어떻게 처리되는 건지 궁금합니다.package hello.core2.web; import hello.core2.common.MyLogger; import hello.core2.logdemo.LogDemoService; import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.ObjectProvider; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller @RequiredArgsConstructor public class LogDemoController { private final LogDemoService logDemoService; private final ObjectProvider<MyLogger> myLoggerProvider; //의존관계 주입이 일어남 -> MyLogger는 스코프가 request이다. //request의 생존범위는 고객의 요청이 들어오고 나오기까지의 범위이다. //그런데 고객의 요청이들어오지를 않으니 오류가 난다. @RequestMapping("log-demo") @ResponseBody //뷰 화면이 없으므로 ResponseBody로 바로 반환 //원래는 뷰리졸버에게 템플릿을 넘긴다. public String logDemo(HttpServletRequest request) throws InterruptedException { MyLogger myLogger = myLoggerProvider.getObject();// getObject를 호출시키게해서 request 요청을 한다. String requestURL = request.getRequestURL().toString(); myLogger.setRequestURL(requestURL); //request 시작 myLogger.log("controller test"); Thread.sleep(1000); logDemoService.logic("testId"); //request 요청 마지막 //request close //request 요청이 끝남 return "OK"; } }
-
미해결MySQL 성능 최적화
AUTO INC Lock 하고 뮤택스 락 차이 관련해서 질문 드립니다.
제가 알기로는 뮤택스나 Auto inc Lock 둘다 Lock 기법을 이용해서 사용하는 것으로 알고 있습니다. 그런데 Auto Inc Lock 경우 뮤택스 락과 어떤 것이 차이가 있어서 뮤택스가 더 가볍다는 건가요? 제가 알기로는 Lock 기법이뮤택스세마포어모니터이렇게 3가지가 있다고 알고 있습니다.(간단히 설명하자면....) 일반적으로 뮤택스 경우 Lock 기법을 이용해특정 임계영역을 하나의 스레드로 작동해서 동시성 문제를 해결하고자 하는것인데 그외 세마포어, 모니터 경우 부가 기능 세마포어: 특정 임계영역에 몇개의 스레드를 허용 할것인지그리고 뮤택스 경우 해당 스레드가 Lock을 얻었으면 직접 Lock 을 해지해야 되는 반면 세모포어는 다른 스레드가 직접 다른 스레드 Lock을 해지 가능 모니터: 특정 스레드가 Lock을 획득하고 임계영역에 들어왔을때 어떠한 조건으로 인해 wating 상태로 변환되고 그 다음 스레드가 Lock 획득 후 임계영역으로 들어온다. 이렇게 알고 있습니다. 그럼 여기서 Auto Inc Lock 경우 어떤 Lock 기법을 이용하길래 뮤택스보다 느리다는 건가요?
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
ios 이미지 전송 질문
Future<void> uploadFile() async { // file picker를 통해 파일 선택 final filePath = _image!.path; // 파일 경로를 통해 formData 생성 var dio = Dio(); var formData = FormData.fromMap({ 'file' : await MultipartFile.fromFile(filePath!) }); dio.options.contentType = 'multipart/form-data'; dio.options.maxRedirects.isFinite; final token = await ref.read(secureStorageProvider).read(key:ACCESS_TOKEN_KEY); dio.options.headers.addAll({ 'authorization': 'bearer $token', }); print("ok"); // 업로드 요청 final response = await dio.post("http://$ip/s3/upload", data: formData); _downloadUrl = response.data; print(response.statusCode.toString() + "hihi"); }이미지 업로드 코드로 위 코드를 사용하고있는데 안드로이드 애뮬레이터에서는 전송이 잘 되지만 ios에서 해당 코드를 실행하면[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: DioError [DioErrorType.response]: Http status error [401] 계속 위와 같은 에러가 뜹니다 구글에 검색해도 잘 안나와서 질문드립니다.
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
IconButton 위치(정렬??) 질문
안녕하세요. 질문이 있어서 글올립니다. 8강 web_view까지 봤는데요, appBar에서 actions하위 IconButton home icon위치를 우측에서 좌측으로 변경하고 싶습니다. 방법이 있을까요???IconButton에 alignment속성이 있어서 추가해줘봤는데 어떤 값을 지정해도 우측에만 나오더라구요 ㅠㅠ return Scaffold(appBar: AppBar(title: Text('Wonsun'),backgroundColor: Colors.orange,centerTitle: true,actions: [IconButton(alignment: Alignment.topLeft,onPressed: () {controller.loadRequest(homeUrl);},icon: const Icon(Icons.home,color: Colors.white,))],),body: WebViewWidget(controller: controller,),);
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
insert() 출력할 때
안녕하세요수업 들으면서 이것저것 시도해보다가궁금한 것이 생겨 질문 올립니다.insert(2,7)print(a) 로 했을 때와print(a.insert(2,7)) 로 입력했을 시출력이 다릅니다.왜 다른지 알려주실 수 있을까요?a = [5, 2, 3, 1, 4] a.insert(2, 7) print(a) print(">>>>>") print(a.insert(2,7))
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
th:field 에 id부여 방식에 대해서 궁금합니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]먼저 올해도 spring강의 수강생들과 강사님 모두 새해 복 많이 받으시길 기원합니다제가 질문드리고싶은 사항은 th:field=*{regions} 를 통해서 id,name값을 설정하는 부분입니다 addForm에서는 item.regions에 아무런 값이 없는데도 불구하고 id를 th: each 문에 맞춰서 regions1,2,3 를 타임리프가 알아서 단순히 텍스트로 생성해주는 건가요?? addform에서는 분명 데이터가 없을텐데 저렇게 id가 생성되는 이유가 궁금해서 질문 드립니다
-
해결됨Next + React Query로 SNS 서비스 만들기
"Error: This action with HTTP GET is not supported."
안녕하세요.next-auth 로그인부분 수강중 "Error: This action with HTTP GET is not supported." 가 뜨고 있습니다. 다른분들 해결방법이 대부분 버전이슈였어서 버전을 맞췄는데도 해당 오류가 사라지지 않아서 질문드립니다..// package.json { "name": "nadang-com", "version": "0.1.0", "private": true, "scripts": { "dev": "next dev", "build": "next build", "start": "next start", "lint": "next lint", "mock": "npx tsx watch ./src/mocks/http.ts" }, "dependencies": { "@auth/core": "^0.18.0", "@faker-js/faker": "^8.4.1", "classnames": "^2.5.1", "dayjs": "^1.11.10", "next": "14.1.0", "react": "^18", "next-auth": "^5.0.0-beta.3", "react-dom": "^18" }, "devDependencies": { "@mswjs/http-middleware": "^0.9.2", "@types/cors": "^2.8.17", "@types/express": "^4.17.21", "@types/node": "^20", "@types/react": "^18", "@types/react-dom": "^18", "cors": "^2.8.5", "eslint": "^8", "eslint-config-next": "14.1.0", "express": "^4.18.2", "msw": "^2.1.7", "typescript": "^5" }, "msw": { "workerDirectory": "public" } }# 터미널오류 ○ Compiling /api/auth/[...nextauth] ... ✓ Compiled /api/auth/[...nextauth] in 894ms (494 modules) ########### http://localhost:9090 ########### http://localhost:9090 [auth][error] UnknownAction: Cannot parse action at /api/auth/providers .Read more at https://errors.authjs.dev#unknownaction at parseActionAndProviderId (webpack-internal:///(rsc)/./node_modules/next-auth/node_modules/@auth/core/lib/utils/web.js:90:49) at toInternalRequest (webpack-internal:///(rsc)/./node_modules/next-auth/node_modules/@auth/core/lib/utils/web.js:32:40) at Auth (webpack-internal:///(rsc)/./node_modules/next-auth/node_modules/@auth/core/index.js:82:103) ..중략 [auth][error] UnknownAction: Cannot parse action at /api/auth/error .Read more at https://errors.authjs.dev#unknownaction at parseActionAndProviderId (webpack-internal:///(rsc)/./node_modules/next-auth/node_modules/@auth/core/lib/utils/web.js:90:49) at toInternalRequest (webpack-internal:///(rsc)/./node_modules/next-auth/node_modules/@auth/core/lib/utils/web.js:32:40) at Auth (webpack-internal:///(rsc)/./node_modules/next-auth/node_modules/@auth/core/index.js:82:103) at httpHandler (webpack-internal:///(rsc)/./node_modules/next-auth/index.js:139:80) at C:\Users\INA\Documents\workspace\next\nadang-sns\node_modules\next\dist\compiled\next-server\app-route.runtime.dev.js:6:63815 ... at DevServer.renderToResponseWithComponentsImpl (C:\Users\INA\Documents\workspace\next\nadang-sns\node_modules\next\dist\server\base-server.js:1463:53) ○ Compiling /src/middleware ... ✓ Compiled /src/middleware in 1197ms (218 modules) //LoginModal.tsx "use client"; import style from "@/app/(beforeLogin)/_component/login.module.css"; import { signIn } from "next-auth/react"; import { useRouter } from "next/navigation"; import { ChangeEventHandler, FormEventHandler, useState } from "react"; export default function LoginModal() { const [id, setId] = useState(""); const [password, setPassword] = useState(""); const [message, setMessage] = useState(""); const router = useRouter(); const onSubmit: FormEventHandler<HTMLFormElement> = async (e) => { e.preventDefault(); setMessage(""); let shouldRedirect = false; try { await signIn("credentials", { username: id, password, redirect: false, //true로 하면 서버에서 리다이렉트 }); shouldRedirect = true; } catch (error) { console.error(error); setMessage("아이디 또는 비밀번호가 일치하지 않습니다."); } if (shouldRedirect) { router.replace("/home"); } }; const onClickClose = () => { router.back(); }; const onChangeId: ChangeEventHandler<HTMLInputElement> = (e) => { setId(e.target.value); }; const onChangePassword: ChangeEventHandler<HTMLInputElement> = (e) => { setPassword(e.target.value); }; return ( <div className={style.modalBackground}> <div className={style.modal}> <div className={style.modalHeader}> <button className={style.closeButton} onClick={onClickClose}> <svg width={24} viewBox="0 0 24 24" aria-hidden="true" className="r-18jsvk2 r-4qtqp9 r-yyyyoo r-z80fyv r-dnmrzs r-bnwqim r-1plcrui r-lrvibr r-19wmn03" > <g> <path d="M10.59 12L4.54 5.96l1.42-1.42L12 10.59l6.04-6.05 1.42 1.42L13.41 12l6.05 6.04-1.42 1.42L12 13.41l-6.04 6.05-1.42-1.42L10.59 12z"></path> </g> </svg> </button> <div>로그인하세요.</div> </div> <form onSubmit={onSubmit}> <div className={style.modalBody}> <div className={style.inputDiv}> <label className={style.inputLabel} htmlFor="id"> 아이디 </label> <input id="id" className={style.input} value={id} onChange={onChangeId} type="text" placeholder="" /> </div> <div className={style.inputDiv}> <label className={style.inputLabel} htmlFor="password"> 비밀번호 </label> <input id="password" className={style.input} value={password} onChange={onChangePassword} type="password" placeholder="" /> </div> </div> <div className={style.message}>{message}</div> <div className={style.modalFooter}> <button className={style.actionButton} disabled={!id && !password}> 로그인하기 </button> </div> </form> </div> </div> ); } // route.ts export { GET, POST } from "@/auth"; // auth.ts import NextAuth from "next-auth"; import CredentialsProvider from "next-auth/providers/credentials"; console.log("###########", process.env.AUTH_URL); export const { handlers: { GET, POST }, auth, } = NextAuth({ // 직접 만든 페이지는 따로 지정해줘야함 pages: { signIn: "/i/flow/login", newUser: "/i/flow/signup", }, providers: [ CredentialsProvider({ async authorize(credentials) { console.log("@#@#@#@#", credentials); const authResponse = await fetch(`${process.env.AUTH_URL}/api/login`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ id: credentials.username, password: credentials.password, }), }); if (!authResponse.ok) { return null; } const user = await authResponse.json(); return user; }, }), ], }); 혹시 제가 확인하다가 빠뜨린 부분이 있거나 잘못된 부분이 있다면 알려주시면 감사하겠습니다 ㅠㅠㅠ계속 node_modules .next packge-lock.json 다 지우고 깔고 코드 하나하나 바꿔보고 하다보니까 이제 뭐가 어디서부터인지 보이지가 않습니다 ㅠㅠㅠㅠ
-
미해결UIKit - iOS14 실무 가이드 <iOS앱 진짜 개발자 되기>
20:01 쯤에서
execute: ()-> void 에서 바로 {code}로 형태를 바꾸시던데 어떻게 하는건가요? 단축키가 따로 있나요?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
커스텀 위젯 변수 선언 위치 차이
StatelessWidget이나 StatefulWidget에서 변수를 선언할 때빌드 함수 내에 선언하는 것과 빌드 함수 밖에 선언하는 것은 어떤 차이가 있나요?
-
미해결Do it! Node.js 프로그래밍 입문
localhost:3000 응답없음 문제
안녕하세요. 블로그앱 만들 때 localhost:3000을 사용하고 있는데요. 메인 코드 파일을 실행하면 터미널에서는 서버/몽고DB가 실행 중이라고 뜨는데 포트는 응답이 없네요. 8000 등 다른 포트로 바꿔봐도 마찬가지고요.. 이전까지는 문제가 없다가 갑자기 이래서 어떻게 해야할지 모르겠습니다+_+...혹시 시도해볼만한 방법이 있을까요? 알려주시면 감사하겠습니다.
-
미해결Vue 3 시작하기
윈도우 터미널에서 powershell 사용 비추 이유
터미널에서 기본으로 powershell이 설정되어 있는데node -v 나 npm 명령어도 잘 실행됩니다.그런데 이를 사용말고 cmder을 사용하라는 이유가 뭔가요?
-
해결됨야, 너도 AI 서비스 만들 수 있어. [이미지 AI 서비스 서버리스 풀스택]
Lecture 7 내용 진행중 오류
Lecture 7 진행 하고 있는데.. 코드를 복사해서 붙여 넣어서 똑같이 만든 다음 봐보니까 lambda.ts에서 오류?가 2개가 나오더라구요..내용은 이렇습니다.Bucket: Bucket.Uploads.bucketNameTableName: Table.Collections.tableName여기에 Uploads / Collections 가 속성이 없습니다라고 나오네요.. 확인 부탁드립니다!lambda.ts 오류 내용MyStack.ts 내용
-
해결됨STM32 FreeRTOS 구현
uart 통신 메세지가 두번 출력됩니다..
uart 통신은 잘 되어서 메세지는 출력이 되는데 메세지가 한번출력되고 간격을 두고 또 출력되어 총 두번 출력됩니다. 혹시나 툴의 차이인가 해서 putty로도 진행을 해보았으나 동일하게 두번 메세지가 출력됩니다. 프로젝트도 다시 구성해보았는데 동일한 문제가 발생했습니다. 뭐가 문제일까요..?ㅠㅠ
-
해결됨자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 2(마스터편)
지역 내부 클래스 질문드립니다.
"메서드 호출 이후에도 사용해야 하는 경우가 있을 수 있으므로 지역 내부 클래스에서 사용하는 메서드의 지역 변수나 매개 변수는 final로 선언됨"라고 말씀하셨는데 final로 선언되면 저장되는 영역이 달라지나요? 왜 final을 사용하는지 궁금해서 여쭤봅니다