묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(25년 Update)
팝업/백엔드 이벤트를 분리하는 하는 게 좋을까요?
어떤 동작을 처리했을 때, 팝업을 보여주는 경우에는 팝업 이벤트만 수집하면 될까요? 아니면 팝업과 백엔드에서 각각 이벤트를 수집하는게 좋을까요?거의 높은 확률로 사용자가 팝업을 관찰하는 경우라면 둘 중 하나만, (팝업 처리가 늦어져서) 사용자가 팝업을 관찰하지 않고 이탈할 수도 있는 경우에는 둘 다 수집하는게 좋을까요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
이론 통합요약분 10. 프로그래밍 언어
C 언어 이중 포인터 printf("%d", array[1] + *array+1) ; //24,12 라고 되어 있는데 37이(24+12+1) 아닌지요 ?
-
미해결
구글 로그인 질문입니다.
vue3에서 quasar 프레임워크 사용중인데 구글 로그인을 하고 나면 콘솔에POST http://localhost:9000/token net::ERR_ABORTED 404 (Not Found)이런 오류가 뜨는데 해결 가능할까요? <template> <div> <button @click="redirectToGoogle">Login with Google</button> </div> </template> <script> export default { methods: { redirectToGoogle() { const clientId = '952226683996-giormhm5n1ch6vig4n2h0ng5vc9t0p0h.apps.googleusercontent.com'; const redirectUri = 'http://localhost:9000/'; const scope = 'https://www.googleapis.com/auth/userinfo.profile'; const responseType = 'code'; const url = `https://accounts.google.com/o/oauth2/v2/auth?client_id=${clientId}&redirect_uri=${redirectUri}&scope=${scope}&response_type=${responseType}`; window.location.href = url; }, async exchangeCodeForToken(code) { try { const response = await fetch('http://localhost:9000/token', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ code }), }); if (!response.ok) { throw new Error('Network response was not ok'); } const data = await response.json(); console.log(data); } catch (error) { console.error('Error:', error); } }, created() { window.addEventListener('message', event => { if (event.data && event.data.code) { this.exchangeCodeForToken(event.data.code); } }); }, }, }; </script> <script> export default { methods: { redirectToGoogle() { const clientId = '952226683996-giormhm5n1ch6vig4n2h0ng5vc9t0p0h.apps.googleusercontent.com'; const redirectUri = 'http://localhost:9000/'; const scope = 'https://www.googleapis.com/auth/userinfo.profile'; const responseType = 'code'; const url = `https://accounts.google.com/o/oauth2/v2/auth?client_id=${clientId}&redirect_uri=${redirectUri}&scope=${scope}&response_type=${responseType}`; window.location.href = url; }, async exchangeCodeForToken(code) { try { const response = await fetch('http://localhost:9000/token', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ code }), }); if (!response.ok) { throw new Error('Network response was not ok'); } const data = await response.json(); console.log(data); } catch (error) { console.error('Error:', error); } }, }, created() { const urlParams = new URLSearchParams(window.location.search); const code = urlParams.get('code'); if (code) { this.exchangeCodeForToken(code); } }, }; </script>const express = require('express'); const fetch = require('node-fetch'); const bodyParser = require('body-parser'); const cors = require('cors'); const app = express(); const PORT = 9000; app.use(cors()); app.use(bodyParser.json()); app.post('/token', async (req, res) => { const code = req.body.code; const clientId = '952226683996-giormhm5n1ch6vig4n2h0ng5vc9t0p0h.apps.googleusercontent.com'; const clientSecret = 'secret'; const redirectUri = 'http://localhost:9000/'; const tokenEndpoint = 'https://oauth2.googleapis.com/token'; const params = new URLSearchParams(); params.append('code', code); params.append('client_id', clientId); params.append('client_secret', clientSecret); params.append('redirect_uri', redirectUri); params.append('grant_type', 'authorization_code'); try { const response = await fetch(tokenEndpoint, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, body: params, }); if (!response.ok) { throw new Error('Failed to fetch token'); } const data = await response.json(); res.json(data); } catch (error) { res.status(500).json({ error: error.message }); } }); app.listen(PORT, () => { console.log(`Server is running on http://localhost:${PORT}`); });
-
미해결비전공자도 이해할 수 있는 AWS 입문/실전
무료도메인으로는 https등록못하나요??
내도메인.한국에서는 설정못하나요???설정하는법을 알고싶어요레코드 이름이랑 레코드 값을 따로 입력해야한다면 어디입력해야하는지 알고싶어요
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
DTO를 API마다 만들어야 하는건가요?
프로젝트를 할때도 그렇고, 이번 강의에서도 그렇고 API를 위해request, response 각각 DTO를 설정해주었습니다.그러면 API의 개수가 많아지는 경우에도 그에 따라 각각 요청,응답의 DTO를 만들면 너무 복잡해지지는 않을까 하는걱정이 있습니다. 그럼에도 불구하고 DTO를 API 마다 만들어야 하는건가요?
-
미해결[D.P.2(DappProject2)] 디앱 프로젝트2(Klaytn 네트워크를 활용한 NFT 생성 및 판매)
민팅한 nft의 판매 등록이 되지 않아요.
- 학습 관련10강 듣는중 opensea에 등록한 nft를 판매 등록 하려는데 이미지와 같은 에러가 나타나면서 판매등록이 되지 않습니다.opensea testnet - baobab을 사용중입니다.Seaport order validation failed: ['Conduit key invalid'], []어떻게 해결해야 할까요? ㅠ
-
미해결비전공자도 이해할 수 있는 AWS 입문/실전
이 강의에서는 프리티어라 모든 항목이 과금이 안되는건가요
rds쓰다 과금폭탄맞아서 좀 두렵네요
-
해결됨웹 프론트엔드를 위한 자바스크립트 첫걸음
extensions 질문
chrome://extensions 위에서 오른쪽 상단의 개발자모드를 켜고 맨위에 "압축해제된 확장된 프로그램을 로드합니다." 클릭해서 개발한 소스가 있는 newtab폴더를 선택하면 오류 : 매니페스트 파일이 없거나 읽을 수 없습니다매니페스트를 로드할 수 없습니다.뜨면서 안되더라구요, 혹시나 외장하드에 파일이 있으면 안되나 싶어서 컴퓨터의 c나 d드라이브에 옮겨서 동일하게 에러메시지가 뜹니다.예전에 강의내용대로 해서 잘 되었었는데 복습하면서 다시 해보니 이렇게 에러가 나서요혹시 뭔 잘못한걸까요? 아님 기능이 없어진건지....ㅋㅋ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
이번에 불합격했는데요 ㅠㅠ
올해 말에 다시 보려는데 10월초면 강의가 끝나더라고요ㅜㅜ불합격했는데 수강연장은 안될까요?11월말이 시험인데 ㅠ
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
lambda 중에 문의가 있습니다.
강의 내용 외 개인적인 실습 사이트의 질문은 답변이 제공되지 않습니다.문제가 생긴 코드, 에러 메세지 등을 꼭 같이 올려주셔야 빠른 답변이 가능합니다.코드를 이미지로 올려주시면 실행이 불가능하기 때문에 답변이 어렵습니다.답변은 바로 제공되지 않을 수 있습니다.실력 향상을 위해서는 직접 고민하고 검색해가며 해결하는 게 가장 좋습니다.최대한 구글링을 동원해서 해보는 중인데 막히네요.모니터링 가서 로그 나오는것 까지 확인 했습니다. event, message, text 이렇게 표시 되는거요.def lambda_handler(event, context): result = json.loads(event["body"]) print(f"event : {event}") keyword = result["message"]["text"] news_crawler(keyword) 그다음 위의 코드 작성하고 run을 해보면 아래와 같이 body 키 문제가 있다고 나옵니다.무슨문제일까요...ㅜ"errorMessage": "'body'", "errorType": "KeyError", "requestId": "628cac7e-f4ae-41f3-9ba3-ba7a3e7f464f", "stackTrace": [ " File \"/var/task/lambda_function.py\", line 59, in lambda_handler\n result = json.loads(event['body'])\n"
-
미해결Skill-Up! 웹쉘 탐지 솔루션 우회를 위한, 웹쉘 난독화 기법
웹쉘 명령어 필터링
안녕하세요. 혹시 파일업로드 후 명령어를 작성하는 폼태그에서 cat /etc/passwd와 같이 명령어를 작성했을때 해당 명령어를 감지해서 필터링하는 경우도 올려주신 난독화 기법 동일하게 적용하면 되는게 맞을까요?파일업로드 및 실행은 되나, 특정 명령어 작성 시 에러가 나는 경우입니다.!
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
도커 설치가 잘 되지 않습니다.
섹션 8의 윈도우에서 도커 설치하는 부분을 보면서 따라하고 있는데 잘 되지 않습니다.이런 오류가 계속 떠서 이것저것 해보다가"Windows 기능 켜기/끄기" 검색: 검색 창에 "Windows 기능 켜기/끄기"를 입력하고 선택합니다.Hyper-V 및 Virtual Machine Platform 활성화: 아래 항목들이 체크되어 있는지 확인하고, 체크되어 있지 않다면 체크합니다.이런게 있어서 체크해보니 이젠 관리자 권한으로 실행하는 것 외에는 실행 자체가 되지 않습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
npos 관련 질문입니다!!
안녕하세요 선생님. 수업 잘 보고 있습니다.공부를 하다가 궁금한 점이 생겨서 질문드립니다.강의록을 보니string::npos는 size_t 타입의 최대값을 의미합니다. size_t 타입의 최대값은 OS에 따라 달라지며 64비트 운영체제라면 64비트 부호가 없는 최대정수, 32비트 운영체제라면 32비트 부호가 없는 최대 정수값을 가집니다. 필자의 컴퓨터는 64비트 운영체제이기 때문에 18446744073709551615라는 값을 가집니다.라고 나와 있는데 예를 들어 split 함수에서 찾고 싶은 문자열이 최대 정수값의 위치에 존재하게 된다면 그때는 코드가 제가 원하는대로 작동하지 않는 문제가 생기는게 아닌가 궁금합니다. 이러한 문제가 발생하는지와 발생한다면 그 해결법이 궁금합니다! 인터넷에 있는 npos와 관련된 문서들을 쭉 읽어보았는데 제 궁금증을 해결해주는 문서가 없어서 질문드립니다. 감사합니다!
-
미해결모두의 한국어 텍스트 분석과 자연어처리 with 파이썬
강의에서 사용하는 csv 파일이 없습니다
0301 KLUE Dacon 데이터셋 소개, 텍스트 길이 분석강의에서 다루는 'topic_dict' csv 파일이 없습니다. 어디서 파일을 구할 수 있나요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
index.html때문에 빌드 실패한다는데 도와주세요
왜이럴까요..?index.html을 지워도 복구해도 절대 빌드가 안됩니다 ㅠㅠ
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
자바스크립트 객체 수정 순서 문
🚨 아래의 가이드라인을 꼭 읽고 질문을 올려주시기 바랍니다 🚨질문 하시기 전에 꼭 확인해주세요- 질문 전 구글에 먼저 검색해보세요 (답변을 기다리는 시간을 아낄 수 있습니다)- 코드에 오타가 없는지 면밀히 체크해보세요 (Date와 Data를 많이 헷갈리십니다)- 이전에 올린 질문에 달린 답변들에 꼭 반응해주세요 (질문에 대한 답변만 받으시고 쌩 가시면 속상해요 😢)질문 하실때 꼭 확인하세요- 제목만 보고도 무슨 문제가 있는지 대충 알 수 있도록 자세한 제목을 정해주세요 (단순 단어 X)- 질문의 배경정보를 제공해주세요 (이 문제가 언제 어떻게 발생했고 어디까지 시도해보셨는지)- 문제를 재현하도록 코드샌드박스나 깃허브 링크로 전달해주세요 (프로젝트 코드에서 문제가 발생할 경우)- 답변이 달렸다면 꼭 확인하고 반응을 남겨주세요- 강의의 몇 분 몇 초 관련 질문인지 알려주세요!- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.15강 강의 중 문의드립니다.// 1. 객체 생성 let obj1 = new Object(); // 객체 생성자 let obj = {}; let person = { name: "이정환", age: 27, hobby: "테니스", extra: {}, 10: 20, "Like cat": true, }; // 3. 객체 프로퍼티를 다루는 방법 // 3.1 특정 프로퍼티에 접근 (점 표기법, 괄호 표기법) let name = person.name; // console.log(name); let age = person["age"]; // console.log(age); let property = "hobby"; let hobby = person[property]; // console.log(hobby); // 3.1 새로운 프로퍼티를 추가하는 방법 person.job = "fe developer"; person["favoriteFood"] = "떡볶이"; console.log(person); // 3.3. 프로퍼티를 수정하는 방법 person.job = "educator"; person["favoriteFood"] = "초콜릿"; // 3.4 프로퍼티를 삭제하는 방법 delete person.job; delete person["favoriteFood"]; 이렇게 동작했을 때,console.log 찍는 시점에서는 프로퍼티를 삭제를 안했는데삭제가 되어 있어서, 실행 순서가 어떻게 되는지 문의드립니다.
-
해결됨SW 개발자를 위한 성능 좋은 SQL 쿼리 작성법
초기 세팅
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.강의자료의 .sql파일을 실행하려는데 ms sql를 세팅해야하나요?버전도 알려주시면 감사하겠습니다
-
미해결중상급 퍼블리싱을 위한 CSS3의 모든 것
강의 화면이 안나옴
선택자 강의부터 화면이 검은색으로만 나옵니다.
-
해결됨챗GPT와 파이썬으로 주식 자동매매 앱 및 웹 투자 리포트 만들기
pip install pykrx 설치 에러
다음과 같은 화면의 오류가 발생합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
상속 - 인자생성자
메인함수에서 자손의 객체들을 다른 인자들로 생성할때int main(){ Knight k1; k1._hp = 1; k1._attack = 1; k1._defense = 1; Knight k3(22); Knight(77); Knight k2 (88); return 0;};다른 인자를 가진 객체마다 같은자손의 인자생성자함수에 엮인 제일부모의 인자생성자함수가 같은것이 매번 같이 호출되는데, 이렇게 써도되나요? //출력Player 기본 생성자 호출Knight 기본 생성자 호출hp 인자가 5있는 부모생성자Stamina : 22hp 인자가 5있는 부모생성자Stamina : 77Knight 기본 소멸자 호출Player 기본 소멸자 호출hp 인자가 5있는 부모생성자Stamina : 88Knight 기본 소멸자 호출Player 기본 소멸자 호출Knight 기본 소멸자 호출Player 기본 소멸자 호출Knight 기본 소멸자 호출Player 기본 소멸자 호출