묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 중급 1편
정적 중첩 클래스 질문
[질문 내용]여기에 질문 내용을 남겨주세요. static 멤버들은 원래 인스턴스 멤버들을 사용못하는데, static클래스도 내부에서 외부의 인스턴스 멤버들을 호출 못하는데, 인스턴스 변수는 왜 생성할 수 있나요?
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
TA
언리얼에서 어빌리티 시스템을 이용하여 구현중입니다.플레이어가 도끼를 휘둘러 몬스터가 넉백되는 시스템을 구현할때 플레이어가 도끼를 휘두르는 것을 GA, AT, TA로 구현했습니다. (광역 공격)현재 상황은 TA에서 AddForce로 몬스터를 넉백처리 해주는데, AddForce로 몬스터를 넉백하는 것을 몬스터의 넉백 어빌리티로 구현하는것이 좀 더 괜찮은 코드일까요? 아니면 기존처럼 TA에서 몬스터의 넉백을 구현하는 것이 나을까요...?몬스터에게 ASC를 생성하고 어트리뷰트까지 달아준 뒤 넉백 어빌리티를 만드는거는 너무 과한 코드일까라는 생각이 들어서요.
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
카테고리의 응용에 대하여 여쭤보고싶습니다.
앞선 강의의 퀘스트 시스템을 현재강의의 identifiedObject를 합쳤고 stat, skill, effect 와 같은 윈도우에서 각각의 카테고리를 만들고 넣어준 다음에 만약 모종의 사유로 이름이 같은 카테고리가 없으면 X버튼 좌측에 추가적인 버튼을 생성시키고 그버튼을 누르면 해당 카테고리를 들어가게 개조를 가했는데 이게 괜찮을까요?내부 폴더를 대규모로 정리하다 보니까 파일의 경로가 틀어져서 Resources.Load들이 다 망가지게되어서 경로 의존성이 너무 높아져서 안정성이 낮아지는건지 여쭤보고 싶습니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
타입에러가 계속생기는데
타입 포함된 버전을 설치한 후에도 타입에러가 계속 생기는데버전이슈일까요.."dependencies": { "@ant-design/icons": "^5.5.2", "@apollo/client": "^3.11.9", "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", "antd": "^5.21.6", "axios": "^1.7.7", "graphql": "^16.9.0", "lodash": "^4.17.21", "next": "12.1.0", "react": "17.0.2", "react-daum-postcode": "^3.2.0", "react-dom": "17.0.2", "react-infinite-scroller": "^1.2.6", "ts-node": "^10.9.2" }, "devDependencies": { "@eslint/js": "^9.18.0", "@graphql-codegen/cli": "^5.0.3", "@graphql-codegen/typescript": "^4.1.2", "@types/node": "17.0.2", "@types/react": "17.0.2", "@types/react-infinite-scroller": "^1.2.5", "eslint": "^9.18.0", "eslint-config-next": "15.1.4", "eslint-config-prettier": "^10.0.1", "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-react": "^7.37.4", "globals": "^15.14.0", "prettier": "^3.4.2", "typescript": "^5.7.3", "typescript-eslint": "^8.20.0""react-infinite-scroller": "^1.2.6", 이고"@types/react-infinite-scroller": "^1.2.5", 로 되어있습니다.++ return ( <div style={{ height: '700px', overflow: 'auto' }}> <InfiniteScroll pageStart={0} loadMore={onLoadMore} hasMore={hasMorePosts} loader={ <div className='loader' key='loader'> Loading... </div> } useWindow={false} > {data?.fetchBoards?.map((el) => el ? ( <div key={el._id}> <span style={{ margin: '10px' }}>{el.title}</span> <span style={{ margin: '10px' }}>{el.writer}</span> </div> ) : null, ) ?? []} </InfiniteScroll> </div> );1. InfiniteScroll 'InfiniteScroll' cannot be used as a JSX component. Its instance type 'InfiniteScroll' is not a valid JSX element. Property 'refs' is missing in type 'InfiniteScroll' but required in type 'ElementClass' 3. loader Type 'Element' is not assignable to type ReactElement<unknown, string | JSXElementConstructor<any>> Types of property 'key' are incompatible. TYpe 'Key | null' is not assignable to type 'string | null'. Type 'number' is not assignable to type 'string'. 4. {data?.~</div>;})} Type 'void[] | undefined' is not assignable to type 'ReactNode'.2. {data?.~</div>;})}Type 'void[] | undefined' is not assignable to type 'ReactNode'. (이하 생략)이런 에러였었는데,상단에 타입선언 해주고 모두 해결 되었습니다.import React, { ReactElement } from 'react'; declare module 'react-infinite-scroller' { interface InfiniteScrollProps { pageStart?: number; loadMore: () => void; hasMore?: boolean; loader?: ReactElement | null; useWindow?: boolean; children?: React.ReactNode; } export default function InfiniteScroll(props: InfiniteScrollProps): ReactElement; }모듈이 덜 설치된건지 ㅠㅠ 왜 이런 에러가 생긴지 모르겠네요 ㅠㅠ
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
패링형 스킬에 대해 여쭤보고싶습니다
롤에 피오라 W, 이터널 리턴의 니키 W의 스킬들은 각각 가드 성공의 트리거가 하드CC기, 데미지가 트리거가 되는데 이 트리거가 되는 시간을 만들기 위해서는 이펙트를 이용한 버프를 활용하기에는 InActionState에 추가적인 수정이 필요한것같아 모듈식 개발의 취지에 맞질 않다고 생각합니다.추가적인 스킬 스테이트 머신을 만들고 InGuardingState와 같은 예시로 신규 스테이트를 만든 후에 해당 스테이트에서 공격한 대상, 받은 공격의 종류, CC기의 유무를 받게하고 이를 통해서 추가적인 애니메이션과 이펙트를 발동하게 하려고 하는데 이런식의 구조가 모듈식 개발의 적합할까요?
-
해결됨서류합격률 4%를 탈출하는 개발자 이력서 작성법(실습 포함)
지금 공부하고 있는 내용도 이력서에 작성할 수 있을까요?
기존 회사에서는 Angular를 주로 사용해 개발을 했지만 현재 대부분의 회사는 React, Next 위주라서 해당 기술을 공부하고 있습니다. 이력서 작성시 해당 기술에 대한 공부의 결과나 과정을 어떻게 작성할지 모르겠어서 질문드립니다.
-
미해결
스위프트, UIKit 에서 테이블 뷰 내 텍스트뷰 높이 조절
지금 당근마켓의 내물건 팔기를 구현하고 있습니다. 전체적으로 UITableView로 만들고 각 셀마다 맞는 셀을 구현했습니다. 텍스트 뷰에 글을 작성하면 텍스트뷰의 높이가 글자 수에 맞춰 늘어나는데, 이때 키보드는 화면 하단에 고정되어 있는것으로 판단됩니다. 그래서 아래와 같이 구현해봤습니다. class FeedViewController: UIViewController { // MARK: - Variable private let tableSection: [String] = ["이미지", "제목", "내용"] var selectedImages: [UIImage] = [] // MARK: - UI Components private let feedTableView: UITableView = { let tableView = UITableView(frame: .zero, style: .insetGrouped) tableView.separatorStyle = .none tableView.showsVerticalScrollIndicator = false tableView.alwaysBounceVertical = false tableView.isScrollEnabled = true return tableView }() ... // MARK: - Layout private var feedTableViewBottomConstraint: NSLayoutConstraint! private var registerButtonTopConstraint: NSLayoutConstraint! private func configureConstraints() { view.addSubview(feedTableView) view.addSubview(registerFeedButton) feedTableView.translatesAutoresizingMaskIntoConstraints = false registerFeedButton.translatesAutoresizingMaskIntoConstraints = false // 제약 조건 저장 feedTableViewBottomConstraint = feedTableView.bottomAnchor.constraint(equalTo: registerFeedButton.topAnchor, constant: -10) registerButtonTopConstraint = registerFeedButton.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor, constant: -10) NSLayoutConstraint.activate([ // 테이블뷰 제약조건 feedTableView.leadingAnchor.constraint(equalTo: view.leadingAnchor), feedTableView.trailingAnchor.constraint(equalTo: view.trailingAnchor), feedTableView.topAnchor.constraint(equalTo: view.topAnchor), feedTableViewBottomConstraint, // 버튼 제약조건 registerFeedButton.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 15), registerFeedButton.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -15), registerFeedButton.heightAnchor.constraint(equalToConstant: 50), registerButtonTopConstraint ]) // 키보드 노티피케이션 설정 setupKeyboardNotifications() } private func setupKeyboardNotifications() { NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow(_:)), name: UIResponder.keyboardWillShowNotification, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillHide(_:)), name: UIResponder.keyboardWillHideNotification, object: nil) } @objc private func keyboardWillShow(_ notification: Notification) { if let keyboardFrame = notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? CGRect { // 키보드가 올라오면 테이블뷰의 bottom을 키보드의 top에 맞춤 feedTableViewBottomConstraint.constant = -keyboardFrame.height + 100 UIView.animate(withDuration: 0.3) { self.view.layoutIfNeeded() } } } @objc private func keyboardWillHide(_ notification: Notification) { // 키보드가 내려가면 테이블뷰의 bottom을 버튼의 top으로 복원 feedTableViewBottomConstraint.constant = -10 UIView.animate(withDuration: 0.3) { self.view.layoutIfNeeded() } } 그리고 ContentInputCell 이라고해서 텍스트뷰를 입력하는 곳에는 아래와 같이 작성했습니다. // MARK: - UI Component private let contentTextView: UITextView = { let textView = UITextView() textView.text = "오늘 하루는 어땠나요? 😀" textView.backgroundColor = .systemBackground textView.layer.cornerRadius = 5 textView.layer.masksToBounds = true // 글자 수에 따라 크기가 늘어가게 하기 위함 textView.isScrollEnabled = false textView.textAlignment = .left textView.textContainerInset = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10) textView.textColor = .secondaryLabel textView.backgroundColor = .systemBackground textView.font = UIFont.systemFont(ofSize: 16, weight: .bold) return textView }() ... private func configureConstraints() { contentView.addSubview(contentTextView) contentTextView.translatesAutoresizingMaskIntoConstraints = false NSLayoutConstraint.activate([ contentTextView.leadingAnchor.constraint(equalTo: contentView.leadingAnchor), contentTextView.trailingAnchor.constraint(equalTo: contentView.trailingAnchor), contentTextView.topAnchor.constraint(equalTo: contentView.topAnchor), contentTextView.bottomAnchor.constraint(equalTo: contentView.keyboardLayoutGuide.topAnchor, constant: 5), contentTextView.heightAnchor.constraint(greaterThanOrEqualToConstant: 350) ]) } // MARK: - Extension: UITextViewDelegate extension ContentInputCell: UITextViewDelegate { func textViewDidChange(_ textView: UITextView) { guard let tableView = tableView else { return } let contentSize = textView.sizeThatFits(CGSize(width: textView.bounds.width, height: .infinity)) if textView.bounds.height != contentSize.height { tableView.contentOffset.y += contentSize.height - textView.bounds.height UIView.setAnimationsEnabled(false) tableView.beginUpdates() tableView.endUpdates() UIView.setAnimationsEnabled(true) } } } extension ContentInputCell { var tableView: UITableView? { var view = superview while view != nil && !(view is UITableView) { view = view?.superview } return view as? UITableView } }
-
해결됨기초 탄탄! 독하게 시작하는 Java - Part 2 : OOP와 JVM
part3 강의 개강
제 기억에는 작년 말에는 part3강의가 나온다고 하셨는데,언제 쯤 강의 오픈 예정이신가요?
-
해결됨[입문] 프리미어 프로로 '요즘' 영상 만들기
두개 영상 붙이기
선생님~ [실습] 1초만에 만드는 자막 템플릿에서flower 영상을 7초까지만 사용하려고 뒷부분을 Ctl + K로 잘라서 뒤에는 날리고, 그 뒤에 영상을 당기로 할 때 'Alt + <- ' 하면 조금씩 왼쪽으로 이동하는데 맞게 동작하는 거죠? 제가 기대한 건 앞 영상에 한번에 이동해서 붙는 줄 알았거든요. 혹시 조금씩 이동하는게 맞다면 한번에 붙게 하려면 어떻게 하는 걸까요?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
embedding에 upstage를 사용하려 하는데 chroma 과정에서 에러가 납니다
openai말고 upstage를 사용하려고 하고 있는데 embedding쪽에서 에러가 발생합니다.RemoteProtocolError라고 뜨는데 왜 그런걸까요?3.1.2강의에서 알려주신 upstage를 이용한 chat은 정상적으로 동작하였습니다. from langchain_upstage import UpstageEmbeddings embedding = UpstageEmbeddings(api_key="oooooooo", model="embedding-passage") from langchain_chroma import Chroma database = Chroma.from_documents(documents=document_list, embedding=embedding, collection_name='chroma-tax', persist_directory='./chroma') --------------------------------------------------------------------------- RemoteProtocolError Traceback (most recent call last) .... APIConnectionError: Connection error.
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
wire 변수 형은 초기값을 설정할 수 없다고 알고 있습니다. 그런데 초기값 설정 코드가 있어 질문드립니다.
안녕하세요 🙂 다음의 코드 wire [31:0] w_i_cnt_th_25M = 32'd25; 또는wire [31:0] w_i_cnt_th_25M = 32'd25000000; 는 wire 변수를 선언하면서 초기값을 할당하는 코드 같습니다. verilog 에서 wire 변수는 초기값 할당이 불가능하다고 나와있습니다. 위코드가 에러없이 수행되는 이유를 설명해주세요 ? FPGA 보드에서 위와 같은 코드를 사용할 수 있나요 ? 감사합니다.
-
미해결스프링 프레임워크는 내 손에 [스프2탄]
junit Test에서 오류는 나지 않지만 결과가 다르게 나오네요
안녕하세요 초기 egov에서 받을 때 최신인 5.3.6버전을 받아서 그런지 초기 DataSourceTest에서 @RunWith는 jUnit4버전을 가리키고 저는 5.3.6버전의 spring을 이용했어서인지 SpringJunit4ClassRunner.class가 import 되지 않아 난항을 겪던 중 pom.xml의 버전을 강사님처럼 5.0.7 RELEASE 버전으로 수정하면서 chat gpt의 도움을 받아 DataSourceTest의 테스트를 실행할 수 있었습니다. 그러나 console에서 연결이 되었다는 메세지도 없으며이를 이상하게 여기고 root-context.xml에 기입된 비밀번호를 강사님처럼 일부러 틀리게 한 후실패를 기대한 상태로 run을 돌렸지만, jUnit에 Failures가 뜨지도 않습니다..혹시 이런 경우에도 방법이 있을까 하여 코드도 함께 첨부합니다.. (pom.xml은 다른 글에 올려주신 참고 블로그의 것을 인용했습니다.) [pom.xml]=> 10000자를 올릴 수 없다하며 노션 링크를 첨부하겠습니다!https://devfighting.notion.site/18410212999180b5b0a9cd4ada3a6a58?pvs=4 [console결과, jUnit 결과] [maven dependencies]
-
미해결
ECU Reset 시 Functional Address과 SPRMIB 관련 내용
강의 중 나온 physical address, functional address는 특정ECU, 모든 ECU한테 날릴 수 있다고 하신 내용을 이해했습니다.예를 들어Functional Address ID: 123이면Physical Address ID(ex: 조향 제어기): 456 이면123의 ID로 ECU Reset (0x11) (ex: 1번 SF(Hard Reset?)에 대해)을 진행한다고 가정했을 때, 기본적으로 SPRMIB, 즉 요청하는 포맷에서 SID의 바로 뒤의 byte의 첫 bit에 1의 값(SPRMIB)을 넣어 요청하면 "Positive Repsonse를 안해도 돼!" 라고 전 제어기에게 요청하여 응답을 받지 않는 것으로 이해했습니다. 여기서 질문 드릴 내용이 있습니다.위의 예시에서 ID 123은 모든 제어기로 요청하는 것인데, 이 때, SPRMIB를 0으로 요청하게 되면, 모든 제어기들은 Positive Response시에 모든 제어기 다 일일히 대답을 하나요? 또한, 모든 제어기에 요청 시 SPRMIB를 0으로 요청할 수도 있는 것일까요? (통신에 부하가 걸리신다고는 하셨는데,,) (tester 입장에서 궁금) 추가로, SPRMIB를 1로 요청했을 때, 무 응답으로 알고 있습니다. 그러나, 이 외에도 모든 제어기에 ECU Reset 요청시에, Pending Response(ex: 03 7F 11 78 ....)후 긍정응답(ex: 02 51 01 ...)이 올 수도 있는 것일까요?또한, 전제어기의 ID로 요청하는게 아닌, ID 456으로 조향제어기(Phyical Address)에게 요청 시에는 SPRMIB를 1로 요청할 수가 있나요? + 요청이 가능하다면, 무 응답인가요?
-
미해결게임 엔진을 지탱하는 게임 수학
강의자료 가환환에 대해서 질문드립니다
강의자료중 가환환에 곱셈 연산의 항등원이 존재한다. ( Identity element )조건이 아닌거 같아 질문드립니다.
-
해결됨챗GPT를 활용하여 기획서, 제안서 작성하기
제안서 기획서 항목 PDF로 받을 수 있을까요?
기획서와 제안서 마인드맵(?) 내용을 PDF 형태로라도 받을 수 있을까요?
-
미해결토비의 스프링 6 - 이해와 원리
생성자 파라미터성자 파라미터
안녕하세요 수강중에 놓친 내용이 있는 것 같아서 질문 드립니다@Configuration public class DataConfig { @Bean public DataSource dataSource() { return new EmbeddedDatabaseBuilder() .setType(EmbeddedDatabaseType.H2) .build(); } @Bean public PlatformTransactionManager transactionManager(DataSource emf) { return new DataSourceTransactionManager(emf); } }componentScan 패키지 영역 내에서는Bean Context에 등록된 Bean 객체면Parameter로 전달받아서 사용할 수 있는건가요?
-
해결됨[2024년] 지친 엑셀 유저를 위한 Power BI 기본 강의 (기초~중급 입문)
행렬 사용법과 활용 강의 중 행머리글 옵션창
08:13 에 나오는 행 머리글의 옵션창이 저는 나타나지 않습니다.확인 부탁드립니다.
-
해결됨[백문이불여일타] 데이터 분석을 위한 중급 SQL
별칭이 전체 테이블을 못 불러와요.
안녕하세요, 현재 CASE를 활용한 테이블 피복 리트코트 문제풀이(난이도 상)을 듣고 있는데 선생님과 동일하게 작성하면 저는 왜 자꾸 오류가 날까요....
-
미해결따라하며 배우는 리액트 네이티브 기초
오류 잡기
import { Pressable, StyleSheet, Text, View } from 'react-native' import React from 'react' import CheckboxUnChecked from '../assets/checkbox-unchecked.svg'; import CheckboxChecked from '../assets/checkbox-checked.svg'; import DeleteIcon from '../assets/delete.svg'; const TodoItem = () => { return ( <View style={styles.itemContainer}> <Pressable hitSlop={10} style={styles.itemTextChecked} > <CheckboxUnChecked /> <CheckboxChecked style={styles.itemCheckboxCheckedIcon}/> </Pressable> <Text style={[styles.itemText, styles.itemTextChecked]} > 코딩하기 </Text> <Pressable style={[ styles.deleteButton, styles.deleteButtonDone ]} hitSlop={10} > <DeleteIcon /> </Pressable> <Text>TodoItem</Text> </View> ) } export default TodoItem const styles = StyleSheet.create({}) 내가 보낸 이미지 보면 글자가 짤려 왜그런거야? 선생님이 하란대로 했고 14.1로 인스톨해서 에러도 안났어. 그런데 인스톨 하고나서 보니까 글자가 잘리더라고 왜그런거같아?import { SafeAreaView, StyleSheet, Text, View } from 'react-native' import React from 'react' import { StatusBar } from 'expo-status-bar' import { Platform } from 'react-native'; import InputForm from '../components/InputForm' // 대소문자 정확히 일치 import TodoItem from '../components/TodoItem'; const MainScreen = () => { return ( <SafeAreaView style={styles.container}> <StatusBar backgroundColor={'default'} /> <Text style={styles.pageTitle}>ToDo App</Text> <View style={styles.listView}> <Text style={styles.listTitle}>할일</Text> <TodoItem /> </View> <View style={styles.separator} /> <View style={styles.listView}> <Text style={styles.listTitle}>완료된 일</Text> </View> <InputForm/> </SafeAreaView> ) } export default MainScreen const styles = StyleSheet.create({ container: { flex: 1, paddingTop: Platform.OS === 'android' ? 20 : 0, backgroundColor: '#f7f8fa' }, pageTitle: { marginBottom: 35, paddingHorizontal: 15, fontSize: 54, fontWeight: '600' }, separator:{ marginHorizontal: 10, marginTop : 25, marginBottom : 10, borderBottomWidth: 1, borderBottomColor: 'rgba(0,0,0,0.2)', }, listView: { flex: 1, }, listTitle: { marginBottom: 25, paddingHorizontal: 15, fontSize: 41, fontWeight: '500' } })이게 mainscreen이야. 알려줄수있어??
-
미해결ESXi 가상 인프라 구축과 보안 솔루션을 활용한 이상징후 탐지 모니터링
waf 스플렁크 설치
리눅스 로그 수집 강의에서 splunk 설치 시 이런 오류가 뜨는데 해결 방법을 모르겠습니다. 그 전까지는 다 로그 수집이 원활하게 진행이 된 상태이고 설치 방법은 강의 내용에 올려주신 홈페이지에서 다운 후 short url 만들어서 하는 방법으로 했습니다.정말 모르겠어서 해결 방법 알려주시면 감사드립니다.