묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[중급편] 코인 가격 모니터링 앱 제작 (Android Kotlin)
챕터1부분 질문입니다.
왼쪽이 제가 작성한 부분이고 오른쪽이 선생님강의입니다.코인 선택화면 API 데이터 받아와서 확인 (Retrofit / Coroutine) 7분에서1. 제가 작성한 부분이 ViewModel 은 lifecycle이고 선생님께서 작성하신viewModel은 selectViewModel로 되어있는데요.이거 뭔차이가있나요?SelectViewModel 클래스를 ViewModel()타입으로 선언한거를 SelectActivity.kt에 ViewModel 변수에 넣어준거 맞나요? 2.코인 선택화면 API 데이터 받아와서 확인 (Retrofit / Coroutine) 10분에서class NetworkRepository {private val client=RetrofitInstance.getInstance().create(Api::class.java)suspend fun getCurrentCoinList1()=client.getCurrentCoinList()//API주소}이런코드가있는데요.getCurrentCoinList1()가 함수인거 같은데 대입연산자 사용이 가능한가요? 3 NetworkRepository에서요.코드.class NetworkRepository {private val client=RetrofitInstance.getInstance().create(Api::class.java)//클래스RetrofitInstance 에서 retrofit형식을 가진 client를 불러온다.suspend fun getCurrentCoinList1()=client.getCurrentCoinList()//API주소 }이런코드가있는데요.suspend fun getCurrentCoinList1()=client.getCurrentCoinList()//API주소질문3번 :getCurrentCoinList()함수가 api클래스 내부 함수인거 같은데요.근데 RetrofitInstance.getInstance()여기서는 api파일을 받은게 없는데 어떻게 api 함수인 getCurrentCoinList()를 쓸수있나요?} 4. 데이터 코인 선택 Acitivity로 받아오기 (LiveData) 1분22초에서 원래코드는 이건데요. class SelectViewModel : ViewModel() { private val netWorkRepository = NetWorkRepository() private lateinit var currentPriceResultList : ArrayList<CurrentPriceResult> // 데이터변화를 관찰 LiveData private val _currentPriceResult = MutableLiveData<List<CurrentPriceResult>>() val currentPriceResult : LiveData<List<CurrentPriceResult>> get() = _currentPriceResult fun getCurrentCoinList() = viewModelScope.launch { val result = netWorkRepository.getCurrentCoinList() currentPriceResultList = ArrayList() for(coin in result.data) {================================================class SelectViewModel : ViewModel() { private val netWorkRepository = NetWorkRepository() private lateinit var currentPriceResultList : ArrayList<CurrentPriceResult> fun getCurrentCoinList() = viewModelScope.launch { // 데이터변화를 관찰 LiveData private val _currentPriceResult = MutableLiveData<List<CurrentPriceResult>>() val currentPriceResult : LiveData<List<CurrentPriceResult>> get() = _currentPriceResult val result = netWorkRepository.getCurrentCoinList() currentPriceResultList = ArrayList() for(coin in result.data) { 이렇게 작성하면 LiveData를 viewModelScope.launch {안에 넣어주면 위사진처럼 get()을 import하면 뭔가 많이 나오는데 이건 왜이런건가요?
-
미해결스프링 핵심 원리 - 기본편
질문드립니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. BeanA beanA= ac.getBean("beanA", BeanA.class)에서 "beanA"는 메서드 이름 자리 아닌가요??클래스만 지정하고 beanA라는 메서드를 지정한적이없는데 이게 어떻게된것인지요?
-
해결됨탄탄한 백엔드 NestJS, 기초부터 심화까지
Mongoose API document
imports: [MongooseModule.forFeature([{ name: Cat.name, schema: CatSchema }])],에서 왜 name, schema 를 가지는 객체가 필요한지 궁금해서 타고 들어가봤더니, ModelDefinition타입이더라구요. 패키지에 도큐먼트 작성된 것이 없어서npm mongoose , nestjs/mongoose둘 다 찾아봤는데 mongoose 도큐먼트에는 따로 없었고,nestjs/mongoose 는 도큐먼트가 아예 안보이더라구요.. API 가 궁금할 때에는 어떤 방법으로 찾아 볼 수 있을까요..?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
hit가 발생한 후부터만 뒤로 하나씩 미는 방법
function solution(size, arr) { const cache = new Array(size).fill(0); let hit; for (let i = 0; i < arr.length; i++) { hit = false; for (let j = cache.length - 1; j >= 0; j--) { if (hit) { cache[j + 1] = cache[j]; } if (cache[j] === arr[i]) { hit = true; } } if (!hit) { cache.unshift(arr[i]); cache.pop(); } else cache[0] = arr[i]; } return cache; }바깥 for문 처음에 캐시 배열에 찾는 값이 있는지 확인하는 반복문을 한번 돌지 않고, 한번만 반복문을 돌면서 hit가 발생한 이후부터만 뒤로 한칸씩 미는 방법으로 코드를 짜봤습니다.이렇게 작성해도 괜찮을까요? 반례 있을까요?
-
해결됨기출로 대비하는 개발자 전공면접 [CS 완전정복]
Hash Table 질문
안녕하세요 강사님.좋은 hash function의 조건에서 해시값이 고르게 분포되게 하는 것을 적어주셨는데, 공간효율성을 최대한 좋게 하기 위해서일까요? 아니면 다른 이유들도 있을까요?
-
미해결[발표스피치] 대기업 임직원, 스타트업 대표들이 배우는 청중을 사로잡는 발표 방법!
강의노트 링크 연결이 되지 않습니다.
안녕하세요, 지금까지는 짬을 내어 영상만 시청하며 학습하다가, 글자길이를 동일하게 말하는 연습을 해보려고 하니 강의노트에 있는 링크를 클릭하면 페이지를 표시할 수 없다고 합니다. 다른 강의에서도 강의노트를 따로 확인해 본 적이 없는데 문제가 있었을지 모르겠네요;;
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"
부트스트랩 세팅관련해서
강의교안에 있는 코드 넣어도 잘 안되고상단바가 가운데로 오고 이상하게 뜨는데 2시간동안 이거 안되서 내일하려고하는데 어떻게하죠 ㅠ
-
미해결
통합교안신청
안녕하세요. 오늘 신청한 빅데이터 분석기사 필기 1-4강의 통합교안 메일로부탁 드립니다.이메일주소: ss4825@naver.com
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
flush() 전에 Insert 쿼리 출력되는 현상
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]강의에서는 flush()를 호출하기 전에는 insert 문이 나가지 않는다고 하셨는데, 저 같은 경우에는 위와 같이 작성해도 insert 문이 콘솔에 출력됩니다. 이유가 궁금합니다.
-
해결됨[코드캠프] 시작은 프리캠프
CSS input radio type 수정하는 방법이 궁금합니다
구글 통해서 radio 박스를 CSS를 이용해 변경하고폰트 위치랑 padding을 적용해보려고 했는데 적용이 안됩니다 피드백 부탁드립니다 ㅠㅠ // HTML <div class="radioSet"> <input type="radio" class="radioBox" name="gender">여성 <input type="radio" class="radioBox" name="gender">남성 </div> // CSS .radioSet { width: 100%; height: 25px; display: flex; flex-direction: row; justify-content: center; align-items: center; margin-top: 20px; } .radioBox { width: 20px; height: 20px; }
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
String, int 가 터미널에는 똑같은 모양으로 출력되는데, int 타입은 색상을 변경해서 출력하는게 가능한가요?
String, int 가 터미널에는 똑같은 모양으로 출력되는데, int 타입은 색상을 변경해서 출력하는게 가능한가요?터미널만 봐서는 무슨 타입인지 알 수 없습니다.
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
github 권한 요청 드립니다.
인프런 아이디 : mi.jang@ahnlab.com인프런 이메일 : mi.jang@ahnlab.com깃헙 아이디 : rose01072815503@gmail.com깃헙 Username : rose01072815503
-
해결됨[코드캠프] 강력한 CSS
vscode 새로운 폴더 불러오기
제가 프리캠프 강의 듣고 넘어와서 이전에 'PRECAMP'로된 폴더가 vscode에 있었는데 css폴더를 불러오니까 사라지던데, 원래 폴더는 하나밖에 못 불러오나요? 아님 이전에 있던 폴더는 다른 곳으로 이동 한 건가요?
-
미해결[따라하기만 해!] 스마트스토어 새내기를 위한 완벽 가이드북! (노하우 전자책)
비즈하우스 무료 로고 부분
비즈하우스에서 무료 로고 작성 부분이 없던데 혹시 어디에 있는지 알 수 있을까요?
-
미해결
스프링 delete 매개변수없이 구현
스프링에서 delete를 구현할때 보통 id값으로 deleteById() 이런식으로 구현하는데매개변수를 사용하지않고 구현하는 방법이 있을까요?어떠한 매개변수도 없이 user.delete() 이런식으로요
-
미해결자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)
강의가 중복된 것 같습니다
객체지향 핵심파트의인터페이스와 인터페이스는 왜 쓰는가? 강의의 10분 15초부터 끝까지의 내용이인터페이스를 활용한 다형성 구현 강의와 내용이 중복된 것 같습니다!
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
return; 유무
public static void DFS(int index, int sum) { if (sum > C) { return; } if (index == N) { answer = Math.max(answer, sum); return; } else { DFS(index+1, sum+arr[index]); DFS(index+1, sum); } }if(index == N) {} << 여기에서 강사님은 return;을 따로 쓰지 않으셨던데 return; 을 쓰거나 쓰지 않는 기준이 따로 있는건가요 ?? 어차피 저쪽으로 가게된다면 맨 마지막 줄이기 때문에 따로 return; 을 작성하지 않으신건가요 ?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-T 질문있습니다..!
안녕하세요!! 이 문제 해설 코드를 보다가 궁금한 점이 생겨서 질문 드립니다.상어가 이동하고 한칸에 두마리가 있을 때 큰 상어가 나머지 상어를 먹는 부분인데요, 제가 잘못 이해하고 있는 건가 싶은게 있습니다. 코드 67번째 줄 부분인데요. # i는 1부터 M까지 if(temp[ny][nx]) { if(a[temp[ny][nx]].z < a[i].z) { a[temp[ny][nx]].death = 1; temp[ny][nx] = i; } else a[i].death = 1; } else temp[ny][nx] = i;이때 i가 1인 경우에도 이미 상어가 있는 곳으로 이동하는 경우도 있을 수 있지 않나요?제가 잘못 이해하고 있는건지.. 고민하다가 질문드립니다. 감사합니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-H 강의 질문 입니다.
5-H 풀이 강의투포인트 개념적용되는 문제로,중복되는 숫자가 나올때까지 e 를 증가시키고중복되는 수가 나오면 s 를 증가시키는 개념인 것은 이해를 했습니다만,s/e 가 변화해가면서 실질적으로 경우의 수를 산출하는 디테일한 부분에서 설명하신 내용만으로는 이해되지 않는 부분이 있어 질문 남깁니다. 4:41 경에1을 포함하는 집합을 다 빼야한다고 말씀해주셨는데요.말씀하신 문맥 흐름 상으로만 보면 경우의수에서 뺀다는 뜻으로 이해가 될 수가 있을 것 같습니다.코드상 ret 에는 아래와 같이 더해주는데 ret+=(e-s);뺀다는 표현이 어떤 의미인지 확인 부탁드립니다.코드 기반으로 제가 이해한 것은e = 3, s = 0 인 경우 (e-s) = 3 이고,1 / 12 / 123 에 대한 경우의 수를 ret 에다가 더해주는 것으로 저는 이해했습니다. 4:59 경에s=1 이 되면서 "이 구간(=갈색구간?)" 이 완성되는거라고 하셨는데, s 가 0 에서 1 이 되면서 비로소 2 / 3 / 1 구간 설정이 되는것인데, s=1 이 되고 2 / 3 / 1 구간에 대한 경우의 수를 확인할수있게 되는 것으로 보이는데요완성되었다는 표현이 어떤것을 의미하는것인가요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
ArrayList API 관련 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)아니오2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]ArrayList<> 객체의 인수로 store.values()를 넣고 return 하게되면 어떤 알고리즘으로 store에 저장된 데이터들이 반환되는지 궁금합니다!해당 ArrayList의 API를 보면이런 식으로 구성돼있는 것을 확인할 수 있었는데 이게 무슨 뜻인지 이해가 잘 가지 않아서 여쭤봅니다!