묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
댓글 ListView BaseAdapter position 버그 질문
한사람이 게시글을 작성하면 그 아래 여러사람이 댓글을달고 댓글을 쓴 본인만 댓글을 삭제할수 있도록 구현하려고 합니다. 문제는 한 게시글에 여러사람이 댓글을 달았을때 listView의 getView 메서드의 position이 해당 인덱스의 위치를 잘못된 값을 나타냅니다.Log로 찍어봤을때 해당 댓글들의 키 배열들은 정상적으로 있으나 두 댓글다 position을 찍어봤을때 0을 찍고 있습니다.(제 생각대로는 첫번째 댓글을 찍으면 0, 두번째 댓글을 찍으면 1이 로그에 찍힘) 왜 리스트뷰가 해당 position이 제대로 찍히지 않는 이유가 궁금합니다! 해당 코드입니다.게시글 내부 댓글부분 코드var commentlist = ArrayList<CommentModel>() var commentKeyList = ArrayList<String>() var commentLV = binding.commentLV var lvAdpater = CommentAdapter(commentlist , commentKeyList , key ) commentLV.adapter = lvAdpater val postListener = object : ValueEventListener { override fun onDataChange(dataSnapshot: DataSnapshot) { commentlist.clear() commentKeyList.clear() for(dataModel in dataSnapshot.children){ val item = dataModel.getValue(CommentModel::class.java) if (item != null) { commentlist.add(item) commentKeyList.add(dataModel.key.toString()) } } lvAdpater.notifyDataSetChanged() // ... } override fun onCancelled(databaseError: DatabaseError) { // Getting Post failed, log a message Log.w(TAG, "loadPost:onCancelled", databaseError.toException()) } } FBRef.commentRef.child(key).addValueEventListener(postListener)class CommentAdapter(var list : ArrayList<CommentModel> , var keyList : ArrayList<String>, var key : String): BaseAdapter() { var applicantID : String = "" override fun getCount(): Int { return list.size } override fun getItem(p0: Int): Any { return list[p0] } override fun getItemId(p0: Int): Long { return p0.toLong() } override fun getView(position: Int, p1: View?, p2: ViewGroup?): View { var view = p1 if(p1 == null){ view = LayoutInflater.from(p2?.context).inflate(R.layout.comment_item, p2, false) } val applicant = view?.findViewById<TextView>(R.id.applicant) val content = view?.findViewById<TextView>(R.id.contentArea) val time = view?.findViewById<TextView>(R.id.timeArea) applicant?.text = list[position].applicant applicantID = list[position].applicantID content?.text = list[position].comment time?.text = list[position].time var removeBtn = view!!.findViewById<ImageView>(R.id.removeBtn) // var inviteBtn = view!!.findViewById<Button>(R.id.inviteBtn) if(FBAuth.getUid().equals(applicantID)){ removeBtn.isVisible = true removeBtn.setOnClickListener { var commentKey = keyList[position] Log.e("key",keyList.toString()) Log.e("key", position.toString()) var dlg = AlertDialog.Builder(view.context) dlg.setTitle("댓글을 삭제하겠습니까?") dlg.setPositiveButton("확인", DialogInterface.OnClickListener { dialogInterface, i -> FBRef.commentRef.child(key).child(commentKey).removeValue() }) dlg.setNegativeButton("취소",null) dlg.show() } } return view!! } }
-
미해결바닥부터 시작하는 STM32 드론 개발의 모든 것
10-2/3 강의 따라 할때, P게인을 50으로 설정하면, 쓰로틀을 건들면 리셋됩니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 10-2, 10-3 강의 따라 할때, P게인을 50으로 설정하면, 아밍상태에서 아주 조금만 쓰로틀을 건들면 리셋됩니다.(*ST-Link를 빼고 해도 마찬가지 입니다) P게인을 20으로 설정하고 쓰로틀링하면 잘 작동됩니다. 혹시 어느 부분을 검토해 보아야 할지 문의 드립니다.
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
SET LOCK_TIMEOUT 10000;
안녕하세요 좋은 강의 항상 감사합니다. 해당 강의에서 2번째 세션에서만 SET LOCK_TIMEOUT 10000; 을 실행하는데, 락 타임아웃은 세션마다 다르게 설정을 할 수가 있는 것인가요?실습에서 SET LOCK_TIMEOUT 10000; 명령어만 세션1로 옮겨서 (순서, query 다 그대로 세션1, 세션2 각각 다 수행) 실행하니 같은 에러가 발생하는데요. 그렇다면 세션마다 설정하는 것이 아니라 더 큰 개념인 DB에 설정하는 것이라고 볼 수 있는, h2 시간이 정확하지 않아 단정짓기가 좀 어렵네요. 답변 미리 감사드립니다.
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
일대다 연관관계 referenceColumnName 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)안녕하세요. 다름이 아니라 @JoinColumn 에서는 name 속성으로 외래키 컬럼의 컬럼명을 지정하고, 생략된 referenceColumName 속성을 통해 해당 외래키가 대상 테이블의 어떤 컬럼과 연결되는지 정하는 것으로 알고 있습니다.@OneToMany @JoinColumn(name = "TEAM_ID") private List<Member> members = new ArrayList<>();그런데 일대다 연관관계에서 다음과 같이 일 쪽에서 joinColumn을 넣어줄 경우 referenceColumnName 속성은 디폴트 값으로 어떤 컬럼과 연결되는지 궁금합니다. 영한 선생님의 답변글에서는 디폴트 값으로 해당 필드의 타입을 확인하고 해당 타입의 pk컬럼과 연결시켜준다고 봤는데 위 경우는 List가 나와서 어떻게 되는지 궁금합니다.
-
해결됨그림으로 쉽게 배우는 운영체제
교재는 어디서 다운 받을 수 있나요?
교재는 어디서 다운 받을 수 있나요?
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
initState 에서 provider.read 를 해서 초기 데이타를 가져오고 싶은데 가능 한지요?
안녕하세요.중급 강의 잘 듣고 많은 도움이 되었습니다.한가지 질문이 있는데요. view의 initState 에서 provider read 를 통해 데이타를 가져와 state 에 넣어주고,View 의 widget tree 내에서 watch 해서 쓰고 싶습니다.아래처럼 provider.read 를 쓸 수는 없을까요? 꼭 onClick 같은 이벤트 내에서만 쓸 수 있는 것인가요? @overridevoid initState() {// TODO: implement initStatesuper.initState();ref.read(floorNoProvider.notifier).getData();} 그럴 경우 아래와 같은 에러가 발생하는데요.Tried to modify a provider while the widget tree was building. 방법이 없을까요?
-
해결됨React 기반 Gatsby로 기술 블로그 개발하기
[17강 25강] Cannot query field "html" on type "MarkdownRemark" 오류
안녕하세요 본 강의를 통해 블로그를 만들고 있습니다.17강을 진행하는 중에 이 메세지가 발생했고, 이로 인해 게시글을 조회할 수 없었습니다. 공식문서를 찾아 봐도 뭐가 문제인지 몰랐습니다.일단 쿼리에서 html부분을 주석 처리하고 24강까지 진행했습니다. 주석처리하니 "게시글 상단부분 구현"같은 것은 잘 됩니다. 왜 html 쿼리가 진행되지 않는지 도저히 모르겠습니다.도움이 필요합니다.제 깃허브 주소는 아래와 같습니다.https://github.com/Test-Of-LEE/Test-Of-LEE-BlogProject/tree/main/BlogProject 감사합니다.
-
해결됨Slack 클론 코딩[백엔드 with NestJS + TypeORM]
webstorm과 vscode
강의에서는 webstorm이 사용되던데,vscode로 강의를 따라가는데 어려움이 없을까요?
-
미해결<M.B.I.T> 테스트 페이지 만들기! with Django
결과 페이지 만들기 -js편 execCommand를 더이상 지원하지 않습니다.
프론트엔드 마지막편을 보고 있는데 더이상 execCommand 명령어를 지원하지 않는다고 하여 다른 명령어를 찾아봤는데 옳은 코드 인가요?현재 url을 복사하는 함수를 작성한 것입니다.function copyUrl(){ let url = window.location.href; navigator.clipboard.writeText(url) .then(()=>{ alert('URL을 클립보드에 복사했습니다.'); }); }
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
localhost:8080/hello Whitelabel Error Page 오류
안녕하세요 강사님 다름이 아니고 강의 초반에 나오는localhost:8080/hello 를 입력했을때 콘솔창에도 HelloServlet.service가 나타나지 않고 페이지도 여전히 Whitelabel Error Page 가 나타납니다.아래 비슷한 질문들의 해결방법은 모두 실행해 보았습니다!먼저 저의 intelliJ 설정을 말씀드리자면1.war 설정2.버전 3.0.33.jdk17 사용그리고 제가 작성한 코드입니다. ServletApplicationServletInitializerHelloServlet 혹시 몰라 패키지 사진도 올리겠습니다.어플실행시 콘솔창 화면입니다.(아무것도 출력되지 않습니다.)+추가해결방법으로 OMG서포터즈님의 파일 다운로드 후 코드 복붙을 해도 해결이 되지 않고몇몇 학생들의 해결방법으로 jdk17을 correcto-11로 변경하면 해결된다고 하였지만 이도 오류로 이어집니다.
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
k8s 섹션
궁금한 것이 있습니다. k8s 관련된 섹션이 있는데, 해당 섹션을 보지 않아도 뒤에 있는 강좌들을 수강할 때 문제가 없을까요? 당장은 젠킨스만 하려고 하는데
-
해결됨리눅스 시스템 프로그래밍 - 이론과 실습
system call
file lowlevel 부분에서 나온 함수들만 systemcall이고 file advanced 수업에서 소개되는 api들은 아닌거 맞나요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
오류 해결에 도움이 필요합니다.
시퀄라이즈 sync 부분 강의까지 들었습니다. port는 3306번을 다른게 차지하고 있어서 3307을 사용했습니다. node app.js 했는데 실행이 안되네요.. 오류를 파일 부분을 찾아보려했는데 다 모듈 관련된 부분인거 같아서 어디를 봐야 할지 막혔습니다. 워크벤치도 연결이 안되는 상황입니다. 서버 실행 중ConnectionRefusedError [SequelizeConnectionRefusedError]: connect ECONNREFUSED 127.0.0.1:3307 at ConnectionManager.connect (/Users/jinkyungjung/Documents/programming/TIL/react-nodebird/prepare/back/node_modules/sequelize/lib/dialects/mysql/connection-manager.js:92:17) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async ConnectionManager._connect (/Users/jinkyungjung/Documents/programming/TIL/react-nodebird/prepare/back/node_modules/sequelize/lib/dialects/abstract/connection-manager.js:220:24) at async /Users/jinkyungjung/Documents/programming/TIL/react-nodebird/prepare/back/node_modules/sequelize/lib/dialects/abstract/connection-manager.js:174:32 at async ConnectionManager.getConnection (/Users/jinkyungjung/Documents/programming/TIL/react-nodebird/prepare/back/node_modules/sequelize/lib/dialects/abstract/connection-manager.js:197:7) at async /Users/jinkyungjung/Documents/programming/TIL/react-nodebird/prepare/back/node_modules/sequelize/lib/sequelize.js:304:26 at async MySQLQueryInterface.tableExists (/Users/jinkyungjung/Documents/programming/TIL/react-nodebird/prepare/back/node_modules/sequelize/lib/dialects/abstract/query-interface.js:102:17) at async Function.sync (/Users/jinkyungjung/Documents/programming/TIL/react-nodebird/prepare/back/node_modules/sequelize/lib/model.js:939:21) at async Sequelize.sync (/Users/jinkyungjung/Documents/programming/TIL/react-nodebird/prepare/back/node_modules/sequelize/lib/sequelize.js:376:9) { parent: Error: connect ECONNREFUSED 127.0.0.1:3307 at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1187:16) { errno: -61, code: 'ECONNREFUSED', syscall: 'connect', address: '127.0.0.1', port: 3307, fatal: true }, original: Error: connect ECONNREFUSED 127.0.0.1:3307 at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1187:16) { errno: -61, code: 'ECONNREFUSED', syscall: 'connect', address: '127.0.0.1', port: 3307, fatal: true }}
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
Content-Encoding 질문입니다.
Content-Encoding는 표현 데이터를 압축하기 위해 사용한다 라는 것은 이걸 사용하면 표현 데이터를 직접 압축을 시켜준다는 의미인가요??그러면 Content-Encoding은 직접 압축을 해주기도하고 표현데이터가 어떤 압축방식인지 알려주기도 하는 2가지 용도로 사용되는건가요??답변주시면 정말 감사하겠습니다.
-
미해결토비의 스프링 부트 - 이해와 원리
학습 테스트 작성 시 정적 클래스 관련질문
안녕하세요.강의 잘 보고 있는 수강생 입니다.@Configuration과 proxyBeanMethods 강의를 듣고 실습하던 도중 질문이 있습니다. Bean1, Bean2, Common, MyConfig 클래스들을 Static클래스로 만들어야 정상적인 테스트가 가능한것을 확인했는데요. 해당 클래스들을 정적 클래스가 아닌 내부 클래스로 작성하니 적절한 빈타입을 찾을 수 없다라는 에러메시지가 표출되었습니다. 이상해서 해당 클래스들을 별도의 java파일로 작성하니 문제없이 정상동작하는것을 확인하였는데요. 왜 내부클래스 작성 시 정적 클래스로 만들어야 동작하는지 이유를 잘 모르겠습니다. 감사합니다.
-
해결됨그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
인스턴스 생성
안녕하세요.클래스 생성자 설정시 ()를 붙여주는 부분에 대해 여쭤보고자 합니다.인스턴스 생성시에는 class를 지정하여 함수처럼 불러옵니다. 아래와 같이 ()를 붙여서요.let deque = new Deque() constructor에서는 함수 형태가 아니라 ()없이 객체를 불러옵니다. constructor() { this.list = new DoublyLinkedList; } 해쉬 테이블에서는 constructor안에서 for구문을 구동하면서, 어레이를 생성하는데 함수로서 불러옵니다. constructor() { this.arr = []; for (let i =0; i<10 ; ++i) { this.arr[i] = new DoublyLinkedList(); }이렇게 객체로 불러오는 것과 함수 형태로 ()를 붙여 불러오는 것이 어떤 차이가 있는지 궁금합니다.지난해 들어보다가 너무 어려워서 자바스크립트와 c++기초를 조금 듣고 와서 나머지 진도를 진행하고 있습니다. 그림을 통해 이해하기 쉽게 만들어주셔서 따라하면서 .. 흥미롭게 배우고 있습니다~
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
나만의미니프로젝트 cheerio관련질문
원하는 키워드의 값을 담은 상수를 console.log(key,value) 하면 줄바꿈되면서 안에 있는 전체 값들이 나오더라구요 ( const key = $(el).attr("property").split(":")[1]; const value = $(el).attr("content"); 부분입니다)근데 이 값들을 db에 저장하려 for문을 이용해 배열에 넣어봤더니 console.log(key,value)해서 나온 값들이 아닌 마지막 값만 들어갑니다 key와 value에 어떤 형태로 값이 스크랩핑되어 들어가있는건가요..?상수에 배열형태로 들어간 것도 아니고 한줄로 값이 들어간 것도 아니고 .. console.log하면 전체가 나오기는 하나줄바꿈이 되어 나와서 갈피를 못잡겠습니다..스크래핑한 값을 어떻게 저장을하고 넘겨야할지 db로 넘겨야할지 전혀 모르겠습니다................................. 이틀동안 찾아봐도 해결이 안되어서 질문 남깁니다..
-
미해결성공적인 진짜 iOS 개발자 되기 [기초부터 실무까지]
Main.sync 관련 질문입니다.
학습하면서 어려움이 있으면 DispatchQueue.global().async { DispatchQueue.main.sync { Thread.sleep(forTimeInterval: 1) print("finish1") } }위 코드의 굵은 코드들이 실행될때, 어떤 thread들이 실행되고 있는지 설명 부탁드리고 싶습니다. 이렇게 thread가 진행된다고 이해하면 맞나요?
-
미해결쉽고 빠른 스타일링 Tailwind CSS 기초 가이드
수업시 사용하는 툴이 궁금합니다.
수업시 사용하는 툴이 궁금합니다.윈도우에서 강의 하실때 사용하시는 그리기 툴 이름 알 수 있을까요?
-
해결됨파이썬을 활용한 머신러닝 딥러닝 입문
numpy의 shape
안녕하세요 인프런에서 강사님의 강의(파이썬을 활용한 머신러닝 딥러닝 입문)를 수강 중인 손승운입니다.질문'파이썬을 활용한 머신러닝 딥러닝 입문' 강의 12강 내용 7분 18초를 보면 주피터 노트에서는 z.shape의 값이 (axis2, axis0, axis1) 순서로 나오고 제가 직접 주피터노트에 실습한 결과도 동일했습니다.하지만 7분 33초 중앙을 보면 shape를 (axis0, axis1, axis2)로 표현하셨는데, 이는 구글링을 통해 다른 사람들이 표현한 것과 같습니다.그럼 (axis2, axis0, axis1)와 (axis0, axis1, axis2) 둘 중 어느 것이 맞는 표현인가요? 혹시 원래는 (axis0, axis1, axis2)로 표현해야 하지만 numpy를 활용해 shape를 볼 때만 (axis2, axis0, axis1)로 표현되는 건가요?강사님의 강의 덕에 머신러닝 개발자가 되는데 한걸음 내딛을 수 있었습니다. 감사합니다. 편하신 시간에 답변주시면 감사하겠습니다.