묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Whilelabel error page 가 뜨네요
이전까지는 회원추가 목록 조회가 잘 됐는데, 디비 연결 이후부터 whitelabel error page가 뜨네요. 처음 화면은 잘 뜨지만, 회원조회에 들어가면 에러 페이지가 뜹니다. 그대로 따라한 것 같은데 정확한 이유를 몰라 드라이브에 코드와 함께 남깁니다! https://drive.google.com/drive/folders/1zgtAWYEhacuXg-N3KcMy5sPy4HSbR18F?usp=sharing
-
미해결스프링 핵심 원리 - 기본편
스프링 빈의 라이프사이클 내에서
안녕하세요, 다른 분들의 질문을 참고해봐도 혼자서 이해하는게 너무 버거워서 질문을 남깁니다. 여기저기 출력문을 찍어보니 ConfigurableApplicationContext ac = new AnnotationConfigApplicationContext(LifeCycleConfig.class); 에서 "스프링 컨테이너 생성 -> 스프링 빈 생성 -> 의존 관계 주입 -> 초기화 콜백" 까지 한번에 된다는 사실을 알았습니다. public class BeanLifeCycleTest { @Test public void lifeCycleTest() { System.out.println("rmfjadjswptodtjdeh;a??1"); ConfigurableApplicationContext ac = new AnnotationConfigApplicationContext(LifeCycleConfig.class); System.out.println("rmfjadjswptodtjdeh;a??2"); NetworkClient client = ac.getBean(NetworkClient.class); ac.close(); } @Configuration static class LifeCycleConfig { @Bean public NetworkClient networkClient() { NetworkClient networkClient = new NetworkClient(); //networkClient.setUrl("http://hello-spring.dev"); System.out.println("stestesatestasetasetaset"); return networkClient; } } } 1. setUrl은 생성자 주입처럼 동시에 의존관계가 주입되는게 맞을까요?? 2. 여기서 setUrl은 다른 분들의 질문을 보니 값 주입이라고 하던데 의존관계 주입이나 값 주입이나 비슷하다고 이해하고 넘어가면 될까요?? 3. afterPropertiesSet() 은 따로 호출을 하지 않았는데, 어떻게 호출을 하는건가요?? 4. 초기화 콜백은 '무조건' 호출이 되는 걸까요? 실제로 setUrl을 주석 처리해도 콜백함수가 호출이 됩니다. 질문이 조금 많지만 답변 부탁드립니다 ㅠㅠ 감사합니다.
-
미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
태그 작성 오류
test진행시 마지막 단계에서 이런 오류 문구가 떠서 강사님과 똑같이 오류수정 진행하는데 해결이 되질 않습니다 ㅠ 혹시 몰라 views.py 와 test.py를 첨부해드리겠습니다. from django.core.exceptions import PermissionDenied from django.shortcuts import render, redirect from django.utils.text import slugify from django.views.generic import ListView, DetailView, CreateView, UpdateView from django.contrib.auth.mixins import LoginRequiredMixin, UserPassesTestMixin from blog.models import Post, Category, Tag class PostList(ListView): model = Post ordering = '-pk' def get_context_data(self, **kwargs): context = super(PostList, self).get_context_data() context['categories'] = Category.objects.all() context['no_category_post_count'] = Post.objects.filter(category=None).count() return context class PostDetail(DetailView): model = Post def get_context_data(self, **kwargs): context = super(PostDetail, self).get_context_data() context['categories'] = Category.objects.all() context['no_category_post_count'] = Post.objects.filter(category=None).count() return context class PostCreate(LoginRequiredMixin, UserPassesTestMixin,CreateView): # LoginRequiredMixin 로그인이 되어 있는 경우에만 이 페이지 접속 가능하게 model = Post fields = ['title', 'hook_text', 'content', 'head_image', 'file_upload', 'category'] def test_func(self): return self.request.user.is_superuser or self.request.user.is_staff def form_valid(self, form): # 폼에 들어있는 내용이 맞는지 확인하는 기능 current_user = self.request.user if current_user.is_authenticated and (current_user.is_staff or current_user.is_superuser): form.instance.author = current_user # 만들어진 Form에 instance의 author라는 필드를 current_user 로 채워라 response = super(PostCreate, self).form_valid(form) # from_valid() : 양식이 유효한경우 관련 모델을 저장. tags_str = self.request.POST.get('tags_str') if tags_str: tags_str = tags_str.strip() # strip : 문자열 앞뒤에 빈공간 있으면 없애준다. tags_str = tags_str.replace(',', ';') # 문자열 바꿔주기 , > ; tags_list = tags_str.split(';') # for t in tags_list: t = t.strip() tag, is_tag_created = Tag.objects.get_or_create(name=t) # get_or_create(name=t) : 만약, name 이 t인 것을 가져오고, 없으면 그것을 name이 t로 만들어서 가져오기. if is_tag_created: tag.slug = slugify(t, allow_unicode=True) tag.save() self.object.tags.add(tag) return response else: return redirect('/blog/') # 로그인을 하지 않고 해당 페이지를 열려하면 Blog 경로로 날려짐 class PostUpdate(LoginRequiredMixin, UpdateView): model = Post fields = ['title', 'hook_text', 'content', 'head_image', 'file_upload', 'category'] template_name = 'blog/post_update_form.html' def dispatch(self, request, *args, **kwargs): # 디스패치라는것은 url을 get 방식인지 post방식인지 알아내는 방법이지만, 해당 하는 포스트에 권한이 있는 유저인지 검증할 수 있다. if request.user.is_authenticated and request.user == self.get_object().author: return super(PostUpdate, self).dispatch(request, *args, **kwargs) else: raise PermissionDenied # 장고에서 기본으로 제공되는 기능이고, 에러 페이지 대신에 권한이 없다면 권한이 없다는 메시지를 띄어준다 def get_context_data(self, **kwargs): context = super(PostUpdate, self).get_context_data() if self.object.tags.exists(): tags_str_list = list() for t in self.object.tags.all(): tags_str_list.append(t.name) context['tags_str_default'] = '; '.join(tags_str_list) return context def form_valid(self, form): response = super(PostUpdate, self).form_valid(form) self.object.tags.clear() tags_str = self.request.POST.get('tags_str') if tags_str: tags_str = tags_str.strip() # strip : 문자열 앞뒤에 빈공간 있으면 없애준다. tags_str = tags_str.replace(',', ';') # 문자열 바꿔주기 , > ; tags_list = tags_str.split(';') # for t in tags_list: t = t.strip() tag, is_tag_created = Tag.objects.get_or_create(name=t) # get_or_create(name=t) : 만약, name 이 t인 것을 가져오고, 없으면 그것을 name이 t로 만들어서 가져오기. if is_tag_created: tag.slug = slugify(t, allow_unicode=True) tag.save() self.object.tags.add(tag) return response def category_page(request, slug): if slug == 'no_category': category = '미분류' post_list = Post.objects.filter(category=None) else: category = Category.objects.get(slug=slug) post_list = Post.objects.filter(category=category) return render( request, 'blog/post_list.html', { 'post_list': post_list, 'categories': Category.objects.all(), 'no_category_post_count': Post.objects.filter(category=None).count(), 'category': category } ) def tag_page(request, slug): tag = Tag.objects.get(slug=slug) post_list = tag.post_set.all() return render( request, 'blog/post_list.html', { 'post_list': post_list, 'categories': Category.objects.all(), 'no_category_post_count': Post.objects.filter(category=None).count(), 'tag': tag } ) # def single_post_page(request, pk): # reqeust, 변수명 # post = Post.objects.get(pk=pk) # # return render( # request, # 'blog/single_page.html', # { # 'post': post, # } # ) ## 이건 test.py 코드입니다################## from django.test import TestCase, Client # Client 가 하는 역할 : 장고에서 재공하는 것이며 웹사이트의 방문자를 말함? from bs4 import BeautifulSoup from .models import Post, Category, Tag from django.contrib.auth.models import User # 장고에서 기본적으로 제공하는 User 임. class TestView(TestCase): def setUp(self): # DB에 들어갈 내용을 여기서 테스트 적용 self.client = Client() self.user_trump = User.objects.create_user( username='trump', password='somepassword', ) self.user_obama = User.objects.create_user( username='obama', password='somepassword', ) self.user_obama.is_staff = True self.user_obama.save() self.category_programming = Category.objects.create( name='programming', slug='programming' ) self.category_music = Category.objects.create( name='music', slug='music' ) self.tag_python_kor = Tag.objects.create( name='파이썬 공부', slug='파이썬-공부' ) self.tag_python = Tag.objects.create( name='python', slug='python' ) self.tag_hello = Tag.objects.create( name='hello', slug='hello' ) self.post_001 = Post.objects.create( title='첫번째 포스트 입니다.', content='Hello, World. we are the World', category=self.category_programming, author=self.user_trump ) self.post_001.tags.add(self.tag_hello) self.post_002 = Post.objects.create( title='두번째 포스트 입니다.', content='저는 쌀국수를 좋아합니다.', category=self.category_music, author=self.user_obama ) self.post_003 = Post.objects.create( title='세번째 포스트 입니다.', content='Category가 없나유.', author=self.user_obama ) self.post_003.tags.add(self.tag_python) self.post_003.tags.add(self.tag_python_kor) def navbar_test(self, soup): navbar = soup.nav self.assertIn('Blog', navbar.text) self.assertIn('About Me', navbar.text) logo_btn = navbar.find('a', text='Saohwan') self.assertEqual(logo_btn.attrs['href'], '/') home_btn = navbar.find('a', text='Home') self.assertEqual(home_btn.attrs['href'], '/') blog_btn = navbar.find('a', text='Blog') self.assertEqual(blog_btn.attrs['href'], '/blog') about_me_btn = navbar.find('a', text='About Me') self.assertEqual(about_me_btn.attrs['href'], '/about_me') def category_card_test(self, soup): categories_card = soup.find('div', id='categories-card') self.assertIn('Categories', categories_card.text) # 카테고리스라는 문구가 categories_card 에 있는지 확인하는 테스트 self.assertIn( f'{self.category_programming} ({self.category_programming.post_set.count()})', categories_card.text ) self.assertIn( f'{self.category_music} ({self.category_music.post_set.count()})', categories_card.text ) # 이렇게 하는 이유는 유지 보수성을 위해 self.assertIn( f'미분류 ({Post.objects.filter(category=None).count()})', categories_card.text ) def test_post_list_with_posts(self): self.assertEqual(Post.objects.count(), 3) # 시작하자마자 포스트가 3개있다. # 1.1 포스트 목록 페이지 (post list)를 연다. response = self.client.get('/blog/') # 블로그 페이지가서 읽고 # 1.2 정상적으로 페이지가 로드된다. self.assertEqual(response.status_code, 200) # 에러 코드가 200이면 정상임 # 1.3 페이지의 타이틀에 Blog 라는 문구가 있다. soup = BeautifulSoup(response.content, 'html.parser') self.assertIn('Blog', soup.title.text) # soup.title.text에 'blog' 라는 문구가 있어야한다. soup 으로 접근 self.navbar_test(soup) # 블로그라는게 헤더 타이틀에 있는지 확인\ self.category_card_test(soup) # 3.3 메인 영역에 포스트 2개의 타이틀이 존재한다. main_area = soup.find('div', id='main-area') # 3.4 "아직 게시물이 없습니다" 라는 문구가 없어야 한다. self.assertNotIn('아직 게시물이 없습니다.', main_area.text) post_001_card = main_area.find('div', id='post-1') self.assertIn(self.post_001.title, post_001_card.text) self.assertIn(self.post_001.category.name, post_001_card.text) self.assertIn(self.tag_hello.name, post_001_card.text) self.assertNotIn(self.tag_python.name, post_001_card.text) self.assertNotIn(self.tag_python_kor.name, post_001_card.text) post_002_card = main_area.find('div', id='post-2') self.assertIn(self.post_002.title, post_002_card.text) self.assertIn(self.post_002.category.name, post_002_card.text) self.assertNotIn(self.tag_hello.name, post_002_card.text) self.assertNotIn(self.tag_python.name, post_002_card.text) self.assertNotIn(self.tag_python_kor.name, post_002_card.text) post_003_card = main_area.find('div', id='post-3') self.assertIn(self.post_003.title, post_003_card.text) self.assertIn('미분류', post_003_card.text) self.assertNotIn(self.tag_hello.name, post_003_card.text) self.assertIn(self.tag_python.name, post_003_card.text) self.assertIn(self.tag_python_kor.name, post_003_card.text) self.assertIn(self.post_001.author.username.upper(), main_area.text) self.assertIn(self.post_002.author.username.upper(), main_area.text) # upper 대문자로 나왔으면 좋겠을 때. def test_post_list_without_posts(self): Post.objects.all().delete() response = self.client.get('/blog/') self.assertEqual(response.status_code, 200) # 에러 코드가 200이면 정상임 soup = BeautifulSoup(response.content, 'html.parser') self.navbar_test(soup) self.assertIn('Blog', soup.title.text) self.assertEqual(Post.objects.count(), 0) # Post 모델에 레코드가 몇개 있는지 아무 겄도 없을때 main_area = soup.find('div', id='main-area') self.assertIn('아직 게시물이 없습니다.', main_area.text) def test_post_detail(self): self.assertEquals(Post.objects.count(), 3) # 테스트는 생성할때마다 DB가 초기화되서 0이다. # 1.2 그 포스트의 url은 '/blog/1/' 이다. self.assertEquals(self.post_001.get_absolute_url(), '/blog/1/') # 2 첫 번째 포스트의 상세 페이지 테스트 # 2.1 첫 번쨰 포스트의 url로 접근하면 정상적으로 response가 온다..(status code: 200). response = self.client.get(self.post_001.get_absolute_url()) self.assertEqual(response.status_code, 200) soup = BeautifulSoup(response.content, 'html.parser') # 2.2 포스트 목록 페이지와 똑같은 내비게이션 바가 있다. self.navbar_test(soup) self.category_card_test(soup) # 2.3 첫 번째 포스트의 제목이 웹 브라우저 탭 타이틀에 들어 있다. self.assertIn(self.post_001.title, soup.title.text) # 2.4 첫 번째 포스트의 제목이 포스트 영역에 있다. main_area = soup.find('div', id='main-area') post_area = main_area.find('div', id='post-area') self.assertIn(self.post_001.title, post_area.text) self.assertIn(self.post_001.category.name, post_area.text) # 2.5 첫 번째 포스트의 작성자(author)가 포스트 영역에 있다.(아직 구현할 수 없음). self.assertIn(self.user_trump.username.upper(), main_area.text) # 2.6 첫 번째 포스트의 내용(content)이 포스트 영역에 있다. self.assertIn(self.post_001.content, post_area.text) def test_category_page(self): response = self.client.get(self.category_programming.get_absolute_url()) self.assertEqual(response.status_code, 200) soup = BeautifulSoup(response.content, 'html.parser') # html.parser 로 담아준다. self.navbar_test(soup) self.category_card_test(soup) main_area = soup.find('div', id='main-area') self.assertIn(self.category_programming.name, main_area.h1.text) self.assertIn(self.category_programming.name, main_area.text) self.assertIn(self.post_001.title, main_area.text) self.assertNotIn(self.post_002.title, main_area.text) self.assertNotIn(self.post_003.title, main_area.text) def test_tag_page(self): response = self.client.get(self.tag_hello.get_absolute_url()) self.assertEqual(response.status_code, 200) soup = BeautifulSoup(response.content, 'html.parser') self.navbar_test(soup) self.category_card_test(soup) self.assertIn(self.tag_hello.name, soup.h1.text) main_area = soup.find('div', id='main-area') self.assertIn(self.tag_hello.name, main_area.text) self.assertIn(self.post_001.title, main_area.text) self.assertNotIn(self.post_002.title, main_area.text) self.assertNotIn(self.post_003.title, main_area.text) def test_create_post_without_login(self): response = self.client.get('/blog/create_post/') self.assertNotEqual(response.status_code, 200) def test_create_post_with_login(self): self.client.login(username='trump', password='somepassword') response = self.client.get('/blog/create_post/') self.assertNotEqual(response.status_code, 200) self.client.login(username='obama', password='somepassword') response = self.client.get('/blog/create_post/') self.assertEqual(response.status_code, 200) soup = BeautifulSoup(response.content, 'html.parser') self.assertEqual('Create Post - Blog', soup.title.text) main_area = soup.find('div', id='main-area') self.assertIn('Create a New Post', main_area.text) tags_str_input = main_area.find('input', id='id_tags_str') # input 이라는 태그중에서 id가 id_tags_str 이 있는지 확인하는 작업. self.assertTrue(tags_str_input) self.assertEqual(Tag.objects.count(), 3) self.client.post( '/blog/create_post/', { 'title': 'Post Form 만들기', 'content': 'Post Form 페이지를 만듭시다.', 'tags_str': 'new_tag; 한글 태그, python' } ) last_post = Post.objects.last() self.assertEqual(last_post.title, 'Post Form 만들기') self.assertEqual(last_post.author.username, 'obama') self.assertEqual(last_post.content, 'Post Form 페이지를 만듭시다.') self.assertEqual(last_post.tags.count(), 3) self.assertTrue(Tag.objects.get(name='new_tag')) self.assertTrue(Tag.objects.get(name='한글 태그')) self.assertTrue(Tag.objects.get(name='python')) self.assertEqual(Tag.objects.count(), 5) def test_update_post(self): update_post_url = f'/blog/update_post/{self.post_003.pk}/' # 로그인 하지 않은 상태에서 접근 하는 경우 response = self.client.get(update_post_url) self.assertNotEqual(response.status_code, 200) # 로그인은 했지만, 작성자가 아닌 경우 self.assertNotEqual(self.post_003.author, self.user_trump) self.client.login(usernmae='trump', password='somepassword') response = self.client.get(update_post_url) self.assertNotEqual(response.status_code, 200) # 작성자(obama)가 접근하는 경우 self.assertEqual(self.post_003.author, self.user_obama) self.client.login(username='obama', password='somepassword') response = self.client.get(update_post_url) self.assertEqual(response.status_code, 200) soup = BeautifulSoup(response.content, 'html.parser') self.assertEqual('Edit Post - Blog', soup.title.text) main_area = soup.find('div', id='main-area') self.assertIn('Edit Post', main_area.text) tag_str_input = main_area.find('input', id='id_tags_str') self.assertTrue(tag_str_input) self.assertIn('파이썬 공부; python', tag_str_input.attrs['value']) response = self.client.post( update_post_url, { 'title': '세 번째 포스트를 수정했습니다.', 'content': '안녕 세계? 우리는 하나!', 'category': self.category_music.pk, 'tags_str': '파이썬 공부; 한글 태그, some tag' }, follow=True # 위 내용을 리다이렉트 되는 것을 따라가려면 설정 ) soup = BeautifulSoup(response.content, 'html.parser') main_area = soup.find('div', id='main-area') self.assertIn('세 번째 포스트를 수정했습니다.', main_area.text) self.assertIn('안녕 세계? 우리는 하나!', main_area.text) self.assertIn(self.category_music.name, main_area.text) self.assertIn('파이썬 공부', main_area.text) self.assertIn('한글 태그', main_area.text) self.assertIn('some tag', main_area.text) self.assertNotIn('python', main_area.text)
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
editForm.html 파일이 이상합니다.
editForm.html 파일만 코드가 파란색으로 되면서 html 문법이 적용 안되는거같더라구요.. 재밌는건 editForm.html 이라는 이름의 파일만 그렇고 다른 이름이면 괜찮네요.. 또 editFoom.html 이라고 생성해서 코드를 넣고 이름을 editForm.html로 바꾸면 또 코드가 저렇게 바뀝니다. 뭐가 문제일까요..? 실제로 돌려보면 작동하긴 합니다만...ㅠ
-
미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
person.getAge() 값이 왜 수정이 안되는지 모르겠습니다;;
클로저 공부를 하다가 인터넷에서 이런 예시가 있어서 RunJS에서 따라쳐봤는데요. person.age를 30으로 바꿨고, person.age를 출력했을 때는 30이 찍히는데, 왜 person.getAge( ); 로 찍었을 때는 15로 계속 나오는지 도저히 이해가 안되네요ㅠ 왜 이런 현상이 발생하는 건가요??? ;;;;;;;
-
미해결코딩인터뷰를 저격하는 JS 스나이퍼 양성학교
클로저 파트 마지막 예시에 관해 질문있습니다.
예시를 RunJS에서 따라쳐봤는데요. person.age를 30으로 바꿨고, person.age를 출력했을 때는 30이 찍히는데, 왜 person.getAge( ); 로 찍었을 때는 15로 계속 나오는지 도저히 이해가 안되네요ㅠ 왜 이런 현상이 발생하는 건가요??? 제가 이해력이 부족해서, 강의만으로 온전히 이해가 안되네요. 이 부분에 대해서 좀 더 자세한 설명 부탁드리겠습니다. 감사합니다.- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결애플 웹사이트 인터랙션 클론!
질문있습니다 ㅠㅠ
function calcValues(values, currentYOffset) { let rv; // 현재 씬(스크롤섹션)에서 스크롤된 범위를 비율로 구하기 const scrollHeight = sceneInfo[currentScene].scrollHeight; const scrollRatio = currentYOffset / scrollHeight; if (values.length === 3) { // start ~ end 사이에 애니메이션 실행 const partScrollStart = values[2].start * scrollHeight; const partScrollEnd = values[2].end * scrollHeight; const partScrollHeight = partScrollEnd - partScrollStart; if (currentYOffset >= partScrollStart && currentYOffset <= partScrollEnd) { rv = (currentYOffset - partScrollStart) / partScrollHeight * (values[1] - values[0]) + values[0]; } else if (currentYOffset < partScrollStart) { rv = values[0]; } else if (currentYOffset > partScrollEnd) { rv = values[1]; } } else { rv = scrollRatio * (values[1] - values[0]) + values[0]; } return rv; } 해석 scrollHeight : 지금 현재 씬의 높이 지금 현재씬 높이 /현재 활성화된 씬의 비율 만약 values 값이 3개라면 ex) example : [0, 1, {start : 0.1, end : 0.2}] partScroll start,end(비율..) 는 scrollHeight(지금 현재 씬의 높이)를 곱함 partScrollHeight : start와 end의 중간 값 만약 현재 스크롤 위치가 스타트 위치보다 위에 있고 스크롤 위치가 end보다 작은곳에 있다면? 현재 스크롤 위치 빼기 시작 위치 / (sceneInfo[0~3]의 높이) * (끝값 - 시작값) + 시작값 사이 값이 아닐때 (partScrollStart값보다 작을때)=> 시작값 사이 값이 아닐대(partScrollend 값보다 클때) => 끝값 value값이 3이 아니라면 ..? 이해 못함 정리하면서 공부하고 있는데.. value 값이 3이 아닌건 videoImageCount: 960, imageSequence: [0, 959], 이부분도 3이 아닌데.. 그러면 videoImageCount일때는 values[1]의 값은 무엇인가요?? 그리고 혹시 제가 설명한부분이 틀린부분있으면 고쳐주실수 있으실까요? 아 또 여쭈어볼게 있는데 if (delayedYOffset < prevScrollHeight + sceneInfo[currentScene].scrollHeight) { document.body.classList.remove('scroll-effect-end'); } scroll-effect-end가 바디 클래스 리스트에 붙는다고 하는데 아무리 찾아봐도 안붙는거 가아서요 이부분이 이해가 안가네요 ㅠㅠ 도와주세요
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
connect ECONNREFUSED 127.0.0.1:3333
고생 많으십니다. 아래처럼 npx sequelize db:create 입력시 connect ECONNREFUSED 127.0.0.1:3333으로 표시되고 있습니다. 연결되지 않았다는 뜻 같은데 해당 포트 주소가 DB 주소로 설정한 상태입니다. 워크벤치를 통해서도 해당 주소로 잘 접속되고 있고 터미널을 통해서도 mysql을 켜둔 상태입니다. config.js에도 잘 입력하여 back 서버에 git pull로 잘 적용한 상태입니다. 왜 이런걸까요??
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
선생님
선생님 안녕하세요 TOP EARNERS 문제에서 SELECT MONTHS * SALARY AS EARNINGS , COUNT(*) 로 값은 구했는데 값 말고 이 문제의 예시 output처럼 earning 도 함께 추가된 모든 컬럼을 추출할려면 어떻게 해야하나요?? SELECT MONTHS * SALARY AS EARNINGS 다음 * 로 하면 추출될줄 알았는데 안되네요 ㅠ
-
미해결
아나콘다 파이썬 바인딩
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이 제대로 잘 적은거 같은데 오류 나는 이유 알수 있을까여?ㅜㅜ용해주세요.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
size mismatch 현상
안녕하세요 교수님. 양질의 강의를 제공해주셔서 감사합니다. 다름이 아니라 VOC Dataset은 CLASS가 20개이고 COCO Dataset은 80개의 클래스를 가지고 있는 것으로 알고 있습니다. config_file과 checkpoint_file 또한 coco로 맞추어져 있는데 train_detector를 실행하면 위의 사진과 같이 size mismatch라는 출력이 나오게 됩니다. 우려와는 다르게(?) 결과는 잘 나오는데 혹시나 문제가 되지 않을까 하여 질문 드립니다. 감사합니다.
-
미해결스프링 핵심 원리 - 기본편
AppConfig가 스프링 컨테이너인 거죠?
AppConfig가 스프링 컨테이너인 거죠?
-
미해결
Oracle Database 18c Express Edition를 다운받아 설치하는데 롤백이 되고 설치가 완료되지 않습니다.
설치가 안됩니다 ㅠㅠ. 처음에는 21c로 설치하다가 롤백이 일어났는데, D드라이브에서 다운받았다가 안되고 C드라이브에서도 롤백이 일어났어요 안되겠다 해서 18c를 설치 시작했는데 어느 순간 잘되다가 끝나기 10프로 남기고 1시간동안 안움직여서 그냥 설치 창에서 취소를 누르고 컴퓨터를 다시 시작했습니다. 그때부터 잘못했나봐요. cmd에서 sqlplus를 했을때는 아무것도 없다고 나오는데 앱에서는 oracle이 있었어요 깔다가 만듯 합니다. 그래서 다 삭제하고 cmd에서 sc delete oracle 등등 해서 컴퓨터에서 다 지웠는데 다시 18c를 다운 받으려고 하니깐 롤백이 일어나네요 좀 도와주세요 ㅠㅠ
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
이동 관련한 문제입니다
움직임이 강좌 전과 다르게 클릭을 해야만 움직여집니다. 디아블로와 다르게 꾹 마우스를 누르면 그대로 움직여지지 않고 전에 움직였던 대로만 움직입니다. PlayerController와 InputManager 코드는 강사님의 코드와 동일한 것 확인했습니다 ㅠㅠ 어디서 문제가 있는걸까요?
-
해결됨실전 프로젝트로 배우는 타입스크립트
chart.js@2.8.0 버전 관련 에러
현재 강의를 수강하는 시점에서 js파일과 index.html 파일로 구성된 프로젝트 파일을 실행해보면 위와 같은 에러가 발생합니다. 정확한 에러 발생 이유는 모르겠으나 chart.js@2.8.0 버전에서 Chart.defaults를 구성하는 프로퍼티들이 변경된 것 같습니다. 그래서 저는 해결 방법으로 현재 버전으로 cdn경로를 수정하여 현재 기준 최신 버전을 받도록 변경했습니다. "https://cdn.jsdelivr.net/npm/chart.js@3.5.1" 그리고 3.5.1버전에서는 생성된 Chart 인스턴스의 datasets 안에 있는 객체에 fill: true 를 추가해야 백그라운드에 색깔이 들어갑니다. 추가하지 않는 경우 디폴트 값으로 false로 되어있는 것 같습니다. 이렇게 해결하면 되는게 맞나요 강사님?위와 관련된 질문이 올라와있지 않길래 남겨봅니다.강의 잘 듣고 있습니다. 감사합니다 :)
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]
선생님 톰캣9.0으로 해도 상관없을까요?
선생님께서 소개해주신 전자정부3.9 버전으로 하려고 헀으나 기존에 쓰던 환경들이 있어서인지 도저히 서버 실행이 안되는 바람에 mysql 5.4 jdk 8 톰캣9.0인 기존 환경에서 강의보며 따라하려고 하는데 크게 문제될 부분이 있을까요?
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
XUP 자료 오픈을 해보려고 했는데요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. XUP 자료 오픈을 해보려고 했는데요. 아래 같이 뜨네요 ㅠㅠ 정보는 모두 다 넣었는데도 아래 같이 떠서요. 혹시 이메일이 대학교 이메일이여야 하나요? Request Not Accepted Your request to access this secure site has not been accepted. Access requests may be denied for the following reasons: Incomplete or inaccurate information. Please use your corporate e-mail and physical address information. You did not meet the acceptance criteria established for this secure site. Failure to comply with US Export Regulations. See AR #44043 If you feel there has been an error, please contact registration@xilinx.com
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberServiceIntegrationTest 오류 못찾겠습니다 .
java.lang.IllegalStateException: Failed to load ApplicationContext 이렇게 오류 뜨는데 대체 뭐가 문제인지 모르겠습니다 ㅠㅠ
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
AXI4-lite 수정 관련한 질문
안녕하세요, 수업을 듣고, 이제는 제가 필요한 스펙을 가지는 AXI4를 만들기 위해 수업 처럼 tool에서 새로운 ip 제작을 하려고 하였는데요, 수업 3:18 경 화면에서 보이는 "Data Width"창에서 값을 32bit에서 64bit으로 바꾸려고 하니 아예 선택이 되지 않더라구요. 혹시 여러 lab에 걸쳐서 사용한 "myip_v1_0.v"과 "myip_V1_0_S00_AXI.v"에서 단순히 parameter integer C_S_AXI_DATA_WIDTH = 32를 64로 바꿔주면 될지 아니면 다른 부분들도 수정이 필요한지, 아니면 AXI4-lite로는 32bit만 구현할 수 있는지가 궁금합니다.
-
미해결[OpenCV] 파이썬 딥러닝 영상처리 프로젝트 - 손흥민을 찾아라!
강의: [OpenCV] 파이썬 딥러닝 영상처리 프로젝트 - 손흥민을 찾아라! 이미지 픽셀 좌표체계 편 수강중 질문있습니다.
(computerVision) PS C:\Users\se998> nano nano : 'nano' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확한 지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오. 위치 줄:1 문자:1 + nano + ~~~~ + CategoryInfo : ObjectNotFound: (nano:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException (computerVision) PS C:\Users\se998> sudo idle3 sudo : 'sudo' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확한 지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오. 위치 줄:1 문자:1 + sudo idle3 + ~~~~ + CategoryInfo : ObjectNotFound: (sudo:String) [], CommandNotFoundException 왜이럴까요...? nano, sudo 명령어가 듣질않습니다. 가상환경 computerVision 이름으로 잘 생성됐고, 혼자 구글링해보다 환경변수도 추가해봤습니다. 선생님과 다른거면 파이썬 버전이 3.8이라는것 하나...?? 도움을 주세요 그냥 주피터 노트북이용할까요?