inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

::timestamp ::text 관련 질문이 있습니다.

해결됨

데이터 분석 SQL Fundamentals

to_date('2022-01-01', 'yyyy-mm-dd')::timestamp; 여기서 ::timestamp를 통해 타임스탬프 형태로 바꿔주는데 to_timestmap('2022-01-01', 'yyyy-mm-dd') 로 바로 해 주는 것과 무슨 차이가 있나요?

  • sql
  • postgresql
  • dbms/rdbms
KoKuMa 댓글 1 좋아요 1 조회수 182

method patch 설정시 404에러

미해결

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

- id: user-service uri: lb://USER-SERVICE predicates: - Path=/user-service/** - Method=PATCH filters: - RemoveRequestHeader=Cookie - RewritePath=/user-service/(?<segment>.*), /$\{segment} - AuthorizationHeaderFilter 이렇게 작성했는데요 @postmapping("/user/test") @patchmapping("/user/test") 포스트는 잘동작하는데 패치는 404가 납니다 뭐가 문제일까요?

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
kim미소 파파 댓글 2 좋아요 1 조회수 624

로그인 방식에 대해서 궁금한게 있습니다!

미해결

스프링부트 시큐리티 & JWT 강의

안녕하세요 유튜브 메타코딩 시절부터 즐겨봤는데 인프런에서도 보니 반갑네요! ㅎㅎ 다름이 아닌 로그인 방식에 대해서 궁금하게 생겨서 질문 드립니다. 현재 프로젝트에서 로그인 방식은 프론트에서 아이디와 비밀번호를 전송함 Controller에서 아이디와 비밀번호를 받아 Service단에서 로그인 로직을 돌며 DB와 비교하여 로그인의 성공 유무를 알려줌 (성공시 JWT 제공) (정해진 JSON 형식대로 DTO에 담아 프론트에 제공) 그 후 요청마다 JWT를 JWTAuthenticationFilter에서 인증함. 그런데 문득 강의를 듣다보니 로그인 방식을 굳이 Service 단으로 가져가지 않고 필터단에서 처리하는게 더 괜찮은 방식이며 Spring Security를 더 적절히 사용하는게 아닐까라는 생각이 들었습니다. 이렇게 된다면 사용자가 입력한 아이디와 비밀번호를 Custom 필터에서 로그인을 진행하게 되겠네요. 하지만 이렇게 될 경우 현재 프로젝트에서 사용하는 로그인 방식과는 다르게 DTO에 담지 못하니 직접 response에 현재 정해진 JSON 형식대로 만들어 보내주는 방법밖에 없을거 같은데 이러한 방식이 주로 사용되는 방식일까요?!

  • spring
  • spring-security
  • jwt
박성춘 댓글 2 좋아요 0 조회수 495

idx값을 가져올 때 views.py에서 매개변수 형태로 가져오는 것과 idx = request.POST['idx'] 형태로 가져오는 것의 차이를 모르겠습니다.

미해결

Django 프레임워크 제대로 배우기 Part.2

views.py def delteMemo(requset,idx): db_article = Memo.objects.get(id = idx) db_article.delete() return HttpResponseRedirect(reverse('main')) def updateMemo(request): idx = request.POST['idx'] memoContent = request.POST['memoContent'] #실질적인 DB에서의 수정처리 db_article = Memo.objects.get(id = idx) db_article.memo_txt = memoContent db_article.save() return HttpResponseRedirect(reverse('main')) 강의 내용을 보면 views.py 에는 이와 같은 코드가 작성됩니다. 두 함수 모두 DB에 접근하기 위해 idx 값을 가져와야 하는데 왜 방식이 다른 건지 모르겠습니다.

  • django
고동현 댓글 1 좋아요 0 조회수 287

4.조건문에서 switch문 강의 관련 문의

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] Switch1에서 알려주신 코드 방식이 아닌, 이렇게 해도 맞는 것일까요? 잘못된 방식이라면 설명 좀 부탁드려도 될까요? 알려주신 코드 방식에서 int coupon; 부분이 이해가 안 가는 것 같아요. package Cond; public class Switch1 { public static void main(String[] args) { int grade = 2; if (grade == 1){ System.out.println("발급받은 쿠폰 : 1000"); } else if (grade == 2) { System.out.println("발급받은 쿠폰 : 2000"); } else if (grade == 3){ System.out.println("발급받은 쿠폰 : 3000"); } else { System.out.println("발급받은 쿠폰 : 500");} } }

  • java
  • 객체지향
