inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

상속 관계와 캡슐화 질문

해결됨

김영한의 실전 자바 - 기본편

안녕하세요 영한님 강의 잘 보고 있습니다. 상속 관계와 캡슐화에 대해 궁금증이 있어 질문 남깁니다. 문제를 풀 때 부모와 자식은 각각 별도로 생성되지만, 하나의 묶음으로 생각되어 자식 클래스에서 부모 클래스의 필드에 직접 접근 가능하여야 한다 생각했습니다 그리하여 부모 클래스의 필드를 protected 로 생성하여 풀었는데, 영한님 문제 풀이를 보니 private 으로 감추시는걸 보고 의문점이 생겼습니다 private 으로 감춘다면 기존 부모 클래스 기능을 오버라이딩 하여 부모 필드에 접근이 필요 할 때는 getter/setter 같은 메소드를 만들어서 접근 해야 하는 걸까요? 아래는 Car Class 의 move 메소드를 GasCar Class 가 재정의 하는 코드를 간략하게 작성해보았습니다 public class Car { private int speed; public void move(){ speed++; System.out.println("speed : " + speed); } protected int getSpeed() { return speed; } protected void setSpeed(int speed) { this.speed = speed; } } public class GasCar extends Car{ @Override public void move() { int speed = getSpeed() + 2; setSpeed(speed); System.out.println("speed : " + speed); } } 따라서 상속 관계라도 일반 객체를 사용하는 입장과 동일하게 캡슐화를 해야 하고, 확장의 여지를 두고 부모 클래스의 필드에 접근하는 메소드를 만들어야 하는것인지 궁금합니다!

  • java
  • 객체지향
9kku2 댓글 1 좋아요 1 조회수 474

em.flush 발생 시점에 대한 부가적인 질문

해결됨

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

오랜만에 관련된 업무 진행하다가 발생한 궁금점에 대하여 질문드리게 되었습니다. 우선 한 트랜젝션의 영속성 컨텍스트에 대하여 쓰기 지연 저장소에 쌓인 쿼리가 flush() 되는 경우는 다음 세 가지로 이해하였습니다. flush() 직접호출 트랜젝션 commit() JPQL 직접 발생시, 해당 JPQL 발생 이전 다음과 같은 연관관계가 가정되어 있다고 해보겠습니다. public class Car{ @Id private Long id; } public class Wheel { @Id private Long id; @ManyToOne @JoinColumn(name = "car_id") private Car car; } Wheel 이 연관관계의 주인이며, Car 와 M:1 관계로 매핑되어 있습니다. 이 때, 다음과 같은 로직을 수행해보겠습니다. (1L 의 Wheel 이 2L 의 Car 에 매핑되어 있음) Wheel wheel = em.find(Wheel.class, 1L); wheel.setCar(null); // 1) em.createQuery("delete from Car c where c.id = :id") .setParameter("id", 2L) .exeucteUpdate(); // 2) 이와 같이 수행되었을 때, 1번 시점에서 영속성 컨텍스트에 보관중인 Wheel 의 Car 값이 변경되어 Update 쿼리가 발생하여 쓰기 지연 저장소에 저장되었을 것으로 추측합니다. 2번 시점은 위에서 말한 'flush 발생시점' 중 3번에 해당한다고 생각했습니다 (JPQL 직접 수행). 그렇다면 쓰기 지연 저장소에 쌓인 Update 쿼리가 나간 이후, 직접 수행하려는 Delete JPQL 을 발생시켜서 아무 문제 없이 수행되어야 하는거 아닌가 싶었는데, 위 로직은 FK 제약조건에 위배되어 수행되지 못합니다. 1번과 2번 사이에 강제로 em.flush() 를 진행해주면, 그제서야 update 쿼리가 발생한 뒤에 delte 쿼리가 발생하여 위 로직이 아무 에러 없이 수정되는 모습을 확인했습니다. 왜 이 상황에서는 flush 가 자동으로 발생하지 않나요? 열심히 찾아봤을 때... JPA 측에서 제공하는 3번 (JPQL 발생시 flush 됨) 에 대한 명확한 [기준] 은 제시하고 있지 않은 것으로 보이는데 맞을까요??

  • java
  • jpa
  • flush
  • jpql\
  • em
강우석 댓글 1 좋아요 0 조회수 417

페러렐과 인터셉트 라우팅을 활용한 모달에 대한 질문입니다.

해결됨

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

