묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결15일간의 빅데이터 파일럿 프로젝트
가상 server01 putty 접속시 오류 현상 (접속 끊김)
안녕하세요! "5. 빅데이터 클러스터 구성 4 - putty로 서버환경 접속"을 수강중에 있습니다.putty server01 login : root는 입력되는데,password가 쳐지지 않고 조금 있으면 접속이 끊긴다는 오류 메세지가 출력됩니다."Remote side unexpectedly closed network connection"어떻게 조치해야 하나요?
-
해결됨데이터 분석 SQL Fundamentals
강사님 with 와 서브쿼리에 대해 질문이 있습니다.
with temp_01 as ( select avg(sal) as emp_avg from emp ) select deptno ,avg(sal) from emp group by deptno having avg(sal) > (select emp_avg from temp_01); -- 전체 평균 급여보다 부서평균 급여가 높은 부서 번호를 출력하세요 having에서 조건을 비교하는 방식을 사용한다고 한다면강사님께서는 having에 서브쿼리를 사용하게 되면 ,그 서브쿼리를 매번 실행하다보니 추천을 하지 않는다고 하셨는데 여기서 with로 임시 테이블을 지정하면이미 재사용하기 편하기 위해서 temp_01로 만들어서 사용하면임시 서브쿼리 테이블을 사용하니까 비상관 서브쿼리를 날리는 거보다 좀 더 나은 걸까요?
-
해결됨자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
이 코드는 어떤 부분이 문제인지 궁금합니다.
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); Main main = new Main(); for (int i = 0; i < n; i++) { System.out.print(main.solution(i) + " "); } } private int solution(int i) { if (i <= 1) { return 1; } return solution(i - 1) + solution(i - 2); } }
-
해결됨실전! 스프링 데이터 JPA
스프링 부트3와 카운트 쿼리 분리
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요.카운트 쿼리 분리 부분을 듣는 도중에 카운트 쿼리에 LEFT JOIN이 사용되는 결과를 확인하기 위해 다음처럼 코드를 작성하였습니다.public interface MemberRepository extends JpaRepository<Member, Long> { @Query(value = "select m from Member m left join m.team t") Page<Member> findByAge(int age, Pageable pageable); ... } @Test public void paging() throws Exception { //given memberRepository.save(new Member("member1", 10)); memberRepository.save(new Member("member2", 10)); memberRepository.save(new Member("member3", 10)); memberRepository.save(new Member("member4", 10)); memberRepository.save(new Member("member5", 10)); //when PageRequest pageRequest = PageRequest.of(0, 3, Sort.by(Sort.Direction.ASC, "username")); Page<Member> page = memberRepository.findByAge(10, pageRequest); //then List<Member> content = page.getContent(); assertThat(content.size()).isEqualTo(3); assertThat(page.getTotalElements()).isEqualTo(5); assertThat(page.getNumber()).isEqualTo(0); assertThat(page.getTotalPages()).isEqualTo(2); assertThat(page.isFirst()).isTrue(); assertThat(page.hasNext()).isTrue(); }그런데 결과는 강의와는 달리 카운트 쿼리에 LEFT JOIN 이 사용되지 않았고, 심지어 JPQL select m from Member m left join m.team t 을 @Query에 작성했음에도 조회 쿼리도 LEFT JOIN을 사용하지 않은 것을 확인했습니다.이후 스프링 부트 3 이하 버전에서 동일한 코드로 실행해보니 강의와 동일한 결과를 얻을 수 있었습니다.스프링 부트 3 부터 적용된 스프링 데이터 JPA 에서는 이러한 부분의 최적화를 자동으로 제공하는 것일까요?
-
해결됨스프링부트 JUnit 테스트 - 시큐리티를 활용한 Bank 애플리케이션
로그인 인증 실패 시 예외처리하는 주체는 어느 것인가요?
기존에는 SecurityConfig 클래스의SecurityFilterChain에서 아래의 코드가로그인 실패 시 응답을 처리하는 주체였습니다. http.exceptionHandling() // 인증 예외 설정 .authenticationEntryPoint((request, response, authenticationException)->{ // 예외 가로채기\ CustomResponseUtil.fail(response, "로그인을 진행해주세요", HttpStatus.UNAUTHORIZED); });그러다 JwtAuthenticationFilter를 만들면서attemptAuthentication() 매서드가 실패 시 아래의unsuccessfulAuthentication()가 실행되게끔 했구요.@Override protected void unsuccessfulAuthentication(HttpServletRequest request, HttpServletResponse response, AuthenticationException failed) throws IOException, ServletException { CustomResponseUtil.fail(response, "로그인 실패", HttpStatus.UNAUTHORIZED); } 그래서 헷갈려서 실험해보니 기존의 SecurityFilterChain의 것은 주석처리해도 아무런상관이 없고, unsuccessfulAuthentication()가 동작하더라구요.이 두 코드의 차이는 정확히 어떤 것일까요?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
강의 자료 요청드립니다.
안녕하세요.강의 자료를 요청드립니다.withbuhm@gmail.com감사합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
y_test
# 데이터 및 라이브러리 로드하기 import pandas as pd train = pd.read_csv('/content/train.csv') test = pd.read_csv('/content/test.csv') Train = train.copy() X_train = Train.drop(['Attrition_Flag','CLIENTNUM'],axis=1) y_train = Train['Attrition_Flag'] X_test = test.copy() X_test_CL = X_test.pop('CLIENTNUM') # print(X_train.head()) # print(y_train.head()) # print(X_test.head()) # EDA # print(X_train.shape, X_test.shape, y_train.shape) # print(X_train.isnull().sum()) # print(X_test.isnull().sum()) # print(X_train.describe()) # print(X_test.describe()) # print(X_train.describe(include = object)) # print(X_test.describe(include = object)) # print(y_train.value_counts()) # 데이터 전처리 - 결측치 없음, 이상치 없음 # 피처 엔지니어링 cols1 = list(X_train.columns[X_train.dtypes == object]) # 범주형 cols2 = list(X_train.columns[X_train.dtypes != object]) # 수치형 # print(cols2, X_train.info()) Xc_train = X_train[cols1] # 범주형 Xc_test = X_test[cols1] Xn_train = X_train[cols2] # 수치형 Xn_test = X_test[cols2] Xc_train = pd.get_dummies(X_train[cols1]) # 범주형 데이터 원핫인코딩 Xc_test = pd.get_dummies(X_test[cols1]) from sklearn.preprocessing import RobustScaler Ro = RobustScaler() X_train[cols2] = Ro.fit_transform(X_train[cols2]) X_test[cols2] = Ro.transform(X_test[cols2]) Xn_train = X_train[cols2] # 수치형 Xn_test = X_test[cols2] X_train = pd.concat([Xc_train, Xn_train], axis = 1) X_test= pd.concat([Xc_test, Xn_test], axis = 1) # print(X_train.head()) # print(X_test.head()) # 데이터 분리 from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(X_train, y_train, test_size = 0.15, random_state=2023) # print(X_tr.shape, X_val.shape, y_tr.shape, y_val.shape) # 모델링 import lightgbm as lgb lg = lgb.LGBMClassifier(random_state=2023) lg.fit(X_tr, y_tr) predict = lg.predict(X_val) predictproba = lg.predict_proba(X_val) # 평가 및 제출 # ROC-AUC, 정확도(Accuracy), F1, 정밀도(Precision), 재현율(Recall) from sklearn.metrics import roc_auc_score, accuracy_score, f1_score, precision_score, recall_score # print(roc_auc_score(y_val, predictproba[:,1])) # print(accuracy_score(y_val, predict)) # print(f1_score(y_val, predict)) # print(precision_score(y_val, predict)) # print(recall_score(y_val, predict)) predictproba_final = lg.predict_proba(X_test) submit = pd.DataFrame( { 'CLIENTNUM':X_test_CL, 'Attrition_Flag':predictproba_final[:,1] } ) # submit.head() submit.to_csv('1.csv', index = False) # 제출 제대로 했나 확인 pd.read_csv('1.csv') # y_test = pd.read_csv('/content/y_test.csv') print(roc_auc_score(y_test, predictproba_final[:,1]))print(roc_auc_score(y_test, predictproba_final[:,1]))만 되고 print(roc_auc_score(y_test, predictproba[:,1]))는 안되는게 정상인가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
5회기출 작업형2유형을 lightgbm을 활용하여 풀이할 때 질문드립니다
강사님 안녕하세요!시험 전 ligthgbm에 대해서도 말씀해주셔서 감사합니다 다름이 아니라 해당 알고리즘을 활용해보고자 5회기출 작업형 2문제에 풀어보았는데rmse값이 너무 큰 값이 나와.. 문제가 무엇인지 알고싶습니다 ㅠㅠ 제가 어디부분을 잘못 코드 작성하였는지 알 수 있을까요?자동차가격 예측문제로lgb 회귀로 작성하였습니다. 확인 부탁드립니다 감사합니다!
-
해결됨재고시스템으로 알아보는 동시성이슈 해결방법
Redisson Client Lock
public void buy(String ticketName) throws InterruptedException { RLock lock = redissonClient.getLock(ticketName); try { boolean available = lock.tryLock(5, 1, TimeUnit.SECONDS); if (!available) { return; } ticketServiceWithRedisRedissonClientLock.buy(ticketName); } finally { if (lock.isLocked() && lock.isHeldByCurrentThread()) { lock.unlock(); } } }이 구조에서 tryLock에 대해서 5초동안 Lock 획득을 위해서 대기하고 Lock을 1초동안 점유하고 release하는 형식으로 알고있는데 만약에 쓰레드가 5초 동안 대기를 하더라도 최종적으로 Lock을 얻지 못한다면 return이 됨으로써 buy로직으로 못들어가는거 아닌가요?? 만약에 반드시 Lock을 얻고 buy로 들어가야만 하는 경우 Lock 재획득에 대한 로직을 따로 구현해야 하는건가요. 아니면 tryLock의 재시도에 대해서 제가 모르는 부분이 있는건가요?? public void buy(String ticketName) throws InterruptedException { final RLock lock = redissonClient.getLock(ticketName); final int maxRetryCount = 10; final int retryIntervalMillis = 1000; try { int retryCount = 0; boolean lockAcquired = lock.tryLock(5, 1, TimeUnit.SECONDS); while (!lockAcquired && retryCount < maxRetryCount) { log.info( "--> Thread [{}] Redis Distributed Lock (Redisson Client) 획득 대기", Thread.currentThread().getName() ); Thread.sleep(retryIntervalMillis); lockAcquired = lock.tryLock(5, 1, TimeUnit.SECONDS); retryCount++; } if (!lockAcquired) { log.info( "--> Thread [{}] Redis Distributed Lock (Redisson Client) 획득 실패", Thread.currentThread().getName() ); return; } ticketServiceWithRedisRedissonClientLock.buy(ticketName); } finally { if (lock.isLocked() && lock.isHeldByCurrentThread()) { lock.unlock(); } } }이런 방식으로 최대 재시도 횟수와 재시도 간 간격을 통해서 waitTime동안 Lock을 못얻을 경우 Lock자체를 다시 얻는 방식을 구현해보았고 waitTime=1, unit=ms로 변경하고 테스트했을 경우 정상적으로 retry가 됨을 확인했습니다. 이런 구조가 최선일까요??아니면 더 나은 방식이 있을까요?
-
해결됨빅데이터분석기사 실기대비 (R 활용)
비지도학습
안녕하세요, 혹시 2유형에서 비지도학습(군집분석 등)이 나올 가능성이 있을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 3 풀이 관련
안녕하세요. 늘 좋은 강의 감사합니다.작업형3과 관련해 문의가 있습니다.우선 이번에 예시로 나온 문제 풀이의 경우 "μ d = 치료 후 혈압 - 치료 전 혈압"이기 때문에귀무가설(H0): μ d >=0 대립가설(H1): μ d < 0stats.ttest_rel(df["bp_after"],df["bp_before"],alternative="less")와 같이 코딩을 해야 한다고 알려주셨습니다. (bp_after와 bp_before 순서 헷깔리지 말기!) 그런데 작업형2 예시 중 독립표본 예시의 경우 아래의 가설 검증 시 풀이가 다음과 같았습니다.귀무가설(H0): μ 1 = μ 2, A집단과 B집단 시험 평균 점수는 같다대립가설(H1): μ 1 < μ 2, A집단이 B집단 보다 평균 점수가 작다stats.ttest_ind(df["Agroup"],df["Bgroup"],alternative="less")위의 코딩에서는 Bgroup, Agroup 순서가 아니고 반대인데, 조금 헷깔리더라구요. 설명해주시면 감사하겠습니다~
-
해결됨자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
런타임에러 질문입니다
import java.util.*; class Main { public String solution(String need, String plan){ String answer = "YES"; Queue<Character> q = new LinkedList<>(); for(char x: need.toCharArray()){ q.offer(x); // 필수과목을 q에 넣어줌 } for(int i = 0; i<plan.length(); i++){ if(!q.isEmpty() && q.peek() == plan.charAt(i)){ //교육과정 첫 번째 과목 == 현수의과목 q.poll(); } } if(!q.isEmpty()){ answer ="NO"; } return answer; } public static void main(String[] args){ Main T = new Main(); Scanner kb = new Scanner(System.in); String a=kb.next(); String b=kb.next(); System.out.println(T.solution(a, b)); } }안녕하세요! 항상 양질의 강의 잘 듣고 있습니다!처음에 if(!q.isEmpty() && q.peek() == plan.charAt(i)) 부분에서 if(q.peek() == plan.charAt(i)) 로 조건문을 짰는데, 런타임 에러가 나서 !q.isEmpty() 를 붙였더니 정상적으로 잘 돌아가게 되었습니다. 웹서핑을 하다보니 큐에 자료가 없을 경우 q.peek()를 할 경우 exception이 나 런타임 에러가 난다고 하는 데 맞을까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
어떤 예외가 있는지 잘 모르겠네요
안녕하세요 예제를 입력했을때는 잘 출력이 되는데제출을 하면 틀렸다고 뜨네요 어떤 예외가 있을까요?http://boj.kr/c2fcd5fb097e4953a6b6c06f900cb025감사합니다!
-
미해결[리뉴얼] 타입스크립트 올인원 : Part1. 기본 문법편
tsconfig설정에 따른 트리쉐이킹
target: es5 ,module: commonjs 위 값으로 tsconfig 설정시 commonjs 모듈을 따르는 es5 자바스크립트로 변환되는걸로 알고 있습니다.그런데 과거 실무에서 웹팩 번들러 분석시 위와같이 설정하면 commonjs의 require형식때문에 트리쉐이킹이 제대로 되지 않았던걸로 기억하는데 혹시 연관 관계가 있는것 맞을까요?트리쉐이킹을 정상적으로 할려면 module을 es6 혹은 esnext등으로 설정해야 하는지 궁금합니다
-
미해결Google 공인! 텐서플로(TensorFlow) 개발자 자격증 취득
안녕하세요 죄송하지만, 연장 문의드립니다.
강의를 신청해놓고 못듣고 있다가, 마감기한에 몰려서 최근에 수강중에 있습니다..딥러닝 기초 강의로 정말 큰 도움이 되는 것 같아서 꼭 완강을 하고 싶은데,죄송하지만 연장이 가능할까요??... 감사합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
범주형, 수치형 데이터 분리해서 전처리
범주형, 수치형 컬럼을 각각 train, test 나눠서 수치형은 MinMaxscaler범주형은 LabelEncoder 이런식으로 진행을하고나중에 pd.concat으로 합쳐주는 과정을 거치다보면특히 합치는 과정에서 오류를 많이 내고 있는 상황인데요 type2-ex처럼범주형 '주구매상품', '주구매지점' 컬럼을 각각 라벨 인코딩해주고나머지 cols에 수치형 모아서 인코딩하는 방식으로 따로 데이터 분리했다가 결합하는 과정 없이 진행해도 무방한가요?
-
해결됨딥러닝 CNN 완벽 가이드 - TFKeras 버전
안녕하세요 교수님. 커스텀 데이터 로더 만들기에서 질문 있습니다.
교수님께서 작성하신 커스템 데이터로더를 이해하고 있는데요.이 코드를 아무리 실행해도, label의 값이 CAT이 나오지 않습니다.next가 다음 batchSize만큼 가져오는것이라고 생각했는데, 왜 아무리 실행해도 계속 같은 값이 나올까요?만약 인덱스 값을 빼게 되면 이미지의 픽셀값이 다르게 나오는것을 확인할수있었습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4-C 질문
http://boj.kr/8688fcc2c590479b9ea68877d8ea7530선생님 저는 코드에 ? 있는 곳에 -1이 왜 있는지 이유를 모르겠습니다. 그리고 저기 있는 -1을 없애고 TC를 돌리면 세그멘테이션 폴트가 나오는데 그건 왜 그런건가요??
-
미해결빅데이터분석기사 실기대비 (R 활용)
predict함수 type 질문
작업형 2유형 질문드립니다.predict 함수 사용 시에 type별로 어떤 상황에 어떤걸 써야하는지 궁금해서 질문 올립니다.감사합니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
detect.py 오류
안녕하세요 박사님 덕분에 수업 너무 잘 듣고있습니다!다름이 아니라 제가 인턴때 환경에서 해볼려고 code를 돌리는 도중 C:\workspace\yolo_oxford\yolov3>python train.py --img 640 --batch 16 --epochs 30 --data C:/workspace/yolo_oxford/ox_pet/ox_pet.yaml --weights yolov3.pt \ --name pet --exist-ok이 과정에서 Traceback (most recent call last): File "C:\Users\ptj99\anaconda3\envs\ox_petyolo\lib\site-packages\requests\compat.py", line 11, in <module> import chardetModuleNotFoundError: No module named 'chardet'During handling of the above exception, another exception occurred:Traceback (most recent call last): File "C:\workspace\yolo_oxford\yolov3\train.py", line 43, in <module> import val as validate # for end-of-epoch mAP File "C:\workspace\yolo_oxford\yolov3\val.py", line 39, in <module> from models.common import DetectMultiBackend File "C:\workspace\yolo_oxford\yolov3\models\common.py", line 21, in <module> import requests File "C:\Users\ptj99\anaconda3\envs\ox_petyolo\lib\site-packages\requests\__init__.py", line 45, in <module> from .exceptions import RequestsDependencyWarning File "C:\Users\ptj99\anaconda3\envs\ox_petyolo\lib\site-packages\requests\exceptions.py", line 9, in <module> from .compat import JSONDecodeError as CompatJSONDecodeError File "C:\Users\ptj99\anaconda3\envs\ox_petyolo\lib\site-packages\requests\compat.py", line 13, in <module> import charset_normalizer as chardet File "C:\Users\ptj99\anaconda3\envs\ox_petyolo\lib\site-packages\charset_normalizer\__init__.py", line 23, in <module> from charset_normalizer.api import from_fp, from_path, from_bytes, normalize File "C:\Users\ptj99\anaconda3\envs\ox_petyolo\lib\site-packages\charset_normalizer\api.py", line 10, in <module> from charset_normalizer.md import mess_ratio File "charset_normalizer\md.py", line 5, in <module>ImportError: cannot import name 'COMMON_SAFE_ASCII_CHARACTERS' from 'charset_normalizer.constant' (C:\Users\ptj99\anaconda3\envs\ox_petyolo\lib\site-packages\charset_normalizer\constant.py)이러한 오류가 떳네요ㅜ 제가 궁금한건 여기서 import를 다 일일히 해야하는건가요? 제가 만든가상환경에서 yolov3에 requirements.txt를 pip 했는데도 이러한 문제가 생겨서요... 긴글 읽어주셔서 감사합니다