파이썬 예외 처리 try / except 파일 처리 코드가 실행이 안됩니다.
미해결
남박사의 파이썬 기초부터 실전 100% 활용
except 이후에 실행이 안되는데 finally가 되려면 finally 코드를 영상말고 다르게 수정해주어야 되는건가요?
- python
- 웹-크롤링
172만명의 커뮤니티!! 함께 토론해봐요.
미해결
남박사의 파이썬 기초부터 실전 100% 활용
except 이후에 실행이 안되는데 finally가 되려면 finally 코드를 영상말고 다르게 수정해주어야 되는건가요?
미해결
김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
@Override public synchronized void put(String data) { while (queue.size() == max) { log("[put] 큐가 가득 참, 생산자 대기"); try { wait(); // RUNNABLE -> WAITING, 락 반납 log("[put] 생산자 깨어남"); } catch (InterruptedException e) { throw new RuntimeException(e); } } queue.offer(data); log("[put] 생산자 데이터 저장, notify() 호출"); notify(); // 대기 스레드, WAIT -> BLOCKED } 생산자 스레드가 먼저 실행되면 마지막 스레드는 wait() 호출 후 스레드 대기 집합에서 관리 되는걸로 이해했습니다. 이 상태에서 소비자 스레드가 실행되면 데이터를 처리하고 마지막에 notify()를 호출하면 스레드 대기 집합에서 관리 되던 생산자 스레드가 깨어날텐대 여기서 wait(); 바로 다음 코드를 실행하지 않고 바로 BLOCKED 상태가 되는건가요? BLOCKED 상태에 있다가 소비자 스레드가 락을 반납 했을때 BLOCKED 상태가 풀리면서 wait() 바로 다음 코드를 실행한다고 이해하면 될까요?
미해결
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 영상 기준 4:46초쯤에 void 메서드는 return이 생략되어도 자바 컴파일러가 마지막줄에 넣어준다고 하셨는데 .class로 컴파일된 파일을 확인해보니 반대로 적어두었던 return도 생략이 되어있습니다. 자바 버전이 올라가면서 바뀐걸까요 아니면 컴파일된 파일이 아닌 파일을 실행 시에 return이 추가가 되는건가요?
해결됨
자바 ORM 표준 JPA 프로그래밍 - 기본편
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. // flush 자동 호출 commit, query int resultCnt = em.createQuery("update Member m set m.age = 20") .executeUpdate(); Member findMember = em.find(Member.class, member1.getId()); System.out.println("findMember.getAge() = " + findMember.getAge()); 이 부분을 보시면 영한님의 12분 코드와 같잖아요? 이때 Member findMember = em.find(Member.class, member1.getId()); 의 findember를 출력할 때, 영속성 컨텍스트 때문에 update문의 age가 20인 것이 반영이 안 돼야 하는데 제 환경에서는 반영이 되는 걸로 나옵니다..! 정리하면, em.clear() 를 하지 않았을 때는 age가 0이 나와야 하지만, em.clear() 를 하지 않았음에도 불구하고 age가 20이 나옵니다 물론 아래처럼 member의 age 초기값을 0으로 지정해줬습니다 Member member1 = new Member(); member1.setUsername("회원1"); member1.setAge(0); member1.changeTeam(teamA); em.persist(member1); 이유가 무엇일까요??
미해결
프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
문자열 함수 수업에서 어떤 함수는 print("endswith?:",str_o2.endswith("s")) 뒤에 점을 찍고 나타내고 어떤 함수는 print("sorted:",sorted(str_o1)) 와 같이 점(.)을 찍지 않고 나타내는데 차이점을 설명 해주셔야죠 ㅜㅜㅜ ㅜㅜㅜ 차이점이 뭘까요...? ㅠ 함수마다 구조 다 다르니까 외워야하면 그런거라고라도 말을 해주세요 ...
미해결
재고시스템으로 알아보는 동시성이슈 해결방법
안녕하세요. Pessimistic Lock 소스에서 각각의 테스트 하나하나는 통과하는데요. 테스트 코드 전체로 돌리면 에러가 나더라고요. public interface StockRepository extends JpaRepository<Stock, Long> { @Lock(LockModeType.PESSIMISTIC_WRITE) @Query("select s from Stock s where s.id = :id") Stock findByIdWithPessimisticLock(@Param("id") Long id); } StockServiceTest.java package com.example.stock.service; import com.example.stock.domain.Stock; import com.example.stock.repository.StockRepository; import org.junit.jupiter.api.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import static org.assertj.core.api.Assertions.assertThat; @SpringBootTest class StockServiceTest { @Autowired private PessimisticLockStockService stockService; @Autowired private StockRepository stockRepository; @BeforeEach public void before() { stockRepository.saveAndFlush(new Stock(1L, 100L)); } @AfterEach public void after() { stockRepository.deleteAll(); } @Test @DisplayName("재고1개 감소 테스트") public void 재고감소() { stockService.decrease(1L, 1L); //100 - 1 = 99 Stock stock = stockRepository.findById(1L).orElseThrow(); assertThat(stock.getQuantity()).isEqualTo(99L); } @Test @DisplayName("동시에 100개 요청 테스트") public void 동시에_100개_요청() throws InterruptedException { int threadCount = 100; ExecutorService executorService = Executors.newFixedThreadPool(32); CountDownLatch countDownLatch = new CountDownLatch(threadCount); for (int i = 0; i < threadCount; i++) { executorService.submit(() -> { try { stockService.decrease(1L, 1L); } finally { countDownLatch.countDown(); } }); } countDownLatch.await(); Stock stock = stockRepository.findById(1L).orElseThrow(); assertThat(stock.getQuantity()).isEqualTo(0L); } } 이런 오류가 나는데 @BeforeEach에서 새로 등록하고 @AfterEach에서 delete를 해줘서 각각의 테스트에 영향이 없을거 같은데 왜 나는지 잘 모르겠어요 ㅠ github : https://github.com/nhs0912/stock
해결됨
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
저의 경우에는, Unable to load class 'org.gradle.api.plugins.MavenPlugin'. This is an unexpected error. Please file a bug containing the idea.log file. 오류의 이유와 gradlew build failed 빌드에 실패하는 이유가 동일했습니다. 해결 방법 아래 주소에 적어두었으니, 참고하세요 ! 💡 https://blog.naver.com/bkmij/223594375357 도움이 되었으면 좋겠습니다. 모두 남은 학습 열심히 화이팅하세요 : ) ! ☺ ☺ https://www.inflearn.com/community/questions/1333084/build-gradle-%EA%B4%80%EB%A0%A8-%EC%98%A4%EB%A5%98-unable-to-load-class-x27-org-gradle-api-plugins-mavenplugin?srsltid=AfmBOopJ4VA4YBT1JxsR3YjKEGdr1qYs0Y1QQgxTYQcBfdS2WYsBTeqa ↑댓글을 참고하여 해결하였습니다.
미해결
김영한의 실전 자바 - 기본편
안녕하세요 실무에서 자바, 스프링부트 를 하게된 프론트엔드 개발자입니다. 급히 자바, 스프링을 막듣고있는데 로드맵을 물론 다들으면좋겟지만 너무많고, 실무에서 사용이필요해서 혹시 꼭들어야한다면 몇가지 추려서 추천해주실강의들이있나요 ? 지금 자바 입문, 기본, 중급1 듣고있습니다.
미해결
김영한의 실전 자바 - 기본편
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] result에 할당후 실행 하는 코드가 없는데 바로 pay.pay 가 실행되는 원리를 모르겠습니다.. 아니면 원래 할당과 실행이 동시에 일어나는건가요?
해결됨
직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
안녕하세요. 강의를 들으며 자동화를 진행하고 있는데, 한 가지 질문이 있습니다. 저는 특정 문서가 아니라 여러 다른 문서에서 사용자의 정보를 자동으로 입력하는 코드를 작성하고 싶습니다. 예를 들어, 자주 입력하는 항목인 이름, 성별, 전화번호를 딕셔너리에 저장하고, 서로 다른 양식의 문서를 불러왔을 때 해당 항목이 존재하면 입력란의 오른쪽이나 아래쪽 공백을 확인하여 자동으로 채워 넣기를 희망합니다. 이런 작업이 기술적으로 가능한지 궁금하며 가능하다면 어떻게 하는것이 좋을지 조언을 구하고 싶습니다. 감사합니다.
미해결
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
oracle jdk 23을 설치하여 사용중입니다. 강의따라가는데 크게 문제 없을까요??
해결됨
파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
11장 팔로잉 기능 구현에서는 팔로잉 하는 목록 페이지 팔로우 하고 있지 않는 목록 페이지 두 가지를 구현하였습니다. 이를 기반으로 인스타그램처럼 프로필을 카드기반으로 꾸미고 10-12 에서 구현한 무한 스크롤을 적용하였습니다. 프로필 페이지에서 구현한 프로필 카드를 목록에서 재활용하여 반복을 줄이고자 했습니다. 대부분의 기능은 구현하였습니다만, 강의의 내용만으로는 스스로 해결하기 힘든 점들이 있어 질문글을 파란색으로 남깁니다. 우선, 팔로잉 목록과 언팔로인 목록을 나눈 경우 언팔로잉 목록에서 내가 팔로잉 한지 모르고 검색한 경우 유저 목록이 검색되지 않는 불편함이 존재할 수 있습니다. 물론 인스타 그램의 경우 강사님께서 구현한 것처럼 탭을 나누어서 구현하였으니 이는 문제가 아닐 수 있습니다. 그러나 하기의 사진은 정확한 예시는 아닐 수 있으나 내 팔로워들 중 내 팔로잉 여부를 확인할 수 있는 페이지를 구현하고 싶습니다. 인스타 팔로워 페이지 인스타 팔로잉 페이지 따라서 팔로우하지 않는 목록 페이지를 유저 목록들이 모두 나열되면서 눈으로 팔로우 여부를 확인할 수 있는 페이지로 구현하고자 합니다. 하기는 현재 구현한 목록 페이지의 일부 입니다. 개인 프로필 페이지에서는 팔로잉 버튼 대신 edit 버튼이 활성화 됩니다. 해당 페이지를 구현하기 위해 11장에서 구현한 두 함수를 generic ListView를 상속받은 class 기반 뷰로 구현하였습니다. # views.py @method_decorator(login_required_hx, name="dispatch") class DiscoverListView(ListView): model = User paginate_by = 12 context_object_name="user_list" def get_queryset(self): qs = User.objects.all() user: User = self.request.user follow_relation = self.kwargs.get("follow_relation", False) # url로 부터 받는 인자 match follow_relation: case "following": qs = user.following_user_set.all() case "followed": qs = user.followed_user_set.all() # qs = User.objects.exclude(id__in=user.following_user_set.all()) qs = qs.exclude(id__in=[user.pk]).select_related("profile").prefetch_related("follower_user_set", "following_user_set") query = self.request.GET.get("query", "").strip() if query: qs = qs.filter( Q(username__icontains=query) | Q(full_name__icontains=query) | Q(email__icontains=query) ) return qs.order_by("username") def get_template_names(self) -> list[str]: # htmx로 요청이 들어오면 검색바 등 불필요한 위 아래 내용 제거 후 내용만 업데이트 if self.request.htmx: template_name = "accounts/_user_list.html" else: template_name = "accounts/user_list.html" return [template_name] def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) # is_follwer 는 html에서 follow 버튼을 구분하기 위한 인자 # context['is_follower'] = True if self.kwargs.get("follow_relation", False)=="following" else False qs = self.get_queryset() follow_dict = { q.username:self.request.user.is_follower(q) for q in qs } context['follow_dict'] = follow_dict query = self.request.GET.get("query", "").strip() context['query']=query return context 여기서 .prefetch_related("follower_user_set", "following_user_set") 을 통해 모델에서 구현한 팔로워와 팔로잉 유저 수를 불러오는 property를 templates에서 호출할 때 N+1 문제를 해결하고자 하였습니다. <!-- _user_profile_card.html --> {% load static %} <div class="card" style="border-radius: 15px;"> <div class="card-body p-4"> <div class="d-flex"> <div class="flex-shrink-0"> {% if user.profile.avatar %} <img src="{{user.profile.avatar.url}}" alt="{{user}}'s avatar" class="img-fluid" style="width: 180px; border-radius: 10px;"> {% else %} <img src="{% static 'images/profile-icon-design-free-vector.jpg' %}" alt="{{user}}'s avatar" class="img-fluid" style="width: 180px; border-radius: 10px;"> {% endif %} </div> <div class="flex-grow-1 ms-3"> <h5 class="mb-1" style="display:inline">{{ user.full_name }} </h5> {% if user.profile.team %} <h6 class="text-muted" style="display:inline">{{ user.profile.team }}</h6> {% endif %} <p class="mb-1 pb-1">{{ user.email }}</p> <div class="d-flex justify-content-start rounded-3 p-2 mb-2 bg-body-tertiary"> <div> <p class="small text-muted mb-1">Data</p> <p class="mb-0">TDA</p> </div> <div class="px-3"> <p class="small text-muted mb-1">Followers</p> <p class="mb-0">{{user.follower_count}}</p> </div> <div> <p class="small text-muted mb-1">Following</p> <p class="mb-0">{{user.following_count}}</p> </div> </div> <div class="d-flex pt-1"> {% if request.user == user %} <a href="{% url 'accounts:profile_edit' %}" class="btn btn-outline-primary btn-sm"> <i class="bi bi-pencil-square"></i> 프로필 수정 </a> {% else %} {% comment %} {% include "accounts/_user_follow.html" with username=user.username%} {% endcomment %} {% include "accounts/_user_follow.html" with is_follower=follow_dict.user.username username=user.username%} {% endif %} </div> </div> </div> </div> </div> 프로필 카드 내에서 팔로워와 팔로잉 수를 보여주기 위해 접근한 제 방식이 맞는지가 궁금합니다. models.py 에서 구현한 follower_count 또는 following_count 를 template에서 호출하는 방식이 일반적인 접근 방식인가요? 그 다음 제가 위에서 구현하고자 한 유저별 팔로우 여부를 get_context_data 에서 follow_dict 라는 변수명으로 저장하여 하기와 같이 template에 넘겨주었습니다. <!--user_follow.html--> {% include "core/_messages_as_event.html" %} {% load keyvalue %} {% if follow_dict|keyvalue:username %} <a href="#" hx-post="{% url 'accounts:user_unfollow' username %}" hx-swap="outerHTML" class="btn btn-sm btn-primary"> <i class="bi bi-person-check-fill"></i> 팔로잉 중 </a> {% else %} <a href="#" hx-post="{% url 'accounts:user_follow' username %}" hx-swap="outerHTML" class="btn btn-sm btn-secondary"> <i class="bi bi-person-add"></i> 팔로잉 하기 </a> {% endif %} dictionary 키 값으로 변수를 입력하는 것이 django template에서 지원되지 않기 때문에 하기의 함수를 등록하여 활용하였습니다. register = template.Library() @register.filter def keyvalue(dict, key): return dict[key] 결과물은 구현한 페이지처럼 잘 보여지지만, 두 가지 문제가 존재합니다. 확실치 않지만 하기의 코드에서 N+1 오류가 발생하는 것으로 보입니다. follow_dict = { q.username:self.request.user.is_follower(q) for q in qs } 팔로잉 혹은 언팔로잉 요청 시 500 서버 에러가 발생합니다. 아마도 follow_dict가 요청 시에 업데이트 되지 않아 발생하는 오류로 보입니다. 이러한 점 때문에 인스타그램에서도 따로 탭을 두어서 관리하는가 싶기도 합니다만 이를 해결할 방법이 있을까요? 어렵다면 팔로워 목록에서 내가 팔로잉 하는지 여부를 표기하는 인스타그램 페이지는 어떻게 구현해야 할까요?
미해결
빅데이터 분석기사 시험 실기(Python)
1) X_train, X_test, y_train, y_test = train_test_split ( df.iloc[:, 1:] , df['survived'], test_size = 0.2, random_state = 42, stratify = df['survived']) 로 되어야 하는거 아닌가요? 연습문제에서 df만 하셨는데, 그렇게 하면 이미 답이 변수에 포함되어있어서 정확도가 1로 나옵니다. 2) 전처리 다 하고나서 저 train_test_split를 수행해도 되나요? 전처리 할 때 X_train, X_test 두번씩 꼭 해줘야 하는게 번거롭고 실수가 날 것 같아서요.
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
글로만 정리된 섹션은 pdf 제공안될까요? 핸드폰 화면으로 수강중이라 해당내용을 보기엔 한눈에 들어오지 않아 학습이 좀 어렵습니다. 프린트물로 보려고 해도 해당페이지는 1페이지만 인쇄되기 때문에 파일로 모아서 올려주시면 학습에 도움이 될 것 같습니다.
해결됨
직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
★새로 연 빈 문서의 xml을 불러오는 방법만 알고싶습니다.★ 기존문서는 zip -> sele..?0.xml을 열면 되서 상관없는데, 저장되지않은 새 문서는 어떻게 하는지 궁금하네요 ㅎㅎ -> 이걸로 해결했습니다. hwp.GetTextFile(Format="HWPML2X", option="") # 이외 추가질문입니다. 이번주 목요일 5기 강사로 가시는데, 아쉽게도 신청을 못했네요 ㅠㅠ 역시 다음 기회를 봐야겠죠?
미해결
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 값 타입의 클래스에 setter를 제공하지 않아도 변경 불가능하도록 할 수 있지만, 필드들에 final을 붙이는 것 또한 괜찮지 않을까요? 대신 기본생성자도 만들 기 위해서 @NoArgsConstructor 옵션을 사용 할 수 있을 것 같습니다. 최종 형태입니다 @Embeddable @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED, force = true) @RequiredArgsConstructor public class Address { private final String city; private final String street; private final String zipCode; } 이런식으로 만들어도 될까요? 또 force 옵션을 쓰게 되면 리플랙션/프록시 기술에 영향을 주어서 쓰면 안되는 형태일지 궁금합니다
미해결
실전! 스프링 데이터 JPA
안녕하세요. 강의 항상 잘 보고 있습니다. 아래 두 질문 보고 이해가 안 되는 부분이 있어 질문 드립니다. https://www.inflearn.com/community/questions/33719/fetch-join-vs-join https://www.inflearn.com/community/questions/1364411/%EB%8B%A8%EC%88%9C-%EC%A1%B0%EC%9D%B8%EA%B3%BC-%ED%8E%98%EC%B9%98-%EC%A1%B0%EC%9D%B8%EC%97%90-%EB%8C%80%ED%95%B4-%EC%A7%88%EB%AC%B8-%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4 아래처럼 페치조인 사용하지 않고 member와 team을 select해서 가져올 경우에는 lazy 쿼리가 발생할 수 있다고 이해했습니다. @Query("select m, t from Member m join m.team t") List<Member> findInnerJoin(); team을 select하면 영속성 컨텍스트에도 team의 모든 pk가 저장되면서 lazy 쿼리가 발생하지 못하는 것은 아닌가요? 첫번째 링크 질문의 "이번 예제가 좀 특수한 경우고, 일반적으로 team이 영속성 컨텍스트에 미리 존재하는 경우는 드물기 때문에" 라는 답변에서 어떻게 team이 미리 존재하지 않는 경우가 생길 수 있는지 궁금합니다...
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
자바 강의중에 같지만 다른것에서 5분29초 화면에서 int랑 Integer 같다고 하셨는데 왜 같은지 자세하게 어떻게 같은지 알수있나요?
해결됨
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
[질문 내용] saveItem에 @Transactional 어노테이션이 선언되어있고, updateItemForm의 Id 값을 hidden으로 설정 되어있는데 상품 수정시 기존 값이 그대로 유지되면서 화면에 보여집니다ㅠㅠ 뭐가 잘못된걸까요...? 관련 코드도 댓글로 첨부 하겠습니다.
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요 강의 잘 듣고있습니다. 강의를 듣던 중 질문이 생겨서 문의드립니다. 저는 SI 개발자로 커리어를 시작하여 SI 업체 방식밖에 몰라 mybatis만 써보고 JPA를 처음 배우는 입장이라 부족한 질문이 될수 있는점 미리 양해부탁드립니다. 12:26 초에 JPA와 상속 - 부분을 듣던 중 의문이 생겼습니다. item과 album 테이블이 부모 자식 관계가 있을 때 jpa.persist( album ); 로 album 객체를 넣어주면 자동적으로 부모 테이블인 item 테이블에 자동으로 넣어준다고 되어 있는데 제 생각에는 FK 를 jpa가 추적해서 넣어주는것 같습니다. 그러나 제 짧은 실무경험상에서는 편의상의 이유로 논리 ERD 상에서만 FK를 설정하고 실제로는 FK를 걸지 않고 개발을 진행한 적이 많습니다. 그렇다면 혹시 FK를 걸지 않아도 jpa가 찾아서 item 테이블에도 데이터를 넣어주게 되는지 궁금하니다.