묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결구글에서 인정한 파트너가 세팅하는 방식 그대로: 구글광고 이론과 실습
에널리틱스 예전 버젼이라 지금꺼랑 완전히 달라요,
환불을 해주시거나 아니면 방법을 찾아주세요
-
미해결김영한의 실전 자바 - 기본편
result = pay.pay(amount); 이건 할당하는 코드가 아닌가요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]result에 할당후 실행 하는 코드가 없는데 바로 pay.pay가 실행되는 원리를 모르겠습니다.. 아니면 원래 할당과 실행이 동시에 일어나는건가요?
-
미해결AWS로 쉽고 빠르지만 아주 견고한 서버 환경을 구축하는 방법
디비 연결 안돼요 ㅠ
연결이 왜 안될까요 ㅜ #!/bin/bash# ecr 로그인aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 963475970914.dkr.ecr.us-east-1.amazonaws.com# 컨테이너 실행docker run -p 80:8002 --name user-service-container \-e "spring.datasource.url=jdbc:postgresql://geonmin-rds-db.cn6c8q4o89q7.us-east-1.rds.amazonaws.com:5432/user_database" \-e "spring.datasource.username=postgres" \-e "spring.datasource.password=postgress" \-e "spring.datasource.driverClassName=org.postgresql.Driver" \-t 963475970914.dkr.ecr.us-east-1.amazonaws.com/user-service
-
해결됨딥러닝 차세대 혁신기술 - 물리 정보 신경망 입문과 Pytorch 실습
초기값 관련 질문있습니다.
안녕하세요, 도움되는 강의 제공해주셔서 진심으로 감사드립니다.Harmonic Oscillator 초기값 관련하여 질문있습니다.현재 우리는 pinn의 performance를 확인하기 위해 실제해가 알려진 경우와, pinn의 prediction을 비교하고 있는데요. loss function이 residual과 초기값에 대한 mse로 구성되어 있는데, 우리가 실제 해를 모른다고 가정하고 온전히 pinn으로만 학습한다고 가정할 경우, 초기값에 대한 mse는 어떻게 구할 수 있을까요?제가 미분방정식에 대한 기억이 너무 오래되서 그런데 보통 초기값은 실제해를 몰라도 방정식 별로 알려진 값일까요?미리 감사드립니다.
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
Next 빌트인 Image컴포넌트를 사용하지 않는 이유는 뭔가요??
Next.js에서는 기본적으로 제공하는 빌트인 Image 컴포넌트가 있음에도 불구하고, 강의에서는 일반 HTML img 태그를 사용하고 있습니다.Next.js의 Image 컴포넌트는 이미지 최적화와 같은 여러 이점을 제공하는 것으로 알고 있는데, 왜 이를 사용하지 않고 img 태그를 선택했는지 궁금합니다.이에 대한 이유나 특별한 상황이 있다면 설명해 주시면 감사하겠습니다.
-
미해결한 입 크기로 잘라먹는 Next.js(v15)
페이지 이동시 또는 새로고침시 사전랜더링 질문
처음 배울 때에는 브라우저에 요청이 들어올 때 기본적으로 SSR 방식으로 사전 렌더링이 된 후, 하이드레이션 작용이 일어나 그 후 CSR 방식으로 작동된다고 알고 있습니다.질문하기 쉽게 / 경로를 보여주는 컴포넌트를 Home, book/:id 경로를 보여주는 컴포넌트를 BookDetail 라고 표기하겠습니다.Home 컴포넌트에 getServerSideProps 메서드로 사전 렌더링때 데이터 페칭을 하고, BookDetail 컴포넌트도 getServerSideProps 메서드로 사전 렌더링때 데이터 페칭을 진행 할 수 있도록 둘다 설정해 놓았을 때,처음 HOME 컴포넌트 접속시 getServerSideProps 메서드가 실행되고 BookDetail 로 이동시 getServerSideProps 도 메서드도 실행됩니다.getServerSideProps 메서드는 사전 랜더링 때 실행이 되는 걸로 알고 있는데,기존에 Next.js 랜더링 방식은 사전 렌더링 후, 페이지 이동은 CSR 로 진행된다고 배웠습니다.그렇다면 BookDetail 로 이동시 CSR 방식으로 랜더링 된다면, BookDetail 의getServerSideProps 메서드는 실행되지 않아야 하는게 아닌가요 ?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1062 - 가르침 맞왜틀
안녕하세요 선생님 코드 참고하면서 풀어봤는데 예시는 맞고 통과를 하지 못하는 상황입니다.저는 입력으로 온 문자열에 a, n, t, i, c를 제외하고 저장을 시키고 비트가 [k개에서 해당 문자 수 5를 뺀만큼] 켜졌을 때 ret을 구하는 방법으로 풀어봤습니다 어느 부분이 잘못되었는지 알 수 있을까요? 감사합니다!http://boj.kr/0fd6dc2e0f754f30bb6f726111359f97
-
해결됨웹플로우(Webflow) 시작하기 - 코딩 없이 자유도 높은 프로토타입 만들기
CMS 항목수
현재 월 29달러 웹플로우 CMS 요금제를 사용할 때 2,000개의 CMS 제한 항목수는 월별로 쌓이는 갯수가 맞나요? 그래서 CMS가 2개월 최대치로 쌓인다면 4,000개가 맞나요?
-
해결됨Next + React Query로 SNS 서비스 만들기
그룹폴더 질문있습니다.
안녕하세요 제로초님 강의를 듣다가 문득 궁금한점이 있어서 질문드립니다.현재 폴더 구조가 app하위에 (afterLogin) 폴더와 (beforeLogin) 폴더가 있는데, 지금 강의에서는 당연한듯이 beforeLogin 폴더의 layout이 뜨고있는데요, 왜 그런건지 궁금합니다.현재 단계에서는 뭔가 로그인을 했다는 조건같은걸 아직 작성하지 않은것 같아서요 정리하자면 현재 localhost:3000의 기본 페이지가afterlogin 폴더의 layout이 아니라 beforeloign의 layout이 뜨는 이유가 궁금합니다.
-
미해결정혜경 판타스틱 자료구조 in C
addLast질문
9강에서 addLast를 할 때 btp에만 추가를 했지 lp에 추가를 한 것이 아니기 때문에 결국 size만 무의미하게 늘어나는 것이 아닌지 궁금합니다.
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
불특정 파일을 순회하면서 찾고 표안에 글넣기
안녕하세요. 강의를 들으며 자동화를 진행하고 있는데, 한 가지 질문이 있습니다.저는 특정 문서가 아니라 여러 다른 문서에서 사용자의 정보를 자동으로 입력하는 코드를 작성하고 싶습니다. 예를 들어, 자주 입력하는 항목인 이름, 성별, 전화번호를 딕셔너리에 저장하고, 서로 다른 양식의 문서를 불러왔을 때 해당 항목이 존재하면 입력란의 오른쪽이나 아래쪽 공백을 확인하여 자동으로 채워 넣기를 희망합니다.이런 작업이 기술적으로 가능한지 궁금하며 가능하다면 어떻게 하는것이 좋을지 조언을 구하고 싶습니다. 감사합니다.
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
Huber Loss에 대한 질문
안녕하세요?: 선생님강의 정말 재밌게 잘 보고 있습니다.강의 내용 중에 Huber Loss는 전미분이 한 번밖에 되지 않는다는 단점을 언급해주셨는데요Gradient Descent를 적용할 때는 weight에 대한 편미분만 적용하기 때문에 역전파 시에는 무관한 거 아닐까요?따라서 Epoch를 2 이상의 숫자를 두고 학습하는데 전혀 지장이 없는 거 아닌가요?왜 전미분이 1번만 된다는 게 단점이 된다는 것인지 이해가 잘 되지 않습니다.
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
포트폴리오 첨삭
안녕하세요, 큰돌님.얼마 전에 진행한 포트폴리오/이력서 첨삭 이벤트에 참여했는데, 아직 메일이 오지 않아서 질문 남깁니다!혹시 언제쯤 올 거 같은지 대략이라도 알 수 있을까요?
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
세션 질문입니다.
사용자가 웹에 접속하고 로그인도 안했는데 세션이 왜 생기는건가요? 지금까지 이전 강의에서는 로그인 인증에 성공하면 그때 서버에서 세션을 생성하고 저장한다고 배웠던거 같은데 그냥 접속만 해도 서버에서 클라이언트에 왜 세션을 주는건지 모르겠습니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
oracle jdk 23
oracle jdk 23을 설치하여 사용중입니다. 강의따라가는데 크게 문제 없을까요??
-
미해결백엔드 애플리케이션 성능 개선하기 - 기초편
레디스에 대해서 질문드립니다.
안녕하세요? 끝까지 강의를 들었는데, 알차고 재미있는 강의였습니다. 강의를 보다보니 레디스를 사용해도 성능적인 차이가 많이 안나는 것을 보고 궁금한 점이 있어서 질문드립니다. 사실 주변에서 캐시로 레디스를 무조건적으로 사용을 하시는 경우를 많이 봤는데요, 제가 생각할때는 결국 I/O대기시간이 일반적인 api에서 큰 부분을 차지하고, 결국 레디스라는 것도 IO를 기다려야 하는 것은 동일하지 않나요? 그렇게 따지고 보면 강의에서 보여주신 것처럼 레디스를 사용하더라도 성능적 차이가 많이 안나는 경우가 꽤나 빈번할 것 같은데, 강사님의 의견이 궁금합니다. 레디스 내에서 해시값을 기반으로 데이터를 조회하는 속도야 빠르겠지만, 애초에 요청받았을 때 수행해야하는 [작업] 그 자체의 비중보다 [IO]를 대기하는 시간이 큰 경우가많은, 예를 들면 DB에서 단순히 레코드한줄을 조회한다든지 하는 기능이라고 하면 레디스를 쓰는 건 비용까지 고려했을 때 굳이 할 필요가 없는 선택처럼 느껴집니다.결국 레디스는 IO보다 요청에 따라 수행해야 하는 작업 그자체의 크기가 조금 클때 그제서야 유의미해 보이는데 어떻게 생각하시는지 의견이 궁금합니다! 추가로 강의 잘들었습니다. 혹시 다음 강의는 언제쯤 출시할 예정이신지 알 수 잇을까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-R 질문있습니다 :)
안녕하세요 선생님 🙂너무 좋은 아이디어 제공해주셔서 감사합니다 ^^ 선생님 강의를 보기 전에 먼저 풀어봤는데요, DP방식이 아닌 1차원 배열로 설계했습니다. S = E일 경우에는 숫자가 1개밖에 되지 않기 때문에 팰린드롬Oarr[S]과 arr[E]가 같지 않을 경우에는 팰린드롬X그 외의 경우는 함수처리위와 같이 설계를 하였고, 테스트케이스는 올바르게 출력이 되었습니다. 하지만 틀렸다고 하더라구요 ㅠㅠ 제 아이디어의 어디가 잘못되었는지 알려주시면 정말 감사하겠습니다 ㅎㅎ http://boj.kr/ddee46587ca14173a4cd344a40b25894
-
해결됨2시간으로 끝내는 코루틴
CoroutineScope & Dispatcher 질문
안녕하세요.제가 복습을 하다가 궁금한 부분이 생겨 질문드립니다. section1 아래 코드를 다시 보니까 조금 혼란이 옵니다. fun main(): Unit = runBlocking { val job1 = CoroutineScope(Dispatchers.Default).launch() { ... } val job2 = CoroutineScope(Dispatchers.Default).launch() { ... } } 위 코드는 같은 Dispatchers.Default를 사용하는 것으로 보이는데, 질문.두 CoroutineScope가 공통된 Dispatchers.Default를 공유하니까 한 코루틴에서 예외가 발생하면 다른 코루틴에서 예외가 발생할 것 같은데, 따로 처리되는 이유가 무엇인지 궁금합니다.예를 들어, job1에 대한 CoroutineScope에서 예외가 발생하면 Dispatchers.Default에 job1에 대한 id를 주고, 해당 코루틴(ex. job1 내부 delay 상태로 된 내부 코루틴)에 대한 코루틴을 전부 지워라이런 식으로 작동해서 독립적으로 실행되는건가요? 코루틴을 스레드에 배정하는 역할이 Dispatchers.Default, IO, Main 등이 있는데, 이름이 같은데 따로 예외처리되고 하니까 헷갈려서 질문드립니다. 제가 Dispatchers와 CoroutineScope 관계에 대해서 잘 이해를 못해서 또 이렇게 질문 올립니다.. 감사합니다.
-
해결됨독하게 시작하는 C 프로그래밍
함수 포인터 질문
안녕하세요. 함수 포인터를 사용할 때와 사용하지 않을 때 기능적인 차이점은 알겠지만, 함수 포인터를 사용했을 때의 이점과 왜 사용하는지 알 수 있을까요? 그냥 메인함수에서 함수 포인터를 사용하지 않고 일반 함수를 호출 할 때와 코드 길이는 비슷한 것 같은데 어떤 이점이 있는지 언제 쓰면 좋은지 쉽게 설명해주시면 감사드리겠습니다.
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
11장 팔로잉 기능 구현 관련
11장 팔로잉 기능 구현에서는팔로잉 하는 목록 페이지팔로우 하고 있지 않는 목록 페이지두 가지를 구현하였습니다.이를 기반으로 인스타그램처럼 프로필을 카드기반으로 꾸미고 10-12 에서 구현한 무한 스크롤을 적용하였습니다. 프로필 페이지에서 구현한 프로필 카드를 목록에서 재활용하여 반복을 줄이고자 했습니다.대부분의 기능은 구현하였습니다만, 강의의 내용만으로는 스스로 해결하기 힘든 점들이 있어 질문글을 파란색으로 남깁니다. 우선, 팔로잉 목록과 언팔로인 목록을 나눈 경우 언팔로잉 목록에서 내가 팔로잉 한지 모르고 검색한 경우 유저 목록이 검색되지 않는 불편함이 존재할 수 있습니다.물론 인스타 그램의 경우 강사님께서 구현한 것처럼 탭을 나누어서 구현하였으니 이는 문제가 아닐 수 있습니다.그러나 하기의 사진은 정확한 예시는 아닐 수 있으나 내 팔로워들 중 내 팔로잉 여부를 확인할 수 있는 페이지를 구현하고 싶습니다.인스타 팔로워 페이지인스타 팔로잉 페이지 따라서 팔로우하지 않는 목록 페이지를 유저 목록들이 모두 나열되면서 눈으로 팔로우 여부를 확인할 수 있는 페이지로 구현하고자 합니다. 하기는 현재 구현한 목록 페이지의 일부 입니다.개인 프로필 페이지에서는 팔로잉 버튼 대신 edit 버튼이 활성화 됩니다.해당 페이지를 구현하기 위해 11장에서 구현한 두 함수를 generic ListView를 상속받은 class 기반 뷰로 구현하였습니다.# views.py @method_decorator(login_required_hx, name="dispatch") class DiscoverListView(ListView): model = User paginate_by = 12 context_object_name="user_list" def get_queryset(self): qs = User.objects.all() user: User = self.request.user follow_relation = self.kwargs.get("follow_relation", False) # url로 부터 받는 인자 match follow_relation: case "following": qs = user.following_user_set.all() case "followed": qs = user.followed_user_set.all() # qs = User.objects.exclude(id__in=user.following_user_set.all()) qs = qs.exclude(id__in=[user.pk]).select_related("profile").prefetch_related("follower_user_set", "following_user_set") query = self.request.GET.get("query", "").strip() if query: qs = qs.filter( Q(username__icontains=query) | Q(full_name__icontains=query) | Q(email__icontains=query) ) return qs.order_by("username") def get_template_names(self) -> list[str]: # htmx로 요청이 들어오면 검색바 등 불필요한 위 아래 내용 제거 후 내용만 업데이트 if self.request.htmx: template_name = "accounts/_user_list.html" else: template_name = "accounts/user_list.html" return [template_name] def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) # is_follwer 는 html에서 follow 버튼을 구분하기 위한 인자 # context['is_follower'] = True if self.kwargs.get("follow_relation", False)=="following" else False qs = self.get_queryset() follow_dict = { q.username:self.request.user.is_follower(q) for q in qs } context['follow_dict'] = follow_dict query = self.request.GET.get("query", "").strip() context['query']=query return context여기서 .prefetch_related("follower_user_set", "following_user_set") 을 통해 모델에서 구현한 팔로워와 팔로잉 유저 수를 불러오는 property를 templates에서 호출할 때 N+1 문제를 해결하고자 하였습니다.<!-- _user_profile_card.html --> {% load static %} <div class="card" style="border-radius: 15px;"> <div class="card-body p-4"> <div class="d-flex"> <div class="flex-shrink-0"> {% if user.profile.avatar %} <img src="{{user.profile.avatar.url}}" alt="{{user}}'s avatar" class="img-fluid" style="width: 180px; border-radius: 10px;"> {% else %} <img src="{% static 'images/profile-icon-design-free-vector.jpg' %}" alt="{{user}}'s avatar" class="img-fluid" style="width: 180px; border-radius: 10px;"> {% endif %} </div> <div class="flex-grow-1 ms-3"> <h5 class="mb-1" style="display:inline">{{ user.full_name }} </h5> {% if user.profile.team %} <h6 class="text-muted" style="display:inline">{{ user.profile.team }}</h6> {% endif %} <p class="mb-1 pb-1">{{ user.email }}</p> <div class="d-flex justify-content-start rounded-3 p-2 mb-2 bg-body-tertiary"> <div> <p class="small text-muted mb-1">Data</p> <p class="mb-0">TDA</p> </div> <div class="px-3"> <p class="small text-muted mb-1">Followers</p> <p class="mb-0">{{user.follower_count}}</p> </div> <div> <p class="small text-muted mb-1">Following</p> <p class="mb-0">{{user.following_count}}</p> </div> </div> <div class="d-flex pt-1"> {% if request.user == user %} <a href="{% url 'accounts:profile_edit' %}" class="btn btn-outline-primary btn-sm"> <i class="bi bi-pencil-square"></i> 프로필 수정 </a> {% else %} {% comment %} {% include "accounts/_user_follow.html" with username=user.username%} {% endcomment %} {% include "accounts/_user_follow.html" with is_follower=follow_dict.user.username username=user.username%} {% endif %} </div> </div> </div> </div> </div>프로필 카드 내에서 팔로워와 팔로잉 수를 보여주기 위해 접근한 제 방식이 맞는지가 궁금합니다. models.py에서 구현한 follower_count 또는 following_count를 template에서 호출하는 방식이 일반적인 접근 방식인가요?그 다음 제가 위에서 구현하고자 한 유저별 팔로우 여부를 get_context_data에서 follow_dict 라는 변수명으로 저장하여 하기와 같이 template에 넘겨주었습니다.<!--user_follow.html--> {% include "core/_messages_as_event.html" %} {% load keyvalue %} {% if follow_dict|keyvalue:username %} <a href="#" hx-post="{% url 'accounts:user_unfollow' username %}" hx-swap="outerHTML" class="btn btn-sm btn-primary"> <i class="bi bi-person-check-fill"></i> 팔로잉 중 </a> {% else %} <a href="#" hx-post="{% url 'accounts:user_follow' username %}" hx-swap="outerHTML" class="btn btn-sm btn-secondary"> <i class="bi bi-person-add"></i> 팔로잉 하기 </a> {% endif %}dictionary 키 값으로 변수를 입력하는 것이 django template에서 지원되지 않기 때문에 하기의 함수를 등록하여 활용하였습니다.register = template.Library() @register.filter def keyvalue(dict, key): return dict[key]결과물은 구현한 페이지처럼 잘 보여지지만, 두 가지 문제가 존재합니다.확실치 않지만 하기의 코드에서 N+1 오류가 발생하는 것으로 보입니다.follow_dict = { q.username:self.request.user.is_follower(q) for q in qs }팔로잉 혹은 언팔로잉 요청 시 500 서버 에러가 발생합니다. 아마도 follow_dict가 요청 시에 업데이트 되지 않아 발생하는 오류로 보입니다. 이러한 점 때문에 인스타그램에서도 따로 탭을 두어서 관리하는가 싶기도 합니다만 이를 해결할 방법이 있을까요?어렵다면 팔로워 목록에서 내가 팔로잉 하는지 여부를 표기하는 인스타그램 페이지는 어떻게 구현해야 할까요?