묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨프론트엔드 개발자를 위한, 실전 웹 성능 최적화(feat. React) - Part. 2
안녕하세요 리액트 최적화 관련하여 질문드립니다.
안녕하세요. 웹 최적화 파트1,2 수강자입니다. 수강을 하면서 웹에 대해 최대한 성능 좋게 개발을 꾸준히 하려고 노력하고 있습니다. 이에 따라 여러 가지 고민이 되는 부분이 생겨서 해당 카테고리와는 크게 관련성은 없지만 여기에 글을 올려봅니다. 궁금증 1. useMemo, useCallback 관련하여 질문드리고 싶습니다. memoization을 통해 불필요한 렌더링을 줄일 수 있는 장점을 가지고 있어 위와 같은 훅을 잘 사용해보려합니다. 하지만 효율적으로 사용을 해야 메모리 적으로 봤을 때 문제가 되지 않을거같아 고민을 하는 찰라에 많은 개발자분들이 단순히 useState에서 set하는 부분만을 useCallback에 담아서 사용하는거 같더라구요. 예를 들어 const [ isOpen, setIsOpen = useState<boolean>(false); const callback = useCallback( () => {setIsOpen(true)}, []); 이런 식으로요. 하지만 제 생각에는 이렇게 작은 것도 다 넣으면 모든게 메모리에 올라가게 되어 메모리 낭비인가 라는 생각이들었습니다.이러한 작은 것들도 다 useMemo나 useCallback 을 적용하는 것이 메모리적인 관점에서 보는 것보다 렌더링에 이점을 주는 것이 더 큰가라는 생각이 듭니다. 혹시 이 부분에 대해 피드백 해주시면 감사하겠습니다. 궁금증 2. 많은 input에서의 onChange에 따른 렌더링 회원가입 폼과 같이 input 굉장히 많은 경우 여기에 onChange Event에 따라 회원정보가 set이 되고 타이핑할 때마다 리렌더링이 된다는 생각이 과하다는 생각이들어서 질문 드립니다. 그래서 제가 생각해본건 useRef로 모든 input에 접근하고 회원가입 버튼 눌렀을 때 한번에 input value 를 가져와서 한번만 set을 하는게 낫지않을까 라는 생각도 들었습니다. 위와 같은 생각이 잘못되었는지, 혹은 onChange에 따라 set을 다해도 가상돔으로 비교해서 전체 다 그려주는게 아니기 때문에 큰 이슈는 되지않아 그냥 사용해도 될지에 대해 궁금합니다. 답변해주시면 정말 감사하겠습니다.
-
미해결젭(ZEP) 메타버스 월드 만들기
그럼 3D 모델링도 적용할 수 있을까요?
제가 스케치업, 블렌더, 맥스, 마야 등등을 할 줄 아는데 그것으로 넣고 싶은데 꼭 이미지로만 출력해서 넣어야 하나요?
-
미해결Flutter 초급 - Http통신, 상태관리
강의를 보다 listview 기능에 의문이 생겨 질문드립니다.
안녕하세요. 입문강의 시청 후 중급강의 시청 도중 의문이 생겨 질문 남겨봅니다. ListView 를 사용하여 수백 수천개의 많은 수의 child를 생성하면 많이 버벅이더라구요. 이 부분은 원인을 찾았고 ListView.builder로 해결했지만 ListView builder를 사용하므로 다른 문제가 생겼습니다. TabView 내부의 ListView builder를 사용하여 많은 child가 생성된 경우 다른탭으로 이동후 해당 탭으로 복귀 시 지연시간이 오래 걸리더라구요. 아마 많은 child를 랜더링한다고 생기는문제인거같은데 공식문서에 따르면 builder를 사용해야 재사용된다고 하던데 이 문제는 어떻게 해결할 수 있나요? - 많은 child를 가지고 있는 TabBar 내부의 한화면이 Tab을 이동 후 복귀해도 해당 포지션을 유지하고 Tab접환 시 지연이 없도록 하는 방법이 궁금합니다. (itemExtent를 통해 높이를 고정해주는 방법이 있던데 각각의 child의 높이를 다르게 설정하고 싶습니다.)
-
미해결대세는 쿠버네티스 (초급~중급편)
ingress의 트래픽 룰도 설정할수 있을까요?
worker1, 2번에 echo용 nginx를 8080포트로 구동했습니다. ingress는 nodeport로 구성해서 worker1번으로 요청했는데 worker2번의 echo용 nginx로 밸런싱 되더라구요 확인해보니까 echo용 nginx의 서비스에 설정된 endpoint(실제 pod ip)를 ingress가 차용하는것 같습니다. 혹시 externalTrafficPolicy: Local 정책처럼 해당 노드에서 전부 처리되게 ingress 룰을 바꿀 수 있을까요? ex) worker 1의 ingress nodePort -> worker 1의 echo용 nginx pod 검색해도 안나와서 여쭤봅니다 ㅠㅠ
-
미해결웰컴 투 태블로 월드
매개변수관련 질문건입니다
태블로 기본 강의 잘 듣고 있습니다. 강의 중 예제로 나온 [Top Customer by Profit] 은 어떻게 생성해야 하는지요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
userRepository에 있는 Query는 어떻게 사용하는건가요?
강의 8분10초에있는..1. 저 쿼리를 언제사용하는지, 2. 사용법은어떻게 되는지 궁금해요 이름이 없으면 어떻게 사용하나요?저 문서를 참고해보려고 해당 url로 접속해보려고했는데 접속이 안되네요
-
미해결프리다(Frida)를 이용한 안드로이드 앱 모의해킹
frida usb 인식
안녕하세요 frida 수업 듣던 도중 질문남기게 되었습니다. nox_adb devices 명령어를 통해 연결 확인하였고 nox_adb shell 에서 frida 백그라운드로 실행하였습니다. frida 버전 동일하게 맞춰줬습니다. 하지만 frida-ls-deviecs 명령어를 통해선 선생님 화면 같이 usb로 뜨질 않습니다. 그래도 open 함수라던지 다 되길래 수업을 듣던중 frida-kill -U pid 나 com.android.chrome 같은 명령어가 되질 않습니다. 어떤 문제인가요 !?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
username을 찾을 수 없다는 오류
username을 userName으로 다 바꿔도 찾을수없다는오류뜨는데 원인이뭘까요;;
-
미해결그림으로 배우는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
디플로이먼트에서의 metadata와 spec
안녕하세요! 디플로이먼트에서 metadata와 spec의 차이에 대해 궁금한 점이 있어 질문 드립니다. 파드에서 metadata와 spec은 각각 파드에 대한 정보, 컨테이너에 대한 정보로 이해를 하였는데요. 디플로이먼트에서 metadata와 spec은 비슷하지만 다른 정보를 가지고 있는 것 같습니다. 여기서 metadata는 디플로이먼트에 대한 정보를 의미하는 거 같은데, spec은 파드를 복제할 때 필요한 정보를 가지고 있는 것이라고 이해해도 될까요? 강사님 말씀을 듣고 공식문서를 찾아보니 쿠버네티스 시스템은 그 디플로이먼트 spec을 읽어 spec에 일치되도록 상태를 업데이트하여 3개의 의도한 애플리케이션 인스턴스를 구동시킨다라고 되어있는데 제가 이해한 부분이 맞는지 질문드립니다! 항상 좋은 강의 감사합니다!
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
assertj의 Assertions 를 못가져옵니다..ㅠㅠ
assertj의 assertThat을 사용하시는데...저는 임포트가 안됩니다. 아래는 MemberRepositoryTest 소스입니다. package jpabook.jpashop;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.context.junit4.SpringRunner;import static org.junit.Assert.*;import static org.assertj.core.api.Assertions;@RunWith(SpringRunner.class)@SpringBootTestpublic class MemberRepositoryTest { @Autowired MemberRepository memberRepository; @Test public void testMember() throws Exception { // given Member member = new Member(); member.setUsername("memberA"); // when Long saveId = memberRepository.save(member); Member findMember = memberRepository.find(saveId); // then// Assertions.assertThat(findMember.getId()).isEqualTo(member.getId()); }} 강의에서는 junit을 따로 gradle에 추가해주시지 않았지만 저는 RunWith 등의 오류가 나서 gradle에 junit을 추가해주었습니다. 같은 방식으로 assertj를 추가해주었는데.. Assertions를 사용하진 못하고 있습니다. build.gradle 입니다. plugins { id 'org.springframework.boot' version '2.6.5' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java'}group = 'jpabook'version = '0.0.1-SNAPSHOT'sourceCompatibility = '11'configurations { compileOnly { extendsFrom annotationProcessor }}repositories { mavenCentral()}dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-devtools' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testImplementation 'junit:junit:4.12' testImplementation 'org.assertj:assertj-core:3.21.0'// testImplementation group: 'org.assertj', name: 'assertj-core', version: '3.21.0'// implementation 'junit:junit:4.12'}tasks.named('test') { useJUnitPlatform()}
-
해결됨Vue로 Nodebird SNS 만들기
Nginx Cookie 설정
안녕하세요. 현재 강의를 수강 중에 https 설정 후 발생하는 문제가 있어서 질문드립니다. 현재 모든 강의를 수강하고 SSL 인증서를 적용하는 제로초님 블로그의 글을 따라 하고 있는데로그인은 되지만 로그아웃이 되지 않는 현상이 발생합니다.개발자도구 - 네트워크에 응답으로 withcredential 예외 응답이 오는 걸로 봐서는 쿠키 설정에 문제가 있는 것으로 추측됩니다.(Nginx 설정은 블로그에 있는 설정에 도메인만 바꿔서 적용하였고 다른 부분은 바꾼 것이 없습니다.)Nginx 설정에 쿠키를 보낼 수 있도록 적용하면 될거 같은데 혹시 다른 문제이진 않은가 걱정이 되어 글을 남깁니다.또한 혹시 https를 적용하고 또 설정해줘야 하는 부분이 짐작되는 것이 있으시다면 조언해주시면 감사하겠습니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
파일전송 할 때, 메세지 바디 출력
<!DOCTYPE HTML><html xmlns:th="http://www.thymeleaf.org"><head> <meta charset="utf-8"></head><body><div class="container"> <div class="py-5 text-center"> <h2>상품 등록 폼</h2> </div> <h4 class="mb-3">상품 입력</h4> <form th:action method="post" enctype="multipart/form-data"> <ul> <li>상품명 <input type="text" name="itemName"></li> <li>파일<input type="file" name="file" ></li> </ul> <input type="submit"/> </form></div> <!-- /container --></body></html> @PostMapping("/add")public String saveFileV1(HttpServletRequest request) { try { ServletInputStream inputStream = null; inputStream = request.getInputStream(); System.out.println(inputStream.read()); byte[] bytes = inputStream.readAllBytes(); for (byte aByte : bytes) { System.out.print(aByte); } } catch (IOException e) { e.printStackTrace(); } return "page";} 안녕하세요. 파일전송 할 때, 메세지 바디 출력하려고 하는데 빈문자열이 출력되어서 질문드립니다. 몇가지 단서를 알려드리면 1. request.getParamter("itemName") 하면 올바르게 출력 됩니다. 2. request.getContentType() 하면 multipart/data-form 잘 출력 됩니다. 3. inputStream.read() 해서 읽으려하면 -1 출력됩니다.(메세지 바디에 전송된게 없다는 거겠죠?..; 근데 파라미터로는 읽었다니요) 몇시간 째 풀리지 않고 있는데 도와주세요 ㅠㅠㅠ
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
mappedby질물
6분 30초 Team.java에 양방향 매핑 설명하실때 mappedBy = "team"으로 주신 부분이 있는데 team으로 명시해도 되는 이유가 현재 team객체와 member객체가 유니크해서 그런건가요?? 만일 Entity들이 테이블과 매핑되어있지않거나 엔티티의 객체들이 유니크하지 않다면 어떻게 해야 할까요?
-
미해결Do it! 자바 프로그래밍 입문 with 은종쌤
브레이크문
제어흐르이해하기2 에서 39분에 브레이크문은 if에 대한건가요? while에 대한건가요? if에 대한거면 while에서 무한루프되어서 프린트문 실행되지 않지 않나요?
-
미해결우디의 포토샵 강좌
레이어 마스크 작동이 잘 안됩니다.
안녕하세요 포토샵 강의를 듣기 시작한 학생입니다. 제가 쓰는 포토샵 버전이 CS6인데요 레이어 마스크 부분에서 레이어 마스크 창 띄우고 까만색 브러쉬를 사용해서 강의해주신 내용 그대로 지우기를 할려는데, 제 컴퓨터에선 몇번을 해도 브러쉬 자체가 기능을 안하더라구요.. 이게 버전에 문제 일까요? 아니면 컴퓨터 성능에 문제일까요?? 해결할 수 있는 방법이 있을까요??
-
미해결Flutter 중급 1편 - 클린 아키텍처
insert 시 viewmodel내 모델 클래스를 이용한 insert data 준비?
안녕하세요. 강사님.. 덕분에 강의 잘 듣고 개별 프로젝트도 잘 진행하고 있는데요 몇가지 질문을 드릴려고 합니다. 1. note를 신규로 insert 할때 add_edit_view_model에서 파라미터로 전달받은 id, title, content 를 가지고 신규 note를 만들어서 insert를 하고 있는데요 제가 지금 만들려고 하는 앱에서는 등록을 하는 페이지가 3개로 나누어져 있습니다. 1번페이지에서는 type 을 위한 값을 셋팅하고 2번 페이지에서는 기본정보(이름, 제목, 라디오 버튼 값, 이미지 경로) 3번 페이지에서는 부가정보 (체크박스를 통한 값, 소개글 등등) 이렇게 등록하는 페이지가 한페이지가 아닌 3 페이지로 나누어져 있고 3페이지에 입력된 모든 값을 이용해서 마지막페이지에서 등록을 시키려고 하는데요 이런경우에도 강사님께서 개발하신 방법처럼 addEditNoteViewModel내 color를 선언하시고 이용했던것 처럼 각 input 값, radio값, 체크박스, 이미지 경로등 여러가지 변수를 선언해두고 유사한 방식으로 해야 할까요? 이렇게 되면 선언해지는 변수가 많아지게 되어서요.. 아니면 note 라는 빈 모델을 생성해두고 각 등록페이지에서 입력된 값을 계속 이벤트?로 받아서.. 빈모델에 하나씩 채워가고 이를 나중에 최종 저장할때 사용하는 방식으로 해도 될까요? 이게 맞다면 이를 위한 예제를 한번 보여주시면 정말 감사하겠습니다. 2. 그리고 3개의 페이지로 나누어진 등록화면에서 각 1개의 등록페이지에서 입력된 값을 계속 저장해두고 2페이지 -> 1페이지, 3페이지 -> 2페이지로 넘어갔을때 이전 페이지에 입력한 값을 그대로 유지 시켜서 노출하고 싶은데 이럴때는 input에 입력된 값을 viewmodel내 빈 model을 만들어 담아두고 사용해야 할까요?? 두서 없이 질문을 좀 드렸는데 답변 부탁드리겠습니다. 감사합니다.
-
미해결사물인터넷 통신은 내 손에 (Arduino, MQTT, Nodejs, MongoDB, Android,VS Code)
mosquitto 설치부터 null 값이 받아지네요
cmd 창 관리자모드로 실행하고 혹시나 공유기 문제인가해서 wifi도 세번이나 바꿨는데 (도서관 wifi, 내폰 테더링 2.4g wifi, kt wifi) 여전히 null값만 샌딩 리시브네요. 아 서비스는 실행중이였구요. 방화벽도 싹다 꺼놨습니다. 커뮤니티 싹다 훑었구요.. 구글링해도 답이 안나오네요.... 어떻게 해야 되나요?? 그렇다고 윈도우 2019버전하고 mosquitto 2019 버전을 깔수도 없구요;;;
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
저장방식에 대해 궁금한점이 있어요
강좌를 들으면서 공부할 때 항상 앤티티매니저를 통해서 DB와 상호작용을 하셨던 것 같은데 어떤 예제에서는 DB와 상호작용할 때 JpaRepository를 상속받아서 하시더라구요.. 찾아봐도 이해가 잘 안갑니다 ㅠㅠ 둘 간의 어떤차이가 있는건지.. 어떤 한 방식이 옛날방식인건지.. 또 엔티티매니저를 매개변수로 넣어야할 때 JpaRepository는 어떻게 넣어야하는지.. 이런 부분들이 너무 궁금합니다..
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
vue js 에서 i태그 onclick 이벤트가 동작하지 않습니다.
제목이 곧 내용입니다.. 저만 이런게 아니라 모든 학생이 이런것 같은데 아닌가요?
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
실습 코드는 어떻게 활용하는 것이 좋을까요 ?
하나씩 따라 타이핑 하면서 같이 구현해보면 될까요 ?? 강사님이 의도하신 부분이 궁금합니다 ..!!