inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

NextAuth를 활용한 소셜 로그인 시 authorization code 발급 방법

미해결

Next + React Query로 SNS 서비스 만들기

안녕하세요 강의 수강 후에 자체 프로젝트를 진행하고 있는데 소셜 로그인 처리 중 궁금한 점이 있어 질문 드립니다. 기존에는 Google, Naver, Kakao, Facebook 등 5가지 소셜 로그인을 각각 OAuth 리디렉션 방식으로 구현했으나, 이번에는 NextAuth를 활용하여 간편하게 통합적으로 구현하려고 합니다. 소셜 로그인은 authorization code 발급용으로만 사용하고 실제 access, refresh token 발급은 자체 서버에서 처리를 하려고 합니다. 따라서 인가 과정만 next auth를 활용하고 callbacks 내부에서 인가 코드를 전달하여 access token 발급 과정을 진행하려 했습니다. /api/auth/[...nextauth]/route.ts const authOptions = { // Configure one or more authentication providers providers: [ GoogleProvider({ clientId: process.env.GOOGLE_ID ?? "", clientSecret: process.env.GOOGLE_SECRET ?? "", }), ], callbacks: { async signIn({ account, profile }: any) { if (account.provider === "google") { const response = await fetch( `${process.env.GATEWAY_SERVER_URL}/auth/v1`, { method: "POST", headers: { "Content-Type": "application/json", devicetype: "1", }, body: JSON.stringify({ sns_type: "GOOGLE", key: 인가코드, }), } ); } return true; // Do different verification for other providers that don't have `email_verified` }, }, }; const handler = NextAuth(authOptions); export { handler as GET, handler as POST }; 하지만 알아본 결과 NextAuth의 callbacks에서는 access token이 발급되고 authorization code는 받을 수 없게 되어있는 것 같은데 authorization code 발급용으로만 사용하기에는 next auth를 사용하는것이 적합하지 않은 것인지 궁금합니다. 또한 authorization code를 받을 수 있는 방법이 있다면 알려주시면 감사하겠습니다!

  • react
  • next.js
  • react-query
  • next-auth
  • msw
박지수 Jisu Park 댓글 2 좋아요 0 조회수 538

보스턴 집값 예측 15번 강의에 쓰이는 csv

해결됨

파이썬으로 시작하는 머신러닝+딥러닝(sklearn을 이용한 머신러닝부터 TensorFlow, Keras를 이용한 딥러닝 개발까지)

보스턴 집값 예측 15번 강의에 쓰이는 csv는 어디서에서 다운받는지요?

  • python
  • 머신러닝
  • 딥러닝
  • keras
  • sklearn
dekman 댓글 1 좋아요 2 조회수 259

보일러 플레이트

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

인강듣기전에 학습자료를 보고 먼저 따라했는데요. 인강에선 <main> 이부분을 삭제를 안했는데, 학습자료에선 main을 다 삭제 했더라구요. 이부분에서 학습자료를 참고해도 될까요? 아님 다시 복구 해야하나요? 이 부분 뿐만아니라 인강에서는 삭제를 안했는데, 학습자료에선 삭제된 부분이 꽤 있어서 걱정이 되어 문의를 드립니다.

  • react
  • node.js
  • seo
  • graphql
  • next.js
imhj11777 댓글 2 좋아요 0 조회수 194

쿠버네티스 강의 오픈 언제 예정이신가요?

해결됨

개발자를 위한 쉬운 도커

도커 강의 너무 잘 듣고있어서 쿠버네티스까지 같이 수강하고자 합니다.

  • docker
  • 가상화
  • ci/cd
  • docker-compose
  • github-actions
  • docker-volume
  • docker-image
  • container
드래곤 댓글 2 좋아요 0 조회수 319

컨테이너와 VM 비교 해주신 설명중에 궁금한 부분이 있습니다.

미해결

쿠버네티스 어나더 클래스-Sprint3 (#실무핵심 #Docker #Nginx #Minio #Longhorn)

안녕하세요. 좋은강의 많은 도움을 받고있어 항상 감사드립니다. "아무나 모르는 컨테이너 기술의 장점" 섹션을 수강하던중 아래와같은 두가지 궁금한 부분이 있어 질문드립니다. VM과 Container를 비교설명 해주셨는데요. Container 설명 중에 개발자 환경이 Windows Host에 Container 환경을 구성하여 개발환경과 같은 linux명령, 환경을 동일하게 시험해 볼 수 있다고 하셨습니다. 이때 host os에 커널을 공유하는게 Container기술이라고 이해하고 있었는데, Windows Host에 linux 컨테이너 이미지가 가능한 건가요? 컨테이너가 VM에 비해 이미지화/dockerhub를 통한 배포로 인해 동일한 환경을 배포함에 있어서 장점이 있다고 설명해주셨는데요. sprint 1,2 실습환경을 제공해 주신것처럼, vagrant 와 packer를 이용하면 VM도 Container와 비슷한 조건이지 않은가요?

  • kubernetes
  • infrastructure
  • container
leejc 댓글 2 좋아요 1 조회수 301

update 진행 시 에러가 발생합니다.

해결됨

[풀스택 입문] Firebase보다 10배 좋은 Supabase

강의 내용 진행중 update 할때만 아래와 같은 에러가 나는데, 혹시 수정할 부분이 있을까요? insert/delete는 이상없이 진행 됩니다. 코드는 tailwind 일부만 제외하고는 전체 동일합니다. nextjs : 14.2.5 @supabase/supabase-js: "^2.45.0" ''' localhost/:1 Access to fetch at ' https://********.supabase.co/rest/v1/note?id=eq.8 ' from origin ' http://localhost:3000 ' has been blocked by CORS policy: Method PATCH is not allowed by Access-Control-Allow-Methods in preflight response. ''' const onEdit = async () => { if(!title || !content){ alert("제목과 내용을 입력하세요"); return; } const { data, error} = await supabase .from('note') .update({ title, content }) .eq('id',note.id); if(error){ alert(error.message); return; } setIsEditing(false); fetchNotes(); }

  • postgresql
  • next.js
  • tailwind-css
  • supabase
suwan Kim 댓글 1 좋아요 0 조회수 304

기본 3강부터 막혀 멍청해서 화가납니다 ㅠㅠ

해결됨

2주만에 통과하는 알고리즘 코딩테스트 (2024년)

제곱수의 합문제요.. 6일 경우 제곱이 되려면 루트6밖에 안되는데 왜 2가 2로 떨어지는 약수의 개수로 카운팅되는지 이해를 못하겠네요… 또 3의 제곱 5의 제곱은 왜 고려안하는지도… ( 이미 이해 다 됐다고 가정해서 말씀하신건지도 모르겠습니다.ㅠㅠ ) 바보도 알고리즘 천재로 만들어주신다고 들어서 잘 알려주시면 감사드리겠습니다 ㅠㅠ

  • python
  • 코딩-테스트
  • 알고리즘
0S 댓글 2 좋아요 1 조회수 521

안녕하세요. 강사님께서 제공해주신 코드로 다른 문제를 풀려고 합니다.

해결됨

세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)

안녕하세요. 강사님께서 제공해주신 이분탐색 1번 2번 코드중 2번 코드로 새로운 문제를 풀려고 합니다. 1번 코드(left와 right 설정)으로는 잘 풀리는데 2번 코드(cur과 step 설정)로는 잘 안풀리네요. 백준 2343번 기타문제를 강사님께서 제공해주신 코드로 풀려고 아래와 같이 코드를 짜보았습니다. 하지만 원하는 결과를 얻지 못했는데요. 어떤 부분이 잘못된건지 알려주실 수 있을까요?? nums, blue_nums = map(int, input().split()) bluelay_length = list(map(int, input().split())) def check(length): count = 1 current_length = 0 for i in bluelay_length: if current_length + i <= length: current_length += i else: current_length = i count += 1 return count == blue_nums cur = 0 steps = 10000+1 while steps > 0: while cur + steps <= 10000+1 and check(cur + steps): cur += steps steps //= 2 print(cur) 감사합니다.

  • python
  • 코딩-테스트
  • 알고리즘
승환 김 댓글 2 좋아요 0 조회수 182

엑셀에 저장하기

미해결

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

# 엑셀 저장 df.to _excel( 'naver_finance_crawling.xlsx' ) 이렇게 했을 때 TypeError Traceback (most recent call last) Cell In[25], line 2 1 # 엑셀 저장 ----> 2 df .to_excel('naver_finance_crawling.xlsx', engine_kwargs=None) File ~/anaconda3/lib/python3.10/site-packages/pandas/util/_decorators.py:333 , in wrapper (*args, **kwargs) 324 return func(*args, **kwargs) 326 kind = inspect.Parameter.POSITIONAL_OR_KEYWORD 327 params = [ 328 inspect .Parameter("self", kind), 329 inspect .Parameter(name, kind, default=None ), 330 inspect .Parameter("index", kind, default=None ), 331 inspect .Parameter("columns", kind, default=None ), 332 inspect .Parameter("axis", kind, default=None ), --> 333 ] 335 for pname, default in extra_params: 336 params .append(inspect.Parameter(pname, kind, default=default)) File ~/anaconda3/lib/python3.10/site-packages/pandas/core/generic.py:2417 , in to_excel (self, excel_writer, sheet_name, na_rep, float_format, columns, header, index, index_label, startrow, startcol, engine, merge_cells, inf_rep, freeze_panes, storage_options, engine_kwargs) 2294 @final 2295 @doc(storage_options=_shared_docs["storage_options"]) 2296 def to_json( (...) 2309 storage_options: StorageOptions = None , ... 2547 """ 2548 from pandas.io import json 2550 if date_format is None and orient == "table": TypeError : ExcelFormatter.write() got an unexpected keyword argument 'engine_kwargs' Output is truncated. View as a scrollable element or open in a text editor . Adjust cell output settings ... 이런 에러가 발생합니다. 열심히 구글링을 해보았지만, 답을 찾을 수 없어서 질문 남깁니다 ㅠㅠ python은 3.10 사용중이고 pandas는 1.3.5 사용중입니다.

  • python
  • 웹-크롤링
신승민 댓글 2 좋아요 0 조회수 223

DBeaver는 왜쓰는 건가요?

해결됨

Supabase, Next 풀 스택 시작하기 (feat. 슈파베이스 OAuth, nextjs 14)

안녕하세요..!! 제가 백엔드나 db관련해서 지식이 없어서 잘 이해가 안되네요 ㅠ db관리를 supabase 사이트로 들어가서 확인하면 되는데, 왜 클라이언트 툴인 DBeaver를 쓰는건가요? supabase 서버에 접근하지 못하는 클라이언트들이 테스트를 할때 쓰는것일까요? 답변 부탁드립니다..

  • react
  • 클론코딩
  • next.js
  • supabase
kykim818 댓글 1 좋아요 2 조회수 729

강의 자료 부탁드립니다.

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

강의 자료 부탁드립니다! huo2100@naver.com

  • python
박건율 댓글 1 좋아요 0 조회수 157

pd.concat(df, ignore_index=True) InvalidIndexError 해결 방법 문의

미해결

내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)