J!ny 댓글 1 좋아요 0 조회수 400

exercise8 질문입니다!

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

안녕하세요! 좋은 강의 덕분에 많이 배우고 있습니다 ㅎㅎ 8번 문제를 그냥 실행했을 때, crash가 나야하는데 소리만 나고 출력, 호출 스택, IDE에 crash 표시도 생기지가 않습니다..! 제가 Mac M1에서 가상 머신으로 띄운 Window의 Visual Studio를 사용하고 있는데, 환경의 문제일까요? 원인을 모르겠어서 어떤 문제인지 서치하기가 어렵네요 ㅠ Archer의 소멸자 delete pet; 에 중단점을 찍고 실행 전 후 사진입니다!

  • c++
v44ads 댓글 2 좋아요 0 조회수 345

인스턴스에 배포한 Express 서버 중지 시키고 삭제 하는 방법

미해결

비전공자도 이해할 수 있는 AWS 입문/실전

[실습] 7. Express 서버를 EC2에 배포하기 를 다 따라하고 이제 [보충 강의] 7-2. Spring Boot 서버를 EC2에 배포하기 를 보면서 따라해보려고 하는데요 이전 강의에서 인스턴스에 배포한 Express 서버를 끄고 삭제한 다음 그 인스턴스에 Spring Boot 서버 배포하고 싶은데 어떻게 해야하나요?

  • aws
  • aws-elb
  • aws-rds
  • ec2
  • s3
alice 댓글 1 좋아요 0 조회수 521

process.env.NEXT_PUBLIC_BASE_URL를 인식하지 못합니다

미해결

Next + React Query로 SNS 서비스 만들기

위 사진 처럼 컴파일이 안됩니다. 그리고 이렇게 바꾸고 실행을 시키면 실행은 되는데 코드 상에서 NEXT_PUBLIC_BASE_URL이 undefined로 확인이됩니다. 어떻게 해결할 수 있을까요.

  • react
  • next.js
  • react-query
  • next-auth
  • msw
melody_bs 댓글 2 좋아요 0 조회수 704

강의자료 부탁드립니다

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

안녕하세요, 강의 자요 부탁드립니다.gkdpfk@gmail.com

  • python
하예라 댓글 1 좋아요 0 조회수 174

NSCollectionLayoutSize 질문

해결됨

[iOS] Swift Modern Collection View & MVVM 패턴 가이드

섹션1 - 3번 레이아웃 구현 시, createListCarouselSection() 메서드를 구현할 때, itemSize: NSCollectionLayoutSize 에 heightDimension 인자 세팅값으로 .fractionalHeight(1.0)으로 세팅하는데 1.0으로 하니까 아이템이 그냥 1개만 세팅되네요. (0.3)으로 세팅하니까 3줄로 나오는데, 혹시 제가 빼먹은 부분이 있을까요? 감사합니다.

  • ios
  • mvvm
  • rxswift
asdfaa22 댓글 2 좋아요 0 조회수 410

스프링 입문(view 환경설정) 에서 Thymeleaf 적용안됨

해결됨

안녕하십니까 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 강의를 듣고 있는 수강생입니다. IntelliJ IDEA에서 Thymeleaf 문법이 정상적으로 적용되면 Thymeleaf 표현식은 주황색으로 강조 표시되는것으로 알고 있는데 이렇게 표시되는 이유가 뭔가요?? build.gradle controller

  • 스프링
  • 스프링입문
  • 김영한강사
  • 타임리프
공부하는문과생 댓글 1 좋아요 1 조회수 415

교착상태와 게임이 튕기는 현상

해결됨

곰책으로 쉽게 배우는 최소한의 운영체제론

교착 혹은 wait가 걸리게 되면 os가 감시하여 강제종료 후 메모리를 회수하게 되는데 그 예로 들수있는것이 게임하던중 어떠한 이유로 튕겼을때 / 프로그램 응답대기가 맞을까요?

  • 운영체제
dongheon001 댓글 1 좋아요 0 조회수 239

