묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
분산락에 대해서 질문이 있습니다.
해당 질문에 대한 답변을 보고 혼동이 되어서 질문드립니다.분산 락의 완전한 정의를 찾을 수가 없어서 다음 두 상황이 혼동되는 것 같습니다. 1. 웹 애플리케이션 서버가 여러대인 경우, 이들간의 동시성 문제를 해결하기 위해 사용되는 Lock2. 스케일 아웃된 DB 환경에서 동시성 문제를 해결하기 위해 사용되는 Lock jeoningu님의 질문과 이에 대한 답변에 따르면, 1번 상황은 분산락이 아니며(낙관적 락, 비관적 락은 분산락이 아닌 것처럼 설명해 주셨으므로), 2번 상황이 분산락인 것 처럼 되는 것 같습니다. 그런데 이런저런 자료를 찾아보다보니, 1번 상황 역시도 분산 락의 개념에 포함되는 것 같습니다.(즉 낙관적 락과 비관적 락도 분산 락에 포함됨) 그래서 제 스스로 다음과 같은 결론을 내렸는데, 이게 올바른 것인지를 확인할 방법이 없어서 선생님께 조언을 구하고 싶어 질문 드립니다."1번과 2번 모두 분산락의 개념이다.낙관적 락과 비관적 락은 다중 애플리케이션의 동시성을 제어할 수 있는 분산 락을 구현할 수 있는 방법 중 하나이다.그러나 여러대의 DB를 사용하는 경우 이들로는 분산락을 구현할 수 없게 된다.이러한 경우 레디스와 같은 Lock 을 위한 DB를 하나 두어 이를 통해 분산락을 구현하여 사용해야 한다."잘못 이해한 부분이 있다면 지적해주시면 감사하겠습니다..!
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
access token 관련 질문드립니다.
안녕하세요 강의를 다 듣고 개인 포트폴리오 제작중에 있습니다.현재 로그인 부분을 구현중인데, 포인트 충전이라던가 마이페이지 접근시, 비밀번호 변경 시 등의 경우에 인가(여기선 fetchUser)를 받아야 한다고 이해했습니다. 그러려면, 강의에선 아래 사진처럼 header에 토큰을 넣어서 보내었습니다.하지만 직접 프론트엔드를 구축해서 api 호출하려고 하니 header에 토큰을 넣어줘야 하는데, 현재 로그인시 그냥 토큰 값인 문자열을 리턴할 뿐 엑세스토큰을 저장하는 곳이 없습니다.보통 액세스토큰을 저장할 때 변수, 로컬스토리지, 세션스토리지, 쿠키 중 무엇을 가장 많이 사용하나요?섹션 13-11의 강의에서 처럼 변수에 액세스토큰을 저장하는 경우를 생각해 봤습니다. 그러면 인증하는 컴포넌트(ex: login)와 인가를 받는 컴포넌트(ex: 포인트 충전)가 다를 때 컴포넌트에서 token을 변수로 저장하더라도 다른 컴포넌트에서는 사용 못할텐데 recoil같은 라이브러리를 사용해서 전역변수로 사용해야 하는지 궁금합니다. 아래는 프론트엔드의 login 컴포넌트를 예시를 적어보았습니다. const [token, setToken] = useState(""); await axios.post("http://localhost:5656/graphql", { query: ` mutation { login(id: "${inputId}", password: "${inputPw}") } `, }) .then(res => { setToken(res.data.data.login); } }) 감사합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
Page<dto>를 반환하는 api swagger
강의를 듣고 api를 만들고 있습니다. Page<dto>를 반환하는 api를 swagger를 통해 문서화하려고 하니 Page.class만 반환값의 파라미터로 전달되어 Page의 content 내에 무엇이 들어가는지 문서에는 보이지 않더군요. 혹시 swagger를 사용해 페이징 api를 문서화할 때 Page.class의 제네릭타입을 명시할 수 있는 방법이 있을까요?
-
해결됨강화학습 입문에서 Deep Q-learning/Policy Gradient까지
강의코드 110_basic_operations_for ... 코드 실행 시 문제
안녕하세요. 강사님. 강의 잘 들었습니다. 한번에 이해가 안되서 여러번 복습해야 할 것 같습니다. 다름이 아니고, 마지막 Deep Neural Network 이해를 돕기 위한 코드 자료에서 에러가 발생합니다.강의자료는 110_basic_operations_for_Function_Approximation 입니다. states_v 출력부터 에러가 나는데, 코드를 보면 앞에서 states_v를 선언하는 내용이 없습니다. 코드 내용 확인바랍니다. 감사합니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
springframework 라이브러리 인식 오류
인텔리제이 종료 후 재실행하여 프로젝트를 열었을 때 아래 화면과 같이 오류가 발생합니다.org.springframework.boot 라이브러리 자체를 인식하지 못하는 것으로 확인되는데,어떻게 고칠 수 있을지 알 수 있을까요?(인텔리제이 종료 전까지만 해도 정상 동작하였습니다.) 제 개발 환경은 MacOS, IntelliJ, JDK 11, Spring 2.x 버전 입니다.
-
미해결스프링 핵심 원리 - 기본편
빈 수동 등록시 의존 관계 주입에 대해 질문드려요
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]아래처럼 오더서비스를 수동 등록한다고 할 때@Beanpublic OrderService orderService() {return new OrderServiceImpl(memberRepository(), discountPolicy());}메소드를 실행해서 오더서비스 구현 객체를 스프링 빈으로 등록하고memberRepository()와 discountPolicy() 메소드의 반환값이 매개변수로 들어가면서 의존관계 주입이 이루어지는 것이라고 보면 되는 것인가요?만약 맞다면 빈 수동 등록은 빈 등록 과정에서 의존 관계 주입이 어느 정도 이루어진다고 봐도 되나요
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
따라하고 싶은데 지금 환경이랑 너무 다른 것 같습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]메이븐 설정또한 지금의 인텔리제이랑 다르고 h2 데이터베이스를 설정하는데도 어려움이 있습니다 .
-
해결됨JPA & Spring Data JPA 기초
JoinColumn 질문
참조키 예시에서@JoinColumn에서 name속성으로 지정하기 전에 "user_email"@Columnprivate String user_email; 이렇게 먼저 선언되어 있어야 되는거 아닌가요??
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
도커 볼륨을 이용한 소스 코드 변경 4:23 에서
docker: invalid reference format.See 'docker run --help' 자꾸 이렇게 뜨는데 docker run -it -p 3000:3000 -v /usr/src/app/node_modules -v $(pwd):/usr/src/app gonieyoo720/docker-react-app 저는 강의에 나오는 것과 동일하게 써서 오타를 모르겠습니다 ㅠㅠ 이유가 뭘까요
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
플레이어 캐릭터의 블루프린트에 위젯 컴포넌트 질문입니다.
플레이어의 체력바가 변화가 없길래 블루프린트를 봤더니HpBar 위젯 컴포넌트가 그냥 기본 UWidgetComponent로 되어있었습니다.자동으로 AABWidgetComponent로 바뀌여야 하지 않나요??혹시 수동으로 직접 바꿔야 되는 건가요??? 혹시 몰라서 HpBar를 직접 UABWidgetComponent로 바꿔봤는데 그렇게 하면 블루프린트에 디테일 패널이 안나와요....
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
u and i 예제 에러
네 핫릴로드 할스타트 활성화가 안되는걸 보면 에러는 맞는듯합니다Launching lib\main.dart on Android SDK built for x86 in debug mode... Running Gradle task 'assembleDebug'... Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01 Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01 Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01 Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/03 to old ns http://schemas.android.com/sdk/android/repo/addon2/01 Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01 Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/03 to old ns http://schemas.android.com/sdk/android/repo/repository2/01 Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/03 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01 Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01 FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:processDebugMainManifest'. > Unable to make field private final java.lang.String java.io.File.path accessible: module java.base does not "opens java.io" to unnamed module @3dc86b6d * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 4s Exception: Gradle task assembleDebug failed with exit code 1위가 에러메시지이고요유앤아이 만난지 몇일 예제와 똑같이 작성한듯 한데..메인다트import 'package:flutter/material.dart'; import 'package:u_and_i/screen/home_screen.dart'; void main() { runApp( MaterialApp( home: HomeScreen(), ), ); } 홈스크린import 'package:flutter/material.dart'; class HomeScreen extends StatelessWidget { const HomeScreen({super.key}); @override Widget build(BuildContext context) { return Scaffold( body: Center( child: Text( 'Home Screen', ), ), ); } } ㅠㅜㅜ코드팩토리 디스코드https://bit.ly/3HzRzUMFlutter 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다!
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
Render problem 오류를 도저히 해결을 못하겠어요 ㅠㅠ
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="60dp" app:layout_constraintTop_toTopOf="parent"> <ImageView android:id="@+id/settingIcon" android:layout_width="70dp" android:layout_height="70dp" android:layout_margin="3dp" android:layout_marginTop="16dp" android:layout_marginEnd="16dp" android:contentDescription="프로필사진" android:src="@drawable/profile_img" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout> <com.yuyakaido.android.cardstackview.CardStackView android:id="@+id/cardStackView" android:contentDescription="cardstackview" android:layout_marginTop="60dp" android:layout_width="match_parent" android:layout_height="match_parent"/> </androidx.constraintlayout.widget.ConstraintLayout>코드와 에러부분 캡쳐해서 올립니다 ㅠㅠ
-
미해결JPA & Spring Data JPA 기초
1:N 매핑과 해당 방식 차이가 뭔가요?
1:N 매핑과 해당 방식 차이가 뭔가요?
-
미해결스프링 시큐리티
Spring Security 6.0 이상 (Spring boot 3.0 이상)에서 다중 config 설정 방법
안녕하세요 이렇게 좋은 Spring Security에 애를 많이 먹던 도중 늦게나마 열심히 듣고 있는 사람입니다. 강의를 들으면서 Spring Security 6.0 이상 버전으로 혼자 마이그레이션 해보며 공부를 진행하는데요..다른 분들은 모르겠지만 저는 6.0 이상 버전에서의 다중 보안 설정에서 애를 좀 먹어서.. 혹시나 저 같으신 분들이 있으실까봐 글을 남깁니다..! 다름이 아니라 Spring Security 6.0 이상 버전에서는 먼저오버라이드해서 함수를 구현하는 것이 아니라 컴포넌트화 시켜서 진행합니다. 또한 HttpSecurity 안의 내용을 구현하는데 변경점이 있다는 것이 가장 큰 차이점인 것 같습니다. 예를 들어 UserSecurityConfig, AdminSecurityConfig를 만들어서 각 경우에 따라 다른 설정을 적용하고 싶은 경우에 두 가지의 config 파일을 만들 수 있다고 가정하면.. 저의 경우에는 AdminSecurityConfig에서 지정한 부분이 권한 정보에 따라 접근이 막히지 않고 다 접근이 가능한 ("/admin/pay"를 user가 접근 가능) 상황이었습니다. 뭐가 문제인지 한참을 찾던 도중https://docs.spring.io/spring-security/reference/servlet/configuration/java.html공식 문서를 통해 답을 찾았습니다.간략하게 해결법부터 말씀드리자면 path로 접근 제한을 하는 경우에 http.securityMatcher()를 사용해야 한다는 점 입니다. 이렇게 하면 아주 잘 구분이 되더군요..! 혹시나 저처럼 하시는 분이 계실까봐 남깁니다..!@Bean @Order(0) public SecurityFilterChain adminFilterChain(HttpSecurity http) throws Exception{ http .securityMatcher("/admin/pay") .authorizeHttpRequests(request -> request.anyRequest().hasRole("ADMIN")); return http.build(); } @Bean @Order(1) public SecurityFilterChain systemFilterChain(HttpSecurity http) throws Exception{ http .securityMatcher("/admin/**") .authorizeHttpRequests(request -> request .anyRequest().hasAnyRole("SYS", "ADMIN")); return http.build(); } @Bean @Order(2) public SecurityFilterChain filterChain(HttpSecurity http) throws Exception{ http .authorizeHttpRequests(request -> request .requestMatchers(antMatcher("/user/**")).hasRole("USER") .anyRequest().authenticated());
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
11:04 초에 pk 값이 항상 들어간다고 하셨는데
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]이전 강의에서 strategy = IDENTITY 일때만 persist 시점에 insert 쿼리가 나가서 pk 값을 얻을 수 있다고 하셨는데 지금 상태는 @GeneratedValue 디폴트값(auto) 인데 어떻게 pk 값을 얻을 수 있는건가요??
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
스웨거에 글 등록시 401 에러가 나와요 ㅠ
스웨거에 글 등록시 401 에러가 나와요 ㅠ 뭐가 문제일까요?
-
미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
첫번쨰 사람이지 판단하기
샘 이거복붙으로 해봐도 안되네요 ㅜㅜ 왜 제시어를 입력을 해도 안되나요 ???? 제시어가 입력이되야하는데 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>끝말잇기</title> <style> </style> </head> <body> <div><span id="order">1</span>번쨰 참가자</div> <div>제시어:<span id="word"></span></div> <input type="text"> <button>입력</button> <script> const number = Number(prompt('몇명이참가하나요 ?:')); const $button =document.querySelector('button'); const $input = document.querySelector('input'); const $word = document.querySelector('#word'); //선택하고 let word;//제시어저장 let newWord;// 새로입력한단어저장 const onClickButton=() =>{ if(!word) // 제시어가 비어잇는가? { // 비어잇다 word = newWord; // 입력한단어가 제시어가 된다 $word.textContent = word; } else{ // 비어잇지않다 } }; const onInput = (event) => { newWord = event.target.value; // 키보드를 입력할때마다 그글자가 저장이된다 }; $button.addEventListenter('click',onClickButton); $input.addEventListenter('input',onInput); /*첫번쨰 참가자인지 어떻게 판단을 할가 ??? 제시어가 없으면 첫번쨰 참가자 제시어라고 안니오겟지 그래서 워드를 만든거고 <div>제시어:<span id="order"></span></div> */ </script> </body> </html>
-
해결됨Slack 클론 코딩[실시간 채팅 with React]
MentionsTextarea 와 autoSize 사이 버그가 하나 있습니다.
MentionsTextarea 에 ctrl+c ctrl+v 를 이용하여 값을 입력시 사이즈는 조절되나 글자 줄 수가 잘려서 보이는 버그가 있습니다.MentionsTextarea 을 사용시 실제보이는 textarea와 보이지 않는 span 영역이 생성되는데 이 중 autosize에 span ref만 넘어가서 span영역만 커지고 textarea의 영역은 유지되서 생기는 버그로 보입니다.이후 글자를 제거 하거나 추가로 입력시 정상적으로 보이게 됩니다.
-
미해결[React 2부] 고급 주제와 훅
Library 각은 성격을 가진 module을 import할 때 질문
import * as MyRouter from "./lib/MyRouter"잘 몰라서 그러는데 위와 같이 Library 성격을 가진 module을 import할 때 default object 없이 위와 같이 import하는 convention이 있을까요? 아니면 그외 장점이 있을까요?
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
UserWidget의 GetOwningPlayerPawn()은 컨트롤러가 붙어있는 폰만 유효한거죠?
GetOwningPlayerPawn() 함수가 UI와 관련된 플레이어 폰이라고 설명이 되있는데말그대로 플레이어컨트롤러가 붙어있는 Pawn인거죠??