inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

CI/CD는 무중단 배포와 다른 느낌인 것이죠?

해결됨

비전공자도 이해할 수 있는 CI/CD 입문·실전

저는 현재 Github Actions만 사용하여 하는 CI/CD 강의까지 들었는데 이 방식은 결국 sudo fuser -k -n tcp 블라블라 를 하고 다시 nohup java -jar 블라블라 명령어로 서버를 띄우는 데까지는 서버가 꺼져있는 것 같습니다. 결국 이는 CI/CD는 무중단 배포와 관련은 있지만 CI/CD + {어떤 기술} = 무중단 배포 가 되는 것인 거죠?

  • aws
  • docker
  • ci/cd
  • github-actions
  • aws-code-deploy
  • infrastructure
  • aws-ec2
김수용 댓글 1 좋아요 0 조회수 366

[1.5] Expo 프로젝트 생성하기

미해결

핸즈온 리액트 네이티브

안녕하세요, 강사님 윈도우 데스크탑에서 expo login을 하고, npm start로 실행한 후 iOS 실물 기기에서 expo 프로젝트를 열려고 하는데 열리지가 않습니다..! 어떤 부분을 확인하면 되는지 알 수 있을까요? 감사합니다 :)

  • react-native
gippeum0102 댓글 1 좋아요 0 조회수 189

강의자료 링크 추가해줄수 있나요?

해결됨

Flutter 앱 개발 실전

예전에는 강의마다 밑에 수업자료 링크가 첨부된거 같았는데요. 지금은 없어서 자료 찾기가 힘드네요 ㅠㅠ 혹시 추가해줄수 있을까요?

  • flutter
  • 강의자료
노희석 댓글 1 좋아요 1 조회수 234

sequence 전략 관련 질문입니다

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. sequence 전략 실습 부분에서 50개씩 값을 가져오는 설정을 했습니다. 그런데 실행을 하고 db에서 시퀀스를 확인했는데, 현재값이 101로 되어 있더라고요. 51이 되야 101이 되야하는 거 아닌가요?? 자료 그대로 코드를 작성했는데..뭐가 문젠지 궁금합니다..

  • java
  • jpa
서현진 댓글 1 좋아요 0 조회수 370

수치 연산?

해결됨

문과생도, 비전공자도, 누구나 배울 수 있는 파이썬(Python)!

3 * 0.1을 계산하면, 0.3이 나오지 않습니다. 0.3이 나오게 하려면 어떻게 하나요?

  • python
jwbaek4 댓글 1 좋아요 0 조회수 209

실전문제9-Q20

미해결

AWS Certified Solutions Architect - Associate 자격증 준비하기

방화벽 IP 주소를 줄여야 한다가 문제의 요지일까요? Global Accelerator 는 2개의 고정 IP 주소를 쓰니깐 IP 주소를 적게 쓰면서 문제의 요구사항을 충족할 수 있다. 이런식의 흐름으로 풀면되는 문제일까요? 이해하기 쉽게 설명해주시면 감사하겠습니다!

  • 네트워크
  • aws
catela J 댓글 1 좋아요 0 조회수 169

undefined 에러 : UndeclaredImportedName

해결됨

쉽고 빠르게 끝내는 GO언어 프로그래밍 핵심 기초 입문 과정

수업과 병행으로 cli 프로그램 구현 중 입니다. 코딩 중에 go run 에러 질문드립니다~! 다른 패키지의 함수 호출하는 부에서 undefined 에러가 발생하고 있습니다. 패키지 import 해줬는데도 해결이 안되어서 질문 올립니다ㅜ 파일 구조와 호출부 간략 코드 첨부드립니다. 호출할 함수 정의부 입니다. // internal/algo/util.go package algo import ( "fmt" "math" ) func printFormatted() { ... } 호출하는 쪽 코드 입니다. // cmd/export.go package cmd import ( "fmt" " cli-project/internal/algo" ) func execute() { algo.printFormatted() // undefined 에러 발생!! } 패키지 구조 입니다. - cli-project/ - cmd/ - export.go - load.go - internal/algo/ - util.go - main.go undefined: algo.printFormatted compiler(UndeclaredImportedName) 에러가 발생하고 있습니다. 패키지 import 말고 체크해야할 사항이 있을까요?ㅜ

  • go
