묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! Querydsl
BeforeEach에서 데이터를 제공할때 캐시를 비우지 않아도 될까요?
BeforeEach 어노테이션된 메소드를 이용해서 데이터를 제공할때 em.flush(); em.clear()를 수행해서 DB동기화를 하고 최종적으로 컨텍스트를 비워주는 작업이 필요치 않는지요? Test가 수행될때, 1차 캐시에 의존하게 되면 부정확하게 맺어진 양방향 연관관계 등이 있을때, 이를 테스트로 발견하기 어렵게 되지 않을까 라는 생각이 들었습니다.
-
미해결인공지능 기초수학
강의교안 부탁드립니다.
안녕하세요, 강사님. 수강생인데 교안이 없어서 교안 요청드립니다. lumen9078@gmail.com
-
미해결CSS Flex와 Grid 제대로 익히기
flex-basis 문의드립니다.
flex-basis 문의드립니다. 혼자 해보면서 잘 안되어 문의드립니다. 우선 강사님 코드는 당연히 잘 되는데요. flex-basis: 100px width: 100px 를 비교할 때 item요소에 한국어나 띄어쓰기가 들어가면 제대로 동작하지 않던데 왜 그런 것인가요? ex) flex-basis : 100px aaaaa aaa aaaa 이런 식으로 하면 자동으로 다음줄로 이동합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
TCP 통신으로 연결하는 이유가 좀 더 궁금합니다!
안녕하세요. 수강중에 첫 질문 남기게 되었습니다. h2 db의 웹 콘솔에서 jdbc url을 jdbc:h2:~/test에서 jdbc:h2:tcp://localhost/~/test로 바꾸었습니다. 강의에서는 파일에 접근할 때, 웹 콘솔이나 DB등 복수의 앱에서 접근하면 충돌이 일어날 수 있기 때문에 TCP프로토콜을 통해 이를 방지할 수 있다고 하셨습니다. 이때 TCP 소켓이 어떻게 복수의 앱 접근에 대한 충돌을 방지할 수 있는 것인지 궁금합니다. 덕분에 잘 배우고있습니다. 감사합니다.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
migrate 오류 질문
안녕하세요, 강사님. 제가 개인적으로 진행하고 있는 프로젝트의 models.py를 일부 수정하고 migration 이후 migrate를 진행할 때 오류가 나고 있어 질문드립니다. from django.db import models from django.contrib.auth.models import User from urllib3 import encode_multipart_formdata # Create your models here. # Customer 모델 class Customer(models.Model): user = models.OneToOneField(User, null=False, blank=False, on_delete=models.CASCADE, default=0) # User모델과 1대1 관계 / null=True는 비워도 괜찮다는 것. / on delete를 사용해서 회원이 지워지면 고객도 지워지게 한다. name = models.CharField(max_length=100, null=False, default=0) # 디폴트 값을 미지정으로 수정 email = models.CharField(max_length=100) def __str__(self): return f'user: {self.user} | name: {self.name} | email: {self.email}' # Products 모델 class Post(models.Model): product_name = models.CharField(max_length=100) brand = models.TextField() price = models.PositiveIntegerField(default=0) # 가격이니까 실수가 아닌 정수 필드로 수정 image = models.ImageField(null=True, blank=True) # 이미지이니까 Image 필드 선택 created_at = models.DateTimeField(auto_now_add=True) # 상품 db에 추가할 때 날짜 설정 updated_at = models.DateTimeField(auto_now=True) # 수정될 떄마다 날짜 설정 def __str__(self): return f'product_name: {self.product_name} | brand: {self.brand} | price: {self.price} | image: {self.image} |created_at: {self.created_at}' @property def imageURL(self): try: url = self.image.url except: url = 'posts/' return url # Order 모델 class Order(models.Model): customer = models.ForeignKey(Customer, on_delete=models.SET_NULL, blank=True, null=True) # Customer가 회원탈퇴 하더라도 주문 내역을 유지하기 date_ordered = models.DateTimeField(auto_now_add=True) complete = models.BooleanField(default=True, null=True, blank=True) transaction_id = models.CharField(max_length=200, null=True) def __str__(self): return f'id: {self.id} | customer: {self.customer} | date_ordered: {self.date_ordered} | complete: {self.complete} | transaction_id: {self.transaction_id}' @property # 장바구니에 담은 모든 상품들의 총 금액을 계산하는 코드 def get_cart_total(self): orderitems = self.orderitem_set.all() total = sum([item.get_total for item in orderitems]) return total # 장바구니에 담은 모든 상품들의 수를 계산하는 코드 def get_cart_items(self): orderitems = self.orderitem_set.all() total = sum([item.quantity for item in orderitems]) return total # Order item 모델 class OrderItem(models.Model): product = models.ForeignKey(Post, on_delete=models.SET_NULL, blank=True, null=True) order = models.ForeignKey(Order, on_delete=models.SET_NULL, blank=True, null=True) quantity = models.IntegerField(default=0, null=False, blank=False) date_added = models.DateTimeField(auto_now_add=True) def __str__(self): return f'id: {self.id} | product: {self.product} | order: {self.order} | quantity: {self.quantity} | date_added: {self.date_added}' # 장바구니에서 총 합계를 볼 수 있도록 property operator를 설정 @property def get_total(self): total = self.product.price * self.quantity return total # Shipping Address 모델 class ShippingAddress(models.Model): customer = models.ForeignKey(Customer, on_delete=models.SET_NULL, blank=True, null=True) order = models.ForeignKey(Order, on_delete=models.SET_NULL, blank=True, null=True) address = models.CharField(max_length=200, null=True) city = models.CharField(max_length=200, null=True) zipcode = models.CharField(max_length=200, null=True) date_added = models.DateTimeField(auto_now_add=True) def __str__(self): return f'{self.address}' 위의 코드들은 models.py인데, 제가 여기서 Customer 모델 클래스의 user와 name 필드의 속성을 수정했습니다. 기존에는 null과 blank가 True로 되어있어 False로 수정을 하고 migration을 진행했는데, name과 user 필드 모두 non-nullable로 바꾸는데 default를 주지 않았다고 나왔습니다. 그래서, name = models.CharField(max_length=100, null=False, default='미지정') user = models.OneToOneField(User, null=False, blank=False, on_delete=models.CASCADE, default='미지정') 이렇게 수정하고 migrations를 진행하니까 넘어가고 migrate를 진행하니까 (env) kimsangbaek@gimsangbaeg-ui-MacBookAir impactmuseum % python manage.py makemigrations posts Migrations for 'posts': posts/migrations/0004_auto_20220206_0259.py - Alter field name on customer - Alter field user on customer (env) kimsangbaek@gimsangbaeg-ui-MacBookAir impactmuseum % python manage.py migrate posts Operations to perform: Apply all migrations: posts Running migrations: Applying posts.0003_auto_20220206_0249...Traceback (most recent call last): File "/Users/kimsangbaek/Desktop/likelion/env/lib/python3.9/site-packages/django/db/models/fields/__init__.py", line 1823, in get_prep_value return int(value) ValueError: invalid literal for int() with base 10: '미지정' The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/Users/kimsangbaek/Desktop/likelion/env/impactmuseum/manage.py", line 22, in <module> main() File "/Users/kimsangbaek/Desktop/likelion/env/impactmuseum/manage.py", line 18, in main execute_from_command_line(sys.argv) File "/Users/kimsangbaek/Desktop/likelion/env/lib/python3.9/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line utility.execute() File "/Users/kimsangbaek/Desktop/likelion/env/lib/python3.9/site-packages/django/core/management/__init__.py", line 413, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/Users/kimsangbaek/Desktop/likelion/env/lib/python3.9/site-packages/django/core/management/base.py", line 354, in run_from_argv self.execute(*args, **cmd_options) File "/Users/kimsangbaek/Desktop/likelion/env/lib/python3.9/site-packages/django/core/management/base.py", line 398, in execute output = self.handle(*args, **options) File "/Users/kimsangbaek/Desktop/likelion/env/lib/python3.9/site-packages/django/core/management/base.py", line 89, in wrapped res = handle_func(*args, **kwargs) File "/Users/kimsangbaek/Desktop/likelion/env/lib/python3.9/site-packages/django/core/management/commands/migrate.py", line 244, in handle post_migrate_state = executor.migrate( File "/Users/kimsangbaek/Desktop/likelion/env/lib/python3.9/site-packages/django/db/migrations/executor.py", line 117, in migrate state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial) File "/Users/kimsangbaek/Desktop/likelion/env/lib/python3.9/site-packages/django/db/migrations/executor.py", line 147, in _migrate_all_forwards state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial) File "/Users/kimsangbaek/Desktop/likelion/env/lib/python3.9/site-packages/django/db/migrations/executor.py", line 227, in apply_migration state = migration.apply(state, schema_editor) File "/Users/kimsangbaek/Desktop/likelion/env/lib/python3.9/site-packages/django/db/migrations/migration.py", line 126, in apply operation.database_forwards(self.app_label, schema_editor, old_state, project_state) File "/Users/kimsangbaek/Desktop/likelion/env/lib/python3.9/site-packages/django/db/migrations/operations/fields.py", line 244, in database_forwards schema_editor.alter_field(from_model, from_field, to_field) File "/Users/kimsangbaek/Desktop/likelion/env/lib/python3.9/site-packages/django/db/backends/sqlite3/schema.py", line 140, in alter_field super().alter_field(model, old_field, new_field, strict=strict) File "/Users/kimsangbaek/Desktop/likelion/env/lib/python3.9/site-packages/django/db/backends/base/schema.py", line 608, in alter_field self._alter_field(model, old_field, new_field, old_type, new_type, File "/Users/kimsangbaek/Desktop/likelion/env/lib/python3.9/site-packages/django/db/backends/sqlite3/schema.py", line 362, in _alter_field self._remake_table(model, alter_field=(old_field, new_field)) File "/Users/kimsangbaek/Desktop/likelion/env/lib/python3.9/site-packages/django/db/backends/sqlite3/schema.py", line 202, in _remake_table 'default': self.quote_value(self.effective_default(new_field)) File "/Users/kimsangbaek/Desktop/likelion/env/lib/python3.9/site-packages/django/db/backends/base/schema.py", line 324, in effective_default return field.get_db_prep_save(self._effective_default(field), self.connection) File "/Users/kimsangbaek/Desktop/likelion/env/lib/python3.9/site-packages/django/db/models/fields/related.py", line 971, in get_db_prep_save return self.target_field.get_db_prep_save(value, connection=connection) File "/Users/kimsangbaek/Desktop/likelion/env/lib/python3.9/site-packages/django/db/models/fields/__init__.py", line 842, in get_db_prep_save return self.get_db_prep_value(value, connection=connection, prepared=False) File "/Users/kimsangbaek/Desktop/likelion/env/lib/python3.9/site-packages/django/db/models/fields/__init__.py", line 2486, in get_db_prep_value value = self.get_prep_value(value) File "/Users/kimsangbaek/Desktop/likelion/env/lib/python3.9/site-packages/django/db/models/fields/__init__.py", line 1825, in get_prep_value raise e.__class__( ValueError: Field 'id' expected a number but got '미지정'. 다음과 같이 id 필드에 숫자가 필요하다고 나오더라구요.. 그래서 최종적으로 위의 코드와 같이 user와 name의 default=0 이렇게 설정하고 다시 migration, migrate를 진행해도 위와 같이 오류가 해결되지 않고 있습니다. 구글링 해봤을 때 아예 migrations 파일을 지우라고 하는 경우도 있던데 확실하지가 않아 이렇게 질문을 드리게 되었습니다. 천천히 답변주시면 감사하겠습니다!
-
미해결홍정모의 따라하며 배우는 C언어
free()함수의 정확한 용법 ( realloc함수와 free함수의 관계)
해당 코드는 메모리 누수 강의에서 포인터를 백업하는 과정의 일부입니다. 제가 궁금한 것은 free()함수가 메모리를 반환한다는 개념이 아니라 그 내부의 메모리는 그대로 두돼, 사용하지 않는다의 개념이 가깝다고 들었습니다. 그렇다면 저 코드에서 free로 heap 메모리를 사용하지 못하게 하더라도 그대로 메모리 데이터 값이 나와야 하는 것이 아닌가요 ? 이와 상충되는 느낌을 realloc 강의에서 받았습니다. 다른 질문글을 보니 realloc()함수는 free()의 기능도 동시에 한다고 들었습니다 free()함수를 탑재하고 있는 realloc()함수를 이용했는데 해당 코드에서는 ptr[0]에 접근하여 데이터 값을 출력할 수 있습니다. 첫번째 사진 코드 대로라면은 free()는 아예 해당 메모리에 접근할 수 없는 것이고 두번째 사진 코드 대로라면은 free()는 접근은 가능하나 이용할 수 없습니다. 이 두 가지 개념이 혼동되어 질문드립니다.
-
미해결자바스크립트+jQuery 기초부터 실무까지 : 기초 Part.2
제이쿼리 구버전 다운로드
제이쿼리 구버전을 쓰셨는데, 공식홈페이지에서 못찾겠어서요. 어디서 다운로드 받을 수 있나요?
-
미해결Zapier로 노코드 업무자동화, 게으르지만 일 잘하고픈 분들을 위한 최고의 방법
슬랙 > 시트 (수정/삭제 )관련 문의
강사님 안녕하세요. 좋은 강의 잘 듣고 실습도 잘 해보고 있습니다. 자동화 구현 실습(1) 강의를 듣다가 궁금한 점이 생겨서 문의드립니다. (슬랙 > 구글 시트 연결은 잘되었습니다. ) 궁금한 점은 1. 슬랙에 이미 작성된 '연결이 되었습니다.' 편집 시 구글 시트에도 자동으로 업데이트가 가능한가요? 2. 슬랙에 이미 작성된 '연결이 되었습니다' 글 삭제 시 구글 시트에서도 자동으로 삭제가 가능한가요? 감사합니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
localhost에 접속이 안됩니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 컨테이너를 빌드하고 run은 잘되는데 localhost에는 접속이 안되네요.. 뭐가 문제일까요..? 다른 코드로 테스트할땐 접속이 됬었습니다 ㅠㅠ
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
소멸자에서 전체 인스턴스에 활당이 안되는것같습니다.
- class Warehouse: # 클래스 변수 stock_num = 0 # 재고 def __init__(self, name): # 인스턴스 변수 Warehouse.stock_num += 2 # 클래스명으로 만든 변수는 모든 인스턴스에 활당 self.name = name #self로 만든 변수는 각각의 인스턴스에 2당 self.stock_num+=100 print(self.name,self.stock_num) def __del__(self): Warehouse.stock_num -= 2 self.stock_num-=100 print(self.name,self.stock_num) user1 = Warehouse('Lee') # Lee 102 user2 = Warehouse('Cho') # Cho 104 del user1 # Lee 2 -> 102-100 del user2 # Lee 0 이나와야 하는데 4가 나옴 ->104-100 소멸자에서 Warehose.stock_num 이 안먹힌거 같은데 왜그런거죠?
-
미해결라즈베리파이 IoT 프로그램과 클라우드 입문 과정
강의에 사용되는 소스를 받아볼수 있을까요?
강의내용을 감사히 잘 듣고 있습니다. 강의에 사용되는 소스를 받아볼수 있을까요?
-
미해결자바스크립트 비기너: 튼튼한 기본 만들기
코딩시간 답 제출
// 짝수합 , 홀수합 변수 초기값 할당 var oddSum = 0, evenSum = 0; // 0 ~ 50 까지 1씩 증가 for (var k = 0; k <= 50; k++) { // 2로 나누어지면 짝수 if (k % 2 == 0) { // evenSum = evenSum +k 복합대입연산자 evenSum += k; // 2로 나누어지지않으면 홀수 } else if (k % 2 != 0) { // 복합대입연산자 oddSum += k; } } // 누적된 evenSum 과 oddSum을 출력함 console.log("누적한 홀수 번째 값 ", odd); console.log("누적한 짝수 번째 값 ", even); // 전체 값 = 홀수전체값 + 짝수전체값 console.log("누적한 전체 값 ", odd + even); --------------------콘솔 창 -------------------- 누적한 홀수 번째 값 650 문장_문제.js:11 누적한 짝수 번째 값 625 문장_문제.js:12 누적한 전체 값 1275
-
미해결인공지능 기초수학
강의 교안 부탁드립니다.
이제 반 들었네요 교안 부탁드립니다 *^^* 강의 너무 잘 듣고 있습니다! juni5184@naver.com
-
미해결Slack 클론 코딩[실시간 채팅 with React]
TypeError (0 , swr__WEBPACK_IMPORTED_MODULE_5__.useSWRConfig) is not a function 에러와 관련하여 질문 드립니다.
안녕하세요. 강의를 듣다가 에러가 발생하여 질문드립니다. 타입스크립트를 다루는데 익숙하지 않아 에러가 어디서 발생했는지 가늠이 잘 안됩니다ㅜㅜ 공지사항에 올려주신 대로 ser-devtools 업데이트에 맞게 client.tsx를 아래와 같이 수정했는데 다음과 같은 에러메세지가 계속 나와 화면이 보이지 않습니다 코드를 수정할 때 core-js와 @jjordy/swr-devtools 를 함께 설치해주었습니다. 이때 @jjordy/swr-devtools 를 설치할 때 에러가 나 -f로 강제로 설치했었는데 혹시 이것이 문제가 되는 것일까요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
중계서버 질문
여기서 나오는 중계서버는 어느 개념인가요?
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프2탄]
Spring WEB MVC로 (03버전_웹 3-Tier기반 게시판 만들어보기) 코드
안녕하세요? 좋은 강의 정말 감사합니다 :) 다름이 아니라 혹시 Spring WEB MVC로 (03버전_웹 3-Tier기반 게시판 만들어보기) 강의의 완성된 코드를 받을 수 있을지 여쭤보고 싶습니다. 감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
수정강의부분에서 캐스팅이라는게 어떤건가요?
여기 book item 부분에서 반환되는게 아이템 타입이다 라고 하셨는데 이게 어떤 뜻인지 알수있나요? 그리고 캐스팅하는게 안좋다 하셧는데 캐스팅이 무얼말하나요? 마지막으로 (Book)이 어떤의미를 뜻하는지 모르겠습니다. public String updateItemForm(@PathVariable("itemId") Long itemId, Model model) { Book item = (Book) itemService.findOne(itemId);
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
안녕하세요. 코드 리뷰 부탁드립니다!
강의 듣기에 앞서 지난 시간 선생님께 배운 슬라이딩 윈도우로 풀어봤습니다. 어떠한지 리뷰 부탁드리겠습니다 :) function compareMaps(map1, map2){ for(let [key, val] of map1){ if(map1.get(key)!==map2.get(key)) return 0; } return 1; } function solution(s, t){ let answer = 0; let sL = s.length, tL = t.length; let tH = new Map(), sH = new Map(); for(let x of b){ if(tH.has(x)) tH.set(x, tH.get(x)+1); else tH.set(x, 1); } for(let i=0;i<tL;i++){ let x = s[i]; if(sH.has(x)) sH.set(x, sH.get(x)+1); else sH.set(x, 1); } answer += compareMaps(tH, sH); for(let i=tL;i<sL;i++){ let x = s[i], y = s[i-tL]; if(sH.has(x)) sH.set(x, sH.get(x)+1); else sH.set(x, 1); sH.set(y, sH.get(y)-1); answer += compareMaps(tH, sH); } return answer; }
-
미해결Slack 클론 코딩[실시간 채팅 with React]
혹시 db비밀번호
react nodebird 만들기에서 .env에 비밀번호1234 사용햇는데 여기서 create할때 비번입력할때 1234입력하면 게속 error 1045 (28000): access denied for user 'root'@'localhost' (using password: no) 이렇게뜨네요.. 찾아보니까 mysql 비밀번호가안맞아서 그렇다는데..하...초기화하고 싶어서 유형 2) ERROR 1045 (28000): Access denied for user 'root@'localhost' (using password: YES) - 사용자의 비밀번호가 틀렸을 경우 나타나는 오류 문구, 아래 해결 방법에 나와있는 명령어들을 입력. [해결 방법] mysql > use mysqlmysql > update user set password=password('비밀번호') where user='사용자'; // 비밀번호 변경mysql > flush privileges; // 변경사항 적용 C:\Program Files\MySQL\MySQL Server 8.0\bin입니다. 설치경로에서 mysql 접속하라길래 해당경로에서 접속하려는데 실행할수없는 명령어라고하고 기존에 노드버드연결했던 커넥트 삭제햇다가 다시연결하려고 1234입력하니까 이번엔또 같은에러뜨고.. 어찌해야할까요
-
미해결[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지
CrossEntropyLoss 질문입니다.
좋은 강의 감사드립니다. 강의 중 궁금한 내용이 있어 질문 드려요! 강의 6분40초에서 loss 계산 부분이 궁금합니다 criterion = nn.CrossEntropyLoss() # CrossEntropyLoss는 softmax 계산까지 포함되어 있으므로 모델의 마지막 output node에 별도의 활성화 함수를 사용하지 않아도 된다. outputs = net(inputs) # 예측값 산출 loss = criterion(outputs, labels) criterion을 위와 같이 정의하고 loss를 계산을 하는데, outputs은 10개짜리 벡터가 되고, labels은 그냥 숫자 값인데 이게 CrossEntropyLoss()로 계산이 가능하다고 설명이 해주셨습니다. 같은 타입의 형식이어야 가능할것 같은데 왜 가능한건지 이해가 되질 않네요.