안녕하세요. 아래 코드에서 마지막 부분에서 에러가 발생하는데 찾아봐도 해결을 못하겠습니다. # 최종 데이터 합치기 df1 = pd.concat(df, ignore_index=True) --------------------------------------------------------------------------- InvalidIndexError Traceback (most recent call last) Cell In[89], line 2 1 # 최종 데이터 합치기 ----> 2 df1 = pd.concat(df, ignore_index=True) File ~\anaconda3\Lib\site-packages\pandas\core\reshape\concat.py:393, in concat(objs, axis, join, ignore_index, keys, levels, names, verify_integrity, sort, copy) 378 copy = False 380 op = _Concatenator( 381 objs, 382 axis=axis, (...) 390 sort=sort, 391 ) --> 393 return op.get_result() File ~\anaconda3\Lib\site-packages\pandas\core\reshape\concat.py:676, in _Concatenator.get_result(self) 674 obj_labels = obj.axes[1 - ax] 675 if not new_labels.equals(obj_labels): --> 676 indexers[ax] = obj_labels.get_indexer(new_labels) 678 mgrs_indexers.append((obj._mgr, indexers)) 680 new_data = concatenate_managers( 681 mgrs_indexers, self.new_axes, concat_axis=self.bm_axis, copy=self.copy 682 ) File ~\anaconda3\Lib\site-packages\pandas\core\indexes\base.py:3875, in Index.get_indexer(self, target, method, limit, tolerance) 3872 self._check_indexing_method(method, limit, tolerance) 3874 if not self._index_as_unique: -> 3875 raise InvalidIndexError(self._requires_unique_msg) 3877 if len(target) == 0: 3878 return np.array([], dtype=np.intp) InvalidIndexError: Reindexing only valid with uniquely valued Index objects ============================ df = [] articleNos = ['2433459189','2433504511'] for articleNo in articleNos: ind_url = f'https://new.land.naver.com/api/articles/{articleNo}?complexNo=' res = requests.get(ind_url, headers=headers) ind_dict = res.json() article_df = pd.Series(ind_dict['articleDetail']).to_frame().T # articleDetail_df = articleDetail_df[['articl/eNo','articleName','buildingTypeName','realestateTypeName', 'tradeTypeName', 'cityName','divisionName', 'sectionName', 'etcAddress', 'monthlyManagementCost', 'buildingName']] if 'articleFloor' in ind_dict.keys(): articleFloor_df = pd.Series(ind_dict['articleFloor']).to_frame().T article_df = pd.concat( [ article_df, articleFloor_df, ], axis=1 ) else: print(articleNo, '/', 'articleFloor') # articleFloor_df = articleFloor_df[['totalFloorCount','correspondingFloorCount']] if 'articlePrice' in ind_dict.keys(): articlePrice = pd.Series(ind_dict['articlePrice']).to_frame().T article_df = pd.concat( [ article_df, articlePrice, ], axis=1 ) else: print(articleNo, '/', 'articlePrice') # articlePrice_df = articlePrice_df[['dealPrice','allWarrantPrice','allRentPrice']] if 'articleRealtor' in ind_dict.keys(): articleRealtor = pd.Series(ind_dict['articleRealtor']).to_frame().T article_df = pd.concat( [ article_df, articleRealtor, ], axis=1 ) else: print(articleNo, '/', 'articleRealtor') # articleRealtor_df = articleRealtor_df[['realtorName','representativeName','cellPhoneNo','representativeTelNo']] if 'articleSpace' in ind_dict.keys(): articleSpace = pd.Series(ind_dict['articleSpace']).to_frame().T article_df = pd.concat( [ article_df, articleSpace, ], axis=1 ) else: print(articleNo, '/', 'articleSpace') # articleSpace_df = articleSpace_df[['supplySpace','exclusiveSpace']] # article_df = pd.concat( # [ # articleDetail_df, # articleFloor_df, # articlePrice_df, # articleRealtor_df, # articleSpace_df, # ], # axis=1 # ) df.append(article_df) # 최종 데이터 합치기 df1 = pd.concat(df, ignore_index=True)

  • python
  • 웹-크롤링
  • pandas
  • concat
