안녕하세요 선생님 ! 항상 좋은 강의 감사합니다. 이번 보석 상자 강의도 너무 잘 들었는데요, 처음에 혼자 생각해보다가 못 풀고 강의 보고 다시 정리해서 풀어봤습니다. 그런데 첫 제출에서 DivisionByZero 에러가 나서 99% 정도에서 틀렸다고 나오더라고요 탐색을 하는 부분에서 mid가 0일 때 return false를 줘서 두 번째 제출에 성공하긴 했는데, 첫 코드도 선생님 코드와 거의 비슷한 것으로 보여서요 어떤 부분이 잘못됐는지 궁금합니다 ! DivisionByZero 난 코드: https://www.acmicpc.net/source/77479342 정답 코드: https://www.acmicpc.net/source/77479392 감사합니다 !!!!!!
package jpabook.jpashop.domain.repository; import jakarta.persistence.Entity; import jakarta.persistence.EntityManager; import jpabook.jpashop.domain.item.Item; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; import java.util.List; @Repository @RequiredArgsConstructor public class ItemRepository { private final EntityManager em; public void save(Item item) { if (item.getId() == null) { // 이 부분입니다. em.persist(item); } else { em.merge(item); } } public Item findOne(Long id) { return em.find(Item.class, id); } public List<Item> findAll() { return em.createQuery("select i from Item i",Item.class).getResultList(); } } 위의 코드에서 item.getId() == null을 왜 사용하는건가요?? MemberRepository 클래스와 코드 형식이 거의 비슷한데, MemberRepository 클래스에서는 member.getId() == null 코드를 사용하지 않아서 질문드립니다. 그리고 item은 처음에 id가 없다는 말도 이해안되어서 질문드립니다. 감사합니다.
Theorem 6이 Ax = b가 해를 가지고 있고, p를 해라고 했을 때, 그 해의 집합이 w = p + vh을 만족한다라고 하셨습니다. 근데 해가 p인데 또 그 해가 w 이다라는게 이해가 가지 않는데요. solution과 solution set이 다른 개념이라서 그런건가요? 해가 여러 개인데 그중 해 하나를 알고 있으면 다른 해들도 알 수 있다는 뜻인가요?
안녕하세요, 궁금한 내용이 생겨 기존에 질문들을 살펴보고 제가 이해한 것이 맞는지 확인차 질문드립니다. redis의 싱글스레드 특성으로 100개 발급에 대한 race condition 해결 --> 그러나 insert 시 DB 처리량에 부하가 발생할 수 있음 kafka 미들웨어를 통해 100개의 쿠폰 저장 이벤트를 보관해두었다가 컨슈머에서 원할때 꺼내어 처리할 수 있는 여지를 주어 처리량 부하를 분산시킬 수 있음 ex) 쿠폰 발급은 당장 안해도 되니, kafka에 이벤트만 잘 발행되어 있다면 DB 작업량이 적은 새벽에 꺼내서 저장해도 됨 이렇게 이해했는데, 맞을까요?
Chatgpt api 키 발급받고 intellij의 https request 켜서 키 복사 버튼 눌러서 제대로 붙어넣기 했는데 자꾸 401이 뜨면서 이런 에러가 나옵니다. POST https://api.openai.com/v1/completions Content-Type: application/json Authorization: Bearer <sk-proj-nawrjQjyZsY97JLPn96lT3BlbkFJwKvp4wAikQ2ENDrll4Kq> { "model": "text-davinci-001", "prompt": "1+1은 몇이야?", "temperature": 1, "max_tokens": 10 } { "error": { "message": "Incorrect API key provided: <sk-proj**********************************************4Kq>. You can find your API key at https://platform.openai.com/account/api-keys.", "type": "invalid_request_error", "param": null, "code": "invalid_api_key" } } 뭐가 문제일까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 2-A 2178번처럼 Map에서 BFS 탐색을 하는 경우에도 시간복잡도는 O(V+E)인가요? 감사합니다.
안녕하세요, PostNetInint 관련 질문이 있습니다. LogABNetwork: [SERVER] AABGameMode::PreLogin ============================================================ LogABNetwork: [SERVER] AABGameMode::PreLogin Begin LogABNetwork: [SERVER] AABGameMode::PreLogin End LogABNetwork: [SERVER] AABGameMode::Login Begin LogABNetwork: [SERVER] AABPlayerController::BeginPlay Begin BP_ABPlayerController_C_1 LogABNetwork: [SERVER] AABPlayerController::BeginPlay End LogABNetwork: [SERVER] AABGameMode::Login End LogABNetwork: [SERVER] AABGameMode::PostLogin Begin LogABNetwork: [SERVER] AABCharacterPlayer::BeginPlay Begin ABCharacterPlayer_1 LogABNetwork: [SERVER] AABCharacterPlayer::BeginPlay End ABCharacterPlayer_1 LogABNetwork: [SERVER] AABPlayerController::OnPossess Begin BP_ABPlayerController_C_1 LogABNetwork: [SERVER] AABCharacterPlayer::PossessedBy Begin ABCharacterPlayer_1 LogABNetwork: [SERVER] AABCharacterPlayer::PossessedBy No Owner LogABNetwork: [SERVER] AABCharacterPlayer::PossessedBy Owner : BP_ABPlayerController_C_1 LogABNetwork: [SERVER] AABCharacterPlayer::PossessedBy End ABCharacterPlayer_1 LogABNetwork: [SERVER] AABPlayerController::OnPossess End LogABNetwork: [SERVER] AABGameMode::PostLogin Client Connections : IpConnection_1 LogABNetwork: [SERVER] AABGameMode::PostLogin End LogABNetwork: [CLIENT1] AABPlayerController::PostNetInit Begin BP_ABPlayerController_C_0 LogABNetwork: [CLIENT1] AABPlayerController::PostNetInit Server Connection : IpConnection_0 LogABNetwork: [CLIENT1] AABPlayerController::PostNetInit End LogABNetwork: [CLIENT1] AABCharacterPlayer::OnRep_Owner Begin ABCharacterPlayer_0 LogABNetwork: [CLIENT1] AABCharacterPlayer::OnRep_Owner End ABCharacterPlayer_0 LogABNetwork: [CLIENT1] AABCharacterPlayer::PostNetInit Begin ABCharacterPlayer_0 LogABNetwork: [CLIENT1] AABCharacterPlayer::PostNetInit End LogABNetwork: [CLIENT1] AABCharacterPlayer::PostNetInit Begin ABCharacterPlayer_1 LogABNetwork: [CLIENT1] AABCharacterPlayer::PostNetInit End LogABNetwork: [CLIENT1] AABGameState::OnRep_ReplicatedHasBegunPlay Begin No Owner LogABNetwork: [CLIENT1] AABPlayerController::BeginPlay Begin BP_ABPlayerController_C_0 LogABNetwork: [CLIENT1] AABPlayerController::BeginPlay End LogABNetwork: [CLIENT1] AABCharacterPlayer::BeginPlay Begin ABCharacterPlayer_0 LogABNetwork: [CLIENT1] AABCharacterPlayer::BeginPlay End ABCharacterPlayer_0 LogABNetwork: [CLIENT1] AABCharacterPlayer::BeginPlay Begin ABCharacterPlayer_1 LogABNetwork: [CLIENT1] AABCharacterPlayer::BeginPlay End ABCharacterPlayer_1 LogABNetwork: [CLIENT1] AABGameState::OnRep_ReplicatedHasBegunPlay End 강의 말미의 로그를 보면 [CLIENT1] 의 AABPlayerController::PostNetInit 함수가 함수가 끝나고 나서 OnRep_Owner 함수가 실행됩니다. 그리고 나서 AABCharacterPlayer의 PostNetInit 함수가 시작 되는데, Actor 를 상속받은 모든 하위 클래스에서 PostNetInit 을 호출 하는 것으로 알고 있습니다. 이때 순서가 컨트롤러의 PostNetInit 이 호출되고 종료된 다음, 그 다음으로 캐릭터의 PostNetInit이 호출되고 종료되는데, 캐릭터와 컨트롤러 둘다 액터를 상속 받았는데 순서가 무조건 먼저 컨트롤러 호출 및 완료 후에 캐릭터 호출 및 완료 인지 궁금합니다. Gamemode->Controller-> Pawn 이순서가 무조건 맞나요?
처음 알고리즘을 공부하게 된 학생입니다. 알고리즘 문제풀이를 시작할 때 어떤 방식으로 하면 될지 질문드립니다. 우선 교안은 한번 다 익혔습니다. (중간 중간 생각나지 않는 부분도 있긴합니다.) 2309번 문제를 스스로 풀어본다. 문제해설을 본다. 문제해설을 다 이해하고 공부한 뒤 강의를 듣는다. 이러한 순서로 공부를 하는게 맞을까요? 그리고 문제가 풀리지 않을때는 고민해보다가 답지를 보는게 나을까요??
안녕하세요 건축도면을 화면에 표시하며 각 객체(계단,문 등)를 누르면 사양이 표시되게끔 앱을 만들 계획중입니다. 강의를 보고 화면 내에서 쓸 수 있는 작은 크기의 이미지는 문제가 없지만 도면처럼 큰 이미지는 어떻게 넣어야 할 지 모르겠습니다. 보라색 창이 화면이라고 보고 이처럼 큰 이미지를 손으로 드래그, 스와이프 해서 보려고 합니다. 정리하자면 1. 화면 사이즈보다 큰 이미지를 넣으면 화면에서 잘린 상태로 움직이지 않는 문제 2. 화면 밖으로 나간 이미지에 버튼을 넣는 방법 어떻게 해결해야 할까요?
package jpabook.jpashop.domain.repository; import jakarta.persistence.EntityManager; import jakarta.persistence.PersistenceContext; import jakarta.persistence.PersistenceUnit; import jpabook.jpashop.domain.Member; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; import java.util.List; @Repository @RequiredArgsConstructor public class MemberRepository { private final EntityManager em; public void save(Member member) { em.persist(member); } public Member findOne(Long id) { return em.find(Member.class, id); } public List<Member> findAll() { // 회원 목록 조회 return em.createQuery("select m from Member m", Member.class) ry .getResultList(); } public List<Member> findByName(String name) { return em.createQuery("select m from Member m where m.name = :name", Member.class) .setParameter("name", name) .getResultList(); } } 위의 코드에서 findByName메소드에서 왜 단건조회가 아닌 리스트 조회를 사용한건가요? 어차피 중복가입은 안되고 이름으로 조회하니까 하나의 결과가 나와야하는거 아닌가요? findByName 메소드에서 setParameter은 왜 있는건가요? 설명부탁드릴게요.
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
// POST auth/login/email @Post('login/email') @UseGuards(BasicTokenGuard) // authorization 기준으로 rawToken을 받아옴. postLoginEmail(@Headers('authorization') rawToken: string, @Request() req) { // email:password -> base64 // adsfasdfasfdad => email:password const token = this.authService.extractTokenFromHeader(rawToken, false); const credentials = this.authService.decodeBasicToken(token); return this.authService.loginWithEmail({ email: credentials.email, password: credentials.password, }); } 질문이 있습니다. req.user.email , req.user.password 이런식으로 Guard를 통해 요청에 대한 값을 받아올 수 있다고 설명해주셨습니다. 실제로 guard 부분에서, 해당 extractTokenFromHeader부분과, decodeBasicToken 부분이 겹치는 것 같은데, 이중적으로 처리해주는 것이 맞는지 아니면 아래와 같이 req.user.password 부분을 디코드 해주어서, 중복 부분을 생략해 줄 수 있을 것이라고 생각하는데 어떤 접근방법이 맞는지 궁금합니다! 이 부분도 중복을 해결해야 하는 부분 아닌가 해서 궁금합니다! // POST auth/login/email @Post('login/email') @UseGuards(BasicTokenGuard) // authorization 기준으로 rawToken을 받아옴. postLoginEmail(@Headers('authorization') rawToken: string, @Request() req) { // 여기는 req.user.password를 직접 입력하게되면 인코드된 값이므로, 디코드 된 값이 들어가야 할 것 같긴합니다. (JWT 모듈같은 것을 활용해서!) return this.authService.loginWithEmail({ email: req.user.email, password: req.user.password, }); }
강의 잘 들었습니다. CANoe 다룬 지 얼마 안되어서 혼자 독학하려니 정보가 없어서 어려웠는데 정말로 많은 도움이 되었습니다. 하지만 실무에 적용하려고 하니 몇 가지 어려움이 있어서 질문 드립니다. 특정 조건들을 만족하면 특정 메시지가 Sleep이 됩니다. 그 메시지가 나오지 않을 경우 임의의 sysvar의 값인 sleepmessage = 1; 을 넣고 패널에 불빛으로 넣고 싶은데 방법이 있을까요? AliveCount, CRC가 변화 하지 않은 경우를 사용하면 될 것 같기도 한데 잘 모르겠습니다. 예를 들면 스마트키로 락을 했을 때에 제어기에서 나오는 메시지가 죽는 것을 확인 해야 하는데 trace나 graphic에서는 육안으로 확인 가능하지만 capl에서 그걸 어떻게 해야 할 지 모르겠습니다. 메시지가 죽는 것을 확인하고 다음 스텝으로 언락했을 때에 메시지가 살아나는 것을 확인하는 제공되는 기능같은 게 존재할까요?
안녕하세요 강사님 좋은 강의를 제공해주셔서 감사합니다. JWT는 header, payload는 base64 방식으로 인코딩 되는데 이 방식은 쉽게 복호화가 가능한 것으로 알고 있습니다. 그렇기 때문에 JWT를 클라이언트로 보내줄 때 payload에 mongodb의 _id, rdb의 primary key를 넣어주는 것은 좋지 않다고 생각합니다. 물론 강의는 학습을 위한 프로젝트이기 때문에 payload에 그런 것들을 노출 시킨 것은 알고있습니다. 그렇다면 실무에서는 payload에 어떤 값을 넣어주는 것이 적절한지 궁금해서 질문을 남깁니다.
예를들어 api 서버인데, 없는 url요청하면 404에러나자나요 그 응답 데이터 json 을 변경하려는데 , 어떤코드를 변경해야 할까요? 404는 url못찾아서 컨트롤러로 진입도 하기 전인데.. RestControllerAdvice는 컨트롤러에서 발생하는 것만 처리해줘서.. 방법을 모르겠어요 ㅠ 이렇게 리턴되고 있는데 저 리턴되는 key와 값들부터 모두 커스텀하고싶은데.. { "timestamp": "2024-04-25T11:17:35.705+00:00", "status": 404, "error": "Not Found", "message": "No message available", "path": "/o%E3%85%87%E3%84%B9%E3%85%87%E3%84%B9" }