기존의 모달 방식(제 기준) 은 Context나 recoil과 같은 상태관리 모달로 Provider를 만들어서 isOpen setIsOpen과 같이 사용했는데 이번에 배운 방식도 좋은 방법인 것 같지만, 폴더 구조가 엉망이 되서 가독성이 떨어지는 것 같다는 생각이 들어서 강사님 생각에는 어떤 방식이 어느 상황에서 더 좋을 것 같은지 궁금해서 질문 드려 봅니다.

  • react
  • next.js
  • react-query
  • next-auth
  • msw
리액트 매니아 댓글 1 좋아요 1 조회수 546

무언가를 띄우셨는데 무엇인지를 모르겠어요

미해결

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

갑자기 어떤 창을 띄우시더니 "그냥 빌드 하시면 돼요"라고 하시는데 문맥상 윈도우와 다른 진행 방식인 것 같거든요 해당 부분을 이해하기 위해서는 어떤 부분을 공부해야 될까요? 섹션1 프로젝트 환경설정의 3분짜리 '빌드하고 실행하기' 영상입니다 0:16 즈음이에요

  • java
  • spring
  • mvc
  • spring-boot
승현 댓글 2 좋아요 0 조회수 401

jwt 인가필터 규현및 등록

미해결

스프링부트 JUnit 테스트 - 시큐리티를 활용한 Bank 애플리케이션

회원가입은 되는데 로그인 시도 시 에러 뜨고 그전에 에러 메시지에는 아래와 같이 나왔습니다. 어느 부분에서 잘못된것일까여.s pringframework.security. authentication.InternalAuthenticationServiceException: 인증실패 at s hop.mtcoding.bank. config.auth.LoginService.lambda$loadUserByUsername$0(L oginService.java:22) at java.base/java.util.Optional.orElseThrow(O ptional.java:408) at s hop.mtcoding.bank. config.auth.LoginService.loadUserByUsername(L oginService.java:21) at o rg.springframework.security. authentication.dao.DaoAuthenticationProvider.retrieveUser(D aoAuthenticationProvider.java:94) at o rg.springframework.security. authentication.dao.AbstractUserDetailsAuthenticationProvider.authenticate(A bstractUserDetailsAuthenticationProvider.java:133) at o rg.springframework.security. authentication.ProviderManager.authenticate(P roviderManager.java:182) at o rg.springframework.security. authentication.ProviderManager.authenticate(P roviderManager.java:201) at s hop.mtcoding.bank. config.jwt.JwtAuthenticationFilter.attemptAuthentication(J wtAuthenticationFilter.java:50) at o rg.springframework.security. web.authentication.AbstractAuthenticationProcessingFilter.doFilter(A bstractAuthenticationProcessingFilter.java:227) at o rg.springframework.security. web.authentication.AbstractAuthenticationProcessingFilter.doFilter(A bstractAuthenticationProcessingFilter.java:217) at o rg.springframework.security. web.FilterChainProxy$VirtualFilterChain.doFilter(F ilterChainProxy.java:346) at o rg.springframework.security. web.authentication.logout.LogoutFilter.doFilter(L ogoutFilter.java:103) at o rg.springframework.security. web.authentication.logout.LogoutFilter.doFilter(L ogoutFilter.java:89) at o rg.springframework.security. web.FilterChainProxy$VirtualFilterChain.doFilter(F ilterChainProxy.java:346) at org.springframework.web.filter.CorsFilter.doFilterInternal(C orsFilter.java:91) at org.springframework.web.filter.OncePerRequestFilter.doFilter(O ncePerRequestFilter.java:117) at o rg.springframework.security. web.FilterChainProxy$VirtualFilterChain.doFilter(F ilterChainProxy.java:346) at o rg.springframework.security. web.header.HeaderWriterFilter.doHeadersAfter(H eaderWriterFilter.java:90) at o rg.springframework.security. web.header.HeaderWriterFilter.doFilterInternal(H eaderWriterFilter.java:75)

  • spring-boot
  • junit
  • 소프트웨어-테스트
kjkkmk42397 댓글 1 좋아요 0 조회수 363

mac c++ 설치관련 질문입니다.

미해결

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

큰돌님께서 알려주신대로 했는데 마지막코드에서 저렇게 나옵니다... :wq이후에 저렇게 나오는데 어떻게 해결해야할까요?

  • c++
  • 코딩-테스트
김우진 댓글 2 좋아요 1 조회수 485

Map / SwitchMap - 2 강의 오류

미해결

[중급편] 친절한 JETPACK 개론 <상> (Android Kotlin)

