묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
css자손선택자 vs 자식선택자, 부모요소 vs 자식요소
.box div 에 border, width, height는 자식요소와 자손 요소가 똑같이 들어갔는데 padding은 왜 한 요소에만 들어간건가요?? 여기도 padding은 자식요소에 들어갔는데 결과에는 배경이 #000인 자손요소에 들어간거 같아요
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
딜리게이트 이해 질문입니다
제가 완벽하게 이해못한거같아 질문드립니다! 질문1. 대리자 딜리게이트를 쓰는이유 함수나 클래스내에 수많은 기능이 있고 그 모든 기능을 전부 쓸필요가 없다면 필요한 기능(함수)만 입력하여 반환 받아 사용하는 편리성? 역할이 맞는가요 질문2. 대리자 사용방법 수업을 들으며 3가지를 만들어야하는거 같았습니다 1. 대리자 delegate 2. 대리자가 사용할 함수(이걸 인자로 넘김) 3. 대리자 함수를 인자로 받으면 그에맞는 값을 반환하는함수 ================================== ( 수업에선 delegate int OnClicked(); ) (우리가 인자에 넣을)함수를 전해주는 대리자 delegate + 반환형식 + 대리자이름(); 여기서 대리자와 같은 형식이며 대리자와 같은 클래스내 함수들을 s라고 하면 메인함수에서 대리자 대 = new 대리자(); 로 객체 생성하고 대리자 대 = new 대리자(s); 또는 대 = s ; 대리자에 함수 전달 =================================== (수업에선 ButtonPressed(Onclicked clickedFunction)) 함수를 지닌 대리자 혹은 함수 자체를 인자로 받는 함수 하나 더 생성 static void Result( 함수 혹은 [함수가 담긴 대리자] ) { 함수(); } 역할은 인자로받은 함수내 필드값을 반환 해주는 함수 ====================================== 끝으로 대리자에 들어가는 함수들은 대리자와 같은 형식이어야하고 (같은 반환형식) 각 함수마다 필드내용은 다르게 설정가능?!? (콘솔명령어로 테스트해보니 그런거같아보여서요) static int test1(){ return 1; } static int test2(){ return 2; } 가 있다면 대리자에 test1함수를 넣고 대리자 혹은 test1함수를 result(대리자 인자)의 인자로 넣을시 1의 값을 반환 대리자에 test2함수를 넣으면 2의 값이 반환되는것이 맞나요?====================================
-
미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
안녕하십니까 제로초님:)
안녕하십니까 제로초님 다름이아니라 제로초님 영상보면 예전에 JS 초급강좌 , JS 중급강좌가 따로 나뉘어져 있는대 1. 지금 개정판 let's Get it 자바스크립트는 중급강좌 내용까지 합쳐진 내용인가요 ? 2. 합쳐져 있거나 혹은 분리되어 있다면 어느 내용들이 빠져 있을까요? (포함된 내용이라도 모든 내용을 다 다루진 않으신거 같아서요!)
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
현재 h2버전은 1.4.200인데요..!
강의 하단에서는 1.4.199버전을 설치하라고 해서요 ㅠㅠ 어떡하면 좋을까요!?
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
군집분석(K-Means) 질문
안녕하세요. 머신러닝/비지도 학습 공부 중 질문이 생겨서 이렇게 글을 남기게 되었습니다. K-Menas의 경우 우선, 중심값을 기준으로 거리를 측정해, 군집을 형성하는데, 1. 혹시 초기 군집값은 랜덤하게 생성을 해주는 것일가요? 2. 거리를 계산할 때도, 유클리드 거리 통해서 계산하는것으로 아는데, 항상 유클리드 거리로 계산을 하는지, 혹, 옵션을 통해서 맨해튼거리로도 계산이 가능한지 궁금합니다. 감사합니다.
-
미해결하울의 안드로이드 인스타그램 클론 만들기
구글 로그인후 중앙에 무한로딩
어떻게 해야 제거가 가능한가요
-
미해결우디의 포토샵 강좌
펜툴사용
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요! 강의를 듣고 따라 해봤는데요 제가 똑같이 한다고 여러번 시도를 해봤는데 접히는 듯 보이게하는 부분을 아무리 펜툴을 써서 해도 잘 안되더라구요ㅠㅠ 똑같이 찍으라는 곳 찍고 했는데...어떻게 해야하나요
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Default charset
안녕하세요 김영한 팀장님! HttpServlet을 사용한 방식에서 String으로 변환하고자 할때 copyToString에서 charset을 설정해주었습니다. HttpEntity나 어노테이션 이용한 방식은 request시 들어온 문자열 및 나갈때 문자열 모두 default로 utf-8을 지정하는걸로 이해하면 될까요?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
react-native
react native에서는 vercel이 아닌 ngrok을 이용해야 하는건가요?
-
해결됨만들면서 배우는 HTML/CSS
실시간 미리보기, 파일 만들기 에러
처음 설치했는데 파일 새로 만들기도 안되고 실시간 미리보기도 에러뜹니다ㅠ 왜이러는건가요..??
-
미해결언리얼4 이펙터 추천! 블루프린트 이펙트 입문
안녕하세요 처음 이펙트 길을 가는 대학생입니다
0.5 texcoord 아래에 있는 초록 노드는 무슨 용도의 노드 인가요 그리고 저 노드를 킬려면 어떤 단축키를 누르면 되나요
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
magicGrid.positionItems(); 코드를 작성한 이후부터 div 태그들의 위치가 고정되어 나타납니다.
안녕하세요 실습 중 magicgrid.js에 var masonrys = document.getElementByTagName('img');for (let i = 0; i< masonrys.length; i++) { masonrys[i].addEventListener('load', function() { magicGrid.positionItems(); }, false);} 위 코드를 작성하면, 다음과 같이 화면이 뜹니다. div 태그들의 위치가 한 곳에 고정되어 모두 겹쳐서 나타나요. 이유가 무엇일까요? 작성한 코드를 첨부합니다.. {% extends 'base.html' %}{% load static %}{% block content %}<style>.container div { width: 250px; background-color: antiquewhite; display: flex; justify-content: center; align-items: center; border-radius: 1rem;}.container img { width : 100%; border-radius : 1rem; }</style><div class="container"><div class="item1"> <img src="https://picsum.photos/200/300"></div><div class="item2">2</div><div class="item3">3</div><div class="item4">4</div><div class="item5">5</div><div class="item6">6</div><div class="item7">7</div><div class="item8">8</div><div class="item9">9</div><div class="item10">10</div><div class="item11">11</div><div class="item12">12</div><div class="item13">13</div></div><script src="{% static 'js/magicgrid.js' %}"></script>{% endblock %} 'use strict';/*** @author emmanuelolaojo* @since 11/11/18*//*** Validates the configuration object.** @param config - configuration object*/var checkParams = function (config) {var DEFAULT_GUTTER = 25;var booleanProps = ["useTransform", "center"];if (!config) {throw new Error("No config object has been provided.");}for(var prop of booleanProps){if(typeof config[prop] !== "boolean"){config[prop] = true;}}if(typeof config.gutter !== "number"){config.gutter = DEFAULT_GUTTER;}if (!config.container) { error("container"); }if (!config.items && !config.static) { error("items or static"); }};/*** Handles invalid configuration object* errors.** @param prop - a property with a missing value*/var error = function (prop) {throw new Error(("Missing property '" + prop + "' in MagicGrid config"));};/*** Finds the shortest column in* a column list.** @param cols - list of columns** @return shortest column*/var getMin = function (cols) {var min = cols[0];for (var col of cols) {if (col.height < min.height) { min = col; }}return min;};/*** @author emmanuelolaojo* @since 11/10/18** The MagicGrid class is an* implementation of a flexible* grid layout.*/var MagicGrid = function MagicGrid (config) {checkParams(config);if (config.container instanceof HTMLElement) {this.container = config.container;this.containerClass = config.container.className;}else {this.containerClass = config.container;this.container = document.querySelector(config.container);}this.items = this.container.children;this.static = config.static || false;this.size = config.items;this.gutter = config.gutter;this.maxColumns = config.maxColumns || false;this.useMin = config.useMin || false;this.useTransform = config.useTransform;this.animate = config.animate || false;this.started = false;this.center = config.center;this.init();};/*** Initializes styles** @private*/MagicGrid.prototype.init = function init () {if (!this.ready() || this.started) { return; }this.container.style.position = "relative";for (var i = 0; i < this.items.length; i++) {var style = this.items[i].style;style.position = "absolute";if (this.animate) {style.transition = (this.useTransform ? "transform" : "top, left") + " 0.2s ease";}}this.started = true;};/*** Calculates the width of a column.** @return width of a column in the grid* @private*/MagicGrid.prototype.colWidth = function colWidth () {return this.items[0].getBoundingClientRect().width + this.gutter;};/*** Initializes an array of empty columns* and calculates the leftover whitespace.** @return {{cols: Array, wSpace: number}}* @private*/MagicGrid.prototype.setup = function setup () {var width = this.container.getBoundingClientRect().width;var colWidth = this.colWidth();var numCols = Math.floor(width/colWidth) || 1;var cols = [];if (this.maxColumns && numCols > this.maxColumns) {numCols = this.maxColumns;}for (var i = 0; i < numCols; i++) {cols[i] = {height: 0, index: i};}var wSpace = width - numCols * colWidth + this.gutter;return {cols: cols, wSpace: wSpace};};/*** Gets the next available column.** @param cols list of columns* @param i index of dom element** @return {*} next available column* @private*/MagicGrid.prototype.nextCol = function nextCol (cols, i) {if (this.useMin) {return getMin(cols);}return cols[i % cols.length];};/*** Positions each item in the grid, based* on their corresponding column's height* and index then stretches the container to* the height of the grid.*/MagicGrid.prototype.positionItems = function positionItems () {var ref = this.setup();var cols = ref.cols;var wSpace = ref.wSpace;var maxHeight = 0;var colWidth = this.colWidth();wSpace = this.center ? Math.floor(wSpace / 2) : 0;for (var i = 0; i < this.items.length; i++) {var col = this.nextCol(cols, i);var item = this.items[i];var topGutter = col.height ? this.gutter : 0;var left = col.index * colWidth + wSpace + "px";var top = col.height + topGutter + "px";if(this.useTransform){item.style.transform = "translate(" + left + ", " + top + ")";}else{item.style.top = top;item.style.left = left;}col.height += item.getBoundingClientRect().height + topGutter;if(col.height > maxHeight){maxHeight = col.height;}}this.container.style.height = maxHeight + this.gutter + "px";};/*** Checks if every item has been loaded* in the dom.** @return {Boolean} true if every item is present*/MagicGrid.prototype.ready = function ready () {if (this.static) { return true; }return this.items.length >= this.size;};/*** Periodically checks that all items* have been loaded in the dom. Calls* this.listen() once all the items are* present.** @private*/MagicGrid.prototype.getReady = function getReady () {var this$1 = this;var interval = setInterval(function () {this$1.container = document.querySelector(this$1.containerClass);this$1.items = this$1.container.children;if (this$1.ready()) {clearInterval(interval);this$1.init();this$1.listen();}}, 100);};/*** Positions all the items and* repositions them whenever the* window size changes.*/MagicGrid.prototype.listen = function listen () {var this$1 = this;if (this.ready()) {var timeout;window.addEventListener("resize", function () {if (!timeout){timeout = setTimeout(function () {this$1.positionItems();timeout = null;}, 200);}});this.positionItems();}else { this.getReady(); }};let magicGrid = new MagicGrid({container: '.container',animate: true,gutter: 30,static: true,useMin: true});var masonrys = document.getElementByTagName('img');for (let i = 0; i< masonrys.length; i++) { masonrys[i].addEventListener('load', function() { magicGrid.positionItems(); }, false);}magicGrid.listen();
-
미해결처음 배우는 리액트 네이티브
ThemeContext가 뭔가요? ?
선생님 컨텍스트 API 강의에서는 createContext로 저장소를 만들고 useContext로 이용한다고 배웠는데 지금 나온 ThemeContext가 createContext 역할을 대신 해주는건가요? 그럼 createContext 에서 코드 짤 때 return <Context.Provider value={value}>{children}</Context.Provider> 이렇게 Provider로 감싸는 작업은 따로 없는건가요?? ThemeContext가 지금 App 전체를 감싸고 있는건가요? 헷갈려요 ㅠㅠ
-
미해결프론트엔드 개발환경의 이해와 실습 (webpack, babel, eslint..)
vscode 자동실행?
영상에서는 code . 을 타이핑하고 엔터를 입력하셨을때, VSCode 에디터가 자동실행 되었는데요. 저는 zsh: command not found: code 라고 code 라는 명령어가 없다고 나오네요. 어떻게 하신거예요??
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
완강후 수강평
완강후 수강평을 작성하려고 하는데 여기저기 돌아다녀봐도 수강평 읽을 수만 있지 쓸 수 있는 곳이 안보이네요 ㅠㅠ 혹시 링크 주실 수 있을까요!?
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
객체지향적인 코드를 위해 값을 세팅하는 부분에서 궁금한 점이 하나 있습니다.
안녕하십니까 강사님. 항상 좋은 강의 감사드립니다. 객체지향적인 코드를 위해 객체상의 코드에도 값을 세팅해주는 부분에 있어어 궁금한 점이 하나 생겨서 질문드립니다. 예를들어 User의 장바구니에 현재 n개의 상품목록이 존재한다고 할때, 상품목록을 m개 삭제한다고 한다면 em.remove()를 통해서 db 상에는 상품목록이 삭제되지만, 코드상에서 user의 장바구니 목록은 업데이트 되지 않기 때문에 객체지향적인 코드를 위해 업데이트해줘야 한다고 생각합니다. 이때 업데이트 하는 방법이 대략 2가지가 생각나는데 둘중 어떤 방법으로 하는것이 맞는것인지 궁금합니다. 첫번째는 user.gerCart.getCartLines로 장바구니 목록 리스트를 얻어 탐색하면서 삭제한 상품목록을 찾아서 제거해주는 방법과 두번째로 db상에는 User의 장바구니 목록이 업데이트 되었으니 다시 query를 날려서 User의 장바구니 목록 리스트를 가져와 기존 User의 장바구니 리스트에 갈아끼우는 방식이 있다고 생각합니다. 첫번째 방법은 코드를 조금더 작성해야하는 불편함이 있다면, 두번째방법은 쿼리를 통해 좀더 편하게 해결하지만 새로운 List를 하나 만들어서 갈아끼우니 GC로 인해 성능상 조금 단점이 있다고 생각합니다. 두 방법중 어떤 방법을 더 선호하는 편인지, 더 효율적인 방법이 존재하는지 궁금합니다.
-
미해결홍정모의 따라하며 배우는 C언어
while문 작성시 Scanf
#include<stdio.h> int main() { const int secret_code = 337; int guess = 0; printf("Enter secret code : "); while (scanf("%d", &guess) != secret_code) { printf("Enter secret code : "); } printf("Good!"); return 0; } 전의 배운내용을 생각해서 while조건문 안에 scanf함수를 사용해보았는데 작동이 정상적으로 되질 않아요. 왜 그런건가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
MVC 구조 순서
스프링부트 + JPA로 월요일부터 프로젝트를 하기로 해서 이틀만에 완강을 했습니다..! 어려웠지만 정말 재밌기도 신기하기도 했습니다 ! 먼저 감사의 인사 드립니다 ! 강의를 볼 때 아래 그림의 순서를 생각하면서 이 MVC방식대로 작동하고 있는게 맞나? 생각하면서 강의를 들었습니다만 제대로 생각하고 있는지 모르겠습니다 ㅠㅠ 제일 먼저 핸들러 매핑이 @GetMapping(url)에 해당하고 ~ 이런 식으로 작성해보려고 했는데 이 게시판에는 이미지 + 글, 이미지 + 글 형식으로 작성이 안되네요 ㅠㅠ 혹시.. 이번 웹페이지 만들기 강의를 기준으로 아래 그림에 어떤 코드 묶음이 해당 과정? 방식?에 해당되는지 구분해서 설명 부탁드려도 될까요!? 참고로 아직까지 핸들러 어댑터 목록이 어디 부분에 해당하는지 깨닿지 못했습니다 ㅠㅠ 항상 친절한 답변에 무한한 감사 드립니다 ! 그리고 답변 주신 것들 다 확인했는데, 완강을 목표로 하고 있어서 훑어보고 지나쳤지만, 처음부터 다시 복습하면서 모르는 부분 재질문하고, 꼼꼼히 댓글 다시 확인하겠습니다 감사합니다 !
-
미해결문과생도, 비전공자도, 누구나 배울 수 있는 파이썬(Python)!
섹션 4 - 4.4 클래스의 정의와 호출 파트2.
안녕하세요, 쥬피터 노트북에서 비슷하게 코드를 짜서 실행해보았을 때 동일한 결과가 나오지 않아 질문드립니다. 1. 선생님께서 화면으로 보여주신 쥬피터 노트북에서는 player1.wow_height 가 바로 첫 값인 180을 출력하는데, 제가 작성한 쥬피터 노트북에서는 180은 생략되고, 바로 player1.shoot()으로 넘어가는데요, 이는 player2 도 동일합니다. 혹시 어떤 원인 때문일까요? 2. self.wow_height의 경우 __init__에서와 shoot에서 모두 중복으로 정의해주는데, __init__의 wow_height은 값을 담아주는 역할만 하고, shoot에서의 wow_height이 wow_height + 1 의 역할을 하는 건가요? 이건 위 질문이랑 같은 맥락인가 싶기도 한데, player1.wow_height했을 때 181만 출력되는 건 player1.shoot() 때문인가요 혹은 그 아래 player1.wow_height 때문인가요? 미리 감사합니다.
-
미해결홍정모의 따라하며 배우는 C++
unsigned integer 실습 질문
교수님 안녕하세요, 교수님이 숙제 내주신대로 unsigned integer을 cout << std::pow(2, sizeof(unsigned int)*8)-1 << endl; 로해서 돌리면 커맨드 창에 4.29497e+09이런 숫자로 나옵니다 cout << std::numeric_limits<unsigned int>::max() << endl;로 하면 4294967295이 제대로 나오구요( 2^32-1) 둘이 같은 숫자 같지만 왜 하나는 "4.29497e+09" 이런 식으로 나오는지 여쭤봅니다. 감사합니다!