안녕하세요. %s 형식으로 출력할때에는 나머지 자리를 공백이 아닌 다른 문자열로 대체해서 출력하는 옵션이 존재할까요? print('%10s' %('nice')) -> 나머지 자리 공백으로 표시 -> %s형식으로 출력할때에도 아래 옵션처림 남는차리를 특정 문자열로 채울 수 있는지 궁금합니다. print('{:_>10}'.format('nice')) -> 남는자리 _으로 표시 감사합니다.
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
css select대신 find 함수를 사용해서 이런 식으로 작성했더니, 같은 결과가 나오긴 했지만 너무 비효율적인거 같아서 질문드립니다. 더 깔끔하게 find를 사용해서 가져오는 방법이 있을까요? from bs4 import BeautifulSoup import requests url="https://davelee-fun.github.io/" res=requests.get(url) soup=BeautifulSoup(res.content,"html.parser") all=soup.find("div", "text-center") items=all.find("span") ls=[] for item in items : ls.append(item.get_text().strip()) print(ls[1]+" "+ls[2]+" "+ls[3])
안녕하세요. 강의 잘 듣고 있습니다. 종합실습에서 모델을 만들고 돌린 후에 모델 평가 코드를 실행했습니다. 다른 지표는 이전 실습(강의)에서 했던 것과 비슷하게 나왔습니다. 하지만 MAPE 지표는 엄청 큰 값이 나왔습니다. 예) MAPE : 352267848908800.0 혹시 몰라서 참조답안 코드도 전체 실행하고 MAPE 지표를 확인했고 마찬가지로 ( MAPE : 380158091460608.0 ) 엄청 큰 값이 나왔습니다. 왜 이렇게 큰 값이 나온 걸까요? chat한테 물어보니까 다음과 같은 답변을 받았습니다. MAPE 값이 매우 큰 것은 비정상적입니다. 일반적으로 MAPE는 100% 미만의 값을 가집니다. 이렇게 큰 MAPE 값은 다음과 같은 이유로 발생할 수 있습니다: 실제값 중 0 또는 0에 매우 가까운 값이 있어 분모가 극히 작아진 경우 데이터 스케일링 문제로 인해 예측값과 실제값의 차이가 극단적으로 큰 경우 계산 과정에서의 오류 이러한 MAPE 값은 신뢰할 수 없으며, 데이터나 모델에 문제가 있을 가능성이 높습니다. MSE와 MAE는 상대적으로 합리적인 값을 보이고 있으므로, MAPE 계산 과정이나 데이터를 재검토해볼 필요가 있습니다.
제가 지금 백엔드 프로젝트와 Airflow를 도커 컴포즈로 EC2에 올려서 테스트를 하고 있습니다. 혹시 airflow 웹페이지에서 DAG 목록 위에 Auto-refresh 버튼이 있는데 이 옵션을 끄면 dag이 정해진 스케줄에 작동하지 않는지 궁금합니다. 제가 검색해본 결과로는 dag 내용과 목록을 자동으로 최신화하는 옵션인 것 같은데 맞을까요..?? dag 실행에 문제만 없다면 리소스 절약을 위해서 이 옵션은 꺼놓는게 좋을 것 같아서요...
말씀드린대로 front파일을 만들고 그 안에 전부 프로그램을 옮겻을떄 Parsing error: No Babel config file detected for C:\Users\user\Documents\react native-study\MatzipApp\front\index.js. Either disable config file checking with requireConfigFile: false, or configure Babel so that it can find the config files. 이러한 에러가 거의 모든 파일에 계속 나는데 왜그러는 걸까요.. ㅠ ㅠ
https://github.com/expressjs/cors?tab=readme-ov-file#enable-cors-for-a-single-route 참고하여 작성 해 보았습니다. * 제일 하단부에는 전체 코드 첨부 하였습니다. * 문제는 2가지 입니다. 1. 단일 경로에 CORS 활성화를 구현하고 싶었으며 corsOptions 에 methods 를 'POST, OPTIONS'만 추가하였음에도 get은 호출시 허용이 되었습니다. app.get('/users/', cors(corsOptions), function (req, res) { 제가 구현하고 싶었던 코드의 의도는 특정 IP만 사용 허용 이기 때문에 위와 같이 구현하고 싶었습니다. 하지만 아래와 같이 호출하여도 허용이 되었습니다. app.get('/users/', (req, res) => { 나머지 문제는 위와 반대로 POST의 경우에는 app.post('/token/phone', cors(corsOptions), (req, res) => { 위처럼 작성 옵션도 적용되었음에도 불구하고 CORS 가 계속 발생합니다. 아래는 작성한 node 코드입니다. import express from 'express' import { createTokenOfPhone } from '../../../section01/01-03-token-api-facade/index.js' import { swaggerUi, specs } from "./swagger/swagger.config.js"; import cors from 'cors' const app = express() app.use(express.json()) // Swagger API app.use("/api-docs", swaggerUi.serve, swaggerUi.setup(specs, { explorer: true })); // 허용할 IP WhiteList const whitelist = [ 'http://127.0.0.1:5500' ]; const corsOptions = { origin: (origin, callback) => { if (whitelist.indexOf(origin) !== -1 || !origin) { // !origin은 로컬 요청을 허용 callback(null, true); } else { callback(new Error('Not allowed by CORS')); } }, origin: whitelist, methods: 'POST, OPTIONS', }; //CORS 설정 // app.use(cors()) // app.use(cors(corsOptions)) // 특정 IP 허용 app.get('/users/', cors(corsOptions), function (req, res) { // app.get('/users/', (req, res) => { res.json({msg: 'getdms 왜 됨?'}) }) // OPTIONS 요청에 대한 응답 처리 app.options('/users/', cors(corsOptions), (req, res) => { res.setHeader('Access-Control-Allow-Origin', req.headers.origin || '*'); res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS'); res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization'); res.setHeader('Access-Control-Allow-Credentials', 'true'); res.sendStatus(204); // No Content }); // app.post('/token/phone', (req, res) => { app.post('/token/phone', cors(corsOptions), (req, res) => { const {phoneNo} = req.body; console.log(`phoneNo ${phoneNo}`) const requestToken = createTokenOfPhone(phoneNo); const resultData = { data: requestToken }; res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization'); res.send(resultData); }); app.listen(3000); // 포트번호 아래는 get , options, post 를 호출하는데 사용한 코드입니다. 주석 되어있는 get 호출시에는 호출안되게 옵션 설정해도 호출되고 주석 안한 post 호출시에는 정상 호출되어야 할 것 같은데 안됩니다.... <script> let resultToken = ''; const certification = () => { let myPhoneNo = document.getElementById("phoneNo").value; // let api = axios.options("http://localhost:3000/users"); // let api = axios.get("http://localhost:3000/users"); let api = axios.post("http://localhost:3000/token/phone", {phoneNo: myPhoneNo}); }; </script> <body> <div>휴대폰번호: <input type="text" id="phoneNo"> <button onclick="certification()">인증하기</button> <br/> <div>인증상태</div> <button>회원가입하기</button> </div> </body>
선생님 준비중인 강의가 혹시 있으실까요? 선생님같은분이 강의를 안한다는건 정말 재능 낭비인것 같습니다. 만족도가 이렇게 높은 강의는 첨음이거든요 그래서 혹시 다른 준비중인 강의가 있는지 묻고싶습니다. 계속 기다리고 있어서 두통이 생깁니다. ㅎㅎ 개인적으로는 next 실무강의를 해주시면 좋겠지만 ㅎㅎ
너무 잦은 질문 죄송합니다. 몇번을 돌려봐도 리턴이 헷갈리네요 재귀함수를 통해 int res = 15 를 구한다음 메인함수에 int sum=nSum(n)에 들어 가는거 같은데 res가 갑자기 nSum에 리턴이 되는걸 어떻게 이해해야 될지 모르겠습니다. 첫번째 호출->자기자신 호출까지는 이해했는데 결과값이 리턴하는 순서? 공식?이 잘 정립이 안되네요 ㅠㅠ
토큰을 통해서 제 고유아이디를 알아내야되는데 반환되는것이 하나도 없음 안녕하세요.. 지금 인프런을 통해서 강의를 듣고있는데, 모르는것이 많아서 댓글 질문 남깁니다.. 참고로 저는 Mac, visual code 사용하고있습니다. 현재, 진행되고있는 부분은 텔레그램봇을 통해서 몇개의 채팅 이후 반환값을 받아서 제 고유아이디를 알아내야되는데, 아래와 같이 코딩을 하여서 실행하였으나, 반환되는것이 하나도 없습니다. 문제가 무엇인지 알려주시면 너무 감사드리겠습니다. import telegram import asyncio bot = telegram.Bot (token='제 토큰') async def main(): updates = await bot.getUpdates() for i in updates: print(i) asyncio.run (main())