sim_mmmmk 댓글 1 좋아요 0 조회수 373

실전문제9-Q11 질문

미해결

AWS Certified Solutions Architect - Associate 자격증 준비하기

이와 같은 문제는 풀이가 어려워서요 제가 풀이해주신 내용만 정리해봤는데 맞는지 확인 부탁드립니다. 1) 기본 보안그룹의 경우 인바운드, 포트 443 허용 아웃바운드, 임시포트 허용 2) 네트워크 ACL 의 경우 인바운드, 포트 443 허용 아웃바운드, 포트 443 허용 이렇게 정리하는게 맞을까요? 틀린 부분 있다면 알려주시면 감사하겠습니다.

  • 네트워크
  • aws
catela J 댓글 1 좋아요 0 조회수 135

엔트리 하드웨어 개발중인데 npm run serve를 하게되면

미해결

안녕하세요 엔트리 하드웨어 기초 개발을 하고있는중인데, 위의 사진과 같이 npm run serve를 하게되면 실행은 되지만 실행시킨 화면 http://127.0.0.1:8080 로 접속 후 해당 하얀화면이 뜨고, 엔트리에서 알려준 하드웨어 블록코딩이 전혀 뜨지가 않습니다 ㅠ 해당 화면이 떠야하는데 .. 왜 하얀화면만 뜨는지 모르겠어서. 자문좀 구하고싶습니다 ㅠㅠ

piaojongwien 댓글 1 좋아요 0 조회수 113

웹크롤링 webdriver.chrome에 오류가 생겨요..

미해결

