inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

176만명의 커뮤니티!! 함께 토론해봐요.

redux thunk 원리 질문

해결됨

[리뉴얼] React로 NodeBird SNS 만들기

1. thunk를 사용하면 함수형 action을 dispatch 했을때action을 단순히 실행하는 것으로 보이는데요. 그렇다면 아래 두 코드처럼 함수형 action을 dispatch하는 방식과 함수로 감싸지 않고 하는 방식과 결과는 같다고 생각되는데 맞나요? const loginAction = () => { return (dispatch) => { dispatch(loginRequestAction()); axios.post('/api/login') .then((res) => { dispatch(loginSuccessAction(res.data)); }) .catch((err) => { dispatch(loginFailureAction(err)); }) } } const onClickLogin = () => { dispatch(loginAction()); } const onClickLogin = () => { dispatch(loginRequestAction()); axios.post('/api/login') .then((res) => { dispatch(loginSuccessAction(res.data)); }) .catch((err) => { dispatch(loginFailureAction(err)); }) } 2. 1이 맞다면 함수 action을 dispatch하는 방식은 편의성 때문이라고 봐도 될까요? 3. 강의 10:40 쯤에 thunk는 한번에 dispatch를 여러번 할 수 있게 해준다고 하셨는데 thunk없이 아래처럼 여러번 쓰는 것은 문제가 될 수 있나요? // action은 임의로 지었습니다 const onClickButton = () => { dispatch({type: 'CHANGE_ID'}); dispatch({type: 'CHANGE_PASSWORD'}); }

  • react
  • redux
  • node.js
  • express
  • next.js
박규석 댓글 1 좋아요 0 조회수 384

C++ 초기설정 에러 문의

해결됨

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

큰돌님 안녕하세요! gcc 설치 후 vscode에 설정하는 중 일부 에러가 발생하여 질문 드립니다. 현재 homebrew를 통해 gcc 설치 후 해당경로로 헤더파일을 만들어놓은 상태입니다. 그 후, vscode a.cpp 파일의 터미널에 g++ -std=c++14 -Wall a.cpp -o test.out 를 입력하였을 때, 에러가 발생합니다. 어떻게 수정해야할까요...

  • c++
  • 코딩-테스트
fejwkhkj 댓글 3 좋아요 0 조회수 798

아이콘 사이즈 줄임

미해결

피그마(Figma)를 활용한 UI디자인 입문부터 실전까지 A to Z

하단 Tab 바에 들어가는 아이콘 사이즈를 줄였을 때 아이콘 굵기가 굵어지면서 아이콘 모양이 달라지는데요 아이콘 모양을 변형시키지 않으면서 사이즈를 줄일 수 있는 방법이 있나요?

  • 웹-디자인
  • 모바일-디자인
  • figma
yeawon7 댓글 1 좋아요 0 조회수 448

새탭만들기 후 , 그 탭의 화면에서 웹page 버튼 누르기

해결됨

[무료 MS RPA를 활용한 업무 자동화] Power Automate Desktop Basic

선생님, 안녕하세요. 갑자기 사진먼저 올라가게 되었네요 ^^;; 제가 일단 새브라우저를 열고 -> 새탭 만들고 -> 웹페이지 버튼 누르기 1 -> 웹페이지 버튼 누르기 2를 설곟고 싶어서, 위와 같이 진행을 했습니다. 웹페이지버튼 누르기 1,2의 ui요소는 문제 없이 잘 선택했는데요, 왜 자꾸 아래와 같은 오류가 생기면서 웹페이지 버튼 누르기에서 런타임 오류로 실패하는걸까요? 로직에 무슨 문제가 있나요?

  • ms-office
  • power-automate
2025 회사탈출 댓글 2 좋아요 0 조회수 843

도커를 알고자하면 리눅스 공부가 우선되어야하나요

미해결

안녕하세요. 저는 비전공자인데요. 혼자 컴퓨터구조 / 운영체제론 / 네트워크 공부는 한 상태인데.. 클라우드랑 도커, 리눅스 이렇게 3가지를 배우고싶은 마음이 있는데 어떤거 부터 시작해야 하는지, 연관이 있는건지 모르는 초보에요. 세세하게 공부할 생각은없고, 그냥 맛보기도 아닌? 적당히 공부를 해보고 싶은데 뭐 부터 해야하나요? 즉 리눅스를 알아야 도커를 배울 수 있는거같긴한데, 리눅스의 명령어가 도커를 배우는데 의미가 없는건가요? 리눅스 운영체제가 어떻게 되어있는지를 공부해야하는건지.. 또 클라우드는 그냥 사전지식없이 배울 수 있긴한거 같으면서도? 뭔가 어따쓰지? 이런 느낌이라서, 클라우드는 그냥 사전지식보다는 실무 경험을 쌓고, 비용절감을 위해 필요한 존재구나~ 라고 꺠달아야 하는건지, 아니면 클라우드를 어떤식으로 제대로 공부해야하는지 궁금합니다. ㅠㅠ

