묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
REPEATABLE READ 등은 Serializable보다 완전히 안전하지는 않지만 성능이 좋기 때문에 사용하는 것인가요?
생각하다 보니까 고립도라는 것은 근본적으로 이런 경우에는 이런 고립도만 쓰지 않으면 100% 안전하기 때문에, 쓸 수 있는 고립도 중 가장 성능이 좋은 고립도를 쓰는게 아니라, 어떤 고립도를 쓰더라도 확률적으로 위험한 경우가 발생할 수 있지만 잘 일어나지 않기 때문에 Serializable 아닌 성능적으로 빠른 REPEATABLE READ 등을 사용하는 것인지 궁금합니다. ====================== 제가 생각한 일반적인 예는 아래와 같습니다. 아버지와 아들이 있습니다.아들은 다음날 수학 여행에 필요한 버스비가 1000원이라고 아버지께 말해놓았습니다. 그래서 아버지는 저녁때 아들의 계좌를 확인해서 1000원으로 맞춰놓기로 약속하셨습니다.그날 저녁 아버지의 행동을 함수로 구현하면 아래와 같습니다. 아들 계좌를 확인하고 1000원이 되도록 채워주기_f() {select해서 아들 계좌의 돈을 확인합니다. 1000 - 아들 계좌의 돈 만큼 다시 아들 계좌로 송금합니다.} 그날 저녁 아들 계좌에는 700원이 있었는데 자기 돈을 사용해서 200원짜리 포켓몬 빵을 사먹었습니다. (아들의 update문)그런데 그때 하필 아버지가 아들 계좌를 확인하고 1000원이 되도록 채워주기_f() 를 실행한 겁니다. 아버지가 select 할 때는 아들 계좌는 700원이었습니다. 그래서 아버지는 300원만 더 넣어주면 1000원이 되겠군, 이라고 결론을 내리고 300원을 아들 계좌로 송금합니다. 300원을 송금하는 부분을 쪼개어보면 select 해서 아들의 계좌 잔액을 가져오고 거기에 300원을 더한 값을 set 하는 방식이었습니다. (SQL에 add라는 기능이 없기 때문에)그래서 결국 락이 풀림과 동시에 set 1000이 될 겁니다. 아들은 분명 200원짜리 포켓몬을 샀는데도 계좌에는 800원이 아닌 1000원이 남게 됩니다. 무에서 유가 창출되는 사건이 발생하는 것입니다!============================================위의 예처럼 update문에만 락이 걸려도 무결성에 위배되는 경우가 생길 것 같습니다. Serializable이라는 고립 레벨이 있긴 해도 성능상의 이유로 Serializable은 잘 안 쓴다고도 알고 있습니다. 그럼 Serializable 아닌 경우라면 위와 같이 절묘하게 타이밍만 맞아 떨어지면 데이터 무결성이 깨지는 경우가 발생할 수 있다는 것인데... 그럼 일반적으로 REPEATABLE READ를 사용할 수 있는 논리와 아닌 논리로 나누어져 있다기 보다는 위와 같이 절묘한 순간이 잘 일어니지 않기 때문에 성능적으로 더 좋은 REPEATABLE READ 등을 사용한다고 보면 되나요?
-
미해결
오셔서 숟가락만 얹으시면 됩니다! (온라인 프로젝트 팀원)
현재 프론트엔드(2) + 백엔드 (2)명이서 프로젝트를 하고 있었는데, 프론트였던 제가 개인사정 (취업, 이사, 건강 문제 겹침)으로 지금 아예 프로젝트에 참여를 못하고 있습니다. 다른 팀원들께 민폐가 되는 것 같아 팀원분들께 말씀을 드리고, 새로운 팀원을 대체하려고 하고 있습니다.[장점] - api다 나왔고, 진행 상황 80% 이상입니다. - 지금 투입되시면 소셜로그인, 회원가입만 구현하시면 되고, 이부분도 ui,API 다 나온 상태입니다. - 모든 일은 문서로 노션에 정리되어 있습니다. - 제가 직접 코드 설명도 드리고, 또 막히는 부분있으면 제가 계속 도움 드리겠습니다! - 슬랙 통해서 매주 수요일 7시에 슬랙으로 회의하고 있고, 현재 배포도 완료되었습니다! 관심 있으신 분은 아래 오픈 채팅으로 들어오셔서 편하게 질문해주시면 됩니다.카카오톡 오픈채팅 (kakao.com) (들어오시면 저희 지금 배포된 사이트도 보여드리겠습니다!) 참고로 주제는 프로젝트 매칭 사이트(홀라 클론코딩)입니다.
-
미해결스프링 핵심 원리 - 기본편
@Qualify, @Primary보다 @Autowired + @RequiredArgsConstructor이 최고의 방법 아닌가요?
안녕하세요. 강의를 듣는 중 두 가지 궁금한 점이 생겨서 질문 남기게 됐습니다. 1. 제목의 내용과 같습니다. 쉽게 말해 두 개 이상의 동일한 타입의 빈이 등록 돼 있을 경우 아래와 같이 사용할 수 있더군요. 여기서 보면 RequiredArgsConstructor를 통해 두 final 변수를 매개변수로 생성자를 생성했습니다. 그리고 필드 명을 fixDiscountPolicy로 바꿔주므로써 DiscountPolicy 타입으로 등록된 두개의 빈 중 fixDiscountPolicy가 선택돼 주입되도록 했습니다. 이 방법이 최고의 방법이라고 생각한 이유는 DiscountPolicy에 의존하므로써 추상화에만 의존하는 법칙을 지키면서 해당 구현체로 뭘 쓰고 있는지 변수명으로 파악이 가능하기 때문입니다. 이 부분에 대해서 생각한 부분이 맞는지 궁금합니다. 2. @RequiredArgsConstructor를 사용하면 @Qualifier를 쓸 수 없나요? 감사합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
질문이 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]아래 처럼 reponse 에 값을 넣으면 스프링이 알아서 리스폰스를 리턴해 주는건가요? callbyreference 라고 생각하면될까요? @Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest httpRequest = (HttpServletRequest) request; ... ... httpResponse.sendRedirect("/login?redirectURL=" + requestURI); }
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
if / else를 전부 삼항 연산자로 대채해도 무방할까요?
제목 그대로 입니다. 제가 삼항연산자에 대해 알기 전까지는 조건이 참 혹은 거짓일 경우 if / else를 주로 써왔는데 삼항연산자는 최소 코드1줄로 이를 구현이 가능하니 즐겨쓰게 되었습니다. 그런데 이를 남용해도 될까요? is / else 만 쓴다던지 삼항연산자만 쓴다던지 그것은 개인의 코드 스타일인걸까요? 조현영님의 생각이 궁금합니다.
-
미해결홍정모의 따라하며 배우는 C언어
scanf 오류가 계속 뜹니다
강의와 똑같이 코드를 작성했는데 계속 오류가 뜹니다 scanf_s를 사용하면 성공이 되긴 하는데 왜 이러는 건가요??
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
nav bar 메뉴에 로그인 유무에 따라 ui를 다르게 하고싶습니다.
완강은 아직 안했지만 강의에는 해당 내용이 없는것 같아서 질문드립니다. 로그인한 상태에서는 nav bar 에 로그인 및 회원가입 페이지로 이동하는 링크나 태그를 보이지 않게 하고싶습니다. 혹시 user state의 isAuth를 가져와서 삼항식으로 구현하면될까요?
-
미해결플렉스(Flex) 반응형 웹사이트 포트폴리오(The World's Best Cities)
모바일버전에서 스크롤이 생겨서요 ㅜㅜ
안녕하세요 수강생 입니다.반응형 퍼블리싱 강좌 리스트를 공부하는 중인데요. 제가 레이아웃을 비슷하게 해서 응용해서 코딩을 해 보았는데아래쪽에 스크롤이 생겨서는 없앨수가 없습니다. ㅜㅜ어디가 잘 못 된것인지 조언을 부탁 드립니다. 코드 업로드 하는게 잘 안되어서 서버 링크로 알려 드립니다. http://sansok.dothome.co.kr/daechung/namul.html감사합니다.
-
미해결스프링 핵심 원리 - 기본편
@Request Scope 빈 생성 시점 질문
안녕하세요 강의 중 myLogger 객체의 정확한 생성 시점이 애매해 질문드립니다. 1. http 요청이 들어온 시점 - logDemo 메소드 호출 시점 2. Provider의 getObject 호출 시점 이라고 했을 때, @Request의 스코프가 '요청이 들어왔을 때부터 끝날 때까지' 라면 1번이라고 생각했습니다. 근데 강의 내용, 다른 질문이나 print문 을 삽입해서 실험해봤더니 2번이 맞는듯 해서요 그렇다면 @Request 스코프를 'http 요청이 들어왔고 && getObject를 통해 컨테이너에 접근했을 경우 생성' 라고 생각했는데, 이렇게 이해를 해도 될지 질문드리고 싶습니다.
-
미해결따라하며 배우는 TDD 개발 [2023.11 업데이트]
올려둔 ES6 Express Jest Boilerplate Template 으로 개발 중이신 분들...
아래처럼 작성하시면 됩니다. import * as productsController from '../../src/products/products.controller'; export const hello = ""; 는 import { hello } from '경로'; 이렇게 임포트... const hello = ""; export default hello; 는 import hello from '경로'; 이렇게 임포트...
-
미해결따라하며 배우는 TDD 개발 [2023.11 업데이트]
ES6 사용하고 싶은 분들...
저만 그런건지 모르겠지만 아래 환경에서 jest.fn() is not function 에러가 발생하고 있습니다. 1. Express.JS 사용 중 2. ES6 문법을 사용 중 3. package.json 에 "type":"module" 옵션 추가 4. 그로 인해 import 구문의 './파일명.js' 로 작성해야함 5. package.json 의 script 항목의 "test" : "jest" 를 아래로 변경 "node --experimental-vm-modules node_modules/jest/bin/jest.js" 에러 발생 원인은 '.js' 부분 떄문이라고 추측하지만 정확하지 않습니다. 떠힌 Jest NODEModules 기능은 실험적 기능이며, 몇몇 기능이 지원되지 않는 것이라고 추측하고 있습니다.따라서 dev 환경에서는 ES6 를 쓰도록 별도로 셋업하고 ES5 로 빌드 하는 과정이 필요한 것이 아닌가 싶었습니다.git clone https://github.com/unchaptered/express-web my-app 혹은npx degit unchaptered/express-web my-appcd my-appnpm i를 이용해서 프로젝트를 셋업하고 작성하시면 됩니다.커뮤니티에도 올려두었는데 문제 되는 부분 있으면 댓글 부탁드립니다. ES6 Express Jest Boilerplate Template ES6 익스프레스 보일러플레이트 탬플릿 - 인프런 | 자유주제 (inflearn.com)
-
미해결영리한 프로그래밍을 위한 알고리즘 강좌
1강 pdf파일
1강은 강의없이 스스로 읽어보면 되는건가요??
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
view가 제대로 나오지 않습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 뭘 잘못했는지 어느 순간부터 화면이 안나오네요... 강의 보고 했는데 뭘 안했는지 잘 모르곘어요 ㅠㅠ 아래 프로젝트 파일입니다.. https://drive.google.com/file/d/1EE_x_MA0bFVMgCQ5zXXVruwdzGyjZT2p/view?usp=sharing
-
미해결기출로 대비하는 개발자 전공면접 [CS 완전정복]
RDB의 INDEX를 B-Tree 구조로 가져가면 좋은 이유에 대해 궁금증이 있습니다.
RDB의 Index를 B-Tree 구조로 하면 삽입, 수정, 삭제 시 O(logN)의 시간복잡도를 갖는다고 하셨는데 어떻게 그렇게 되는지 궁금합니다.
-
미해결풀스택을 위한 탄탄한 프런트엔드 부트캠프 (HTML, CSS, 바닐라 자바스크립트 + ES6) [풀스택 Part2]
메일 확인 부탁드립니다
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다부탁ㄷ,립- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
순서도 질문드립니다.
안녕하세요! 강의 잘 보고 있습니다! 강의를 보다가 순서도에 대한 궁금증이 생겨 질문드립니다. 강의를 멈추고 순서도 작성을 해보는데 항상 선생님이 하시는 것과 조금씩 다릅니다. 예를 들어 아래와 같이 작성을 했는데 이렇게 작성하는 것도 맞는 방법인가요? 제가 작성한 게 맞는 건지 궁금합니다!
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
atom package 설치 질문입니다.
atom 환경설정을 마치고 파이썬 패키지를 설치하는 단계에서 autocomplete와 script 설치를 하는 중, npm ERR! code E500 오류가 뜨고 있습니다. 현재 올려주신 설치방법이나 해결책을 모두 살펴보았지만 이런 오류는 처음인 것 같아 질문 드립니다. 이런 경우 Atom이 아니라 VScode를 활용하는 쪽이 나을까요?? 빠른 답변 부탁드립니다. 감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
import domain.Member 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요 김영한 강사님. 강의 잘 보고 있습니다. 다름이 아니라, repository 패키지에 생성한 두 파일에 Member Class를 import 하는 과정에서 문제가 생겨 질문 드립니다. Member Class의 경우 문제없이 작동되는데, 어떤 부분이 문제인지 모르겠습니다.
-
미해결자바 스프링부트 활용 웹개발 실무용
강사님. 코드관련 질문드립니다.
강사님 강의를 너무 잘듣고 있습니다. 강의하시는 코드를 깃허브로 받아볼 수 있는지 문의드립니다. 좋은 강의 너무 감사드립니다 :)
-
미해결
[Python 오류] 질문입니다! couldn't find program 'bash' (급합니다ㅠ)
%%bash # drive.mount("/content/drive") apt-get update apt-get install g++ openjdk-8-jdk python-dev python3-dev pip3 install JPype1 pip3 install konlpy %% bash 에서 막히네요 오류는 제목 그대로 뜹니다 현재 git bash가 설치되어 있는 상황인데 연관이 있을까요?