inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

Interlocked를 통한 원자성 보장

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 멀티스레딩에 관해서 큰줄기를 잡아가는 중입니다 멀티 스레딩의 기본적인 개념과 쓰임새는 이해를 했습니다. 멀티 스레딩을 사용할 경우에 겪을 수 있는 오류, 즉 다수의 스레드의 경합에 의해서 데드락에 걸리는 경우도 이해를 했습니다. 거기다, 해당 오류에 대한 해결책이 경합시 원자성을 바탕으로, 목표 프로세스는 하나의 스레드에 의해 처리되고 나머지 스레드는 대기하게 만드는 거라고 이해했습니다. (혹시 제가 잘 못 이해한거라면 고쳐주세요!) 원자성을 보장하는 방법에 관해서 제 예상과 강의가 조금 달라서요 강의 초반에 해주신 설명과, 의사코드로 보여주신거로 봐서 처음에는 이 원자성을 보장하는 방법도 C#코드로 구현이 될 거라고 생각했는데, C#에서 마련된 InterLocked 클래스를 쓰시더라고요 거기다 의사코드로 설명하실 때, 이건 이렇게 몇줄로 나눠진 거라서, 화장실에 동시에 2명이 들어가는 가능성이 있다라고 하셨는데 InterLocked를 쓰니까 같은 내용인데 해당 오류가 방지되는걸 보고서 다음과 같은 생각이 들더라고요 원자성은 다른 스레드가 침범할 수 없는 하나의 막을 두루는 것이며 InterLocked클래스가 바로 이 보호막을 둘러달라고 C#에 마련되어 있는 CPU에게 요청하는 방법이 아닌가 싶습니다. 혹시 제가 이해를 똑바로 한 걸까요?

  • network
  • unity
  • C#
Hyobin Kim 댓글 1 좋아요 0 조회수 277

member는 생성 메서드를 만들지 않은 이유가 있나요?

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

member는 생성 메서드를 따로 만들지 않고 그냥 MemberRepository에서 저장, 조회를 했는데 Order와 OrderItem에만 생성 메서드를 만들어줬나요? 단지 단순한 로직(다른 엔티티에서 값을 가져와서 처리하는 비즈리스 로직이 없어서)이라서 Member 엔티티는 생성 메서드를 만들어 주지 않은 건가요?

  • 웹앱
  • JPA
  • spring
  • java
  • spring-boot
조윤호 댓글 1 좋아요 0 조회수 352

@Path variable로 Id를 받을 때 궁금증

미해결

실전! 스프링 데이터 JPA

강의를 듣다가 궁금한게 생겼는데요 Id 같은 PK의 경우에 좀 중요한 정보라고 생각을 합니다. 사용자 입장에서는 자동적으로 매겨진 pk인 id를 모르겠지만 이것을 사용자 측에서 저장하고 server와 주고 받는것이 맞는건지 궁금합니다. 공부를 하는 입장이라 실무에서는 어떤 방식으로 사용자 정보를 조회하도록 하는지가 너무 궁금합니다. ID정도는 넘겨줘도 상관이 없는건가요? 아니면 이러한 정보를 절대 전송하면 안되고 매번 session에서 꺼내야 하는건가요? cookie 에서 이 값을 저장해도 무방한가요? 무엇이 나은가요? ㅠㅠ cooki Id

  • java
  • spring-boot
  • spring
  • JPA
seonjun Moon 댓글 1 좋아요 0 조회수 739

gradle 설정관련 질문입니다.

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 맞습니다 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 네 없는 네용입니다. 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 전부 확인했습니다. [질문 내용] 안녕하세요. 선생님의 강의를 보면서 스프링을 배워가는 학생입니다. 처음 인텔리제이와 gradle 설치 이후 sdk관련된 gradle 싱크 문제로 큰고생 후 이제 설정이 완료되었다고 생각했는데 저는 선생님처럼 gradle 칸을 열어도 dependency 부분이 보이지 않습니다. 또한 hello-spring.build부분도 색깔로 처리되어서 메소드등이 인식되는것이 아니라 회색 밑줄로만 표시되는데요 이부분도 제대로된 세팅법을 알고 싶습니다. 기본적인 세팅부분인지라 질문에 등록되지 않았던 부분인것 같은데 해결책을 알 수가 없네요..

  • 스프링
  • MVC
  • gradle
  • java
  • spring
  • java
  • setting
  • spring-boot