신입개발자가되고싶어 댓글 1 좋아요 1 조회수 792

컴포넌트 설정(styles, local variables 차이)

미해결

피그마(Figma)를 활용한 UI디자인 입문부터 실전까지 A to Z

제품 상세 페이지 디자인 관련 색상 컴포넌트 설정 시 local styles- color style 과 local variables 차이점이 궁금합니다. 색상 컴포넌트를 반영했는데 local styles 과 local variables로 구분해서 저장되었습니다.

  • 웹-디자인
  • 모바일-디자인
  • figma
yeawon7 댓글 2 좋아요 0 조회수 2435

Git 관련 질문이 있습니다

미해결

타입스크립트 입문 - 기초부터 실전까지

안녕하세요 강사님, 제 github에서 learn-TS라는 레퍼지토리를 따로 생성한 뒤 해당 폴더에 git clone을 해서 형상관리를 하고싶은데 warning: adding embedded git repository: learn-typescript hint: You've added another git repository inside your current repository. hint: Clones of the outer repository will not contain the contents of hint: the embedded repository and will not know how to obtain it. hint: If you meant to add a submodule, use: hint: hint: git submodule add <url> learn-typescript hint: hint: If you added this path by mistake, you can remove it from the hint: index with: hint: hint: git rm --cached learn-typescript hint: hint: See "git help submodule" for more information. 라는 에러가 뜨면서 git에 업로드를 하지 못하고 있습니다. 혹시 해결방법을 알고 계시다면 답변 부탁드립니다.

  • javascript
  • typescript
  • es6
ska3287776 댓글 2 좋아요 1 조회수 723

환경 통합하기 관련 질문이 있습니다.

미해결

Practical Testing: 실용적인 테스트 가이드

WebMvcTest 를 위해 하나의 추상 클래스를 만들고 거기에 필요한 컨트롤러와 모킹한 서비스, 레포지토리들을 추가하셨는데요. 통합 테스트의 관점에서 보면 테스트 컨텍스트가 한번만 뜨기 때문에 좋겠지만 컨트롤러 하나에 대한 단위 테스트를 고려할땐 불필요하게 모킹한 서비스, 레포지토리, 컨트롤러들까지 띄우는데 시간이 더 걸리는데 이건 어떻게 해결 할순 없을까요? 강의 해서 제안 하신 것처럼 현업에서 쓰고 있긴 한데 컨트롤러가 100개가 넘어가니... 하나의 컨트롤러 테스트를 위해 테스트 컨텍스트를 띄우는데 걸리는 시간도 상당히 오래 걸리더라구요. 혹시 좋은 방법이 있다면 알려주시면 감사하겠습니다.

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
opensesame 댓글 2 좋아요 0 조회수 422

문법 질문입니다.

미해결

실리콘밸리 엔지니어가 가르치는 파이썬 기초부터 고급까지

초미니 프로젝트에서 numbers = [str(i) for i in range(0, 10)] 이게 range를 list에 넣을때 사용하는 새로운 문법인가요?

  • python
  • 알고리즘
Lojong 댓글 1 좋아요 1 조회수 353

강의를 보고 생각한 구조가 맞는지 궁금합니다.

미해결

스프링 DB 1편 - 데이터 접근 핵심 원리

강의를 보고 생각한 구조가 맞는지 궁금합니다. 데이터베이스를 연결하기 위해 추상화한 인터페이스 Connection, Statement, ResultSet가 있고 이 3가지는 데이터베이스 드라이버에서 구현을 하고 있습니다. 그리고 DriverManager가 드라이버를 사용해 커넥션을 얻어옵니다. 하지만 이렇게 매번 커넥션을 얻어오면 비용이 많으들어가서 커넥션풀이 생겨납니다. 그래서 커넥션 풀이 생겨났고 DataSource인터페이스가 생겨났고 각 커넥션풀은 이것을 구현합니다. 그러면 DataSource에서는 DriverManager를 이용해 커넥션을 얻어오는것이고 Connection, Statement, ResultSet는 데이터베이스 구현체 드라이버에서 구현하는게 맞을까요?

  • spring