Map / SwitchMap - 2 강의의 1분 29초 쯤에 val mapLiveData = Transformations.map(liveCount) { it+it } 란 코드가 있는데요 Transformations 를 못불러오고 강의자료를 그대로 복붙했는데 이런식으로 빨간줄이 납니다. import를 못해오는거 같습니다 switchMap도 마찬가지로 안됩니다. Transformations 를 임포트 못받아옵니다! 찾아보니 gradle에 이부분을 임포트 받고 implementation("androidx.lifecycle:lifecycle-livedata-core:2.3.1") 이런식으로 사용하니까 되더라고요. 이런식으로 하고 진행해도 되는거겠죠? class MainViewModel : ViewModel() { private var _mutableCount = MutableLiveData(0) val liveCount : LiveData<Int> get() = _mutableCount val mapLiveData = liveCount.map { it+it } val switchMapLiveData = liveCount.switchMap { changeValue(it) } fun setLiveDataValue(count : Int) { _mutableCount.value = count } fun changeValue(count : Int) : MutableLiveData<Int> { val testLiveData = MutableLiveData(count*count) return testLiveData } }

  • android
  • kotlin
  • jetpack
최대환 댓글 1 좋아요 0 조회수 410

강의 자료 문의

해결됨

실무에서 사용중인 AWS 클라우드 IAM 이해와 보안

'실무에서 사용중인 AWS 클라우드 IAM 이해와 보안' 강의 자료를 다운로드하였는데 압축폴더에 아무 내용이 없습니다 확인해주시면 감사합니다

  • aws
  • Terraform
  • devops
  • devsecops
  • iam
gmldk728 댓글 2 좋아요 1 조회수 391

sklearn downgrading 문제

미해결

[개정판] 파이썬 머신러닝 완벽 가이드

안녕하세요, sklearn downgrading 관련하여 오류가 생겨 질문 남깁니다. 다른 수강생분이 앞서 남겨 주신 질문을 보고 따라해 보았는데요, 파이썬 3.9.18은 더 이상 설치파일이 지원되지 않으며, 현재 기준 최신 버전인 3.12.1으로 업데이트를 해보아도 sklearn downgrading 설치에 자꾸 실패하고 있습니다... 혹시 3.9 이전 버전의 unofficial 파일이라도 설치해서 진행해볼까 하는데요, 파이썬 몇 이상을 써야한다와 같은 기준이 있을까요? 해당 사항 관련하여 확인 부탁드리며, 좋은 강의 감사드립니다. :)

  • python
  • 머신러닝
  • 통계
SY 댓글 1 좋아요 0 조회수 473

github에 올라와 있는 파일중에 module.css파일이 있나요?

해결됨

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

저는 여기서 파일을 zip으로 다운받아서 복사하려고 했는데 https://github.com/ZeroCho/next-app-router-z module.css파일을 찾을 수가 없어서 혹시 어디서 찾아야 할까요?

  • react
  • next.js
  • react-query
  • next-auth
  • msw
리액트 매니아 댓글 1 좋아요 0 조회수 474

PDF 문서를 HWP 문서로 변환하는 방법이 있나요?

해결됨

직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피

PDF를 오피스 문서로 변환하기 기능을 python으로 실행하는 방법이 있을까요?? API 문서에서는 찾아보아도 관련 내용이 없네요. 감사합니다.

  • python
  • 한컴오피스
금기문 댓글 1 좋아요 1 조회수 2359

메모리 영역에 관해서 질문드릴게요

미해결

김영한의 실전 자바 - 기본편

이 코드에서요 메서드영역,스택영역,힙영역이 조금 헷갈려서요 public static void main(String[] args) 이 main메서드는 스택영역이고 public static int sum(int[] array){ int sum = 0; for (int sum1: array) { sum += sum1; } return sum; } 이 sum 메서드는 메서드 영역, int[] array 매개변수는 heap영역 sum메서드안에 있는 변수들은 stack영역 이렇게 이해하면될까요?

  • java
  • 객체지향
자바마스터하자 댓글 1 좋아요 0 조회수 585

강의 코드

미해결

이펙티브 자바 완벽 공략 1부

강의 코드를 못찾겠는데 어디서 찾을 수 있을까요?

  • java
회원 댓글 2 좋아요 0 조회수 521

dfs 매개변수에서 y,x 를 왜 순서를 반대로 쓰셨는지 궁금합니다.

해결됨

