묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 시큐리티
강의 개정판 계획 문의
해당 강의 개정판 계획이 있으신지 문의드립니다!
-
해결됨QGIS 파이썬 자동화 (벡터편) Ver.2
홀삭제 좌표 지정
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 디졸브한 산출물에서 홀삭제 진행 시홀삭제에서 삭제한 산출물의 좌표값이 지정되지 않아기존의 디졸브한 산출물의 위치와 다른곳에 나타나는데홀삭제 메뉴에서는 별도의 좌표값 지정이 없는데 결과 도출 후 좌표를 별도로 지정해주어야 하는것인가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-J 질문드립니다.
안녕하세요 선생님!http://boj.kr/6ef33cd0118348bf9e15f38303108e38이렇게 하면 예시로 주어진 입출력 1,2는 맞게 나오는데 결과는 오답으로 나옵니다.어느 부분에서 제가 잘못 생각한 것인지 궁금합니다!
-
미해결안녕, 일본어는 처음이지? 누구나 쉽게 배우는 기초 일본어!
수업자료
폰으로 보기 위해 타 강의처럼 자료는 따로 받을수 없을까요?
-
해결됨실제 이력서 사례로 알아보는 [합격하는 이력서] 작성 가이드
자소서는 굳이 작성할 필요가 없는걸까요?
이력서 작성 가이드를 알려주셨는데 자소서에 대한 언급이 없으셔서 질문합니다!자소서 항목(성장과정, 장단점, 지원동기, 입사후 포부)은 굳이 작성할 필요가 없는 것인지 궁금합니다!
-
해결됨이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
액터에 우선권을 사용자 설정할 수 있었나요?
다시 쭉 보다 보니 궁금한게 하나씩 계속 나오는 것 같습니다... Owner 설정해서 배율을 높히는 것 말고 다른 manual적 방법이 있나요?
-
미해결토비의 스프링 부트 - 이해와 원리
어노테이션매핑정보 - 404 오류 문의드립니다
안녕하세요. 어노테이션 매핑정보 사용 강의 보고 궁금한점이 생겨 문의 남겼습니다.지금까지 강의에 나온것과 똑같이 코드를 작성했습니다. 그런데 실행하면 예상했던 값이 나오지 않고 404 오류가 떠요.실행창에는 아래와 같은 메세지가 나옵니다.16:09:26.879 [http-nio-8080-exec-1] WARN org.springframework.web.servlet.PageNotFound -- No mapping for GET /hello16:09:26.886 [http-nio-8080-exec-1] WARN org.springframework.web.servlet.PageNotFound -- No endpoint GET /hello. 그래서 HelloController 클래스위에 @RequestMapping을 지우고 대신 @Controller을 추가해봤더니 그제서야 강의와 같은 결과가 나옵니다.제 스프링 버전은 3.x, jdk17인데 이것과 관련이 있을까요? 같은 코드인데 왜 저는 404가 나오는지 궁금합니다...
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
vue3 강의 영상보고 여기 왔습니다. Volar로 설치하고 진행중인데요
안녕하세요저는 일단 vue3 기초영상보고 왔습니다그리고 여기 강의 실습하는 상황에 막히는 부분이 있어서 질문 드립니다.설치는 vue3 볼라로 하고 있고요뭔가 웹팩 설치도 막혔지만.. 그냥 넘겼습니다. 우선 11장까지는 잘 따라가고 있는데 12장부터 문제네요todo앱을 vuex로 바꾸는 부분부터 뭔가 잘 안되는거 같아요...volar와 vuter에 대해 vuex랑vuex헬퍼 설치나 사용법 차이가 있나요?vue3에 volar로도 vuex나 헬퍼 사용 가능하죠?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
[공유]Invalid value type for attribute 'factoryBeanObjectType': java.lang.String
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]스프링 부트 버전 3.2.0 사용 하시는분들 mybatis 의존성 추가하실때 이렇게 추가하시면 돼요..!
-
해결됨홍정모의 따라하며 배우는 C언어
10.6강 1번 문제 1차원 배열을 2차원 배열로 만드는 문제
double year2021[MONTHS] = { -2.4, 2.7, 9.0, 14.2, 17.1, 22.8, 28.1, 25.9, 22.6, 15.6, 8.2, 0.6 }; double year2022[MONTHS] = { -2.2, -1.1, 7.7, 14.8, 19.1, 23.3, 27.3, 25.7, 22.4, 14.6, 10.0, -2.8 }; double year2023[MONTHS] = { -1.5, 2.3, 9.8, 13.8, 19.5, 23.4, 26.7, 27.2, 23.7, 15.8, 6.8, 3.1 }; // 1. 1차원 배열을 2차원 배열로 구현 // 배열명의 값은 배열의 시작 주소와 같다. double* temperature[] = { year2021, year2022, year2023 }; printf("%zd %zd %zd %zd\n", sizeof(temperature), sizeof(temperature[0]), sizeof(*temperature[0]), sizeof(year2021) ); 1차원 배열(2021년, 2022년, 2023년)의 주소를 2차원 포인터 배열의 요소로 초기화했습니다.// 1. 1차원 배열을 2차원 배열로 구현 // 배열명의 값은 배열의 시작 주소와 같다. double* temperature[] = { year2021, year2022, year2023 }; 2중 for문의 내부 for문의 조건부를 지정할 때 sizeof 연산자를 이용해서 아래같은 방식으로 구현하려고 했습니다.size_t col = sizeof(temperature[0]) / sizeof[double]; for(int j = 0; j < sizeof(temperature) / sizeof(temperature[0]); ++j) { for(int i = 0; i < col; ++i) { // (j, i)번째 요소 출력문 } } 제가 생각한건 'temperature[0]에 저장된 값이 year2021의 메모리 시작 주소와 같으므로 temperature[0]의 값을 역참조하면 year2021 배열 전체를 가리킬 것이다' 였는데sizeof(*temperature[0]);이 값이 year2021의 0번째 double 요소로 역참조되서 그런지 결과값이 8로 잡혀서size_t col = sizeof(temperature[0]) / sizeof[double];col의 값이 1로 계산됩니다.. 어떻게 하면 temperature[0]을 이용해서 배열 year2021의 전체 길이를 반환할 수 있을까요..??
-
미해결
C++로 플레이페어 암호를 구현하려고 해요..
// C++ program for encryption using Playfair Cipher #include <iostream> #include <cstring> #include <algorithm> using namespace std; #define SIZE 30 // Function to convert the string to lowercase void toLowerCase(char plain[], int ps) { for (int i = 0; i < ps; i++) { if (plain[i] >= 'A' && plain[i] <= 'Z') // 대문자를 소문자로 변환 plain[i] = tolower(plain[i]); } } // Function to remove duplicate characters from the key void removeDuplicates(char key[], int &ks) { int index = 0; for (int i = 0; i < ks; ++i) { int j; for (j = 0; j < i; ++j) { if (key[i] == key[j]) { break; } } if (i == j) { key[index++] = key[i]; } } key[index] = '\0'; ks = index; } // Function to remove all spaces in a string int removeSpaces(char *plain, int ps) { int count = 0; for (int i = 0; i < ps; i++) { if (plain[i] != ' ') plain[count++] = plain[i]; } plain[count] = '\0'; return count; } // Function to generate the 5x5 key square void generateKeyTable(char key[], int ks, char keyT[5][5]) { int i, j, k, *d; // a 26 character hashmap to store count of the alphabet d = (int *)calloc(26, sizeof(int)); for (i = 0; i < ks; i++) { if (key[i] != 'j') d[key[i] - 97] = 2; } d['j' - 97] = 1; i = 0; j = 0; for (k = 0; k < ks; k++) { if (d[key[k] - 97] == 2) { d[key[k] - 97] -= 1; keyT[i][j] = key[k]; j++; if (j == 5) { i++; j = 0; } } } for (k = 0; k < 26; k++) { if (d[k] == 0) { keyT[i][j] = (char)(k + 97); j++; if (j == 5) { i++; j = 0; } } } } // Function to search for the characters of a digraph // in the key square and return their position void search(char keyT[5][5], char a, char b, int arr[]) { int i, j; if (a == 'j') a = 'i'; else if (b == 'j') b = 'i'; for (i = 0; i < 5; i++) { for (j = 0; j < 5; j++) { if (keyT[i][j] == a) { arr[0] = i; arr[1] = j; } else if (keyT[i][j] == b) { arr[2] = i; arr[3] = j; } } } } // Function to find the modulus with 5 int mod5(int a) { return (a % 5); } // Function to make the plain text length to be even int prepare(char str[], int ptrs) { if (ptrs % 2 != 0) { str[ptrs++] = 'z'; str[ptrs] = '\0'; } return ptrs; } // Function for performing the encryption void encrypt(char str[], char keyT[5][5], int ps) { int i, a[4]; for (i = 0; i < ps; i += 2) { search(keyT, str[i], str[i + 1], a); if (a[0] == a[2]) { str[i] = keyT[a[0]][mod5(a[1] + 1)]; str[i + 1] = keyT[a[0]][mod5(a[3] + 1)]; } else if (a[1] == a[3]) { str[i] = keyT[mod5(a[0] + 1)][a[1]]; str[i + 1] = keyT[mod5(a[2] + 1)][a[1]]; } else { str[i] = keyT[a[0]][a[3]]; str[i + 1] = keyT[a[2]][a[1]]; } } } void preparePlainText(char txt[], string mEncryption) { int cnt = 0; mEncryption.erase(remove(mEncryption.begin(), mEncryption.end(), ' '), mEncryption.end()); cout << "\n공백 제거 후: " << mEncryption << endl; char txt2[2 * SIZE]; strcpy(txt2, mEncryption.c_str()); cnt = 0; int len = strlen(txt2); for (int i = 0; i < len; i += 2){ if (txt2[i] == txt2[i + 1]) { txt[cnt++] = txt2[i]; txt[cnt++] = 'x'; } else { txt[cnt++] = txt2[i]; txt[cnt++] = txt2[i + 1]; } } len = strlen(txt); if (len % 2 == 1) { txt[len] = 'x'; txt[len + 1] = '\0'; } cout << "X 붙이고 자른 후: "; for (int i = 0; txt[i] != 0; i++) { cout << txt[i]; if (i % 2 == 1) { cout << " "; } } } // Function to display the 5x5 key table including paired characters void displayKeyTableWithPair(char keyT[5][5], char pair1, char pair2) { cout << "\n5x5 Key Table:" << endl; for (int i = 0; i < 5; ++i) { for (int j = 0; j < 5; ++j) { if (keyT[i][j] == pair1) { cout << pair1 << "/" << pair2 << "\t"; } else if (keyT[i][j] == pair2) { // To avoid duplicate display when pair1 == pair2 if (pair1 != pair2) { continue; } cout << pair1 << "/" << pair2 << "\t"; } else { cout << keyT[i][j] << "\t"; } } cout << endl; } } // Function to encrypt using Playfair Cipher void encryptByPlayfairCipher(char str[], char key[]) { int ps, ks; char keyT[5][5]; ks = strlen(key); ks = removeSpaces(key, ks); toLowerCase(key, ks); ps = strlen(str); toLowerCase(str, ps); ps = removeSpaces(str, ps); ps = prepare(str, ps); generateKeyTable(key, ks, keyT); encrypt(str, keyT, ps); } void generateKeyTableWithPair(char key[], int ks, char keyT[5][5], char pair1, char pair2) { int i, j, k, *d; // a 26 character hashmap to store count of the alphabet d = (int *)calloc(26, sizeof(int)); for (i = 0; i < ks; i++) { if (key[i] != 'j') d[key[i] - 97] = 2; } d['j' - 97] = 1; i = 0; j = 0; bool addedPair1 = false, addedPair2 = false; for (k = 0; k < ks; k++) { if (d[key[k] - 97] == 2) { d[key[k] - 97] -= 1; keyT[i][j] = key[k]; j++; if (j == 5) { i++; j = 0; } } } // Additional loop to accommodate remaining characters for (k = 0; k < 26; k++) { if (d[k] == 0) { if (key[k] == pair1 && !addedPair1) { keyT[i][j++] = pair1; keyT[i][j++] = pair2; addedPair1 = true; } else if (key[k] == pair2 && !addedPair2) { keyT[i][j++] = pair2; keyT[i][j++] = pair1; addedPair2 = true; } else if (key[k] != pair1 && key[k] != pair2) { keyT[i][j++] = (char)(k + 97); } if (j == 5) { i++; j = 0; } } } } int main() { char str[SIZE], key[SIZE]; cout << "키 값 입력 ↓ " << endl; cin.getline(key, SIZE); int ks = strlen(key); removeDuplicates(key, ks); cout << "중복 제거된 키 값 -> " << key << endl; // Additional input for two characters char pair1, pair2; cout << "\n알파벳 2개 입력: "; cin >> pair1 >> pair2; cout << "\n평문 입력 ↓ " << endl; cin.ignore(); // Clear input buffer cin.getline(str, SIZE); cout << "\n"; cout << "입력된 키 값 -> " << key << endl; cout << "입력된 평문 -> " << str << endl; // Generate the 5x5 key table with pair1 and pair2 included char keyT[5][5]; generateKeyTableWithPair(key, ks, keyT, pair1, pair2); // Display the 5x5 key table including paired characters displayKeyTableWithPair(keyT, pair1, pair2); // Prepare the plaintext and pair characters char txt[2 * SIZE]; string plaintext(str); preparePlainText(txt, plaintext); encryptByPlayfairCipher(str, key); cout << "\n" << endl; cout << "암호문 : " << str << endl; return 0; }이 코드를 실행시키면 아래처럼 나옵니다.. 키 테이블이 문제인데요.. 묶음처리해서 26개 알파벳 모두 넣으려고 하는데 generateKeyTableWithPair()이나displayKeyTableWithPair()이 문제인가 싶어서 수정해볼려고 하는데도 잘 안돼서요.. 일부러 알파벳 철자 2개를 입력받아서 입력 받은 철자 2개를 묶는걸 의도한건데 어렵게되었어요..어디가 문제인건지..고쳐주세요..ㅠㅠㅠㅠ
-
해결됨2025년 CPPG 개인정보관리사 자격증 취득하기 (개정안 반영)
강의에서 사용하시는 강의자료 제공 문의
강의에서 사용하시는 자료는 어디에서 다운로드 가능할까요?
-
해결됨Vue 3 & Firebase 10 커뮤니티 만들기 풀스택 - "활용편" (with Pinia, Quasar, Tiptap, VueUse)
vite-plugin-vue-layouts 종속성 충돌 관련
안녕하세요,vue-plugin-vue-layouts 설치 시 종속성 충돌 관련 에러가 발생합니다.(node 및 npm, 그리고 package.json 내용 모두 강좌와 동일하게 진행중입니다.) github issue를 보니 vite version 관련한 문제로 보인다, 4.0.0을 지원해달라 등의 이야기가 있습니다.혹시 저와 같은 문제를 겪으신 분은 안계실까요?이 때, vite 버전 문제 관련한 부분을 해결(?)한 사람이 있더라고요.https://github.com/charrue/vite-plugin-vue-layoutsa. 원본을 fork한 이 것을 프로젝트에 설치해서 사용 시에 문제가 될까요?b. a 방법보다는, 원본에 --force 옵션을 두고 설치하는 것이 더 나은 선택일까요?
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
함수 관련으로 질문이 있습니다.
안녕하세요, 함수 문제를 풀어보다가, 문의사항이 있어서 질문 올립니다.67, 68번 예시와 다르게 노출되어, 원인이 무엇인 지 알고 싶습니다. Excercise 67. 함수 문제를 아래 방식으로 풀어봤는데, 결과 값에 'None' 값도 같이 출력되는지 알고 싶습니다. Excercise 68. 역시 풀어보다가, 똑같이 'None' 값이 나와서 이유를 알고 싶습니다! 감사합니다.
-
해결됨친절한 블렌더 - [LV.0] 입문 필수
Mac에서 Blender 작업 시, 렌더링 단축키
안녕하세요, 수업 잘 듣고 있습니다.맥북으로 수강 중인데, 렌더링 단축키 F12를 누르면사운드(맥북 시스템 사운드) 음량이 조절이 되고 렌더링 창이 뜨질 않아요..한글 입력 상태라 그런건가 확인을 해봐도 해결이 되지 않고,인터넷 검색해봐도 렌더링 단축키 해결에 대해선 뜨질 않아 문의드립니다!
-
미해결스프링 핵심 원리 - 기본편
질문있습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 스프링 컨테이너에 등록하는 코드를 똑같이 작성했는데 기존과 실행결과가 같고, 디버그 실행문이 안뜹니다. 어디가 문제인가요?
-
해결됨네트워크, 그림으로 이해하자(2022ver.)
3-way handshake와 4-way handshake 과정 중 패킷 단어 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.3-way handshake와 4-way handshake 과정 중 '패킷' 단어에 대해 질문을 드릴려고 합니다.제가 알기로는 패킷은 3계층의 데이터 단위이고, 4계층의 데이터 단위는 세그먼트인 걸로 알고 있습니다.그런데 이 연결 수립을 다루는 챕터를 보면 '패킷 요청을 네번 교환하여' 라고 말씀하셨는데, 왜 패킷이라고 하신 건가요?
-
미해결
anaconda 회사에서 사용
anaconda가 완전 오픈소스는 아니고 직원 200명 이상 근무하는 회사에서는 유료 버전을 사용해야 하는 걸로 알고 있는데요. 혹시 예전에 배포한 프로그램 중에 무료 버전의 anaconda repository를 사용해서 만든 프로그램이 있다면, 프로그램을 쓰는(작성자 X)는 문제가 없는 건가요?
-
해결됨Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"
router는 스프링으로 대입하면 viewResolver가 되는건가요?
router는 화면변경이 필요할 때 필요한 링크로 이동할수 있게 연결시켜주는 것 같은데 스프링으로 보면 viewResolver가 되는건가요?
-
미해결윤재성의 Oracle SQL Database 11g PL/SQL Developer
16강 마지막 문제 질문
16강 case문 사용하는 마지막 문제에서-직원들의 급여를 다음과 같이 인상한다.-1000 이하:100%-1000 초과 2000 미만:50%-2000 이상:200%라고 되어있는데select empno, ename, case when sal<=1000 then sal*2 when sal>1000 and sal<=2000 then sal*0.5 when sal>=2000 then sal*3 end from emp;이렇게 알려주셨는데 1000 초과 2000 미만이면 급여 50% 인상이면select empno, ename, case when sal<=1000 then sal*2 when sal>1000 and sal<=2000 then sal*1.5 when sal>=2000 then sal*3 end from emp;코드가 이렇게 되어야 하는거 아닌가요?