묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
리소스가 대체가 되어버린경우
같은사용자가 get으로 데이터를 요청하고 같은사용자가 put으로 데이터를 변경하고 같은사용자가 다시 get으로 요청하면 멱등이 아니지 않나요..?
-
미해결홍정모의 따라하며 배우는 C++
int *& ptr_ref
void function_ptr_ref(int*& ptr_ref) { cout << *ptr_ref << endl; *ptr_ref = 3; } Q1: *& 써야하는 이유 있나요? Q2:int*& ptr_ref 와 int* ptr_ref 두 문법상 차이가 있나요? Q3: 값을 함수 리턴이아니라 바로 포인터로 변수에 전달하고 싶을 때 쓰는건가요? Q4. void function_ptr_ref(int*ptr_ref) { cout << *ptr_ref << endl; *ptr_ref = 3; } 이렇게 그냥 포인터로 매개변수를 사용하는 것과 다른 점 이 있나요?? ㅠㅠㅠㅠㅠ 잘모르겠어요 main함수의 변수에 영향을 줄 수 있는건 똑같은데용 ㅠ
-
미해결웹 개발자와 정보보안 입문자가 꼭 알아야 할 웹 해킹 & 시큐어 코딩
select * from member where id= '1' or '1'='1' --
SQL 인젝션 관련하여 질문드립니다. 제목처럼 -- 나 # 등의 주석처리로 로그인을 우회할 수 있는 경우는 insequre_website 의 login.php 에서 로그인을 처리하는 로직 (하단)처럼 id값과 pw 값을 동시에 받아서 query 로 넘기는 경우만 해당하는거죠? $query = "select * from members where id='{$id}' and password='{$password}'"; 즉, 하단의 로직처럼 일단 id가 있는지 확인하고, id가 있을 경우 pw값 일치여부를 보는 경우엔 주석처리로 로그인 우회가 안되는게 맞는거죠? 감사합니다! <?php session_start(); $connect = mysqli_connect("localhost", "", "", ") or die("fail"); //입력 받은 id와 password $id=$_GET['id']; $pw=$_GET['pw']; //아이디가 있는지 검사 $query = "select * from member where id='$id'"; $result = $connect->query($query); //아이디가 있다면 비밀번호 검사 if(mysqli_num_rows($result)==1) { $row=mysqli_fetch_assoc($result); //비밀번호가 맞다면 세션 생성 if($row['pw']==$pw){ $_SESSION['userid']=$id; if(isset($_SESSION['userid'])){ ?> <script> alert("로그인 되었습니다."); location.replace("./index.php"); </script> <?php } else{ echo "session fail"; } } else { ?> <script> alert("아이디 혹은 비밀번호가 잘못되었습니다."); history.back(); </script> <?php } 출처: https://chamggae.tistory.com/83 [silqia 공부 블로그]
-
미해결컴퓨터, 웹, 코딩, 프로그래밍의 시작 - Web1
github 옵션 설정
Github pages 에서 source 아래에 none 눌러서 master branch를 선택하려고 했는데 선택사항이 none , main 두가지만 나오고 master branch는 나오지않습니다 어떻게 진행하는게 좋을까요 ?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
텐서플로우 다운그레이드 이유가 궁금합니다
안녕하세요 강사님. 이번에 수업을 신청한 한 학생입니다. 다름아니라 이번 강의에서 tensorflow와 keras 버전을 downgrade 시키셨는데, 혹시 그이유를 알 수 있을 까요?? 강의가 출시되기 전에 tensorflow2.0이 출시된것으로 알고 있는데, 왜 tensorflow1.13버전을 사용하는지 알고 싶습니다. 현재는 거의 대부분의 tensorflow유저들은 2.0버전을 사용하지 않나요? 더 빠르게 변하고 발전하는 앞으로의 관점에서 tensorflow2.0버전을 사용하여 공부하는 것이 좋지 않나..싶은 생각입니다.
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
PQ 말고 그냥 queue로 하면 틀린것인가요??
안녕하세요 선생님 저는 이 문제에서 왼쪽과 위쪽 우선순위를 그냥 for loop 돌 때 dx dy 순서를 그렇게 짜면 되겠다 해서 밑에 코드처럼 짰습니다 저렇게 되면 답이 맞지 않는 것인가요?? (맥을 이용중이라 채점 프로그램을 쓰지 못하고 있네요 ㅠㅠ) #include <stdio.h> #include <vector> #include <queue> using namespace std; int map[30][30]; int time=0, size=2, n, cnt=0; int dx[4]={0,-1,1,0}; int dy[4]={-1,0,0,1}; struct Loc{ int x; int y; Loc(int a, int b){ x=a; y=b; } }; queue<Loc> Q; int main(){ scanf("%d",&n); for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ scanf("%d",&map[i][j]); if(map[i][j]==9) { Q.push(Loc(i,j)); map[i][j]=0; } } } while(!Q.empty()){ Loc tmp = Q.front(); Q.pop(); for(int i=0;i<4;i++){ int xx = tmp.x+dx[i]; int yy = tmp.y+dy[i]; if(xx>=1 && xx<= n && yy>=1 && yy<=n && map[xx][yy]<=size && map[xx][yy]!=0){ Q.push(Loc(xx,yy)); cnt++; if(map[xx][yy]<size){ if(size==cnt) size+1; map[xx][yy]=0; } } } } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(map[i][j]!=0) printf("%no"); } } printf("%d",&cnt); return 0; }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
안녕하세요 강사님
안녕하세요 강사님 질문있습니다. 강의 목록 중에 "실전! 스프링 웹 MVC 출시 예정 - 2월" 인 부분이 있는데 언제 나오는지 알 수 있을까요??
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
templates 새로고침
static 에 있는 index.html 은 새로고침이 되는데 templates 에 있는 값은 새로고침이 안됩니다 서버를 다시 실행시켜도..
-
풀스택을 위한 탄탄한 프런트엔드 부트캠프 (HTML, CSS, 바닐라 자바스크립트 + ES6) [풀스택 Part2]
선생님 질문 있습니다!
삭제된 글입니다
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
Mock server UI 변경에 따른 문의
postman UI가 변동되었는데, 강사님이 만들어주신 영상과는 달라서 찾기가 어려웠습니다. - 이 부분에 대한 내용 업데이트가 필요할 것 같습니다. - 제가 진행한 부분이 맞나요? (이미지 1, 2 참고) - 근데 url 접속하고 마지막에 /products를 입력하거나 마지막 과제인 Index.html에 해당 코드를 삽입해도 강사님처럼 결과값이 아무것도 리턴되지 않습니다. (이미지 3, 4, 5 참고, console에도 아무것도 찍히지 않습니다)
-
해결됨트렐로 개발로 배우는 Vuejs, Vuex, Vue-Router 프론트엔드 실전 기술
복습 중 질문드립니다 ㅠ
안녕하세요 다시 한번 복습중에 질문드립니다.. 드래그하면 pos값이 변경돼서 데이터에는 잘 반영이 되는데 html에 data-pos속성의 값에는 변경되지 않아서 card를 드래그로 이동하고 drop시 연산이 일어날때는 html에 있는 date-pos 속성(고정되어있는)의 값으로 더하거나 곱하거나 해서 계산이 맞지않습니다 ㅠ 강사님 코드를 참고해보긴 했는데 강사님도 data-pos="data.pos" 이런식으로 하시더라구요.. 제가 놓치고 있는 부분이 있을까요..? 질문드립니다! <li class="list_item" v-for="(row, index) in rowData" v-bind:key="index"> <div :data-idx="row.idx" :data-pos="row.pos"> <input type="text" :value="row.subject" readonly> {{row.idx}} <button type="button" class="memo_delete" @click="deleteList(row.idx)">×</button> </div> ... ... ... const targetList = { idx: el.firstElementChild.dataset.idx*1, pos: el.firstElementChild.dataset.pos*1 }; // 순서 비교는 배열의 index값으로 할꺼임 Array.from(document.querySelectorAll('#memoList .list_item')).forEach((el, idx, arr) => { // 배열의 index로 target의 위치 확인 const cardId = el.firstElementChild.dataset.idx; let prevList = null; let nextList = null; if(cardId == targetList.idx) { prevList = idx > 0 ? { idx: arr[idx-1].firstElementChild.dataset.idx*1, pos: arr[idx-1].firstElementChild.dataset.pos*1 } : null; nextList = idx < arr.length-1 ? { idx: arr[idx+1].firstElementChild.dataset.idx*1, pos: arr[idx+1].firstElementChild.dataset.pos*1 } : null; if(!prevList && nextList) { targetList.pos = nextList.pos / 2; // 첫 번째 자리 console.log('첫 번째 자리'); } else if(!nextList && prevList) { targetList.pos = prevList.pos * 2; //마지막 자리 console.log('마지막 자리'); } else { targetList.pos = (nextList.pos + prevList.pos) / 2; //중간 자리 console.log('중간 자리 ===',prevList.pos,'====',nextList.pos, arr[idx+1]); } vm.$http({ method: 'PUT', url: '/memo/update', data: { pos: targetList.pos, idx: targetList.idx } }) } })
-
미해결스프링 핵심 원리 - 기본편
멀티스레드 환경에서 request scope
도 똑같이 적용이 가능하나요? 로컬쓰레드로 로거를 구현하면 멀티스레드 구현이 불가능해진다는 단점이있는데, request scope방식은 멀티스레드 safe한지 궁금하네요 강의 잘 듣고 있습니다 감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Setter 대신 생성자를 사용하는 방법에 대해 궁금합니다
안녕하세요 영한님. 프로젝트 내에서 OrderService 에서 Order를 생성하려고 합니다. 강의 내용에서는 @Setter를 사용하셔서 하셨는데 중간 Order.java 내에서 연관관계 메서드를 만들어 놓은 부분 중 setter가 아닌 생성자로 넣을 수 있는 방법이 어떤게 있을지 고민해보았는데 도통 생각이 나지 않아 문의드려봅니다! OrderService.java @Transactionalpublic Long order(Long memberId, Long itemId, int count) { //엔터티 조회 Member member = memberRepository.findOne(memberId); Item item = itemRepository.findOne(itemId); //배송정보 생성 Delivery delivery = new Delivery(); delivery.setAddress(member.getAddress()); //주문상품 생성 OrderItem orderItem = OrderItem.createOrderItem(item, item.getPrice(), count); //주문 생성 Order order = Order.createOrder(member, delivery, orderItem); //주문 저장 orderRepository.save(order); return order.getId();} Order.java public static Order createOrder(Member member, Delivery delivery, OrderItem... orderItems) { Order order = new Order(); order.setMember(member); order.setDelivery(delivery); for (OrderItem orderItem : orderItems) { order.addOrderItem(orderItem); } order.setStatus(OrderStatus.ORDER); order.setOrderDate(LocalDateTime.now()); return order;} 같으 클래스 내에 public void addOrderItem(OrderItem orderItem) { orderItems.add(orderItem); orderItem.setOrder((this)); /* OrderItem orderItem2 = new OrderItem(this)*/ } 저 주석 부분 처럼 orderItem 객체를 새로 생성해서 사용하면 다른것으로 판별이 되어 DB에 Order가 들어가지 않는것 같은데... 어떤 방법이 제일 좋을까요? 아니면 그냥 OrderItem 이 엔터티에는 그냥 Setter를 사용하는게 합리적일까요?? 감사합니다!
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
GMM에서 최적의 n_component 도출 방법 문의
안녕하세요. 강사님. K-means에서는 최적의 클러스터 개수를 구하기 위해 elbow method나 강의에서 소개해주신 실루엣 계수를 사용하는데(물론 이 방법들로 최적의 클러스터 개수를 반드시 도출한다는 보장은 없지만), GMM에서는 최적의 클러스터 개수를(n_component) 구하기 위해 어떻게 해야하나요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
srand()질문
다른분이 먼저하신 질문에서 추가로 궁금한게있는데main함수안에서 srand(time(0))으로 초기화시키면딱 time(0)값이 srand()안으로 들어가서 1번 초기화가 된 상태에서그걸 rand()로 while 문 안에서 뽑아쓰는거고while문 안에 srand(time(0))이 있으면실행될 때 1번 초기화 시켜주고 다시 초기화 시켜줄 때time()이게 컴퓨터내부에서 계속 숫자가 올라가는데시드값이 계속 바뀌는게 아닌가요?오히려 srand()를 while밖에서 초기화 시키는게 초기화가 1번만되서 랜덤성이 더 없다고 생각되는데이 의문점이 해소가 안됩니다.
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
예측값
예측값을 추출하지않았다는 뜻이 될것같아요 성능이 좋은 모델을 만든 후에, 그 모델로 새로운 미지의? 데이터를 예측해보고 그 예측값을 확인하는 것(예측값을 추출해보는것?)이 머신러닝의 목적이라고 이해를 했는데.. 실습예제를 통해서는 모델의 성능평가까지만 나와있어 여쭤보았습니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
질문드립니다.
테스트 해보면서 버그를 발견했는데 마우스를 꾹 누르고 이동할때 몬스터의 콜라이더가 Raycast에 hit되어서, destPos가 몬스터의 콜라이더가 되어버려 몬스터의 콜라이더를 타고 올라가는 것 처럼 보이는 현상이 발생해서 코드를 수정해봤습니다. 아래와 같이 처리하는게 좋은 방법일까요? - 수정 전 - case Define.MouseEvent.Press: { if (_lockTarget == null && raycastHit) _destPos = hit.point; } break; - 수정 후 - case Define.MouseEvent.Press: if (_lockTarget == null && raycastHit) { if (hit.collider.gameObject.layer == (int)Define.Layer.Monster) _destPos = hit.collider.transform.position; else _destPos = hit.point; } break;
-
미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
맨 마지막 줄 print(err)이 어떻게 raise 를 불러낸 것인가요?
질문이 있습니다!! except BigNumberError: 만 있었는데 마지막에 as err를 추가 하고, 맨 마지막 줄 print(err)을 넣어주셨는데요. 어떻게 print(err)가 raise BigNumberError("입력값 : {0}, {1}".format(num1, num2))를 부른 것인가요? raise BigNumberError()은 물론이고 try: 안의 코드 중 그 어떤 것도 err 와 관련성 있는 것을 모르겠습니다. class BigNumberError(Exception): def __init__(self, msg): self.msg = msg def __str__(self): return self.msg try: print("한 자리 숫자 나누기 전용 계산기 입니다.") num1 = int(input("첫 번째 숫자를 입력하세요 : ")) num2 = int(input("두 번째 숫자를 입력하세요 : ")) if num1 >= 10 or num2 >= 10: raise BigNumberError("입력값 : {0}, {1}".format(num1, num2)) print("{0} / {1} = {2}".format(num1, num2, int(num1/num2))) except ValueError: print("잘못된 값을 입력하였습니다. 한 자리 숫자만 입력하세요.") except BigNumberError as err: print("에러가 발생하였습니다. 한 자리 숫자만 입력하세요.") print(err)
-
미해결초보자도 간단히 단숨에 배우는 파이썬 프로그래밍
__init__()함수 여러번 사용과 자바와의 차이점
안녕하세요. __init__ 함수와 자바와의 차이점에 대해 질문이 있습니다. 1. 파이썬에서 class를 생성할 때 __init__함수를 한번에 여러번 사용할 수도 있나요? 2. 자바에서는 예를들어 클래스(ReaderBook)를 생성하고 객체를 생성할 때 ReaderBook member1 = new ReaderBook(); 이라는 방식으로 생성하는데 이 방식이 파이썬에서 선생님이 self를 이용하여 만든 두번째 방식과 동일한건가요? 자바에서의 인스턴스변수와 약간 헷갈립니다. 감사합니다.
-
미해결리액트로 나만의 블로그 만들기(MERN Stack)
User Schema보단 table이 더 맞지 않나요?
Schema라는 큰 범주 안에 user라는 테이블이 있고, post라는 테이블이 있고.. comment라는 테이블이 있는게 아닌가요? 제 생각에는 user,comment,post,category를 다 포함한 model이 스키마라고 생각이 됩니다..