묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
7.2 강의 앤써블 설치하는데 앤써블이 뭐고 왜 사용하는건가요?
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요]2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요](https://www.inflearn.com/blogs/1719)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.5. vagrant up 에서 발생하는 문제는 주로 호스트 시스템(Windows, MacOS)과 연관된 다양한 조건에 의해 발생합니다. 따라서 이를 모두 제가 파악할 수 없어서 해결이 어렵습니다. vagrant up으로 진행이 어렵다면 제공해 드리는 가상 머신(VM) 이미지를 import해서 진행하시기 바랍니다. (https://www.inflearn.com/questions/992407/comment/281901)[질문 하기]7.2 강의 앤써블 설치하는데 앤써블이 뭐고 왜 사용하는건가요?
-
미해결[코드팩토리] [입문] 9시간만에 끝내는 코드팩토리의 Javascript 무료 풀코스
n개의 await를 사용하면, 이들은 promise chaining 처럼 동작하나요?
코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다![코드팩토리 디스코드]https://bit.ly/3HzRzUM - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요, 알찬 강의와 친절한 답변 덕분에 열심히 학습하고 있습니다. 감사합니다! 이번 수업에서 사용하셨던 예제입니다.async function runner() { const result1 = await getPromise(1); // 1초 소요 const result2 = await getPromise(5); // 5초 소요 const result3 = await getPromise(8); // 8초 소요}runner();console.log('실행 끝') 질문입니다.위의 코드에서, runner()를 실행했을 때 총 소요시간은 14초가 걸린다고 수업에서 말씀하셨습니다. async, await 키워드를 사용하면 promise chaining 처럼 동작하는 건가요? Promise.all() 처럼 동작해야 비동기의 효율성을 극대화할 수 있다고 생각했는데 의외여서요! promise chaining으로 동작하는 것은 마치 동기 함수들을 연속적으로 실행하는 것과 다를 바가 없어보입니다.. 어떤 부분을 제가 잘못 이해하고 있는걸까요?
-
미해결실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크
Repartition과 Coalesce에 대해 궁금한 점이 있어요!
안녕하세요 선생님.Repartition & Coalesce 에 강의를 보다가 궁금한 점이 있습니다. 현재 현업에서 Repartition을 수행하여 partition 한 데이터를 한 번 더 repartition 해주고 있는데요..예를들어 파티션 개수가 1개이고 -> 파일 개수가 100개라고 가정할 때, // count 가 100개 -> 1개로 줄이려고 함(ex) hdfs dfs -count {path}/{partition_key}={partition_value}/ 파일 개수를 1개로 줄이고자 할 때는, repartition을 수행하는 것 보단, coalesce 를 수행하여 1개로 줄이는 게 더 적합하다는 (왜냐하면 wide shffling을 진행하기 때문에..?) 이야기 이실까요? 이 부분을 잘 이해를 못 했습니다 ㅠㅠ. 감사합니다!
-
미해결Flutter로 SNS 앱 만들기
섹셕9 좋아요 기능추가에서
firebaseFirestore.runTransaction(transactionHandler);저는 강사님과 같은 코딩이 안돼는건 버젼차이 인가요?버젼 차이면 그냥 넘어 가겠습니다
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
섹션 2 HelloServlet 진행 도중 화이트 라벨 에러페이지 발생
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]섹션 2 HelloServlet 진행 도중 코드를 똑같이 작성하고, http://localhost:8080/hello?username=world를 입력 하였는데 화이트 라벨 에러 페이지가 발생했습니다. 어떻게 해야하나요?
-
미해결
금융권 IT (은행) 공부인증 스터디
[ 전공필기 + sql 풀기 인증 스터디 ]금융권 취업을 위하여 매일매일 공부한걸 인증하는 스터디입니다.2024 금융권 채용대비 통통한 IT 교재가 필요합니다 전공필기: 2024금융권 채용대비 통통한 IT · 디지털 상식 교재 하루에 30~50p 정도 읽고 노션에 요약2 .sql, 알고리즘 : 프로그래머스 or 리트코드 sql 원하는 문제 3문제 풀기경제 기사 읽고 요약 및 생각 노션에 적기주말 제외한 평일에 진행할 예정이고, 강제성을 두고자 보증금 5천원, 매일 진행하고 인증하고 만약 불이행시 -1000원. ( 일정이 있을시 전날에 다음날꺼까지 미리 하기 가능) https://open.kakao.com/o/s4ZJCKIg
-
해결됨[리뉴얼] 타입스크립트 올인원 : Part1. 기본 문법편
Lowercase type 관련 질문
안녕하세요.[리뉴얼] 타입스크립트 올인원 강의를 듣고 있는데, "infer 타입 분석" 강좌에서 Lowercase type을 배웠습니다.강의에서는 아래와 같이 해주면 에러가 안나던데 저는 ts2322 에러 Type 'string' is not assignable to type '"hello world"'. 가 발생합니다. ts version 은 5.5.4 입니다. const words = 'Hello World'; const lowerCaseWords: Lowercase<typeof words> = words.toLowerCase(); 아래와 같이 타입단언으로 수정하면 에러가 안나는데, 다른 방법이 있을까요?const words = 'Hello World'; const lowerCaseWords = words.toLowerCase() as Lowercase<typeof words>;
-
해결됨초보자를 위한 BigQuery(SQL) 입문
JOIN 5번 문제 질문 있습니다!
안녕하세요, 카일님! 수업 잘 듣고 있습니다!문제 해설 보기 전 혼자 풀었을 때, 저는 아래와 같이 쿼리를 작성했어요. 서브쿼리 안에 필요한 컬럼만 넣고 보면서 쓰는 게 편하더라고요. 제 쿼리로 쓰면 데이터를 더 많이 처리하게 되는 건지 궁금해서 질문합니다!
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
포인터 강의와 더불어서 24년2회 기출문제 swap 낚시문제 질문있어요
29분 포인트 강의를 보다보니 24년2회 swap 낚시문제가 떠올라서 질문드립니다. void swap(){int temp;temp =a;a = b;b = temp;}int main(){int a = 11;int b = 19;swap(); 기출2회 일부 추출인데요.. 해당 스왑부분을 보면 포인터변수를 준 것 외엔 차이가 없어 보입니다.위 기출의 경우엔 왜 스왑이 될 수 없는지 부연설명이 있으면 이해가 빠를 것 같아요!(스왑 함수에서 temp값에 a넣어주고 a에 b를 대입하고.. 포인터변수 외엔 차이를 못느끼겠습니다.)
-
해결됨BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)
3-7. 리텐션 쿼리 작성해보기(Weekly, Montly)
Weekly 리텐션 분석#Weekly 리텐션 with base as ( select distinct user_id, user_pseudo_id, event_name, date(datetime(timestamp_micros(event_timestamp), "Asia/Seoul")) as event_date, datetime(timestamp_micros(event_timestamp), "Asia/Seoul") as event_datetime, from `advanced.app_logs` where event_date between "2022-08-01" and "2022-11-03" ), retain_base as ( select user_pseudo_id, event_week, first_week, date_diff(event_week, first_week, week) as diff_of_week from ( select distinct user_pseudo_id, date_trunc(event_date, week(monday)) as event_week, date_trunc(min(event_date) over(partition by user_pseudo_id),week(monday)) as first_week, -- 유저의 첫 접속 주차 from base ) ) select diff_of_week, user_cnt, first_value(user_cnt) over(order by diff_of_week) as first_user_cnt from ( select diff_of_week, count(distinct user_pseudo_id) as user_cnt from retain_base group by diff_of_week ) order by diff_of_week Montly 리텐션 분석#Montly 리텐션 with base as ( select distinct user_id, user_pseudo_id, event_name, date(datetime(timestamp_micros(event_timestamp), "Asia/Seoul")) as event_date, datetime(timestamp_micros(event_timestamp), "Asia/Seoul") as event_datetime, from `advanced.app_logs` where event_date between "2022-08-01" and "2022-11-03" ), retain_base as ( select user_pseudo_id, event_month, first_month, date_diff(event_month, first_month, month) as diff_of_month from ( select distinct user_pseudo_id, date_trunc(event_date, month) as event_month, date_trunc(min(event_date) over(partition by user_pseudo_id),month) as first_month, -- 유저의 첫 접속 주차 from base ) ), month_retain as ( select diff_of_month, user_cnt, first_value(user_cnt) over(order by diff_of_month) as first_user_cnt from ( select diff_of_month, count(distinct user_pseudo_id) as user_cnt from retain_base group by diff_of_month ) ) select diff_of_month, user_cnt, first_user_cnt, round(safe_divide(user_cnt, first_user_cnt),3) as retention_rate from month_retain order by diff_of_month 위클리랑 먼슬리 리텐션 쿼리 작성했습니다~
-
미해결
speed.js파일이 없는데ㅠ 거기오류라고 합니다.
import { Input, Button} from 'antd'; const { TextArea } = Input; import { useState } from "react";// 저장하는 곳임포트 const DiaryInput = ({ isLoading, onSubmit }) => { const [userInput, setUserInput] = useState(""); // isLoading 로딩상태에서 사용하는 변수 // inSubmit 다입력 작성하면 사용 const handleUserInput = (e) => { setUserInput(e.target.value); }; const handleClick = () => { onSubmit(userInput); }; return ( <div> <TextArea value={userInput} onChange={handleUserInput} placeholder="오늘 일어난 일들을 간단히 적어주세요." /> <Button loading={isLoading} onClick={handleClick}> GPT 회고록을 작성해줘! </Button> </div> ); } export default DiaryInput; // import { Input , Button} from 'antd'; // import { useState } from 'react'; // const { TextArea } = Input; // const DiaryInput = ({isLoading, onSubmit}) => { // const [userInput, setUserInput] = useState(""); // //사용자의 입력을 받아 상위 컴포넌트로 넘기기 // // 로딩상태에서는 제출버튼 못누루게 // const handleUserInput =(e)=>{ // setUserInput(e.target.value); // const handleClick = ()=>{ // onSubmit(userInput); // } // } // return ( // <div> // <TextArea value={userInput} onChange={handleUserInput} placeholder='오늘 하루 회고'/> // <Button loading={isLoading} onClick={handleClick}>GPT회고록 시작</Button> // </div> // ); // }; // export default DiaryInput;import { useState } from 'react'; import { CallGPT } from './api/gpt'; import DiaryInput from './components/DiaryInput'; const dummyData = { "title": "고립된 개발자의 고민", "thumbnail": "https://source.unsplash.com/1600x900/?programming", "summary": "혼자 코딩과제를 진행하면서 걱정이다.", "emotional_content": "최근 혼자 코딩과제를 진행하면서, 협업이 없이 모든 것을 혼자 결정하고 해결해야 한다는 부담감에 많이 무겁습니다. 강의를 듣고 최선을 다해 프로젝트를 진행했지만, 예상치 못한 버그들로 인해 스트레스가 많이 쌓였습니다. 스택오버플로와 GPT를 통해 문제를 해결하긴 했지만, 이러한 문제해결 방식이 정말로 제 개발 실력을 향상시키는지에 대해 의문이 듭니다. 왠지 스스로의 능력을 시험할 기회를 잃은 것 같아 아쉽고, 불안감도 커지고 있습니다.", "emotional_result": "이 일기에서 감지되는 감정은 불안, 부담감, 그리고 자신감의 결여입니다. 고립된 상황에서의 성공에 대한 압박감과 문제 해결 방법에 대한 의심은 정서적으로 큰 부담을 주고 있습니다. 자기 효능감이 낮아짐을 느끼는 상황입니다.", "analysis": "고립되어 문제를 해결하는 과정은 큰 스트레스와 불안을 유발할 수 있습니다. '혼자서 하는 일은 좋은 일이든 나쁜 일이든 더욱 크게 느껴진다'는 에릭 에릭슨의 말처럼, 혼자서 모든 것을 해결하려는 시도는 때로는 개인의 성장에 도움이 될 수 있지만, 지속적인 고립은 자기 효능감을 저하시킬 수 있습니다. 이러한 상황에서는 자신의 노력을 인정하고, 필요한 경우 도움을 요청하는 것이 중요합니다.", "action_list": [ "프로젝트 중 발생하는 문제를 혼자 해결하려 하지 말고, 멘토나 동료 개발자와 상의를 통해 해결 방안을 모색하라.", "정기적으로 자신의 학습 방법과 진행 상황을 평가하여, 필요한 경우 학습 방식을 조정하라.", "개발 과정에서의 스트레스 관리를 위해 적절한 휴식과 여가 활동을 통해 정서적 안정을 찾으라." ] }; function App() { const [data, setData] = useState(dummyData); // 우선 빈문자열로 해놓고 const [isLoading, setIsLoading] = useState(false); const handleClickAPICall = async (userInput) => { try { setIsLoading(true);// 처음에는 로딩을 트루 const message = await CallGPT({ prompt: `${userInput}`, }); // Assuming callGPT is a function that fetches data from GPT API setData(JSON.parse(message)); } catch (error) { // Handle error (you might want to set some error state here) } finally { setIsLoading(false);//다음에는 펄스로 } }; const handleSubmit = (userInput) => { handleClickAPICall(userInput); }; console.log(">>data", data); return ( <> <DiaryInput isLoading={isLoading} onSubmit ={handleSubmit} /> <button onClick={handleClickAPICall}>GPT API call</button> <div>title : {data?.title}</div> <div>analysis : {data?.analysis}</div> <div>emotional_content : {data?.emotional_content}</div> <div>emotional_result : {data?.emotional_result}</div> </> ); }; export default App; // import { useState } from "react"; // import { CallGPT } from "./api/gpt"; // import { message } from "antd"; // import DiaryInput from "./components/DiaryInput"; // const dumyData = JSON.parse(` // { // "title": "당황스러운 예제 에러", // "thumbnail": "https://source.unsplash.com/1600x900/?confused", // "summary": "가끔 예제 에러가 발생하여 당황함", // "emotional_content": "가끔 예제 에러가 나타나는 것이 정말 당황스럽다. 이런 상황들은 예상치 못한 문제로 인해 나를 혼란스럽게 만든다. 그럼에도 불구하고, 이런 에러들은 동시에 나의 문제 해결 능력을 시험한다.", // "emotional_result": "당황스러움과 혼란스러움이 느껴진다. 그러나 이는 예상치 못한 문제에 대처하는 능력을 향상시키는 과정일 수 있다.", // "analysis": "당신의 당황함과 혼란스러움은 예상치 못한 상황에 대한 불안감과 두려움을 반영할 수 있습니다. 하지만, '문제는 기회다'라는 유명한 격언을 기억하십시오. 이러한 에러들은 당신의 문제 해결 능력을 향상시키는 좋은 기회일 수 있습니다.", // "action_list": [ // "예상치 못한 에러에 대비하는 습관 만들기", // "문제 해결 능력 향상을 위한 자기계발", // "당황하지 않고 차분하게 상황을 평가하는 능력 기르기" // ] // } // `); // function App() { // const [data, setData] = useState(dumyData); // const [isLoading, setIsLoading] = useState(false); // // 여기로딩상태가 // const handleClickAPICall = async (userInput) => { // try{// try catch로 감싸서, 처음에는 로딩상태를 트루라고 하고 // setIsLoading(true); // const message = await CallGPT({ // prompt:'{userInput}', // }); // setData(JSON.parse(message));// 그리고 데이터가 잘오면 받아보자 // } catch (error){ // }finally{ // setIsLoading(false);// 나중에는 false라고 하자 // } // }; // const handleSubmit = (userInput)=>{ // handleClickAPICall(userInput); // }; // console.log(">>data", data); // return ( // <> // <DiaryInput isLoading={isLoading} onSubmit={handleSubmit} /> // // 여기로 옴 // <button onClick={handleClickAPICall}>GPT API call</button> // <div>data : {data?.title}</div> // <div>thumbnail: {data?.thumbnail}</div> // <div>summary : {data?.summary}</div> // <div>emotional_resul : {data?.emotional_resul}</div> // <div>emotional_content : {data?.emotional_content}</div> // <div>analysis: {data?.analysis}</div> // <div>action_list: {data?.action_list}</div> // </> // ); // } // export default App;{ "name": "my-gpt-diary", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "tsc -b && vite build", "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", "preview": "vite preview" }, "dependencies": { "@ant-design/icons": "^5.4.0", "antd": "^5.20.1", "react": "^18.3.1", "react-dom": "^18.3.1", "styled-components": "^6.1.12" }, "devDependencies": { "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "@typescript-eslint/eslint-plugin": "^7.15.0", "@typescript-eslint/parser": "^7.15.0", "@vitejs/plugin-react": "^4.3.1", "eslint": "^8.57.0", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-refresh": "^0.4.7", "typescript": "^5.2.2", "vite": "^5.3.4" } } 위의 이미지처럼 uncaugth 에러가 압니다. 그리고 speed.js라 비디오 어쩌고 하는데 저는 그런 파일 자체가 없습니다. 예제를 그냥 최신버전에 맞춰서 진행할 뿐입니다. ㅠㅠ 뭐가 문제일까요?
-
해결됨DevOps를 위한 Docker 가상화 기술 (Private Harbor Registry)
syslog 의미?용도?
안녕하세요. syslog 관련해서 질문드립니다.Container Logging System 사용 ② 섹션에서 syslog-nm 컨테이너(서버)에 logback 설정에 appender name="SYSLOG"는 백엔드의 logback을 이용해 다른 서버에서 로그를 관리하는 의미이고, 이전 섹션에서 컨테이너 실행시 --log-driver=syslog는 로그를 컨테이너 로그뿐만 아니라 전반적인 로그를 통합해서 본다는 의미로써 syslog 명칭만 동일하게 부여했을뿐 목적이 다른게 맞는거죠?저는 syslog라는거 자체가 컨테이너 로그 뿐만 아니라 광범위하게 통합해서 관리한다.라고 이해했었는데 해당 강의에서는 단순히 syslog 명칭만 같고 다른 의미로 쓰인거 같아 약간 혼동이 있네요.
-
해결됨팀 개발을 위한 Git, GitHub 입문
강의 자료 부탁드립니다.
안녕하세요. 강의 잘보고 있습니다. PPT 자료를 다운 받고 싶은데, 어디서 다운받아야 할지 모르겠네요. 시간되실때 이메일로 보내주시면 감사하겠습니다.이메일 : shinyeoneui@naver.com
-
해결됨독하게 시작하는 C 프로그래밍
%d와 %d 사이에 공백이 없다는 점에 주의
문자, 정수 입력 개행문자 제거 부분입니다.scanf_s("%d %d", &x, &y);scanf_s("%d%d", &x, &y);음 이게 공백이 있든 없든 둘다 똑같이 동작하는데 무슨 의미가 있는거죠??
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
q를 입력하면 예외가 발생하는데 그 이유를 모르겠습니다.
안녕하세요. 항상 강의 잘 듣고 있습니다 🙂public static void main(String[] args) throws InterruptedException { Printer printer = new Printer(); Thread printerThread = new Thread(printer, "printer"); printerThread.start(); Scanner sc = new Scanner(System.in); while (true) { log("프린터할 문서를 입력하세요. 종료 (q): "); String str = sc.nextLine(); if (str.equals("q")) { printerThread.interrupt(); break; } printer.addJob(str); } } static class Printer implements Runnable { Queue<String> jobQueue = new ConcurrentLinkedQueue<>(); @Override public void run() { log("outer 상태 : " + Thread.currentThread().isInterrupted()); while(!Thread.interrupted()) { try { if (jobQueue.isEmpty()) { continue; } String job = jobQueue.poll(); log("출력 시작: " + job + ", 대기 문서: " + jobQueue); log("inner 상태 : " + Thread.currentThread().isInterrupted()); Thread.sleep(3000); log("출력 완료"); } catch (InterruptedException e) { e.printStackTrace(); log("인터럽트!"); System.out.println(e.getMessage()); break; } } log("프린터 종료"); } public void addJob(String str) { jobQueue.offer(str); } }저는 q를 입력하면 인터럽트 상태가 false로 바뀌게 되고, 프린터 종료 로그가 남을 거라고 생각했습니다.실행하고 바로 q를 입력하면 제가 예상한 대로 동작하지만, 값을 입력 후 q를 입력하면Thread.sleep(3000);이 부분에서 InterruptedException 예외가 발생했습니다.저는 이 부분에서 의문점이 들었습니다.while(!Thread.interrupted()1. 인터럽트 상태가 바뀌었을 텐데 왜 예외가 발생하지?2. 상태가 안 바뀌었나?라는 생각을 하고 로그를 확인해봤는데07:21:21.366 [ printer] outer 상태 : false 07:21:21.366 [ main] 프린터할 문서를 입력하세요. 종료 (q): 123 07:21:22.790 [ main] 프린터할 문서를 입력하세요. 종료 (q): 07:21:22.796 [ printer] 출력 시작: 123, 대기 문서: [] 07:21:22.796 [ printer] inner 상태 : false q java.lang.InterruptedException: sleep interrupted at java.base/java.lang.Thread.sleepNanos0(Native Method) at java.base/java.lang.Thread.sleepNanos(Thread.java:491) at java.base/java.lang.Thread.sleep(Thread.java:522) at thread.control.printer.MyPrinterV3$Printer.run(MyPrinterV3.java:46) at java.base/java.lang.Thread.run(Thread.java:1570) 07:21:22.980 [ printer] 인터럽트! sleep interrupted 07:21:22.980 [ printer] 프린터 종료q를 입력하면 바로 예외가 발생해서 상태가 바뀌었는지는 잘 모르겠습니다.만약 상태가 안 변했다고 해도 결국 sleep 부분에서 예외가 발생할 텐데, 로그가 안 찍힌 이유도 모르겠습니다.그래서 여러 번 실행해본 결과 값 입력하고 3초 후 q를 입력하면 예외가 발생하지 않는다는 걸 알게 되었습니다.잠자고 있는 스레드를 깨워서 문제가 발생하는 것 같은데 제 지식으로는 여기까지인 것 같습니다.질문 1. while(!Thread.interrupted()) 이 부분에서 인터럽트 상태가 false로 변경되었을 것 같은데 예외가 발생한 이유를 모르겠습니다. 제가 다시 생각해보니 프린터 스레드는 sleep() 때문에 3초 기다리고 있는 상태에서 깨우니 sleep() 부분에서 예외가 발생하고 로그도 안 찍혔을 것 같다는 생각이 들었습니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
v3 질문
FrontControllerServletV3 코드에서 paramMap는 스프링 부트가 시작하고 http응답이 올때마다 새로운 객체가 생성되어 사용되는 건가요??private Map<String, String> createParamMap(HttpServletRequest request) { Map<String, String> paramMap = new HashMap<>(); request.getParameterNames().asIterator() .forEachRemaining(paramName -> paramMap.put(paramName, request.getParameter(paramName))); // paramName = "username","age" return paramMap; }
-
해결됨C개발자를 위한 최소한의 C++
쓸데없지만 질문드리고싶습니다
안녕하세요. 항상 양질의 강의 감사합니다.link 오류시, 컴파일러가 맹글링 해놓은 함수의 진짜 이름이 출력되고, 이러한 오류를 dll 을 사용함에 있어서 자주 볼 수 있다고 말씀하셨는데 리눅스에서 라이브러리든 실행파일이든 용량을 조금이나마 줄이기위해 stip??? 명령어를 사용해 디버깅 심볼을 없앨 수 있었던 것으로 기억합니다.근데, 디버깅 심볼에는 변수, 함수이름, 소스코드 줄 번호등 다양한 정보가 들어가 있다고 배웠었는데, 해당 명령어로 디버깅 심볼을 없애버린 라이브러리 파일을 사용하여 만든 소스파일을 빌드하는 경우에서, 링크 오류가 나게되면 어떠한 현상이 이뤄지는지 궁금합니다
-
미해결애플리케이션 배포 자동화와 CI/CD
ssh 비밀번호 일치하는데 오류가 뜹니다
제가 만든 프로젝트에서 배포하려고 강의를 보면서 따라하고 있습니다+scp 에러가 뜨길래 강의 보면서 따라했습니다우선 docker로 넘어가서 키 생성한 뒤에 application-instance에서 생성한 public key를 넣어주었는데 서로 일치하지 않는건지 계속 같은 오류가 뜹니다또한 젠킨스 dashboard에서도 credentials에 잘 설정해주었는데도 이러네요ㅜ저 private key에는 아까 docker로 넘어가서 생성한 키의 private key를 넣어주었습니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강의 내용대로 했는데 왜 오류가 나는지 모르겠습니다.
https://drive.google.com/file/d/1xtWyIr26d2Xj-Z8WYxTQDvjoAQkEOqc_/view?usp=drive_link
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
프론트에서 credentials: include로 설정한경우 cors 문제
안녕하세요,프론트(리액트)에서 프론트에서 credentials: include로 설정한경우 cors 문제가 발생하고있습니다. 이런 에러가 발생하고있는데요,프론트측에서 해줘야하는 설정과서버에서 해줘야하는 설정은 맞게해준것 같습니다. 먼저 프론트에서 해줘야하는 쿠키설정은const httpLink = createHttpLink({ uri: 'http://localhost:3001/graphql', credentials: 'include', }); 이렇게 해줬습니다. 그리고 서버쪽에서는 onst app = await NestFactory.create(AppModule, { cors: true }); app.enableCors({ origin: 'http://localhost:3000', credentials: true, exposedHeaders: ['Authorization'], // * 사용할 헤더 추가. }); 이렇게 해주었는데요..이렇게해주고나서 로그인하면 맨위의 사진처럼 에러가납니다.. 버전은"@apollo/server": "^4.10.4", "@nestjs/apollo": "^12.2.0",이렇게되어있는데.. https://www.inflearn.com/community/questions/896182/%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%90%EC%84%9C-credentials-include%EB%A1%9C-%EC%84%A4%EC%A0%95%ED%95%9C%EA%B2%BD%EC%9A%B0-cors-%EB%AC%B8%EC%A0%9C이분이 해결하신거를 참고해봤는데,저분이 app.module설정을 통해 해결하셨지만,저는 버전이달라서그런가 거기에 cors설정을하면 에러가나더라구요.. 혹시 어떻게 하면 이 이슈를 헤쳐나갈수있을까요?..