묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨독하게 시작하는 C 프로그래밍
변수들이 stack frame에 할당되는 구조에 대하여
우선 강의 내용 정말 만족하면서 잘 듣고 있습니다.섹션 16의 "가변 길이 입력에 대한 stack frame 손상" 강의편에서Callee로 GetString 함수를 활용하여 디버깅 모드로 메모리 주소를추적하는 과정에서 질문드려요.스택 구조는 높은 메모리 주소에서 낮은 메모리 주소 방향으로할당 받는 구조로 알고 있는데, char 배열이 int형 변수보다낮은 메모리 주소에 할당이 되어서 질문 드립니다.제가 따로 여러 변수들을 적용하여 디버깅 해보았는데도 마찬가지더라고요.혹시, os에 따라 변수가 할당되는 스택 메모리의 순서가 다른건지 궁금해서 질문드려요.
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
예외처리2 validation Map
Validation 클래스를 만들어서 Validation 클래스를 List로 담아서 내보냈습니다.이렇게 하면 테스트가 정상적으로 동작을 하는데 Map을 사용했을 때 성능적으로나 효율성이 뭐가 더 나은지 알고 싶습니다.그리고 json 을 어떤 방식으로 넘겨야 좋은지 알고싶습니다.
-
해결됨김영한의 실전 자바 - 기본편
추상 클래스 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]추상 클래스 1편 강의를 듣다가 배열과 for문을 이용했던게 생각나서 한 번 해봤는데 오류가 나지 않고 실행이 잘 되더라고요근데 추상클래스는 생성하면 안 된다고 말씀하셨는데 여기서 오류가 일어나지 않는 이유는 무엇인가요?? 궁금합니다
-
미해결[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]
pandas 라이브러리로 실제 데이터 전처리하기2 8:42
ㄴㅇㄹ Province_State Country_Region Confirmed 0 Anhui China 1.0 1 Beijing China 14.0 2 Chongqing China 6.0 3 Fujian China 1.0 5 Guangdong China 26.0 6 Guangxi China 2.0 7 Guizhou China 1.0 8 Hainan China 4.0 9 Hebei China 1.0 11 Henan China 5.0 13 Hubei China 444.0 14 Hunan China 4.0 16 Jiangsu China 1.0 17 Jiangxi China 2.0 19 Liaoning China 2.0 20 Macau China 1.0 21 Ningxia China 1.0 24 Shandong China 2.0 25 Shanghai China 9.0 26 Shanxi China 1.0 27 Sichuan China 5.0 28 None None NaN 29 Tianjin China 4.0 31 None None NaN 33 Yunnan China 1.0 34 Zhejiang China 10.0 35 None None NaN 36 None None NaN 37 NaN Korea, South 1.0 Province_State Country_Region Confirmed 0 Anhui China 1 1 Beijing China 14 2 Chongqing China 6 3 Fujian China 1 5 Guangdong China 26 6 Guangxi China 2 7 Guizhou China 1 8 Hainan China 4 9 Hebei China 1 11 Henan China 5 13 Hubei China 444 14 Hunan China 4 16 Jiangsu China 1 17 Jiangxi China 2 19 Liaoning China 2 20 Macau China 1 21 Ningxia China 1 24 Shandong China 2 25 Shanghai China 9 26 Shanxi China 1 27 Sichuan China 5 28 Taiwan Taiwan 1 29 Tianjin China 4 31 Washington US 1 33 Yunnan China 1 34 Zhejiang China 10 35 NaN Japan 2 36 NaN Thailand 2 37 NaN Korea, South 1 두 코드의 차이는 return의 위치입니다.근데 왜 Confirmed 타입과 값이 이렇게 차이나나여?
-
미해결C#.NET 0.5년차~3년차(파트1)
강사님.. 에러가 왜 뜰까요?
델리게이트 강의... wpf로 하는데.. 에러가 뜨네요..인스턴스안해서 뜨는거 같은데.. 어떻게 인스턴스 해줘야하나요?알려주심감사하겠습니다.~
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
localhost:8080/hello 오류
index.html은 잘 열리는데 hello.html은 오류가 나네요 ㅠㅠ질문들 많이 찾아서 봤는데도 문제가 안보여요...도와주세요 ㅠㅠㅠ!
-
미해결스프링 시큐리티
브레이크 포인트를 거는 이유
브레이크 포인트를 거는 이유가 뭔가요 ??
-
미해결실전! Querydsl
동적 쿼리가 안되는 이유
@Repository @Log4j2 public abstract class Querydsl4RepositorySupport { // 이 클래스가 다루는 도메인(엔터티)의 클래스 private final Class domainClass; // 도메인 엔터티에 대한 Querydsl 쿼리를 생성하고 실행 private Querydsl querydsl; // 데이터베이스와의 상호 작용을 담당하는 JPA의 핵심 객체 private EntityManager entityManager; // queryFactory를 통해 Querydsl 쿼리를 생성하고 실행합니다. private JPAQueryFactory queryFactory; public Querydsl4RepositorySupport(Class<?> domainClass) { Assert.notNull(domainClass, "Domain class must not be null!"); this.domainClass = domainClass; } // Pageable안에 있는 Sort를 사용할 수 있도록 설정한 부분 @Autowired public void setEntityManager(EntityManager entityManager) { Assert.notNull(entityManager, "EntityManager must not be null!"); // JpaEntityInformation을 얻기 위해 JpaEntityInformationSupport를 사용합니다. // 이 정보는 JPA 엔터티에 대한 메타데이터 및 정보를 제공합니다. JpaEntityInformation entityInformation = JpaEntityInformationSupport.getEntityInformation(domainClass, entityManager); // 이는 Querydsl에서 엔터티의 경로를 생성하는 데 사용됩니다. SimpleEntityPathResolver resolver = SimpleEntityPathResolver.INSTANCE; // entityInformation을 기반으로 엔티티의 경로를 생성합니다. EntityPath path = resolver.createPath(entityInformation.getJavaType()); this.entityManager = entityManager; // querydsl 객체를 생성합니다. // 이 객체는 Querydsl의 핵심 기능을 사용할 수 있도록 도와줍니다. // 엔터티의 메타모델 정보를 이용하여 Querydsl의 PathBuilder를 생성하고, 이를 이용하여 Querydsl 객체를 초기화합니다. this.querydsl = new Querydsl(entityManager, new PathBuilder<>(path.getType(), path.getMetadata())); this.queryFactory = new JPAQueryFactory(entityManager); } // 해당 클래스의 빈(Bean)이 초기화될 때 자동으로 실행되는 메서드 @PostConstruct public void validate() { Assert.notNull(entityManager, "EntityManager must not be null!"); Assert.notNull(querydsl, "Querydsl must not be null!"); Assert.notNull(queryFactory, "QueryFactory must not be null!"); } // 이 팩토리는 JPA 쿼리를 생성하는 데 사용됩니다. protected JPAQueryFactory getQueryFactory() { return queryFactory; } // 이 객체는 Querydsl의 핵심 기능을 사용하는 데 도움이 됩니다. protected Querydsl getQuerydsl() { return querydsl; } // EntityManager는 JPA 엔터티를 관리하고 JPA 쿼리를 실행하는 데 사용됩니다. protected EntityManager getEntityManager() { return entityManager; } // Querydsl을 사용하여 쿼리의 SELECT 절을 생성하는 메서드입니다. // expr은 선택할 엔터티나 엔터티의 속성에 대한 표현식입니다. protected <T> JPAQuery<T> select(Expression<T> expr) { return getQueryFactory().select(expr); } // Querydsl을 사용하여 쿼리의 FROM 절을 생성하는 메서드입니다. // from은 엔터티에 대한 경로 표현식입니다. protected <T> JPAQuery<T> selectFrom(EntityPath<T> from) { return getQueryFactory().selectFrom(from); } // 이 메서드는 주어진 contentQuery를 사용하여 Querydsl을 통해 JPA 쿼리를 생성하고 실행하고, // 그 결과를 Spring Data의 Page 객체로 변환하는 기능을 제공 protected <T> Page<T> applyPagination(Pageable pageable, Function<JPAQueryFactory, JPAQuery> contentQuery) { // 1. contentQuery를 사용하여 JPAQuery 객체를 생성 JPAQuery jpaQuery = contentQuery.apply(getQueryFactory()); // 2. Querydsl을 사용하여 페이징 및 정렬된 결과를 가져옴 List<T> content = getQuerydsl().applyPagination(pageable, jpaQuery).fetch(); // 3. contentQuery를 다시 사용하여 countQuery를 생성 JPAQuery<Long> countQuery = contentQuery.apply(getQueryFactory()); // 4. countQuery를 실행하고 총 레코드 수를 얻음 long total = countQuery.fetchOne(); // 5. content와 pageable 정보를 사용하여 Spring Data의 Page 객체를 생성하고 반환 return PageableExecutionUtils.getPage(content, pageable, () -> total); } // 이 메서드는 contentQuery와 함께 countQuery를 인자로 받아서 사용합니다. // contentQuery를 사용하여 페이징된 결과를 가져오고, countQuery를 사용하여 전체 레코드 수를 얻습니다. protected <T> Page<T> applyPagination(Pageable pageable, Function<JPAQueryFactory, JPAQuery> contentQuery, Function<JPAQueryFactory, JPAQuery> countQuery) { JPAQuery jpaContentQuery = contentQuery.apply(getQueryFactory()); List<T> content = getQuerydsl().applyPagination(pageable, jpaContentQuery).fetch(); JPAQuery<Long> countResult = countQuery.apply(getQueryFactory()); log.info("countResult : " + countResult ); Long total = countResult.fetchOne(); return PageableExecutionUtils.getPage(content, pageable, () -> total); } } // count처리 까지 한것 public Page<Member> applyPagination2(MemberSearchCondition condition, Pageable pageable) { return applyPagination(pageable, contentQuery -> contentQuery.selectFrom(member) .join(member.team, team).fetchJoin() .where(userNameEq(condition.getUserName()), teamNameEq(condition.getTeamName()), ageGoe(condition.getAgeGoe()), ageLoe(condition.getAgeLoe()) ), countQuery -> countQuery .select(member.count()) .from(member) .where(userNameEq(condition.getUserName()), teamNameEq(condition.getTeamName()), ageGoe(condition.getAgeGoe()), ageLoe(condition.getAgeLoe())) ); } private BooleanExpression userNameEq(String userName) { return hasText(userName) ? member.userName.eq(userName) : null; } private BooleanExpression teamNameEq(String teamName) { return hasText(teamName) ? team.name.eq(teamName) : null; } private BooleanExpression ageGoe(Integer ageGoe) { return ageGoe != null ? member.age.goe(ageGoe) : null; } private BooleanExpression ageLoe(Integer ageLoe) { return ageLoe != null ? member.age.loe(ageLoe) : null; }서비스에서 public Page<MemberTeamDTO> search(MemberSearchCondition condition, Pageable pageable) { Page<Member> resultPage = memberTestRepository.applyPagination2(condition, pageable); return resultPage.map(member -> MemberTeamDTO.builder() .memberId(member.getId()) .age(member.getAge()) .userName(member.getUserName()) .teamId(member.getTeam().getId()) .teamName(member.getTeam().getName()) .build()); }컨트롤러 @GetMapping("/v3/members") public ResponseEntity<?> searchMemberV3(MemberSearchCondition condition, Pageable pageable) { Page<MemberTeamDTO> search = memberService.search(condition, pageable); return ResponseEntity.ok().body(search); }이렇게 작성했는데 뭐가 문제인지 페이지와 정렬은 잘되는데 http://localhost:9090/v3/members?teamName=teamA&page=1&sort=id,desc teamA와 teamB 모두 나오고 있습니다.질문1 : 조건이 안 먹고 있는데 왜 그럴까요? 어떤 조건으로 해도 안 먹고 있습니다.질문2 : 여기서 동적 쿼리에서 null 처리를 잘 해야 하는 이유가 null로 들어오면 무시되서 전부 조회가 되기 때문에 null 처리를 잘해야하는 거 맞나요?질문 3 : 예를들어, hasText(userName) ? member.userName.eq(userName) : null; 가 있으면 조건이 userName이 존재한다고 하면 true이지만 받아온 userName이 존재하지 않는 userName이면 null이 반환이 되나요? 질문 4 : null 문제 해결 글을 찾던 와중에@DataJpaTest public class DynamicQueryTest { JPAQueryFactory queryFactory; @Autowired EntityManager em; @BeforeEach void init() { queryFactory = new JPAQueryFactory(em); em.persist(new Member("userA", 10, "ROLE_MASTER")); em.persist(new Member("userB", 20, "ROLE_ADMIN")); em.persist(new Member("userC", 30, "ROLE_USER")); } @Test void dynamicQuery() { // Integer age = 10; // String role = "ROLE_MASTER"; Integer age = null; String role = null; List<Member> result = queryFactory .selectFrom(member) .where(ageAndRoleEq(age, role)) .fetch(); System.out.println("result = " + result); } private BooleanBuilder ageAndRoleEq(Integer age, String role) { return ageEq(age).and(roleEq(role)); } private BooleanBuilder ageEq(Integer age) { if (age == null) { return new BooleanBuilder(); } else { return new BooleanBuilder(member.age.eq(age)); } } private BooleanBuilder roleEq(String roleName) { if (roleName == null) { return new BooleanBuilder(); } return new BooleanBuilder(member.roleName.eq(roleName)); } } return nullSafeBuilder(() -> member.age.eq(age)); } private BooleanBuilder roleEq(String roleName) { return nullSafeBuilder(() -> member.roleName.eq(roleName)); } public static BooleanBuilder nullSafeBuilder(Supplier<BooleanExpression> f) { try { return new BooleanBuilder(f.get()); } catch (IllegalArgumentException e) { return new BooleanBuilder(); } }이렇게 줄일 수 있다고 나왔는데 수업에서는 BooleanExpression을 사용했지만 null 방지를 위해서 BooleanBuilder 을 사용하는건가요? 이렇게 하면 null 방지가 되면서 전체 조회가 안되는 형식인가요?
-
해결됨진짜! 자바스크립트(Javascript) - 기초부터 고급까지
클로저 스코프와 블록 스코프 질문드립니다.
const test1 = () => { let count = 0; const inner = () => { console.log(count); // closure }; inner(); }; test1(); const test2 = (initialValue = 0) => { let count = initialValue; const inner = () => { console.log(count); // block }; inner(); }; test2();test1의 inner에서는 count가 클로저 스코프를 갖는데, test2의 inner에서는 블록 스코프를 갖는 이유가 뭔가요?
-
미해결iOS 개발 찍먹하기 - SwiftUI
피그마 튜툐리얼
자료 혹시 티스토리에 따로 올려놔도되나요 >? 출처 남기구요 !
-
해결됨2시간으로 끝내는 프론트엔드 테스트 기본기
섹션 3의 cypress 성공 케이스 작성 시, 에러 발생
섹션 3의 cypress 환경 설정 후 cypress 성공 케이스 작성 테스트 시, 계속해서 에러가 발생하여 문의드립니다.cypress > e2e > 3-login 폴더 안에 login.cy.js 파일을 작성하고,첫번째 테스트 케이스인 로그인 페이지 방문, 이메일과 비밀번호를 get 해오는 소스만 삽입하여 cypress 구동 후 확인을 하면,계속해서 cypress 사이트가 꺼지는 오류가 있습니다. 현재 cypress 사이트 내 폴더 구조와 파일 항목입니다.1-getting-started 폴더 아래 todo.cy.js 파일 클릭 시, 잘 수행됩니다.2-advanced-examples 폴더 아래 파일도 테스트 시, 잘 수행됩니다.그런데, 3-login > login.cy.js 파일 클릭 시, 아예 화면이 닫혀버리면서 VSCode 에는 아래와 같은 에러 메시지가 띄워집니다. 계속해서 구글링을 통해 에러를 해결해 보려고 하였으나, 답을 찾기가 어려워 질문 드립니다.!
-
미해결Verilog를 이용한 FPGA 활용 기초
오타 및 내용 수정이 필요합니다.
제목과 같이 오타 및 내용 수정이 필요한 듯하여 내용 남김니다.page. 3오타: clocck -> clock page. 8xc7a35tcsg325-1 로 setting 시 implementaion시 error 발생.이미지 내용대로 xc7a35tcsg324-1 이어야 문제 없음. 시간 많이 까먹었네요 ㅜㅜ.. 열심히 기초 닦고, 다음 step 으로 진행, 보드도 구매하여 실습으로 ~~~
-
미해결[게임 프로그래머 도약반] DirectX11 입문
D3D11CreateDeviceAndSwapChain이 실패합니다
안녕하세요 루키스님, 덕분에 좋은 강의 잘 듣고 있습니다.이 문제는 두번째 강의에서 직접 실습하다가 발생했습니다.D3D11CreateDeviceAndSwapChain 함수 실행 후에 hr에 0x887A0001가 담긴 것을 확인하고 검색해봤더니 공식 문서에 "애플리케이션에서 잘못된 매개 변수 데이터를 제공했습니다. 애플리케이션이 해제되기 전에 디버그하고 수정해야 합니다."라고 적혀있었습니다.그런데 저는 루키스 님의 코드와 완전히 동일하게 작성했으며 설정 역시 동일하게 했습니다. 또한 혹시 몰라서 그래픽 툴이 설치되어 있는지도 확인했습니다.프로젝트를 새로 만들고 잘못된게 있나 반복해서 원본이랑 비교 대조를 해봐도 동일한 증상을 보입니다. 반면에 수업자료 파일에 올려주신 솔루션파일은 문제 없이 작동합니다.제가 어떤 것을 놓지고 있는지 감이 안잡힙니다. 이런 에러가 발생하는 전형적인 이유가 무엇인지 궁금합니다. winmain 함수가 있던 파일만 아예 새로 작성하니깐 해결됐습니다. 아마 윈도우 핸들 부분을 잘못 건드렸던 것 같습니다.
-
미해결Kevin의 알기 쉬운 RxJava 1부
CompletableObserver 클래스의 람다식 표현관련
안녕하세요람다식은 인터페이스안에 구현해야할 메소드가 하나만 있을때 사용 가능한것으로 알고있는데completable.subscribeOn(Schedulers.computation()) .subscribe(new CompletableObserver() { @Override public void onSubscribe(Disposable disposable) { // 아무것도 하지 않음 } @Override public void onComplete() { Logger.log(LogType.ON_COMPLETE); } @Override public void onError(Throwable error) { Logger.log(LogType.ON_ERROR, error); } });여기서 CompletableObserver 는 오버라이드 해야할 메소드가 3개나 있는데 어떤 원리로 completable.subscribeOn(Schedulers.computation()) .subscribe( () -> Logger.log(LogType.ON_COMPLETE), error -> Logger.log(LogType.ON_ERROR, error) );이런식으로 람다표현이 가능한건가요?
-
해결됨Flutter 앱 개발 실전
섹션3 - Tile 강의 질문
SettingBottomSheet에서 ThemeServices는 context.read해도 되고, LangService는 context.watch로 해야하는 이유가 무엇인가요? toggleLang, toggleTheme 함수 안에서 똑같이 notifyListeners를 호출하는데 무슨 차이가 있는지 궁금합니다.
-
미해결금융데이터 분석을 위한 판다스 활용법
Table of Contents에 관해 질문이 있습니다.
안녕하세요 강사님. 위 사진과 같이 사이드 부분의 table of contents가 나오지 않는것과 # 판다스를 사용하는 방법이라고 쳤는데 숫자가 나오지 않는 두가지 문제가 발생했습니다..무엇이 문제일까요..?
-
해결됨2025년 CPPG 개인정보관리사 자격증 취득하기 (개정안 반영)
1분 54초 정보주체와 관련된 제3자의 '주관적 평가' 또한 개인정보가 될 수 있음에 대한 예시는 무엇인가요?
제목 그대로입니다. 개인정보의 개요 - 1분 54초정보주체와 관련된 제3자의 '주관적 평가' 또한 개인정보가 될 수 있다는 것에 대한 예문이 없어 정확이 어떤 의미인지 유추해야하는 상황인데, 검색을 해봐도 잘 나오지 않아서 여쭤봅니다.
-
미해결벡터 미적분학 시리즈1 - 미분 기초
2.5 단원 공부중 질문입니다.
17:10 초쯤에 설명하는 부분에서 제가 이해가 명확하지 않아서 질문합니다. 현재 식이 derivative가 아닌 이유는 함수가 R에서 R로 가는 함수가 아니라 R^n에서 R^m 으로 가는 함수라서 그런가요? 아니면 norm이 씌워져 있어서 그런가요? 식 자체만 보면 f가 만약 R to R 함수라면 도함수의 정의와 크게 달라보이지 않는데 어떤 이유때문에 derivertive가 아닌지 강의의 어느 부분을 다시한번 공부해야 할지 알려주시면 감사할 것 같습니다. 앞에 부분도 나름 꼼꼼히 공부하면서 필기도 다 하고 공부하고있는데 어느 부분을 다시 들어야 할지를 잘 모르겠습니다..
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
ReleaseRef 질문이 있습니다!
WraightRef wraight(new Wraight());wraight->ReleaseRef();wraight = nullptr;wraight 에 nullptr을 넣어서 ReleaseRef가 수행하는 도중에 위처럼 (중간에 개입)을 써 놓은 부분에서 다른 WraightRef가 wraight를 참조를 시도한다면 reftCount는 0이 되지만_refCount는 1이 되어서 delete this가 실행이 되면 문제가 발생하지 않나요??
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
[완전탐색 (재귀, 백트래킹) ] 백준 15650, 15649
안녕하십니까 코딩센세!늘 친절한 답변을 달아주심에 감사의 말씀 드립니다. 문제를 복습하다가 오늘은 도저히 진도가 나가지 않아서 힌트를 요청드리고자 이렇게 질문글을 남깁니다.백준 15650을 풀려고 노력중에 있었습니다. 그런데 선생님의 코드를 적용해서 문제를 해결하려 했으나, 중복되는 수열을 거르는 것에서 어려움이 있습니다.원래 백준 15649는 4 2로 N M의 입력이 주어진 경우 출력은 아래와 같아야 하는데요.1 2 1 3 1 4 2 1 2 3 2 4 3 1 3 2 3 4 4 1 4 2 4 3 여기서 백준 15650은 4 2로 N M의 입력이 주어졌을 때,1 2 1 3 1 4 2 3 2 4 3 4 이 둘의 차이를 구현하려고 2시간을 넘게 고민해봐도,[1,1][2,1], [2,2][3,1], [3,2], [3,3][4,1], [4,2], [4,3], [4,4]를 걸러내는 방법을 모르겠습니다. 선생님이 한 번 봐주시면서 피드백 좀 주시면 감사하겠습니다!