구조체 compound literal이 메모리를 차지하고 있는 l-value라면 그냥 구조체를 선언하고 대입하는 것과 메모리적으로 차이가 없어 보입니다. 그럼에도 불구하고 이 용법을 쓰는 이유는 단지 타이핑을 적게 하기 때문인가요? 그리고 복합 리터럴이 메모리의 어느 공간에 저장이 되나요? stack인가요 아니면 code segment인가요?
그랩님 안녕하세요 제가 저번에 요청했던 질문에서 필요한 부분을 다시 질문할게요. const getData = async () => { try { const result = await axios.get( "https://b2ef45f8-e166-41d7-bd35-9ad159028fbf.mock.pstmn.io/test" ); const products = result.data.products; console.log(products); console.log(`status:(${result.status}) 통신을 성공했습니다!`); const data = JSON.stringify(products); return data; } catch (err) { console.error(err); console.log("결과를 가져오지 못했습니다."); return err; } }; console.log(getData()); 이런식으로 프로미스 객체를 보다 편하게 처리 하기 위해서 async, await을 사용하면 promise.then().catch()형식을 사용하지 않고 할 수 있습니다. 그리고 getData 함수안에서 프로미스를 사용한 변수를 리턴해서 사용 하려면 async, await을 사용해 함수를 만들고 그 안에서 getData함수를 호출해서 값을 얻어올 수 있다고 저번에 올린 질문에 그랩님께서 답변해주셨습니다. 그런데 제가 프로미스 객체를 async 함수가 아닌 전역(global) 공간에서 값을 얻어 내고 싶습니다. 전역 공간에서 Promise { <pending> } 형태가 아닌 값 자체를 얻을 수는 없을까요?
안녕하세요 강의 잘 보고있습니다. 데이터가 100개 있고, 청크 사이즈가 10이라고 할 때 0~9, 10 ~ 19 까지 성공하고 애플리케이션 문제 등으로 프로그램이 종료 혹은 실패가 되었을 때, 다시 0번부터 실행 안 하고, 20번 부터 실행을 하려면 어떻게 해야될까요? 몇번부터 몇번까지 실행했는지 기록하는 메타데이터용 테이블을 만들어서 기록해야되는 거 말고는 없나요?? (예를 들어 실패했을때 다시 실행하면, 실패한 곳부터 알아서 스프링 배치가 실행해주는..)
강의 중 코드 입니다. 아래에서 weak self 하지 않을 경우 강한 참조 사이클은 일어나지 않는다고 하셨는데, 1.클로저가 해당 클래스를 참조하고 있지만 해당 클래스는 클로저를 참조하고 있지 않기때문인가요? 2.weak self하지 않을때, sleep(3)에 의해 클로저가 3초정도 클래스를 참조하고 있어 그 사이에 class가 dismiss되어도 self가 nil이 아닌상황이 지속되고, 3초 이후 즉 클로저가 모두 진행된 이후에는 클로저가 클래스를 더 이상 참조하고 있지않아 class가 dismiss할 경우 deinit이 정상작동 되는 것인가요? class ViewController2: UIViewController { var name: String = "뷰컨" func doSomething() { // 강한 참조 사이클이 일어나지 않지만, 굳이 뷰컨트롤러를 길게 잡아둘 필요가 없다면 // weak self로 선언 DispatchQueue.global().async { [weak self] in sleep(3) guard let weakSelf = self else { return } print("글로벌큐에서 출력하기: \(weakSelf.name)") DispatchQueue.main.async { print("메인큐에서 출력하기: \(weakSelf.name)") } } } deinit { print("\(name) 메모리 해제") } } func localScopeFunction2() { let vc = ViewController2() vc.doSomething() } localScopeFunction2()
fillna() 안에 Series의 형태가 들어갔는데요, df['A']=df['A'].fillna(df['B'] ) 이때 저는 컴퓨터가 곧이곧대로 해석해서 df['A'] 시리즈 중에서 결측치가 있는 값에 시리즈 전체인 df['B']를 넣지 않을까 라고 생각했는데 신기하게도 행의 값을 주지 않아도 컴퓨터가 알아서 그 특정 행 값을 찾아서 넣더라구요..! 이게 신기한데 어떻게 이렇게 작동하는건가요? 구글링해서 찾아보니까 그냥 예제들만 수두룩하게 보이는데 그 작동 원리는 잘 모르겠어서 질문 드립니다..!
dispatchqueue.global().async 안에 dispatchqueue.global().sync를 하면 교착이 걸릴 수 있어서 안해야한다고 말씀하셨는데요, 제가 이해한 부분이 맞는지 봐주시겠습니까.. main thread에서 dispatchqueue.global().async 를 발견해서 예를들어 gcd에서 task를 thread3에 주고 기다리지않고(async) 곧 바로 return 하였습니다. 그런데 우연히 그 task의 내부인 task(sync)가 thread3에 할당되었습니다. 1. 기다리지 않는다고 했는데 기다려야하는 일이 혼선되어 데드락이 일어나는 것인가요? 2. 처음에 async task가 thread3에 배정된 상태인데, 그 thread3에서 global()을 부를 경우에도 동인한 쓰레드(thread3)로 배정될 수 있나요?
파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI, async, await)
현재 강의까지 순서대로 코드를 작성해왔고, python server.py를 통해서 서버 구동도 성공적으로 완료했습니다. 그런데 "DB와 성공적으로 연결이 되었습니다." 가 출력됨에도 불구하고 localhost:8000 주소로의 접속이 되지 않습니다. (오류 발생가 발생된 이후 모든 코드는 깃헙에 올려주신 코드와 동일하게 맞춰놓았습니다.) ERROR : Exception in ASGI application 아래에 사진 첨부해드립니다. 이 이슈에 대해서 검색을 해봤는데 root CA certificate의 문제와 관련된 것 같습니다. 제가 window를 사용 중이라 발생한 것 같은데 해당 이슈에 대한 도움 주시면 감사드립니다.
강의 7:01 부분의 16번쨰 코드내용에대한 질문입니다! 노드js는 처음이라서 우선 강의따라 흐름만 이해하면서 듣고있습니다! 16번쨰줄의 내용이 서버가 실행될때 forEach로 순회하면서 messagesRoute에서 정의한 메서드들을 실행하는 내용같은데, 작성된 문법이라면 현재 url외의 메서드들도 순회하면서 전부 실행 시키는 중인가요??
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 . CV 학습 하다 헷갈리는 개념이 있어서 질문 드립니다. CV 개념으로 K번의 검증을 통해 모델의 신뢰를 더 높인 다는 목적이라고 이해를 했는데 즉 Train(train + Validation) / Test 에서 train + Validation 부분을 여러 개 분할 해서 할당하고 평균으로 더 좋은 모델을 만드는 개념 아닌가요?? 개념 설명 이후 교재와 코드에서는 Test라고 용어가 나와서 헷갈려요ㅠ
마지막 시각화 단원에서 문제 1번에 대해서는 답으로 제시해주신 plot(aws[1:200,"TA"], type = "l") 이 방식과 제가 생각한 방식인 plot(aws$TA[1:200],type = "l") 이 방식은 둘 다 동일한 결과를 보여주었습니다. 하지만 문제 2번에서는 제시해주신 방식인 ggplot(data=aws[1:200,], aes(x=1:200, y=TA)) + geom_line() 이 방식만 작동하고 제가 생각한 방식인 ggplot(data = aws, aes(x=1:200, y=TA[1:200])) + geom_line() 은 작동하지 않으면서 아래와 같은 에러 메세지가 나왔습니다. 에러: Aesthetics must be either length 1 or the same as the data (5886): x and y Run `rlang::last_error()` to see where the error occurred. 제가 생각한 방식이 plot()에서는 돌아가고 ggplot()에서는 돌아가지 않은 이유가 무엇인지 궁금합니다.