[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 찾아도 안나오는데 CamelCaseToUnderscoresNamingStrategy 이걸로 바뀐 것 같네요.
안녕하세요. 강의 잘 보고 있습니다! 다른 분 질문에 궁금한 것이 해소되지 않아 질문드립니다. https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-JPA-%ED%99%9C%EC%9A%A9-1&unitId=24297&category=questionDetail&q=30892&tab=community 정적 팩토리 메소드 사용 이유중에 static 메모리에 올라가기때문에 새로운 객체를 생성하지 않는 장점이 있는 거라고 알고 있습니다. 이 예제의 경우 static을 빼도 JPA가 엔티티로 관리하면서 어차피 사용할 수 있는 부분아닌가요..? 라는 질문에서 강사님께서는 static을 빼보면 이해될 거라고 답변하셨습니다. 제가 생각하기로는 정적 팩토리 메서드 안에서 생성자를 통해 인스턴스를 생성하는 것은 똑같아 보이고, 호출할 때 new가 아닌 Order.createOrder()로 호출하는 것 외에는 차이점을 못 느꼈습니다. 조금 더 상세한 가르침을 주시면 감사하겠습니다!
산술연산자 영상 8분40초에서 scanf_s("%d",&x); 에 대해 7/2를 입력하셨는데 그 후에 결과를 보니 7로만 인식이 되어 7/3=2, 7%3=1 의 결과가 나온 것을 확인하였습니다. 혹시 scanf_s가 7/2를 3으로 인식하지 않고 7로 인식하는 이유가 무엇인가요? 슬래시(/)가 scanf_s에서는 인식하지 않는것인가요?
위 문제와 같이 scanf_s를 연속으로 사용할 때 궁금한 점이 있습니다. 먼저 첫번째 입력으로 1을 입력하면 버퍼에 [1][\n] 이렇게 입력되고 1이 빠져나가면 [\n]이 버퍼에 남게 되는 걸로 이해하고 있습니다. 그렇다면 두번째 입력 때 [\n] [2] [\n] 이렇게 입력이 되는건가요? 또한 만일 엔터가 맨 앞에 있다면 왜 scanf_s를 연속으로 쓸 때는 스킵이 안되는지와 get_s와 같이 쓰면 스킵이 되는지가 궁금합니다..!
안녕하세요, 김영한 님. Querydsl SQLExpressions에 listagg 관련하여 질문이 있습니다. 현재 Projections.constructoer 방식으로 조회한 결과를 Dto로 받고있는데요, SQLExpressions.listagg(컬럼, ",").withinGroup().orderBy(컬럼).getValue().as("listaggs") 로 select후 Dto에서 String으로 못받는데 String으로 받으려면 어떻게 해야 될까요? 방법이 없는걸까요? 이미 같은 질문을 남긴 글이 있는데 미해결 상태라 다시 한번 글 올려 봅니다. 이방법을 사용하는 이유는 A 테이블, B 테이블이 있는데 1:N의 관계 입니다) A테이블 조회시 Response에는 B테이블의 컬럼 하나도 추가로 목록에 보여줘야 하는데 그럴때 B테이블의 해당 컬럼의 값이 다른 데이터가 2개 이상일시 A정보가 2건이 나오게 되서 (페이징 처리시에도 총 카운트와 페이징 처리가 제대로 되지 않습니다.) 한 row로 보여지게 하기 위해 사용하려 Querydsl SQLExpressions에 listagg 사용하려는데, String으로 받을수가 없더군요... 혹 Querydsl SQLExpressions에 listagg 아니더라도 다른 방법이 있을까요?
널널한 개발자님! 항상 좋은 강의 감사드립니다ㅎㅎ 다름아니라 섹션 9의 문자, 정수 입력과 개행문자 제거 부분에서 풀리지 않는 부분이 있어 이렇게 질문을 올리게 되었습니다. 강의 중 24:28 쯤, "퍼올려도 N이 남는다"라는 부분 이 이해가 잘 가지 않는데요! 제가 이해한 바로는 scanf_s 함수에서 %d\n 의 형태로 데이터를 받기 때문에 입력 버퍼 내부에 개행문자도 함께 삭제됐으므로 다음 개행 문자를 입력받을 때까지 사용자 입력을 계속 요청하는 것으로 알고 있었는데, 엔터를 쳐도 개행문자를 인식했음에도 계속해서 개행문자가 남는 이유 에 대해서 알고 싶습니다! 다시한번 감사드리고, 추운 날씨 몸 건강도 잘 챙기시기를 바라겠습니다. 화이팅입니다!
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
현재 코드에서는 name을 기준으로 delete를 하는데요, findByName(name)을 이용한 코드에서 DB 안에 같은 이름의 회원이 2명 이상인 경우엔 오류가 생깁니다. 그 이유가 find는 return 개수가 1건이기 때문에 rollback 된다고 생각했습니다. 이 버그를 수정하기 위해서 deleteUser의 파라미터는 Long id 로 수정했는데, 또 안 되더라고요...? findAll을 쓰면 같은 이름을 가진 모든 회원이 삭제될 것 같고... 어떻게 하면 동명이인의 회원 중에서 내가 원하는 한 회원만 삭제할 수 있나요? + 추가 방금 다른 학생분의 질문과 답변을 읽었습니다. 같은 내용의 질문인 것 같네요! 그러면 파라미터를 Long id 로 변경하되, 현재 실습 중인 UI에서도 코드를 수정해야하는 부분이 있기에 삭제가 안 되는 게 맞다고 이해하면 될까요?
항상 좋은 수업 감사합니다. 강의자료 관련해서 질문이 있습니다. 강의를 듣다보니 강의자료를 사전에 작성해보고 수업듣고 싶은데 강의자료를 못찾겠습니다ㅠㅠ 이게 저만 못찾는 건지 커리큘럼 옆에 구름모양으로 있다는데 안보이네요. 원래 강의자료가 없는건지 제가 못찾는 건지 궁금합니다. 백문이 불여일타라고 연습해보고 싶어요!!!
16:50을 보면 실수에는 unsigned가 없기 때문에 무조건 부호 비트가 들어간다는 설명이 있습니다. unsigned가 양수를 나타내는 것, signed가 음수를 나타내는 것으로 알고 있습니다. 그렇다면 음수인 1이 부호비트에 들어가야 하는 것 아닌가요? 부호비트에 0이 들어가는 건 1. 2의 보수법 표현 때문 아니면 unsigned int에 대한 자료형이 없을 뿐 unsigned int에 대해 저런 식으로 표기하기 때문 1,2 중 어떤 case인지, 아님 기타의 case 때문인지 궁금합니다.
안녕하세요 수업 중에 4:36 부분에서 궁금한 내용이 있어서 질문드립니다. 위키피디아에서 컴마 연산자를 첫 번째 피연산자를 평가한 후 그 결과를 버린 다음, 두 번째 피연산자를 평가하고 그 결과를 반환하는 이항 연산자라고 정의하는 것을 확인했습니다. https://en.wikipedia.org/wiki/Comma_operator int i, j; i = 1; printf("%d", (i++, j = 3)); // 결과 : 3 그럼 위 코드에서 반환하는 결과값은 (i++, j = 3)의 결과값은 변수 j인가요 아니면 상수 리터럴 3인가요...???
안녕하세요 수업을 듣다가 의문점이 생겨 글을 올립니다. 제가 이해한 바로는 고정너비 정수를 이용하는 이유가 C언어 표준에서는 자료형마다 최소 기준만을 설정해놓았기 때문에, 만약 시스템(컴파일러 등등)이 달라진다면 int 나 char와 같은 자료형이 차지하는 메모리도 달라질 수 있기 때문에, 이식성을 높이기 위해서int32_t와 같은 자료형을 사용한다는 것입니다. 하지만 stdint.h를 보면 typedef int int32_t; 처럼 int의 별칭을 int32_t로 정하고 있습니다. 이러한 상황에서는 int를 32bit로 사용하는 시스템에서는 int32_t가 32bit를 사용하겠지만, 만약에 int를 64bit로 사용하는 시스템이 있다고 가정을 한다면(C 표준은 bit의 최소기준만 설정해놓았기 때문), int32_t는 int의 별칭(alias)이기 때문에 결국은 int32_t도 64bit를 사용하는 것 아닌가요? 이렇게 된다면 int32_t는 더 이상 고정되어있지 않고 시스템이 바뀔 때마다 달라지는 것 아닌가요? 궁금합니다..
왼쪽 빨간 박스는 "메모리 주소", 오른쪽 노란색 박스는 "Data" 메모리 주소는 64bit(8byte) CPU 체계이므로 4bit씩 16개 묶음으로 표현했고, 각 행마다 있는 메모리 주소에 들어있는 data 즉, 값이 오른쪽에 있는 거구요. 그 오른쪽에 있는 데이터가 16진수(8bit)로 16개가 나열돼 있습니다. 그럼 총 128bit = 16 byte 여기서 이해가 안 됩니다. ㅠㅠ 64bit 메모리 주소는 4bit * 16 = 64(=8byte) 각 메모리 주소의 데이터는 8bit(1byte) * 16 = 128(=16byte) 16개로 나열돼 있는 건 동일한데 왜 bit 수가 다른 거죠? 그리고 데이터에 16진수로 16개 끊은 게 어떤 의미일까요? 16진수 1개씩 끊어서 총 16개를 각각 하나의 의미로 파악한 후, 전체를 하나의 데이터로 봐야 하는 건가요? 64bit 메모리 주소의 데이터는 128bit이다. 이렇게 그냥 암기해야 하나요?
안녕하세요. 강의 잘 보고 있습니다. 의문이 생겨 질문을 남깁니다. 트랜잭션 전파속성을 REQUIRES_NEW로 해서 새로 생성한 이유가 있을까요? 그냥 REQUIRED로 하면 안되나요?? 강의 내에서 데이터소스를 분리하는 것을 추천해주셨는데, 커넥션 풀 사이즈를 늘리면 안되나요?? 감사합니다.
int main() { char* buffer=NULL; fgets(buffer, 10, stdin); printf("%s", buffer); return 0; } int main() { char buffer[10]; fgets(buffer, 10, stdin); printf("%s", buffer); return 0; } 밑에 코드는 출력까지 문제 없이 되는데 위에 코드는 출력이 되지 않습니다. 왜 이런 현상이 발생하는지 알고 싶습니다.