따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000 까지 하고 3000번 포트로 잘 들어가지는데 3000번포트를 지우고 들어가봐도 뒤에 :80을 붙여 넣어 들어가봐도 사이트에 연결할 수 없음이 뜨네요 왜 그럴까요??
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
안녕하세요 이자르 오류가나서 문의드립니다 ㅠㅠ What went wrong: Execution failed for task ':isar_flutter_libs:parseDebugLocalResources'. > Could not resolve all files for configuration ':isar_flutter_libs:androidApis'. > Failed to transform android.jar to match attributes {artifactType=android-platform-attr, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}. > Execution failed for PlatformAttrTransform: C:\Users\SH\AppData\Local\Android\sdk\platforms\android-30\android.jar. > C:\Users\SH\AppData\Local\Android\sdk\platforms\android-30\android.jar Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. Get more help at https://help.gradle.org BUILD FAILED in 15s Error: Gradle task assembleDebug failed with exit code 1
ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
안녕하세요.현재 `Controller:query string을 통해 데이터 조회` 파트를 시청하고 있습니다. controller에서 userid라고 명시했을 때클라이언트는 userid 또는 userId라고 해도 QueryString이 전달됩니다. 서버에서 queryString의 대소문자를 강제하고 싶을 때는 어떻게 해야하나요?따로 controller에서 하나하나 체크해서 예외처리를 해줘야 하나요?
안녕하세요. 총 정리 문제 풀이 5번의 선생님의 쿼리와, 해설을 보기 전에 개인적으로 써본 쿼리의 각각의 결과가 달라 어디서 오류를 범했는지 알고 싶어 질문합니다. 선생님께서 쓰신 쿼리는 다음과 같았습니다. WITH에서 먼저 trainer_pokemon과 pokemon을 JOIN한 후, 마지막에 trainer를 JOIN하셨습니다. 결과는 Kyle의 포켓몬 공격력+방어력 총합 1951였습니다. WITH total_stats AS ( SELECT tp.trainer_id, SUM(p.attack + p.defense) AS total_stat, FROM basic.trainer_pokemon AS tp LEFT JOIN basic.pokemon AS p ON tp.pokemon_id = p.id GROUP BY tp.trainer_id ) SELECT t.name, ts.trainer_id, ts.total_stat FROM total_stats AS ts LEFT JOIN basic.trainer AS t ON ts.trainer_id = t.id ORDER BY total_stat DESC LIMIT 1 그리고 저는 다음과 같이 썼습니다. 선생님의 순서와 다르게, WITH에서 먼저 trainer_pokemon과 trainer를 JOIN한 후, 마지막에 pokemon을 JOIN했습니다. 결과는 Kyle의 포켓몬 공격력+방어력 총합 1856였습니다. WITH pokemon_cnt_table AS( SELECT t.id, t.name, tp.pokemon_id, COUNT(tp.id) AS pokemon_cnt, FROM `basic.trainer_pokemon` AS tp LEFT JOIN `basic.trainer` AS t ON tp.trainer_id = t.id GROUP BY t.id, t.name, tp.pokemon_id ) SELECT pct.id, pct.name, SUM(attack) AS attack_sum, SUM(defense) AS defense_sum, SUM(attack + defense) AS a_plus_d_sum, FROM pokemon_cnt_table AS pct LEFT JOIN `basic.pokemon` AS p ON pct.pokemon_id = p.id GROUP BY pct.id, pct.name ORDER BY a_plus_d_sum DESC LIMIT 1 결과가 달라진 이유에 대해, 제 나름대로 생각해 본 것은, JOIN의 순서가 달라 WITH 내의 1) SELECT, 2) FROM ON의 키도 다른 점이 출력 데이터에 영향을 준 것이 아닐까 하는 것입니다. JOIN의 순서 차이로 결과가 달라질 수 있을까요? 제가 작성한 쿼리의 오류에 대한 확인이 번거로우시다면, 결과에 대한 JOIN 순서 차이의 영향 유무에 대해서만 답해 주셔도 감사하겠습니다. 미리 감사합니다.
코드를 분석하다 드는 의문점이 있어 질문드립니다. 실제 자료노드와 이를 추상화 한 MYNODE로 데이터베이스가 구축되어 있는데 여기에 MYNODE를 기준으로 파일 입출력을 연동시킨 것이 이번 예제의 핵심이라고 보입니다. 이렇게 한 이유가 파일의 일부를 메모리로 옮겨올 수 있기 때문(캐싱)이라고 하셨는데 이 캐싱의 정확한 개념이 궁금합니다. 해당 예제의 offset변수를 보면 파일의 처음부터 끝까지 모든 자료에 대하여 카운트정보를 담고 있는 것으로 보입니다. 즉 파일의 일부가 아닌 전부가 MYNODE기준 메모리상 데이터에 연동되고 이 후 선택노드의 추가 데이터만 메모리상데이터에 추가되는 것으로 보이는데 캐싱이라는 개념이 파일데이터들의 일부만 메모리에 옮기는 것이 아니라 일단 모든 목록(인덱스)를 올린 후 선택 노드의 데이터만 추가하는 개념인 것인지. 아니면 원래는 파일데이터의 목록까지도 일부만 올리는 개념인데 예제에서는 간략화하여 설명된 것인지 궁금합니다. SaveNewDataToFile()함수를 살펴보면 pTmp->bNew 불리언 변수가 true일 때 파일쓰기가 일어나는데 이는 기존 데이터가 존재하는 노드인 경우 데이터를 수정시 파일쓰기가 되지 않는 오류가 있지 않나 생각됩니다. 즉 commit이 노드데이터 수정 후 일어나지 않으면 프로그램 종료시 호출되는 SaveNewDataToFile()함수로는 수정데이터의 파일출력이 일어나지 않는 것 아닌가 하는 의문이 듭니다. 두 째 질문은 강의 중에 언급해 주신 부분을 확인했습니다. 감사합니다. 감사합니다.
안녕하세요, 덕분에 재미있게 빅분기 실기 시험 준비 중입니다 : ) 범주형 변수의 unique 수가 train 데이터셋과 test 데이터셋에서 서로 다를 때, 원핫인코딩을 진행하게 되면 Feature의 수가 다르므로 일치시키기 위해... train 데이터셋과 test 데이터셋을 먼저 concat으로 합친 후에 원핫인코딩을 진행하고 분리하는 것으로 이해했습니다! 기존 질문과 답변주신 것들을 살펴보니, get_dummies() 사용 시, 자동으로 범주형 변수만 선택하여 원핫인코딩하고 전체데이터를 반환하므로 X_train 데이터를 사용해도 무관하다고 하셨는데요~ 수업에서는 all_df = pd.get_dummies(all_df[cols])로 작성하니 범주형 변수 cols에 해당하는 데이터만 원핫인코딩되어 전체데이터가 아닌 범주형 변수의 원핫인코딩 결과만 all_df에 담기게 되는 것 같습니다. 말씀주신 것처럼, 자동으로 범주형 변수만 원핫인코딩하고 전체 데이터를 반환하기 위해서는, 이 코드를 all_df = pd.get_dummies(all_df)로 바꾸어야 되는게 맞는건가요?
파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI, async, await)
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. # app 폴더 아래 main.py @app.post("/collect", response_class=HTMLResponse) async def collect(request: Request): brandlist = BrandList() brands = await brandlist.run() oy_models = [] for brand in brands: oy_model = BrandListModel( code=brand["code"], brand=brand["brand"], collection_time=brand["time"], status=brand["status"], ) oy_models.append(oy_model) await mongodb.engine.save_all(oy_models) return templates.TemplateResponse( "./index.html", {"request": request, "title": "수집기", "brands": brands}, ) # app 폴더 아래 spcrper.py class BrandList: URL = "https://www.#######.co.kr" def unit_url(self): url = f"{self.URL}/store/main/getBrandList.do" return url async def fetch(self): async with aiohttp.ClientSession() as session: async with session.get(self.unit_url()) as response: soup = BeautifulSoup(await response.text(), "html.parser") area_info = soup.select("a[data-ref-onlbrndcd]") branddics = [] for info in area_info: code = info["data-ref-onlbrndcd"] name = info.text collectiontime = date.today() item = [i["code"] for i in branddics] if code in item: pass else: branddic = { "code": f"{code}", "brand": f"{name}", "time": f"{collectiontime}", "status": "Old", } branddics.append(branddic) await session.close() return branddics def run(self): return asyncio.run(self.fetch()) 안녕하세요. 강사님. scraper.py 는 terminal에서 값을 잘 가져오고 있습니다. server.py 에서 구동 시, 아래와 같은 error가 나오는데 원인을 찾지 못해서요 ㅠ RuntimeError: asyncio.run() cannot be called from a running event loop C:\Users\user\Desktop\Project_Scraper\venv\Lib\site-packages\uvicorn\protocols\http\httptools_impl.py 👎 RuntimeWarning: coroutine 'BrandList.fetch' was never awaited RuntimeWarning: Enable tracemalloc to get the object allocation traceback 코드 리뷰 좀 부탁드리겠습니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. 스프링 빈 생명주기를 공부하다가 헷갈리는 부분이 있어서 질문드립니다. 보통 스프링 빈 생명주기라고 함은 아래와 같이 설명하는데요. 스프링컨테이너 생성 -> 스프링 빈 생성 -> 의존관계 주입 -> 초기화 콜백 -> 사용 -> 소멸전 콜백 -> 스프링 종료 여기서 궁금한게, 초기화 콜백 과 소멸전 콜백 단계는 모든 스프링 빈의 생명주기에 필수단계인지 궁금합니다. DB 커넥션처럼 WAS 띄울 때 한번 연결하고 두고두고 쓸 것 들을 대상으로만 @PostConstruct 를 사용하는 것으로 알고 있는데, 대부분 인터넷에서 빈 생명주기를 설명할 때 초기화콜백, 소멸전 콜백을 꼭 포함시키길래 모든 스프링 빈 생명주기에 위 단계가 필요한 것인지 궁금하여 여쭤봅니다.