묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
- 
      
        
    해결됨[리뉴얼] React로 NodeBird SNS 만들기
toolkit을 사용 ssr설정 질문입니다
https://github.com/ZeroCho/react-nodebird/blob/master/toolkit/front/pages/index.js여기 코드를 가져와서 ssr을 설정했습니다front 코드 에러로 Error: Hydration failed because the initial UI does not match what was rendered on the server.Error: There was an error while hydrating. Because the error happened outside of a Suspense boundary, the entire root will switch to client rendering.이렇게 두개가 나오는데 이걸 어떻게 해결할지 잘 모르겠습니다 initaial UI 에러라길레initialState: { user: { ...userInitialState, me: myInfo, }, post: { ...postInitialState, mainPosts: posts, hasMorePosts: posts.length === 10, }, },주석 처리 되어있는 이부분을 어떻게 해야되는거 같은데 잘 모르겠습니다
 - 
      
        
    미해결취미로 해킹#2(해커의 컴퓨팅)
와이파이 감청 수업
NDK3 가 깔리지 않습니다...
 - 
      
        
    미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
2023.08.10 기준 Spring Boot 3버전 대 Security Config 설정 파일 공유합니다.
@Configuration @EnableWebSecurity @RequiredArgsConstructor public class WebSecurity { private final UserService userService; private final BCryptPasswordEncoder bCryptPasswordEncoder; private final Environment environment; @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http.csrf(AbstractHttpConfigurer::disable) .authorizeHttpRequests(request ->{ request.requestMatchers(antMatcher("/actuator/**")).permitAll(); request.requestMatchers(antMatcher("/**")).permitAll();}) // .headers(header -> header.frameOptions( // frameOptionsConfig -> frameOptionsConfig.disable())) .apply(new MyCustomSecurity()); return http.build(); } public class MyCustomSecurity extends AbstractHttpConfigurer<MyCustomSecurity, HttpSecurity> { @Override public void configure(HttpSecurity http) throws Exception { AuthenticationManager authenticationManager = http.getSharedObject( AuthenticationManager.class); AuthenticationFilter authenticationFilter = new AuthenticationFilter(authenticationManager, userService, environment); http.addFilter(authenticationFilter); } protected void configure2(AuthenticationManagerBuilder auth) throws Exception { auth.userDetailsService(userService).passwordEncoder(bCryptPasswordEncoder); } } }해당 코드는 앞 내용까지 포함하여 설정이 적용된 버전입니다. 저같은 경우는 처음부터 mysql로 진행하여서 h2 콘솔을 사용하지 않아 frameOptions를 주석처리 하였으나, 혹여나 h2 콘솔 사용하시는 분은 주석 해제 후 사용하시면 되고, 23.08.10 기준으로 hasIpAddress는 사용 불가능합니다.
 - 
      
        
    미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
spring boot 3버전대에서 metrics에서 정보 안나오는 문제 해결
@Configuration @EnableAspectJAutoProxy public class MetricsConfig { @Bean public TimedAspect timedAspect(MeterRegistry registry) { return new TimedAspect(registry); } }해당 config 파일을 추가해주세요.
 - 
      
        
    미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-H
TRACE하는 방식에서 헤매다가 큰돌님의 코드를 봤습니다! 그런데 만약 prev[next] = now 부분에최단거리가 아닌 경우의 값이 now에 들어가게되면 이 값들을 tracing 할 경우 최단거리가 아닌 경우의 값을 tracing 하는 것 같은데 어째서 prev[next] 쪽의 코드가 최단거리인 경우의 prev 값만 저장하는 것인지 알 수 있을까요??최단거리 값의 정답이 4인 문제라고 가정할 때제가 bfs를 돌렸을 때 최단거리 값이 6이나온 상태에서 here == k 라는 while문의 기저 사례 코드를 만나 종료가 됐다고 가정하면, prev[목적지]에 저장된 값들을 tracing 하면 4인 정답의 경로를 trace 하는 게 아니라 6인 정답의 경로를 trace하는 것 같아서 질문 드립니다!
 - 
      
        
    해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
구상클래스에서 인터페이스 변수를 선언한 이유가 혹시 다형성과 관련이 있나요?
클래스의 상속과 관련된 다형성은 부모객체로 인스턴스를 생성하여 부모클래스의 메소드와 자식클래스 메소드 2가지를 업/다운캐스팅하여 자유롭게 호출할 수 있지만, 단일상속이라는 한계때문에 다른 부모클래스의 메소드는 호출할 수가 없잖아요? 그래서 인터페이스가 존재하는 이유구요.마찬가지로, 인스턴스를 생성할 때 다형성을 활용하여 인터페이스 객체(부모 객체)로 생성할 수는 있지만, 이것은 ISP(Interface Segregation Principle)원칙에 따라 detect(), report() 2개의 메소드를 호출하려면 Detectable, Reportable 객체 2개를 생성해야 하기 때문에 메모리가 효율적으로 관리되지 못하는거구요. 따라서 구상클래스인 FactoryCam에서 인터페이스 변수를 직접 생성하고 setter함수로 필요한 인터페이스 변수를 주입한 다음(Dependency Injection) , 주입당한 객체는 인터페이스에 의존하기 때문에(Reportable, Detectable) 동시에 기능이 다른 2가지 메소드를 호출할 수 있는거구요.(Dependency Inversion Principle) ... 과정을 이해하였지만 말로 풀어내니까 굉장히 장황하군요 사실 이 부분은 인터페이스 문법이라기보다는 디자인 패턴과 관련이 있지 않나싶습니다.
 - 
      
        
    미해결취미로 해킹#2(해커의 컴퓨팅)
압축파일 패스워드 관련 질문
압축파일에서 패스워드를 걸고 영상을똑같이 따라했으나 hash.txt 에는 아무 것도 남아있지 않습니다 어떻게 하면 될까요?
 - 
      
        
    해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
소켓은 파일이라 하셨는데..
강사님 안녕하세요. 강사님 강의를 쭉 보다가 의문이 생겨 질문 드립니다.네트워크 통신에서 소켓이 파일이라 하셨는데 이 부분이 이해가 가지 않습니다.파일이라 함은 2차 메모리에 저장되는 포맷(파일이라는 형태로 저장된다고 말씀하셨습니다.) 아닌가요?하지만 소켓 통신은 Ram 수준에서 버퍼를 통해 통신하지 않습니까?'소켓의 본질은 파일이다.' 가 무슨 의미인지 이해가 가지 않습니다.
 - 
      
        
    미해결홍정모의 따라하며 배우는 C++
for 문 사용 시 array 복사
강의 중 교수님께서 포인터가 array 에 주로 이용된다고 하셨습니다. 그 과정에서 사용하는 이유가 데이터를 파라미터로 넣어주면 다시 복사가 되고, 이를 for 문 안에서 실행시키면 계속 복사가 되어 느려져 사용한다고 하셨습니다. 여기서 복사가 된다고 하는 것이 for 문을 이용해서 array[i]의 i를 바꿔가며 새로운 값을 넣게되면 해당 array는 내용이 업데이트 되면서 계속 새롭게 생겨나서 느려진다는 것인지 궁금합니다. 강의의 어떤 부분에 해당 설명이 있는지도 궁금합니다.
 - 
      
        
    미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
[해결완료] 로그인 인증 테스트코드 작성 질문입니다
안녕하세요 호돌맨 선생님!세션토큰 발급기능 추가를 초반에 보다가 로그인 관련 테스트를 직접 작성해보라고 하셔서 해봤는데 궁금한 점이 있어서 질문드립니다!작성한코드@Test @DisplayName("인증 테스트") void test11() throws Exception { // given Member member = Member.builder() .email("abc@naver.com") .password("1234") .build(); // UserRepository를 MemeberRepository로 이름 변경 했습니다. memberRepository.save(member); Login login = Login.builder() .email("abc@naver.com") .password("1234") .build(); String json = objectMapper.writeValueAsString(login); // expected mockMvc.perform(post("/auth/login") .contentType(APPLICATION_JSON) .content(json) ) .andExpect(status().isOk()) .andDo(print()); 결과query did not return a unique result: 2; nested exception is javax.persistence.NonUniqueResultException: query did not return a unique result: 2 원인JPA 에러라는 것을 검색을 통해서 알았습니다해결 방법 블로그 주소 : https://wakestand.tistory.com/943UserRepository에 작성한 findByEmailAndPassWord 메서드가 Optional로 되어 있는데 이 부분을 List로 변경해야할 것 같아서 다음과 같이 변경했습니다 변경된 코드UserRepositorypublic interface MemberRepository extends CrudRepository<Member, Long> { List<Member> findByEmailAndPassword(String email, String password); }AuthService@Service @RequiredArgsConstructor public class AuthService { private final MemberRepository memberRepository; public List<Member> signin(Login login) { List<Member> memberList = Optional.ofNullable(memberRepository.findByEmailAndPassword(login.getEmail(), login.getPassword())) .orElseThrow(() -> new InvalidSign()); return memberList; } } 위 처럼 Optional<Member가 아닌 List<Member>로 변경해서 테스트 로직을 성공하긴했습니다... 질문UserRepository의 Optional<Member>를 변경하지 않고 테스트 코드를 작성하는 방법이 있을까요??Optional에서 List로 변경했을 때 문제점은 없을까요?
 - 
      
        
    미해결따라하며 배우는 HTML, CSS
nth child에 대한 개념
nth child에 대한 개념이 설명이 안되고 , 그냥 코드를 작성하면서 지나가는 것 같은데요..이 부분에 대한 설명은 이후에 나오는건가요 ?
 - 
      
        
    해결됨홍정모의 따라하며 배우는 C언어
mingw-w64 설치 오류
아무리 여러 개를 시도해봐도 설치가 안됩니다ㅜㅜ mingw-w64 설치하는 해결방법이 있을까요? 현재 링크에 들어가면 강의에 나온 방법과 약간 달라진 것 같아요.
 - 
      
        
    미해결[핵집] 2025 빅데이터 분석기사(필기)_과목 3~4
통합강의 교안요청
안녕하세요. 강의 수강자입니다.3~4 통합교재를 아래 주소로 보내주시면 감사하겠습니다.가입 e-mail : young.park@hanwha.com받고 싶은 e-mail : zzan0ng@naver.com좋은 하루 보내십시오.감사합니다 :)
 - 
      
        
    미해결Do it! 알고리즘 코딩테스트 with JAVA
안녕하세요 질문있습니다.
방향 그래프 무방향 그래프에 따라서 자료구조에 자료를 저장하는 방법이 다르다고 하셨습니다. 그런데 지금 이 문제에서는 방향그래프 아닌가요??간선,엣지들을 보면 모두 방향이 있는 거 같은데, 왜 무방향그래프를 저장할 때처럼 arraylist에 값을 저장하는지 모르겠습니다.
 - 
      
        
    미해결WPF (C#, 자막제공)
유저컨트롤 관련 질문
안녕하세요 강의를 보면서 WPF 프로젝트를 진행중인데요유저컨트롤에서 제가 만든 속성값을 만들고 추가한곳에서 xaml에서 접근하면 "멤버를 인식할 수 없거나 액서스할 수 없습니다." 이런 오류가 발생합니다. mainWindow유저컨트롤개발환경은 VS2015입니다.
 - 
      
        
    미해결React + API Server 프로젝트 개발과 배포 (CI/CD)
왜 서버의 루트 디렉토리에 node관련 파일을 설치하는 게 아니라 local디렉토리를 만들어서 설치하는지 알 수 있을까요?
왜 서버의 루트 디렉토리에 node관련 파일을 설치하는 게 아니라 local디렉토리를 만들어서 설치하는지 알 수 있을까요?
 - 
      
        
    미해결
Next.js GCP App Engine 배포 시 환경변수 분기
Next.js로 Google Cloud Platform에 App Engine 서비스 배포를 진행하고 있습니다.문제는 production ( 실 서비스 )와 development ( 개발용 )으로 나누어서.env.development, .env.production의 두개의 환경변수를 가지고있습니다.배포 시 실서비스 에서는 .env.production을 사용하도록개발용 에서는 .env.development를 사용하도록 설정하려는데 이것저것 만져보아도 production만 사용하는 문제가 발생해버리네요. 현재 프로젝트구조와 설정코드는 이렇습니다.project ├── local └── Dockerfile └── docker-compose.yml ├── resource └── .next └── ... (Next.js 빌드 파일) └── node_modules └── package.json └── dev_app.yaml └── prd_app.yaml └── .env.development └── .env.production └── next.config.js └── ... (기타 Next.js 프로젝트 파일) 여기서 package.json의 script설정은 다음과 같습니다.{ dev: "next dev", start: "next start", lint: "next lint", deploy: "npm run build && gcloud app deploy --project='production' -q --appyaml=prd_app.yaml", deploy:dev: "npm run build:dev && gcloud app deploy --project='development' -q --appyaml=dev_app.yaml", build: "dotenv -e .env.production next build", build:dev: "dotenv -e .env.development next build" } next.config.js는 특별히 건드리지 않았습니다.dev_app.yaml, prd_app.yaml파일은 서비스명만 각각 설정해 주었습니다.runtime: nodejs20 # or another supported version service: development 질문 1.현재 app engine 업로드된 용량, 로직을 보니 빌드파일이 아닌 프로젝트 그대로 들어가는 것 같습니다.빌드는 환경변수파일도 정상적으로 분기되는데 앱엔진에서 해당문제가 발생하는 것으로보아혹시 Next.js에서 빌드된 파일로 app engine에 배포할 수 있는지 궁금합니다.질문 2.빌드파일만 올릴수 없다 라고 하더라도 프로젝트 그대로 올리면서 환경변수를 분기할 방법이 있는지 궁금합니다.정말 문서건 블로그건 구글서칭, 깃허브검색, GPT 모두 끈질기게 시도해봤지만능력부족 탓인지 성공하지 못했습니다..능력자분들께서 도움주시면 잊지않겠습니다!!
 - 
      
        
    미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃허브 권한 요청 드립니다.
인프런 아이디 : siwoobaksa@naver.com인프런 이메일 : siwoobaksa@naver.com깃헙 아이디 : lswsepia@gmail.com깃헙 username : lswdev
 - 
      
        
    해결됨디자인 시스템 with 피그마
간격맞추기
선생님처럼 Visual의 높이를 359로 맞춰도 저는 Inner와 Visual의 간격이 70이 돼요ㅠㅠ 왜그럴까요..?
 - 
      
        
    미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
디버깅 문제풀이#3 10번문제 질문있습니다
for (int i = 0; i < 10; i++) { arrows[i]->AttackTarget(); // 기사가 죽었으면 소멸시켜준다 if (knight != nullptr) { if (knight->IsDead()) { delete knight; knight = nullptr; } } delete arrows[i]; arrows[i] = nullptr; }이부분에서 나이트를 delete 하고 nullptr 로 채우고나서 애로우 부분에// 공격 대상이 있다면 if (_target != nullptr) { // 데미지를 입힌다 target->AddHp(-damage); _target->PrintInfo(); }_target을 nullptr 체크했는대 구문으로 왜 들어오는건가요..?