묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
PostConstructor 관련해서 질문있습니다!
안녕하세요 항상 강의 잘 보고 있습니다.영한님께서 알려주신 내용으로 공부와 토이프로젝트를 병행해나가다 이해가 가질 않는 부분이 있어서 질문드립니다.상황A클래스에 @PostConstructor 어노테이션을 붙여 객체 a를 미리 저장해 DB에 저장을 하고 B클래스에도 @PostConstructor를 붙여 객체 b를 저장하려 하였습니다.(A클래스와 B클래스의 연관관계는 일대다입니다.) a객체에 b객체를 리스트 형태로 저장할 수 있게끔 빈 리스트를 만들어 저장하는 것까지 A클래스에서 확인을 하였고 B클래스에서 b객체를 만들고 아까 저장한 a객체를 DB에서 가져오는것까지 확인하였습니다.이후 a객체와 b객체의 연관관계를 연관관계 편의 메서드로 만들어주려하였으나 a객체에서 b객체들을 담을수 있게끔 만들어둔 리스트 형식의 필드가 lazyinitializationexception 예외를 발생시키며 더미데이터 생성에 실패하였습니다.시도해 본 것들@OneToMany의 기본 로딩 전략이 지연로딩이기에 생긴 문제인가 싶어 em.flush, @GraphEntity, hibernate.initialize까지 해보았으나 똑같이 lazyinitializationexception를 발생시키며 더미데이터 생성에 실패하였습니다.(혹시나 해서 즉시로딩으로 변경하니 더미데이터 생성은 문제없이 잘 되었습니다.)궁금한 점혹시 어떤 이유로 다음과 같은 현상이 발생했는지 알 수 있을까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
static final 질문
public static final String ERROR_EXCEPTION = "javax.servlet.error.exception"; public static final String ERROR_EXCEPTION_TYPE = "javax.servlet.error.exception_type"; public static final String ERROR_MESSAGE = "javax.servlet.error.message"; public static final String ERROR_REQUEST_URI = "javax.servlet.error.request_uri"; public static final String ERROR_SERVLET_NAME = "javax.servlet.error.servlet_name"; public static final String ERROR_STATUS_CODE = "javax.servlet.error.status_code"; static final로 선언돼있는데 어떻게 다른 예외가 발생할 때 마다 로그 찍어보면 다른 값이 들어가 있나요??
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
Rename 바를 여시는 단축키가 뭔가요
14:21초 처럼 강사님처럼 원하는 함수가 사용된 경로를 찾고싶은데 해당 기능을 사용하고자 하면 어떤 단축키를 사용해야할까요?
-
미해결Angular(2+) Front에서 Back까지 - Nest js를 알려면 Angular 모듈을 알아야한다!
필드 초기화 에러
import { Component, OnInit } from '@angular/core'; import { Router } from '@angular/router'; import { PageToggleService } from 'src/app/share/page-toggle.service'; @Component({ selector: 'app-stopwatch', templateUrl: './stopwatch.component.html', styleUrls: ['./stopwatch.component.scss'], providers: [ PageToggleService ] }) export class StopwatchComponent implements OnInit{ constructor( private router : Router, public pageToggleService : PageToggleService ){ } goClock(){ this.pageToggleService.goPage('/clock') } ngOnInit(): void { } } 이런 에러가 자꾸 납니다. ㅠㅠ초기화 하라고 하네요 자꾸constructor에 인자로 접근제한자 지정해서 해주면초기화까지 되는거 아닌가요?
-
미해결스프링 시큐리티
세션 클러스터링을 한 이후 동시로그인 제한이 안되는데요
안녕하십니까강사님 강의를 듣고 여기 커뮤니티에 나름 최신 소스 받아서 시큐리티 구현중인데요이중화 환경에서 톰캣을 통해 세션을 공유하는것까지는 되었는데요동시 로그인제한이 안되는데 추가적인 설정을 무엇을 해야할지 모르겠는데도움좀 받을수 있을까요? 스프링 2.7.10스프링 시큐리티 5.7.7 // 시큐리티 설정부분@Slf4j @RequiredArgsConstructor @EnableWebSecurity @Configuration public class WebSecurityConfig { private final MemberRepository memberRepository; @Bean public SecurityFilterChain defaultSecurityFilterChain(HttpSecurity http) throws Exception { // 경로 설정 http. authorizeRequests() .antMatchers().permitAll() .anyRequest().authenticated() ; // 동시 로그인 제한을 설정 http .sessionManagement() .maximumSessions(1) .expiredUrl("/error/expired") .and().sessionCreationPolicy(SessionCreationPolicy.ALWAYS) ; http.logout() .logoutRequestMatcher(new AntPathRequestMatcher("/logout")) .invalidateHttpSession(true) .clearAuthentication(true) .deleteCookies("JSESSIONID") ; // 로그인... 인증 권한 체크... // 로그인 return http.build(); } /** * 여기에 Authentication 을 설정하도록 */ @Bean AuthenticationManager authenticationManager(AuthenticationConfiguration authConfiguration) throws Exception { return authConfiguration.getAuthenticationManager(); } @Bean public static PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } } // 톰캣 클러스터링 부분 (https://happy-jjang-a.tistory.com/155를 참조했습니다.)@Configuration public class TomcatClusterConfig implements WebServerFactoryCustomizer<TomcatServletWebServerFactory> { @Override public void customize(final TomcatServletWebServerFactory factory) { factory.addContextCustomizers(new TomcatClusterContextCustomizer()); } } class TomcatClusterContextCustomizer implements TomcatContextCustomizer { @Override public void customize(final Context context) { context.setDistributable(true); DeltaManager manager = new DeltaManager(); manager.setExpireSessionsOnShutdown(false); manager.setNotifyListenersOnReplication(true); context.setManager(manager); configureCluster((Engine) context.getParent().getParent()); } private void configureCluster(Engine engine) { //cluster SimpleTcpCluster cluster = new SimpleTcpCluster(); cluster.setChannelSendOptions(6); //channel GroupChannel channel = new GroupChannel(); //membership setting McastService mcastService = new McastService(); mcastService.setAddress("228.0.0.4"); mcastService.setPort(45564); // TCP&UDP port 오픈 필요 mcastService.setFrequency(500); mcastService.setDropTime(3000); channel.setMembershipService(mcastService); //receiver NioReceiver receiver = new NioReceiver(); receiver.setAddress("auto"); receiver.setMaxThreads(6); receiver.setPort(5000); // TCP port 오픈 필요 channel.setChannelReceiver(receiver); //sender ReplicationTransmitter sender = new ReplicationTransmitter(); sender.setTransport(new PooledParallelSender()); channel.setChannelSender(sender); //interceptor channel.addInterceptor(new TcpPingInterceptor()); channel.addInterceptor(new TcpFailureDetector()); channel.addInterceptor(new MessageDispatchInterceptor()); cluster.addValve(new ReplicationValve()); cluster.addValve(new JvmRouteBinderValve()); cluster.setChannel(channel); cluster.addClusterListener(new ClusterSessionListener()); engine.setCluster(cluster); } }
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
Count 쿼리 발생에 대해 궁금합니다.
안녕하세요 호돌맨님 ! 질문이 있습니다 !!Pageable 을 사용해서 페이징 구현 시 Full Scan 을 하기 위해 Count 쿼리가 발생하는걸 확인했는데, Pageable 에서는 페이징 처리를 위해 총 데이터의 개수를 파악해야 하기 때문이니까 Count 쿼리가 필요한거고 Querydsl 은 직접 limit 값, offset 값을 지정하기 때문에 Full Scan 할 필요가 없으니 Count 쿼리가 필요없는게 맞을까요 ?
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
iOS 실제 기기 Login 테스트 에러
안녕하세요.ip를 확인하고 android와 iOS 기기를 통해 테스트 중 에러가 발생했습니다.android 기기에선 문제 없이 동작하는데 iOS 기기에선 SocketException: Connection failed (OS Error: No route to host, errno = 65), address = 192.168.0.122, port = 3000 메시지와 함께 에러가 발생합니다.퍼미션이 잘못된 것인지 이유를 모르겠어서 질문드립니다!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
맞왜틀 질문
설명해주신대로 ret=0, d=0~100까지로 해서백준 예제입력을 넣어봤는데출력값이 계속 0이 뜹니다 ㅠㅠ..ret=1로 했을때는 출력값이 정상적으로 5가 뜨긴하는데 왜 ret=0을 넣었을 때 안되는건지 모르겠습니다.뭐가 문제인가요?#include <bits/stdc++.h> using namespace std; int n, h[101][101], visited[101][101], cnt, ret=0; const int dy[4] = {-1, 0, 1, 0}; const int dx[4] = {0, 1, 0, -1}; void dfs(int y, int x, int d){ visited[y][x] = 1; for(int i=0; i<4; i++){ int ny=y+dy[i]; int nx=x+dx[i]; if(ny<0 || ny>=n || nx<0 || nx>=n) continue; if(visited[ny][nx]) continue; if(h[ny][nx] <= d) continue; dfs(ny, nx, d); } return; } int main(){ cin >> n; for(int i=0; i<n; i++){ for(int j=0; j<n; j++){ cin >> h[i][j]; } } for(int d=0; d<=100; d++){ cnt=0; fill(&visited[0][0], &visited[101][101], 0); for(int i=0; i<n; i++){ for(int j=0; j<n; j++){ if(h[i][j] <= d) continue; if(visited[i][j]) continue; dfs(i, j, d); cnt++; } } ret = max(ret, cnt); } cout << ret; return 0; }
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
DFS 풀 때 재귀 함수 매개변수로 L값만 넘겨주는 이유가 뭔가요?
DFS를 풀 때 매개변수로 int L 값만 계속 넘겨주잖아요ch[] 배열은 항상 static으로 전역으로 선언해두시고,그리고 재귀 진입 전에 ch[i] = 1 하고 돌고 나서 ch[i] = 0하는데L값도 재귀 진입 전에 L++하고 돌고 나서 L--하면 같은 결과가 나오는데매개변수로 L값만 넣는 이유가 궁금합니다.넣을 꺼면 둘 다 넣거나 둘 다 빼거나 할 것 같은데.
-
해결됨[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
비동기 코드 질문
호출스택에 먼저 (anonymous)가 있고 a를 호출하니 a함수가 그 위에 쌓이고그 다음 setTimeout은 비동기코드이니까 백그라운드에 있다가 콜백함수가 태스크큐를 거쳐 이벤트루프를 타고 호출스택으로 가기전에 호출스택이 비어져있어야 콜백함수가 호출스택으로 가는데 a안에 setTimeout이 있으니 동기코드가 아직 안끝났는데 콜백함수가 어떻게 호출스택으로 갈 수 있나요?동기코드는 그 안의 비동기코드가 아직 안끝났어도 자기 할일이 다 끝나면 호출스택에서 벗어나는건가요?
-
해결됨따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
Entity 생성 시 import 내용 자동 생성
제가 코드를 한 번에 입력하지 않고 나눠서 강의를 봐서 놓친 것일 수도 있는데..@Entity("votes")를 입력하면 제일 위쪽에 자동으로 import {Entity} from "typeorm" 등의 코드가 강의에서는 생기던데 혹시 import 코드가 자동으로 생성되지 않는 이유는 무엇일까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
eslint 적용안됨
선생님이 설명하신 것처럼 따라서 했는데 저장할 시 저절로 2칸 tab되는 기능이 안되는데 어디서 잘못된 지 알려주시면 감사하겠습니다.
-
미해결
인프런 앱이나 강의 영상 저장
인프런 앱이나 강의 영상 저장하는 법은 없나요?와이파이가 안되는 환경에서도 이용하고 싶은데 안될까요
-
해결됨[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Android license status unknown 에러 발생
flutter doctor --android-licenses 명령어를 하면 이런 에러가 뜨네요..java.lang.UnsupportedClassVersionError 라고 하는데 현재 자바버전은 19입니다. Android Studio에서 SDK tool은 다 설치를 했구요.어떻게 하면 해결될까요?? ㅠㅠ
-
해결됨[게임 프로그래머 도약반] DirectX11 입문
Shader Pass 질문드립니다
DIrectX 학습하면서 이 부분이 되게 충격적으로 다가왔습니다.편리성이 엄청난데 이 pass 라이브러리는 "FX11/Effects11d.lib"에서 기능이 제공이 되어 있는건가요? 아니면 루키스님이 직접 만드신 방법인가요?그리고 실제 엔진개발에서 많이 사용되는 라이브러리 인가요?마지막으로 hlsl과 fx의 차이를 검색해서 알아보니 fx는 조명효과 같은 곳에 사용한다는데 hlsl과 차이가 무엇인가요?항상 강의 감사하게 듣고있습니다 감사합니다!
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
실제 서버 배포
안녕하세요 선생님 ! 강의 정말 잘 보고 있습니다 ! 다름이 아니라 현재 Node Js 교과서를 참고해서 웹 프로젝트를 진행 중입니다. AWS를 이용해 lightsail과 도메인을 구입해 실제 배포를 하려 하는데요. 큰 프로젝트가 아니라 사용자가 100~200명쯤 되는 블라인드 매칭 서비스입니다. 무료로 진행하는 프로그램이라 큰 걱정은 없지만, 실제 서버 배포를 함에 있어 15장에 나오는 서비스 운영을 위한 패키지 만으로 보안이 가능할까 걱정이 돼서 글을 작성합니다. 추가 적으로 추천하시는 패키지들이 있으시면 추천 받고 싶습니다 !
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
학습조언 해주세요
인강 40분짜리 3개 듣고 복습해서 총 5시간을 소비했는데 잘 하고 있는 건지 궁금해요
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
프로젝트 생성 후 RUN -> 에러
안녕하세요.첫 시작부터 막혀서 슬프네요.. 도와주세요 ! 과정 순서대로 올릴게요.(1) 프로젝트 생성(2) 생성 후 오픈 > RUN 클릭 > 에러 (3) Settings > Gradle > Intellij IDEA로 변경 (에러 메세지는 안뜨나, 톰캣 Start 안됨)(4) 오른쪽 Notifications 에서 'Lombok' 관련 알림 (혹시나 해서 첨부..)(5) Settings > Gradle > Gradle JVM 변경 (11 & 17 둘다 시도해봄 / 여전히 에러 메세지는 안뜨나, 톰캣 Start 안됨)(6) 톰캣 Start 안됨선생님들 ♥ 도와주세요무엇을 어떻게 고치면 될까요?
-
미해결파이썬/장고로 웹채팅 서비스 만들기 (Feat. Channels) - 기본편
채팅방에서 마지막 유저가 나가면 채팅방 자동 삭제 질문드립니다.
채팅방에서 마지막 유저가 나가면 채팅방 자동 삭제를 구현하기 위해 , 그 뒤에 추가 과제들도 구현하기 위해 channel_name을 따로 model로 만들고 싶습니다.channel_name을 살펴보면 specific.19f083513f9244298b2f329aa6916165!fce7333e1805488dae51ab420eeaa6a4으로 구성되어 있습니다.test1, test2가 있다면 먼저 접속한 유저의 channel_name중 specific.19f083513f9244298b2f329aa6916165(!전까지)를 같이 공유해서 저장하는것 같더라구요.-> 맞을까요?그래서 specific.19f083513f9244298b2f329aa6916165까지는 동일하고 그 뒤에부터 다르게 저장되는것을 파악하였습니다.specific.19f083513f9244298b2f329aa6916165를 기준으로 model을 생성해서 관리하는 방법이 괜찮은 방법인지 질문드리고 싶습니다!서버가 강제 종료되면 이전에 channel_name이 그대로 남아있어서 최종적으로 마지막으로 나갔는지 파악하기 어려워 ChannelName를 생성해서 관리하면 괜찮지 않을까 생각했습니다.
-
해결됨[Bloc 응용] 실전 앱 만들기 (책 리뷰 앱) : SNS 로그인, Firebase 적용, Bloc 상태 관리, GoRouter
선생님 리뷰슬라이더 강의 요청 드려도 될까요? ㅠㅠ
아무래도 플러터가 주로 하는게 프론트 단이다보니 오히려 이런 꿀 위젯들 만드는 거가 되게 중요할 때가 업무중에 많더라구요 ㅠㅠ 그래서 혹시 미니 강의라도 리뷰 슬라이더 어떻게 만드셨는지 강의해 주실 수 있으실까요?ㅠㅠ