묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
스프링 빈의 자원공유 관련 질문드립니다
이번에 회사에서 Spring Security로 동적 ACL을 개발하다가 사용자 별로 독립적인 권한을 주고, 이 권한에 따라 사이드메뉴에 보이는 항목들을 다르게 해주었는데요. 이때 모든 쓰레드가 각 권한별로 갖고있는 리소스 접근권한 정보에 대해 알게하고 싶어(사이드 메뉴를 렌더링해야 하므로) 스프링 빈을 하나 만들고 이 빈에 해당 정보를 공유자원으로 등록했습니다. 자료구조는 ConcurrentHashMap을 썼습니다. 모든 쓰레드가 공유해야 할 자원이라 스프링 빈을 썼고 이로 인해 어떤 문제가 발생할 수 있을지 곰곰히 고민해봤는데 대략적으로 어떤 문제들이 발생 할 수 있는지 잘 모르겠습니다. 대부분의 스프링 책과 강의들에선 스프링 빈은 모든 쓰레드에서 상태를 공유하므로 사용에 주의를 기울여야 한다라거나 불변해야 한다는 이야기를 많이하지만, 자원을 공유하기 위해 스프링 빈을 쓰라는 얘기는 못봤었거든요. 왜 공유해야만 하느냐면 이렇게 하지 않으면 유저별로 로그인할때마다 데이터베이스에서 자신이 갖고있는 리소스 접근권한을 모두 검색해서 가져와야만 하는데, URL의 개수가 너무 많았기 때문입니다. 혹시 어떤 문제가 발생할 수 있을지, 더 좋은 방법은 없었는지에 대해 의견을 구합니다.
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
Type Error 문제
안녕하세요, 유용한 강의 잘 듣고 있습니다. 저는 vs code를 사용하고 있는데요, 강사님이 올려주신 거랑 동일하게 json을 import 해서 data 사전을 만들었는데, TypeError: the JSON object must be str, bytes or bytearray, not dict 라는 메시지가 뜹니다. 대충 사전은 JSON의 객체가 안 된다는 뜻 같거든요. 주피터 노트북을 사용하지 않아서 이런 문제가 생기는 걸까요? 해결 방법이 궁금합니다.
-
미해결실전! 스프링 데이터 JPA
Query() 어노테이션을 활용한 JPQL 질문입니다.
안녕하세요! 저는 현재 파이썬을 통해 실무를 하고 있습니다. 거의 모든 쿼리를 날릴 때 raw쿼리보다는 ORM을 사용해서 진행하고 있는데요. JPQL은 raw query까지는 아니지만 직접 sql문을 작성해야해서 많은 불편함이 있는 것 같아요. 이번 강의 다음이 querydsl이라 조금 달라질 것 같긴한데 아직 강의를 듣기전에 미리 질문드려봅니다. 질문 목록에서 확인해보니 실무에서도 @Query() 어노테이션을 활용하여 JPQL을 직접 적어주는 단순 쿼리를 자주 사용한다고 하셨는데요. querydsl의 경우 별도의 레포를 생성해줘야하기 때문에 발생하는 불편함은 있겠지만, ORM이 제공하는 가독성과 편리함은 그보다 더 많은 장점을 가져다 준다고 생각합니다. 질문을 요약하자면, 모든 레포에서 QueryDSL을 사용하는건 지양해야 할까요? 실무에서는 QueryDSL로 통일시키지 않고 말씀해주신 것 처럼 단순 쿼리의 경우 Query 어노테이션을 사용할까요? (물론 복잡한 쿼리의 경우 raw하게 나가야할테지만 제외하고 질문드려요) 감사합니다.
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
폰트어썸이 해결되지 않네요.
index.html 에 폰트어썸 cdn 최신 버전을 넣고, 폰트어썸 사이트에서 아이콘을 찾아 복사를 했는데 화면에 나타나지 않네요. 혹시 제가 잘못 설정한 부분이 있을까요? 게시판에 올라와있는 부분을 똑같이 실행해봐도 해결되지 않네요.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
enum을 실무에서 어떻게 사용하시는가요?
안녕하세요. enum type에 대해 실무 사용은 어떻게 사용하시는지 질의드립니다. emum type을 대부분 string 으로 사용하시는데 실문에서도 동일하게 사용하시나요? 아니면 enum에 code를 지정해서 공통 코드로 DB에서 따로 관리하시는지 궁금합니다~!
-
미해결
다 수강 못한 과목이 있어 재수강시 비용에 할인은 있나요?
안녕하세요. 다 수강 못한 부분이 있어 재 수강시 비용에 할인은 있나요? 만약 할인이 있다면, 수강 기간은 줄어드나요? 감사합니다. ^^
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Manager에서 싱글톤 작성했는데.. 에러가 발생하네요.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 이러 상황은 다음과 같습니다. null reference. 코드는 몇번이고 확인 했는데.. 여기 11번째 줄은 정확히 작성된 듯해서 문의 드립니다. 확인 부탁드립니다.
-
미해결성공적인 SQL 인젝션 공격을 위한, SQL 기본 문법
기존의 mysql
기존에 공부를 하며 mysql을 따로 설치를 했었는데 이번에 웹해킹과 개발을 공부하면서 apmsetup을 설치하고자 합니다. 이경우에 기존 mysql을 삭제해주어야 하나요?
-
미해결타입스크립트 시작하기
질문있습ㄴ디ㅏ ~!
안녕하세요 강사님. Unpacked<T> = T extends (infer U)[] 에서 U는 어디서 오는건가요 ? type T0 = Unpacked<string[]>; 이렇게 되어있으면 T가 string[]이고 U는 string인건가요 ? infer를 적어주면 알아서 판단해주는 역할을 하는건가요 ? StringPropertyNames<T> ={}[keyof T]; 여기 뒤에 오는 [keyof T] 이것은 모든 곳에서 뒤에 저렇게 붙여주면 해당 타입으로 가져올 수 있는건가요 ?
-
미해결자바스크립트 중고급: 엔진 핵심
다른 분들에 비하면 보잘것 없지만 저도 풀어보았습니다
강의 잘 듣고있습니다. 자바스크립트는 어려워 라는 편견을 가지다가 선생님 강의 접하면서 굉장히 재밌게 듣고있습니다. 이번에 정리시간에 나온 문제를 나름대로 풀어보긴 풀어보았으나 다른 분들에 비하면 아직 갈 길이 머네요. 더욱 더 노력하겠습니다~! 항상 좋은 강의 감사합니다. var member = { Jan: { item: { title: 'JSBook1', amount: 100 }, point: [10, 20, 30] }, Feb: { item: { title: 'JSBook2', amount: 200 }, point: [40, 50, 60] }};var sumResult = 0;function arrayShow(list) { console.log(list); for (k = 0; k < list.length; k++) { sumResult += list[k]; }}function show(param) { for (var type in param) { if (typeof param[type] === 'string' || typeof param[type] === 'number') { console.log(type + ' : ' + param[type]); } else if (param[type] instanceof Array) { arrayShow(param[type]); } else { show(param[type]); } }}show(member);console.log(sumResult);
-
미해결ESXi 가상 인프라 구축과 보안 솔루션을 활용한 이상징후 탐지 모니터링
블랙리스트 적용 불가
스퀴드 설정 하고 프록시도 동일하게 설정 후 ACLs에서 블랙리스트란에 www.naver.com www.google.com 입력 후 저장을 했는데 네이버랑 구글이 접속이 됩니다. .. 어떻게 해야할까요?..
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
wepapp폴더 안에 index.html 이 웰컴페이지로 작동을 안합니다ㅠㅠ
war파일로 받아서 강의내용 따라가고 있는데 wepapp 폴더안에 넣은 html파일이 localhost:8080/index.html 로도 404오류가 나고 웰컴페이지로도 404가 나옵니다ㅠ ㅠ
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
질문입니다
이부분이 도대체 왜 틀렸는지 모르겠습니다 무한반복을 도는것도 아닌데 자꾸 오답이라네요 ;; 뭐가 문제인가요? 제 눈으로는 보이지가 않습니다 ㅠㅠ 2번문제 대소문자 변환 문제인데요 로컬에서는 분명히 되는데 왜 오답처리가 되는지 모르겠습니다 ㅠ import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); String input1 = sc.nextLine(); int length = input1.length(); char arr[] = input1.toCharArray(); for(int i = 0; i < length; i++) { if(arr[i]-0 >= 65 && arr[i]-0 <= 97) { arr[i]=(char)(arr[i]+32); }else { arr[i]=(char)(arr[i]-32); } } for(int i = 0; i < length; i++) { System.out.print(arr[i]); } } }
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
cannot found module
안녕하세요, 해결됬지만 원인을 몰라서 질문 올립니다 npm run start (server) 했을때 cannot find module 이라는 에러메세지를 받았는데요 node_module에서 디버깅 기능으로 start를 실행하니, 아무런 코드 체인지 없이 실행이 잘됬거든요, 이런 경우는 대략 어떤경우인가요?;;
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
getRequestURL 이랑 getRequestURI 에서요.
안녕하세요. HTTP 강의에서 URI 가 URL의 상위개념이라고 하셨던걸로 기억합니다. 근데 getRequestURL 메소드는 요청에 사용된 전체주소가 나오는 반면 getRequestURI 는 하위주소만 가져오더라구요. 여기서 getRequestURI 가 제가 아는 URI(Uniform Resource Identifier)가 아닌 다른 영어의 약자인가요? 아님 그냥 서블릿측의 네이밍 실수 일까요? 강의보다가 갑자기 궁금해져서 질문 드립니다.
-
미해결예제로 배우는 스프링부트 입문
MariaDB 시퀀스 질문 드립니다.
14 간단한 게시판 만들기 208페이지 테이블 생성에서 create sequence simple_bbs_seq; 가 오라클 쿼리 인거 같은데 MariaDB사용할 경우 어떤 쿼리를 넣으면 되나요?? 위의 쿼리를 넣고 실행하면 콘솔에 java.sql.SQLException: Unknown column 'simple_bbs_seq.nextval' in 'field list' 에러가 뜨네요.... DB를 조회하면 MariaDB [test]> select * from simple_bbs_seq; +-----------------------+---------------+---------------------+-------------+-----------+------------+--------------+-------------+ | next_not_cached_value | minimum_value | maximum_value | start_value | increment | cache_size | cycle_option | cycle_count | +-----------------------+---------------+---------------------+-------------+-----------+------------+--------------+-------------+ | 1 | 1 | 9223372036854775806 | 1 | 1 | 1000 | 0 | 0 | +-----------------------+---------------+---------------------+-------------+-----------+------------+--------------+-------------+ 1 row in set (0.001 sec) 라고 뜹니다. 217페이지 "그리고 45라인의 simple_bbs_seq.nextval은 오라클의 시퀀스를 호출해 자동 증가된 값을 가져오는 것이다. 오라클이 아닌 다른 데이터베이스를 사용하고 있다면 이부분을 해당 데이터베이스에 맞게 수정하면 된다" 라고 적혀 있는데 아직 sql초보라 쿼리를 몰라서 질문 드립니다. 질문이 장황했네요 MariaDB사용할 경우 어떤 쿼리를 넣으면 되나요??
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
admin superuser 서버상띄운후 만들기
안녕하세요! admin 관련해서 질문 드립니다. 로컬에서는 python manage,py createsuperuser 로 admin 계정을 만들던대 docker container 에 올리고 서버를 띄우고 나서는 admin 계정을 어떻게 만들어야 하나요? dockerfile 에서 새로운 구문을 추가해줘야 하나요?
-
미해결[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지
추가 질문
Sequential을 사용하여 추가 하는 방법말고 , 첫번째로 알려주신 내용으로 저번 질문에 층 추가를 해봤습니다. class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.conv1 = nn.Conv2d(3, 6, 5) self.pool1 = nn.MaxPool2d(2, 2) self.conv2 = nn.Conv2d(6, 16, 5) self.pool2 = nn.MaxPool2d(2, 2) self.conv3 = nn.Conv2d(16, 32, 3) self.pool3 = nn.MaxPool2d(2, 2) self.conv4 = nn.Conv2d(32, 64, 3) self.pool4 = nn.MaxPool2d(2, 2) self.fc1 = nn.Linear(64 * 3 * 3, 120) ##### 추가 부분 self.fc2 = nn.Linear(120, 64) ##### 추가 부분 self.fc3 = nn.Linear(64, 10) def forward(self, x): x = self.pool1(F.relu(self.conv1(x))) x = self.pool2(F.relu(self.conv2(x))) x = self.pool3(F.relu(self.conv3(x))) x = self.pool4(F.relu(self.conv4(x))) x = x.view(-1, 64 * 3 * 3) # 5x5 피쳐맵 16개를 일렬로 만든다. x = F.relu(self.fc1(x)) x = F.relu(self.fc2(x)) x = F.relu(self.fc3(x)) x = self.fc4(x) return x net = Net().to(device) # 모델 선언 이런 오류가 발생되는데요.. 제가 어딜 잘못 했는지를 모르겠네요 ^^;;; --------------- RuntimeError: Calculated padded input size per channel: (1 x 1). Kernel size: (3 x 3). Kernel size can't be greater than actual input size --------------- loss_ = [] # 그래프를 그리기 위한 loss 저장용 리스트 n = len(trainloader) # 배치 개수 for epoch in range(10): # 10번 학습을 진행한다. running_loss = 0.0 for i, data in enumerate(trainloader, 0): inputs, labels = data[0].to(device), data[1].to(device) # 배치 데이터 optimizer.zero_grad() outputs = net(inputs) # 예측값 산출 loss = criterion(outputs, labels) # 손실함수 계산 loss.backward() # 손실함수 기준으로 역전파 선언 optimizer.step() # 가중치 최적화 running_loss += loss.item() loss_.append(running_loss / n) print('[%d] loss: %.3f' %(epoch + 1, running_loss / len(trainloader))) print('Finished Training') net = Net().to(device) # 모델 선언
-
미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
Thread synchronization(스레드 동기화) 관련
안녕하세요 선생님. 동기화가 안되어서 Ending value가 2가 나오는 현상에 대해서 질문이 있습니다. 분명히 logging.info("Thread %s: finishing update", n)까지 실행이 3번되었는데 self.value가 3이 안나오는 이유가 궁금합니다. 수업에서 설명해주신거같은데 아직 이해가 잘 안된거같습니다. 동시에 함수가 실행되어서 나타나는 현상인가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링 빈의 역할이 무엇인가요?
안녕하세요! 스프링 빈의 역할이 무엇인지 잘 모르겠습니다..! 빈 자체의 개념이 이해가 안가서 서치를 좀 해보니" 매번 클라이언트에서 요청이 올 때마다 각 로직을 담당하는 오브젝트를 새로 만들어서 사용한다고 생각해보자 요청 한 번에 5개의 오브젝트가 새로 만들어지고 초당 500개의 요청이 들어오면, 초당 2500개의 새로운 오브젝트가 생성된다. 서버가 감당하기 힘들다."그래서 빈이 필요하다 라는 말을 봤는데 그 필요성은 알겠으나 정확하게 빈이 무엇인지 모르겠습니다 또한 왜 new로 선언하면 빈이 되지 못하는건가요?