YOGURT 댓글 1 좋아요 0 조회수 446

Fast Rcnn에서 ROI Pooling 매핑하기

해결됨

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

Selective search로 영역을 추출한 다음 Feature map에 대응시켜 매핑을 하는 걸로 이해를 했습니다. 근데 의문이 원본 이미지에서 뽑은 seletive search와 feature map의 영역이 매핑이 제대로 되는지 여쭙고 싶습니다.

  • python
  • 머신러닝
  • 딥러닝
  • keras
  • tensorflow
  • 컴퓨터-비전
jw k 댓글 1 좋아요 0 조회수 373

깃헙 권한 요청 드립니다.

미해결

Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex

- 인프런 아이디: kes98201@gmail.com - 인프런 이메일: kes98201@gmail.com - 깃허브 아이디: kes98201@gmail.com - 깃허브 username: goldIsApple

  • javascript
  • vue.js
  • es6
  • vuex
강명운 댓글 2 좋아요 1 조회수 409

eslint 에러가 발생합니다

미해결

Vue.js 끝장내기 - 실무에 필요한 모든 것

계속 찾아보고 해결하려는데 불가능해서 질문 드립니다 어디가 문제일까요?ㅠㅠ

  • javascript
  • vue.js
  • vuex
댓글 1 좋아요 1 조회수 654

Firebase로 이메일 로그인 기능 구현

해결됨

Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)

올려주신 방법 모두 해봤는데 안돼서 질문드립니다ㅠ

  • flutter
  • ios
  • android
FLUTter 댓글 1 좋아요 0 조회수 415

해당 강의의 곱셈 부분에 질문이 있습니다!

해결됨

넓고 얕게 외워서 컴공 전공자 되기

안녕하세요 널널한 개발자님! 강의 정말 잘 듣고 있습니다. 해당 강의의 컴퓨터가 곱셈을 하는 법에서 궁금한 점이 있어서 질문 남기게 되었습니다. 8*2로 예를 들자면, 십진수 8을 이진수로 표현하면 1000인데, 여기서 왼쪽으로 한칸 밀면 10000에서 오버플로우 된 부분은 버리면 0000이라 십진수로 표현하면 16이 아닌 0이 되잖습니까? '오버플로우는 버린다'의 기준이 어떻게 되는지, 곱셈에서도 오버플로우는 버리는 게 맞는 건지가 헷갈립니다..! - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • 운영체제
jh009647 댓글 1 좋아요 0 조회수 422

답변에 대한 추가질문이 있습니다.

해결됨

최신 딥러닝 기술 Vision Transformer 개념부터 Pytorch 구현까지

답변 감사드립니다! 강의를 통해 Head 수에 따라 다양한 영역에 대한 Attention 이 가능하다고 이해했습니다. 이에 따른 추가적인 궁금한 부분이 있습니다. (아래 질문은 배치 사이즈를 배제하고 질문드립니다.) U msa 를 통한 Linear Projection 이전의 shape는 (N x D h x k) 이고, 이후의 shape는 (N x D)로 k가 사라져서 다양한 영역을 Attention 하고자 하는 의도가 사라지는 것 아닌지, 그렇다면 U msa 의 역할이 무엇인지 헷갈렸습니다. U msa 를 통한 Linear Projection을 진행한 후에도 다양한 영역을 Attention하고자 하는 Head의 특성이 반영되기에 상관이 없는건지 궁금합니다. U msa 도 무작위로 주어지고 학습을 통해 최적화되는 것이 맞을까요?

  • 딥러닝
  • pytorch
  • 컴퓨터-비전
  • vision-transformer
김남욱 댓글 1 좋아요 1 조회수 337

프롬프트에 [] 는 무슨 역활을 하나요 ?

해결됨

ChatGPT로 원어민스러운 영어공부하는 방법 | 주요 중요 명령어 모음 pdf 제공

안녕하세요. 프롬프트에 [] 는 무슨 역활을 하나요 ? 감사합니다.

  • 영어
  • chatgpt
jin3137 댓글 1 좋아요 1 조회수 681

BFS 참고하세요

미해결

코딩테스트 실전 모의고사(with C++) : 대기업 대비