5강 Montage_SetEndDelegate()함수 관련

미해결

이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해

FOnMontageEnded EndDelegate; EndDelegate.BindUObject(this, &AABCharacterBase::ComboActionEnd); AnimInstance->Montage_SetEndDelegate(EndDelegate, ComboActionMontage); Montage_SetEndDelegate 함수를 보면, AnimMontage클래스에서 AM이 종료되면 호출시키는 FOnMontageEnded타입의 델리게이트 변수를, 위 함수의 인자로 받는 델리게이트 변수와 치환해서(=) 실행되는 것으로 이해했습니다. 그렇다면 구현되어있는 델리게이트 변수에 ComboActionEnd함수를 바로 구독시키면 안되는건지 궁금해서 여쭤봅니다..

  • unreal-engine
  • ue-blueprint
  • 언리얼-c++
BlurryFace 댓글 1 좋아요 0 조회수 640

flutter secure storage에 대하여

미해결

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

혹시 이 패키지는 단순히 토큰이나 보안 관련된 부분을 저장하기 위해 만들어진 패키지인가요? 이전에 hive와 sql보다는 사용법이 조금 단순한 것 같아서 이 패키지를 이용하면 복잡하지 않은 가벼운 데이터 정도는 쉽게 저장할 수 있을 것 같아서 여쭤봅니다..!

  • flutter
  • 하이브리드-앱
코린이 댓글 1 좋아요 0 조회수 1000

MailService 구조에 대해 생각을 여쭙고 싶습니다.

해결됨

Practical Testing: 실용적인 테스트 가이드

안녕하세요 강사님, 먼저 좋은 강의와 강의가 나온지 일년이 가까지 되어가는데도 답변해주셔서 감사합니다. public boolean sendOrderStatisticsMail(LocalDate orderDate, String email) { // 찾아오기 //통계 합산하기. boolean result = mailService.sendMail(); return true; } public Boolean sendMail(String fromEmail, String toEmail, String subject, String content) { // mailSendClient는 메일을 전송하는 역할을 합니다. boolean result = mailSendClient.sendEmail(fromEmail,toEmail,subject,content); // 메일이 전송되었다면 메일 전송 내역을 저장합니다. - 기록용 엔티티 입니다. if (result) { mailSendHistoryRepository.save(..); return true; } return false; } 이렇게 역할을 나누어 메일 전송을 메일 서비스에게 위임했습니다. 조회한다 메일을 전송한다 메일 히스토리에 저장한다. 비즈니스 로직을 그대로 작성하다보면 아래와 같이 작성하게 되는 경우가 많습니다. public boolean sendOrderStatisticsMail(LocalDate orderDate, String email) { // 찾아오기 //통계 합산하기. // mailSendClient는 메일을 전송하는 역할을 합니다. boolean result = mailSendClient.sendEmail(fromEmail,toEmail,subject,content); // 메일이 전송되었다면 메일 전송 내역을 저장합니다. - 기록용 엔티티 입니다. if (result) { mailSendHistoryRepository.save(..); return true; } return false; } mailSendClient를 Subbing해서 테스트를 한다면 위에 코드나 아래 코드나 테스트 방식은 동일하게 작성이 됩니다. 강사님께서 작성하는 방법은 메일 후처리를 해주는 클래스를 추가가 됩니다. 테스트 코드를 작성하면 동일하게 동작하는데 클래스가 하나가 추가됩니다. 그럼에도 장점이 있기 때문에 사용한다고 생각되어지는데 제가 생각한 후처리기 클래스의 장점은 외부 네트워크를 직접 의존하지 않아도 된다. 메일 전송과 히스토리 저장을 하나의 서비스로 사용할 수 있다. 그리고 이렇게 후처리기 클래스 적용하는 기준이 있으실까요?

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
티벳로보 댓글 1 좋아요 0 조회수 282

체크/라디오박스 등 라벨이 2줄이상 적용될 때는 어떻게 해야하나요?

해결됨

[UI3 업데이트] 피그마 배리어블을 활용한 디자인 시스템 구축하기

보통 체크박스와 라벨의 오토레이아웃을 Align Left로 설정하게 되는데, 2줄 이상의 텍스트가 필요할때는 어떻게 제작하시나요? 디자인시스템에 1줄일 경우, 2줄이상일 경우를 따로 등록하시는지, 아니면 다른방법을 쓰시는지 궁금합니다. 추가 질문) 저는 간간히 2줄 이상일 경우에는 컴포넌트 전체의 오토레이아웃을 Align top left를 한다음, 체크박스에 한번 더 오토레이아웃을 설정하고 위아래에 (텍스트 박스와의 시각보정을 고려한) 여백을 설정해서 하나의 컴포넌트로 1줄(=1line,solo...),2줄이상(=2line,multi...)의 경우를 하나로 관리할 때도 있는데요. 이 방식으로 개발자에게 전달을 해본적이 없어서, 전달과정에서 문제가 없는지도 궁금합니다!

  • 웹-디자인
  • figma
  • figma-tokens
  • 디자인-시스템
  • 아토믹-디자인
  • figma-variable