[자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편

점프왕 젤리문제에서 dfs 메서드에 dfs(int x, int y)가 아닌 dfs(int y, int x)인지 궁금합니다! 이전 문제부터 계속 궁금해했는데, 왜 순서를 바꾸셨는지에 대한 명확한 이유를 못찾겠어서 질문올렸습니다. // 점프왕 젤리 import java.util.*; import java.io.*; class Jump_king_jelly { static final int MAX = 3 + 100 + 10; static int map[][]; static boolean visited[][]; static int N; static int dirY[] = {1, 0}; static int dirX[] = {0, 1}; public static void dfs(int y, int x) { visited[y][x] = true; if(y == N && x == N) return; for(int i = 0; i < 2; i++) { int newY = y + dirY[i] * map[y][x]; int newX = x + dirX[i] * map[y][x]; if(visited[newY][newX] == false) { dfs(newY, newX); } } } public static void main(String[] args) throws IOException { // 0. 입력 및 초기화 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); N = Integer.parseInt(br.readLine()); map = new int[MAX][MAX]; visited = new boolean[MAX][MAX]; // 1. map에 정보 반영 for(int i = 1; i <= N; i++) { StringTokenizer st = new StringTokenizer(br.readLine()); for(int j = 1; j <= N; j++) { map[i][j] = Integer.parseInt(st.nextToken()); } } // 2. dfs 수행 dfs(1,1); // 3. 출력 if(visited[N][N]) bw.write("HaruHaru"); else bw.write("Hing"); bw.close(); br.close(); } }

  • java
  • 코딩-테스트
  • 알고리즘
  • dfs
devfancy 댓글 1 좋아요 1 조회수 396

메타데이터 관련 질문

해결됨

손에 익는 Next.js - 공식 문서 훑어보기

동적 메타데이터를 적용하려고 합니다. 메타데이터가 위치해야하는곳에 대해서 궁금한데요 generateMetadata 함수는 layout 혹은 page.tsx 에만 위치해야 하나요? page.tsx 안에서 import 한 컴포넌트안에 넣었더니 적용이 안되길래 여쭤봅니다

  • react
  • typescript
  • next.js
  • next.js13
가스라이팅의정석 댓글 1 좋아요 0 조회수 248

비즈니스 로직이 300라인 정도 되는데 단위 테스트를 어떻게 해야할까 고민인데 어떻게 하면 좋을까요!

미해결

300라인 정도 되는 비즈니스 로직이 있는데요. 이 로직 안에는 데이터베이스 연동하는 부분과 map / reduce 등으로 데이터를 변환하는 부분 이렇게 섞여있는데 단위테스트를 구현하려다보니 어떻게 접근해야할지 막막하군요.. 안의 로직의 기능 별로 함수로 분리하여 처리하여 각 기능 별로 테스트를 처리하고 이 로직은 실행 -> 결과만 단위 테스트들의 통합 테스트만 진행할지 고민이네요. 좋은 아이디어가 있으시다면 공유 부탁드려요 ㅠㅠ!!

  • 단위테스트
  • 테스트코드
현자타임 댓글 1 좋아요 0 조회수 377

spoqa han sans neo

미해결

SCSS(SASS)+FLEX 실전 반응형 웹 프로젝트 with Figma

spoqa han sans neo글씨체 다운받았는데 피그마 할 때 text밑에 fonts에서 no matching font로 나오네요. 아예 검색자체가 안되는데 무슨 문제인가요??

  • HTML/CSS
  • javascript
  • sass
  • jquery
  • scss
imhj11777 댓글 3 좋아요 1 조회수 1093

api 서버 호출이 안됩니다

미해결

배달앱 클론코딩 [with React Native]

안녕하세요 api 서버 호출이 안됩니다 api 서버 연결까지는 되는데 호출에서 문제가 있습니다 post가 안되는건가 싶어서 get으로 바꾸고 직설적으로 json 호출만 해보려고해도 안됩니다.. get으로 바꾸고 아예 주소에서 http://IP주소:3105/user 찍어봐도 요런화면뿐... 서버쪽 파일은 강사님이 주신 폴더 그대로 받아서 설치했습니다 폴더 위치는 root > back 이렇게 들어있는데 폴더 위치가 문제인걸까요.. axios 문제는 아닌게 다른 open api 호출은 잘만됩니다

  • react-native
  • api
위염 댓글 1 좋아요 0 조회수 494

transational

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

회사 인프런 계정인데 김영한강사님 강의가 많습니다. transational에 대해 자세히 알고싶은데 @Transational 어노테이션을 설명하는 강좌가 어떤것인가요??

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
쾌할한 참치 댓글 1 좋아요 0 조회수 235

useLocalStorage() 함수 사용여부

미해결

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

useLocalStorage()는 사용되지 않는데 수정까지 해서 남겨둔 이유가 있는 건가요?

  • react
  • python
  • django
  • docker
코해 댓글 1 좋아요 0 조회수 267

인기 태그

인프런 TOP Writers

주간 인기글