#include <iostream> #include <vector> #include <queue> using namespace std; int n, m, k; int dx[4] = { 1, -1, 0, 0 }; int dy[4] = { 0, 0, 1, -1 }; int main() { cin >> n >> m >> k; vector<vector<int>> Map(n + 1, vector<int>(m + 1, 0)); vector<vector<bool>> visited(n + 1, vector<bool>(m + 1, false)); vector<pair<int, int>> flooded; for (int i = 0; i < k; i++) { int x, y; cin >> x >> y; Map[x][y] = 1; flooded.push_back({ x, y }); } int max_size = 0; for (auto& start : flooded) { if (visited[start.first][start.second]) continue; int size = 0; queue<pair<int, int>> Q; Q.push(start); visited[start.first][start.second] = true; while (!Q.empty()) { size++; int x = Q.front().first; int y = Q.front().second; Q.pop(); for (int i = 0; i < 4; i++) { int nx = x + dx[i]; int ny = y + dy[i]; if (nx >= 1 && nx <= n && ny >= 1 && ny <= m && Map[nx][ny] == 1 && !visited[nx][ny]) { Q.push({ nx, ny }); visited[nx][ny] = true; } } } max_size = max(max_size, size); } cout << max_size << endl; return 0; } DFS가 아닌 BFS 사용해도 문제는 풀립니다. 공부중이라 어느게 더 효율적인지는 모르겠습니다만, 혹시 BFS로 접근하실 분들 참고하라고 올려봅니다~

  • c++
  • 코딩-테스트
박인철 댓글 1 좋아요 0 조회수 295

[ ...TABS, ...TSBS, ...TSBS].map(~)

미해결

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

[ ...TABS, ...TSBS, ...TSBS].map(~) 여기에서 ...TABS의 의미가 무엇인지 궁금합니다! 그냥 TABS로 적으면 e가 List type의 TABS를 불러와서 e.icon에 오류가 발생하는데, ...TABS로 적으면 map이 실제로 TABS안에 있는 리스트 요소를 e로 가져오는거같은데 ...의 의미가 궁금합니다!

  • flutter
  • 클론코딩
승일 댓글 1 좋아요 0 조회수 346

로그인 올바르게 해도 login?error로 갑니다

미해결

스프링부트 시큐리티 & JWT 강의

SecurityConfig.java @Configuration @EnableWebSecurity @RequiredArgsConstructor public class SecurityConfig extends WebSecurityConfigurerAdapter { private final SecurityDetailsService securityDetailsService; @Override protected void configure(HttpSecurity http) throws Exception { http // .csrf().disable() .authorizeRequests() .antMatchers("/user/**").authenticated() .antMatchers("/admin/**").access("hasRole('ADMIN')") .anyRequest().permitAll() .and() .formLogin() .loginPage("/login") .loginProcessingUrl("/login") .defaultSuccessUrl("/home") .usernameParameter("userEmail") .and() .logout() .logoutRequestMatcher(new AntPathRequestMatcher("/logout")) .logoutSuccessUrl("/login") ; } @Bean public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } } SecurityDetails.java @RequiredArgsConstructor public class SecurityDetails implements UserDetails { private final UserEntity userEntity; @Override public Collection<? extends GrantedAuthority> getAuthorities() { Collection<GrantedAuthority> authorities = new ArrayList<>(); authorities.add(new GrantedAuthority() { @Override public String getAuthority() { return userEntity.getAuthority().toString(); } }); return authorities; } @Override public String getPassword() { return userEntity.getUserPassword(); } @Override public String getUsername() { return userEntity.getUserEmail(); } @Override public boolean isAccountNonExpired() { return true; } @Override public boolean isAccountNonLocked() { return true; } @Override public boolean isCredentialsNonExpired() { return true; } @Override public boolean isEnabled() { return true; } } SecurityDetailsService.java @Service @RequiredArgsConstructor public class SecurityDetailsService implements UserDetailsService { private final UserRepository userRepository; @Override public UserDetails loadUserByUsername(String userEmail) throws UsernameNotFoundException { UserEntity userEntity = userRepository.findByUserEmail(userEmail); if(userEntity != null) return new SecurityDetails(userEntity); return null; } } SecurityDetails에서 return값이 boolean인 override 받는 메소드들 다 true로 해줬고 login페이지나 home페이지에는 이미지도 없어서 문제될 게 없다고 생각되는데 도통 이유를 모르겠습니다ㅠㅠㅠ

  • spring
  • spring-security
  • jwt
유은혜 댓글 1 좋아요 0 조회수 1440

인기 태그

인프런 TOP Writers

주간 인기글