묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Flutter 입문 확장판 - 인스타그램 클론 2.0
flutter로 만든앱을 배포하고 싶은데, 결제시스템 관련 질문이 있습니다.
안녕하세요? flutter로 만든 앱을 앱스토어에 배포하려고 합니다.이때 결제 시스템을 구현하려면https://pub.dev/packages/in_app_purchase 단순히 위 라이브러리를 사용해서 구현하면 되는건지 궁금합니다. +추가질문 입니다. - PG사가 결제를 처리하는곳으로 알고있는데, 인앱결제를 구현하려면 무조건 PG사에 최초수수료를 내고 가입을 해야되는건가요? 그냥 저 위에 라이브러리를 쓰면 PG사에 가입을 따로 안해도 되는건가요? - 아임포트라는것도있던데,https://github.com/iamport/iamport_flutter앞서 언급한 flutter에서 제공하는 in_app_purchase와의 차이는 무엇인지 찾아봐도 나오지가 않아서 질문드립니다.. - 웹을 만들지 않고도 앱만으로 결제 시스템을 구현할 수 있는건가요?? 검색해도 나오는 자료가 많지 않아 이렇게 질문 드립니다. 강사님.감사합니다.
-
미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
NULL 처리
강사님 안녕하세요. 1. 저는 다음과 같이 코드를 작성했어요. CREATE FUNCTION getNthHighestSalary (N INT) returns INT BEGIN RETURN( SELECT DISTINCT MIN(salary) FROM employee ORDER BY salary DESC LIMIT O, N); END 큰 순서대로 0번 이후부터 (1번부터) N개 나열 후 최소값을 찾을 생각이었는데, 자꾸 200이 아닌 100이 나옵니다. 아무래도 ORDER BY DESC가 제대로 작동하지 않는 것 같은데 이유가 뭘까요?? 2. LIMIT에서 결과가 나오지 않으면 NULL을 돌려주기때문에 서브쿼리에서 IF문/CASE문을 안써도 된다고 하셨는데,(6:00) 이 부분이 잘 이해가 안가요. CASE문 쿼리 (함수 부분은 생략하겠습니다) SELECT CASE WHEN count(sal.salary) <n THEN null ELSE min(sal.salary) END FROM (SELECT DISTINCT salary FROM employee ORDER BY salary desc LIMIT n) as sal) 와 LIMIT OFFSET 쿼리 SELECT DISTINCT salary FROM employee ORDER BY salary DESC LIMIT 1,N 은 크게 다를 것 없는 것 같은데, 첫번째는 NULL 나오게 하려고 서브쿼리 & CASE WHEN 처리를 하는 반면, 두번째는 그냥 NULL이 나온다고 하시는데 왜 두개가 다른건지 잘 모르겠습니다.
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
노드버드를 firebase에 올리려 합니다.
제목같이 firebase에 올리려 하는데 잘 되지가 않습니다. 제가 기본 지식이 많이 부족해서요.. MySQl은 GCP의 CloudSQL에 연결하였습니다. 아래는 firebase.json의 내용이고요.. { "hosting": { "public": "public", "ignore": [ "firebase.json", "**/.*", "**/node_modules/**" ], "rewrites": [{ "source": "**", "function": "app" }] } } 아래는 index.js를 위 firebase.json과 맞춘겁니다. app.set('port', process.env.PORT || 80); app.listen(app.get('port'), () => { console.log('running @', app.get('port'), ' port by me...'); }); exports.app = functions.https.onRequest(app); 그렇게 해서 firebase serve로 서버 실행을 하면 로컬에서는 정상적으로 되는 것처럼 보입니다. 그런데 port관련해서 조금 문제가 있는 듯합니다. 아래는 실행 후 나오는 내용들 중 일부... + functions: Using node@12 from host. i functions: Watching "C:\Users\xxxxx\Node_js_Test\node_js_textbook\nodebird2firebase\functions" i hosting: Serving hosting files from: public + hosting: Local server: http://localhost:5000 > process.env.PORT: undefined + functions[app]: http function initialized (http://localhost:5001/xxxx/us-central1/app). > running @ 80 port by me... > success database connection... 위와 같이 내가 지정한 포트는 80, 위에 firebase가 로컬에서 지정한 포트는 5000번 포트.. 그런데 실행은 정상적인듯 합니다. 포트 80에서 돌아 갑니다. 자료 올라가고, 조회되고, 로그인되고, 카카오도... 그런데 GCP firebase cloud Function에 deploy하면 아래와 같이 에러가 발행하네요.. i deploying functions i functions: ensuring required API cloudfunctions.googleapis.com is enabled... i functions: ensuring required API cloudbuild.googleapis.com is enabled... + functions: required API cloudbuild.googleapis.com is enabled + functions: required API cloudfunctions.googleapis.com is enabled i functions: preparing functions directory for uploading... i functions: packaged functions (85.94 KB) for uploading + functions: functions folder uploaded successfully i functions: updating Node.js 12 function app(us-central1)... Functions deploy had errors with the following functions: app(us-central1) To try redeploying those functions, run: firebase deploy --only "functions:app" To continue deploying other features (such as database), run: firebase deploy --except functions Error: Functions did not deploy properly. deploy 시의 메시지는 위와 같으며 주의: 버전 7.7.0 이하의 Firebase CLI로 배포된 새로운 HTTP 및 HTTP 호출 가능 함수는 기본적으로 비공개이며, 호출하면 HTTP 403 오류가 발생합니다. 새 함수를 배포하기 전에 명시적으로 이 함수를 공개로 설정하거나 Firebase CLI를 업데이트하세요. 위의 내용도 인증되지 않은 호출 허용 과 같이 수정을 하였습니다. 아주 작은 샘플 스태틱 페이지는 정상적으로 됨을 확인 하였고요.. 포트 지정이나 그런 부분에 무슨 문제가 있을까요? 고견을 부탁드립니다. 감사합니다. ps. AWS에 시스템을 올렸더니 시스템이 너무 잘 죽네요.. 물론 디버깅을 해야겠지만 firebase가 더 좋은 솔루션 같아 진행을 하고 있습니다.
-
미해결스프링 핵심 원리 - 기본편
Assertions. 에서 임포트를 받지 못합니다 import org.assertj.core.api.Assertions; 받지못하니 기능수행이 안되네요 bulid.gradle에 추가해야 할꺼같은데요
import hello.core.AppConfig;import hello.core.member.MemberService;import hello.core.member.MemberServiceImpl;import org.assertj.core.api.Assertions;import org.junit.jupiter.api.DisplayName;import org.junit.jupiter.api.Test;import org.springframework.context.annotation.AnnotationConfigApplicationContext;import static org.assertj.core.api.Assertions.*;//ctrl + e 이전코드로 가기class ApplicationContextBasicFindTest { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); @Test @DisplayName("빈 이름으로 조회") void findBeanByName() { MemberService memberService = ac.getBean("memberService",MemberService.class); Assertions //assertThat(memberService).isInstanceOf(MemberServiceImpl.class); }}
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
서블릿 => http 요청 데이터 - post html from 강의
안녕하세요 강의 잘 듣고 있어요! post는 회원가입과 같은 url에 숨겨야 하는 정보일 때 사용한다고 알고 있는데 그정도로 이해하면 될까요? form에서도 get을 사용하면 되는데 굳이 post를 사용하는 이유가 더 있을까 해서요. 바디에 담아서 요청한다고 해도 어차피 개발자 도구 열어서 바디에 요청한 데이터가 보이든 Get으로 요청하여 url에 보이든 똑같은게 아닌가 싶어서요 지금까지 그냥 당연하게 생각 했는데 문득 궁금해져서 질문 드립니다!! http 강의 올리신 내용에도 딱 이정도로만 설명을 하신 걸로알고 있어서 ㅜㅜ
-
미해결PWA 시작하기 - 웹 기술로 앱을 만들자
리포지토리 권한 부여에는 얼마나 걸릴까요..?
리포지토리 권한 부여에 걸리는 기간은 얼마나 되나요? 시간이 있을 때 배워두고 싶은데요...ㅠㅠ 강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
webapp 질문드립니다.
영한님 안녕하세요. Spring MVC 강의를 듣던 도중 질문드립니다. 빌드까지는 성공적으로 인식이 되는데, webapp/index.html도 들어있는데, localhost:8080/ 또는 localhost:8080/index.html과 같은 경로를 입력하면 white label error가 발생합니다. 밑에서 비슷한 질문이 있어서 확인해보니 war파일로 빌드를 했습니다. 어떻게 해결을 해야되는지 잘 모르겠습니다. 샘플코드로 올려주신 코드로 일부 코드들을 변경하고 있지만 이 부분은 해결되지 않고 있습니다.
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
S3 람다
안녕하세요 노드js S3 람다까지 실습을 해보고 모든 강의를 수강했습니다. 람다까지 구현했습니다. 어제까지만 해도 이미지 업로드시 thumb 까지 업로드가 됬는데 오늘 아침에 테스트를 하니까 올라가지 않습니다. 그리고 브라우저 콘솔에 아래와 같이 오류가 발생합니다. GET https://[저장소이름으로 비공개함 ].s3.ap-northeast-2.amazonaws.com/thumb/[파일명].jpg 403 (Forbidden) 권한 오류 같습니다. 갑자기 잘되다가 안되는데 왜 그런걸까요?ㅠㅠ
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
전체적인 흐름이 이게맞을까요?
강의를 듣다보면 가려웠던 부분을 긁는듯 시원한 느낌이 드네요! 좋은강의 감사합니다 전체적인 흐름을 한번 정리 해봤는데, 제가 이해한게 맞을까요?? (캐시가 되는 데이터라고 가정하겠습니다) 1. 데이터 최초요청 2. 서버 응답에 last-modified 정보 포함 3. 브라우저 캐시에는 last-modified 정보가 포함되어있음 4. 두 번째 요청시, 캐시의 유효시간이 만료됐다면 last-modified 정보를 바탕으로 if-modified-since 를 만들어 요청 5. 서버는 if-modified-since 정보를 바탕으로 데이터에 변경점이 없다면 304 notmodifed 리턴 6. 브라우저는 캐시에있는 데이터를 사용
-
미해결인터랙티브 개발 실무 끝장내기 [역량 강화편]
모바일에서 작동이 안되는 것 같아요.
올려주신 파일 PC에서는 잘 구현이 됩니다. 모바일에서는 디바이스를 기울여도 적용이 안되네요. 확인 디바이스 - 아이폰 12 (사파리, 크림) - 아이패드 미니 5 (사파리, 크림) - 갤럭시 노트9 (기본 인터넷, 크롬) 아래는 올려주신 소스 제 사이트에 업로드한 링크입니다 입니다. 확인 부탁드리겠습니다. (__)
-
미해결파이썬 웹서비스API 실전 프로젝트 - 돈 버는 디지털마케팅
연관검색어 api 문의 - 검색어 중간에 공백포함시 오류발생합니다
안녕하세요 강사님. 연관검색어(relatedKeywords) api 에서 검색어 중간에 공백이 들어가면 오류가 나는데, 혹시 강사님은 내부적으로 공백을 제거하는 로직을 넣으신건가요? 다른분이 말씀하신 "TypeError: 'NoneType' object is not subscriptable" 오류가 검색어에 공백이 들어가서 생긴문제가 아닌지 문의 드립니다. 블로그나 쇼핑사이트 정보 수집시에는 중간에 공백이 들어가도 문제가 없었는데, 연관검색어에서는 오류가 발생합니다. 아래 2개의 사진 캡쳐로 정상응답하는 경우와 공백이 들어간 경우를 첨부합니다. 소스코드는 강사님이 주신 소스를 사용하였습니다. 확인 부탁드립니다. 검색어 '나이키운동화' 로 검색한 경우입니다. 정상동작합니다. 검색어 '나이키 운동화' 로 검색한 경우로 중간에 공백이 추가된 경우입니다. 오류 발생한 경우입니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
단순하고 실용적인 컨트롤러 v4강의에서 model에 관해 궁금합니다
안녕하세요~ 기다리던 강의였는데 덕분에 즐겁게 배우고 있습니다 mvc 프레임워크 만들기부터 더 재밌어졌어요! 강의와 강의자료가 정말 도움이 많이 됩니다. (특히 강의자료가 완벽하다고 느껴지는 강의는 개인적으로 영한님이 유일할 정도...) 질문 드리려던 것은 다음과 같습니다. 프론트컨트롤러에서 넘겨준 Map<String,Object> model 을 각 컨트롤러가 받아 값을 담으면... '이 model도 반환을 해주어야, 프론트컨트롤러에서 값이 담긴 model을 이용하겠거니' 생각했는데 그냥 그대로 담겨있어 그냥 쓸 수 있다는 것이 이해가 되지 않습니다 static도 아니고.. 그럼 내가 빈 통을 전달해서 받은 애가 값을 담았으면 그걸 리턴을 받아야 쓸 수 있다고 생각했는데.... 자바 기초가 부족한 거겠죠 ㅠㅠ
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
연동 오류(Connection Refused) 관련
안녕하세요. Backend쪽 API를 호출할 때 502 Error가 발생해서 Nginx 쪽 로그를 확인해보니, Connection Refused 에러가 발생했네요. DB와 테이블은 정상적으로 생성된 상황에서 Back단과 DB와의 연동 포인트에서 막혀버리는 게 아닌가 싶은데요. 2021/03/21 18:18:56 [error] 30#30: *32 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.0.4, server: , request: "GET /api/values HTTP/1.1", upstream: "http://192.168.128.4:5000/api/values", host: "192.168.0.11:3000" 192.168.0.4 - - [21/Mar/2021:18:18:56 +0000] "GET /api/values HTTP/1.1" 502 559 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36" "-" 192.168.0.4 - - [21/Mar/2021:18:18:56 +0000] "GET /favicon.ico HTTP/1.1" 200 3473 "http://192.168.0.11:3000/api/values" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36" "-" 어떠한 부분을 좀 더 확인해봐야할까요?? Docker가 설치된 Ubuntu에서 돌린건데 뭔가 환경적인 문제가 있는걸까요?? (Ubuntu에서 돌린다한들 어차피 Docker 환경이라 그럴 것 같진 않겠지만요.) 오랜시간 고민하다가 어렵게 질문드립니다. 제가 구현했던 코드 링크 공유해드립니다. https://drive.google.com/file/d/1VszqsdYXGMaxVG0ekISLFz0NYUQkrYHy/view?usp=sharing 바쁘시겠지만, 잠시 시간을 내주셔서 확인해주시면 감사하겠습니다.
-
해결됨실전! Querydsl
재밌게가 아닌 신나게 들었습니다 ㅋㅋ
기존 Spring , JPA 강의가 재밌는 강의라면 Querydsl은 신나는 강의네요. 어? 이것도 가능해? 아니 이것도 된다고?? 여기에 더해서 이런것까지 해줘? 강의 듣는 내내 감탄사만 나왔네요 ㅎㅎ 직접 jpql을 건드릴 때는 상상할 수도 없던 것들이 다 가능하게 되는게 너무 신기합니다. 기존 JPA 강의에서 Querydsl을 엄청 강조하신 이유가 이제야 알겠네요 ㅎㅎㅎ 마지막 강의는 조금 저한테는 어렵긴 했지만 Function<Target, Result> 로 만든 파라미터가 결국에는 람다식을 파라미터로 넣기 위한 자바기능이란것도 이해했구요. (계속 복기하다보면 어느샌가 이해되겠죠 ㅎㅎ) 덕분에 신나게 강의 들었습니다! 감사합니다~~
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테이블 생성 안됨
선생님처럼 로그에 테이블 생성쿼리도 안보이고 생성도안되네요 ㅜㅜ 음..띠ㅇ어쓰기도 확인하고 오타도 확인했는데 다맞는거같습니다 어디에 문제가있을까용 ㅜㅜ
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
PrintWriter writer = response.getWriter();
이 코드가, response 객체 안에 Writer를 담당하는 객체가 또 있고 그 객체를 writer라는 변수로 따로 저장해서 writer를 이용하는 방식인가요? 생소한 패턴이라서 헷갈리네요.. 혹시 response 객체가 어떻게 구성돼 있는지 확인할 수 있는 방법이 있을까요?
-
해결됨실전! Querydsl
결과적으로는 바인딩받은 조건으로 검색하려면
그냥 앞전에 우리가 배운 Condition 클래스를 만들어서 그걸로 바인딩 받아서 where 문에 넣으면 되나요? 제 눈에는 그게 더 직관적이더라구요. Querydsl을 복잡한 실무환경에서 사용할때도 클래스로 바인딩받아서 BooleanExpression 메소드 만들어서 쓰면 될까요? 항상 감사합니다~
-
해결됨OpenCV + WebApp (얼굴 눈 검출 웹앱만들기)
강의 링크가 잘못되어있어, 수강 진행이 안됩니다.
강의 링크가 잘못되어 있습니다. 2,3번 챕터는 같은 내용이 중복이고, 4,5번은 링크 전부가 비공개 동영상이라고 표시되면서 볼수가 업습니다. 빠른 조치바랍니다.
-
미해결[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
공지사항 갤러리 별도구성도 제이쿼리로 기능구현해야 하나요?
공지사항 갤러리 탭으로 구성할때는 색깔구분해주면서 제이쿼리로 기능구현 하는데 별도로구성할때는 그냥 html/css만 해주면되나요? 문제를보니 여기도 색깔구분이 되어있어서 질문드립니다!
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
이미지 업로드 구현 질문입니다.
안녕하세요 9장 multer 모듈로 이미지 업로드 구현하기 에서 Nodebird에 폭탄 이미지 올릴때 post요청 다음에 get요청이 하나 더 있는데 이 요청이 app.js에서 app.use('/img', express.static(path.join(__dirname, 'uploads'))); 가 실행되어야 폭탄이미지가 나온다는건 알고 있는데 이 구문이 언제 실행이 되는지 명확하게 이해가 가지 않습니다. 사진 업로드만 했는데 어떻게 get요청이 추가로 들어올 수 있는건가요??