도커 파일 빌드 오류 문의입니다. 게시판을 보니 비슷한 오류가 있었던거 같네요 맥에서도 해보고 윈도우에서도 해봤는데 동일하게 안되네요.. 오늘 하루종일 빌드만 했네요.. 어떤 부분을 잘못 하고 있는지 가이드 부탁합니다.. s3 에 사용할 iam 사용자 권한을 별도로 부여했는데요 . 새로 생성된 사용자의 권한 문제로 오류가 나는거 같네요.. 영상에서 한거와 같이 동일하게 했는데..오류가 나네요 혹시 다른 세팅이 있을까요?? => ERROR [11/18] RUN python3 download.py 11.1s ------ > [11/18] RUN python3 download.py: 5.085 The cache for model files in Transformers v4.22.0 has been updated. Migrating your old cache. This is a one-time only operation. You can interrupt this and resume the migration later on by calling transformers.utils.move_cache() . 0it [00:00, ?it/s] 9.892 downloading reg images... 9.892 BUCKET_NAME:: dev-raymong-lecture-api-uploadsbucketc4b27cc7-547dbvnhp66w 9.899 Traceback (most recent call last): 9.899 File "download.py", line 64, in <module> 9.899 download_model() 9.899 File "download.py", line 20, in download_model 9.899 download_reg_images() 9.899 File "/s3_file_manager.py", line 20, in download_reg_images 9.899 bucket.download_file(filepath, savepath) 9.899 File "/opt/conda/lib/python3.8/site-packages/boto3/s3/inject.py", line 279, in bucket_download_file 9.899 return self.meta.client.download_file( 9.899 File "/opt/conda/lib/python3.8/site-packages/boto3/s3/inject.py", line 192, in download_file 9.899 return transfer.download_file( 9.899 File "/opt/conda/lib/python3.8/site-packages/boto3/s3/transfer.py", line 405, in download_file 9.899 future.result() 9.899 File "/opt/conda/lib/python3.8/site-packages/s3transfer/futures.py", line 103, in result 9.899 return self._coordinator.result() 9.899 File "/opt/conda/lib/python3.8/site-packages/s3transfer/futures.py", line 266, in result 9.899 raise self._exception 9.899 File "/opt/conda/lib/python3.8/site-packages/s3transfer/tasks.py", line 269, in _main 9.899 self._submit(transfer_future=transfer_future, **kwargs) 9.899 File "/opt/conda/lib/python3.8/site-packages/s3transfer/download.py", line 354, in _submit 9.899 response = client.head_object( 9.899 File "/opt/conda/lib/python3.8/site-packages/botocore/client.py", line 565, in api call 9.899 return self._make_api_call(operation_name, kwargs) 9.899 File "/opt/conda/lib/python3.8/site-packages/botocore/client.py", line 1021, in make api_call 9.899 raise error_class(parsed_response, operation_name) 9.899 botocore.exceptions.ClientError: An error occurred (403) when calling the HeadObject operation: Forbidden ------ Dockerfile:32 -------------------- 30 | ADD s3_file_manager.py . 31 | ADD download.py . 32 | >>> RUN python3 download.py 33 | 34 | ADD convert_diffusers_to_original_stable_diffusion.py . -------------------- ERROR: failed to solve: process "/bin/sh -c python3 download.py" did not complete successfully: exit code: 1 View build details: docker-desktop://dashboard/build/default/default/hu4bblbekud4p75go1rdofetm
public class MyUser implements Comparable<MyUser> { private String id; private int age; public MyUser(String id, int age) { this.id = id; this.age = age; } public String getId() { return id; } public int getAge() { return age; } @Override public int compareTo(MyUser o) { return this.age < o.age ? -1 : (this.age == o.age) ? 0 : 1; } MyUser의 멤버 변수는 private인데 compareTo(MyUser o)에서 this.age는 본인의 값을 가져다 쓴다고 쳐도 o.age로 호출이 어떻게 가능한 건가요??
현재 강의 내용을 바탕으로 OptimisticLock 을 구현중인데, version이 증가하지 않는 이유를 알고 싶습니다. 도메인은 이렇습니다. @Entity @Table(name = "appointment") public class Appointment extends BaseEntity { ... @OneToMany(mappedBy = "appointment") private List<AppointmentUser> appointmentUsers = new ArrayList<AppointmentUser>(); @Version private Long version; 그리고, 레포지토리는 이렇습니다. public interface AppointmentRepository extends JpaRepository<Appointment, Long> { ... @Lock(LockModeType.OPTIMISTIC) @Query("SELECT au FROM Appointment a " + "JOIN a.appointmentUsers au " + "WHERE au.id = :appointmentUserId ") AppointmentUser findByIdWithOptimisticLock(Long appointmentUserId); } 그리고, 서비스 계층 메서드는 이렇습니다. @Transactional(readOnly = true) @Service public class AppointmentUserService { ... @Transactional public void updateAuthority(Long appointmentId, Long loginMemberId, Long targetMemberId) { Member loginMember = memberRepository.getById(loginMemberId); Member targetMember = memberRepository.getById(targetMemberId); Appointment appointment = appointmentRepository.getById(appointmentId); AppointmentUser loginAppointmentUser = appointmentUserRepository.getByMemberAndAppointment(loginMember, appointment); AppointmentUser targetAppointmentUser = appointmentUserRepository.getByMemberAndAppointment(targetMember, appointment); validateIsAdminMember(loginAppointmentUser.getId()); MemberAuthority targetAuthority = targetAppointmentUser.getMemberAuthority(); targetAppointmentUser.updateAuthority(MemberAuthority.getAnotherAuthority(targetAuthority)); appointmentUserRepository.save(targetAppointmentUser); } private void validateIsAdminMember(Long loginAppointmentUserId) { if (appointmentRepository.findByIdWithOptimisticLock(loginAppointmentUserId).getMemberAuthority() != MemberAuthority.ADMIN) { throw new NotAdminMemberException(); } } } 위 updateAuthority 메서드 내에서 validateIsAdminMember를 호출하여, validateIsAdminMember 안에 있는 findByIdWithOptimisticLock을 통하여 Version을 올려주어서 낙관적 락을 성공적으로 구현할 수 있을 줄 알았는데 테스트를 해보니 아래와 같이 실패합니다.. @Test void 동시성_테스트() throws InterruptedException { Logger logger = Logger.getLogger(MultiThreadTest.class.getName()); ExecutorService executorService = Executors.newFixedThreadPool(2); CountDownLatch latch = new CountDownLatch(2); AtomicReference<Boolean> flag = new AtomicReference<>(false); executorService.execute(() -> { try { logger.log(Level.INFO, "첫 번째 요청 시작: member1 -> member2"); logger.log(Level.INFO, "버전1전" + appointmentRepository.getById(1L).getVersion()); appointmentUserService.updateAuthority(1L, 1L, 2L); logger.log(Level.INFO, "버전1완" + appointmentRepository.getById(1L).getVersion()); logger.log(Level.INFO, "첫 번째 요청 완료: member1 -> member2"); } catch (Exception e) { logger.log(Level.SEVERE, "첫 번째 요청 중 예외 발생", e); flag.set(true); } finally { latch.countDown(); } }); executorService.execute(() -> { try { logger.log(Level.INFO, "두 번째 요청 시작: member2 -> member1"); logger.log(Level.INFO, "버전2전" + appointmentRepository.getById(1L).getVersion()); appointmentUserService.updateAuthority(1L, 2L, 1L); logger.log(Level.INFO, "버전2완" + appointmentRepository.getById(1L).getVersion()); logger.log(Level.INFO, "두 번째 요청 완료: member2 -> member1"); } catch (Exception e) { logger.log(Level.SEVERE, "두 번째 요청 중 예외 발생", e); flag.set(true); } finally { latch.countDown(); } }); latch.await(); }; 위와 같이, 두 개의 스레드에서 진행을 하였고, 각 스레드 내에서 updateAuthority()를 실행 전후에 version을 찍어보았으나, 찍힌 4개의 version 모두 0이 나왔고 또한, 동시성 제어도 안되는 상황입니다. 왜 0이 나오는걸까요.. 궁금합니다! (컴파일 에러는 없습니다)
Traveling is made simple by the welcoming and accommodating Southwest Airlines PWM Terminal in Portland. The airport's friendly staff and well-planned layout make it simple and speedy for passengers to board flights. By stopping by the terminal, travelers to and from Portland may experience a stress-free and delightful journey, highlighting Southwest's commitment to dependability and accessibility.It's perfect for comfortable travel because to its fast operations and laid-back ambiance. During the whole check-in process and the flight, passengers gain access to Southwest's well-known politeness and commitment to making flying easier.
토이 프로젝트를 진행하던 중 궁금한 내용이 생겨서 질문 드립니다. 과거 Mybatis와 같은 것을 활용해 진행할 때는 코드 매핑 테이블에 코드값 (기본키)과 코드명 이렇게 있고 특정 테이블에서는 이러한 코드 값 키를 들고 있어 서브쿼리를 활용해 코드 명을 가져오는 방식으로 활용했습니다. JPA에서 위 구조를 활용하려면 특정 엔티티에 코드 엔티티를 넣고 서로 연관관계를 걸어 준 후에 fetch join으로 select 하는게 베스트 일까요?
안녕하세요. 현재 상황은 VueDjAgency-ch0 디렉터리에서 vscode 실행 가상환경 만들고 python = 3.10, django = 4.0, pillow, djangorestframework 설치완료했습니다. 1월 경에 올리신 CDN 에러 해결 코드도 수정했습니다. python manage.py runserver 하면 무한 로딩되고 페이지에는 아무것도 뜨지 않습니다. 어떻게 해야할까요?
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다! [질문 전 답변] 1. 강의에서 다룬 내용과 관련된 질문인가요? [예] 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예] 3. 질문 잘하기 법을 읽어보셨나요? [예] ( https://www.inflearn.com/blogs/1719 ) 4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. [질문 하기] 안녕하세요. Prometheus, Grafana 수강생입니다. 제공해주신 OVA 파일들로 VM을 실행해서 Prometheus와 Grafana를 실행해 실습도 열심히 하고 있습니다. 그런데 어느 정도 시간이 지나면 저절로 Prometheus 서버 pod가 자꾸 죽고 재실행도 안되어서 매우 불편합니다. pod/prometheus-server-74dbc948cf-vxwpn 1/2 CreateContainerError 0 (7m48s ago) 아래 두가지 sh 모두 동일합니다. 왜 잘 실행되던 서버가 아무것도 안했는데 왜 Prometheus만 자꾸 죽는걸까요..ㅜ sh 등을 변경하거나 그런 것은 전혀 없습니다. 1.prometheus-installer-15s.sh [root@m-k8s 2.2]# cat 1.prometheus-installer-15s.sh #!/usr/bin/env bash # scrape default is 1m helm install prometheus edu/prometheus \ --set pushgateway.enabled=false \ --set alertmanager.enabled=false \ --set nodeExporter.tolerations[0].key="node-role.kubernetes.io/master" \ --set nodeExporter.tolerations[0].effect="NoSchedule" \ --set nodeExporter.tolerations[0].operator="Exists" \ --set nodeExporter.tolerations[1].key="node-role.kubernetes.io/control-plane" \ --set nodeExporter.tolerations[1].effect="NoSchedule" \ --set nodeExporter.tolerations[1].operator="Exists" \ --set server.service.type="LoadBalancer" \ --set server.service.loadBalancerIP="192.168.1.11" \ --set server.global.scrape_interval="15s" \ --set server.global.evaluation_interval="15s" \ --set server.extraFlags[0]="web.enable-lifecycle" \ --set server.extraFlags[1]="storage.tsdb.no-lockfile" \ --namespace=monitoring \ --create-namespace 1.prometheus-installer-1m-default.sh #!/usr/bin/env bash # scrape default is 1m helm install prometheus edu/prometheus \ --set pushgateway.enabled=false \ --set alertmanager.enabled=false \ --set nodeExporter.tolerations[0].key="node-role.kubernetes.io/master" \ --set nodeExporter.tolerations[0].effect="NoSchedule" \ --set nodeExporter.tolerations[0].operator="Exists" \ --set nodeExporter.tolerations[1].key="node-role.kubernetes.io/control-plane" \ --set nodeExporter.tolerations[1].effect="NoSchedule" \ --set nodeExporter.tolerations[1].operator="Exists" \ --set server.service.type="LoadBalancer" \ --set server.service.loadBalancerIP="192.168.1.11" \ --set server.extraFlags[0]="web.enable-lifecycle" \ --set server.extraFlags[1]="storage.tsdb.no-lockfile" \ --namespace=monitoring \ --create-namespace 해결 방법 꼭 알려주시길 부탁드립니다. 감사합니다.
[질문 내용] pdf 파일을 보며 강의 듣기전 예습을 하고 있습니다. build.gradle 파일에 Querydsl 관련 설정을 pdf파일에 나와 있는 대로 밑에와 같이 추가했습니다. //Querydsl 추가 implementation 'com.querydsl:querydsl-jpa' annotationProcessor "com.querydsl:querydsl-apt:$ { dependencyManagement.importedProperties['querydsl.version'] } :jpa" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api" (현재 저는 Gradle을 통해서 빌드중입니다) Gradle -> Tasks -> build -> clean 실행 시에는 문제가 없는데 Gradle -> Tasks -> other -> compileJava 실행 시에 Unable to load class 'javax.persistence.Entity'. This is an unexpected error. Please file a bug containing the idea.log file. 라는 오류가 뜹니다. 그래서 커뮤니티에 관련 질문들을 찾아 보았는데, build.gradle 파일에서 Querydsl 을 설정하는 부분을 implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor "com.querydsl:querydsl-apt:$ {dependencyManagement.importedProperties['querydsl.version']}:jakarta" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api" 로 바꿔보라고 하신 내용이 있어서 바꿔보았습니다. 그리고 gradle refresh를 눌렀을 때 오류가 발생했는데 지금은 되네요... pdf 파일 내용을 수정해주시면 감사하겠습니다!!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 큰돌님! 항상 좋은 강의 감사합니다! 다름이 아니라 제가 이 문제를 풀 당시, 입력의 범위도 작고 풀이가 딱히 생각이 나지 않아 배열을 이용해 쌩구현을 했습니다. 하지만 N과 J의 범위가 커지면 제가 풀이한 방법으로는 시간복잡도가 커져서 틀리게 되겠죠? 만약, M이 1이고, N, J가 1000만일 때 최악의 경우 사과가 양 끝 인덱스(1번과 1000만번)에만 떨어진다면 시간복잡도는 1000만 * 1000만이 될까요? 코드: http://boj.kr/047fdd5efd2c4f37968a1764f52f9a40
save it under ios folder as "Config.xcconfig" with the following content: #include? "tmp.xcconfig" ios폴더 들어가셔서 Config.xcconfig라는 새파일 만드시고 위 코드 넣으시면 동작합니다. 출처: https://www.npmjs.com/package/react-native-config
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요 이런 오류가 나는데.. 어떤 오류인지 잘 모르겠어요.. 버젼 관련인거 같은데 gradle.properties 에 distributionUrl=https\:// services.gradle.org/distributions/gradle-7.5-bin.zip 이걸로 바꾸긴 했는데 잘 되다가 갑자기 안되서 혹시 이거 문제 일까요??
오브젝트 컬럼을 인코딩 하지 않고 삭제해도 성능에는 지장이 없나요? 추가로 test에는 id를 쓸거라 pop으로 빼논 이유는 저장해야되는 값에 id를 요구해서 그런건가요? test에 id값이 있으면 안되는 이유나 오류가 나는 이유가 train값이랑 컬럼이 동일해야 해서인가요?