안녕하세요 교수님, 질문이있어서 글 남깁니다. 교수님과 살짝 다른풀이로 풀었는데, 채점하는 사이트에서 계속 첫번째 케이스에서 runtime error가 나서요ㅠㅠ 다른 테스트케이스들은 잘돌아가는데 첫번째만 안돌아갑니다ㅜㅜ 자바 이클립스에서도 문제없이 예제테스트케이스 (첫번째 테스트케이스) 돌아갑니다.... // 서로소 집합 (유니온파인드) import java.util.*; class Main { static int n , m =0; //n:학생수, m:순서쌍개수 static int [] parent ; public static int find( int x) { if (x== parent [x]) return x; else return parent [x]= find ( parent [x]); //최상위 부모 누구인지 } public static void main(String[] args) { Main tree= new Main(); Scanner scanner = new Scanner( System. in ); n =scanner.nextInt(); m =scanner.nextInt(); parent = new int [ n +1]; //배열 초기화 해야됨 - 자기자신이 부모가 되도록 초기화 for ( int i=1; i<= n ; i++) { parent [i]=i; } //입력받아서 배열만들기 for ( int i=1; i<= m ; i++) { int par=scanner.nextInt(); int son=scanner.nextInt(); parent [son]=par; } int a=scanner.nextInt(); int b=scanner.nextInt(); if ( (tree. find (a)) != (tree. find (b)) ) { System. out .print("NO"); } else System. out .print("YES"); } }
auto 스케일링을 위한 ec2 AMI 를 생성할때 생성 시점의 EC2 인스턴스의 어플리케이션 구동 파일도 같이 이미지화가 될거같은데요. 만약 운영도중 ec2인스턴스의 어플리케이션 파일이 변경된다면 ( 개발 수정 배포 등의 사유로 ) AMI 파일도 다시 생성해줘야 하는건가요?
안녕하세요 지금 자바를 공부하고 있는데요 이것이 자바다 2권을 공부 중인데 어디까지 공부해 두는 게 좋을지 궁금합니다 2권 목차에 멀티 스레드, 제네릭, 람다식, 컬렉션 프레임워크, 스트림과 병렬 처리, JavaFX, IO입출력/네트워킹, NIO 입출력/네트워킹 이렇게 있는데 예전에 다른 곳에서 질문했을 때는 JavaFX랑 NIO 입출력/네트워킹 빼고 다 공부하면 된다고 들었었는데 맞나요? JavaFX는 필요 없을 것 같긴 한데, NIO는 굳이 공부 안 해도 상관없는 건가요?
아래 질문에 답변 감사드립니다. 설명을 너무 귀에 쏙쏙 들어오게 잘 강의해주셔서 정말 재미있게 강의를 들었습니다. 끝까지 열심히 다 듣고 다음 단계도 할인까지 해주셔서 신청해서 듣기 시작했습니다. 다. 한가지만 더 질문드려요...할일앱 마지막까지 열심히 다 듣고 따라 했습니다. 완성본 소스도 다 확인을 해봤는데도 어디가 틀린건지를 찾지 못해서 질문드려요 삭제 버튼이 추가되면 완성물에는 위에 등록 버튼과 동일한 디자인으로 되어 있던데, 전 그냥 텍스트로만 되더라구요, 정말 소스는 몇번이고 완성본하고 비교를 해봤는데 동일했습니다. ㅜㅜ
포스트맨에서 success: true는 뜨는데 막상 DB로 들어가면 토큰이 여전히 남아있습니다. findOneAndUpdate가 콜백함수를 지원하지 않아 then. catch로 수정해서 사용했는데 혹시 문법적 오류가 있어서 안 되는걸까요? app.get('/api/users/logout', auth, (req, res) => { User.findOneAndUpdate({ _id: req.user._id }, { token: "" }) .then(() => { console.log(req.user._id); res.status(200).send({success: true}) }) .catch((err)=>{ res.json({ success: false, err }); }) }) 이렇게 수정을 했는데 토큰을 지우지 못합니다... 그리고 혹시나 해서 console.log(req.user._id')를해서 id를 읽어올 수 있는지 확인해봤는데 undefined라고 뜨더라고요... 어디서 오류가 나는 걸까요?
스프링 트랜잭션 전파에 있어서, 외부 트랜잭션이 수행중이고 아직 끝나지 않았는데 내부 트랜잭션이 수행 된다면, 트랜잭션 코드는 각각 트랜잭션 매니저를 통해서 신규 트랜잭션인지 확인을 하고 트랜잭션을 시작하는 과정을 거치는 것이라 이해했습니다. 강의 자료 그림에서 본다면, 외부 트랜잭션코드와 내부 트랜잭션 코드가 서로 다른 트랜잭션 매니저로 부터 트랜잭션을 시작하는 것 처럼 표현되어 있는데, 이것은 같은 트랜잭션 매니저 아닌가요? definition이 다른 것일뿐.. 헷갈려서 질문 남겨 봅니다. 또한, DB 1편부터 들었던 의문인데, service 레이어에서 트랜잭션을 시작하면 트랜잭션 동기화 매니저에 넣어두고, 레포지토리에서는 트랜잭션 동기화 매니저로 부터 해당 connection을 꺼내서 해결하는데, 트랜잭션 동기화 매니저는 spring bean으로, singleton으로 자동 등록되어 있는건가요? 답변 부탁드립니다! 감사합니다.
안녕하세요 국비지원을 통해서 스프링이 아닌 jsp까지 배운 취업준비생입니다. 현재 강사님 강의로 스프링을 배우고 있는데요. 현재 스프링 로드맵 중 MVC1 강의를 반정도 들었습니다! 국비 지원을 받을 때 DB관련 연결을 jdbc와 mybatis까지 배웠었고 DB는 오라클과 mysql을 다뤄봤습니다. 작년에 sqld 자격증도 취득한 상태입니다. 혹시 저의 현상황에 MVC2와 DB강의를 같이 듣는게 무리가 되는지 여쭤보고 싶어서 DB강의 결재 전에 먼저 질문 글 올립니다!
공부하다가 의문이 생겼는데요, 낙관적 락 - 충돌 잦으면 락 획득 재시도 로직 때문에 성능 안좋음 비관적 락 - 충돌 잦으면 낙관적 락보다 성능좋음. 분산 락 - 스케일 아웃된 DB 환경에서도 사용 가능 - Redis 라이브러리마다 다른데 Lettuce는 스핀락으로 구현되서 재시도 많으면 불리 Redisson은 pub-sub 기반이라 재시도 많으면 유리 정확하진 않지만 이렇게 알고있습니다. 질문은 1. 잘못 알고 있나요? 2. 제가 공부한게 맞다면, 무조건 비관적 락, 낙관적 락 말고 분산락 + Redis(Lettuce/Redisson) 쓰는게 좋은건가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 강의 잘 보고 있습니다. 여러 아이콘을 저장해놨다가 사용하는 방법도 있는데 스프라이트 이미지를 사용하시는 이유가 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 시간추출을 했는데 (MemberServiceTest 실행) 강사님과 다르게 이렇게 나옵니다 회원 목록 조회나.. 회원가입을 해도 따로 추가되는 시간측정값이 없어요
최초 로그인 시에 Authentication 객체를 저장하는 이유가 이해되지 않아 질문드립니다.. 로그인 요청을 하면 사용자 인증 정보를 통해 확인 후 응답 헤더에 토큰을 실어서 반환하고 Stateless 설정으로 인해 요청/응답이 끝남과 동시에 세션이 비워지는 걸로 이해했는데, 토큰만 응답헤더에 실어서 보내면 끝인데 세션에 Authentication 객체는 저장 안 해도 상관 없지 않 나 하는 의문이 들었습니다.. 설명해주시면 감사하겠습니다!
코드를 보면 타임리프가 만들어준 CSRF를 meta 태그로 전달하는데 이를 서버쪽에서 만들어주는 html 파일을 통해 브라우저에 전달하는데요. Vue 같은 프런트 엔드 프레임워크를 사용하면 Web Server를 별도로 띄워서 정적파일을 관리하는데 이런 상황에선 타임리프가 정적파일에 CSRF 토큰을 심어줄 수 없는 구조라고 생각이 됩니다. 이런 경우에는 CSRF 공격을 어떻게 막을 수 있나요? 제가 생각나는 건 이 두 가지네요.. Web Server에서 요청 프록시를 해주고(Reverse 프록시) Web Server에서 CSRF 토큰을 관리한다. CSRF 토큰이 필요한 곳은 정적파일을 WAS에서 관리한다. 좋은 방법이 있을까요?