묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
다른 변수에 같은 값을 집어넣으면 오브젝트의 값은 같아야하자나요 근데 이게 이상해요
이때는 id 값이 같다고 뜨는데 이때는 다르다고 뜨네요 그 이유가 뭘까요? 변수에 좀 더 큰 값을 넣어서도 해봤는데 그때도 다르다고 떳는데 클 수록 id값을 달라지는 느낌이네요
-
미해결WEB2 - Node.js
senitize를 해도 script 태그는 사라지는데 h1은 아무것도 안해도 살아있습니다.
var sanitizeHtml = require('sanitize-html'); //이걸로 설정해주고 fs.readdir('./data', function(error,files){ var filteredPath = path.parse(queryData.id).base; fs.readFile(`data/${filteredPath}`,'utf8',function(err,description) { var title = queryData.id; var sanitizedTitle = sanitizeHtml(title); var sanitizedDescription = sanitizeHtml(description); var list = template.list(files); var html = template.html(sanitizedTitle, list, `<h2>${sanitizedTitle}</h2>${sanitizedDescription}`, `<a href="/create">create</a> <a href="/update?id=${sanitizedTitle}">update</a> <form action="delete_process" method="post"> <input type="hidden" name="id" value="${sanitizedTitle}"> <input type="submit" value="delete"> </form>` ); response.writeHead(200); response.end(html); }); }); //이렇게 했는데 creat든 update든 h1태그가 살아있습니다. 허용도 안했는데... 뭐가 문제일지 알수있을까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
분기문
분기문 강의 28분쯤에 switch문을 어셈블리어로 확인 하는 부분이 있습니다. switch (input) 00315E8D mov eax,dword ptr [input] ---1번 00315E90 mov dword ptr [ebp-118h],eax ---2번 00315E96 cmp dword ptr [ebp-118h],0 --3번 1번 : 어셈블리어를 확인해보면 input을 eax 레지스터에 복사해 넣고 2번 : eax에 있는 값을(input 값이겠지요) 스택안에 넣는 모습[ebp-118h]을 확인할 수 있습니다. VS에서 switch 안에 있는 input을 눌러보면 switch 밖에 있는 int input = ROCK; 의 input과 동일하다는 의미로 같이 밑줄(? 그 같이 파란색으로 하이라이트)을 그어주는데 어셈블리어를 보면 switch안의 input이 아예 스택 메모리에 따로 잡히는 것 같습니다. 이건 왜 그런건가요? switch문 밖의 input과 switch(input) 안의 input은 서로 다른 input 인건가요? switch(input2)라고 하면 오류가 나던데 그렇다면 같은 input 아닌가요??? 같다면 메모리를 같이 써야 하는것 아닌지 궁금합니다.
-
미해결단 두 장의 문서로 데이터 분석과 시각화 뽀개기
강좌에서 나오는 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를 활발하게 사용하나요? 그렇지 않다면 다른 곳들에서 가장 활발히 사용되는 기술은 무엇인가요?" 물론 강사님께서 모든 기업에 근무하셨던 것은 아니니 전부 빠삭하게 꿰차고 답변을 주시기는 어렵겠지만.. 그래도 현직 베테랑 개발자의 입장에서 저같은 취준생에게 조언을 해주실 수 있는 부분이 있지 않을까 싶어서 질문을 남깁니다. ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 부디 조언을 부탁드립니다. 감사합니다.