묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결React로 NodeBird SNS 만들기
해쉬태그를 클릭하여 동적 페이지로 이동하면 포스트카드가 나타나지 않습니다.
프런트에서 해쉬태그를 클릭하면 백엔드에서 해당하는 해쉬태그를 가져오는데 해쉬태그 페이지에서 아무 반응이 없습니다. 콘솔로그를 찍어보면 데이터는 있는데 화면에 아무 반응이 없는 이유를 모르겠습니다.. 깃 주소 남깁니다. 도와주세용 ㅠㅠ https://github.com/SeokSuMin/ch6
-
미해결자바스크립트 중고급: 엔진 핵심
스코프 체인 개념 질문드립니다!
아직 몇 강 듣지 않았지만, 그냥 넘어가기는 찝찝해서 질문드립니다 ㅠ 제가 알기로는 ES5에서도 '스코프 체인'개념이 있는 것으로 알고 있는데요(아마 용어상의 혼선일 것이라 생각됩니다) 일단 제가 이해하고 있는 바(ES5기준)를 말씀드리겠습니다. 1.함수의 호출로 인해 해당 함수의 실행 컨텍스트가 활성화됩니다. (===콜 스택에 해당 함수의 실행 컨텍스트가 쌓입니다) 2.엔진이 해당 함수의 스코프를 훓으면서 '렉시컬 환경'의 '환경 레코드'에 '선언된' 함수와 변수를 담습니다. '선언된'함수와 변수를 담는 것이기에 할당 작업은 이 단계에서는 배제합니다. 때문에 함수 선언문은 함수 객체 자체가 전부 담기게 되고, 함수 표현식의 경우 변수명(식별자)만 담기게 됩니다. 3.'렉시컬 환경'의 '외부 환경 참조'에 '함수가 선언될 당시'의 렉시컬 환경을 참조시킵니다. '함수가 선언될 당시'라는 건, 즉 이 함수를 선언했던 함수의 컨텍스트(만약 전역 컨텍스트에서 선언했다면 전역 컨텍스트)의 렉시컬 환경을 의미하는 것이죠? 4.이 함수를 호출한 주체를 this바인딩시킵니다(일반적으로) 만약 위의 설명에 틀린 부분이 없다고 한다면, 해당 함수의 스코프 안에서 식별자가 발견되지 않으면, '렉시컬 환경'의 '외부 환경 참조'를 타고 올라가서 식별자를 찾는 것이죠? (제가 읽은 서적에서는 이를 '스코프 체인'으로 설명했습니다) 그렇다면 ES5에서의 스코프 체인도 결국 함수 호출로 인해 이루어지므로 '동적'으로 환경을 설정하는 것이 아닌가요? 또, 컨텍스트가 한 덩어리이기 때문에 한 메모리 안에서 찾아 검색이 빠르다고 말씀해주셨는데, 이렇게 '외부 환경 참조'를 타고 올라가는 것은 메모리의 다른 공간을 검색하는 일이 아닌지 궁금합니다 ㅠㅠ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Dirty Checking을 로그인 기능에 적용하고 싶은데 잘 되지가 않습니다..
안녕하세요 JPA 기초 강의부터 QueryDSL 강의까지 모든 과정을 완강하고, 현재 개인 프로젝트로 복습하고 있는 학생입니다! 주제와 조금 엇나갈 수 있는데, 다름이 아니라 Spring Security를 활용해 로그인된 사용자의 개인정보 변경을 구현 중에 있는데, 다음과 같이 현재 로그인 중인 사용자의 정보를 @AuthenticationPrincipal를 통해 가져와 updateProfile 메소드로 정보를 수정하려 하고 있습니다. 그런데 Merge를 사용하지 않고 Dirty Checking을 사용해 Account 정보를 업데이트를 하자니 현재 Account가 영속 상태가 아니어서 상태를 업데이트해도 DB에 반영되지 않습니다. 그래서 일단 현재 Account도 update하고, AccountRepository를 통해 실제 Account도 불러와 다시 한번 update를 하는 방식으로 작성하긴 했는데 올바른 방법이 아닌 것 같습니다. 이런 상황에서 (1) 실제로 DB에서 가져온 Account를 업데이트한 뒤, 현재 로그인한 상태의 Account에 대입하는 방법은 없을까요? 아니면 (2) 현재 Account를 강제로 영속상태로 바꾼 뒤 업데이트하여 DB에 반영하는 방법이 더 나은 방식인가요?
-
미해결취미로 해킹#1(OverTheWire - Bandit)
weechat 설치가 안되는데요?
weechat 설치가 안되는데요?
-
미해결실전! Querydsl
Querydsl paging 적용시 N+1문제
안녕하세요. 강의덕분에 실무에 잘 적용하여 쓰고 있습니다. QuerydslRepositorySupport를 이용해서 paging을 하고있는데 final List<ReviewList> bbsArticles = getQuerydsl().applyPagination(pageable, query).fetch(); Query문에 fetchJoin을 적용했더니, HHH000104: firstResult/maxResults specified with collection fetch; applying in memory! 오류가 발생하여 인터넷에 검색해보니 fetch Join을 사용하고 paging을 하게되면 나오는 Warning이라고 fetch join을 빼고 사용하라고 해서 일단 적용시켰는데, N + 1문제가 발생하네요.. 이런 경우에는 실무에서 어떻게 적용시키시나요?
-
미해결파이썬 무료 강의 (활용편1) - 추억의 오락실 게임 만들기 (3시간)
맥에서 하고 있습니다.
맥에서 pygame을 설치하려면 어떻게 해야합니까?
-
미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
질문드려요
python = Python is amazing print(python.find("java")) 출력값은 -1 print(python.find("amazing")) 출력값은???? 해본 결과 10이나오던데 왜 그런가요??
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
회원가입이 안돼요..
회npm을 키면 이런 오류가 나오고 회원가입버튼 눌러도 반응이 없네요..
-
미해결React로 NodeBird SNS 만들기
안녕하세요
next에서 동적으로 page 처리 하는 부분이 있는데, 이걸로는 처리 못하나요?
-
미해결프로그래밍, 데이터 과학을 위한 파이썬 입문
atom실행시키면 자꾸 꺼져버려요
atom실행시키면 자꾸 꺼져요 ㅠㅠ 왜그런가요? 다시 지우고 설치해도똑같네요
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
새로 생성하는 테이블과 기존의 테이블 조인시 엔티티를 만들어야 하나요?
1.새로 런칭하는 서비스의 이벤트 테이블과 기존에 상용서비스에 이용되고 있는 카테고리테이블을 조인해야 할경우 카테고리 entity를 카테고리 스키마와 동일하게 생성을 해야 하나요? 당연한거 같긴한데 확인차 여쭤봅니다. 2.그리고 1:1관계시 강의에서 설계하신대로 메인테이블에서 키를 가지고 있는형태로 설계를 했는데, 확장성이 떨어진다는 지적을 받았습니다. 1:1 관계 테이블이 늘어날수도 있고 기존테이블이 없어지거나 합쳐질수 있다고 하는데, 어떻게하는게 좋은 설계인가요? Jpa가 처음인데 jpa설계까지 생각하니 복잡해지네요 ㅜㅜ
-
미해결화이트해커가 되기 위한 8가지 웹 해킹 기술
MYSQL Database
여기서 스타를누르고 그아듬 러닝이되야하는데 안되고 스탑으로 바꿔요..
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
CS8321오류
다른 C언어는 공부하지 않고 선생님 강의만 듣고 시작한 C언어 4일차인 수강생입니다!! TEXT RPG강의까지 수강 후 여러가지 TEXT RPG를 만들어보다가 아래와 같은 코드를 만들어봤는데요 CS8321 로컬함수 'Main'이(가) 선언되었지만 사용하지 않았습니다. 라는 오류가 뜨면서 실행이 안됩니다 ㅠㅠ 혼자 정말 많이 고민해봤는데 답을 못찾겠어요.. 어떻게 해야할까요?? 그 외에도 잘못된 문법이나 필요없는식이 있을까요?? 여쭤볼 수 있는분이 쌤 뿐입니다!! 부탁드릴게요! using System; namespace Fishisland { class Program { enum FishType { None = 0, Smallfish = 1, Octopus = 2, Crucian = 3, Mackerel = 4, Marlin = 5, Tuna = 6, Dolphin = 7, Shark = 8, Whale = 9, } struct Fish { public int None; public int Smallfish; public int Octopus; public int Crucian; public int Mackerel; public int Marlin; public int Tuna; public int Dolphin; public int Shark; public int Whale; public static implicit operator Fish(int v) { throw new NotImplementedException(); } } static void PutinAquarium(int a, out Fish fish) { fish.None = 0; fish.Smallfish = 0; fish.Octopus = 0; fish.Crucian = 0; fish.Mackerel = 0; fish.Marlin = 0; fish.Tuna = 0; fish.Dolphin = 0; fish.Shark = 0; fish.Whale = 0; while (true) { if (a <= 30) { fish.Smallfish++; break; } else if (a <= 50) { fish.Octopus++; break; } else if (a <= 70) { fish.Crucian++; break; } else if (a <= 82) { fish.Mackerel++; break; } else if (a <= 89) { fish.Marlin++; break; } else if (a <= 94) { fish.Tuna++; break; } else if (a <= 97) { fish.Dolphin++; break; } else if (a <= 99) { fish.Shark++; break; } else if (a == 100) { fish.Whale++; break; } } Console.WriteLine("물고기를 집어넣었습니다"); Console.WriteLine("[1] 낚시를 계속하기"); Console.WriteLine("[2] 로비로 돌아가기"); string input = Console.ReadLine(); if (input == "1") { GoFishing(); } else if (input == "2") { EnterLobby(); } static void EnterLobby() { Console.WriteLine("[Fish island]"); Console.WriteLine("시작하려면 아무키나 누르세요"); Console.WriteLine("Press any key to start"); Console.ReadLine(); } static void StartMenu() { Fish fish = 0; Console.WriteLine("[1] 낚시하기"); Console.WriteLine("[2] 수족관 보기"); string input = Console.ReadLine(); while (true) { if (input == "1") { GoFishing(); break; } else if (input == "2") { EnterAquarium(fish); break; } } } static void EnterAquarium(Fish fish) { while (true) { Console.WriteLine("[수족관]"); Console.WriteLine($"[잔챙이] {fish.Smallfish}마리]"); Console.WriteLine($"[문어] {fish.Octopus}마리]"); Console.WriteLine($"[붕어] {fish.Crucian}마리]"); Console.WriteLine($"[고등어] {fish.Mackerel}마리]"); Console.WriteLine($"[청새치] {fish.Marlin}마리]"); Console.WriteLine($"[참치] {fish.Tuna}마리]"); Console.WriteLine($"[돌고래] {fish.Dolphin}마리]"); Console.WriteLine($"[상어] {fish.Shark}마리]"); Console.WriteLine($"[고래] {fish.Whale}마리]"); Console.WriteLine("[1] 낚시를 계속하기"); Console.WriteLine("[2] 로비로 돌아가기"); Console.WriteLine("[3] 수족관 보기"); string input = Console.ReadLine(); if (input == "1") { GoFishing(); break; } else if (input == "2") { EnterLobby(); break; } else if (input == "3") { EnterAquarium(fish); break; } } } static void GoFishing() { Random rand = new Random(); int RandomFish = rand.Next(1, 101); while (true) { if (RandomFish <= 30) { Console.WriteLine("[ 잔챙이를 잡았습니다 ]"); break; } else if (RandomFish <= 50) { Console.WriteLine("[ 붕어를 잡았습니다 ]"); break; } else if (RandomFish <= 70) { Console.WriteLine("[ 문어를 잡았습니다 ]"); break; } else if (RandomFish <= 82) { Console.WriteLine("[ 고등어를 잡았습니다! ]"); break; } else if (RandomFish <= 89) { Console.WriteLine("[ 청새치를 잡았습니다! ]"); break; } else if (RandomFish <= 94) { Console.WriteLine("[ 참치를 잡았습니다! ]"); break; } else if (RandomFish <= 97) { Console.WriteLine("[ [돌고래]를 잡았습니다!! ]"); break; } else if (RandomFish <= 99) { Console.WriteLine("[ [상어]를 잡았습니다!! ]"); break; } else if (RandomFish == 100) { Console.WriteLine("[ 대박!! [고래] 를 잡았습니다!!! ]"); break; } } Console.WriteLine("[1] 놓아주고 낚시 계속하기"); Console.WriteLine("[2] 수족관에 집어넣기"); Console.WriteLine("[3] 수족관 보기"); string input = Console.ReadLine(); Fish fish; fish = 0; while (true) { if (input == "1") { GoFishing(); break; } else if (input == "2") { PutinAquarium(RandomFish, out fish); break; } else if (input == "3") { EnterAquarium(fish); break; } } } static void Main(string[] args) { while (true) { EnterLobby(); StartMenu(); } } } } }
-
미해결TDD 개발 방법론을 활용한 React Native 앱 개발
테스트 케이스의 작성 범위
안녕하세요 선배님 좀 어리석은 질문일수도 있습니다만, TDD 방법론으로 코드를 작성하는 경우 모든 코드에 대해 테스트 코드가 작성되는 것이 원칙인것 같습니다. 하지만 한국에서의 전통적인 SI 프로젝트는 기간과 범위가 매우 타이트하게 정해져 있기 때문에 TDD 방법론을 원칙에 따라 적용하기에는 한계가 있는 것도 사실입니다. 만일 모든 코드에 대한 테스트 작성이 어려운 상황이라면, 어떤 종류의 코드 또는 함수를 작성할 때는 테스트 코드를 작성하는게 좋다 라고 할만한 범위에 대한 가이드라인 같은게 있는지 궁금합니다.
-
미해결윤재성의 스프링 프레임워크 개발자를 위한 실습을 통한 입문 과정
slf4j 인스턴스화 실패 오류
Failed to instantiate SLF4J loggerFactory 라는 오류가 계속 뜨는데 어떻게 해결해야할까요..
-
해결됨자바스크립트 비기너: 튼튼한 기본 만들기
안녕하세요 선생님.
label을 사용하지 않는 이유에 대해 궁금합니다. 찾아보니 중첩된 반복문을 빠져나갈때 유용하게 쓸 것 같은데 검색해 보아도 사용하지 않거나 사용하지 말라는 이야기는 찾기 어렵습니다. 그래서 잘 생각해보아서 내린 결론은 label을 사용하면 1. 디버그에 문제가 있거나 2. 내부적으로 성능상 문제가 있는게 아닐까 싶은데 잘 모르겠습니다 ㅠㅠㅠㅠ 사용하지 않는 이유에 대해 살짝 힌트라도 알려주실 수 있나요??
-
업무 자동화를 위한 파이썬 pyautogui, beautifulsoup 크롤링 기초
실행어떻게 해요?
삭제된 글입니다
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
가드에 대해 질문있습니다
안녕하세요 강의 잘듣고있습니다. 제가 스프링개발을 하다가 vue js공부를 하게되었는데 자바의 기술? 하고 비교하면서 공부를 하고있습니다 그런의미에서 네비게이션 가드가 스프링의 인터셉터라고 볼수있는건가요?? 그리고 axios인터셉터의 경우 ajax의 setup과 비슷한 기능인지 조금 헷갈리는데 비슷한 기능이맞는건가요??
-
해결됨자바 머신러닝 weka(웨카) 중급
알고리즘 예측확률
안녕하세요 이번에 weka 중급 강좌를 수강하게된 수강생입니다. 현재 제가 몇가지 요인들을 가지고 ( 나이, 성별, 현재상태 등등) 21가지 정도의 요인을 가지고 질병인지 아닌지 예측을 하는걸 돌리고있는데 확률이 아무리 높아도 70~80%대 더라구요 ... 종류별로 거의 모든 알고리즘을 써봤는데 현재 153개의 데이터를 가지고 있어서 예측 확률을 90%이상을 나오게하려면 153개중에 90%를 트레이닝 시켜야 90%가 넘기던데 사실상 .. 153개중에 90% 트레이닝 시키고 10%를 테슽해봤자 15개밖에안하는거라 .. ㅠㅠ.. 다른방법으로 예측 확률을 높이는 방법이 있을까해서 질문을 남겨봅니다 .. 제가 어떤걸 해야 확률이 올라갈까요 ? 구글링을 통해서 예측하는데 관여율이 높았던 변수들 수치를 봐도 가장 높은게 0.15 정도고 나머지도 0.1 정도씩 요인들이 많아서그런지 고만고만하더라구요 .. 그래서 어떤 변수들을 빼야되는지도 잘 모르겠네요 ㅠㅠ.. 혹시 다른 방법이 있을까요 ?
-
미해결홍정모의 따라하며 배우는 C언어
MyCProgrammigStart가 안뜹니다ㅠㅠ
제목 그대로 저게 안뜨네요.. 몇번이나 똑같이 따라해 보았지만 안떠요.. 4:8 입니다.