deathpea 댓글 1 좋아요 0 조회수 514

ProductOrderMain3 문제 풀이 방법에 질문 있습니다

미해결

김영한의 실전 자바 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 저는 enterProduct라는 메서드에서 객체를 생성하고 사용자의 입력까지 모두 받아 해당 객체를 return하도록 풀었습니다. 제가 풀은 방식처럼 메서드 안에서 입력까지 받는 방식이 지양해야 하는 방식인지 궁금합니다 package ref.ex; import java.util.Scanner; public class ProductOrderMain3 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("입력할 주문의 개수를 입력하세요: "); int count = scanner.nextInt(); ProductOrder[] product = new ProductOrder[count]; for (int i = 0; i < product.length; i++) { product[i] = enterProduct(i); } printProduct(product); int totalPrice = calTotalPrice(product); System.out.println("총 결제 금액: " + totalPrice); } static ProductOrder enterProduct(int i) { Scanner scanner = new Scanner(System.in); ProductOrder productOrder = new ProductOrder(); System.out.println((i + 1) + "번째 주문 정보를 입력하세요."); System.out.print("상품명: "); productOrder.productName = scanner.nextLine(); System.out.print("가격: "); productOrder.price = scanner.nextInt(); System.out.print("수량: "); productOrder.quantity = scanner.nextInt(); return productOrder; } static void printProduct(ProductOrder[] product) { for (ProductOrder p : product) { System.out.println("상품명: " + p.productName + ", 가격: " + p.price + ", 수량: " + p.quantity); } } static int calTotalPrice(ProductOrder[] product) { int totalPrice = 0; for (ProductOrder p : product) { totalPrice += p.price * p.quantity; } return totalPrice; } }

  • java
  • 객체지향
10thouseo 댓글 2 좋아요 0 조회수 409

폼에서 저장 페이지로 넘어갈 때의 POST에 대한 궁금증

해결됨

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] HTTP GET 방식 기능 : 조회 HTTP POST 방식 기능 : 처리 , 저장 , 등록 , ... 와 같이 알고 있습니다. 즉 사진에서 노란색 밑줄 친 코드는 현재 폼에서 입력된 데이터를 /servlet/members/save 경로에서 "처리"할 것을 요구하는 코드로 이해했습니다. /servlet/members/save 경로에 해당되는 MemberSaveServlet 클래스에선 폼에서 발생한 데이터를 "저장"시키는 역할을 하고요. 그런데 다음과 같이 실제 폼에서 username과 age를 입력한 후 submit을 누르면 다음과 같이 /servlet/members/save페이지가 "조회" 되면서 데이터가 "저장" 되는 두 가지 작업이 동시에 일어나는 것을 확인할 수 있었습니다. 저는 POST 방식은 데이터 "조회" 가 아닌 데이터 "처리" 로 알고 있어서 폼에서 데이터를 입력하면 페이지에는 아무런 변화가 없고 그냥 데이터가 "저장" 만 되는 것으로 알고 있었습니다 그래서 /servlet/members/save 페이지를 "조회" 해서 데이터가 잘 "저장" 됐는지 확인하려면 GET 을 통하여 해당 페이지로 넘어가게끔 추가로 로직을 구성해야되는 것으로 생각하였습니다. [핵심 질문] 이에 따라 앞으로 POST 방식을 쓰는 경우 페이지가 "조회" 되면서 데이터 "처리" 가 동시에 순차적으로 일어난다고 봐도 될지 궁금합니다 !

  • spring
  • mvc
  • http
  • post
  • get
  • servlet
  • jsp