gyumcho1224 댓글 4 좋아요 1 조회수 881

Tab 상수 관련되서 질문 드립니다.

미해결

[React 1부] 만들고 비교하며 학습하는 React

TabLable의 프로퍼티명을 상수 객체로 선언하신 이유가 있을까요? 추후 구현에서 TabType에 따라 안의 컨텐츠가 달라지니 map안에서 type === 'KEYWORD'와 같이 하드코딩 방지하기 위해서 일까요? (1) const TabType = { KEYWORD: 'KEYWORD', // 추천 HISTORY: 'HISTORY' // 최근 }; const TabLable = { [TabType.KEYWORD]: '추천 검색어', [TabType.HISTORY]: '최근 검색어' } Object.values(TabType) .map(tabType => ({ tabType, tabLable: TabLable[tabType] })) .map(this._getTab) .join('') ------------------------------- (2) const TabLable = { 'KEYWORD': '추천 검색어', 'HISTORY': '최근 검색어' } Object.entries(TabLable) .map((row) => { const [ tabType, tabLable ] = row; return { tabType, tabLable } }) .map(this._getTab) .join('');

  • MVC
  • react
geuni 댓글 3 좋아요 1 조회수 343

new Data( ) 질문

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

이 부분에서 new Data() 코드를 updata_time이라고 되어 있는 부분에 직접 넣어주게 되면 계속 에러가 발생을 합니다.... Data 라는 함수로 인지를 못하고 정의되어 있지 않다는 에러가 발생을 합니다. 제가 어떤 부분을 잘못한 것일까요?? const Diarycontent = ({ author , content , emotion , created_data , id }) => { const update_time = new Date ( created_data ). toLocaleString (); return ( < div className = "Diarycontent" > < h2 > diary content </ h2 > < div className = "info" > < span > 작성자: { author } | 감정점수: { emotion } </ span > < br /> < span > { update_time } </ span > </ div > </ div > ); }; export default Diarycontent ;

  • newData
  • nodejs
  • javascript
  • react
댓글 1 좋아요 0 조회수 249

최상위 태그 관련 에러 ?

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

리스트렌터링 부분에서 최상위 태그가 없어서 에러가 난다는 부분에 대해서 다시 한번 설명 부탁드리겠습니다. <h2></h2> 부분을 같이 쓰고 싶다면 어떻게 최상위태그로 묶어주어야하나요? import Diarycotent from "./Diarycontent" ; const DiaryList = ({ diarylist }) => { console . log ( diarylist ); return ( < div > < h2 > 일기장 list </ h2 > < div > { diarylist . map (( it ) => ( < div > < Diarycotent /> </ div > < div >< h2 > aaaaaaaaa </ h2 ></ div > )) } </ div > </ div > ); }; export default DiaryList ;

  • jsx
  • 리스트렌더링
  • javascript
  • react
  • nodejs
이종민 댓글 1 좋아요 0 조회수 306

궁금한 점이 있습니다.

해결됨

프론트엔드 개발자를 위한, 실전 웹 성능 최적화(feat. React) - Part. 2

불필요한 css를 purgecss로 제거하셨는데, 궁금한 점이 웹앱의 경우는 웹에서 사용하는 css는 앱에선 필요없고, 앱에서 사용하는 css는 웹에서는 필요없는데 이런것도 구별해서 제공을 해주는지 궁금합니다. 웹앱의 경우는 두개의 css를 다 갖고 있어서 불필요한 css를 줄일 수 있는지가 궁금합니다.

  • 질문
  • react
  • devtools
s s 댓글 1 좋아요 1 조회수 285

PathVariable의 대한 검증

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

안녕하세요 영한님. 수정 혹은 삭제 시 pathvariable을 사용해서 처리를 했었는데요. 이 강의를 보고 조작의 위험성에 대해서 고민이 되었습니다. 실제 사용자가 해당 리소스에 대한 권한이 있는지 체크해야 한다 라고 말씀하셨는데요. 예제의 내용으로 보안을 해야 한다면 itemId와 사용자 Id로 상품 조회 후 결과 값이 있으면 해당 리소스에 대한 권한이 있는 사용자로 판단 고로 수정 혹은 삭제가 가능으로 처리 하면 되겠습니까?? 그리고..수정은 주로 PutMapping을 사용하는데 예제에서는 PostMapping을 사용하셨더라구요. 이건 영한님의 개인 취향 일까요?? 아니면 PutMapping을 안쓰시는 이유가 있으면 알려주십시아. 질문 다시 정리하자면. 1. pathvariable로 수정, 삭제 시 가장 좋은 검증 방법 2. PutMapping 혹은 DeleteMapping에 대한 영한님의 의견을 듣고 싶습니다. 코로나 조심하세요. 영한님. 항상 좋은 강의 감사합니다 !

  • spring
  • java
  • spring-boot
  • 웹앱
  • JPA
Aura 댓글 1 좋아요 2 조회수 706

import {Icon} 에러 나시는 분

미해결

따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기

직접 공식문서 찾아드리려 했지만 이분께서 정리를 잘 해주셨습니다. ant design업그레이드 되면서 바뀐 문제입니다. 참고: https://shinye0213.tistory.com/317

  • react
  • redux
  • mongodb
  • nodejs
손서연 댓글 1 좋아요 0 조회수 276

자바에서 valid하는 것과 JS로 valid하는 경우

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 자바에서 valid하는 것과 JS로 valid하는 경우 커스터마이징이 JS가 좀더 쉬워보이는데 자바로 하는게 더 효율적인가요??

  • spring-boot
  • 웹앱
  • spring
  • JPA
  • java
박주영 댓글 1 좋아요 0 조회수 236

++에 대해서 궁금합니다.

미해결

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

1:40부근에 ++에 대해서 설명하실때 예를들어 i++ 라고하면 i에 1씩 더한다고 설명하셨는데. 실행할때는 i=0 이라 선언하고 i++를 실행하면 바로 1이더해진값인 1이 나오는게아니라 한번더 i의 값에 대해서 물어야지 1이더해진 값이 출력되더라구요. i++가 한번치면 i+1 두번치면 i+2 인데 해당상수 더하기는 바로적용되서 값이 반영되던데 ++는 어째서 출력값이 한번더 i의 값에대해 물어야지 나오는건가요? 쓸때없는 질문이지만 단순호기심에 여쭤봅니다.

  • HTML/CSS
  • javascript
  • react-native
  • nodejs
  • tensorflow
  • react
  • express
  • 머신러닝 배워볼래요?
댓글 1 좋아요 1 조회수 170

JAVA에 ContentBean의 content_data가 int형이여도 되는이유가 뭔가요

미해결

윤재성의 만들면서 배우는 Spring MVC 5

안녕하세요. 현재 강의에서 XML, JAVA 모두 kr.co.softcampus.beans 패키지 안에 ContentBean.java 클래스에서 content_data변수를 String으로 사용하고 있습니다. 하지만, java프로젝트에서 String이 아니라 int로 설정하여도 작동되어서 문의드립니다. 왜 그런가요? XML의 경우는 안된다고 나옵니다.(당연히..)

  • MVC
  • java
  • spring
  • XML
it 댓글 1 좋아요 0 조회수 213

getter setter 인텔리제이에서 만드는 법

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

안녕하세요. getter setter를 만들려고 했는데 alt+Insert를 해도 generate에 test와 copyright만 뜨고 다른게 뜨지를 않습니다. 이럴땐 getter setter를 어떻게 만들어야 할까요 ㅠㅠ.. 구글링을 해봐도 모두 generate를 누르면 다 getter setter 탭이 뜨는데 인텔리제이 사용이 처음이라 어렵네요 ㅠㅠ..

  • gettersetter
  • java
  • MVC
  • spring
  • spring-boot
지향 댓글 2 좋아요 0 조회수 1871

메모리 데이터 조회 예제를 해보고 있는데 폼 데이터를 하나 더 추가하니 조회가 안됩니다.

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

안녕하세요. 회원 목록 Memory 에 저장하는거를 토대로 그냥 시간, 할 일 데이터를 받아와서 출력하는 예제를 해보고 있습니다. ( 수업 때 진행하셨던 부분을 토대로 한거라 구조는 같은데 Model에 date,work 가 저장되어 변수 하나 더 추가해서 해보는 중입니다. ) - 날짜, 할 일을 입력 받는 것까지 되는거는 확인 했습니다. - 1 을 보시면 아시다 싶이 id 값은 출력이 됩니다. 그런데 date 와 work 로 설정해놓은 데이터들이 출력이 안됩니다. 소스파일은 zip 파일로 묶어서 구글드라이브에 올려놨습니다. ( https://drive.google.com/file/d/1aTSxDKgxCr-do_l9oV0zNX3NTc7jDfRN/view?usp=sharing ) 한번 확인 가능하시면 어떤 부분을 놓치고 있는 것인지 조언 부탁드립니다.

  • spring
  • spring
  • java
  • java
  • spring-boot
  • MVC
준준 댓글 2 좋아요 0 조회수 330

MemberRepository 에서 cannot find symbol 오류

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요!! 동영상 강의 잘 보고 있습니다. 강의 내용 대로 따라서 하고 있는데 MemberRepository 를 작성하고 나면 cannot find symbol 오류가 발생합니다. 자동으로 import 되는게 강의와 다르게 import java.lang.reflect.Member; 로 되고 있습니다. 동영상 강의에는 import hello.hellospring.domain.Memeber; 되어 있는데 여기에서 오류가 발생하고 있습니다. 어느 부분이 잘못 됐을까요.. package hello.hellospring.repository ; import java.lang.reflect.Member ; import java.util.List ; import java.util.Optional ; public interface MemberRepository { Member save (Member member) ; Optional<Member> findById (Long id) ; Optional<Member> findByName (String name) ; List<Member> findAll () ; }

  • MemberRepository
  • java
  • member
  • MVC
  • spring
  • spring-boot
SSK 댓글 1 좋아요 0 조회수 1516

그림 불러오기

미해결

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

그랩마켓이라는 이미지 불러오기가 안되네요... 어떻게 해야될까요???

  • express
  • tensorflow
  • HTML/CSS
  • nodejs
  • javascript
  • 머신러닝 배워볼래요?
  • react-native
  • react
댓글 1 좋아요 0 조회수 244

Props 강의 관련해서 질문!!

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

안녕하세요. OddEvenResult 관련 부분 설명 시, 저는 decideodd 라고 했을 때는 인식이 되지 않다가 Decideodd 라고 하게 되면 인식이 되는 모습을 볼 수 있었습니다. 즉. 함수명은 소문자로 시작하면 에러가 발생을 합니다. 관련해서는 무조건 대문자로 시작을 해야하는건가요??

  • javascript
  • react
  • nodejs
이종민 댓글 1 좋아요 0 조회수 299

React alert창 띄운 후 확인 버튼 누르면 값 갱신 안되게 하는 방법ㅠㅠ

미해결

안녕하세요, react로 웹 페이지를 제작 중입니다. 다름이 아니라 3개 이상 선택하면 alert창으로('3개까지만 선택 가능합니다')라고 띄우는 것 까지는 썼는데 이제 확인을 누르면 4개도 다시 클릭이 되더라구요.. 이걸 막는 방법은 뭐가 있을까요..? 관련된 함수랑 코드를 써놓겠습니다..! const [ number , setNumber ] = useState ( 0 ); const increaseNumber = () => { setNumber ( number + 1 ) }; const decreaseNumber = () => { // number의 값을 감소시키는 함수 setNumber ( number - 1 ); }; const over3 =() => { if ( number >= 3 ){ alert ( '3개까지만 선택 가능합니다!' ); } } //onClick에 카운트 세는 함수 설정되어있습니다. < div className = 'movieposter' > { datas . map (( movie , i ) => ( movie . value === true ? < img className = 'img-responsive_clicked' src = "https://movie-phinf.pstatic.net/20220214_120/1644825641315cvVKI_JPEG/movie_image.jpg?type=f125" alt = { i } onClick = { () => { decreaseNumber (); handleClickImage ( i );} } /> : < img className = 'img-responsive' src = 'img/movie_image1.jpg' alt = { i } onClick = { () => { increaseNumber (); handleClickImage ( i ); over3 ()} } /> )) } </ div >

  • react
  • reactjs
  • 웹페이지
  • 프론트엔드
namuneulbo 댓글 1 좋아요 0 조회수 3179

csrf 토큰 과 jwt 토큰

미해결

스프링 시큐리티

제가 jwt를 사용하고 싶은데 그런 경우에는 jwt를 사용하면 csrf 기능을 사용하면 안되는 건가요?

  • Spring Security
  • java
  • spring-boot
seonjun Moon 댓글 1 좋아요 2 조회수 2447

인기 태그

인프런 TOP Writers

주간 인기글