묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결취미로 해킹#2(해커의 컴퓨팅)
오래된 운영체제를 사용하시는 이유가 있을 까요?
강의에 사용하는 컴퓨터를 보아하니 98를 사용하시는 것 같은 데. 혹시 괜찮으시다면 오래된 OS를 사용하시는 이유를 알려주실 수 있나요?
-
미해결프로그래밍 시작하기 : 도전! 45가지 파이썬 기초 문법 실습 (Inflearn Original)
QnA_markdown_01-1.Naming Convention 특수 기호 관련
강의 중 " 변수 네이밍 규칙 ( Naming convention ) 에서쥬피터 노트북에 힌트 부분에서는 다음과 같이 나와 있습니다." 특수문자 ( +, - , *, /, $, @, &, %) 불가"여기서, 두 번째에 "_" 가 아니라, "-" 가 오타인 것 같습니다.(언더스코어가 아닌 마이너스 기호)확인 부탁드립니다.
-
미해결앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
활용 앱 64강에서 lazt라는 키워드를 삭제해도되나요?
안녕하세요 Member구조체에서 memberImage를 Lazy 키워드로 작성했는데요 이걸 삭제하고 그냥 하면 왜 안되나요?
-
해결됨독하게 시작하는 C 프로그래밍
해답파일 위치를 모르겠습니다
달팽이배열 도저히 못풀겠어서 해답을 보고싶은데 어디있는지 찾아도 못찾겠어요ㅜㅜ
-
해결됨김영한의 실전 자바 - 기본편
상속 관계와 캡슐화 질문
안녕하세요 영한님 강의 잘 보고 있습니다.상속 관계와 캡슐화에 대해 궁금증이 있어 질문 남깁니다. 문제를 풀 때 부모와 자식은 각각 별도로 생성되지만, 하나의 묶음으로 생각되어 자식 클래스에서 부모 클래스의 필드에 직접 접근 가능하여야 한다 생각했습니다그리하여 부모 클래스의 필드를 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); } } 따라서 상속 관계라도 일반 객체를 사용하는 입장과 동일하게 캡슐화를 해야 하고, 확장의 여지를 두고 부모 클래스의 필드에 접근하는 메소드를 만들어야 하는것인지 궁금합니다!
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
em.flush 발생 시점에 대한 부가적인 질문
오랜만에 관련된 업무 진행하다가 발생한 궁금점에 대하여 질문드리게 되었습니다. 우선 한 트랜젝션의 영속성 컨텍스트에 대하여 쓰기 지연 저장소에 쌓인 쿼리가 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 됨) 에 대한 명확한 [기준] 은 제시하고 있지 않은 것으로 보이는데 맞을까요??
-
해결됨Next + React Query로 SNS 서비스 만들기
페러렐과 인터셉트 라우팅을 활용한 모달에 대한 질문입니다.
기존의 모달 방식(제 기준) 은 Context나 recoil과 같은 상태관리 모달로 Provider를 만들어서 isOpen setIsOpen과 같이 사용했는데이번에 배운 방식도 좋은 방법인 것 같지만, 폴더 구조가 엉망이 되서 가독성이 떨어지는 것 같다는 생각이 들어서 강사님 생각에는 어떤 방식이 어느 상황에서 더 좋을 것 같은지 궁금해서 질문 드려 봅니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
무언가를 띄우셨는데 무엇인지를 모르겠어요
갑자기 어떤 창을 띄우시더니 "그냥 빌드 하시면 돼요"라고 하시는데문맥상 윈도우와 다른 진행 방식인 것 같거든요해당 부분을 이해하기 위해서는 어떤 부분을 공부해야 될까요? 섹션1 프로젝트 환경설정의 3분짜리 '빌드하고 실행하기' 영상입니다 0:16 즈음이에요
-
미해결스프링부트 JUnit 테스트 - 시큐리티를 활용한 Bank 애플리케이션
jwt 인가필터 규현및 등록
회원가입은 되는데 로그인 시도 시 에러 뜨고 그전에 에러 메시지에는 아래와 같이 나왔습니다. 어느 부분에서 잘못된것일까여.springframework.security.authentication.InternalAuthenticationServiceException: 인증실패 at shop.mtcoding.bank.config.auth.LoginService.lambda$loadUserByUsername$0(LoginService.java:22) at java.base/java.util.Optional.orElseThrow(Optional.java:408) at shop.mtcoding.bank.config.auth.LoginService.loadUserByUsername(LoginService.java:21) at org.springframework.security.authentication.dao.DaoAuthenticationProvider.retrieveUser(DaoAuthenticationProvider.java:94) at org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider.authenticate(AbstractUserDetailsAuthenticationProvider.java:133) at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:182) at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:201) at shop.mtcoding.bank.config.jwt.JwtAuthenticationFilter.attemptAuthentication(JwtAuthenticationFilter.java:50) at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:227) at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:217) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346) at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
mac c++ 설치관련 질문입니다.
큰돌님께서 알려주신대로 했는데 마지막코드에서 저렇게 나옵니다... :wq이후에 저렇게 나오는데 어떻게 해결해야할까요?
-
미해결[중급편] 친절한 JETPACK 개론 <상> (Android Kotlin)
Map / SwitchMap - 2 강의 오류
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 } }
-
해결됨실무에서 사용중인 AWS 클라우드 IAM 이해와 보안
강의 자료 문의
'실무에서 사용중인 AWS 클라우드 IAM 이해와 보안' 강의 자료를 다운로드하였는데 압축폴더에 아무 내용이 없습니다 확인해주시면 감사합니다
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
sklearn downgrading 문제
안녕하세요, sklearn downgrading 관련하여 오류가 생겨 질문 남깁니다.다른 수강생분이 앞서 남겨 주신 질문을 보고 따라해 보았는데요, 파이썬 3.9.18은 더 이상 설치파일이 지원되지 않으며, 현재 기준 최신 버전인 3.12.1으로 업데이트를 해보아도 sklearn downgrading 설치에 자꾸 실패하고 있습니다...혹시 3.9 이전 버전의 unofficial 파일이라도 설치해서 진행해볼까 하는데요, 파이썬 몇 이상을 써야한다와 같은 기준이 있을까요? 해당 사항 관련하여 확인 부탁드리며,좋은 강의 감사드립니다. :)
-
해결됨Next + React Query로 SNS 서비스 만들기
github에 올라와 있는 파일중에 module.css파일이 있나요?
저는 여기서 파일을 zip으로 다운받아서 복사하려고 했는데https://github.com/ZeroCho/next-app-router-zmodule.css파일을 찾을 수가 없어서 혹시 어디서 찾아야 할까요?
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
PDF 문서를 HWP 문서로 변환하는 방법이 있나요?
PDF를 오피스 문서로 변환하기 기능을 python으로 실행하는 방법이 있을까요??API 문서에서는 찾아보아도 관련 내용이 없네요.감사합니다.
-
미해결김영한의 실전 자바 - 기본편
메모리 영역에 관해서 질문드릴게요
이 코드에서요 메서드영역,스택영역,힙영역이 조금 헷갈려서요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영역 이렇게 이해하면될까요?
-
미해결이펙티브 자바 완벽 공략 1부
강의 코드
강의 코드를 못찾겠는데 어디서 찾을 수 있을까요?
-
해결됨[자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편
dfs 매개변수에서 y,x 를 왜 순서를 반대로 쓰셨는지 궁금합니다.
점프왕 젤리문제에서 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(); } }
-
해결됨손에 익는 Next.js - 공식 문서 훑어보기
메타데이터 관련 질문
동적 메타데이터를 적용하려고 합니다.메타데이터가 위치해야하는곳에 대해서 궁금한데요generateMetadata 함수는layout 혹은 page.tsx 에만 위치해야 하나요?page.tsx 안에서 import 한 컴포넌트안에 넣었더니 적용이 안되길래 여쭤봅니다
-
미해결
비즈니스 로직이 300라인 정도 되는데 단위 테스트를 어떻게 해야할까 고민인데 어떻게 하면 좋을까요!
300라인 정도 되는 비즈니스 로직이 있는데요.이 로직 안에는 데이터베이스 연동하는 부분과map / reduce 등으로 데이터를 변환하는 부분이렇게 섞여있는데 단위테스트를 구현하려다보니 어떻게 접근해야할지 막막하군요.. 안의 로직의 기능 별로 함수로 분리하여 처리하여 각 기능 별로 테스트를 처리하고이 로직은 실행 -> 결과만 단위 테스트들의 통합 테스트만 진행할지 고민이네요. 좋은 아이디어가 있으시다면 공유 부탁드려요 ㅠㅠ!!