묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
Extensions 설치 후
안녕하세요 선생님. 선생님처럼 매크로에 보라색이 빠져있거나 Alt+Enter 로 정의가 불가능한 경우는 어떻게 해야할까요?? ㅠ
-
미해결남박사의 파이썬으로 실전 웹사이트 만들기
버전 문제도 수정했는데 결과가 안나옵니다.
{% with messages = get_flashed_messages() %} {% if messages %} <script> alert(" {{messages[-1]}}"); </script> {% endif %} {% endwith %} <table> <form name="form" action="/join" method="POST"> <thead> <caption>회원가입</caption> </thead> <tbody> <tr> <td>이름</td> <td><input type="text" name="name"></td> </tr> <tr> <td>이메일</td> <td><input type="text" name="email"></td> </tr> <tr> <td>비번</td> <td><input type="password" name="pass"></td> </tr> <tr> <td>비번확인</td> <td><input type="password" name="pass2"></td> </tr> <tr> <td colspan="2"><input type="submit" value="가입하기"></td> </tr> </tbody> </form> </table>from flask import Flask from flask import request,redirect,url_for from flask import render_template, abort from flask_pymongo import PyMongo from datetime import datetime from flask import flash from bson.objectid import ObjectId import time import math app = Flask(__name__) app.config["MONGO_URI"]="mongodb://localhost:27017/myweb" mongo = PyMongo(app) @app.template_filter("formatdatetime") def format_datetime(value): if value is None: return "" now_timestemp = time.time() offset = datetime.fromtimestamp(now_timestemp)-datetime.utcfromtimestamp(now_timestemp) value = datetime.fromtimestamp((int(value)/1000))+offset return value.strftime('%Y-%m-%d %H:%M:%S') @app.route("/list") def lists(): # 페이지 값(값이 없는 경우 기본값은 1) page = request.args.get("page",1,type=int) #한페이지당 몇개의 개시물을 출력할지 limit = request.args.get("limit",5,type=int) search = request.args.get("search",-1,type=int) keyword = request.args.get("keyword",type=str) #최종적으로 완성된 쿼리를 만들 변수 query = {} # 검색아 상태를 추가할 리스트 변수 search_list=[] if search ==0: search_list.append({"title":{"$regex":keyword}}) elif search == 1: search_list.append({"contents":{"regex":keyword}}) elif search == 2: search_list.append({"title":{"$regex":keyword}}) search_list.append({"contents":{"$regex":keyword}}) elif search ==3: search_list.append({"name":{"$regex":keyword}}) # 검색 대상이 한개라고 존재할 겨우 query 변수에 $or 리스트를 쿼리 합니다. if len(search_list)>0: query={"$or":search_list} print(query) board = mongo.db.board datas = board.find(query).skip((page - 1)*limit).limit(limit) # 개시물에 총 갯수(수정됨) tot_count = board.count_documents(query) # 마지작 페이지의 수를 구합니다. last_page_num = math.ceil(tot_count / limit) # 페이지 블럭을 5개씩 표기 block_size = 5 # 현재블럭의 위치 block_num = int((page - 1)/block_size) # 블럭의 시작 위치 block_start = int((block_size * block_num) +1) # 블럭의 끝 위치 block_last = math.ceil(block_start + (block_size - 1)) return render_template( "list.html", datas=list(datas), limit=limit, page=page, block_start=block_start, block_last=block_last, last_page_num=last_page_num, search=search, keyword=keyword) @app.route("/view/<idx>") def board_view(idx): # idx = request.args.get("idx") 펜시유알엘 if idx is not None: page = request.args.get("page") search = request.args.get("search") keyword = request.args.get("keyword") board = mongo.db.board data = board.find_one({"_id":ObjectId(idx)}) if data is not None: result={ "id":data.get("_id"), "name":data.get("name"), "title":data.get("title"), "contents":data.get("contents"), "pubdate":data.get("pubdate"), "view":data.get("view") } print(id) return render_template("view.html",result=result, page=page, search=search, keyword=keyword) return abort(404) @app.route("/write",methods=['GET','POST']) def board_write(): if request.method=="POST": name = request.form.get("name") title = request.form.get("title") contents = request.form.get("contents") print(name,title,contents) current_utc_time = round(datetime.utcnow().timestamp() *1000) board = mongo.db.board post={ "name":name, "title": title, "contents":contents, "pubdate":current_utc_time, "view":0, } x = board.insert_one(post) print(x.inserted_id) return redirect(url_for("board_view",idx=x.inserted_id)) else: return render_template("write.html") @app.route("/join",methods=["POST","GET"]) def menber_join(): if request.method =="POST": name = request.form.get("name",type=str) email = request.form.get("email",type=str) pass1 = request.form.get("pass",type=str) pass2 = request.form.get("pass2",type=str) if name is None or email is None or pass1 is None or pass2 is None: flash ("입력되지 않은 값이 있습니다.") return render_template("join.html") if pass1 != pass2: flash("비밀번호가 일치 하지않습니다.") return render_template("join.html") members = mongo.db.menbers # 이부분 버전 수정됨 cnt = members.count_documents({"email":email}) if cnt > 0: flash("중복된 이메일 주소입니다.") return render_template("join.html") current_utc_time = round(datetime.utcnow().timestamp()*1000) post ={ 'name':name, 'email':email, 'pass':pass1, "joindate":current_utc_time, "logtime":"", "logincount":0, } members.insert_one(post) return "" else: return render_template("join.html") if __name__ == "__main__": app.run(host="0.0.0.0",debug=True,port=5000)
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
프로젝트 compile시 npm install시 No repository field
npm install시 위와같은 오류와 함께 컴파일이 종료됩니다. 혹시 해결 방법이 있나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-G 테스트케이스 통과, ab*ab / ab 도 통과했는데 틀립니다
http://boj.kr/30c2e28d9865496a961a8b76b7e7fca9안녕하세요 선생님다름이 아니라 테스트케이스를 통과하고코드를 더 수정해서 ab*ab / ab인 경우도 통과했는데틀렸다고 합니다.어떤 점이 문제인지 알고 싶습니다.감사합니다.
-
미해결핸즈온 리액트 네이티브
안녕하세요 에뮬레이터
가상머신 에뮬레이터로 수업을 따라가고 있는데 , 에뮬레이터가 코드변경이 바로적용될때가 있고 또 코드변경했을때 적용이 안될때도 있는데 어떤게 문제일까요??
-
해결됨Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
IOCP에서 WSASend 사용 관련 및 시간 소요 요청 처리
먼저 좋은 강의 감사드립니다.IOCP를 사용 시 채팅서버에서 수신의 경우는 WSARecv를 사용하였으나, 송신은 일반 send 함수를 사용하고 있습니다.송신의 경우 WSASend를 사용하는 것이 send를 사용하는것 대비 장점이 없는 것인지요?WSASend 사용 관련하여 해당 함수를 사용해야 하는 상황에 대해 설명 부탁드립니다.추가로 IOCP의 thread (GQCS)에서 처리하는 일이 시간이 소요되는 처리를 해야 하는 시나리오 (파일 송신 등)에서, 사용자 수가 증가하는 경우 할당할 수 있는 thread가 없어, 동시 접속이 늘어나는 경우 문제가 발생할 수 있을 것으로 판단됩니다. 이런 경우 어떻게 설계를 하는 것이 타당한지 의견을 구하고자 합니다.감사합니다.
-
해결됨선형대수학개론
[One-to-one] 정의 관련 질문
안녕하세요, 강의를 듣고 있는 학생입니다. 슬라이드 9쪽에서 One-to-one의 정의로"at most one" 즉, T(x)=b의 식의 해가 unique하든지, 없든지라고 되어있는데, 없는 경우가 이해가 잘 되지 않습니다. T가 transformation function이기에, 함수이니 결국 정의역 하나는 무조건 매칭이 되어야한다고 생각을 했는데 없는 경우가 어떤 경우인지 궁금합니다. 질문 읽어주셔서 감사드리고 좋은 강의 감사합니다.
-
미해결[개념은 호옹~, 실습 빡] 스프링 부트, 입문!
추상클래스를 사용 할 수있을까요?
지금 강의에서는 Firstcontroller에 username, nickname 두가지를 선언해서 각각 사용하셧는데, username 을 출력하고자 하니 추상클래스로 username 구문을 선언해두고, controller 페이지에서 오버라이드해서 사용하면서 model 페이지에 값만 보내줄 수 있다면 controller가 조금더 깔끔해지고 최적화가 되지않을까 라는 생각이 들었습니다.가능할까요??
-
미해결쉽게 배워 바로 쓰는 구글 애널리틱스 4
구글 태그매니저로 모든 연결이 가능한걸까요~?
UA, GA4, 구글 태그매니저 코드 모두 설치할 필요 없이 구글태그매니저 만으로 모두 대체할 수 있나요? 강의 내용으로는 구글태그매니저->GA4->UA로 연결 된다는 의미 같은데.. 구글태그매니저 만으로 옵티마이저와 구글애즈까지도 모두 연결이 다 되는걸까요?어떤식으로 설치하는게 좋은지 추천 부탁드립니다~
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
video_player / image_picker 버전관련 질문입니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.코드팩토리 디스코드https://bit.ly/3HzRzUMFlutter 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다! 강의대로 따라해도,최신버전을 넣어도 Pub get 에러가 계속생기는데 다른 설정을 따로 해야하나요?윈도우10 사용중입니다
-
미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
서브쿼리 날짜 공백
서브쿼리 이론 설명 강의에서 날짜 공백이 있을 시, 집계가 되지 않아 평균값을 낼 때, 해당 날짜가 포함되지 않을 수 있다고 설명해주셨습니다(서브쿼리 강의 7분 즈음)이때 어떤 방식으로 해결하는 것이 좋은가요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
iterator 사용
template<typename T> void printSet(set<T>& s) { for (set<T>::iterator it = s.begin(); it != s.end(); ++it) { cout << (*it) << " "; } } // 동작 X printSet<int>(s);컨테이너 클래스의 iterator를 사용하려고합니다.템플릿을 활용해서 작성을 하려는데 set<T>::iterator로는 동작하지 않는데 그 이유가 궁금합니다. 감사합니다.
-
미해결PHP 개발자의 최종 테크트리, 라라벨 강의
post? get?
Post는 api쪽으로 처리되고Get은 Web 쪽으로 처리가 되는것으로 확인이 됩니다.지켜져야 할 약속인지 궁금합니다.
-
미해결[2025년 출제기준] 웹디자인기능사 실기시험 완벽 가이드
코딩암기?하는건가요?
웹디자인실기를 보려고하는데요 강의의 코딩하는것들을 여러 유형별로 암기하는건가요?제작하는 과정을 외워질때까지 몇번이고 만들어보면 될까요?
-
미해결자바스크립트 중고급: 엔진 핵심
호이스팅 코딩시간 풀이
함수 선언문 , 함수 호출, 함수 선언문function book(){ function getBook(){ return "책1"; }; console.log(getBook()); function getBook(){ return "책2"; }; } book();book을 호출하면 1.선언단계에서 첫번째 getBook 함수 선언문을 만나 해당 함수를 책1로 등록하고 log는 선언단계임으로 그냥 지나가고 두번째 getBook 함수 선언문을 만나 해당 함수가 이미 존재함으로 값을 책2로 변경시켜준다. 2. 초기화 단계는 변수가 없기 때문에 지나가고 3. 할당단계에서 console.log를 만나 getBook함수를 호출하는데 이 때 값은 마지막에 받은 책 2로 출력된다.함수 표현식, 함수 호출, 함수 표현식var num = function calculation(a, b){ return a + b; }; console.log(num(9, 4)); var num = function calculation(a, b){ return a * b; };선언단계에서는 함수가 없기 때문에 지나가고 초기화 단계에서 첫번째 변수 num의 값을 undefined 로 초기화 시키고 두번째 변수 num의 값 또한 undefined 로 초기화 시킨다. 할당단계가 되면 첫번째 변수 num에 값에 calculation 함수를 할당하고 console.log를 만나서 변수 num을 호출한다 이때 첫번째 변수 num이 호출된다. 그래서 log의 값은 13이 출력된다. 그 이후 두번째 변수 num의 값에 calculation 함수를 할당한다.함수 선언문, 함수 호출, 함수 표현식function sports(){ function getSports(){ return "농구"; }; console.log(getSports()); var getSports = function() { return "야구" }; } sports();선언 단계에서 함수 getSports 를 만나 등록하고 로그 지나치고 변수도 지나친다. 초기화 단계에서는 다시 위로가서 함수 지나치고 로그 지나치고 변수 getSports의 값을 undefined 로 초기화 시킨다. 마지막 할당 단계에서 다시 처음으로 올라가 함수 getSports를 지나가고 log를 만나 getSports를 호출한다 이때 위에 선언된 getSports 함수가 호출 됨으로 log 값은 농구가 출력된다. 그 후 아래의 변수 getSports의 값에 함수를 할당한다.함수 표현식, 함수 호출, 함수 선언문function movie(){ var getMovie = function() { return "아이언맨" }; console.log(getMovie()); function getMovie(){ return "스파이더맨"; }; } movie();선언 단계에서 변수 지나치고 log 지나치고 함수 getMovie를 만나서 등록한다. 초기화 단계에서 변수 getMovie의 값을 undefined 로 초기화 시킨다. log와 함수는 지나친다. 할당 단계에서 변수 getMovie의 값에 함수를 할당 시켜주고 log를 실행한다. 이때 호출되는 값은 "아이언맨"이다.log값을 호출하는 시점에서 위에 있는 수의 값이 undefined가 아닌 값이 할당 된 상태라면 위의 값이 나오고 그렇지 못한 경우에는 아래의 값이 나온다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
em.close()한 경우에도 업데이트 문이 실행되는데요.
이렇게 실행했는데, 로그에 업데이트 쿼리가 찍히네요.실제 사용할때는 트랜잭션 종료 이후에 em.close() 실행될텐데...테스트 코드라서 이상한긴 한데 좀 궁금하네요.public class JpaDetachMain {public static void main(String[] args) {final EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); final EntityManager em = emf.createEntityManager(); final EntityTransaction tx = em.getTransaction(); tx.begin(); try{//영속 Member member = em.find(Member.class, 10L); member.setName("111"); em.close(); System.out.println("=============="); tx.commit(); }catch (Exception e){tx.rollback(); }finally {em.close(); emf.close(); }}}
-
해결됨게임 프로그래머 취업 전략 가이드
포트폴리오 고민이있습니다.
안녕하세요 24살 군대다녀왔구요 고졸입니다.루키스님의 강의중 게임 프로그래머 입문 올인원 강의와 이번에 나온 루키스님의 direct11 강의를 보고 루키스님정도의 포폴수준까지 만들고싶습니다. 제가 고졸임에도 불구하고 루키스님이 싫어하신다는 포폴 수준만 생각해서 머리를 망치로 얻어맞은것 같았거든요 지금이라도 정신차리고 제대로 해보고싶은데해당 강의 말고도 배워야할 기술과 강의가 있을까 궁금합니다! 현재목표는 제가 따로하던 api 포폴준비를 마치고 다시한번 루키스님 강의를 보면서 제대로 해야할것같아서 winapi로 네트워크프로그래밍 멀티쓰레드 프로그래밍 포폴과 direct11 강의로 루키스님 정도의 포폴수준까지 실력을 늘리고싶습니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
swaggerui에서 execute했는데 console에서는 계속 typeerror로 n.get함수가 없다는 에러가 발생합니다.
javascript문서를 확인했을때는 배열을 객체로쓴다던가 함수를 부를수없는곳에 작성했다는등의 오류라고 나와있는데 아무리 찾아봐도 그오류가 어디에서 나오는지 왜나오는지를 알수없어서 질문올립니다.// index.jsimport express from "express"; import { options, dataCoffee, dataUsers } from "./swagger/config.js"; import cors from "cors"; const app = express(); import swaggerUi from "swagger-ui-express"; import swaggerJSDoc from "swagger-jsdoc"; app.use(express.json()); const swaggerSpec = swaggerJSDoc(options); app.use(cors()); app.use("/api-docs", swaggerUi.serve, swaggerUi.setup(swaggerSpec)); app.get("/users", (req, res) => { res.send(dataUsers); }); app.get("/starbucks", function (req, res) { res.send(dataCoffee); }); app.listen(3001); // config.jsexport const options = { definition: { openapi: "3.0.0", info: { title: "swagger-test", version: "1.0.0", }, }, apis: ["./swagger/*-swagger.js"], // files containing annotations as above }; export const dataCoffee = [ { name: "아메리카노", kcal: 5 }, { name: "카푸치노", kcal: 125 }, { name: "헤이즐넛", kcal: 85 }, { name: "카라멜마키아또", kcal: 225 }, { name: "휘핑크림추가", kcal: 115 }, { name: "아메리카노", kcal: 5 }, { name: "아메리카노", kcal: 5 }, { name: "아메리카노", kcal: 5 }, { name: "아메리카노", kcal: 5 }, { name: "아메리카노", kcal: 5 }, { name: "아메리카노", kcal: 5 }, { name: "아메리카노", kcal: 5 }, { name: "아메리카노", kcal: 5 }, { name: "아메리카노", kcal: 5 }, ]; export const dataUsers = [ { email: "aaa@gmail.com", name: "짱구", phone: "010-2293-3333", personal: "222012-2210392", prefer: "https://google.com", }, { email: "aaa@gmail.com", name: "짱구2", phone: "010-2293-3333", personal: "222012-2210392", prefer: "https://google.com", }, { email: "aaa@gmail.com", name: "짱구3", phone: "010-2293-3333", personal: "222012-2210392", prefer: "https://google.com", }, { email: "aaa@gmail.com", name: "짱구4", phone: "010-2293-3333", personal: "222012-2210392", prefer: "https://google.com", }, { email: "aaa@gmail.com", name: "짱구5", phone: "010-2293-3333", personal: "222012-2210392", prefer: "https://google.com", }, { email: "aaa@gmail.com", name: "짱구6", phone: "010-2293-3333", personal: "222012-2210392", prefer: "https://google.com", }, ];// all-swagger.js/** * @swagger * /starbucks: * get: * summary: 커피 * tags: [Coffee] * parameters: * name: String * kcal: int * responses: * 200: * description: 성공 * content: * application/json: * schema: * type: array * items: * properties: * name: * type: String * example: 아메리카노 * kcal: * type: int * example: 5 */ /** * @swagger * /users: * get: * summary: 유저검색 * tags: [Users] * parameters: * name: String * kcal: int * responses: * 200: * description: 성공 * content: * application/json: * schema: * type: array * items: * properties: * name: * type: String * example: 아메리카노 * kcal: * type: int * example: 5 */
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-T 오큰수 질문
평소에는 이 문제의 a[1000004] 배열 처럼 범위에 맞게 배열을 생성하여 문제를 푸는데, 그렇게 하지 않고 입력되는 n의 값을 사용해서 딱 n만큼의 벡터를 생성해서 푸는 방법도 괜찮을까요?http://boj.kr/865bb71ffa6e4b41b151529ec145d42f
-
해결됨하루만에 배우는 express with AWS
promise() 메소드 사용 불가 문제
다음과 같은 양식으로 남겨주세요.질문을 한 배경 :질문내용 :code sandbox에서 promise 메소드가 실행이 안되네요 ㅠㅠ터미널에서 npm install mysql2 로 설치하고 db에서 데이터 조회도 잘되요근데 createPool 메소드에 체인해서 promise()를 사용하는건 안되네요도와주세요!