초칼라 댓글 2 좋아요 0 조회수 515

Practice 58번 예제 반복문이요

미해결

[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

선생님 코드를 화면에서는 결과값 55만 출력이 되는데 같은 코드로 주피터에서 실행하니 1 3 6 ... 55까지 전부 출력 되는데 왜 55만 출력되지 않는 걸까요? sum = 0 for index in range(1, 11): sum = sum + index print (sum )

  • python
  • 웹-크롤링
lse8189 댓글 1 좋아요 0 조회수 125

어그리게이션 프레임웍 질문

미해결

[리뉴얼] 처음하는 MongoDB(몽고DB) 와 NoSQL(빅데이터) 데이터베이스 부트캠프 [입문부터 활용까지] (업데이트)

안녕하세요 샤드별 병렬조회는 어그리게이션 프레임 웍에서만 지원하는건가요? 프레임웍 장점부분에서 해당부분을 말씀하셔서 궁금증에 질문드립니다 - 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다) - 이외의 문의등은 평생강의이므로 양해를 부탁드립니다 - 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다 - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • python
  • mongodb
  • dbms/rdbms
  • 데이터-엔지니어링
김보수 댓글 1 좋아요 0 조회수 183

예제파일 오류

해결됨

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

공유해주신 예제문제를 눌렀더니 이렇게 나오는데 제가 뭘 잘못 설치해서 그런걸까요 ??

  • python
