묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결'이것이 리눅스다' 저자의 Red Hat CentOS7 리눅스 서버&네트워크 강좌
VMware Workstation 11
안녕하세요. 강의에서 말씀주신대로 설치 과정에 여러 우여 곡절이 있었지만, VMware Workstation 툴은 간신히 설치를 했습니다. 근데 문제는 30일간 해당 이메일로 이용하려고 하는데 ㅜ 자꾸 이렇게만 뜹니다 ㅠㅠ 지우고 다시 깔아야 하나요?
-
해결됨초보자도 할 수 있는 웹 취약점 진단(주요정보통신기반시설)
강의 커리큘럼 문의
안녕하세요. 강의 커리큘럼 내 삭제될 강의로 표시되는 강의들은 새로 업로드를 하실 예정인가요?급하게 취약점 진단 업무를 진행하게되었는데 도움을 받아보고자 해당 강의 수강을 시작하게 되었는데 삭제될 강의로 표시가 되어있는 진단 항목들도 있어 문의드립니다.
-
미해결실전! Querydsl
join table.as() 테이블 이름을 수정 할 수 있나요 ??
안녕하세요 querydsl 공부중인 김준엽 입니다.chatRoom에 member1 member2 연관 관계가 있다면은 querydsl에 .select(chatRoom) .from(chatRoom) .join(chatRoom.member1, member) .join(chatRoom.member2, member) .fetch(); 있다면 .join(chatRoom.member1, member.as(member1) ) 해서 select에 member1.namemember2.name구분 지어서 표현이 가능한가요 ??
-
미해결처음 만난 리액트(React)
Chapter12 Calculaotr.jsx 질문
안녕하세요, 소플님. Chapter12 Calculaotr.jsx 파일에 있는섭씨, 화씨 온도 변환 코드와관련해서 문의드리고 싶은 부분이 있어 글을 남깁니다. 만약 사용자가 섭씨 온도 입력한에 섭씨 온도를 입력했다고 했을 때온도는 temperature 변수에 저장되고, 섭씨 온도를 입력했기에celsius란 변수에 저장됩니다. 또한 scale은 c 입니다. 사용자가 섭씨 온도를 입력했으니 화씨 온도로 바꿔줘야 할 차례인데이 부분부터 잘 이해가 가지 않습니다. const celsius = scale === "f" ? tryConvert(temperature, toCelsius) : temperature; 저는 위의 코드를 섭씨 온도를 화씨 온도로 바꿔주는 부분으로 이해했습니다.하지만 그러기 위해선 scale === f 로 두고, tryConvert(temperature, toCelsius) 로 두는 게 아닌 const celsius = scale === "c" ? tryConvert(temperature, toFahrenheit) : temperature;위의 코드처럼 scale을 c로 두고tryConvert(temperature, toFahrenheit) 로 바꿔줘야사용자가 입력한 섭씨 온도를 화씨 온도로 바꿔줘.가 되는 걸로 이해했습니다. scale을 c로 둔 이유는 사용자가 섭씨 온도를 입력하면온도는 temperature 변수, 그리고 celsius 변수에 저장되며celsisus 변수에 저장되면서 동시에 위의 코드에 의해 scale은 c가 되기에scale을 c로 뒀습니다. const celsius = scale === "c" ? tryConvert(temperature, toFahrenheit) : temperature; 그래서 위에처럼 코드를 작성해야섭씨 온도를 화씨 온도로 바꿔주는 거라고 생각했습니다. 혹시 제가 어떤 부분에서 잘못 생각하고 있는지 알 수 있을까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
체크박스 궁금한 게 있어서 글남겨요
기존에 개발 공부 했을 때는체크박스 속성에value="hobby1"value="hobby2"value="hobby3" 이렇게 넣어서 사용했거든요.그럼 값 잘 넘어가고 그랬는데 boolean으로 해서 true, null이렇게 하는 이유가 있나요? 궁금해서 글 남겼습니다.
-
미해결스프링 핵심 원리 - 기본편
내부 클래스 static 질문입니다.
@Configuration @ComponentScan( includeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = MyIncludeComponent.class), excludeFilters= @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = MyExIncludeComponent.class) ) class ComponentFilterAppConfig{ } } 이 코드 static class ComponentFilterAppConfig{ }에서 static 이 있는 이유가 궁금하여 빼서 돌려보니org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'componentFilterAppConfigTest.ComponentFilterAppConfig': Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'hello.core.scan.filter.ComponentFilterAppConfigTest' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}이런 오류가 나왔습니다.구글링을 해보니 제생각에는CommponentFilterAppConfigTest.class에서 빈을 찾지 못하여 발생한 것 같은데 보통 어노테이션을 지정하지 않으면 이런 오류가 나온다고 하더군요https://sas-study.tistory.com/385하지만 저는 단지 static 만 뺏을 뿐인데 이런 오류가 왜 나는지 궁금했습니다.마우스를 올려보니Inner class 'ComponentFilterAppConfig' may be 'static'이런 글이 있었습니다.그래서 찾아보니 https://siyoon210.tistory.com/141'외부 참조'로 인한 단점때문에 내부 클래스는 가능한 static으로 만들어야 합니다. 라고 하고'외부 참조'로 인한 2가지 단점은아래 와 같다고 하더군요참조값을 담아야 하기 때문에, 인스턴스 생성시 시간적, 공간적으로 성능이 낮아진다.외부 인스턴스에 대한 참조가 존재하기 때문에, 가비지 컬렉션이 인스턴스 수거를 하지 못하여 메모리 누수가 생길 수 있다.그러면 종합에서 생각한게 빈을 찾지 못하는건 외부참조가 가능해서인가? 라는 의문이 들었습니다.그리고 정확한 이유가 궁금해졌습니다.<전체 코드>public class ComponentFilterAppConfigTest { @Test void filterScan(){ ApplicationContext ac = new AnnotationConfigApplicationContext(ComponentFilterAppConfig.class); BeanA beanA = ac.getBean("beanA", BeanA.class); assertThat(beanA).isNotNull(); assertThrows( NoSuchBeanDefinitionException.class, () -> ac.getBean("beanB", BeanB.class)); } @Configuration @ComponentScan( includeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = MyIncludeComponent.class), excludeFilters= @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = MyExIncludeComponent.class) ) static class ComponentFilterAppConfig{ } }정리하자면 이 코드에서 static class ComponentFilterAppConfig{ } 가 static 이 없으면 왜 오류가 나는지 궁금합니다.
-
미해결홍정모의 따라하며 배우는 C언어
15.11 비트필드의 패딩
int main(){ struct { bool member1 : 1; bool member2 : 1; unsigned long long : 0; }none; printf("%zu bytes", sizeof(none)); return 0;} 해당 코드를 통해 강의에서와 같이 16bytes가 출력 되는지 확인해봤습니다. 그러나 16bytes가 아닌 8bytes가 출력되더군요. 이유를 알 수 있을까요?
-
미해결[입문자를 위한 UE5] Part1. 언리얼 엔진 블루프린트
로또번호 생성기 질문
저도 어느 분과 같이 012345로 나옵니다. 몇 번을 해 봐도 그러네요.그리고 수업에 보면 Print Text 노드를 연결 안했는데도 어떻게 번호가 출력되는 거죠?
-
해결됨만들면서 배우는 프론트엔드 DO IT 코딩 (Next.js, Typescript)
강의 관련 질문입니다!
members.add.ts 25번째 줄에 return이 없어도 괜찮은건가요?또 개인적인 생각으로는 api를 호출하는 부분에서 axios를 사용하면 코드가 더 간단해질 것 같은데 fetch가 사용된 이유가 있을까요?바쁘실텐데 여러 사소한 질문들 드려서 죄송합니다.
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
Token 관련 질문 드립니다.
안녕하세요. 학습중 궁급해서 질문 드립니다. test@codefactory.ia:testtest 이 부분을 인코딩하고 포스트맨에서 로직 검사를 여러번 시험해보면서 username 즉 ID값을 다르게 변경해도 패스워드만 정확하게 맞다면 accessToken 과 refreshToken을 받을 수 있었습니다.Password부분 같이 값이 같아야 토큰을 받을 수 있는건데 ID값은 달라도 왜 토큰 값이 받아지는 거죠? 사진은 ID값을 다르게 해서 토큰을 받은 겁니다.
-
해결됨설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
Vivado simulation 단축키
안녕하세요 간단한 질문드립니다.시뮬레이션을 확인할 때 마우스 근처에 있는 노란색의 실선과 점선을 어떻게 동시에 나타낼 수 있는 건가요? 또한 시뮬레이션 단축키 및 조작방법을 익힐 수 있는 링크 추천해주신다면 감사하겠습니다.감사합니다.
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
다음과 같은 error가 나는데 원인을 못찾겠네요..
구글링 해봐도 잘 나오지 않는데, 혹시 해결방법이 있을까요? 여기에 ChromeDriverManager().install() 이부분이 명암처리 되는거 보면, 여기서 에러 나는거 같은데, 확인좀 부탁드리겠습니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
4 : 48초에 쿼리 날라가는 거 질문입니다.
제가 셋팅을 다르게 한 건지 모르겠는데콘솔창에 create, insert쿼리는 뜨는고업데이트 쿼리는 따로 안 뜨는데이유를 알 수 있을까요?try { Address address = new Address("city", "street", "zipcode"); Member member1 = new Member(); member1.setUsername("member1"); member1.setHomeAddress(address); member1.setWorkPeriod(new Period()); Member member2 = new Member(); member2.setUsername("member2"); member2.setHomeAddress(address); member2.setWorkPeriod(new Period()); member1.getHomeAddress().setCity("newCity"); em.persist(member1); em.persist(member2); tx.commit();이건 똑같이 작성했씁니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
연속된 자연수의 합(수학) - 이렇게 풀어도 괜찮을까요?
public int solution(int n) { int answer = 0, sum = 0, lt = 1; for(int rt=1; rt <= n/2+1; rt++) { sum += rt; if(sum == n) answer++; while(sum >= n) { sum -= lt++; if(sum == n) answer++; } } return answer; }이렇게 해도 정답이 되었습니다. 문제가 풀리긴 했지만 좋은 답인지는 잘 몰라서 문의드립니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
<p> 태그의 나머지 문자 안보이는 이유
view 환경설정 강의에서 hello.html 소스 내 <p> </p> 태그 내 "안녕하세요 손님" 문자는 브라우저에서 안보이는 이유가 무엇인지 궁금합니다.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
그래프와 탐색- 4. 미로탐색 시간복잡도 관련
안녕하세요 항상 좋은 강의 잘 듣고 있습니다!선생님께서 가르쳐주신 풀이 방식이 생각한대로 나름 직관적(?)이여서 다른 문제에서도 잘 사용하고 있는데 아무래도 재귀방식이다보니 시간복잡도에서 시간초과가 발생합니다. 이러한 DFS 방식에서 시간복잡도를 낮추는 방법이 있을까요?또한 선생님께서는 이러한 문제 풀때 시간복잡도 관련해서 어떻게 해결하시나요?(예를들어 다른 풀이방식을 선호한다던지.. 등등)
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
이분검색 while문 조건
안녕하세요 강사님 수업을 듣다가 궁금한 점이 생겨서 질문드립니다.while문의 조건이 lt<=rt: 인데 lt>rt가 되는 경우는 탐색이 완료되는 동안에는 없을것같아서 while문의 조건을 true로 하고 실행 시켜봤는데 채점프로그램을 돌려보면 오류가 발생합니다.true가 아니라 lt<=rt를 써야되는 이유가 어떤 상황일까요
-
미해결마케터를 위한 구글 애널리틱스 실무
강의북 요청
안녕하세요! 강의북 pdf 파일로 요청드립니다! jpejhp@gmail.com
-
미해결스프링 핵심 원리 - 기본편
프로젝트 생성 관련 질문있습니다.
안녕하세요. 혹시 스프링 프로젝트를 새로 만들 때마다 initializer로 매번 generate을 해서 라이브러리를 매번 다운 받아야 하는 걸까요???
-
해결됨리눅스 커널 해킹. A부터 Z까지
Kernel KPTI 적용시 영향?
/mnt/c/Users/msh/Desktop/stack_based_BOF 1m 26s ❯ grep ": mov rdi, rax ; rep" ./gadgets.txt 0xffffffff8145a958 : mov rdi, rax ; rep movsb byte ptr [rdi], byte ptr [rsi] ; jmp 0xffffffff8145a368 0xffffffff814747df : mov rdi, rax ; rep movsb byte ptr [rdi], byte ptr [rsi] ; jmp 0xffffffff81474961 0xffffffff81479c79 : mov rdi, rax ; rep movsb byte ptr [rdi], byte ptr [rsi] ; jmp 0xffffffff81479cd8 0xffffffff8150a792 : mov rdi, rax ; rep movsb byte ptr [rdi], byte ptr [rsi] ; jmp 0xffffffff8150a391 0xffffffff81b08ab4 : mov rdi, rax ; rep movsb byte ptr [rdi], byte ptr [rsi] ; jmp 0xffffffff81b08a75 0xffffffff82a213e5 : mov rdi, rax ; rep movsb byte ptr [rdi], byte ptr [rsi] ; jmp 0xffffffff82a212b9 0xffffffff82a48d7c : mov rdi, rax ; rep movsb byte ptr [rdi], byte ptr [rsi] ; jmp 0xffffffff82a48d92 0xffffffff81b098e6 : mov rdi, rax ; rep movsb byte ptr [rdi], byte ptr [rsi] ; pop rbx ; pop rbp ; ret 0xffffffff82a081f0 : mov rdi, rax ; rep movsd dword ptr [rdi], dword ptr [rsi] ; ret 0xffffffff81132ad8 : mov rdi, rax ; rep movsq qword ptr [rdi], qword ptr [rsi] ; jmp 0xffffffff81132970 0xffffffff81b2413b : mov rdi, rax ; rep movsq qword ptr [rdi], qword ptr [rsi] ; retgef➤ x/10xi 0xffffffff82a081f0 0xffffffff82a081f0: Cannot access memory at address 0xffffffff82a081f0 gef➤ x/10xi 0xffffffff81132ad8 0xffffffff81132ad8: mov rdi,rax 0xffffffff81132adb: rep movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] 0xffffffff81132ade: jmp 0xffffffff81132970 0xffffffff81132ae3: call 0xffffffff81b26270 0xffffffff81132ae8: nop DWORD PTR [rax+rax*1+0x0] 0xffffffff81132af0: push r15 0xffffffff81132af2: push r14 0xffffffff81132af4: push r13 0xffffffff81132af6: mov r13,rdi 0xffffffff81132af9: push r12KPTI가 적용된 커널에서 일부는 주소를 찾아도 gdb로 확인을 할 수 없는데, 왜 그런건가요?user level에서 page table이 줄어들어서 특정 부분이 빠지다보니, 그 가젯이 있는 부분도 빠져서 안보이는거 같은데, 약간 이상한거같습니다.[ Legend: Modified register | Code | Heap | Stack | String ] ───────────────────────────────────────────────────────────────────────────────────────────────────────── registers ──── $rax : 0xffffffff81b2c390 $rbx : 0x0 $rcx : 0x0 $rdx : 0x22a $rsp : 0xffffffff82403eb0 $rbp : 0x0 $rsi : 0x83 $rdi : 0x0 $rip : 0xffffffff81b2c3ae $r8 : 0xffff88801f01dec0 $r9 : 0x200 $r10 : 0x0 $r11 : 0x2f7 $r12 : 0x0 $r13 : 0x0 $r14 : 0x0 $r15 : 0x0 $eflags: [ZERO carry PARITY adjust sign trap INTERRUPT direction overflow resume virtualx86 identification] $cs: 0x10 $ss: 0x18 $ds: 0x00 $es: 0x00 $fs: 0x00 $gs: 0x00 ───────────────────────────────────────────────────────────────────────────────────────────────────────────── stack ──── [!] Unmapped address: '0xffffffff82403eb0' ─────────────────────────────────────────────────────────────────────────────────────────────────────── code:x86:64 ──── 0xffffffff81b2c3a5 verw WORD PTR [rip+0x4d94d6] # 0xffffffff82005882 0xffffffff81b2c3ac sti 0xffffffff81b2c3ad hlt → 0xffffffff81b2c3ae mov ebp, DWORD PTR gs:[rip+0x7e4e4fab] # 0x11360 0xffffffff81b2c3b5 nop DWORD PTR [rax+rax*1+0x0] 0xffffffff81b2c3ba pop rbx 0xffffffff81b2c3bb pop rbp 0xffffffff81b2c3bc pop r12 0xffffffff81b2c3be ret ─────────────────────────────────────────────────────────────────────────────────────────────────────────── threads ──── [#0] Id 1, stopped 0xffffffff81b2c3ae in ?? (), reason: SIGINT ───────────────────────────────────────────────────────────────────────────────────────────────────────────── trace ──── [#0] 0xffffffff81b2c3ae → mov ebp, DWORD PTR gs:[rip+0x7e4e4fab] # 0x11360 ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── gef➤ x/10xi 0xffffffff82a081f0 0xffffffff82a081f0: Cannot access memory at address 0xffffffff82a081f0혹시 몰라서 qemu script에서 qemu64로 바꿔서 kpti를 끄고 gdb를 달아서 테스트를 해봤더니, 이상하게 나오네요.$r12 : 0x0 $r13 : 0x0 $r14 : 0x0 $r15 : 0x0 $eflags: [ZERO carry PARITY adjust sign trap INTERRUPT direction overflow resume virtualx86 identification] $cs: 0x10 $ss: 0x18 $ds: 0x00 $es: 0x00 $fs: 0x00 $gs: 0x00 ───────────────────────────────────────────────────────────────────────────────────────────────────────────── stack ──── [!] Unmapped address: '0xffffffff82403eb0' ─────────────────────────────────────────────────────────────────────────────────────────────────────── code:x86:64 ──── 0xffffffff81b2c3a5 verw WORD PTR [rip+0x4d94d6] # 0xffffffff82005882 0xffffffff81b2c3ac sti 0xffffffff81b2c3ad hlt → 0xffffffff81b2c3ae mov ebp, DWORD PTR gs:[rip+0x7e4e4fab] # 0x11360 0xffffffff81b2c3b5 data16 data16 data16 xchg ax, ax 0xffffffff81b2c3ba pop rbx 0xffffffff81b2c3bb pop rbp 0xffffffff81b2c3bc pop r12 0xffffffff81b2c3be ret ─────────────────────────────────────────────────────────────────────────────────────────────────────────── threads ──── [#0] Id 1, stopped 0xffffffff81b2c3ae in ?? (), reason: SIGINT ───────────────────────────────────────────────────────────────────────────────────────────────────────────── trace ──── [#0] 0xffffffff81b2c3ae → mov ebp, DWORD PTR gs:[rip+0x7e4e4fab] # 0x11360 ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── gef➤ x/10xi 0xffffffff82a081f0 0xffffffff82a081f0: int3 0xffffffff82a081f1: int3 0xffffffff82a081f2: int3 0xffffffff82a081f3: int3 0xffffffff82a081f4: int3 0xffffffff82a081f5: int3 0xffffffff82a081f6: int3 0xffffffff82a081f7: int3 0xffffffff82a081f8: int3 0xffffffff82a081f9: int3 gef➤vmlinux를 잘못 추출한건가 싶어서 다시 추출해봤는데도 이상합니다.