묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
실수 계산 질문드려요
18:11분에 0.375를 구하는게 0.5 0 + 0.25 1 + 0.125 + 1이라고 하셨는데 비트가 오른쪽으로 있다고 계산해서 2배씩 줄어드는건 알겠는데 곱하기는 왜 0.5는 0을곱해주고 나머지는 1을 곱해준건가요??
-
미해결스프링 핵심 원리 - 기본편
빈의 초기화가 무엇을 의미하나요?
현재까지 배운 내용으로 스프링 컨테이너가 빈의 생성+의존관계 주입을 해주는것은 이해가 가지만 초기화를 해준다는게 정확히 어떤 개념인지 이해가지 않습니다 앞선 강의에서 나왔던 @PostConstruct 어노테이션이 붙은 메소드를 초기화라고 생각하면 될까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6단원에 대해서.
안녕하세요 선생님. 강의 잘 듣고 있습니다.오늘 기점으로 2단원 dfs/bfs 다 끝나서 3단원 완전탐색 백트래킹 단원을 공부 시작하려고 합니다.다름이 아니라6단원( 이분탐색, LIS ) 은 4,5단원을 먼저 공부하고 난 뒤 듣는게 더 효율적일까요? 아니면 3단원 끝나고 들어도 될까요? 학교와 병행중이라서 중간고사 전에는 3단원을 끝낸 후 4,5단원을 하기 전에 문제 수가 그나마 적은 6단원을 먼저 들으려고 하는데 단원이 뒤에 있어서 이유가 있을까 싶어 질문하게 되었습니다!
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
자바 강의
이제 자바 막 공부 시작한 학생입니다. 강의를 듣고 있는데 추후 공개될 강의까지 하면 총 5개의 코스가 있는데 스프링강의를 배우기 위해서는 5개의 코스를 모두 다 수강해야하나요??파이썬이나 다른 언어는 이정도로 강의들이 많지는 않았던 것 같은데 자바라는 언어는 원래 더 배울게 많은 언어인가요??
-
해결됨(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
score를 실행하면 항상 nan이 출력됩니다
안녕하세요! score를 실행할때마다 nan이 출력이되서 잘못쓴 부분이 있나 여러번 체크해봤는데 도저히 모르겠어서 질문남겨봅니다..import pandas as pdimport osimport numpy as npfrom sklearn.model_selection import train_test_split# 사용자 u.user파일을 DataFrame으로 열기base_src = './drive/MyDrive/RecoSys/Data'os.listdir('./drive/MyDrive/RecoSys/Data')###### 데이터불러오기 ###### os.path.join -> 경로 합치기u_user_src = os.path.join(base_src,'u.user')u_cols = ['user_id','age', 'sex', 'occupation','zip_code']users = pd.read_csv(u_user_src,sep='|',names = u_cols,encoding='latin-1')users = users.set_index('user_id')users.head()u_item_src = os.path.join(base_src,'u.item')i_cols = ['movie_id','title','release date','video release date','IMDB URL','unknown','Action','Adventure','Animation','Children\'s','Comedy','Crime','Documentary','Drama','Fantasy','FilmNoir','Horror','Musical','Mystery','Romance','Sci-Fi','Thriller','War','Western']movies = pd.read_csv(u_item_src,sep='|',names = i_cols,encoding='latin-1')movies = movies.set_index('movie_id')movies.head()u_data_src = os.path.join(base_src,'u.data')r_cols = ['user_id', 'movie_id', 'rating', 'timestamp']ratings = pd.read_csv(u_data_src,sep ='\t',names = r_cols,encoding='latin-1')# ratings = ratings.set_index('user_id')ratings.head()# 실제값과 예측값을 넣기def RMSE(y_true, y_pred):return np.sqrt(np.mean((np.array(y_true) - np.array(y_pred)) **2 ))# # 모델별 RMSE를 계산 하는 함수def score(model, neighbor_size=0):id_pairs = zip(x_test['user_id'], x_test['movie_id'])y_pred = np.array([model(user,movie,neighbor_size) for (user,movie) in id_pairs])y_true=np.array(x_test['rating'])return RMSE(y_true,y_pred)# 데이터셋 만들기x = ratings.copy()y = ratings['user_id']x_train, x_test, y_train, y_test = train_test_split(x,y, test_size=0.25,stratify=y)ratings_matrix = x_train.pivot(index = 'user_id', columns = 'movie_id', values = 'rating')# 코사인 유사도 계산from sklearn.metrics.pairwise import cosine_similarity## 코사인 유사도를 구하기 위해 rating값을 복제하고, 계산 시 Nan값 에러 대비를 위해 결측치를 0으로 대처matrix_dummy = ratings_matrix.copy().fillna(0)## 모든 사용자 간 코사인유사도를 구함user_similarity = cosine_similarity(matrix_dummy,matrix_dummy)## 필요한 값 조회를 위해 인덱스 및 칼럼명 지정user_similarity = pd.DataFrame(user_similarity,index=ratings_matrix.index, columns=ratings_matrix.index)# Neighbor size를 정해서 예측치를 계산하는 함수def CF_knn(user_id, movie_id, neighbor_size=0):if movie_id in ratings_matrix.columns:sim_scores = user_similarity[user_id].copy()movie_ratings= ratings_matrix[movie_id].copy()none_movie_ratings = movie_ratings[movie_ratings.isnull()].index# print(none_movie_ratings)moive_ratings = movie_ratings.dropna()sim_scores = sim_scores.drop(none_movie_ratings)# print(sim_scores)# 여기까지는 동일(0일 경우는 일반적인 cf)if neighbor_size == 0:mean_rating = np.dot(sim_scores,movie_ratings) / sim_scores.sum()else:# 나와 유사한 사람이 없는경우if len(sim_scores)>1:# 5명을 10개로 나눌수 없으니까 최소값으로 해줘야한다neighbor_size = min(neighbor_size,len(sim_scores))sim_scores = np.array(sim_scores)movie_ratings = np.array(movie_ratings)# simscore가 작은 순서대로 작은 유저아이디를 넣는다user_idx = np.argsort(sim_scores)sim_scores = sim_scores[user_idx][-neighbor_size:]## sim_scores 즉, 유사도를 뽑아냈으면 무비평가값을 뽑아내movie_ratings = movie_ratings[user_idx][-neighbor_size:]mean_rating = np.dot(sim_scores, movie_ratings) / sim_scores.sum()else:mean_rating = 3.0# movie_id가 rating train pivot table에 포함되지 않을 경우else:mean_rating = 3.0return mean_rating# 정확도 계산score(CF_knn,neighbor_size=30)#### 실제 주어진 사용자에 대해 추천을 받는 기능 구현(테스트 데이터와 훈련데이터를 만들필요가없다) ####ratings_matrix = ratings.pivot_table(values='rating', index = 'user_id', columns='movie_id')matrix_dummy = ratings_matrix.copy().fillna(0)user_similarity = cosine_similarity(matrix_dummy,matrix_dummy)user_similarity = pd.DataFrame(user_similarity,index = ratings_matrix.index, columns=ratings_matrix.index)def recom_movie(user_id, n_items, neighbor_size):# 해당 유저가 평가한 영화가 나온다user_movie= ratings_matrix.loc[user_id].copy()for movie in ratings_matrix.columns:# 현재 영화평점이 null이 아닌 경우 -> 영화를 본경우는 추천 리스트에서 제외하기 위해if pd.notnull(user_movie.loc[movie]):user_movie.loc[movie] = 0else:user_movie.loc[movie] =CF_knn(user_id,movie,neighbor_size)movie_sort = user_movie.sort_values(ascending=False)[:n_items]recom_movie = movies.loc[movie_sort.index]recommendation = recom_movie['title']return recommendationrecom_movie(user_id = 729, n_items=5, neighbor_size=30)score(CF_knn,neighbor_size=30) + gpt한테 물어보니 none_rating_idx = movie_ratings[movie_ratings.isnull()].index moive_ratings = movie_ratings.dropna() sim_scores = sim_scores.drop(none_rating_idx)이 부분을 movie_ratings = movie_ratings.dropna() sim_scores = sim_scores.loc[movie_ratings.index]이렇게 변경해라해서 수정했더니 nan이 아닌 실수값이 나오기는 하는데 올바른 방법인지를 모르겠습니다. 그래도 같은 방법인거같긴 한데 어디서 차이가 발생하는건지 잘 모르겠습니다!
-
미해결[코드팩토리] [입문] Dart 언어 4시간만에 완전정복
전 왜 이상태에서 마지막에 Status
enum Status{ approved,//승인 pending,//대기 rejectde,//거절 }void main() { Status status = Status. 다음에 점을 찍어도 선생님 화면에 나오는 자동완성되는 단어들이 안나올까요? 다른 부분에서도 전 선생님같이 자동완성되는 단어들이 안나오네요...
-
미해결스프링 부트 - 핵심 원리와 활용
actuator 구성에 대해 조언 부탁드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 영한님.근래의 인프라에서는 MSA 구성으로 으로 많은 (동일 혹은 동일하지 않은) n개의 어플리케이션들이 등록되어 사용되는 경우가 많은것으로 알고있는데요.이때 n개의 각 어플리케이션들이 각자의 actuator 로 관리가 되는 상황들이 많을것 같은데 이런 상황에서 좋은 관리기법이나, 관리할수 있는 노하우가 있으신지 조언주시면 감사하겠습니다!
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
강의자료 부탁드립니다!
cgc4994@naver.com강의자료 부탁드립니다!
-
미해결토비의 스프링 부트 - 이해와 원리
자동구성에 이어서 질문드립니다.
안녕하세요 토비님.여기 에서 답변 주신 내용 감사합니다. 답변에 이어서 질문이 생겨 또 여쭤 보게 되었습니다.말씀 해주신데로 "자동구성" 으로 구성이 필요한 컴포넌트들에 적용을 하는 것이 맞다는 것은 이해를 하였으나 여기서 재사용이 가능하거나 필요한 기술 컴포넌트의 범위에 모듈의 서비스영역?이 들어가는 경우에 대한 궁금증이 계속 남게 되더라구요. (재사용이 필요한 컴포넌트이나 독립적으로도 잘 작동하는 서비스와 같은 경우)예를 들어,A 라는 모듈이 있고, B 라는 모듈이 A모듈을 사용 또는 확장해서 구성이 필요한 경우 B라는 모듈의 스캔 대상에 A 모듈이 포함되어야 하는 구성으로 생각했습니다.혼자서 생각을 해봤을때 아래 2가지 정도의 방법으로 생각을 해봤는데요.A 라는 모듈의 @AutoConfiguration 대상 설정에서 @ComponentScan 을 사용을 해서 해결을 해결한다.A 라는 모듈에 @EnableXXX 와 같은 커스텀 어노테이션을 만들고 @CompoentScan 으로 해당 모듈의 스캔범위를 지정해준다 여기에서 토비님께 얻고 싶은 조언은 아래 2가지 입니다.근본적으로 위와 같이 서비스 목적의 모듈간 의존성이 필요해 재사용 가능해 보이는 상태의 구성을 하는 경우가 있는지 또는 올바르게 생각을 하고 있는것인지.위와 같은 목적으로 구성이 필요할 때 토비님은 어떻게 구성방식을 가져가야한다고 생각하시는지.배우는 단계에서 난해한 질문을 드리는거 같아 죄송스러움이 있네요.어떤 방식이던 조언 부탁 드리겠습니다.감사합니다.
-
미해결AWS 클라우드 이해와 실습
Web App의 정확한 의미
안녕하세요 선생님!단어의 의미로 제가 이해하는데 약간의 혼동이 있는것 같아 이를 확실하게 하기위해 질문드립니다! 제가 알기로 vue.js등으로 구현된 애플리케이션도 강의에서 설명해주신 앱처럼 JSON형태의 데이터를 주고 받는것으로 알고 있습니다! 혹시 Web App은 타임리프나 JSP와 같은 뷰템플릿 엔진을 활용하여 서버에서 HTML을 응답하는것을 의미하신것일까요?Web App을 검색해보니 서버와 Json형태의 데이터를 주고받는 화면도 의미하는것 같아 좀 혼동이 되어서 질문드렸습니다! 감사합니다.
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
7번 다양한 풀이 도전 중 오류
7번을 강의해주신 대로도 풀어보고 다른 형식으로도 풀어보고 싶어서 다음과 같은 코드를 짜봤는데, 대문자에서 소문자로 변환은 잘 이루어지지만 중간에 포함된 띄어쓰기가 나타나면 거기서 멈춘 상태로 출력이 됩니다. 이유, 그리고 어떻게 수정해야 할 지가 궁금합니다.예시) 입력: BeA UT I ful, 출력: bea #include <iostream>#include <vector>#include <algorithm>#include <string>using namespace std;int main(){ ios::sync_with_stdio (false); cin.tie (NULL); cout.tie (NULL); string str; cin >> str; vector<char> answer; for(int i=0; i<str.size(); i++){ if(str[i]!=' '){ if(str[i]>=65 && str[i]<=90){ answer.push_back(str[i]+32); } else{ answer.push_back(str[i]); } } } for(int i=0; i<answer.size(); i++){ cout << answer[i]; }}
-
해결됨[DevOps] 빠르고 안전한 어플리케이션 배포 파이프라인(CI/CD) 만들기
artifacts 에 대한 질문이 있습니다!
안녕하세요 지식공유자님 수준 높은 강의를 제공해주셔서 감사합니다! gitlab-sast 같은 내용을 artifacts 로 업로드에서 사용하시던데,artifacts 에 업로드 되는 내용으로 라이브러리 같은 것도 괜찮은가요? artifacts 를 cache 처럼 사용해도 되는건가요? 예를들어 python3.8 를 CI/CD 가 실행될 때마다 직접 빌드를 하게되는데, 10분 정도가 소요된다고 했을때,오래 걸리니, 한번 빌드 후 artifacts 에 업로드한 것을 다운 받아 사용하는 겁니다. (라이브러리 캐싱 처럼)
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
강의 자료 ppt를 다운로드 받을 수 있을까요?
안녕하세요.이번에 개정판을 만들어 주셔서 감사합니다.다름이 아니라 강의 자료 ppt를 다운로드 받을 수 있을까요?커뮤니티 게시판을 보니 github에 https://github.com/joneconsulting/my-restful-services/tree/master/pdf 확인을 해보니 존재하지 않은 경로로 나오네요.
-
미해결대세는 쿠버네티스 (초급~중급편)
k8s 설치에 많이 문제가 겪고 있는 사용자들이 많은 것 같은데
실무에서 k8s를 운영할 때에도 강의처럼 세팅해서 진행하나요?
-
미해결C# TCP/IP 소켓 프로그래밍
에러에 관한 질문입니다.
************** 예외 텍스트 **************System.Net.Sockets.SocketException (10061): 대상 컴퓨터에서 연결을 거부했으므로 연결하지 못했습니다.at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)at System.Threading.Tasks.ValueTask.ValueTaskSourceAsTask.<>c.<.cctor>b__4_0(Object state)--- End of stack trace from previous location ---at Client.Singleton.ConnectAsync() in P:\Chat\Client\Singleton.cs:line 36at Client.LoginForm.btn_login_Click(Object sender, EventArgs e) in P:\Chat\Client\LoginForm.cs:line 20at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state) 16:45초 로그인 할 때 이렇게 뜨네요 ㅠㅠ 해당 라인 가보면LoginForm.csawait Singleton.Instance.ConnectAsync(); Singleton.csawait Socket.ConnectAsync(endPoint);입니다. 아이피와 포트도 제대로 입력해주었습니다. 강사님이 올려주신 파일 통째로 받아서 해봤는데도 동일한 오류가 발생합니다. 어떻게 해결해야하나요?코드 첨부합니다.LoginForm.csusing Core;namespace Client;public partial class LoginForm : Form{ public LoginForm() { InitializeComponent(); } private async Task btn_login_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(tbx_id.Text) || string.IsNullOrEmpty(tbx_nickname.Text)) { MessageBox.Show("입력하세요"); return; } await Singleton.Instance.ConnectAsync(); LoginRequestPacket packet = new LoginRequestPacket(tbx_id.Text, tbx_nickname.Text); await Singleton.Instance.Socket.SendAsync(packet.Serialize(), System.Net.Sockets.SocketFlags.None); Singleton.Instance.Id = tbx_id.Text; Singleton.Instance.Nickname = tbx_nickname.Text; RoomList roomList = new RoomList(); roomList.ShowDialog(); }}Singleton.csusing System.Net;using System.Net.Sockets;namespace Client;/// <summary>/// 언제 어디서나 접근할 수 있는 객체./// 이 객체는 반드시 1개만 존재해야 한다./// </summary>internal class Singleton{ public string Id { get; set; } = null!; public string Nickname { get; set; } = null!; public Socket Socket { get; } = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); private static Singleton? instance; public static Singleton Instance { get { if (instance == null) instance = new Singleton(); return instance; } } private Singleton() { } public async Task ConnectAsync() { IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse("192.168.219.106"), 20001); await Socket.ConnectAsync(endPoint); ThreadPool.QueueUserWorkItem(ReceiveAsync, Socket); } private async void ReceiveAsync(object? sender) { Socket socket = (Socket)sender!; byte[] headerBuffer = new byte[2]; while (true) { #region 헤더버퍼 가져옮 int n1 = await socket.ReceiveAsync(headerBuffer, SocketFlags.None); if (n1 < 1) { Console.WriteLine("client disconnect"); socket.Dispose(); return; } else if (n1 == 1) { await socket.ReceiveAsync(new ArraySegment<byte>(headerBuffer, 1, 1), SocketFlags.None); } #endregion #region 데이터버퍼 가져옮 short dataSize = IPAddress.NetworkToHostOrder(BitConverter.ToInt16(headerBuffer)); byte[] dataBuffer = new byte[dataSize]; int totalRecv = 0; while (totalRecv < dataSize) { int n2 = await socket.ReceiveAsync(new ArraySegment<byte>(dataBuffer, totalRecv, dataSize - totalRecv), SocketFlags.None); totalRecv += n2; } #endregion } }}
-
미해결대세는 쿠버네티스 (초급~중급편)
글을 보니 m1 맥북이 지원이 안되는 프로그램이 많아 실습이 어려운 것 같아보이는데 m1 맥북으로 실습할 수 있는 방법은 없을까요?
꼭 강의 내용에 있는 프로그램을 쓰지 않아도 m1 맥북에서 k8s가 안돌아가진 않을텐데..
-
미해결김영한의 실전 자바 - 기본편
중급편 질문
toString 에 대해서 다룬 강의가 있나요? 아니면 중급편에서 다룰 예정이신가요 ? 2.만약 library 를 출력할때 toString 이 자동으로 실행되는 관련된 것을 수업에서 다뤄주신 적이 있나요?Locale, NumberFormat 관련해서 다뤄주셨거나 중급편에서 다뤄주실 예정이신가요 ?
-
미해결[최신] Vue 강의 끝판왕 : Nuxt 3 완벽 마스터
Cannot find name 'defineProps'. 라고 나오네요
계속 오류가 나는데 오토 임폴트가 안되는걸까요??
-
해결됨코딩테스트 [ ALL IN ONE ]
노션 링크 공유 부탁드립니다.
내일 부터 학습 시작하려고 합니다.노션 링크 공유 부탁드립니다ㅎㅎ
-
미해결자바 코딩테스트 - it 대기업 유제
잃어버린 강아지 문제 count 관련 질문있습니다
안녕하세요 강사님 강의 잘 듣고 있습니다!잃어버린 강아지 문제에서 count관련 이해가 안되는 부분이 있어서요. 관련 부분만 가져왔는데 count는 처음에 0으로 초기화 된 상태에서 while문에 들어가자마자 1이 증가하고, 마지막으로 들어갈 때는 9999상태에서 들어가서 10000이 되고, 그시점에 마지막 번째 while을 실행하면서 현수가 강아지를 찾아서 x1 == x2 && y1 == y2이 된 후 break(사실상 while문이 끝나서 break된거나 마찬가지지만)될수도 있는건데 강아지를 못찾고 반환하는 0을 리턴하는 조건이 count >= 10000이 되면 10000번째에 찾더라도 못찾은걸로 표현될수 있지 않나 싶어서요.그런데 이런 생각을 하다보니까 그러면 진짜로 10000을 넘을때까지 못찾는 경우는 어떻게 알수 있게 되지? 라는 생각이 들면서 정리가 안되기 시작했습니다. ㅠㅠ count가 while안에 있기 때문에 10000번째에 딱 찾고 끝나고 나면 더이상 count를 올려줄 방법이 없는데, 어떻게 해야 만번 이상을 했고 그래도 찾을수 없었던걸 증명할수 있을지...일단 생각으로는 while을 true로 해놓고 break하는 조건을 하나 더 둬서 if(x1 == x2 && y1 == y2) break; 아래에 if(count == 10000) break;나 if(count >= 10000) break; 이렇게 하는 방법이 떠오르긴 하는데 이렇게 해도 괜찮을지, 강사님이 해주신 코드로 충분한데 제가 이해를 못하고 있는것일지.. 설명 늘 자세히 해주시는데도 질문해서 죄송합니다🥲 항상 감사합니다int d1 = 0, d2 = 0, count = 0; while (count < 10000) { count++; int nx1 = x1 + dx[d1]; int ny1 = y1 + dy[d1]; int nx2 = x2 + dx[d2]; int ny2 = y2 + dy[d2]; boolean flag1 = true, flag2 = true; if (nx1 < 0 || nx1 >= n || ny1 < 0 || ny1 >= n || board[nx1][ny1] == 1){ d1 = (d1 + 1) % 4; flag1 = false; } if (nx2 < 0 || nx2 >= n || ny2 < 0 || ny2 >= n || board[nx2][ny2] == 1){ d2 = (d2 + 1) % 4; flag2 = false; } if(flag1 == true){ x1 = nx1; y1 = ny1; } if(flag2 == true){ x2 = nx2; y2 = ny2; } if(x1 == x2 && y1 == y2) break; } if (count >= 10000) return 0;