와니_여희 댓글 2 좋아요 0 조회수 144

hello python 이 출력이 안되는 이유

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

ctrl+f5 까지 모두 다 동일하게 따라서 했는데 출력이 안됩니다. 해당폴더에서 파일이 있는 것도 확인 했는데 파일을 찾을 수 없다고 해서.. 뭐가 문제 일까요 ?

  • python
와니_여희 댓글 1 좋아요 0 조회수 238

강의자료 부탁드립니다!

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

안녕하세요, 오늘부터 수업을 수강 시작하게 되었습니다. 강의 자료 부탁드립니다. elder990209@naver.com

  • python
윤호정 댓글 1 좋아요 0 조회수 223

비용을 줄이거나 잠시 일시중지 하려면 어떤 서비스를 중지해야하나요?

미해결

AWS로 쉽고 빠르지만 아주 견고한 서버 환경을 구축하는 방법

안녕하세요! 한번에 모든 실습을 진행하면 좋겠지만. 섹션 별로 실습을 하고있는데 현재는 Elastic Load Balancer까지 진행하였습니다. 그런데 비용이 하루에 1달러 정도씩 나가는거같아서. 이걸 좀 줄이고 싶은데 어떤걸 중지시키면 될까요? 혹 중지 시키더라도 다시 재시작 하면 실습을 이어가면서 할 수 있나요?

  • aws
  • docker
  • msa
  • container
  • ecs
  • fargate
