묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결단 두 장의 문서로 데이터 분석과 시각화 뽀개기
강좌에서 나오는 window가 무슨 뜻인가요?
강좌에서 나오는 window가 무슨 의미로 쓰이는건가요?
-
미해결플러터(Flutter) 앱 개발 입문부터 프로젝트 완성까지
산술 연산 설명이 누락되었습니다.
2:20초 쯤에 계산부호 산술연산 ~/ 설명 중간에 다음 내용으로 넘어갑니다. -x에 대한 설명은 없이 지나갔구요.. 마이크음량이 갑자기 커져서 깜짝놀랐네요
-
해결됨CSS Flex와 Grid 제대로 익히기
안녕하세요 그리드 예제1 관련 질문 드려요!
다음과 같이 코딩했더니 가상요소를 적용하는 데에 문제가 있어서, 열심히 다른 경우를 시도한 끝에, Input,label 들이 들어간 div.grid-item-modal 부분을 없애고 해보니. :checked ~ 가 적용이 되더라구요 ㅜㅜ 왜 그런지 알 수 있을까요?
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
연도표시
선생님 위에 그림에서는 연도가 2015/ 2015.5/2016/...이런식인데 그냥 2015/2016/2017 이렇게 표시하려면 어떻게 해야 하나요..?ㅜ
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
해시태그 오류 질문입니다.
한 게시글에서 동일한 해시태그를 여러번 사용했을 때 에러가 발생합니다 ex) #리액트 #리액트 #리액트 error -> SequelizeUniqueConstraintError: Validation error at Query.formatError 에러 로그를 보니 아래 부분이 오류라고 합니다. await post.addHashtags(result.map((v) => v[0])); 코드에서 어떤 부분이 잘못된건가요? 그리고 추가적으로 map에서 동일한 해시태그를 입력하기 key값이 중복되어 오류가 납니다. 이러한 경우에는 key를 어떤 방식으로 넣어주는지도 궁금합니다. 아래는 routes/post.js 해시태그 부분 소스입니다. const hashtags = req.body.content.match(/(#[^\s#]+)/g); if (hashtags) { const result = await Promise.all(hashtags.map((v) => Hashtag.findOrCreate({ where: { name: v.slice(1).toLowerCase() }, }))); await post.addHashtags(result.map((v) => v[0])); }
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
Clone을 통해서 새로운 객체를 만들어낼때
Knight knight2 = knight.Clone(); 을 통해서 새로운객체를 만들어내는것은 이해했습니다. 다만 제가 knight2.hp =0을 안하고 디버깅을 했더니 knight2의 hp, attack 값이 기존 만들어두었던 knight의 값으로 자동으로 설정되더군요 (hp=100, attack=10) Clone 함수에서 knight.hp=hp, knight.attack=attack 이라고 지정하면 Knight클래스 내부의 변수 값을 가져오는걸로 이해했는데 public int hp, public int attack 이라고 선언만했지 초기값을 지정해주지 않았습니다. 초기값을 지정해주지 않았는데도 자동으로 값이 채워지는 이유는 무엇인가요?
-
미해결파이썬 웹서비스API 실전 프로젝트 - 돈 버는 디지털마케팅
질문있습니다!!!
혹시 그럼 제 api를 안지우고 구성된걸 압축해서 남들에게 보여줄려고 했을때 남들에게 똑같이 보여지나요? 아니면 사용자의 API가 아니라서 안보여지나요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
postman send누르면 페이지를 찾을 수 없다고 나오네요.. 똑같이 적은거 같은데;
const express = require("express"); const app = express(); const port = 3000; const mongoose = require("mongoose"); const User = require("./models/User"); mongoose.connect("mongodb+srv://huihyeon:1234@cluster0.beyce.mongodb.net/study?retryWrites=true&w=majority",{ useNewUrlParser:true, useUnifiedTopology: true, useCreateIndex:true, useFindAndModify:false }).then(()=>console.log("MongoDB connected...")) .catch(err=>console.log(err)); app.use(express.urlencoded({extended: true})); app.use(express.json()); app.get("/", (req,res)=> res.send("Hello World!")); app.post("/register",(req,res)=>{ const user = new User(req.body); user.save((err,userInfo)=>{ if(err) return res.json({success: false, err}) return res.status(200).json({ success:true }) }) }) app.listen(port, () => console.log("server ON!") )
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
orphanRemoval과 cascade의 관계
안녕하세요 영한님 강의 정말 잘 듣고 있습니다! 다름이 아니라 orphanRemoval과 cascade의 명확한 차이를 공부하던 도중 이해가 가지 않는 것이 있어서 질문 드립니다! 환경은 Spring Boot 2.4.2 입니다. cascade는 엔티티의 상태변화를 전파하는 것이며, orphanRemoval는 연관관계가 끊어진 Entity는 자동으로 삭제하는 것으로 알고 있습니다. 근데 부모에서 orphanRemoval를 true로 설정 후, 컬렉션에서 자식 Entity를 삭제해도 Delete 쿼리가 아닌 update 쿼리가 발생했습니다. 그래서 여러가지 테스트 해보니 CascadeType.ALL 아니면 CascadeType.PERSIST시 orphanRemoval 이 정상적으로 동작하였습니다. 아래 코드에서 Board Entity에서 cascade 옵션을 지우면 update 쿼리가 발생하여 테스트는 실패하며, cascade 옵션을 ALL 또는 PERSIST을 사용하면 delete 쿼리가 발생하여 테스트가 정상적으로 통과합니다. 책의 p.311을 보면 orphanRemoval만 사용한 예제가 있는데 하이버네이트 버전이 올라가면서 변경된 것일까요? @Entity @NoArgsConstructor(access = AccessLevel.PROTECTED) @Getter public class Board { @Id @GeneratedValue private Long id; private String title; private String content; @OneToMany(mappedBy = "board", cascade = CascadeType.PERSIST, orphanRemoval = true) private List<Comment> comments = new ArrayList<>(); @Builder public Board(String title, String content) { this.title = title; this.content = content; } public Board addComment(Comment comment){ this.comments.add(comment); comment.setBoard(this); return this; } public Board removeComment(Comment comment){ this.comments.remove(comment); comment.setBoard(null); return this; } } @Entity @NoArgsConstructor(access = AccessLevel.PROTECTED) @Getter public class Comment { @Id @GeneratedValue private Long id; private String comment; @ManyToOne @Setter private Board board; @Builder public Comment(String comment) { this.comment = comment; } } @DataJpaTest(properties = "classpath:application-test.yml") class BoardTest { @Autowired BoardRepository boardRepository; @Autowired CommentRepository commentRepository; @DisplayName("orphanRemoval 테스트") @Test @Rollback(false) public void orphanRemovalTest(){ Board board = Board.builder().title("1번글").content("1번글 컨텐츠").build(); boardRepository.save(board); Comment comment = Comment.builder().comment("1번글 댓글").build(); board.addComment(comment); commentRepository.save(comment); entityManager.flush(); entityManager.clear(); Board board1 = boardRepository.findById(board.getId()).get(); board1.removeComment(board1.getComments().get(0)); List<Comment> commentAll = commentRepository.findAll(); assertThat(commentAll.size(), is(0)); } }
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
안녕하세요 궁금한거 질문입니다
안녕하세요 궁금한거 질문입니다 혹시 쟤가 작업을 하면서 vs코드에 백엔드를 끄고 킬때마다 로그인한 상태가 계속 유지가 되는데 이게 실제 웹상에 배포를 할때 걱정이 되네여 ㅠㅜ로그아웃을 할경우 토큰하고 토큰 시간이 없이져서 다시 기존 로그인 창이 나오기는 하지만 웹상에서 그 창을 끄거나 저기 지금 작업중에 서버를 끌때에도 아이디가 로그아웃 되게 하는 방법에 대해 참고할 만한 것이 있으면 알려주시면 감사드려요 ㅠㅜ 혹시 쟤가 코드적인 실수를 해서 그런 걸까요??
-
미해결문과생도, 비전공자도, 누구나 배울 수 있는 파이썬(Python)!
.+tab
a.+tab, c.+tab 했는데 아무것도 안 나오네요,,,ㅠㅠ 어떻게 하는 건지 알려주시면 감사하겠습니다.(해당 수업 07:00)
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
event log에 이렇게 나오는데 왜 git 관련 내용이 나오는지 모르겠습니다ㅠㅠ
2.4.2 로 선택하고 빌드했는데 이런 이벤트 로그가 나옵니다. Plugin error: Plugin '.ignore' (version 'null') is not compatible with the current version of the IDE, because it requires build 203 or older but the current build is IC-203.6682.168 검색해봤는데도 잘 모르겠더라구요ㅠㅠ 어떻게 하면 해결할 수 있을까요ㅠㅠ?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
안녕하세요
번외 질문이긴 합니다만, 혹시 스프링API를 모바일에서도 똑같이 적용할수있는건가요?!
-
해결됨따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
proxy 설정에 대해 질문있습니다
안녕하세요 강의 잘 보고 있습니다! 강의 듣다 궁금한 점이 생겨 질문드립니다. Cors 정책이 여기저기서 내 서버에 요청을 보내면 안되기 때문에 쓴다고 하셨는데 강의를 보면 client 쪽에서만 proxy 서버 설정을 마치고 CORS 문제를 해결했습니다. 그런데 보안상의 이유라면 한 쪽에서 일방적으로 설정할게 아니라 양쪽에서 서로 통신을 허용해야 하는거 아닌가 의문이 듭니다. 설명 부탁드립니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
통합테스트 실행시 오류
안녕하세요. 수강을 따라가던 중, 통합 테스트 회원가입 실행시 오류가 뜨는데, 이유를 잘 모르겠습니다ㅠ
-
해결됨모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1
SQL 인젝션 구문 종류 수업에서 stack query 구문에 대한 궁금증
stack query 예시로 나온 SELECT * FROM ask WHERE idx=192;delete from ask--and user_id='hacker' 가 어떤 의미 인지 설명해 주실 수 있나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
수강을 시작하기 전에 한 가지 질문을 드립니다.
안녕하세요 강사님, 이번 강의도 잘 듣겠습니다.이번 강의를 본격적으로 시작하기 전에 질문을 하나 드리려고 합니다. 저는 현재 강사님의 스프링 입문편, 기본편, HTTP 강의를 완강한 상태입니다. 이제부터는 강사님께서 추천해주신 야생형 코스로 JPA 로드맵을 수강하고자 하는데요.이번 강의를 어떤식으로 공부하는게 좋을지 고민입니다. 저는 아직 JPA 기본편을 듣지 않았기 때문에 JPA에 대한 사전지식이 전무합니다. 이런 상황에서 활용편 강의를 수강하게 되면 분명히 막히는 부분이 많이 나오겠지요. 그럴 때마다 그런 부분들에 대한 이해를 하기 위해 노력하면서 들어야 할까요? 아니면 이해가 안 되는 부분은 그냥 따라치기만 하면서 넘어가고 나중에 기본편 학습 후 다시 돌아왔을때 철저한 이해를 목표로 수강하는게 좋을까요? ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 추가적으로, JPA라는 기술에 대한 질문을 하나 더 드리고 싶습니다. 흔히들 말하는 국내 대표 IT 서비스 기업 "네카라쿠배" 같은 곳에서는 JPA 기술이 활발하게 사용될 것이라는 생각이 듭니다. 그러나 취업을 준비하는 취준생 입장에서 이러한 탑급 IT 기업만을 목표로 하여 JPA에만 집중하는 것이 맞는지에 대한 고민이 있습니다. 갈 수만 있다면 자체 IT 서비스를 운영하는 저런 거대 기업들에 가는 것이 좋기야 하겠지만.. 국내 대형 SI 기업들, 그 외 대기업 계열사들, 다른 중견기업들 등 최대한 포괄적으로 준비하여 "취업 1승"에 대한 성공 확률을 최대한 높이고 싶은 것이 불안한 취준생의 마음입니다. 이러한 측면에서 보았을 때, 최신 트렌드인 JPA만 공부하기 보다는 아직 그렇지 못한 기업들을 함께 고려하여 MyBatis 등의 기술도 준비해서 프로젝트를 진행해보는게 맞는 것인가? 하는 생각이 듭니다. 질문의 핵심은 이것입니다. "네카라쿠배 등의 IT 기업 외에 다른 곳들에서 JPA를 활발하게 사용하나요? 그렇지 않다면 다른 곳들에서 가장 활발히 사용되는 기술은 무엇인가요?" 물론 강사님께서 모든 기업에 근무하셨던 것은 아니니 전부 빠삭하게 꿰차고 답변을 주시기는 어렵겠지만.. 그래도 현직 베테랑 개발자의 입장에서 저같은 취준생에게 조언을 해주실 수 있는 부분이 있지 않을까 싶어서 질문을 남깁니다. ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 부디 조언을 부탁드립니다. 감사합니다.
-
미해결비전공자를 위한 개발자 취업 실전 가이드
이력서 / 포트폴리오 피드백 문의
안녕하세요 저는 현재 선생님의 강의를 듣고 취업 준비 중인 예비 개발자입니다. 혹시 실례가 되지 않는다면 이력서와 포트폴리오에 대한 피드백을 요청드릴 수 있을까요? 1:1 오픈 채팅방으로 연락 드렸으나 현재 운영중이지 않는 듯하여 질문드립니다. 감사합니다. 새해 복 많이 받으세요!
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
선생님 질문 있습니다
좋은 강의 너무 잘 듣고 있습니다. 질문이 있는데요 저는 O(n)에서 n이 대략 1억일때 1초 이렇게 생각하고 문제푸는데 이게 맞나요 ? 인터넷에서 얻은 내용이라 확인차 여쭤봅니다 ! 그리고 보통 제한시간 1초가 걸려있는 문제들은 대부분 주어진 n의 범위가 이중for문을 사용할시에 1초를 초과하도록 주어지는 것 같아요. 그래서 이중for문 말고 단일for문을 사용해 문제를 해결하도록 하는 것 같았습니다. 이 문제에서는 n이 200,000 이라고 가정할 때, 𝑛n 이 계산하면이 1억보다 작기 때문에 제한시간 내에 해결되는 것이 맞을까요? 5
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
이번 강의 전반에 대한 질문을 드리고 싶습니다.
안녕하세요 강사님, 드디어 강사님의 세 번째 강의를 완강했네요. 이번 강의를 들어오며 내내 가지고 있던 한 가지 궁금증에 대한 질문을 드리고자 합니다. 이 강의의 목적은 "실제 개발에서 HTTP기술을 직접 다루는 능력 향상"이 아니라 "앞으로 진행될 웹 기술에 대한 학습에 있어서 좀 더 원할한 이해를 돕기 위함" 인건가요? 이전 강의(입문, 기본편)들은 스프링이 제공하는 기술들을 "실제 개발 환경에서 어떻게 사용하는지" 구체적인 상황을 코드로 보여주는 "실습을 기반으로 이론에 대한 이해를 돕는 강의"였다고 생각합니다. 그래서 이번 강의 역시 실제 웹 개발 환경에서 HTTP 통신 기술들을 직접 다루는 실습으로 구성된 강의일 것이라고 생각했습니다. 물론 어떤 HTTP 메서드를 사용해야 하는지, API 경로를 설계하는 방식 등은 실제 개발 환경에서 이렇게 하면 된다! 라는 방향성을 충분히 제시해주었지만 그 외의 부분에서는 살짝 물음표가 있습니다. HTTP 헤더와 바디를 다루는 내용들은 분명히 부족한 제 HTTP 관련 지식을 채워주는데는 도움이 되긴 했으나 해당 부분 강의를 들으면서 계속 들었던 생각은 "그래서 이걸 어떻게 쓴다는거지?" 였습니다. 마치 자습서를 쭉 읽어주시는 듯한 느낌을 받기도 했고요. (기술에 대한 용례를 들어주시기는 했으나 그것을 "어떻게" 하는 것인지에 대한 의문이 계속남았습니다. ex : 이 상황에서는 헤더에 이 정보를 넣어서 보내면 된다고? 그래, 그건 알겠어. 그래서 그건 어떻게 하는건데?) 비슷한 쪽으로 다른 분들이 달아놓으신 질문들을 읽어보면 강사님의 대부분의 답변은 "브라우저 or 프레임워크에서 자동으로 제공해준다." 정도의 내용이었던 것으로 기억합니다. 그렇다면 실제 개발 환경에서는 백엔드 개발자들이 HTTP 헤더에 넣어 클라이언트에게 보낼 내용들을 직접 주입한다던가 하는 HTTP 기술을 "직접적으로" 다루는 그런 일들은 벌어지지 않는 것인가요? 만약 그렇다면, 이번 강의는 그냥 "아 이런 게 있구나. 이건 이런 기능이구나." 하는 정도의 가벼운 이해까지만 성취하면 이번 강의의 학습이 적절하게 매듭지어진 것일까요? 어느정도 수준으로 학습을 마쳐야 강의 제작 당시에 강사님께서 의도하신 학습 성취를 이루는 것인지 궁금합니다. 저는 이제 JPA 로드맵 쪽으로 넘어가보려고 합니다. 실제 프로젝트 역량을 쌓기 위한 본격적인 시작이 되지 않을까 싶어 가장 기대가 되네요. 취준 생활에 큰 도움이 되는 강의를 만들어주셔서 다시 한 번 감사드리고 다음 강의도 잘 듣겠습니다. 감사합니다 ^^