묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
섹션 19 Authorization 탭 이용해서 Basic 토큰 보내기 음량 문제
음량이 갑자기 작아진 강의 입니다. 빠른 피드백 감사합니다. 코드팩토리 통합 링크https://links.codefactory.aiFlutter 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다!
-
미해결[LV3 : 기술편] 게임스킬 만들기 - 기획, 아트 누구나 만드는 블루프린트
강의 자료 다운 문의
안녕하세요. 닻 데이터는 어디서 받을 수 있나요? 현재 버섯 데이터만 받을 수 있는 것 같습니다.
-
미해결
실제 운영중인 유학생 커뮤니티 플랫폼 백엔드 충원
요약중국 한인 유학생을 위한 커뮤니티 플랫폼을 운영중입니다.(에브리타임과 유사)현재 인원: 기획/운영8 프론트1 UI/UX 디자인1모집 인원: 백엔드 n명(미정)모집 역할백엔드참여 시간매주 10시간 이상(상시)소개사이트 링크https://infli.co 진행 상황중국 내 한인 유학생들을 위한 커뮤니티 플랫폼을 운영중입니다.23년 3월부터 기획했고 9월에 개발이 완료되어 9/7에 출시해 약 2달간 운영중이며DAU 200, 일일 조회수 5,000정도 나오고 있습니다.개발 초기에는 4명의 프론트, 4명의 백엔드로 총 8명의 개발자가 있었지만 취업, 개인사정 등의 이유로 그만두셔서 현재 개발총괄 및 프론트인 저와 디자이너님만 남은 상황입니다. 이미 개발이 완료되었기 때문에 유지/보수 및 새로운 기능 추가가 주업무입니다.출시 후부터는 프론트 1명 백엔드 1명으로 충분히 운영이 가능했었지만 백엔드 개발자분이 취업을 하시는바람에 갑작스럽게 충원을 해야하는 상황입니다.이런 분들께 추천드려요이직/취업 준비하는 백엔드 개발자완성도 높은 포트폴리오를 원하는 백엔드 개발자(대규모 협업, 실제 트래픽이 발생하는 서비스 운영)실제 실무와 비슷한 구조를 경험해보고 싶으신 분(기획, 앱 기획, QA 등 개발 플로우가 상세하게 나누어져 있음) 어렵게 생각하지 마시고 편하게 지원해주세요! 0. 인플리만의 장점개발부터 실제 서비스까지 완성형 포트폴리오 구성 가능기획 / 디자인 /백엔드 /프론트엔드 전부 참여하는 프로젝트로 실무와 유사한 환경직접 개발한 플랫폼(개발자)을 실제 유저로부터 피드백 받고 디벨롭 시키는 경험 1. 플랫폼 계획 동기한국에는 에브리타임 어플로 전반적인 학교생활을 관리하고 대학생에게 필요한 정보를 수월하게 얻을 수 있습니다. 하지만 해외대학에 다니는 유학생들은 마땅한 어플이 없어 많은 어려움을 겪고 있습니다.이에 저희는 글로벌 유학생들이 유학생활에 필요한 다양한 정보를 교류하고 대외활동부터 취업까지 연계되는 글로벌 플랫폼을 계획했습니다.2. 플랫폼 기능회원가입/ 로그인, 학교메일을 통한 인증 회원가입/로그인익명 게시판 이벤트 게시판, 취업활동, 중고장터 등 다양한 카테고리 게시판(CRUD 기능)시간표시간표 작성 / 강의별로 후기 작성 이는 MVP 모델에 포함되는 기본 기능입니다. 추후 유저 피드백을 통해 기능을 추가시킬 예정입니다. 3. 모집 인원현재 인원: 기획/운영 8명 백엔드 0명 프론트 1명 UI/UX 1명 모집 인원: 백엔드 n명(미정) 4. 프로젝트 일정4~6월 : MVP 개발 및 출시7월 : 유저 피드백8월 : 피드백 반영/부가 기능 추가9월 : 정식 서비스 출시9월~현재 : 출시 후 운영 중 5. 진행 방식 및 사용 기술 스택매주 1회 정기 회의(프론트, 백엔드 참여)매달 1회 전체 회의(개발자, 기획자, 디자이너 참여) 커뮤니케이션: 슬랙, 디스코드백엔드 : spring, java스프링시큐리티 jwt jpa querydsl redis 젠킨스 소나큐브 checkstyle jacoco 6. 지원 방식카톡 : https://open.kakao.com/o/sY0MqSkf구글 폼 : https://forms.gle/Q5DdkRSumjs96zwq9지원자 선별 완료 시 조기마감 될 수 있습니다. 구글 폼 작성해주시면 지원 완료됩니다.궁금한 사항은 카톡으로 질문 주세요!
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
reduce방식으로 풀어보았습니다.
감사합니다.function solution(array) { let continuous = 0; return array.reduce((pre, current) => { current === 1 ? continuous++ : (continuous = 0); return pre + continuous; }, 0); } console.log(solution([1, 0, 1, 1, 1, 0, 0, 1, 1, 0]));
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
웹 브라우저 요청 흐름에서 TCP/IP 연결 관련
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요! 항상 강의 잘 보고 있습니다. TCP/IP 관련해서 질문드립니다.TCP / IP 패킷의 경우, HTTP 메세지와 IP 패킷(출발지/목적지 IP)와 TCP(출발/목적지 Port, 순서 등)을 합쳐서 패키지로 묶어서 전송한다는 의미에서 IP, TCP 둘을 붙여 쓰는게 이해가 가는데,웹브라우저 요청 과정에서 소캣 라이브러리를 통해 TCP/IP 로 3 way handshake를 실행하여 서버와 연결하는 과정에서 TCP/IP 연결에서 왜 둘을 붙여서 이야기 하는지 궁금합니다.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
map을 이용해서 풀어 보았습니다
원본 배열 길이와 반환 배열 길이가 같기 때문에 map 함수를 이용하였고, if else 분기문을 가독성 좋게 switch case를 이용하였습니다.function solution(array, array2) { return array.map((v, index) => { if (v === array2[index]) return "D"; switch (v) { case 1: return array2[index] === 2 ? "B" : "A"; case 2: return array2[index] === 1 ? "A" : "B"; case 3: return array2[index] === 1 ? "B" : "A"; } }); } console.log(solution([2, 3, 3, 1, 3], [1, 1, 2, 2, 3]));
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
포트폴리오 관련 질문 - 오늘 본 상품
안녕하세요. 포트폴리오 작성 중 여러 방법을 시도해 보다 도저히 해결방법을 잘 모르겠어서 질문드립니다.구현하고 싶은 것 : 오늘 본 상품 목록을 다른 페이지에서 구현 하는 것이 아닌 여러 페이지의 본문 영역 옆에 상시 뜨도록 설계 하는 것, recoil을 이용하지 않고 localStorage 를 이용하여 구현하는 것 입니다. 아래 사진은 현재 진행 과정 입니다.아래는 현재 코드입니다sidebar.tsx import { useEffect, useState } from "react"; import * as S from "./sidebar.style"; import type { IUseditem } from "../../../../commons/types/generated/types"; import { LikeFilled } from "@ant-design/icons"; import { getPrice } from "../../../../commons/libraries/price"; export default function SideBar(): JSX.Element { const [items, setItems] = useState<IUseditem[]>([]); useEffect(() => { const storedItems = localStorage.getItem("todaylist"); if (!storedItems) return; setItems(JSON.parse(storedItems)); }, []); return ( <S.SideBarWrapper> <S.SideBarTitle>오늘 본 상품</S.SideBarTitle> {items .filter((el) => el) .map((el) => ( <S.SideBarContents key={el._id}> <S.SideBarP> <LikeFilled style={{ color: "#ffd903" }} /> {el.pickedCount} </S.SideBarP> {el.images && ( <S.SidaBarImg src={`https://storage.googleapis.com/${el.images[0]}`} /> )} <S.SidebarDetail> <S.SideBarName>{el.name}</S.SideBarName> <S.SideBarRemarks>{el.remarks}</S.SideBarRemarks> <S.SideBarPrice>{getPrice(el.price)}</S.SideBarPrice> </S.SidebarDetail> </S.SideBarContents> ))} </S.SideBarWrapper> ); } 문제점useEffect 부분에서 storedItems 가 업데이트 될 때마다, 리렌더링을 해주고 싶어, 종속성 배열에 items state를 넣으니 ⚠ Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.관련 오류가 뜹니다. 여러 방법을 시도해도 옳은 방법을 잘 모르겠어서 질문 남깁니다.
-
해결됨[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
enum 컬럼 옵션에 대한 질문합니다.
10강의 Typeorm 이론의 EnumColumn에서는 EumColumn에서는 @Column({ type : 'enum', enum : Role, default : Role.USER, }) role: Role;enum에 Role 타입을 enum : Role 이렇게 넣고 11강의 Relations강의에서 Enum Column에서는@Column({ enum : Object.values(RolesEnum), type : 'enum', default : RolesEnum.USER }) role : RolesEnum;옵션에서 enum : Object.values(RolesEnum)로 설정을 하는데 무슨 차이가 있나요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
게시판만들다가 질문드립니다
import "./App.css"; import { BrowserRouter, Route, Routes } from "react-router-dom"; import MainPage from "./pages/MainPage"; import Board from "./pages/Board"; import { useEffect } from "react"; function App() { useEffect(() => console.log("app is loading"), []); return ( <BrowserRouter> <Routes> <Route path="/" element={<MainPage />}></Route> <Route path="/board/:bbsId" element={<Board />}></Route> <Route path="/board/:bbsId/new" element={<Board />}></Route> </Routes> </BrowserRouter> ); } export default App; import React, { useEffect, useState } from "react"; import { useNavigate, useParams } from "react-router-dom"; // useParams를 import import BoardList from "../pagesComponent/BoardList"; import BoardEdit from "../pagesComponent/BoardEdit"; import BoardView from "../pagesComponent/BoardView"; import Layout from "../layout/Layout"; import axios from "axios"; export const BbsSettingContext = React.createContext(); const Board = () => { const { bbsId } = useParams(); // const [currentUrl, setCurrentUrl] = useState(null); const [boardSettData, setBoardSettingData] = useState(null); useEffect(() => { let mode = window.location.pathname.split("/")[3] == null ? "list" : window.location.pathname.split("/")[3]; console.log(`mode::::::::::::::${mode}`); setCurrentUrl(mode); axios .get("http://localhost:8080/board/" + bbsId) .then((response) => { const boardSettData = response.data.bbsEntity; console.log(boardSettData); setBoardSettingData(boardSettData); }) .catch((error) => console.log(error)); }, [currentUrl]); return ( <BbsSettingContext.Provider value={boardSettData}> {currentUrl == "list" ? ( <Layout> <BoardList /> </Layout> ) : currentUrl == "new" ? ( <Layout> <BoardEdit /> </Layout> ) : currentUrl == "edit" ? ( <Layout> <BoardEdit /> </Layout> ) : currentUrl == "view" ? ( <Layout> <BoardView /> </Layout> ) : ( <BoardList /> )} </BbsSettingContext.Provider> ); }; export default Board; import React from "react"; import { useContext, useHistory } from "react"; import { BbsSettingContext } from "../pages/Board"; import PageNationPage from "./PageNationPage"; import { useNavigate } from "react-router-dom"; const BoardList = () => { const boardSetData = useContext(BbsSettingContext); console.log(boardSetData); const Navigate = useNavigate(); const handleBoardEdit = () => { // 원하는 동작을 수행할 코드를 여기에 추가 console.log("쓰기로 이동"); Navigate("/board/1/new"); }; return ( <div className="BoardList"> <table className="bbsTable"> <colgroup> <col style={{ width: "10%" }} /> <col style={{ width: "40%" }} /> <col style={{ width: "10%" }} /> <col style={{ width: "20%" }} /> <col style={{ width: "10%" }} /> </colgroup> <thead> <tr> <th scope="col">번호</th> <th scope="col">제목</th> <th scope="col">작성자</th> <th scope="col">등록일</th> <th scope="col"> 조회</th> </tr> </thead> </table> <PageNationPage /> <button onClick={handleBoardEdit}>쓰기</button> </div> ); }; export default BoardList; import React from "react"; import { useState, useEffect, useContext } from "react"; import { BbsSettingContext } from "../pages/Board"; const BoardEdit = () => { const boardSetData = useContext(BbsSettingContext); console.log(boardSetData); return <div>BoardEdit</div>; }; export default BoardEdit; 안녕하세요 다름이 아니라 일기장 보고 게시판을 응용해서 만들던 도중에 안되는게 있어서 질문드립니다.http://localhost:3000/board/1이 리스트로 나오는데요 ...거기서 쓰기를 누르면 http://localhost:3000/board/1/new으로 위에 url은 바뀌는데밑에 ui는 전혀 바뀌질 않습니다 .그리고 Board.js에 useEffect쪽에 콘솔로 찍어봐도 들어오지가 않는데 이유를 좀 알수있을까요 ????? 근데 쓰기 버튼말고 그냥 직접 url을 입력하고 enter를 입력하면 이동합니다 .
-
미해결당신을 함께 일하고 싶은 개발자로 만들어 줄 클린 코드 작성법
이해가 잘 안됩니다.ㅠ
개행 할 것앞서 스크롤이 적을수록 코드를 이해하기 좋다고 말씀드렸습니다. 코드 길이가 매우 긴 함수나 호출자 함수로부터 너무 멀리 떨어져 있는 내부 함수를 탐험하기 위해 스크롤이 발생하면 확실히 코드 이해가 오래 걸리고 힘들어집니다.같은 이유로 수평 방향 스크롤도 고려해야 합니다. 큰 모니터를 사용하면 수평 방향 스크롤은 문제 되지 않을 것으로 생각하실 수 있지만 그렇지 않습니다. 코드를 파악하려다 보면 IDE 화면을 분할할 필요가 종종 있습니다. 화면 너비가 반으로 줄어드는 것이죠. 이런 경우에는 모니터 크기가 큰 도움이 되지는 않습니다. 또한, 수직 방향 스크롤을 줄이기 위해 세로로 길쭉한 모니터를 쓰시는 분들도 계십니다. 이런 모니터는 수평 방향 스크롤에 더 취약하겠습니다.제가 독해력이 부족할수도 있는데..어떻게 단점이고 장점이고 무엇을 고려하고 의도하신지 좀 이해가 잘안되서.. 조금만 더 친절한 설명 부탁드립니다!도움 많이 되고 있습니다!
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃헙 권한 요청드립니다
인프런 아이디 : sangkipm@gmail.com인프런 이메일 : sangkipm@gmail.com깃헙 아이디 : sangkipm@gmail.com깃헙 username : kimsangkipm
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
타입스크립트 설치파트에서 에러가 납니다.
타입스크립트 설치하고 yarn dev 한 이후, yarn add --dev @types/react @types/node 을 통해추가 설치 ? 를 진행하려고 보니 강사님은 아무 에러 없이 잘 진행 되는 반면에 저는 이러한 에러가 뜹니다... ㅠ
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-A 질문있습니다.
안녕하세요.제가 순열이 아닌 방법으로 풀었는데 이렇게 풀어도 괜찮을지 궁금해서 질문드립니다. 시간 효율은 개선되었다고 판단되지만 메모리가 많이 낭비되는 것 같고 코드가 긴 것 같습니다. http://boj.kr/a908b9d0967c46b9bfa2fb0f545f6073 감사합니다.
-
미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
fragment 질문
fragment는 메모리를 사용하니까 직접 화면에 그리는것보다 빠른 건가요?그렇다면 메모리 속도 > 화면 그리는 속도 라고 봐도 될까요??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
4-2 type1 작업형1 6번 문제 문의드립니다.
안녕하세요, 수강생입니다.학습 중에 궁금한 사항이 있어 문의글 남깁니다. 문제6 (데이터는 members.csv)'age' 컬럼의 이상치(소수점 나이와 음수나이, 0포함)를 제거하고제거 전 후의 views 컬럼 표준편차를 더하시오 (최종 결과 값은 소수 둘째자리까지 출력, 셋째자리에서 반올림) [ 풀이 코드 ]# 풀이 import pandas as pd df = pd.read_csv("members.csv") r1 = df['views'].std() cond = df['age'] <= 0 # print(df.shape) df = df[~cond] # print(df.shape) # print(df.shape) cond = df['age'] == round(df['age'],0) df = df[cond] # print(df.shape) r2 = df['views'].std() print(round(r1 + r2, 2))답은 : 8420.69 가 나왔고, [ 저의 코드 ]import pandas as pd df = pd.read_csv('members.csv') # print(df.head()) # print(df['age']) r1 = df['views'].std() df['age'] = df['age'] > 0 df['age'] = df['age'] == round(df['age'],0) r2 = df['views'].std() print(round(r1+r2, 2))저의 답은 8341.72 가 나왔는데.... 저의 질문은 'age' 컬럼의 이상치를 제거하면 제거한 값을 'age' 컬럼에 그대로 덮어쓰고 코드를 작성하는게 맞을 것 같은데 풀이는 cond 라는 변수로 받고 전체 df 데이터에 이상치 제거 값을 덮어쓰셨더라구요.어떠한 차이가 있는지 궁금합니다..
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
transform 이해가 안돼요
cols = ['neighbourhood_group', 'neighbourhood', 'room_type'] from sklearn.preprocessing import LabelEncoder for col in cols: le = LabelEncoder() train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col]) train[cols]마지막에 train[col]이 아니고 train[cols]에 담긴게 이해가 안돼요 cols에서 꺼내서 col에 담았고.. for문 아래에도 col에 담았는데 왜 최종적으로는 cols에 담긴거예요??
-
미해결따라하면서 배우는 3D Human Pose Estimation과 실전 프로젝트
[긴급] 강의자료 링크 깨짐
제공된 강의링크가 깨졌습니다! 필요한 강의 자료https://drive.google.com/file/d/1eeCo0WKkh1t0v6o_4lIOhR59SzKYUoX9/view?usp=share_link
-
미해결[리뉴얼] 타입스크립트 올인원 : Part2. 실전 분석편
Module '"axios"' has no default export 에러 나시는분들
다른 질문에 제로초님께서 재설치나, 컴퓨터 재부팅 하면 해결 된다고 답변이 있지만, 그래도 해결 되지 않아서 저는 다음과 같은 시도를 했습니다.환경: vscode, 맥북 node_modules와 package-lock.json을 삭제 한 후 npm clean cache를 한 후 axios를 재설치를 하였는데도 에러가 남.재설치, 컴퓨터 재부팅 해도 에러가남.해결방법을 찾은건 공식문서 npm에서 찾았습니다.https://www.npmjs.com/package/axios/v/1.3.1대충 읽어보니까 Typescript에서 사용 할려면 tsconfig.json에 옵션을 넣어줘야 하는듯 합니다."moduleResolution": "Node16"이거 추가 하니까 해결됬습니다!
-
미해결[웹 개발 풀스택 코스] HTML&CSS 기초
뉴 파일 생성 안됨
안녕하세요, 부트캠프부터 뉴파일이 생성이 안돼서 시작을 못하고 있습니다ㅜ 이럴 땐 어떻게 해야할까요?
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
인터럽트와 이벤트의 차이?
안녕하세요 강사님. 항상 수업 유익하게 잘 듣고있습니다.인터럽트 강의를 듣다가 궁금한 부분이 있어서요 이벤트 기반의 프로그램을 작성하게되는 경우에 mouse click 이벤트는 하드웨어 인터럽트와 동일한거 같고html body onload는 소프트웨어 인터럽트와 동일한거 같다고 생각하는데요 그럼 이벤트와 인터럽트는 같은 의미라고 봐야되는걸까요??구글링 해보면 다르다고 하는데 내용이 이해가 되지 않아서요..