웹크롤링으로 프로그램 하나 만드려고 하는데 Traceback (most recent call last): File "c:\Users\cheon\Desktop\파이썬\web_crawling.py", line 19, in <module> driver = webdriver.Chrome(service=service, options=chrome_options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\cheon\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 45, in init super().__init__( File "C:\Users\cheon\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\chromium\webdriver.py", line 55, in init self.service.start() File "C:\Users\cheon\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\common\service.py", line 98, in start self._start_process(self._path) File "C:\Users\cheon\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\common\service.py", line 208, in start process self.process = subprocess.Popen( ^^^^^^^^^^^^^^^^^ File "C:\Users\cheon\AppData\Local\Programs\Python\Python312\Lib\subprocess.py", line 1026, in init self._execute_child(args, executable, preexec_fn, close_fds, File "C:\Users\cheon\AppData\Local\Programs\Python\Python312\Lib\subprocess.py", line 1538, in execute child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ OSError: [WinError 193] %1은(는) 올바른 Win32 응용 프로그램이 아닙니다 이런 오류가 떠요.. 크롬과 파이썬 둘 다 64비트인데... 일부 코드는 아래와 같습니다 import tkinter as tk from tkinter import filedialog from PIL import Image, ImageTk import pytesseract import re from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options from webdriver_manager.chrome import ChromeDriverManager from bs4 import BeautifulSoup # Tesseract 경로 설정 (Windows의 경우) pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe' # 웹 크롤링 설정 chrome_options = Options() chrome_options.add_argument("--headless") # 브라우저 창을 열지 않음 service = Service(ChromeDriverManager().install()) driver = webdriver.Chrome(service=service, options=chrome_options) url = 'https://www.ebsi.co.kr/ebs/xip/xipa/retrieveSCVMainInfo.ebs?irecord=202407113&targetCd=D300&cookieGradeVal=high3' driver.get(url) html = driver.page_source soup = BeautifulSoup(html, 'html.parser') driver.quit()

머식 댓글 1 좋아요 0 조회수 1985

크롤링을 하고 싶은 사이트가 있는데요. 막히네요

미해결

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

response = requests.get('https://kor.lottedfs.com/kr/product/productDetail?prdNo=20000731813&prdOptNo=20000908364&dispShopNo1=10031760&dispShopNo2=10031840&dispShopNo3=10032224') html = response.text soup = BeautifulSoup(html, 'html.parser') response.text 이와 같이 들어가면 캡챠화면이 뜨는데 셀레니움으로 작접들어가는거 말고는 방법이 없을까요?

  • python
  • 웹-크롤링
SJ J 댓글 1 좋아요 0 조회수 287

인코딩오류

미해결

쉽게 배워보는 파이참(PyCharm) 핵심 가이드

Python runtime state: core initialized LookupError: unknown encoding: x-windows-949 Current thread 0x000026f8 (most recent call first): <no Python frame> 이게 떠서 file encoding 들어가서 모두 UTF-8로 모두 바꾸고 재부팅했는데도 계속 오류네요. 우해야 하나요?

  • jetbrains
  • github
  • anaconda
gil거북이 댓글 1 좋아요 0 조회수 211

QueryPlanCache가 메모리를 많이 잡아먹나요?

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

안녕하세요. JPA와 QueryDSL을 사용하는 프로젝트를 진행중인데요. 메모리 사용량이 많이 증가하여 Heap Dump를 떠서 확인한 결과 QueryPlanCache가 미반환된 메모리가 많다고 나와있어서요. 이 와 비슷한 경험을 하셨던 적이 있을까요? 혹시 있다면 어떻게 해결하셨나요? Cache Size를 줄이면 될 것 같은데 성능이 안좋아질까봐 질문 남깁니다.

  • java
  • jpa
papakang22 댓글 1 좋아요 0 조회수 137

Paginate에서 overrideFindOptions 문제

미해결

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

overrideFindOptions에서 where절을 작성하면 dto에 있는 where 조건들이 제대로 동작하지 않는 거 같아요 paginateComments(dto: PaginateCommentsDto, articleId: number) { return this.commonService.paginate( dto, this.commentsRepository, { relations: { author: true, }, select: { author: { id: true, devName: true }, }, where: { article: { id: articleId }, }, }, `articles/${articleId}/comments`, ); } paginate에서 where조건이 있으면 병합하는 방법으로 해결해보려고 했는데 원하는대로 동작하지 않는거 같습니다. 어떻게 해결하면 좋을까요??

  • javascript
  • typescript
  • rest-api
  • nestjs
  • backend
hodoldol 댓글 2 좋아요 0 조회수 163

BundleIdentifier관련 질문이있습니다.

해결됨

맛집 지도앱 만들기 (React Native & NestJS)

강사님, 최근에 강사님 강의를 듣고, 실제 프로젝트를 진행하면서 앱 배포 관련해서 이런저런 공부를 하고 있는데 궁금한 점이 생겨 질문드립니다. XCode 에서 BundleIdentifier을 com.xxx .xxxx 이런식으로 제공해주고 있는데. 해당 부분을 URL Scheme으로 활용하여 네이버 로그인을 개발 중에 있습니다. 이 부분을, 그럼 @implementation AppDelegate - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options { if([RNKakaoLogins isKakaoTalkLoginUrl:url]) { return [RNKakaoLogins handleOpenUrl: url]; } if ([url.scheme isEqualToString:@"{{ CUSTOM URL SCHEME }}"]) { return [[NaverThirdPartyLoginConnection getSharedInstance] application:app openURL:url options:options]; } return NO; } CUSTOM URL SCHEME을 BundleIdentifier로 사용해도 괜찮은지 여부와, 해당 값을 환경변수 처리 없이, 공개적으로 적용해도 되는지 아래와 같이 입니다. if ([url.scheme isEqualToString:@"com.matzip"]) { return [[NaverThirdPartyLoginConnection getSharedInstance] application:app openURL:url options:options]; } return NO; } 혹시 만약에 되지 않는다면 AppDelegate.mm 에서 환경변수를 처리하는 방법과, 소셜 로그인시 필요한 URL Scheme은 보통 현업에서 어떠한 식으로 선정하여 처리하는지 궁금하여 질문드립니다.

  • react-native
  • typescript
  • nestjs
  • react-query
  • zustand
김용민 댓글 1 좋아요 0 조회수 178

수료증 완강 기간 재설정 여부

미해결

안녕하세요! 강의 수료증이 필요하여 온라인 강의 신청을 하였는데, 수료증이 어떤 식으로 나오는지 확인해보았다가 수료증을 발급을 눌러 버려서 말도 안되게 20시간을 몇 하루 만에 들은 걸로 수료증이 발급 되어서 제출에 문제가 생겨서 문의 드립니다. 혹시 완강 초기화나 수료증 기간 변경 가능한지 질문드립니다..( 너무 중요한 사항이라 부탁드립니다.)

dltmdgh11090 댓글 1 좋아요 0 조회수 167

code 강조가 안됨니다..

해결됨

React 기반 Gatsby로 기술 블로그 개발하기 v2

코드블럭 테스트 language::typescript export const { auth, signIn, signOut, handlers } = NextAuth({ 등등을 존재하는데 아래와같이 코드는 작성했는데 코드 강조가 안되고있습니다. 뭐가문제일까요? import React from 'react' import { ContentfulRichTextGatsbyReference, renderRichText, } from 'gatsby-source-contentful/rich-text' import { getImage } from 'gatsby-plugin-image' import { NodeRenderer, Options } from '@contentful/rich-text-react-renderer' import { BLOCKS, INLINES, MARKS } from '@contentful/rich-text-types' import { Blockquote, Heading, Image, HorizontalRule, OrderedList, UnorderedList, Link, Code, } from './node' export const HEADERS = [ BLOCKS.HEADING_1, BLOCKS.HEADING_2, BLOCKS.HEADING_3, ] as const const CODE_METADATA_REGEX = /^language::(\w+)/ const options: Options = { renderMark: { [MARKS.CODE]: text => { const isBlock = !!text && CODE_METADATA_REGEX.test(text.toString()) if (!isBlock) return <Code>{text}</Code> else return ( <Code isBlock className={`language-${ CODE_METADATA_REGEX.exec(text.toString())?.[1] }`} > {text.toString().replace(CODE_METADATA_REGEX, '').trimStart()} </Code> ) }, }, renderNode: { ...HEADERS.reduce<{ [block: string]: NodeRenderer }>((nodes, header) => { nodes[header] = (node, children) => ( <Heading type={header}>{children}</Heading> ) return nodes }, {}), [BLOCKS.OL_LIST]: (_node, children) => ( <OrderedList>{children}</OrderedList> ), [BLOCKS.UL_LIST]: (_node, children) => ( <UnorderedList>{children}</UnorderedList> ), [BLOCKS.HR]: () => <HorizontalRule />, [BLOCKS.QUOTE]: (_node, children) => <Blockquote>{children}</Blockquote>, [BLOCKS.EMBEDDED_ASSET]: node => { const { gatsbyImageData, description } = node.data.target const image = getImage(gatsbyImageData) if (image) return <Image image={image} alt={description} /> }, [INLINES.HYPERLINK]: (node, children) => ( <Link href={node.data.uri as string} target="_blank" rel="noopener noreferrer" > {children} </Link> ), }, } export default function useRenderRichText({ raw, references, }: Queries.ContentfulPostContent) { if (!raw) return null return renderRichText( { raw, references: references as unknown as ContentfulRichTextGatsbyReference[], }, options, ) } import React from 'react' import { GatsbyBrowser } from 'gatsby' import Layout from './src/components/common/Layout' import 'prismjs/themes/prism-tomorrow.min.css' export const wrapPageElement: GatsbyBrowser['wrapPageElement'] = ({ element, props, }) => { return <Layout {...props}>{element}</Layout> } import React from 'react' import { GatsbyBrowser } from 'gatsby' import Layout from './src/components/common/Layout' import 'prismjs/themes/prism-tomorrow.min.css' export const wrapPageElement: GatsbyBrowser['wrapPageElement'] = ({ element, props, }) => { return <Layout {...props}>{element}</Layout> } import React, { useEffect } from 'react' import styled from 'styled-components' import { TPostBodyProps } from '../../types/PostBody' import Prism from 'prismjs' import 'prismjs/components/prism-typescript' import useRenderRichText from '../../hooks/useRenderRichText' const Wrapper = styled.div` position: relative; display: grid; grid-template-columns: 1fr 220px; grid-gap: 30px; justify-content: space-between; align-items: flex-start; padding-top: 100px; ` const Content = styled.div` overflow: auto; display: flex; flex-direction: column; gap: 100px; font-size: 16px; line-height: 2; word-break: break-word; ` export default function PostBody({ content }: TPostBodyProps) { const richText = useRenderRichText(content) useEffect(() => { Prism.highlightAll() }, []) return ( <Wrapper> <Content> <div id="content">{richText}</div> {/* 댓글 컴포넌트가 들어갈 자리 */} </Content> {/* 플로팅 목차 컴포넌트가 들어갈 자리 */} </Wrapper> ) }

  • react
  • typescript
  • 블로그
  • gatsby
최정훈 댓글 3 좋아요 0 조회수 409

ArgumentResolver와 컨버터 로직순서와 정리에 괂해 질문

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 스프링은 다양한 파라미터 타입을 허용함 따라서 컨트롤러에 매핑된 매서드의 파라미터의 타입에 따라 @ResponseBody로 뷰없이 다이랙트로 쓸 경우 0 = ByteArrayHttpMessageConverter 1 = StringHttpMessageConverter 2 = MappingJackson2HttpMessageConverter 중에 선택 (선택 안될수도있음) 이해한게 맞는건지 확인하기 위해서 예시로 이런 코드(클라이언트가 입력한값을 다시 그대로 돌려주었을때) 를 볼때 @ResponseBody @RequestMapping("/model-attribute-v1") public HelloData modelAttributeV1( HelloData data) { log.info("username={} age={}", data.getUsername(), data.getAge()); return data; } 일경우 1클라이언트 요청을 DispatcherServlet이 받음. 2Handler Mapping이 URL과 매핑된 핸들러 메서드를 찾음=modelAttributeV1 3Handler Adapter가 핸들러 메서드를 실행. 4실행할려고보니 파라미터타입이 HelloData 이네 따라서 Argument Resover 가요청 파라미터값을 data 객체에 바인딩함. 5핸들러 메서드가 실행되고 로그 기록. 7반환타입이 HelloData네 그러면 ReturnValueHandler 가 MappingJackson2HttpMessageConverter을 통해 data 객체의 필드값을 이용하여 자동으로 json 형태를 만듬 8 json을 클라이언트에게 최종 응답 전송. @RequestParam,@ModelAttribute 있을경우나 파라미터로 Model,HttpEntity 등이 있을경우 get 쿼리로 값이 들어오든 html form 으로 들어오든 바디message 로 들어오든 그걸 잘 해석해서 적절한 파라미터 객체에 바인딩해서 만들어주는게 ArgumentResolver 이고 @RequestBody 인경우나 HttpEntity가 파라미터로 있는경우 그리고 @ResponseBody경우는 ArgumentResolver가 바디message를 처리할 경우에 한해서 메세지컨버트를 사용해서 처리한다 이렇게 생긱한게 맞을까요 ?

  • spring
  • mvc
kkkkkk 댓글 1 좋아요 0 조회수 201

인기 태그

인프런 TOP Writers

주간 인기글