경민 댓글 2 좋아요 0 조회수 524

새로고침해야만 등록한 글이 리스트에 뜹니다.

미해결

스프링 프레임워크는 내 손에 [스프1탄]

게시글 입력후 새로고침 해야만 새로 등록한 게시글이 리스트에 뜹니다. 제가 놓친 코드가 있을까요? 아니면 브라우저 문제일까요? (문제 상황 gif 이미지 첨부합니다) <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <%@page isELIgnored="false" %> <!DOCTYPE html> <html lang="en"> <head> <title>Spring MVC02</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script> <script type="text/javascript"> $(document).ready(function () { loadList(); }); function loadList() { //서버와 통신 : 게시판 리스트 가져오기 $.ajax({ url: "boardList.do", type: "get", dataType: "json", success: makeView, error: function () { alert("error"); } }); } function makeView(data) { //콜백 함수 : 서버에서 응답으로 받은 데이터를 처리하는 함수 var listHtml = "<table class='table table-bordered'>" listHtml += "<tr>"; listHtml += "<td>번호</td>"; listHtml += "<td>제목</td>"; listHtml += "<td>작성자</td>"; listHtml += "<td>작성일</td>"; listHtml += "<td>조회수</td>"; listHtml += "</tr>"; $.each(data, function (index, obj) { listHtml += "<tr>"; listHtml += "<td>" + obj.idx + "</td>"; listHtml += "<td>" + obj.title + "</td>"; listHtml += "<td>" + obj.writer + "</td>"; listHtml += "<td>" + obj.indate + "</td>"; listHtml += "<td>" + obj.count + "</td>"; listHtml += "</tr>"; }); listHtml += "<tr>"; listHtml += "<td colspan='5'>"; listHtml += "<button class='btn btn-primary btn-sm' onclick='goForm()'>글쓰기</button>"; listHtml += "</td>"; listHtml += "</tr>"; listHtml += "</table>"; $("#view").html(listHtml); //view라는 id를 가진 div에 listHTML을 출력 $("#view").css("display", "block"); $("#wform").css("display", "none"); } function goForm() { $("#view").css("display", "none"); //숨기기 $("#wform").css("display", "block"); //보이기 } function goList() { $("#view").css("display", "block"); $("#wform").css("display", "none"); } function goInsert() { // var title = $("#title").val(); // #title에서 사용자가 입력한 value를 가져옴 // var content = $("#content").val(); // var writer = $("#writer").val(); var fData = $("#frm").serialize(); //form에 입력된 모든 데이터를 가져옴 // alert(fData); $.ajax({ url: "boardInsert.do", type: "post", data: fData, success: loadList, error: function () {alert("error");} }); } </script> </head> <body> <div class="container"> <h2>Panel Heading</h2> <div class="panel panel-default"> <div class="panel-heading">Spring MVC 02</div> <div class="panel-body" id="view">Panel Content</div> <div class="panel-body" id="wform" style="display: none"> <form id="frm"> <table class="table"> <tr> <td>제목</td> <td><input type="text" id="window-title" name="title" class="form-control"></td> </tr> <tr> <td>내용</td> <td><textarea type="textarea" rows="7" id="content" name="content" class="form-control"></textarea></td> </tr> <tr> <td>작성자</td> <td><input type="text" id="writer" name="writer" class="form-control"></td> </tr> <tr> <td colspan="2" align="center"> <button type="submit" class="btn btn-success btn-sm" onclick="goInsert()">등록</button> <button type="reset" class="btn btn-warning btn-sm">취소</button> <button type="button" class="btn btn-info btn-sm" onclick="goList()">리스트</button> </td> </tr> </table> </form> </div> <div class="panel-footer">인프런_스프1탄_박매일</div> </div> </div> </body> </html> @RequestMapping("/boardInsert.do") public @ResponseBody void boardInsert(Board vo) { boardMapper.boardInsert(vo); }

  • jsp
  • spring
  • mvc
  • spring-security
감자 댓글 1 좋아요 0 조회수 278

인기 태그

인프런 TOP Writers

주간 인기글