묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편
Bfs 강의 도입이 시급합니다!!
강의가 너무 좋네요~~ bfs 강의도 올려주실 계획 없나요~~~ (언어는 c++ 어떨지 조심스럽게 말씀드려봅니다 ㅎㅎ)
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
http요청 데이터 부분
강의를 듣던 중에 http 요청 데이터 부분에 총 3가지 방법이 있다고 들었습니다. 그런데 그냥 http api를 사용해서 get,post,put 등등 http message body 방법만으로 웹 애플리케이션을 구현하면 문제가 있을까요? 굳이 get-쿼리파라미터/ post-html form 이 두가지 방법도 알아야하는지 궁금합니다!
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
서버 배포시 문의드려요..
안녕하세요.장고로해서 우분투 서버에 배포중인데요. 셀레니움 이용시크롬과 크롬 웹 드라이버가 서버 컴퓨터에 깔려있어야하는 걸까요,클라이언트 컴퓨터에 깔려있어야 하는걸까요? 아래와 같이 옵션 뭘 설정하라는데.. chrome_options.binary_location = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" chrome_driver_binary = "/usr/local/bin/chromedriver" 혹시 아시면 답변 부탁드려요.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
서버 ip를 모르는 경우
클라이언트가 소켓열어서 tcp통신을 하려고 할 때아예 서버와 연결된적이 없어 서버 ip를 모르는 경우에는 어떻게 하나요>??
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
CounterState 질문입니다.
순수한 궁금증으로 여쭤뵙습니다.혹시 해당 cs를 구현하지않고 private static int currentCount를 사용한다면 유저마다 보이는 currentCounter가 다를까요? 아니면 공통적으로 서버가 닫히기전까지 모든 유저가 동일한 숫자가 보일까요?
-
미해결스프링 핵심 원리 - 기본편
생성자 주입 문의
[질문 내용]안녕하세요. 생성자 주입을 권장한다는 말씀을 듣고 의문이 생겨 문의드립니다.만약 개발 도중 생성자 필드가 추가가 된다면 해당 생성자 부분 코드를 건드리게 될텐데, 그에 따라 해당 생성자를 사용했던 코드들이 전부 오류가 날 것이고 변경이 필요할 것 같습니다.해당 사항이 발생하더라도 생성자 주입 방식을 제일 권장하시는 걸까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
지연 로딩 관련 에러 발생합니다.
기존 강의에다가 JWT token + security 를 적용하여 프로젝트를 하고 있는데 , failed to lazily initialize a collection of role: study.wonyshop.user.entity.User.orders, could not initialize proxy - no Session 오류가 발생합니다. 원인을 찾아보니 이 오류는 지연로딩된 컬렉션을 사용하는 도중에 세션이 종료되어서 발생하는 문제입니다. User 엔티티에서 orders 컬렉션을 지연로딩으로 설정하였기 때문에 실제로 컬렉션에 접근할 때 데이터베이스 연결이 필요하며 세션이 닫힌 상태에서는 접근할 수 없습니다.package study.wonyshop.user.entity; import java.util.ArrayList; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.OneToMany; import javax.persistence.Table; import lombok.AccessLevel; import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import study.wonyshop.common.TimeStamped; import study.wonyshop.delivery.Address; import study.wonyshop.order.entity.Order; //import study.wonyshop.order.entity.Order; @Entity @Table(name = "USERS") //테이블 user 예약어 있어서 사용할 수 없음) @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class User extends TimeStamped { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "user_id", nullable = false) private Long id; @Column(nullable = false, unique = true) private String email; @Column(nullable = false, unique = true) private String nickname; @Column(nullable = false) private String password; @Column(nullable = false) private Address address; @Setter private String profileImage; @Column(nullable = false) @Enumerated(value = EnumType.STRING) private UserRoleEnum role; @Column(nullable = false, unique = true) private String phoneNumber; @OneToMany(mappedBy = "user", cascade = CascadeType.ALL, orphanRemoval = true) private List<Order> orders = new ArrayList<>(); //todo 즉시로딩 필요함 -> fetch 조인 생각 할것 /** * 결제 수단은 포인트로 가능 ! 하다는 가정 */ @Column(nullable = false) private int point = 1000; // 기본 가입 포인트 private Boolean inUser; // 추후 휴면계정 관리 할때 사용 하기 위함 @Builder public User(String email, String nickname, String password, Address address, String profileImage, UserRoleEnum role, String phoneNumber) { this.email = email; this.nickname = nickname; this.password = password; this.address = address; this.profileImage = profileImage; this.role = role; this.phoneNumber = phoneNumber; } // admin , seller 용 @Builder public User(String email, String nickname, String password, Address address, String profileImage, UserRoleEnum role, String phoneNumber, int point) { this.email = email; this.nickname = nickname; this.password = password; this.address = address; this.profileImage = profileImage; this.role = role; this.phoneNumber = phoneNumber; this.point = point; } /** * 소비자가 -> 셀러 에게 지불 * * @param totalPrice */ public void payForOrder(int totalPrice) { int restPoint = this.point - totalPrice; if (restPoint < 0) { throw new IllegalArgumentException("포인트가 부족합니다. 포인트 충전 후 다시 이용해 주세요."); } this.point = restPoint; } /** * 셀러가 판매해서 받은 돈 * @param totalPrice */ public void receivePayment(int totalPrice) { this.point += totalPrice; } /** * 취소 시 환불 * @param refundPayment */ public void refundPayment(int refundPayment){ this.point -= refundPayment; } }package study.wonyshop.order.entity; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.OneToOne; import javax.persistence.Table; import lombok.AccessLevel; import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import study.wonyshop.common.TimeStamped; import study.wonyshop.delivery.Delivery; import study.wonyshop.delivery.DeliveryStatus; import study.wonyshop.orderItem.OrderItem; import study.wonyshop.user.entity.User; @Entity @Table(name = "ORDERS") @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Order extends TimeStamped { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "order_id", nullable = false) private Long id; @ManyToOne(fetch = FetchType.LAZY) //연관관계 주인 @JoinColumn(name = "user_id") private User user; // 주문자 @OneToMany(mappedBy = "order", cascade = CascadeType.ALL, orphanRemoval = true) private List<OrderItem> orderItems = new ArrayList<>(); @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "delivery_id") private Delivery delivery; //배송정보 @Enumerated(EnumType.STRING) private OrderStatus status; //ORDER, CANCEL private LocalDateTime orderDate;// 주문 날짜 @Builder public Order(User user, Delivery delivery, OrderStatus status, LocalDateTime orderDate) { this.user = user; this.delivery = delivery; this.status = status; this.orderDate = orderDate; } //--- 양방향 연관관계 편의 메서드 ------// 편의메서드는 컨트롤 하는 쪽에 만들어주면 됨 // 다 쪽이 연관관계 주인으로 값 의 변경사항은 주인쪽에서 함 // 다 쪽 : 일의 값은 set 으로 저장 // 일 쪽 : 리스트(다) 를 조회하여 add // order : user = m :1 public void setUser(User user) { this.user = user; user.getOrders().add(this); } //이때 이것을 호출 하기전에 세션이 종료되어 에러 발생 //order : orderItem = 1: m public void addOrderItem(OrderItem orderItem) { this.orderItems.add(orderItem); orderItem.setOrder(this); } // order : delivery = 1: 1 public void setDelivery(Delivery delivery) { this.delivery = delivery; delivery.setOrder(this); } public void setOrderDate(LocalDateTime orderDate) { this.orderDate = orderDate; } public void setStatus(OrderStatus status) { this.status = status; } //===== 생성 메서드 =====// //OrderItem... orderItems에서 ...은 가변 인자를 선언하는 부분입니다. 이는 OrderItem 타입의 인자를 0개 이상 받을 수 있다는 의미입니다. //Order order = createOrder(user, delivery, item1, item2); public static Order createOrder(User user, Delivery delivery, OrderItem... orderItems) { Order order = new Order(); order.setUser(user); order.setDelivery(delivery); for (OrderItem orderItem : orderItems) { order.addOrderItem(orderItem); } order.setStatus(OrderStatus.ORDER); order.setOrderDate(LocalDateTime.now()); return order; } //--- 비지니스 로직 -------// /** * 주문취소 */ public void cancel(){ if(delivery.getDeliveryStatus() == DeliveryStatus.COMP ) { throw new IllegalStateException(" 이미 배송이 완료된 상품은 취소가 불가능 합니다. "); //Non-cancellable product } this.setStatus(OrderStatus.CANCEL); // 주문 상품을 다 취소 시켜야함 for(OrderItem orderItem : orderItems){ orderItem.cancel(); } } //=== 조회 로직 =====// /** * 전체 주문 가격 조회 */ public int getTotalPrice(){ int totalPrice = 0; for(OrderItem orderItem :orderItems){ totalPrice += orderItem.getTotalPrice(); } return totalPrice; } } @PostMapping("") public OrderResponse orderItem(@AuthenticationPrincipal UserDetailsImpl userDetails , @RequestBody OrderRequest orderRequest) { Long itemId = orderRequest.getItemId(); int quantity = orderRequest.getQuantity(); return orderService.orderItem(userDetails.getUser(), itemId, quantity); }@Service @RequiredArgsConstructor public class OrderService { private final OrderRepository orderRepository; private final ItemRepository itemRepository; private final UserRepository userRepository; private final DeliveryRepository deliveryRepository; @Transactional public OrderResponse orderItem(User user, Long itemId, int quantity) { Item findItem = itemRepository.findById(itemId).orElseThrow( () -> new CustomException(ExceptionStatus.NOT_EXIST) ); //userRepository.findByIdWithOrders(user.getId()); //배송 생성 Delivery delivery = new Delivery(user.getAddress(), DeliveryStatus.READY); // 주문상품 생성 OrderItem orderItem = OrderItem.createOrderItem(findItem, findItem.getPrice(), quantity); // 주문생성 Order order = Order.createOrder(user, delivery, orderItem); deliveryRepository.save(delivery); userRepository.save(user); orderRepository.save(order); return new OrderResponse(order); }}이 상태에서 //userRepository.findByIdWithOrders(user.getId());이 주석 된 부분에 이처럼 user 객체를 가져올때 오더와 함께 가져오는 페치조인을 사용해봤지만 이번 엔 user가 null 값이라는 에러가 납니다. ㅠㅠㅠ 아무리 머리를 굴려도 ㅠㅠㅠㅠㅠ 해결이 안되네용 ㅠㅠㅠ 페치조인 코드 는 아래와 같이 작성했습니다. public interface OrderRepository extends JpaRepository<Order,Long> { @Query("select u from User u join fetch u.orders WHERE u.id = :userId") User findByIdWithOrders(@Param("userId")Long id); } 해결방법은 FetchType.EAGER이걸 적용하면 되는데 eager 적용하지 않고 하는 방법 없을까요 ㅠㅠ @OneToMany(mappedBy = "user", cascade = CascadeType.ALL,Fetch = FetchType.EAGER orphanRemoval = true) private List<Order> orders = new ArrayList<>();
-
미해결모바일 웹 퍼블리싱 포트폴리오 with Figma
단위 관련 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 선생님강의 듣고 있다가 문득 궁금한게 생겨 문의 남깁니다.강의시 rem,vw 단위가 아닌 px단위로 퍼블리싱이 진행되는걸까요?보통 모바일웹은 px보다는 rem이나 vw 단위를 주로 사용한다는 이야기를 들은적이 있어서 질문 남깁니다.답변미리감사합니다
-
미해결타입스크립트 입문 - 기초부터 실전까지
프로젝트 실행
html 파일에서 Open with Live Server 하면 동작이 안하는데 따로 모 실행해 줘야 되나요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-G cmp 함수 질문
bool cmp(pair<int,int> a, pair<int, int> b){ if(a.first == b.first){ return mp_first[a.second] < mp_first[b.second]; } return a.first > b.first; }안녕하세요 강의 잘 듣고 있습니다.교안과 모범 답안의 cmp함수의 매개변수로 pair<int,int>가 그대로 들어가는데요?https://www.geeksforgeeks.org/sorting-a-map-by-value-in-c-stl/이 링크를 보면 cmp의 매개변수로 &을 붙여서 레퍼런스를 넘기는데레퍼런스를 넘기던 값을 넘기던 상관없는건가요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
자유게시판 로그인일때 (비로그인 유저아닐때)
강사님 안녕하세요, 혹시 밑에 질문했는데 제가 잘못 말을 전달한것 같아서요비로그인일때는 피그마에서 작성자, 비밀번호를 입력하게 나타나는데로그인일때는 작성자, 비밀번호를 입력 못하게 나타나더라고여 근데 playground 가보면 파라미터를 받는곳을 보면 user 정보를 받는 파라미터가 없더라구요그래서 fetchBoard를 들어가서 user정보를 가져와도 null값이 나옵니다.그럼 피그마에 있는 저거는 로그인유저도 비로그인유저 화면으로 만들어야하나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
annotation 강의
현재 로드맵을 따라 mvc1편을 절반정도 수강했는데 뒤로 가면@, annotation에 대한 설명해주시는 강의도 있나요??
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
스프링부트 임베디드 모드 테스트 시 커밋
안녕하세요 강사님좋은 강의 감사드리고 해당 질문이 다소 답답하게 느껴지실 수도 있을 것 같아 죄송하지만 강의 실습하는 도중 궁금한 점이 생겨 질문 남깁니다.테스트할 때 임베디드 모드 DB를 사용하게 되면@Commit 어노테이션을 달더라도 실제 db 테이블에 데이터가 저장되지는 않더라고요실제 db가 아닌 임베이드 db를 사용해서 그런 것이라면 임베디드 모드 db를 사용할 때는 애플리케이션이 종료되면 임베디드 모드로 동작하는 H2 데이터베이스도 함께 종료되고, 데이터도 모두 사라진다고 강의 자료에도 써있는데 그러면 @Commit 어노테이션이 무의미하게 되는 것인가요?제가 아래의 동일한 테스트를 여러번 돌릴 때마다 DB데이터가 다 사라지는 것 같더라고요(테스트 할 때는 로그로 데이터 개수를 찍어봤습니다)그럼 각 테스트 단위마다 새로운 임베디드 모드의 DB가 종료되고 다시 새롭게 생성되는 건가요?확인 후 답변 주시면 정말 감사드리겠습니다..!!
-
해결됨홍정모의 따라하며 배우는 C언어
5-6. 괄호에 대한 질문
안녕하세요. 연산자의 우선순위에 대해 설명하실 때 강의에서 말하는 ()는 operator가 아니라 primary expression이라고 하셨습니다.강의의 ()는 operator가 아닌데, 어떻게 연산자 우선순위를 설명할 때 포함될 수 있는지 모르겠습니다. 늘 좋은 강의, 답변 감사합니다.
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
createAsyncThunk 진행 순서
제가 이번에 loadPosts를 createAsyncThunk로 구현하면서 createAsyncThunk의 진행 순서가 궁금해서 질문 드립니index.js useEffect(() => { console.log("dipathch hi"); dispatch(loadPosts(10)); }, [dispatch]);reducers/post.js export const loadPosts = createAsyncThunk(LOAD_POST, async (data) => { trottle(); return data; }); const trottle = () => listenerMiddleware.startListening({ type: LOAD_POST, effect: async (action, listenerApi) => { listenerApi.unsubscribe(); console.log("Original state ", listenerApi.getOriginalState()); await listenerApi.delay(5000); console.log("Current state ", listenerApi.getState()); listenerApi.subscribe(); }, }); const postSlice = createSlice({ name: "post", initialState, extraReducers: (builder) => builder .addCase([HYDRATE], (state, action) => ({ ...state, ...action.payload.post, })) // loadPosts .addCase(loadPosts.pending, (state, action) => { state.loadPostsLoading = true; state.loadPostsDone = false; }) .addCase(loadPosts.fulfilled, (state, action) => { action.payload = generateDummpyPost(action.payload); state.mainPosts = action.payload.concat(state.mainPosts); state.hasMorePost = state.mainPosts.length < 50; state.loadPostsLoading = false; state.loadPostsDone = true; }) .addCase(loadPosts.rejected, (state, action) => { state.loadPostsLoading = false; state.loadPostsError = action.error; }) .addDefaultCase((state) => state), });제가 하나하나 console.log를 찍어서 확인한 진행 순서를 얘기해 드리겠습니다일단 화면을 처음 랜더링할때 index.js에서 dispatch가 제일 먼저 실행됩니다 그리고 post.js로 넘어와서 loadPost.pending -> loadPosts.fulfilled ->loadPosts = createAsyncThunk(LOAD_POST) 이 순서대로 진행이 됩니다 그래서 loadPosts.fulfilled에 generateDummpyPost()함수를 작성한 것입니다그래서 마지막에 createAsyncThunk가 실행이 되니 return이 필요없지 않나? 라는 생각에 return을 지워봤더니 post가 하나만 작성되고 그 이후는 작성되지 않았습니다제가 궁금한 부분은 세개입니다createAsyncThunk의 정확한 진행순서가 궁금합니다generateDummpyPost()함수를 저렇게 작성하는게 맞는지 궁금합니다https://blog.logrocket.com/redux-toolkits-new-listener-middleware-vs-redux-saga/ 에서 Throttling관련 얘기가 있어서 똑같이 따라 해봤는데 쓰로틀링을 createAsyncThunk에 장착하는 방법을 잘 모르겠습니다 쓰로틀링이 없어도 윈도우 이밴트로 요청이 한번에 많이 오는 현상은 없지만 그래도 궁금해서 질문 드립니다
-
미해결리눅스 IPC 프로그래밍 - 이론과 실습
수업 관련 질문
안녕하세요 IPC 프로그래밍에서 Live Programming(pipe) 수업을 듣는 도중 make 파일이 명령어가 실행되지 않는데 선행되어야 하는 작업이 있을까요?환경은 Vmware CentOS 7.9 2개입니다.
-
미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
가변인자 강의 내용 중 코드가 출력이 안됩니다ㅠ
def profile(name, age, *language): print("이름 : {0}\t나이: {1}\t" .format(name, age), end=" ") for lang in language: print(lang, end=" ") print() profile("유재석", 20, "Python", "Java", "C", "C++", "C#", "Javascript") profile("김태호", 25, "kotlin", "Swift") 강의 내용 그대로 하였는데 "IndentationError: unindent does not match any outer indentation level" 라는 말이 뜨고요. 출력창에서는 "print()" 이 부분이 빨간 줄로 되어 있어요ㅠ오류의 원인을 아실까요,,
-
해결됨배달앱 클론코딩 [with React Native]
[맥 전용] 애플 개발자 계정만들기 부분에서, identifiers 누락 부분 질문
[맥 전용] 애플 개발자 계정만들기 강의 파트에서 누락된 부분이 있어서, 이게 누락된건지 아니면 제가 빠뜨렸거나 다른 부분에서 있었던 내용인가 해서 질문올립니다~!certificates 부분 만들고, 6:42초 부분에 Profiles로 넘어가시는데, 6:53초부분에 AppID에 저는 fooddeliveryapp ID가 셀렉트 메뉴에 안뜨더라고요.그래서 검색해 보니 Identifiers 부분도 등록해야 프로파일 등록이 정상적으로 되는것 같던데, Identifiers 부분은 혹시 이 섹션 말고 다른 파트의 강의에서 나왔던 부분인가요? 현재는 이 부분은 강의에서 빠져 있네요Identifiers 등록 없이는 Profiles 등록이 안되는 것 같아 현재 구글의 다른 블로그 레퍼런스 검색해서 등록하려고 하는데,, 혹시 제가 다른 강의 파트서 나왔는데 누락했다면 그 강의 보고 다시 따라하려 합니다. 감사합니다
-
해결됨Slack 클론 코딩[백엔드 with NestJS + TypeORM]
로그인 시 쿠키세션에 대하여 질문있습니다.
안녕하세요. 강사님 좋은 강의 감사드립니다.로그인 시 인증 방법에 대하여 질문있습니다. 1. 로그인 할때 session 식별자를 쿠키와 함께 클라이언트에 전해주는 코드가 어떤 것인지 궁금합니다.로그인시 local-strategy가 실행되면 맨 마지막에 serializeUser에 user.id만 세션에 저장해 놓고 필요할때마다deserializeUser에서 userid를 뽑아올 수 있잖아요? 여기까지는 이해했습니다.그런데 로그인을 성공하면 어떤 코드에서 cookie가 session식별자를 프론트에 전달해주는지 궁금합니다.main.ts에서 app.use(cookieParser()); app.use( session({ resave: false, saveUninitialized: false, secret: process.env.COOKIE_SECRET, cookie: { httpOnly: true, }, }), ); app.use(passport.initialize()); app.use(passport.session());이 코드를 설정했기 때문에 로컬 전략 후 자동으로 쿠키를 통해 세션을 프론트에 전달해주는 것인지 궁금합니다.2. 웹이 아닌 모바일 앱에서 인증 시 백앤드 서버쪽에서 express-session과 passport를 사용하여 인증하는 것이 일반적인지 궁금합니다.모바일은 쿠키가 없기 때문에 쿠키세션은 사용하지 못하더라도 쿠키말고 body에 session 식별자를 보내주어서인증이 가능하지 않을까 라는 의문이 들었습니다.구글 검색결과 "된다 or 안 된다. 모바일앱에서는 passport나 session을 사용하지 않는 것이 좋다." 라는 의견이 있어서 헷갈립니다.모바일앱에서는 passport와 session을 사용하지 않고 jwt를 사용하는 것이 일반적인지 의견을 듣고싶습니다.
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
아이디 입력 오류
안녕하세요! 강의 듣던 중 해결되지 않는 부분이 있어서 남깁니다!! 아이디 비밀번호 입력하고 실행하면 아이디에는 v로만 입력되고 비밀번호는 또 입력이 됩니다!!비밀번호 부분 #처리하고 돌려봤더니 아이디는 그대로 v로만 입력되며, ctrl + v 눌렀을때 아이디 나오는걸 보면 복사까지는 되어있어요!! 어떻게 해결할 수 있을지 궁금합니다! #재 질문 여전히, 이렇게만 되고있습니다!!! 정확하게 말씀드리면, 첫번째 붙여넣기가 안되고 있어요!지금 임시방편으로아이디를 두번 입력하는 방식 (첫번째에는 넣지 않고 두번째에 입력)으로 수정하니 진행됩니다!