터프남 댓글 1 좋아요 0 조회수 199

저.. 시간복잡도 관련 질문입니다.(로직 거의 비슷한 거 같은데, 시간초과가 나서요)

해결됨

세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)

안녕하세요, 강의를 듣고 계신 여러분! 여러분의 학습을 돕기 위해 질문 안내를 드리고자 합니다. 1. chatGPT를 이용해보기 단순한 의문은 chatGPT를 이용해도 해답을 찾을 수 있는 경우가 종종 있습니다! 2. 강의의 어떤 부분에 대한 질문이고, 어떤 부분이 궁금한지 명확히 알려주세요! 강의의 어느 파트에서 의문을 느끼고, 어떤 부분이 궁금한지 를 명확히 제시해 주시면 답변에 도움이 됩니다! 자신은 어떻게 이해했는지 또한 적어주면 좋습니다! 강의 중 브루트포스 알고리즘 마지막 백준 1342번 행운의 문자열 문제입니다. 순열로 접근한 처음 코드 시간 초과 후 선생님 강의 설명을 들으면서 백트래킹으로 수정했는데요, 근데,, 로직은 거의 차이가 없고 다만 초기화나 선언 등 순서의 차이 같은데, 저는 시간 초과를 해결 하지 못했고, 선생님 코드를 복붙,,, 했더니 성공하더라구요 😓 그래서 어떤 차이 분석을 할 수 있을지 질문 남깁니다. 코드는 아래와 같고 풀이2번을 참고하였습니다.(시간초과 코드입니다) import sys input = sys.stdin.readline s = input() choice = [] dic = dict() chars = set() cnt = 0 for l in s: chars.add(l) if l not in dic: dic[l] = 0 dic[l] += 1 def dfs(level): global cnt, choice, dic if level == len(s): cnt += 1 return for l in chars: if dic[l] == 0: continue if (not choice) or (choice[-1] != l): dic[l] -= 1 choice.append(l) dfs(level + 1) dic[l] += 1 choice.pop() dfs(0) print(cnt)

  • python
  • 코딩-테스트
  • 알고리즘
zhu 댓글 2 좋아요 0 조회수 230

인기 태그

인프런 TOP Writers

주간 인기글