inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

Rocky Linux Repo 세팅 오류

미해결

대세는 쿠버네티스 (초급~중급편)

안녕하세요! Rocky Linux Repo 세팅 과정에서 위 화면에서 멈추고 다운로드가 되지 않고 있습니다. 이후에는 An error occurred while downloading the remote file. The error message, if any, is reproduced below. Please fix this error and try again. transfer closed with 1318820721 bytes remaining to read 가 발생합니다. 다른 문의글을 보고 vagrant 이미지를 remove 도 시도하였지만 image가 존재하지 않는다고 나오고 있습니다. 어떻게 하면 좋을까요 ? 감사합니다.

  • docker
  • kubernetes
배현철 댓글 3 좋아요 1 조회수 466

[JVM이 문자열 상수를 관리하는 구조] 관련 질문드립니다.

해결됨

기초 탄탄! 독하게 시작하는 Java - Part 2 : OOP와 JVM

안녕하세요 선생님~ [JVM이 문자열 상수를 관리하는 구조] 강의를 듣던 중에 이해가 잘 안되는 부분이 있어서 질문드립니다. 제가 기존에 알고 있던 내용과 더불어 강의를 통해 이해한 바로는 1. "런타임 상수 풀"은 문자열 리터럴 객체가 아닌 문자열 리터럴의 심볼릭 참조를 저장하는 곳, 즉 실제 객체는 저장되지 않음 - 물론 여러 다른 심볼릭 참조 또한 저장됨 2. String s1 = "Hello"처럼 리터럴로 선언된 String instance는 Heap 메모리 영역의 "문자열 상수 풀"에 저장 3. String s3 = new String("Hello")는 객체로, Heap 메모리 영역이면서 문자열 상수 풀이 "아닌" 영역에 저장. 즉, 문자열 상수 풀에 독립적 4. 따라서 문자열 상수 선언(String s1 = "Hello") 또는 intern() 메서드 호출할 경우에만 문자열 상수 풀에 문자열 저장이 발생 위의 이해를 전제로 질문은 아래와 같습니다. [12분 22초]쯤 선생님께서 문자열 상수 풀에서 문자열을 조회할 때, 먼저 Runtime Constant Pool 내에 문자열 리터럴을 조회하고, 있으면 바로 반환한다고 하셨는데요. 1. 런타임 상수 풀에서만 리터럴을 조회하고 끝나는 절차가 맞는지요? 혹은 "런타임 상수 풀"에 저장된 문자열 리터럴의 심볼릭 참조를 타고 "문자열 상수 풀"의 문자 리터럴 객체를 탐색하는 것까지가 맞는 처리 과정인지요? -> 저는 후자가 맞다고 생각하고 있습니다. 2. intern() 호출 시, 런타임 상수 풀 내의 "찾고자 하는 문자열 리터럴의 심볼릭 참조"가 존재하지 않는다면, JVM이 문자열 객체를 생성하여 Heap의 문자열 상수 풀에 저장하나요? 혹은 Heap 영역이지만 문자열 상수 풀이 아닌 영역에 저장되나요? -> 저는 intern() 호출로 생성된 객체는 항상 문자열 상수 풀에 저장되는 걸로 알고 있습니다. 3. 그리고 2번 질문과 연관된 질문인데, 수업자료의 예제에서 public class Main { public static void main(String[] args) { String s1 = "Hello"; String s2 = "Hello"; System.out.println(s1 == s2); String s3 = new String("World"); String s4 = s3.intern(); System.out.println(s3 == s4); System.out.println("World" == s3); // 1번 System.out.println("World" == s4); // 2번 } } 18분 51초 쯤 선생님께서 말씀하시기를 s3.intern()으로 인해 "World" 리터럴이 Runtime constant pool에 생긴다고 하셨는데, Runtime constant Pool은 오직 심볼릭 참조만 가지고 있는거 아닌가요? Runtime constant pool는 클래스 로드 시 정적으로 생성된 심볼릭 참조를 관리할 뿐이고, 동적으로 업데이트 되는건 아니지 않나요? 따라서 s3.intern()으로 인해 "World" 리터럴은 Runtime Constant Pool이 아니라 Heap 영역의 문자열 상수 풀에 들어가야하는 것이 아닌지요? 마지막으로, [System.out.println("World" == s3); // 1번] 여기서 false가 나온 이유는 new로 동적 할당된 "World"은 문자열 상수 풀이 아닌 Heap 영역에 저장되기 때문에 s3 참조자는 문자열 상수 풀이 아닌 그 외 Heap 영역의 String instance를 바라보고 있고, s4 참조자는 intern() 함수로 인한 호출로 문자열 상수 풀에 생긴 객체이기 때문에 false가 나온게 아닌지요? 제가 잘못 알고 있는 상태에서 잘못된 질문을 길게 한건가 싶어서 죄송스럽네요. 늘 좋은 강의 감사합니다!

  • java
  • 객체지향
  • jvm
  • data-structure
널개짱 댓글 1 좋아요 4 조회수 320

Docker Desktop 설치 , curl 설치 관련 질문 드려봅니다.

미해결

비전공자도 이해할 수 있는 쿠버네티스 입문/실전

docker desktop 설치 후 도커 사이트 로그인 해야 하는건가요? 그리고 curl설치를 하고 실행하면 창이 그냥 닫혀 버림니다 해결 방법이 있는지요?

  • docker
  • kubernetes
  • msa
  • infrastructure
  • container
후니미니 댓글 2 좋아요 0 조회수 221

[자체 해결]삭제하기 시 경고 alert 출력

미해결

한 입 크기로 잘라먹는 Next.js

안녕하세요. 7.7)리뷰 삭제 기능 구현하기를 하는 중인데, 혹시 바로 삭제하지 않고 중간에 alert 같은 걸로 정말 삭제할지 체크하고 그 다음에 삭제하는 식으로는 어떻게 하면 좋을까요? form 태그에 onsubmit을 달아서 중간에 끼어드는? 방식으로 해볼까 했는데, 뭔가 useActionState랑 호환을 어떻게 해야할지 잘 모르겠네요... 아래 코드를 작성해서 해결했습니다! const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => { const confirmDelete = confirm(`댓글을 정말 삭제하시겠습니까?`); if (confirmDelete) { const form = e.currentTarget; form.requestSubmit(); // 폼을 강제로 제출 } };

  • react
  • typescript
  • next.js
He T (Tty) 댓글 2 좋아요 0 조회수 310

docker 기반 cicd 배포

미해결

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

안녕하세요 docker 기반으로 cicd 적용시에 docker stop 하고 docker rm 으로 container 죽인담에 다시 docker pull -> docker start 하는거면 그 잠깐의 시간이겠짐나 어쨋든 끊기지 않나요 ? 혹시 끊기는 시간을 더 줄인다고 하면 우선 먼저 docker pull 를 하고나서 이전 docker stop docker rm 을 하고 새롭게 docker pull 받은것을 docker run -d 할수있으면 좋을것 같은데 방법 있을까요 ? ecs 에서도 ec2 가 있는걸로 알고있는데요 ecs ec2 를 사용하게 되면 blue green 은 아니더라도 롤링 배포를 할 수 있을것 같은데 사용하지 않은 이유가 있을까요 ?

  • aws
  • docker
  • ci/cd
  • github-actions
  • aws-code-deploy
  • infrastructure
  • aws-ec2
SJ 댓글 2 좋아요 0 조회수 204

Member와 Locker 테이블에 질문이 있습니다.

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 영상을 4분대까지 본 후 혼자 테스트를 해보고 있던 중 질문이 있습니다. Member 클래스에서 JoinColumn을 통해 name을 LOCKER_ID로 설정해주셨는데 이 LOCKER_ID는 어떤 것을 의미하나요? Locker 테이블의 id값이 그럼 @Column(name = "LOCKER_ID") 이렇게 되어있어야 하는 것 이라고 이해를 하고있습니다. 두 번째 질문으로 Member 클래스에서 JoinColumn을 지우고 Locker 테이블에서도 따로 @Column(name ="LOCKER_ID")를 설정해주지 않고 JpaMain 클래스에서 Locker locker = new Locker(); locker.setName("lockerA"); em.persist(locker); Member member = new Member(); member.setUsername("member1"); member.setLocker(locker); em.persist(member); Team team = new Team(); team.setName("teamA"); team.getMembers().add(member); em.persist(team); tx.commit(); 이렇게 실행을 해보았는데 어째서 Member 테이블에 LOCKER_ID 라는 이름으로 컬럼이 생기고 값이 들어가는지 궁금합니다. -> Member 클래스에서 locker변수에 @JoinColumn도 해주지 않았습니다. Member, Locker 클래스는 이렇습니다 ! @Entity public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "MEMBER_ID") private Long id; @Column(name = "USERNAME") private String username; @ManyToOne @JoinColumn(name = "TEAM_ID") private Team team; @OneToOne private Locker locker; public Locker getLocker() { return locker; } public void setLocker(Locker locker) { this.locker = locker; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public Team getTeam() { return team; } public void setTeam(Team team) { this.team = team; team.getMembers().add(this); } } @Entity public class Locker { @Id @GeneratedValue private Long id; private String name; @OneToOne(mappedBy = "locker") private Member member; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } 잘못 이해한 것이 있으면 설명 부탁드리겠습니다 ㅎㅎ

  • java
  • jpa
이동준 댓글 1 좋아요 0 조회수 159

데이터 패칭 관련 질문 드립니다.

해결됨

한 입 크기로 잘라먹는 Next.js

안녕하세요 이정환 강사님. 인스타의 위치검색기능과 비슷한 기능을 구현하고 있습니다. 조회버튼을 클릭해서 serachParams를 서버컴포넌트로 전달하는 형식이 아니라 검색어가 입력되면 바로 검색해서 결과를 출력해야 하는 페이지인 경우에는 전부 클라이언트 컴포넌트로 구성해야 하나요? 어떤식으로 구성해야 Next의 장점을 최대한 살릴 수 있는지 궁금합니다.

  • react
  • typescript
  • next.js
Byoungmin Kang 댓글 2 좋아요 0 조회수 337

pm2 restart

미해결

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

만약에 수정된것을 git pull 받고 pm2 를 다시 동작시키는거면 1. git pull npm i npm run build pm2 reload 로 해도 되는걸로 알고있는데 kill 죽이고 나서 다시 restart 하는 이유가 있나요 ? 서버안에서 npm run build 하게 되면 메모리 hang 으로 서버가 뻗어버리던데 이럴땐 어떻게 해결하시나요 ?? github actions 라는 컴퓨터 한대를 빌린다고 하셔서 거기에 빌드를 하면 메모리 이슈가 없겠구나 생각이 드는데 스크립트를 보면 결국엔 ssh 로 ec2 host 접근해서 빌드 하더라고요 그러면 ec2 서버내에서 빌드하는게 아닌가 ?? 생각이 들어서요 ㅎㅎ

  • aws
  • docker
  • ci/cd
  • github-actions
  • aws-code-deploy
  • infrastructure
  • aws-ec2
SJ 댓글 2 좋아요 0 조회수 167

실행이 안돼요 ㅠㅠ

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

최신버전으로 다운 받았는데도 실행이 안돼서 강의를 진행할 수 없습니다. ㅠㅠ 어떻게 해야하나요. 자세히좀 알려주세요

  • java
  • spring
  • mvc
  • spring-boot
강세준 댓글 2 좋아요 0 조회수 346

실행이 안돼요 ㅠㅠ

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

최신 버전으로 다운받고 했는데 실행이 안돼요.. 공부를 진행하고 싶어도 이거때문에 시간만 보내고 진행이 안돼네요 ㅠㅠ

  • java
  • spring
  • mvc
  • spring-boot
강세준 댓글 1 좋아요 0 조회수 213

클래스 로딩 순서에 관해 질문이 있습니다.

해결됨

기초 탄탄! 독하게 시작하는 Java - Part 2 : OOP와 JVM

10분 24초에 클래스를 로딩하기에 앞서서 검사, 준비, 해결과정을 거친다고 하셨는데 로딩을 한 후 링킹(검사,준비, 해결)과정을 수행하는 것이 아닌가요? 로딩전 링킹과정 후 로딩을 하는 것인가요? 제가 잘못이해하고 있는 것인지 궁금합니다

  • java
  • 객체지향
  • jvm
  • data-structure
김민정 댓글 2 좋아요 0 조회수 234

404 에러

미해결

쿠버네티스 대신 도커 SWARM 사용 방법 핵심 강의

traefik.yaml services: traefik: image: traefik ports: - target: 80 published: 80 mode: host protocol: tcp - target: 443 published: 443 mode: host protocol: tcp - 9001:9001 volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - /var/log/traefik:/var/log/traefik - traefik-certificates:/certificates deploy: mode: global placement: constraints: - node.labels.traefik-public.traefik-certificates == true labels: - traefik.enable=true - traefik.docker.network=traefik-public - traefik.constraint-label=traefik-public - traefik.http.middlewares.https-redirect.redirectscheme.scheme=https - traefik.http.middlewares.https-redirect.redirectscheme.permanent=true - traefik.http.routers.traefik-public-http.rule=Host(`test.shop`) - traefik.http.routers.traefik-public-http.entrypoints=traefik-ui - traefik.http.routers.traefik-public-http.middlewares=https-redirect - traefik.http.routers.traefik-public-https.rule=Host(`test.shop`) - traefik.http.routers.traefik-public-https.entrypoints=traefik-ui - traefik.http.routers.traefik-public-https.tls=true - traefik.http.routers.traefik-public-https.service=api@internal - traefik.http.routers.traefik-public-https.tls.certresolver=le - traefik.http.routers.traefik-public-https.middlewares=admin-auth - traefik.http.services.traefik-public.loadbalancer.server.port=8080 - "traefik.http.middlewares.non-www-to-www.redirectregex.regex=^https?://(?:www\\.)?(.+)" - "traefik.http.middlewares.non-www-to-www.redirectregex.permanent=true" - "traefik.http.middlewares.non-www-to-www.redirectregex.replacement=https://www.$${1}" update_config: order: stop-first command: - --providers.swarm.network=traefik-public - --providers.swarm.constraints=Label(`traefik.constraint-label`, 'traefik-public') #v3 버전 전용 코드 - --providers.swarm.exposedbydefault=false - --providers.swarm.endpoint=unix:///var/run/docker.sock - --entrypoints.http.address=:80 - --entrypoints.https.address=:443 - --certificatesresolvers.le.acme.email=email - --certificatesresolvers.le.acme.storage=/certificates/acme.json - --certificatesresolvers.le.acme.tlschallenge=true - --accesslog.bufferingsize=100 - --accesslog.filepath=/var/log/traefik/traefik-access.log - --accesslog.fields.defaultmode=keep - --accesslog.fields.names.ClientUsername=drop - --accesslog.fields.headers.defaultmode=keep - --accesslog.fields.headers.names.User-Agent=keep - --accesslog.fields.headers.names.Authorization=drop - --accesslog.fields.headers.names.Content-Type=keep - --log - --api - --entrypoints.traefik-ui.address=:9001 networks: - "traefik-public" volumes: traefik-certificates: {} networks: traefik-public: name: traefik-public external: true app.yaml services: flask: image: 192.168.219.114:5000/fastapi-helloworld networks: - traefik-public deploy: labels: - "traefik.enable=true" - "traefik.http.routers.flask.rule=Host(`test.shop`)" - "traefik.http.routers.flask.entrypoints=http" - "traefik.http.routers.flask.middlewares=https-redirect" - "traefik.http.routers.flask-https.rule=Host(`test.shop`)" - "traefik.http.routers.flask-https.entrypoints=https" - "traefik.http.routers.flask-https.tls=true" - "traefik.http.routers.flask-https.tls.certresolver=le" - "traefik.docker.network=traefik-public" - "traefik.constraint-label=traefik-public" - "traefik.http.services.flask-https.loadbalancer.server.port=8080" networks: traefik-public: name: traefik-public external: true stack 배포하고 test.shop 접속 시 404 에러가 발생합니다. 현재 애플리케이션 컨테이너의 포트는 8080으로 설정되어있습니다. 원인이 뭘까요??

  • docker
  • ubuntu
  • docker-swarm
  • orchestration
  • cloud-computing
앙앙기모 댓글 1 좋아요 0 조회수 169

13:00

해결됨

쿠버네티스 대신 도커 SWARM 사용 방법 핵심 강의

13:00 에서 서비스의 연결 포트는 어떤 포트를 의미하는 건가요?

  • docker
  • ubuntu
  • docker-swarm
  • orchestration
  • cloud-computing
앙앙기모 댓글 2 좋아요 0 조회수 177

android studio에서 시뮬레이터를 실행시 cpu 과도 사용 질문

미해결

따라하며 배우는 리액트 네이티브 기초

안드로이드 스튜디오에서 시뮬레이터를 실행시키면 cpu와 메모리가 거의 100%프로에서 안떨어지려고 하는데 이거 낮추는 방법 없을까요..?

  • react
  • react-native
  • expo
김김지호 댓글 1 좋아요 0 조회수 266

게시글 삭제하기

미해결

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

안녕하세요 제로초님! 게시글 삭제하기 기능을 구현하고 있습니다! 구현해도 안되길래 스웨거가서 테스트를 하고 서버를 봤더니 오류가 나더라구요 혹시 이유를 알 수 있을까요??

  • react
  • next.js
  • react-query
  • next-auth
  • msw
정새롬 댓글 1 좋아요 0 조회수 108

node init 설치가 안됩니다.

미해결

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

3분 40초 node -v npm -v 은 다 되는데 init y 는 안됩니다 . .

  • javascript
  • react
  • node.js
서경진 댓글 2 좋아요 0 조회수 396

강의 프로젝트는 Todo리스트 인가요 쇼핑몰 인가요?

미해결

코드로 배우는 React 19 with 스프링부트 API서버

안녕하세요 강사님. 현재 섹션5를 보고 있는데 프로젝트가 어떤 프로젝트인지 헷갈려서 질문 드립니다. 섹션 1,2,3 을 보면 투두리스트 인것 같은데 갑자기 섹션4부터는 product나 상품들도 나오고, 그 뒤 섹션들을 보면 장바구니도 나오고 하던데 최종적으로는 어떤게 만들어지는 건가요?

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
tjdwnsdks 댓글 2 좋아요 0 조회수 150

popover createPortal 방식에서

해결됨

[React / VanillaJS] UI 요소 직접 만들기 Part 2

portal할 요소를 아래처럼 작성하고 있는데 <div id="popoverRoot" /> 저는 이거를 popover를 사용하는 개발자가 신경안쓸 수 있도록 하는 방법이 있지않을까 해서 두 가지 방법을 생각했는데 하나는 useLayoutEffect 내부에서 아래와 같은 로직으로 div요소를 만드는 방법하고, useLayoutEffect(() => { if (typeof window !== 'undefined') { const portalElement = document.getElementById(portalId) if (!portalElement) { const newPortalElement = document.createElement('div') newPortalElement.id = portalId document.body.appendChild(newPortalElement) } } }, []) 아니면 document.body로 보내는 방법을 생각했는데 return createPortal( ... , document.body ) 두 방법 중 어느게 적절한지를 잘 모르겠어서.. 혹은 위 방법처럼 했을 때 어떤 문제가 생기는지도 아직 예상이 안되는데 혹시 강사님의 생각은 어떠신지 궁금합니다!

  • react
  • typescript
  • dom
  • ui
  • vanilla-js
oridori2705 댓글 2 좋아요 0 조회수 176

08:55 테스트 이후에 파라미터 id 값을넣어도 에러가 뜹니다.

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? ( 예 /아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? ( 예 /아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? ( 예 /아니오) [질문 내용] JdbcTemplateMemberRepository 클래스내의 메서드에 id파라미터가 없어서 에러가 떴다는 내용인데.. 그래서 넣어줬습니다. @Override public Optional<Member> findById(Long id) {//리스트 형태로 반환 하기 List<Member> result = jdbcTemplate.query("select * from member where id =? ", memberRowMapper(), id);//parameter 셋팅 id return result.stream ().findAny(); } 그런데도 에러메시지에 이런 내용이 뜨네요 Could not detect default configuration classes for test class [hello.hello_spring.service.MemberServiceIntegrationTest]: MemberServiceIntegrationTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration.

  • java
  • spring
  • mvc
  • spring-boot
sh hhyeogi365 댓글 2 좋아요 0 조회수 201

개발 서버가 실행 안 되는 문제

미해결

React 완벽 마스터: 기초 개념부터 린캔버스 프로젝트까지

npm install 설치한 뒤 개발 서버 키기 위해서 npm run dev 입력했는데 이런 에러가 뜹니다. 인터넷 찾아 본 결과 npm install watchman 이거 해줘야 에러 안 나는 거 알고 있지만, 번번이 프로젝트 생성할 때마다 이런 에러가 꼭 뜹니다. 혹시 해결 방법이 있을까요?

  • react
  • React-Context
  • react-router
  • tailwindcss
  • react-query
youre8090 댓글 1 좋아요 0 조회수 140

인기 태그

인프런 TOP Writers

주간 인기글