소수판별기 전혀 이해가 안되요
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
소수판별기에서 main에 있는것은 그렇다치고 for반복문에서 소수얘기가 나오는데 전혀 알아들을수가 없네요~~~ 몇번을 봐도 이해가 안되요
- python
- java
- c
- 정보처리기사
172만명의 커뮤니티!! 함께 토론해봐요.
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
소수판별기에서 main에 있는것은 그렇다치고 for반복문에서 소수얘기가 나오는데 전혀 알아들을수가 없네요~~~ 몇번을 봐도 이해가 안되요
미해결
김영한의 실전 자바 - 중급 1편
기본편 강의에서 접근 제어자 설명할때 이런 내용이 있었는데요, 클래스 레벨의 접근 제어자 규칙 - 클래스 레벨의 접근 제어자는 public , default 만 사용할 수 있다. private , protected 는 사용할 수 없다. 그런데 이번에 정적 중첩 클래스를 설명하면서 클래스 선언시에 private static class 클래스명 이라고 선언을 하잖아요. 앞선 기본편 강의 내용에서 언급했던 내용과 조금 달라서 헷갈립니다. private static class 클래스명 은 중첩 클래스에서만 사용하는 문법이다라고 생각하면 될까요?
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
이런 화면이 뜨면서 실행키를 누를 수 없는 상태인데 어떻게 진행해야 될될까요?
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
C 언어 이중 포인터 printf("%d", array[1] + *array+1) ; //24,12 라고 되어 있는데 37이(24+12+1) 아닌지요 ?
미해결
실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
프로젝트를 할때도 그렇고, 이번 강의에서도 그렇고 API를 위해request, response 각각 DTO를 설정해주었습니다. 그러면 API의 개수가 많아지는 경우에도 그에 따라 각각 요청,응답의 DTO를 만들면 너무 복잡해지지는 않을까 하는걱정이 있습니다. 그럼에도 불구하고 DTO를 API 마다 만들어야 하는건가요?
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
왜이럴까요..? index.html을 지워도 복구해도 절대 빌드가 안됩니다 ㅠㅠ
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
안녕하세요. 강사님 mac os로 이론 pdf보고있는데 뒷쪽 페이지 sql과 조인 정리 부터 글자가 안나옵니다. 윈도우에서 해보니 브라우저 pdf로는 잘나오는데 pdf프로그램으로도 안나오네요. 인코딩 문제이면 맥에서도 볼수있게 pdf재업로드 가능하실까요? 확인 부탁드리겠습니다.
미해결
김영한의 실전 자바 - 중급 1편
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 강의 내용 중 아래 코드를 실행하면, private static void action (Object obj){ if (obj instanceof Dog dog) { dog.sound() ; } else if (obj instanceof Car car){ car.move() ; } } 정상적으로 dog.sound()와 car.move()가 출력이 됩니다. 여기서 문의드릴 사항은 main 메서드에서 따로 Object object = new Dog()와 같이 해주지 않았음에도 if (obj instanceof Dog dog) 부분에서 어떻게 Dog타입의 인스턴스로 Obj가 존재하는 지 확인 되어 확인과 동시에 변수를 선언하여 dog.sound()가 호출 될 수 있는 건가요? 따로 Object object = new Dog()를 해주지 않아도. 일시적 다운캐스팅으로 가능해진 것인가요?
미해결
토비의 스프링 6 - 이해와 원리
섹션1의 개발환경 준비 강의부터 동영상이 재생되지 않는데요.. 어떻게 해야 하나요?
미해결
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] if (num1 == 0 && num2 == 0) { 대신 if (sum == 0) { 가능한지 궁금합니다!
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
안녕하세요1 오늘 결재했습니다~ 혹시 pdf 수업자료 있다고 들은것같은데 못찾곘네요;; 어디서 받으면될까요?
해결됨
김영한의 실전 자바 - 중급 1편
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String dateTimeString = "2030-01-01 11:30:15"; LocalDateTime parsedDatetime = LocalDateTime.parse(dateTimeString, formatter); System.out.println("문자열 파싱 날짜와 시간: " + parsedDatetime); 강의처럼 패턴을 yyyy-MM-dd HH:mm:ss로 해도 문자열 파싱 날짜와 시간: 2030-01-01T11:30:15 ISO 8601 규격인 날짜와 시간 사이에 ' T' 가 들어가는데, 포맷팅 할 때 처럼 ' T '가 안들어가게 패턴을 정의할 순 없을까요?
미해결
자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 같은 모듈에서만 접근 가능하고 여기서 말하는 모듈은 IDEA Module, Maven project 등등 이라고 하셨는데요 이게 정확한 어디 범위인지 제가 지식이 낮아서 그런지 이해가 잘안됩니다ㅠ 다른 클래스에서는 접근이 가능 한건가요?
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
코드 다 입력하고 실행했는데 MemberService memberService; ^ symbol: class MemberService location: class MemberServiceTest 이런 오류가 납니다 어떻게 해결해야 하나요?
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
이해가 어려운 섹션이나 영상 설명은 질문으로 꼭 남겨주세요. 기출문제를 풀다가 막힌 개념이 있나요? 질문으로 회차나 번호, 개념을 예시로 질문해주세요. 답변에 도움이 됩니다. 이론 문제는 통합본 PDF 파일로 제공될 예정입니다. (6월 중 업로드 예정) 합격을 가르는 것은 역시 코드해석문제. 이론을 외울 시간이 없다면 코드에 익숙해지고, 중요 개념을 몇 가지 외워가면 합격할 수 있습니다. 이 문제 바로 위에 문제에는 생성자 of A를 먼저 출력했는데, 이 문제는 왜 생성자 of AA10이 먼저 출력되었을까요?
미해결
김영한의 실전 자바 - 중급 2편
문제 1번의 경우 if 구문을 사용할 때 저는 else 를 안 넣고 바로 return 으로 표현했거든요. static <T extends BioUnit> T maxHp(T unit1, T unit2) { if (unit1.getHp() > unit2.getHp()) { return unit1; } return unit2; } 답안엔 else 를 같이 쓰는 것으로 나와서 혹시 else를 쓰고 안 쓰고를 결정하는 메뉴얼이나 혹은 더 좋은 코드의 기준이 있을까요? ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요.
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
제가 이해가 안가는 것이 있어 질문드려요 기존 Team 과 Member 예시로 질문할게요 Member가 연관관계의 주인이고 Team 은 객체 상 그저 Member에 대한 참조만 갖는 List<Member> members 만 있는 예시로 질문하겠습니다 public void 연관관계_설정() { //회원1 저장 Member member1 = new Member("member1", "회원1"); em.persist(member1); //회원2 저장 Member member2 = new Member("member2", "회원2"); em.persist(member2); Team team1 = new Team("team1", "팀1"); //연관관계 설정 member1.setTeam(team1); team.getMembers().add(member1); member2.setTeam(team1); team.getMembers().add(member2); em.persist(team1); } 여기서 team.getMembers().add(member1); 은 사실 상 DB를 바꾸지 않는 것인데 예시 상 Member와 Team은 객체 단에서 서로 양방향 참조를 해야하기 때문에 List를 넣어주거잖아요? 그럼 Team 입장에서 List<Members> members는 JPA, 즉 DB 작업과 전혀 상관이 없는 그저 어플리케이션 입장에서 양방향 참조를 해야할 상황(기능)이 있어서 추가된 것인데 왜 어노테이션을 써줘야하는거죠? 어노테이션을 붙이는 이유가 JPA가 해석할 것이 있어서 붙이는거잖아요? 근데 Team의 List<Members> members는 JPA가 해석해봤자 DB를 변경하는 일도 아니고 그저 어플리케이션 계층에서 사용되는 변수인데 왜 JPA 어노테이션(@OneToMany)를 붙이는거죠?? ai 봇 말고 튜터님께서 답변해주시면 감사하겠습니다!!
미해결
실전! Querydsl
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? ( 예 /아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? ( 예 /아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? ( 예 /아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요 강사님! 최근 JPA2 에서 수강한 컬렉션 최적화와 QueryDSL을 통해서 주변 병원 조회 기능을 구현하던중에 궁금한것이 생겨서 질문남깁니다. 현재 @Entity @Getter @AllArgsConstructor @NoArgsConstructor(access = AccessLevel.PROTECTED) @SQLDelete(sql = "UPDATE store SET store_status = 'DEACTIVATE' WHERE store_id=?") @SQLRestriction("store_status = 'ACTIVATE'") @Inheritance(strategy = InheritanceType.JOINED) @DiscriminatorColumn // 하위 테이블의 구분 컬럼 생성 @Table(name = "store", indexes = { @Index(name = "idx_store_name", columnList = "storeName") }) public abstract class Store extends BaseEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "store_id") private Long storeId; @NotNull @Size(min = 2) @Column(nullable = false) private String storeName; private String storePhone; private String thumbnailUrl; private String notice; private String websiteLink; @Column(columnDefinition = "TEXT") private String storeInfo; private String storeInfoPhoto; @Enumerated(EnumType.STRING) private BaseStatus storeStatus; @Embedded private Address address; @OneToMany(mappedBy = "store", fetch = FetchType.LAZY) private List<BusinessHour> businessHours = new ArrayList<>(); @OneToMany(mappedBy = "store", fetch = FetchType.LAZY) private List<StorePhoto> storePhotos = new ArrayList<>(); // @OneToMany(mappedBy = "store", fetch = FetchType.LAZY) // private List<Reserve> reserves = new ArrayList<>(); @OneToMany(mappedBy = "store", fetch = FetchType.LAZY) private List<Review> reviews = new ArrayList<>(); @OneToOne(mappedBy = "store", fetch = FetchType.LAZY, cascade = CascadeType.ALL, optional = false) private RegistrationInfo registrationInfo; } 현재 이런식으로 Store 엔티티가 준비되어 있는 상황입니다. 아래는 이를 상속한 Hospital 엔티티입니다. @Entity @Getter @Builder @NoArgsConstructor(access = AccessLevel.PROTECTED) @AllArgsConstructor @DiscriminatorValue("H") @OnDelete(action = OnDeleteAction.CASCADE) @Table(name = "hospital") public class Hospital extends Store { private String additionalServiceTag; @OneToMany(mappedBy = "hospital", fetch = FetchType.LAZY) private List<TagMapper> tags = new ArrayList<>(); } 변경전 코드 List<StoreQueryInfo> hospitalInfoList = jpaQueryFactory .select( Projections.constructor( StoreQueryInfo.class, hospital.storeId.as("storeId"), hospital.storeName.as("storeName"), hospital.thumbnailUrl.as("thumbnailUrl"), businessHour.startTime.as("startTime"), businessHour.endTime.as("endTime"), businessHour.breakStartTime.as("breakStartTime"), businessHour.breakEndTime.as("breakEndTime"), review.reviewId.count().as("reviewCount"), review.rating.avg().as("ratingAvg"), Expressions.stringTemplate( "ST_Distance_Sphere(ST_PointFromText({0}, 4326), {1})", point, hospital.address.point ).castToNum(Double.class).as("distance") ) ).from(hospital) .leftJoin(hospital.businessHours, businessHour) .on(businessHour.dayOfWeek.eq(dayOfWeek)) .leftJoin(hospital.reviews, review) .leftJoin(hospital.tags, tagMapper) .leftJoin(tagMapper.hospitalTag, hospitalTag) .where( inDistance(point, queryCond.radius()), businessHourEq(queryCond.businessHourCond()), specialitiesEq(queryCond.specialitiesCond()), emergencyEq(queryCond.emergencyCond()), isOpen(queryCond.openCond(), Time.valueOf(now.minusHours(4))) ) .groupBy( hospital.storeId, hospital.storeName, businessHour.startTime, businessHour.endTime, businessHour.breakStartTime, businessHour.breakEndTime ) .orderBy(Expressions.stringTemplate( "ST_Distance_Sphere(ST_PointFromText({0}, 4326), {1})", point, hospital.address.point ).asc()) .fetch(); 변경 후 코드 (변경전의 동적쿼리 미적용) public List<StoreQueryTotalInfo> findHospitalOptimization( Pageable pageable, int dayOfWeek, String point, LocalTime now, HospitalQueryCond queryCond) { NumberPath<Double> distanceAlias = Expressions.numberPath(Double.class, "distance"); // 일단 반경 내의 병원 정보를 모두 가져옴. List<Tuple> hospitals = jpaQueryFactory .select( hospital, Expressions.stringTemplate( "ST_Distance_Sphere(ST_PointFromText({0}, 4326), {1})", point, hospital.address.point ).castToNum(Double.class).as(distanceAlias) ).from(hospital) .leftJoin(hospital.registrationInfo, registrationInfo).fetchJoin() .where(inDistance(point, queryCond.radius())) .fetch(); // // 병원 돌면서 DTO 채우기 List<TestDTO> list = new ArrayList<>(); for (Tuple tuple : hospitals) { Hospital hospital1 = tuple.get(hospital); Double distance = tuple.get(distanceAlias); log.info("Hospital: " + hospital1 + ", Distance: " + distance); list.add(TestDTO.builder() .storeId(hospital1.getStoreId()) .storeName(hospital1.getStoreName()) .thumbnailUrl(hospital1.getThumbnailUrl()) .time(Times.of(hospital1.getBusinessHours(), dayOfWeek)) .reviewCount((long) hospital1.getReviews().size()) .ratingAvg(Review.getRatingAvg(hospital1.getReviews())) .distance(formatDistance(distance)) .tags(TagInfo.from(hospital1.getTags())) .build()); } return null; } 강의를 듣기 전에는 @OneToMany 관계까지 모두 leftJoin()을 이용해서 데이터를 가져왔는데 쿼리가 무진장 많이 나가는 상황이 발생하더라고요. 그래서 컬렉션 쿼리 최적화 수업을 들은 후 위의 코드로 변경하였습니다. (@ToOne 관계만 fetchJoin 하기, @OneToMany 관계는 가져와진 객체에 직접 접근해서 가져오는 방식으로 진행했습니다.) 근데 이때 동적쿼리를 어떤식으로 적용해야하는지 감이 잡히지 않더라고요..! 일단 원하는 반경 내의 병원을 모두 조회해서 가져오기 repository단에서 반복문을 돌면서 queryCond의 null값을 체크하며 수동으로 동적쿼리를 적용해야 하기 (코드단에서 동적쿼리 적용) 위의 방식을 생각하고 있는데 이게 과연 동적 쿼리(?)가 맞는지 의구심이 들더라고요. 적용해야 하는 동적쿼리는 아래 코드와 같습니다. private BooleanExpression businessHourEq(String businessHourCond) { return businessHourCond != null ? hospitalTag.tagType.eq(HospitalTagType.BUSINESSHOUR).and(hospitalTag.tagContent.eq(businessHourCond)) : null; } private BooleanExpression specialitiesEq(String specialitiesCond) { return specialitiesCond != null ? hospitalTag.tagType.eq(HospitalTagType.SPECIALITIES).and(hospitalTag.tagContent.eq(specialitiesCond)) : null; } private BooleanExpression emergencyEq(String emergencyCond) { return emergencyCond.equals("EMERGENCY") ? hospitalTag.tagType.eq(HospitalTagType.EMERGENCY).and(hospitalTag.tagContent.eq(emergencyCond)) : null; } private BooleanExpression inDistance(String point, Integer radius) { return radius != null ? Expressions.booleanTemplate( "ST_Contains(ST_Buffer(ST_PointFromText({0}, 4326), {1}), {2})", point, radius, hospital.address.point ) : null; } private BooleanExpression isOpen(String isOpen, Time now) { return isOpen.equals("OPEN") ? businessHour.startTime.isNotNull().and(businessHour.endTime.isNotNull()) .and(businessHour.startTime.loe(now)).and(businessHour.endTime.goe(now)) : null; }
해결됨
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
여러가지 바꿔가면서 입력해봐도 다 안 돼요 윈도우 사용중이에요
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
이론 파일이 자꾸 인쇄하려고 하니 오류가 나는데 다른 방법으로 업로드해주실 수 없으신가요?