묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨한 입 크기로 잘라먹는 타입스크립트(TypeScript)
let num2 = 10 as unknown;
let num2 = 10 as unknown;은 어떻게 가능한건가용? 10은 unknown의 다운 캐스팅이라서 안되는거 아닌가용?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
맥 터미널창에서 파일을 찾을수 없다고 떠요,,
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]spring 파일에 hello-spring을 생성했고터미널에서 cd spring을 입력하면 파일을 찾을 수 없다고 뜨는데 어떻게 해야하나요??
-
미해결[LV1] Jetpack Compose - UI 연습하기
@OptIn(ExperimentalMaterial3Api::class) 질문
안녕하세요 강사님! 좋은 강의 감사합니다텍스트필드 함수를 만들때 @Composable 위에 또 @OptIn 어노테이션이 추가가 되는데 제가 작성할때에는 추가가 안되어도 딱히 에러가 발생하고 그러진 않는것 같더라구요혹시 OptIn이 어떨때 쓰는건지? 에러가 발생하지 않는다면 생략이 가능한 부분인건지 질문드립니다!
-
해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
공유자원과 임계구역
안녕하세요 선생님강의 정말 잘 듣고 있습니다..!레지스터에 대한 설명이 잠깐 나와서 궁금한 점이 생겼는데요..!생산자-소비자 문제를 설명하시면서, sum = sum + 1;sum -= 1;기계어로 쪼개보면 원자성이 보장되지 않아 문제가 발생하는 것을 확인했습니다.그런데 값을 읽고, 연산할 때 eax 레지스터를 사용하는 것으롭 봤는데요..!두 곳에서 사용되는 각 eax는 이름만 같을 뿐 사용되는 영역은 달라서 위에 eax는 1이고, 아래의 eax는 -1을 가지는 건가요??
-
미해결대세는 쿠버네티스 (초급~중급편)
RollingUpdate 실패 관련
안녕하세요? deployment 실습 중 rolling update 가 잘 되지 않아서 문의드립니다. rolling update 를 시도하면, v2 버전 pod가 1개만 생성되고, v1 버전 pod는 지속 남아있는 상태로 더 이상 업데이트 가 되지 않습니다. (Recreate은 잘 됩니다.)replicationset 조회 시 아래와 같이 나오는데, 무엇을 잘못한 것인지 잘 모르겠습니다. NAME DESIRED CURRENT READY AGEdeployment-222-5c778cb597 1 1 1 3m46sdeployment-222-5cd5969ff6 2 2 2 5m44s공유해주신 v1.27 image 사용중입니다.
-
미해결스프링 핵심 원리 - 기본편
싱글톤인데 다른 인스턴스가 조회되는 이유는 뭘까요?
싱글톤 테스트를 했는데요findByName()에서 생성한 memberService1, memberService2는 같은 인스턴스가 조회가 됩니다.그런데 findByType에서 생성한 memberService는 memberService1, memberService2와 다른 인스턴스가 조회 됩니다.AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class);는 한번 선언됬는데.....테스트라서 그런가요? @Test @DisplayName("빈 이름으로 조회") public void findByName(){ MemberService memberService1 = ac.getBean("memberService", MemberService.class); System.out.println("memberService1 = " + memberService1); System.out.println("memberService1.getClass() = " + memberService1.getClass()); assertThat(memberService1).isInstanceOf(MemberService.class); MemberService memberService2 = ac.getBean("memberService", MemberService.class); System.out.println("memberService2 = " + memberService2); System.out.println("memberService2.getClass() = " + memberService2.getClass()); assertThat(memberService2).isInstanceOf(MemberService.class); assertThat(memberService1).isSameAs(memberService2); } @Test @DisplayName("빈 타입으로 조회") public void fineByType(){ MemberService memberService = ac.getBean(MemberService.class); System.out.println("memberService = " + memberService); System.out.println("memberService.getClass() = " + memberService.getClass()); assertThat(memberService).isInstanceOf(MemberService.class); }
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
AddressEntity 사용이유
값 타입인 Address를 감싸고 있는 AddressEntity를 따로 만들어서 일대다에서 다의 역할을 해주고 있는데 이렇게 하지 말고Address자체를 @Entity로 만들어서 일대다에서 "다"의 역할을 하게 해도 되지 않나요? AddressEntity를 쓰는 이유가 무엇인가요?
-
미해결SQL 개발자 (SQLD) 자격증 따기 Part.1
TNSListner 중지
Listner과 TNSnames 로털호스트로 변경하였는데도 Cmd/TNSListner 이 중지되어있고 시작 시 아래와같은 오류가 뜸니다. ㅜㅜ
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
12번 멘토링 질문입니다!
안녕하세요, 12번 멘토링 문제 풀다가 첫 번째 채점 결과 값이 3으로 잘 나왔습니다. 그런데 그 다음 입력부터는 전부 오답이 나오는 상황인데, 어떤 부분에서 틀린 건지 알려주시면 감사하겠습니다 ㅠㅠ // package = " "; import java.io.*; import java.util.*; class Main { public int Solution(int n, int m, int arr[][]){ String mathMark = ""; ArrayList<Integer> ans = new ArrayList<>(); HashMap<String, Integer> countMap = new HashMap<>(); for(int i = 0; i < n; i++){ // 첫째부터 계속 다음 줄 내려가서 검사 for(int j = 0; j < m; j++){ // for(int k = 0; k < m; k++){ // System.out.println("j값 : "+j+", "+"k값 : "+k); if(j != k && j < k){ // System.out.println(arr[i][j]+", "+arr[i][k]); if(i == n-1 && j == m-1 && k == m-1){ mathMark += arr[i][j]+""+arr[i][k]; } else{ mathMark += arr[i][j]+""+arr[i][k]+" "; } } } } } /* m개 값을 가지고 있는 수 찾기 */ String numArray[] = mathMark.split(" "); // 숫자 등장 횟수 카운트 for(int i = 0; i < numArray.length; i++){ countMap.put(numArray[i],countMap.getOrDefault(numArray[i],0) + 1); } // 등장 횟수가 3 이상인 숫자 Count for(Map.Entry<String, Integer> entry : countMap.entrySet()){ System.out.println(entry.getKey()+" "+entry.getValue()); if(entry.getValue() == n){ ans.add(1); } } return ans.size(); } public static void main(String[] args) throws Exception{ Main m = new Main(); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] numStr = br.readLine().split(" "); // 1. N과 M 입력받기 int column = Integer.parseInt(numStr[0]); int raw = Integer.parseInt(numStr[1]); int arr[][] = new int[raw][column]; for(int i = 0; i < raw; i++){ String[] test = br.readLine().split(" "); for(int j = 0; j < column; j++){ arr[i][j] = Integer.parseInt(test[j]); } } System.out.println(m.Solution(raw, column, arr)); br.close(); } }
-
해결됨스프링 핵심 원리 - 기본편
실패테스트 할 때 콘솔에 메세지 안 뜨나요?
그냥 성공하면 예외가 떴다고 생각하면 되나요? 콘솔창엔 따로 표시 안되는건가요?
-
해결됨독하게 시작하는 C 프로그래밍
Switch-case 문 예제
안녕하세요 강사님섹션 11 기본 제어문 switch-case문 예제 scanf_s에서 중간에 1을 쓰셨던데 이유를 알 수 있을까요?실제로 실행을 해보니 1을 넣으면 결과가 잘 나오는데 1을 넣지 않으면 실행창은 뜨는데 아래 실행 창 처럼 멈춰 있습니다. 각각의 이유를 알 수 있을까요?오류코드도 뜨는데 무슨 말인지 잘 모르겠는데 알려주실 수 있나요? 오류 코드 감사합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Action경로가 같을때 생략 안할시 500오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]addForm뷰의 action의 경로가 같고 메서드만 다르니 경로 같으면 생략이 가능하다고 해주셨는데 생략을 하지않고 실행을 하니 500 에러가 발행하는 이;유가 있나요?
-
미해결웹 게임을 만들며 배우는 React
npm run dev 할 때 에러발생
에러메세지: [webpack-cli] Invalid configuration object. Webpack has been initialized using a configuration object that does not match the API schema. - configuration.module.rules[0] has an unknown property 'mode'. These properties are valid: object { assert?, compiler?, dependency?, descriptionData?, enforce?, exclude?, generator?, include?, issuer?, issuerLayer?, layer?, loader?, mimetype?, oneOf?, options?, parser?, realResource?, resolve?, resource?, resourceFragment?, resourceQuery?, rules?, scheme?, sideEffects?, test?, type?, use? } -> A rule description with conditions and effects for modules. webpack.config.js 파일 코드const path = require("path"); //path: 노드에서 경로 조작하는 것을 쉽게 해준다. const RefreshWebpackPlugin = require("@pmmmwh/react-refresh-webpack-plugin"); module.exports = { name: "wordrelay", mode: "development", // 실서비스: production devtool: "eval", // 실서비스: hidden-source-map resolve: { extensions: [".js", ".jsx"], //이렇게 적으면 웹펙이 알아서 js나 jsx가 있는지 확인을 하고, react-react-to-dom-word-relay 이거 찾아서 app.js로 만들어준다. }, // 입력 entry: { app: ["./client"], }, module: { rules: [ { test: /\.jsx?$/, //정규표현식: JS랑 JSX 파일에 룰을 적용하겠다. loader: "babel-loader", mode: "development", options: { //babel-loader의 옵션 presets: [ [ "@babel/preset-env", { targets: { browsers: ["> 1% in KR"], // browserslist }, debug: true, }, ], "@babel/preset-react", ], plugins: [ "@babel/plugin-proposal-class-properties", "react-refresh/babel", ], }, }, ], }, plugins: [new RefreshWebpackPlugin()], //출력 output: { path: path.join(__dirname, "dist"), //컴퓨터 마다 파일 경로가 다 다른데 현재폴더안에 자동으로 dist폴더를 만들어준다. filename: "app.js", publicPath: "/dist/", }, devServer: { publicPath: '/dist/', hot: true, devMiddleware: { publicPath: "/dist" }, static: { directory: path.resolve(__dirname) }, }, //터미널에 webpack쓰면 두 파일을 합쳐준다. }; package.json 코드 { "name": "lecture", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "start": "webpack --mode development", "dev": "webpack serve --env development", "assets": "webpack --config webpack.config.js --mode development" }, "author": "tk", "license": "MIT", "devDependencies": { "@babel/core": "^7.24.0", "@babel/preset-env": "^7.24.0", "@babel/node": "^7.23.9", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.11", "react-refresh": "^0.14.0", "webpack": "^5.90.3", "webpack-cli": "^7.23.9", "webpack-dev-server": "^5.0.3" }, "dependencies": { "babel-loader": "^9.1.3", "react": "^18.2.0", "react-dom": "^18.2.0" } } 호환문제인 것같은데 어떤 부분이 호환문제가 생기는건지 잘 모르겠습니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
update 쿼리 질문
package hellojpa; import jakarta.persistence.*; import java.util.List; public class JpaMain { public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em = emf.createEntityManager(); //code EntityTransaction tx = em.getTransaction(); tx.begin(); try { Member member = new Member(); member.setUsername("member1"); member.setHomeAddress(new Address("homeCity", "street", "1000")); member.getFavoritesFoods().add("치킨"); member.getFavoritesFoods().add("족발"); member.getFavoritesFoods().add("피자"); member.getAddressHistory().add(new Address("old1", "street1", "10001")); member.getAddressHistory().add(new Address("old2", "street2", "10002")); em.persist(member); em.flush(); em.clear(); System.out.println("============="); Member findMember = em.find(Member.class, member.getId()); Address a = findMember.getHomeAddress(); findMember.setHomeAddress(new Address("city", a.getStreet(), a.getZipcode())); findMember.getFavoritesFoods().remove("치킨"); findMember.getFavoritesFoods().add("한식"); tx.commit(); } catch (Exception e) { tx.rollback(); } finally { em.close(); } emf.close(); } private static Member saveMember(EntityManager em) { Member member = new Member(); member.setUsername("member1"); em.persist(member); return member; } } 이 때 member.getAddressHistory().add(new Address("old1", "street1", "10001")); 위 코드는 update문이 나갑니다. 그 이유는 알고 있는데 findMember.getFavoritesFoods().add("한식"); 이 코드는 update가 아니라 insert문이 나가더라고요. 왜 update가 아니라 insert문이 나가는 건가요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
여러가지 질문과 제가 이해한것이 맞는지 확인하고 싶어요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]질문 1.<link th:href="@{/css/bootstrap.min.css}" href="../css/bootstrap.min.css" rel="stylesheet">Items.html에서 위 코드를 보았을 때th가 경로를 치환하는 역할이면 굳이 치환하지 않고 href="@{/css/bootstrap.min.css}바로 사용해주어도 상관이 없을것 같은데 굳이 치환을 하는 이유가 있나요?질문 2.모델이라는것이 아직 이해를 못했었는데 나름대로 이해를 해보았습니다.@RequestMapping(“경로“) 처럼 매핑경로로 결정된 클래스가 실행이 되고 동작하면서 반환되는, 예를들면 BasicItemController클래스의 리턴인 “basic/items” 뷰에 데이터가 담긴 모델을 넘겨주고(아직 addAttribute(“items”, items)의 첫번째파라미터 두번째 파라미터는 무엇인지 잘 모르겠어요) 뷰는 전달받은 모델에서 데이터를 꺼내와 동적인 기능을 수핸하는 것인지 예를들어보면 모델을 물건이 담긴 박스, 데이터가 박스에 담긴 물건, 뷰를 물건을 꺼내어 사용하는 사람이라고 할때 박스(모델)에 담긴 물건(데이터)을 꺼내어 보여주는(뷰 템플릿) 것으로 예시를 들 수 있나요?질문 3.프론트앤드 개발자 분이 html마크업을 끝낸 파일을 주어도 결국 백엔드 개발자가 타임리프에 맞는 형식으로 타임리프 임포트를 하고 th문법을 사용해야 하는건가요? 그리고 th가 thymeleaf의 th인가요?
-
미해결입문자를 위한, HTML&CSS 웹 개발 입문
화면 반영 안됨
계속 이런 식으로 떠요 어떤 게 문제일까요? 초기화도 해봤는데 똑같이 저런식으로만 뜹니다코드는 기본으로만 짜서 코드문제는 아닌 것 같습니다
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-N 시간 복잡도 질문이 있습니다.
문제링크: https://www.acmicpc.net/problem/17136이번 7주차 DP 하면서 자꾸 TLE 뜨다 보니깐 이게 완탐이나 백트래킹으로 가능한지 감이 잘 안잡혀요 ㅠㅠ큰돌님은 이 문제 바로 백트래킹으로 접근해도 된다라는걸 어떻게 파악하신건가요?예를 들어서 테스트케이스 7번0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1가 있고 큰돌님의 코드를 돌려보면 [1,1] 위치에서 만들어 질 수 있는 정사각형의 최대 사이즈는 2이므로 [1,1] 위치에서 2 크기의 정사각형의 색을 칠하면서 탐색하는데 [1,1]의 위치에서는 2의 크기로 색칠하고 시작하면 답이 안된다는걸 사람의 눈으로는 파악이 돼죠 왜냐하면 [1, 2]를 기준으로 크기 4의 정사각형을 그릴 수 있다는걸 알기 때문에요.그럼에도 불구하고 큰돌님은 위 상황을 인지한 상태에서 백트래킹으로 시도를 해보신건가요? 아니면 이게 백트래킹으로 풀린다는걸 아시고 푸신건가요?
-
해결됨빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술
venv 환경 패키지 설치 방법 문의
requests 패키지를 설치하려 하는데 안됩니다.혹시 venv 환경에서 패키지 설치하는 방법은 좀 다른가요? (venv2023) ubuntu@ip-172-31-12-30:~/2023_BIGDATA$ sudo pip install requests Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (2.31.0)Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests) (3.3.2)Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests) (3.6)Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests) (2.2.1)Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests) (2024.2.2)WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
-
해결됨스스로 프로그래밍 하는 능력을 키우는 C++
우연히 이 강의를 보고 c++에 관심이 생겼습니다
유튜브 재생목록에 c++ 기초 문법 -> c++ 자료 구조 및 기초 알고리즘 -> c++로 유니티같은 엔진 만들기이 순서로 배우면 되는건가요?좋은 강의 감사합니다.
-
해결됨홍정모의 따라하며 배우는 C언어
10분 6초경 코드 질문
https://www.inflearn.com/questions/741606링크의 질문의 답변에서 어느정도 설명을 해주셨는데s_gets 함수가 NULL을 반환할 경우 break을 해주는거라고 하셨어요그런데 s_gets 함수가 NULL을 반환하는 경우가 오류 말고는 없지 않나요?어떤 문자를 입력하던 엔터를 입력하던 fgets 함수가 포인터는 반환하게 돼있잖아요그렇다는건 역시 오류가 생겼을 경우 break을 하기 위해서if 의 조건문으로 s_gets 함수의 반환값이 NULL인지 확인하는걸 추가해준 것 인가요?항상 좋은 답변 감사합니다.