묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
240825현재 네이버쇼핑에서 "닭가슴살"검색후 a 태그를 못가져오네요
11.네이버 쇼핑 크롤링의 3편 데이터 추출하기(복작한 HTML)구조 편에서 # 나무태그 선택자 만들기soup.select(".product_item__MDtDF")까지 하더라도 a 태그에 해당되는 부분을가져오지 못합니다. 네이버 쇼핑에서 크롤링을 차단하는 것인지, 다른 방법으로크롤링하는 방법은 없는건가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
RequestMappingHandlerMapping 의 작동 과정에 대한 질문입니다
@RequestMapping이 컨트롤러에 붙지 않고 내부 메서드에만 붙어도 핸들러(컨트롤러)로 인식한다고 보면 될까요?
-
해결됨김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
실무에서 excutor service사용
안녕하세요. 실무에서 시간이 오래소요되는 3개의 delete쿼리를 excutor service를 사용하여 멀티스레드형식으로 1개의 스레드가 1개의 쿼리를 수행하도록 구현해보고 싶습니다. 그런데 멀티스레드를 사용했을때 트랜잭션은 보통 어떻게 처리하시나요.. ? 저는 @transactional 을 선언해서 사용하고 있는데 이는 스레드1개당 트랙잭션이 생성되는거라 제가 의도한데로 롤백이 제대로 안될거라고 하더라구요.. 3개의 쿼리가 모두 성공했을때 커밋되고 그렇지않으면 롤백시키고싶은데 이부분에 대한 지식도 혹시 알수있을까요? 추가로 혹시 해당 질문 관련 강의를 개설해놓으신게 있다면 알려주시면 감사하겠습니다!
-
해결됨이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
언리얼 엔진 버전 5.3 이상으로 진행하는 경우에 몇가지 수정해야 하는 부분이 존재하는 것 같습니다.
첫번째로, 무한 무적을 제거하는 블루프린트 게임 이펙트인 BPGE_InvincibleRemove에서 기존의 5.3 이전 버전에서는 교수님이 제작해주신 동영상대로 진행해도 문제가 없지만,제가 사용하는 버전인 5.4 버전과 같은 5.3 이후의 버전에서는 해당 과정을 적용할 수 없었습니다.따라서 검색을 통해 다음과 같이 진행하였습니다.참고링크https://www.reddit.com/r/UnrealEngine5/comments/18h7wip/how_to_remove_gameplay_tags_with_a_gameplay/?rdt=35472 위와 같이 구성하여 확인한 결과, 무적 태그가 잘 삭제되고 무적이 해제되는 것을 확인하였습니다.정확한 방법은 아닌것 같지만 동작하는데 문제가 없기에 이 설정을 유지하고 있습니다. 두번째로, 광역 스킬을 담당하는 블루프린트 게임 어빌리티인 BPGA_Skill에서기존의 5.3 이전 버전에서는 쿨다운과 코스트에 연결될 GE를 연결만 해줘도 문제없이 동작하지만,마찬가지로 5.4 버전에서는 쿨다운과 코스트가 작동하지 않음을 확인하였습니다.검색을 해본 결과, 다음과 같이 진행하였습니다.참고링크https://forums.unrealengine.com/t/adding-cooldowns-to-abilities-with-the-gameplay-ability-system-in-5-3/1612390 기존의 쿨다운과 코스트에 사용하는 GE를 연결하고 이벤트 그래프에서 위와 같이 노드를 연결한 결과정상적으로 쿨다운과 코스트가 적용되는 것을 확인하였습니다. 혹시 더 나은 설정 방법이나 개선점이 있다면 무엇이 있는지 알 수 있을까요?추가적으로 캐릭터나 애니메이션에서 사용할 수 있는 물리 요소들을 Attribute Set에서 관리하는 것이 나은지, Character에서 관리하는 것이 나은지 궁금합니다.
-
미해결Node.js로 웹 크롤링하기
try-puppeteer.appspot.com 을 사용할 수 없나요?
try-puppeteer.appspot.com 이 사이트가 현재는 접속이 안되네요이런 기능을 할 수 있는 유사한 사이트가 더 있을까요?
-
미해결김영한의 실전 자바 - 중급 2편
제가 작성한 코드 출력 결과에 의문이 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]< 사전 설명 >Rectangle 객체에서 hashCode()와 equals() 둘중 equals()만 오버라이드 하였습니다. 이후 public class RectangleTest { public static void main(String[] args) { Set<Rectangle> rectangleSet = new HashSet<>(); for (int i = 0; i < 13; i++) { rectangleSet.add(new Rectangle(20, 20)); } System.out.println(rectangleSet.size()); for (Rectangle rectangle : rectangleSet) { System.out.println("rectangle = " + rectangle); } } }위와 같은 코드를 작성했을때System.out.println(rectangleSet.size()); 출력 결과가 13이 나오고for문의 출력 결과도 같은 결과가 13번 나옵니다. < 질문 >hashCode()를 오버라이드 하지 않음으로써 해시인덱스가 랜덤으로 배정되는 것으로 알고있습니다.그래서 논리적으로 같은 객체가 들어오더라도 다른 해시인덱스에 할당 되는것이 문제가 됩니다. 하지만 제가 작성한 코드와 같이 많은 for문을 돌게 될면 새로 만들어진 Rectangle 객체가 언젠가 최소 한번쯤은 해시인덱스에서 중복된 객체를 만나게되고, 중복되는 해시 인덱스의 버킷에서 equals() 메서드가 실행되어 저장이 취소될것이라고 예상했습니다.그래서 rectangleSet.size()는 13 미만이 될거라 생각했지만 아니었습니다. 오버라이드된 equals() 메서드가 실행되지 않는 이유가 무엇일까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-a, dp, 다익스트라 알고리즘관련 질문입니다!!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 뭔가 이 문제에서 inf로 처음에 거리를 초기화해놓는것이 다익스트라 알고리즘과 비슷한것같은데,이 문제처럼 다익스트라 알고리즘도 dp의 하나의 형태라고 볼 수 있을까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-a 관련 질문입니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요! 두 정점 사이에 간선이 있을 수도, 없을 수도 있는데,이를 생각하지 않고, 경로에서, 해당 정점을 포함한다 / 포함하지 않는다 라고 타나내면 안되는 것이 아닌가요?? 만약, 정점들의 조합을 만들었는데, 예) a(0),b(1),c(1),d(0),e(0)어떻게 간선을 연결하려 해봐도, 해당 정점처럼 간선을 구성할 수 없을 수도 있지 않나요? 아니면 혹시 어짜피 결국엔, 문제가 <모든 정점들을 지나는 경로>를 찾으라고 했으니까, 짜피 문제의 일부분 (서브그래프)에선 해당 경로가 없어도, 글로벌로는 무조건 모든 정점들이 포함딜 것이기 때문에, 순서를 상관쓰지 않고, 조합을 통해 해결할 수 있는 것인가요?? dp 처음 배우는데 어렵네용.. 감사합니다!!
-
미해결생초보를 위한 파이널컷 프로
디졸브 넣기
안녕하세요.설명 잘해주셔서 수업 듣는게 흥미롭고 좋아요 !감사합니다 :)그런데 디졸브넣기 할 때 공간이 없는부분 삭제 후 디졸브를 넣어야 하는데, 그럼 그 부분정도의 영상이 지워지는 거잖아요 , 만약 다 살리면서 디졸브도 넣고 싶다면 그건 불가하다는 걸까요 ?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
재설치 과정에서의 문의
안녕하세요 🙂[1. 질문 챕터] : eg) 몇 장, 몇 분 몇 초 쯤. or 수강생 분들이 봤을 때 어디구나?! 할 수 있게 표기 부탁 드려요.[2. 질문 내용] : eg) 질문 내용을 자유롭게 작성해주시면 되겠습니다 🙂[3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.) ================ 다음 내용은 읽어보시고 지우시면 됩니다.=================질문 내용을 작성해주실 때, 위의 3단계로 제가 이해할 수 있게 작성해주시면 정확한 답변을 드릴 수 있을 것 같아요!!현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================최신 버전들로 설치과정 따라가다가 막힌 부분이 있어 지우고, 강의와 동일한 버전들로 재설치하여 따라가고 있었습니다.그런데 초기에 설치했을 때와 달리, 우분투를 지우고 이전 버전으로 다시 깔게 되니 UNIX username 설정하는 부분이 나오지 않네요..이 부분은 재설치 이전에 설정한 것이 남아있는 건가 해서 일단 넘어갔습니다.이후 mobaxterm을 열고보니 이전과 달랐습니다.강의 7:08 부분에는 /home/matbi/ 안에 .landscape, .bash_logout, .bashrc, . motd_shown, .profile, .Xauthority 이렇게 확인되는데..제 경우에는 /home/ 파일 안에는 아무것도 없었으며, 프로그램 이전에 설정했었던 UNIX username도 뜨지 않았습니다. 오히려 /root/ 파일 안에는 비슷하게 나열되어있기는 한데 .landscape, .bash_logout이 없고, .bash_history라는 파일이 있습니다.10:18 부근에서 다시 홈으로 돌아가서 루트 계정이 아닌 걸로 넘어가게 되는데 무언가 이전에 했던 작업이 남아있는 것인지.. 홈에서 다시 WSL-Ubuntu-20.04를 눌러도 루트계정으로 뜨더라구요.. 이런 부분은 어떻게 해결하면 될까요?
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
즉시 로딩 조회에 대해 질문 있습니다.
즉시로딩 관계에서 조회를 할때 어떤 경우는 연관관계에 있는 데이터들을 join으로 한번에 끌고오는 경우가 있고 어떤때는 N + 1 문제가 발생하는 경우가 있었습니다. 그래서 아래와 같이 테스트를 해봤는데요 우선 member와 team의 관계를 즉시로딩으로 설정했습니다. 그리고 member을 한번만 저장하든 여러번 저장하든 N+ 1 문제가 발생했습니다. 그래서 즉시로딩 관계에서 어떤 경우에 연관관계에 있는 데이터들을 한번에 조인해서 가져오는지 궁금합니다.Team team = new Team(); team.setName("team1"); em.persist(team); Team team2 = new Team(); team2.setName("team1"); em.persist(team2); Member member = new Member(); member.setName("hi1"); member.setTeam(team); em.persist(member); Member member2 = new Member(); member2.setName("hi2"); member2.setTeam(team2); em.persist(member2); Member member3 = new Member(); member3.setName("hi3"); member3.setTeam(team2); em.persist(member3); em.flush(); em.clear(); List<Member> members = em.createQuery("select m from Member m", Member.class) .getResultList(); tx.commit();
-
해결됨[2025 리뉴얼] 스스로 구축하는 AWS 클라우드 인프라 - 기본편
[실습] Public EC2 인스턴스 생성 및 LAMP 웹서버 구성에서 질문
[실습] Public EC2 인스턴스 생성 및 LAMP 웹서버 구성 에서ssh 접속하려고 ec2-public-kim.pem --> ec2-public-kim.ppk 로 변환하여 아래와같이 key 등록하여 Open 버튼 클릭하였는데.. Network error: Connection timed out 계속 발생하여 접속이 안되고있습니다. 어디를 확인해야 하는지 원인이 무엇인지 알려주세요할당받은 고정IP 로 웹페이지에 입력하니.. 웹페이지는 잘 나옵니다.ping 고정IP 입력하여 ping 도 잘 나가고 있습니다. (보안정책에서 추가등록하여 확인함)
-
미해결[2023 코틀린 강의 무료제공] 기초에서 수익 창출까지, 안드로이드 프로그래밍 A-Z
Todo리스트 dao 구성 시 todo 질문
해당 코드에서 todo : TodoEntity를 사용하잖아요?여기서 todo는 어디서 나온건가요?? 변수인건가요?@Dao interface TodoDao { @Query("SELECT * FROM TodoEntity") fun getAllTodo() : List<TodoEntity> @Insert fun insertTodo(todo : TodoEntity) @Delete fun deleteTodo(todo : TodoEntity) }
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
Skill의 Custom Action 중 Action의 유니티 버그 레포트
안녕하세요 강의 잘 보고 있습니다.다름 아니라 Skill에 CustomAction의 Action 탭에서 Value값들을 바꿀려하면 유니티 버그 레포트가 나타나면서 유니티가 꺼지는 현상이 지속되고 있습니다.EX) Owner Or User를 Target으로 바꿀시 크래시...다른 Cast나 Charge, Preceding 쪽에선 문제가 발견되지 않습니다.스크립트상으론 강사님의 스크립트 그대로 가져와도 똑같은 문제가 발생하는 것 같은데 아님 혹시 제가 놓친 부분이 있나 싶어서 문의드립니다.
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
Time-wait 때문에 Client가 먼저 닫는게 좋다에 대한 질문입니다.
Client가 닫는게 좋지만, Client가 종료 응답을 안해 주는 등혹은 일이 다 끝났는데도 종료 요청을 보내주지 않는 경이런 경우만 Server가 기다리다가 닫는건가요? Server가 주도적으로 닫게 된다면?혹은 Client가 마지막 Ack를 해주지 않는다면?만약 Client가 Fin에 대한 응답을 해주지 않는다면 Server는 강제로 이 연결을 닫을 수 있는건가요? 이상입니다.오늘도 좋은 하루 되십시오. 감사합니다.
-
미해결
Initializing Spring DispatcherServlet 'dispatcherServlet' 이 안뜹니다.
2024-08-24T21:34:30.077+09:00 INFO 56983 --- [ main] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@3db7d38c, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@17c3d19a, org.springframework.security.web.context.SecurityContextHolderFilter@6c9dc2b0, org.springframework.security.web.header.HeaderWriterFilter@10a1d1b9, org.springframework.web.filter.CorsFilter@4fc8618b, org.springframework.security.web.authentication.logout.LogoutFilter@2c646678, com.hubo.gillajabi.login.infrastructure.security.JwtFilter@3e40eda3, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@7aec881f, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@443fae4a, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@3de86254, org.springframework.security.web.session.SessionManagementFilter@67f49986, org.springframework.security.web.access.ExceptionTranslationFilter@1b0f3b5, org.springframework.security.web.access.intercept.AuthorizationFilter@568c5d25] 2024-08-24T21:34:30.769+09:00 INFO 56983 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '' 2024-08-24T21:34:31.029+09:00 INFO 56983 --- [ main] com.hubo.gillajabi.HuboApplication : Started HuboApplication in 9.166 seconds (process running for 9.49) mongodb data migration : V1_init.csv 2024-08-24T21:34:31.430+09:00 INFO 56983 --- [n(20)-127.0.0.1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' 2024-08-24T21:34:31.430+09:00 INFO 56983 --- [n(20)-127.0.0.1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' 2024-08-24T21:34:31.432+09:00 INFO 56983 --- [n(20)-127.0.0.1] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms 2024-08-24T21:34:32.374+09:00 INFO 56983 --- [ionShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' 2024-08-24T21:34:32.376+09:00 INFO 56983 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... 2024-08-24T21:34:32.385+09:00 INFO 56983 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.로컬에서 실행했을땐 이렇게 잘 되지만제가 개발 환경에서 실행했을땐디스패쳐 서블릿이 생성되지 않고저상태로 멈춥니다.(docker 컨테이너는 떠있습니다. 꺼진게 아니라 멈춘겁니다.....)어디를 점검해야되는걸까요 ㅠㅠㅠㅠ 도와주십쇼
-
미해결[2023 코틀린 강의 무료제공] 기초에서 수익 창출까지, 안드로이드 프로그래밍 A-Z
룸 데이터베이스 구성 시 dao 에러 문의
영상이랑 똑같이 했는데 자꾸 문법이 틀렸데요. 소스코드 첨부합니다. package com.example.todolist.db; import androidx.room.Dao; import androidx.room.Delete; import androidx.room.Insert; import androidx.room.Query; @Dao public interface TodoDao { // get All @Query("SELECT * FROM TodoEntity") fun getAllTodo() : List<TodoEntity> @Insert fun insertTodo(todo : TodoEntity) @Delete fun deleteTodo(todo : TodoEntity) }
-
미해결실전! 스프링 데이터 JPA
EntityManager DI
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.EntityManager을 @RequiredArgsConstructor을 통한 생성자 주입을 통해 넣는것이 이해가 안됩니다. EntityManeger을 bean으로 생성하지 않았는데 오류없이 실행된 이유는 다른 파일에서 EntityManager을 @PersistenceContext을 통해 bean으로 생성했기 때문인가요??
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
em.flush(), em.clear() 후 프록시 객체 조회에 대해 질문 있습니다.
import jakarta.persistence.EntityManager; import jakarta.persistence.EntityManagerFactory; import jakarta.persistence.EntityTransaction; import jakarta.persistence.Persistence; public class Test { public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em = emf.createEntityManager(); EntityTransaction tx = em.getTransaction(); tx.begin(); try { Team team = new Team(); team.setName("team1"); em.persist(team); Member member = new Member(); member.setName("hi"); member.setTeam(team); em.persist(member); em.flush(); em.clear(); Member findMember = em.find(Member.class, member.getId()); System.out.println(findMember.getTeam().getClass()); System.out.println(findMember.getTeam().getName()); System.out.println("========="); Team team2 = new Team(); team2.setName("team2"); em.persist(team2); findMember.setTeam(team2); em.flush(); em.clear(); Member findMember2 = em.find(Member.class, member.getId()); System.out.println(findMember2.getTeam().getClass()); System.out.println(findMember2.getTeam().getName()); tx.commit(); } catch (Exception e) { tx.rollback(); e.printStackTrace(); } finally { em.close(); } emf.close(); } }실행결과Hibernate: /* insert for jpa_basic.ex1_hello_jpa.entity.Team */insert into Team (name, TEAM_ID) values (?, default) Hibernate: /* insert for jpa_basic.ex1_hello_jpa.entity.Member */insert into Member (city, name, number, roleType, street, TEAM_ID, zipcode, MEMBER_ID) values (?, ?, ?, ?, ?, ?, ?, default) Hibernate: select m1_0.MEMBER_ID, m1_0.city, m1_0.name, m1_0.number, m1_0.roleType, m1_0.street, m1_0.TEAM_ID, m1_0.zipcode from Member m1_0 where m1_0.MEMBER_ID=? class jpa_basic.ex1_hello_jpa.entity.Team$HibernateProxy$q7Fz4jvQ Hibernate: select t1_0.TEAM_ID, t1_0.name from Team t1_0 where t1_0.TEAM_ID=? team1 ========= Hibernate: /* insert for jpa_basic.ex1_hello_jpa.entity.Team */insert into Team (name, TEAM_ID) values (?, default) Hibernate: /* update for jpa_basic.ex1_hello_jpa.entity.Member */update Member set city=?, name=?, number=?, roleType=?, street=?, TEAM_ID=?, zipcode=? where MEMBER_ID=? Hibernate: select m1_0.MEMBER_ID, m1_0.city, m1_0.name, m1_0.number, m1_0.roleType, m1_0.street, m1_0.TEAM_ID, m1_0.zipcode from Member m1_0 where m1_0.MEMBER_ID=? class jpa_basic.ex1_hello_jpa.entity.Team$HibernateProxy$q7Fz4jvQ Hibernate: select t1_0.TEAM_ID, t1_0.name from Team t1_0 where t1_0.TEAM_ID=? team2안녕하세요 위 코드에 대해 질문 있습니다.findMember.getTeam().getClass() 출력결과가 class jpa_basic.ex1_hello_jpa.entity.Team$HibernateProxy$q7Fz4jvQ 와 같습니다.그리고 findMember2.getTeam().getClass(); 출력결과가 class jpa_basic.ex1_hello_jpa.entity.Team$HibernateProxy$q7Fz4jvQ 와 같습니다.중간에 clear()를 하여 영속성 컨텍스트를 비웠는데 왜 프록시 객체를 조회하면 똑같은 프록시 객체가 나오는지 궁금합니다.
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
네임드락과 분산락
네임드락에 대해 더 공부해보려고 구글링하는데네임드락이 MySQL에서 제공하는 분산락이라고 하더라구요 그럼 네임드락이 여러 개로 스케일 아웃된 DB 환경 혹은 스케일 아웃된 서버에서도 잘 동작한다는건데전자의 경우 (DB 분산) 네임드락도 결국 쿼리로 하나의 데이터베이스(MySQL)의 메타데이터에 락을 거는 것이기 때문에 다른 데이터베이스에서는 그게 안걸려 정합성 문제 해결이 안되지 않나요? 이렇게 되면 분산락이 아닌 것 같은데 왜 분산락일까요?ㅜㅜ후자의 경우라면 비관적락, 낙관적락, 네임드락 모두 잘 동작할 것 같은데(데이터베이스는 하나인 경우) 왜 분산락이라는게 따로 있는 걸까요..?