묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
강사님 강의자료 인쇄용으로 부탁드립니다.
강사님 강의자료 인쇄용으로 부탁드립니다!
-
미해결CloudNet@ - Amazon EKS 기본 강의
AWS VPC CNI의 ENI에서 질문이 있습니다.
안녕하세요 강의 잘 음미하고 있습니다." Core DNS파드 배포시에 ENI slot에 Secondary IP가 전부 차 있는 것을 확인하고(실제로 파드가 사용은 안하고 있지만 L-IPAM의 warm pool에서 할당만 받은 상태) 이후 slot이 가득 차 있으므로 새로운 ENI를 생성한다. 따라서 2개의 ENI가 생긴다. " 라고 말씀해 주셨습니다.그래서 노드 셀렉터걸어서 Core DNS 있는 노드에 배포해 봤는데, 첫 파드 생성 시에만 저 규칙(ENI 생성)이 적용되고, 계속해서 규칙대로 ENI가 생성되는 것은 아니고 기존 ENI 2개에 있는 Secondary IP를 가져다 쓰더라구요. 당연히 계속 ENI를 생성하는 건 비용 측면이나 네트워크 측면이나 비효율적이니 그러려니 싶겠는데, 노드에 첫 파드 생성 시에(aws-node, kube-proxy 제외)는 왜 항상 ENI가 1개는 추가로 생성되면서 시작하게 되는건가요? 그냥 ENI에 남은 IP가 있는데 쓰면 되지 않을까요? 감사합니다. 수업 내용이 꽤나 딥다이브해서 이게 이거구나 할 때가 많아서 좋습니다. ㅎㅎ
-
미해결홍정모의 따라하며 배우는 C언어
실행 파일이 안만들어져요..ㅠㅠ
분명히 똑같이 파일경로 찾아서 환경변수 안 패스에 잘 넣고 했는데.. exe 파일 자체가 뜨질 않습니다.. 잘못된 점이 있나요?
-
미해결스프링 핵심 원리 - 기본편
mainDiscountPolicy 사용 시 StartApplicationTest에서 에러가 납니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요. mainDiscountPolicy를 만들고 test를 돌려봤는데 다음과 같은 에러가 납니다.StartApplicationTest를 제외하고는 다 통과합니다.잘 따라한 것 같은데 에러가 나서 질문드립니다. 어떻게 해결해야 할까요? java.lang.IllegalStateException: Failed to load ApplicationContext for [MergedContextConfiguration@15f2eda3 testClass = spring.demo.StartApplicationTests, locations = [], classes = [spring.demo.StartApplication], contextInitializerClasses = [], activeProfiles = [], propertySourceDescriptors = [], propertySourceProperties = ["org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true"], contextCustomizers = [org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory$DisableObservabilityContextCustomizer@1f, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizer@27912e3, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@30b6ffe0, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@24c22fe, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@72ade7e3, org.springframework.boot.test.context.SpringBootTestAnnotation@315e37a3], contextLoader = org.springframework.boot.test.context.SpringBootContextLoader, parent = null]
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
CSS 포지셔닝(clear) 관련 질문입니다.
float속성을 상속받아서 마지막 div는 제일 위로 올라가서 확인이 안된다고 하셨는데질문1) 제일 위로 올라간 이유가있나요?질문2) float속성을 상속받는다고 하셨는데 left , right둘다 상속받는건가요 아니면 마지막에 설정된 right만 상속받는건가요?
-
해결됨디자인 시스템 with 피그마
최고입니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결
localhost 접속시 다른 프로젝트가 실행됩니다.
인텔리제이에서 application 실행 후 지정한 port번호로 localhost를 접속하면 현재 프로젝트가 아닌 다른 프로젝트가 실행됩니다. 캐시가 남아있는 경우일 수도 있다고 해서 브라우저 캐시를 지워보거나 시크릿으로 실행했는데도 동일합니다.어떻게 해결해야하나요?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
12번 암호문제 컴파일 에러가 나는 이유가 뭘까요?
package String; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class _01_12_암호_복습 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); String s = br.readLine().strip(); s = s.replace('#', '1').replace('*', '0'); StringBuilder sb = new StringBuilder(); for (int i = 0; i < s.length(); i += 7) { String word = s.substring(i, i + 7); sb.append((char) Integer.parseInt(word, 2)); } System.out.println(sb); br.close(); } }
-
미해결
spring security 6.2.1 버전인데요
해당 시큐리티 사용하는데요 아무리해도 list 누르면 로그인이 안될경우 로그인 창으로 가야하는데 바로 list페이지로 가버려요시큐리티가 재대로 가져오지 못하는 부분인거같은데 어떻게 해야하 할까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
paramMap과 model
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 둘 다 request 파라미터에 관한 변수들 아닌가요??근데 왜 두 변수로 나눠서 사용하는 건가요??
-
해결됨스프링 핵심 원리 - 기본편
static class
static class 설정파일왜 대부분의 테스트시 static class 를 이용해서 스프링설정을 하시나요? default class 를 이용해서 스프링 설정을 하는건 어떤지 궁금합니다.
-
미해결[중급편] 코인 가격 모니터링 앱 제작 (Android Kotlin)
Notification을 실행했을때
안녕하세요Notification을 실행을 했을때 logcat 에서 Suppressing notification from package com.example.coco by user request라고 메시지가 나오고 있습니다. 그래서 알림이 안뜨는것 같습니다.
-
해결됨스프링 핵심 원리 - 기본편
스프링 컨테이너를 테스트에 통합한 경우
강의자료에 아래의 문장이 있습니다. 순수한 자바 테스트 코드에는 당연히 @Autowired가 동작하지 않는다. @SpringBootTest 처럼 스프링 컨테이너를 테스트에 통합한 경우에만 가능하다. 이 말의 의미가 아래 2가지 경우 모두 해당되는게 맞을까요?1) @SpringBootTest 이 있는 클래스 내부에서 @Autowired 를 사용해서 의존관계주입하는 경우 2) Class 내부에 @Autowired 를 사용해서 의존관계를 표시하고 new AnnotationConfigApplicationContext(test.class) 으로 스프링 컨테이너를 생성한 경우
-
해결됨김영한의 실전 자바 - 기본편
static class
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]static class 에 대해서 설명은 다음 강의에서 해주시나요? static class 혹은 inner class 에 관해서 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
localhost8080이 실행이안됩니다...
실행 버튼도 누르고 21버전으로 모두 맞췄는데도 자꾸 안되네요
-
미해결Next + React Query로 SNS 서비스 만들기
안녕하세요 Next-auth 질문을 올려봅니다.
next-auth로 로그인하기의 강의를 듣던 도중 오류가 생겨 게시판에 글을 남겨봅니다. 문제는 Login 모달에서 로그인을 하였을 때 http://localhost:3000/api/auth/error 로 페이지가 이동 되어집니다.next-auth "next-auth": "^5.0.0-beta.3",.env .env.local 에 AUTH_URL=http://localhost:9090 를 넣어 두었고route.tsexport { GET, POST } from "@/auth";handlers.tsimport { http, HttpResponse, StrictResponse } from "msw"; import { faker } from "@faker-js/faker"; const User = [ { id: "zeroCho", nickName: "zero", image: "/yRsRRjGO.jpg" }, ]; export const handlers = [ // 로그인 http.post("/api/login", () => { console.log("로그인"); return HttpResponse.json(User[1], { headers: { "Set-Cookie": "connect.sid=msw-cookie;HttpOnly;Path=/", // Http cookie 넣어주기 }, }); }), // 로그아웃 http.post("/api/logout", () => { console.log("로그아웃"); return new HttpResponse(null, { headers: { "Set-Cookie": "connect.sid=;HttpOnly;Path=/;Max-Age=0", }, }); }), // 회원 가입 http.post("/api/users", async ({ request }) => { console.log("회원가입"); // return HttpResponse.text(JSON.stringify('user_exists'), { // status: 403, // }) return HttpResponse.text(JSON.stringify("ok"), { headers: { "Set-Cookie": "connect.sid=msw-cookie;HttpOnly;Path=/;Max-Age=0", }, }); }), ];auth.tsimport NextAuth from "next-auth"; import CredentialsProvider from "next-auth/providers/credentials"; export const { handlers: { GET, POST }, auth, signIn, } = NextAuth({ pages: { signIn: "/i/flow/login", newUser: "/i/flow/signup", }, providers: [ CredentialsProvider({ async authorize(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 { email: user.id, name: user.nickname, image: user.image, ...user, }; }, }), ], });LoginModal.tsx"use client"; import React, { ChangeEventHandler, FormEventHandler, useState } from "react"; import styles from "./loginModal.module.css"; import { redirect, useRouter } from "next/navigation"; // client import { signIn } from "next-auth/react"; export function LoginModal() { const [id, setId] = useState<string>(""); const [password, setPassword] = useState<string>(""); const [message, setMessage] = useState<string>(""); const router = useRouter(); const onSubmit: FormEventHandler<HTMLFormElement> = async (e) => { e.preventDefault(); setMessage(""); try { await signIn("credentials", { username: id, password, redirect: false, }); router.replace("/home"); } catch (err) { console.error(err); setMessage("아이디와 비밀번호가 일치하지 않습니다."); } }; 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={styles.modalBackground}> <div className={styles.modal}> <div className={styles.modalHeader}> <button className={styles.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={styles.modalBody}> <div className={styles.inputDiv}> <label className={styles.inputLabel} htmlFor="id"> 아이디 </label> <input id="id" className={styles.input} value={id} onChange={onChangeId} type="text" placeholder="" /> </div> <div className={styles.inputDiv}> <label className={styles.inputLabel} htmlFor="password"> 비밀번호 </label> <input id="password" className={styles.input} value={password} onChange={onChangePassword} type="password" placeholder="" /> </div> </div> <div className={styles.message}>{message}</div> <div className={styles.modalFooter}> <button className={styles.actionButton} disabled={!id && !password}> 로그인하기 </button> </div> </form> </div> </div> ); } 혹시 같은 문제를 겪으신 분이 있었을까요? 아니면 겪으신 분 중에 해결 하신 분이 있으면 도움 부탁드립니다.
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
인라인 요소 관련 질문입니다.
퍼블리싱의 모든것 인라인 요소 , 블록요소 , 인라인 블록 요소편에서인라인 요소는 크기값을 갖을수 없다고 했는데CSS로 HTML가로배치편에서 실습하실때 span태그에 width와 height값이 적용되는데 이유를 알수 있을까요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
Spring EL 표현식 ${} 관련
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]일반적으로 ${}를 쓸 때는 중괄호 내에 지정된 필드에 "실제 값"을 호출하는 것으로 알고 있습니다 예를 들어 <span th:text="${item.itemName}"></span>의 경우 Item객체에 프로퍼티 접근을 통하여 itemName 필드에 들어있는 "실제 값"에 접근을 합니다즉 itemName의 실제 값인 "itemA"를 반환하게 되는 것이지요 하지만<form th:object="${item}"><label for="itemName"></label><input type="text" th:field ="${item.itemName}"></form>와 같이 th:object=${item}으로 폼에서 item 객체를 지정해서 th:field=*{itemName} 하게 되면 이때는 "실제 값"을 꺼내는 게 아닌 itemName이라는 "변수 이름"을 꺼내서 id , name , value값으로 지정하게 됩니다 [핵심 질문]이에 따라 일반적인 상황에선 Spring EL 문법인 ${}의 용도가 "실제 값"을 꺼내는 거지만 th:field같은 예외적인 상황에서만 "변수 이름"에 접근하는 것이라고 이해해도 될까요?
-
해결됨[초급] QML 프로그래밍 1편
Qt 라이센스 문의
안녕하세요. Qt 라이센스 정책에 관련하여 질문이 있습니다. 오랫동안 Qt 5.6 베이스로 개발을 진행해 왔습니다. 최근 나날이 디바이스 환경이 다양화되고 있어서 Qt 디자인 쪽 개선에 관심이 많습니다. 그래서 QML을 현재 검토 중에 있습니다. 강의도 Qt 6 버전으로 진행되고 있고 개선된 QML이나 Quick Controls 모듈 때문에서라도이후 버전으로 업그레이드를 해야 할 것 같더라구요. 그래서 지금 버전 업이나 상용라이센스를 검토 중에 있있습니다. 라이센스 비용이 작은 회사에서 만만치 않아서 고민도 되구요.. ㅠ ㅠ아래처럼 나무위키에 5.7부터는 LGPL v3 영향으로 상용라이선스로 갈아타야한다고 명시되어 있던데아래 구문의 의미가 잘 이해되지가 않네요. =================================================================LGPL v3 도입에 따른 영향Qt 5.7부터 LGPL v2.1이 폐지되었다. LGPL v3 상에서 개발할 경우 디바이스에 탑재되는 Qt Framework는 반드시 유저가 기기를 해킹할 수 있도록 만들어야 하는 조건이 생겼다.(Tivoization 방지) 이로 인해 인포매틱스 업체 등 디바이스에 Qt를 넣는 기업들은 유저의 해킹을 허용하는 방안을 생각하기가 힘드므로 Qt 5.6을 쓰던가 상용 라이선스를 구매해야 한다.==================================================================버전 업을 하면서 LGPL v3 모듈 동적 링크만으로 상업적용도로 배포가 가능한지..5. 7버전 이후로는 상용라이센스가 필수 인지 궁금합니다. 참고로 저는 LGPL 모듈에 한에서만 SW 개발을 진행하고 있습니다. 읽어주셔서 감사합니다.
-
미해결다양한 사례로 익히는 SQL 데이터 분석
캐글데이터 Postgresql 사용
안녕하세요! 강의 정말 잘 보고 있습니다!.강의 참고하면서, Kaggle에서 괜찮은 데이터로 매출분석, 퍼널분석 프로젝트해서 포트폴리오 만들어 보려고 하고 있습니다.그런데 Kaggle csv데이터를 Postgresql에서 쉽게 로드할 수 있는 방법이 있을까요?검색해보니 pgAdmin이라는 툴도 있는 것 같던데, DBeaver하고는 사용하는 법이 많이 다른 것 같아서요.DBeaver에서 csv 파일 DB에 적재하려면, 어떻게 해야할까요?? 감사합니다!