묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
왜 console.log(target)을 했을때 td 클래스가 question이 나오는지 모르겠습니다
function onRightClick(event) { event.preventDefault(); //도구모음 안나오게 const target = event.target; //이벤트 타겟은 내가 진짜 클릭한 대상. current target은 이벤트 리스너가 붙은 대상 console.log(target) //왜 question이 나오는지 const rowIndex = target.parentNode.rowIndex; //tr 태그에는 내부적으로 rowIndex 존재 const cellIndex = target.cellIndex;//td 태그에는 내부적으로 rowIndex 존재 const cellData = data[rowIndex][cellIndex]; if (cellData === CODE.MINE) { // 지뢰면 data[rowIndex][cellIndex] = CODE.QUESTION_MINE; // 물음표 지뢰로 target.className = 'question'; target.textContent = '?'; } else if (cellData === CODE.QUESTION_MINE) { // 물음표 지뢰면 data[rowIndex][cellIndex] = CODE.FLAG_MINE; // 깃발 지뢰로 target.className = 'flag'; target.textContent = '!'; } else if (cellData === CODE.FLAG_MINE) { // 깃발 지뢰면 data[rowIndex][cellIndex] = CODE.MINE; // 지뢰로 target.className = ''; target.textContent = ''; } else if (cellData === CODE.NORMAL) { // 닫힌 칸이면 data[rowIndex][cellIndex] = CODE.QUESTION; // 물음표로 target.className = 'question'; target.textContent = '?'; } else if (cellData === CODE.QUESTION) { // 물음표면 data[rowIndex][cellIndex] = CODE.FLAG; // 깃발으로 target.className = 'flag'; target.textContent = '!'; } else if (cellData === CODE.FLAG) { // 깃발이면 data[rowIndex][cellIndex] = CODE.NORMAL; // 닫힌 칸으로 target.className = ''; target.textContent = ''; } }우클릭을 했을 때 동작하는 함수입니다.상단에 target에 대해서 console.log 출력하는 부분이 있는데지뢰찾기 행수 열수 지뢰수를 입력하고 submit한 순간에는td에 어떠한 클래스도 주어지지 않았다고 생각합니다.그리고 최초로 우클릭을 하는 순간에도 td는 아무 클래스가 없고 우클릭이 이뤄지고 나서 그 다음 현재 cellData의 상황에 따라 target.className이 주어지니까최초 클릭시에는함수 상단 console.log(target)에 td class에는 아무것도 없어야한다 생각합니다. 그런데 왜 우클릭 시에 td class가 question으로 지정되어서 나오는지 이해가 안됩니다 ㅠㅠ
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
Llama2 학습시 일반 질문 답변
Llama2 학습시 일반 질문 답변 관련 해서 문의드립니다. 이번강의에서 Llama2를 파인튜닝하는것 으로 알고있는데,기본적으로 학습되어있는 모델을 추가 정보를 넣어준다는 개념으로 알고 있었습니다. 결과 테스트시, 20문장 외엔 어떠한 답변도 못하는것을 확인 했는데, 저희가 사용한 모델(TinyPixel/Llama-2-7B-bf16-sharded)이 정보도 가지고 있지않아서그런건가요? 기본적인 대화가 가능한 모델은 어떤게 있을까요?
-
미해결[핵집] 2025 빅데이터 분석기사(실기)_작업형 1·2·3유형
기출복원문제풀이2 중 보험가입여부 예측문제 풀이 질문
강사님.. 기출복원 풀이2 중 보험가입여부 예측 문제 풀이에서요.. 마지막 모델 fit에 X_train을 입력하는 것은 좀 이상한데요... X_train의 num_cols 데이터들은 scaling을 하지 않은 값들이어서.. 굳이 전체 X_train로 학습하려면 X_tra와 X_val을 pd.concat으로 합친 후 입력해야 하지 않을까요?확인 부탁드려요.. 강사님의 예측결과와 제가 계산한 예측결과의 차이가 심해서요.. 예를 들면, 강사님 예측 / 저의 계산ID 1569 0.03312 / 0.2714ID 1344 0.02612 / 0.9889ID 1429 0.03312 / 0.1047...너무 차이가 심해서요.. 이것도 확인 부탁드려요~~~수고하시고요.
-
미해결Data Engineering Course (1) : 빅데이터 하둡 직접 설치하기
확장팩 필수 유무
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 버추얼머신 깔 때 확장팩 필수인가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
초초보를 위한 전처리 인코딩 가이드 너무 너무 감사합니다.
시험 앞두고 이런 뽀나스 영상이 정말 큰 힘이 됩니다!! ^^ 감사합니다. 작업형 3유형 ...도 필승전략.. 알려주심 너무나 감사하겠습니다. ㅜㅜ 더 많은 것을 원해서 죄송함돠 ㅠ
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
훈훈한 자바스크립트_eventListener를 활용한 태그 삭제
아래코드를 입력했는데, newLi dblclick했을때 삭제처리가 되지 않습니다. 문제가 뭘까요? const todoInput = document.querySelector("#todo-input"); const createTodo = function () { const todoList = document.querySelector("#todo-list"); //List자체를 받아오기 const newLi = document.createElement("li"); const newSpan = document.createElement("span"); /** * pseudo: (addEventListner) * 할일이 완료가 된지 안된 일인지 알 수가 없음 -> EventListner를 추가 * 버튼태그와 함께 온클릭 이벤트를 생성 */ //02-addEventListner파트: 버튼태그 추가 및 Event속성(onClick 추가) const newBtn = document.createElement("button"); newBtn.addEventListener("click", () => { //클릭을 했을 때 어떻게 할지에 대한 내용을 익명 함수로 지정 newLi.classList.toggle("complete"); //버튼을 눌렀을 때 새로운 클래스를 추가해준다 }); //02-addEventListner: 당연히 삭제도 되어야할텐데... (더블클릭 -> 삭제) newLi.addEventListener("dblclick", () => { newLi.remove(); }); newSpan.textContent = todoInput.value; newLi.append(newBtn); newLi.appendChild(newSpan); todoList.appendChild(newLi); //왜 굳이 span태그를 만들고 span 태그를 List에 추가한 건지는 알 수가 없으나.. 나중에 알려주겠지.. todoInput.value = " "; console.log(newLi); }; //여기까지만 했을때는 기능상 부족한 부분이 상당히 많음 const keyCodeCheck = function () { if (window.event.keyCode === 13 && todoInput.value) { //만약 키보드값에 대해 enter값이 눌리면 -> createTodo(); } };
-
해결됨배달앱은 어떻게 내 주변의 맛집을 찾을까?
테스트를 실행했을 때 RuntimeError: Event loop is closed 에러가 발생합니다.
질문하실 땐 https://gist.github.com/ 를 사용하시면 코드를 쉽게 공유할 수 있습니다!원하고자 하는 것실제 작성한 코드실행한 결과원하는 결과 이렇게 4가지를 꼭 적어주셔야 도와드릴 수 있습니다 :) test_shop_insert_one() 함수를 추가하여 테스트를 실행했을 때 RuntimeError: Event loop is closed 에러가 발생하여 테스트가 실패합니다. app/tests/entities/collections/shop/test_shop_collection.py F [100%] ============================================================================= FAILURES ============================================================================= _______________________________________________________________________ test_shop_insert_one _______________________________________________________________________ @pytest.mark.asyncio async def test_shop_insert_one() -> None: # Given name = "치킨집" category_codes = [CategoryCode.CHICKEN] delivery_areas = [ ShopDeliveryAreaSubDocument( poly=GeoJsonPolygon(coordinates=[[[0, 0], [0, 10], [10, 10], [10, 0], [0, 0]]]), ) ] # When > shop = await ShopCollection.insert_one(name, category_codes, delivery_areas) app/tests/entities/collections/shop/test_shop_collection.py:21: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ app/entities/collections/shop/shop_collection.py:20: in insert_one result = await cls._collection.insert_one( /PATH/OF/POETRY/CACHE/lib/python3.11/site-packages/motor/metaprogramming.py:73: in method return framework.run_on_executor( /PATH/OF/POETRY/CACHE/lib/python3.11/site-packages/motor/frameworks/asyncio/__init__.py:85: in run_on_executor return loop.run_in_executor(_EXECUTOR, functools.partial(fn, *args, **kwargs)) /PATH/OF/PYTHON/lib/python3.11/asyncio/base_events.py:816: in run_in_executor self._check_closed() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_UnixSelectorEventLoop running=False closed=True debug=False> def _check_closed(self): if self._closed: > raise RuntimeError('Event loop is closed') E RuntimeError: Event loop is closed /PATH/OF/PYTHON/lib/python3.11/asyncio/base_events.py:519: RuntimeError ===================================================================== short test summary info ====================================================================== FAILED app/tests/entities/collections/shop/test_shop_collection.py::test_shop_insert_one - RuntimeError: Event loop is closed =================================================================== 1 failed, 1 passed in 0.55s ====================================================================에러로그는 위와 같습니다. --async-mode 를 test로 변경해보면 저 단계까지 가기 전에 에러가 발생하고@pytest.mark.asyncio 어노테이션을 추가해줘도 결과는 같습니다.poetry 를 이용한 환경 구성이 처음이라 해당 지식이 많이 부족하여 이 문제를 어떻게 해결해야하는지 잘 모르겠습니다. 파이썬 버전은 3.11.3poetry 버전은 1.4.2mongodb 버전은 6.0.11 입니다. [tool.poetry.dependencies] fastapi = "^0.95.2" gunicorn = "^20.1.0" httpx = "^0.24.1" motor = "^3.1.2" orjson = "^3.8.14" python = "^3.11" uvicorn = "^0.22.0" [tool.poetry.group.dev.dependencies] black = {extras = ["d"], version = "^23.3.0"} coverage = "^7.2.3" isort = "^5.12.0" mypy = "^1.3.0" pytest = "^7.3.1" pytest-asyncio = "^0.21.0" toml-sort = "^0.23.0" 작성한 코드의 차이점은 db가 로컬에 있지 않고 외부에 있는 관계로def create_mongo_url(host: str = "localhost", port: int = 27017) -> str: return f"mongodb://{host}:{port}" DATABASE_NAME = os.environ.get("MONGO_DATABASE", "yorigin") HOST = os.environ.get("MONGO_HOST", "localhost") PORT = os.environ.get("MONGO_PORT", 27017) client = AsyncIOMotorClient(create_mongo_url(HOST, int(PORT)))이와 같은 코드를 추가하여 지정된 host의 mongodb와 통신할 수 있도록 한 것이 전부입니다. 확인 부탁드릴 수 있을까요?
-
해결됨[Bloc 응용] 실전 앱 만들기 (책 리뷰 앱) : SNS 로그인, Firebase 적용, Bloc 상태 관리, GoRouter
즐겨찾기 기능 질문 요청드립니다..
페이지 처음진입시 즐겨찾기 클릭하면정상적으로 별이 on 으로 바뀌게 되는데" 한번끄고 다시 키면 on으로 바뀌지않고 off 형태의 아이콘이되어있고 다시 뒤로갔다가 들어오면 정상적으로 on 으로 바껴있습니다 !!= 파이어베이스 db 상에는 데이터가 들어오지만상태가 바뀌지않아서 off 상태일때 10번누르면10번이 다 firebase db에 insert 되는현상이 나타납니다 ㅠㅠprofilePageactions: [ GestureDetector( onTap: () { var myUid = context.read<AuthenticationCubit>().state.user!.uid; context.read<UserProfileCubit>().followToggleEvent(myUid!); }, child: Padding( padding: const EdgeInsets.only(right: 20), child: BlocBuilder<UserProfileCubit,UserProfileState>( builder: (context,state) { var myUid = context.read<AuthenticationCubit>().state.user!.uid; var isFollowing = state.userModel?.followers?.contains(myUid) ?? false; return SvgPicture.asset(isFollowing ? 'assets/svg/icons/icon_follow_on.svg' :'assets/svg/icons/icon_follow_off.svg'); } ), ),user profile cubit void followToggleEvent(String myUid) async { if (state.userModel!.followers != null && state.userModel!.followers!.contains(myUid)) { // 즐겨찾기 취소 언팔 var result = await userRepository.followEvent(false,state.userModel!.uid!,myUid); if (result) { await _unfollow(myUid); } } else { // 즐겨 찾기 하기 var result = await userRepository.followEvent(true,state.userModel!.uid!, myUid); if (result) { await _follow(myUid); } } } _unfollow(myUid) async { emit( await state.copyWith( userModel: state.userModel!.copyWith( followers: List.unmodifiable( [...state.userModel!.followers!.where((targetUid) => targetUid != myUid)], ), ), ), ); } _follow(myUid) async { print(state.userModel!.followers); if (state.userModel!.followers == null) { // 최초 팔로워 대상 emit( await state.copyWith( userModel: state.userModel!.copyWith( followers: List.unmodifiable( [myUid], ), ), ), ); } else { // 다른사람이 이미 팔로워 한사람 emit( await state.copyWith( userModel: state.userModel!.copyWith( followers: List.unmodifiable( [ ...state.userModel!.followers!, uid ], ), ), ), ); } } }user-repositoryFuture<bool> followEvent(bool isFollow,String targetUid, String myUid) async { try { // 2 가지 업데이트 ( 트랜잭션 실행 필요 ) final batch = db.batch(); // Type1 . 상대방 팔로워에 내가 들어가는건다.. var targetUserDoc = await db.collection("users").where("uid", isEqualTo: targetUid).get(); UserModel targetUserInfo = UserModel.fromJson(targetUserDoc.docs.first.data()); var followers = targetUserInfo.followers ?? []; // 최초사람 if (isFollow) { followers.add(myUid); } else { followers.remove(myUid); } var targetRef = db.collection("users").doc(targetUserDoc.docs.first.id); batch.update(targetRef, {'followers': followers}); // Type1 . 내 팔로워에 상대방이 들어간다... var myUserDoc = await db.collection("users").where("uid", isEqualTo: myUid).get(); UserModel myUserInfo = UserModel.fromJson(myUserDoc.docs.first.data()); var followings = myUserInfo.followings ?? []; if (isFollow) { followings.add(targetUid); } else { followings.remove(targetUid); } var MyRef = db.collection("users").doc(myUserDoc.docs.first.id); batch.update(MyRef, {'followings': followings}); await batch.commit(); return true; } catch (e) { return false; } }
-
해결됨이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
회사에서도 헤더 파일을 수정할 때 엔진을 종료하고 진행하는지 궁금합니다!
안녕하세요. 양질의 강의 정말 잘 듣고 있습니다!언리얼 C++ 과 관련하여 이 강의 만큼 이해하기 좋고, 상세하게 설명해주는 수업이 없다고 생각합니다..!!! 다름이 아니라 '설계의 변경을 위해 헤더 파일을 수정할 땐 엔진을 끈다' 라는 것을 이 강좌에서 처음 알게 되었는데실제로 라이브 서비스 중인 팀에서도 이와 같은 방식으로작업을 하는지 정말 궁금합니다! 유니티 팀의 경우 라이브 서비스 한지 3~4년 쯤 되면 전처리 할 리소스나 플러그인 같은 것도 덕지덕지 붙다보니 엔진을 한 번 껐다 켜는데 10~15분 정도 걸려서 '코드 추가/삭제를 위해 껐다 켠다' 라는 생각이 잘 안 드는데 언리얼 엔진은 프로젝트 폴더 사이즈가 수 십 ~ 백단위 GB 가 넘어가도 껐다 켜면서 작업을 하는데 지장이 없는지 궁금합니다. 물론, 클래스 추가/삭제나 헤더 파일 수정은 빈번하게 일어나는 작업은 아니지만 그럼에도 불구하고 무언가를 수정하는 작업에 있어서 엔진을 껐다 켰다 해야하는 게 꽤나 번거로울 것 같아 보여서요. 😁
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
실험환경 메모장에서 ctrl+f 제컴퓨터에서는 됩니다.
dir 기능 활용 해서 메모장에 담고 ctrl+f 찾아 보니 검색이 됩니다.
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
스프링 이니셜라이저 사용 제보입니다
며칠 전부터 자바 11기반의 2.7.X 버전이 이니셜라이저에 안 뜨길래공식 사이트를 찾아보니 11월 24일 부로 지원이 종료되었다고 뜨네요 이제는 강의 내용처럼 자바 11을 쓰려면build.gradle에 구버전 의존성들을 직접 작성해야 하는 건가요?? 일단은 자바 17, 스프링부트 3.2.0으로 진행 중인 상태입니다
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강연장문의드려요
안녕하세요, 다름이 아니라 수강기간 연장 문의드립니다...수강기간이 있는걸 인지 하지 못하여남은 시간내에 다 듣지못할 것 같아서 요청드립니다..강의 너무 잘듣고있습니다 남은 강의 열심히 들어서 자격증 꼭 취득하도록 노력하겠습니다.
-
해결됨독하게 시작하는 C 프로그래밍
static 변수에 관해서 질문이 있습니다.
int TestFunc(){ static int a = 10; ++a; return a; } int main(){ printf("%d\n",TestFunc()); printf("%d\n",TestFunc()); printf("%d\n",TestFunc()); }위 예제에서의 질문입니다. 1. Compile시에 정적영역이 결정되는 건가요?질문이유 : a의 주소에 코드가 실행되지 않았음에도 이미 10이라는 값이 들어가있어서 질문을 드립니다. 2. TestFunc()이 실행될 때 static int a = 10가 매번 평가되는게 아닌건가요? 질문이유 : 제 생각으로는 정적영역에 있더라도, 할당 연산자 때문에 10을 매번 넣어서, 출력값이 11 ,11 ,11이 될거라고 생각했습니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 2유형 코드
col_id = ['id'] col_num = ['Age','Work_Experience','Family_Size'] col_cat = ['Gender','Ever_Married','Graduated','Profession','Spending_Score','Var_1'] col_y = ['Segmentation'] from sklearn.preprocessing import StandardScaler scaler = StandardScaler() train[col_num] = scaler.fit_transform(train[col_num]) test[col_num] = scaler.transform(test[col_num]) from sklearn.preprocessing import LabelEncoder le = LabelEncoder() for col in col_cat: train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col]) from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(train[col_cat + col_num], train['Segmentation'], test_size = 0.3, random_state = 123 )수업내용을 제가 편한 방식으로 조금 바꿔봤는데 이런 식으로 스케일링이랑 인코딩 진행해도 문제없을까요?아래 내용으로 계속 진행했을때 결과는 나오는데 제대로 한게 맞는지 잘 모르겠습니다...from sklearn.ensemble import RandomForestClassifier RF = RandomForestClassifier(n_estimators=300, max_depth =9 ,random_state = 123) RF.fit(X_tr, y_tr) pred = RF.predict(X_val) import lightgbm as lgb lgb = lgb.LGBMClassifier(learning_rate = 0.02, n_estimators = 400, max_depth = 5, random_state=123) lgb.fit(X_tr, y_tr) pred = lgb.predict(X_val) from sklearn.metrics import f1_score print(f1_score(y_val, pred, average = 'macro')) pred = RF.predict(test[col_cat + col_num]) pred submit = pd.DataFrame({ 'ID': test.ID, 'Segmentation': pred }) submit.to_csv("result.csv", index=False)
-
해결됨데이터 분석 SQL Fundamentals
MSSQL
안녕하세요,MSSQL 를 사용하는 경우도만들어주신 두 SQL 강의가 도움이 될까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
다중회귀에서 잔차를 resid로 구하셨는데 ..
단순선형회귀 잔차도 역시(model.resid**2).mean() 로 구하면 되나요 ?
-
미해결따라하며 배우는 리액트 네이티브 기초
윈도우로 개발시 시뮬레이터를 사용할 방법이 없을까요 ?
안녕하세요 저는 윈도우로 학습중이고, 아이폰의 expo go 어플을 사용해 코드 작성결과를 확인하고 있습니다.시뮬레이터는 반드시 맥OS에서만 사용 가능한가요 ?만약 맥 OS에서만 사용이 가능하다면 윈도우에서 ios 화면을 확인할 방법이 없을까요 ?expo go 어플 사용시 연결이 뒤로가기 버튼이 없는 것 같은데 매번 qr코드를 사용해 로드해야하나요 ?확인 부탁드립니다.
-
해결됨스프링 핵심 원리 - 기본편
isEqulaTo / isSameAs
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]isEqulaTo는 값을 비교 / isSameAs는 참조(주소)값을 비교하는 걸로 알고 있습니다. 허나, 아래 질문게시글의 답변과 같이 객체의 경우, isEqulaTo는 isSameAs와 같이 참조를 비교하는 것을 알 수가 있습니다.그렇다면 아래 예시와 같이 String도 객체인데 왜 이 경우는 참조가 아닌 값을 비교하나요? (이 경우 테스트가 통과됩니다!)String a = new String("aa"); String b = new String("aa"); assertThat(a).isEqualTo(b);
-
해결됨스프링 핵심 원리 - 기본편
static관련 질문드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]"static method에 @Bean을 사용하게 되면 싱글톤 보장을 위한 지원을 받지 못한다" 그 이유에 대해서 자세히 알 수 있을까요? 비슷한 질문글들을 봐도 이유에 대한 정확한 설명은 없는 것 같아서요. 제가 찾아본 바로는 bean의 라이프사이클관리, 의존성 주입, 프록시 등등 있는데 무엇이 정확한 이유인지 잘 모르겠어서 질문남깁니다!!
-
미해결Vue.js 시작하기 - Age of Vue.js
.vue파일 열기
localhost:8080으로 들어갔는데 이런 페이지 밖에 안 뜨네요.. 제가 .vue파일에 만든것은 안뜨고 어떻게 해야 할까요?ㅠㅠ