"translate("+ x값 + "px, " + Y값 +"px)"; 이부분이 이해가 안가네요 ;; 왜 쌍따옴표를 저런식으로 하셨는지... 그리고 초보자를 위한 강의라고 하셨으면서...ㅠㅠ 그냥 강사님 혼자 코딩을 치시는 것 같은 느낌이 들어요;; 무음으로 해 놓고 영상만 켜놓고 수업듣는 기분입니다;;; 밑에 설명도 명확하지 않고;; 어떤 변수/ 객체가 어떤 역할을 하는지 전혀 모르겠어요;;
위와같은 에러때문에 한시간동안 설정만 하다가 도저히 모르겠어서 질문 드립니다. 이거 외에 더 만질게 있나요? 분명 설치할건 다 한 것 같은데 자꾸 에러가 발생하네요.. 그리고 강의 때 쓰신 코드 강의 차수별로 커밋 올려주시거나 끝에서 정리한번 해주시면 훨씬 좋을 것 같아요. 완성된 코드밖에 없으니 이번 강의 때 뭘 빠뜨렸는지 정리해서 보기가 힘드네요
회원가입 페이지 구현 후 실행하니 T he session is unavailable because no secret key was set 이런 에러가 발생하는데요, 어떻게 해결해야하는지 궁금합니다. run.py 코드는 첨부합니다.그리고 강의를 보면서 작성하다보면 똑같이 작성한 것 같은데도 에러가 발생하는 경우가 많아서요.. 혹시 강의 코드도 받아볼 수 있을까요? from flask import Flask from flask import request from flask import render_template from flask_pymongo import PyMongo from datetime import datetime from bson.objectid import ObjectId from flask import abort from flask import redirect from flask import url_for from flask import flash 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_timestamp = time.time() offset = datetime.fromtimestamp(now_timestamp)-datetime.utcfromtimestamp(now_timestamp) 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" : { "®ex" : keyword}}) elif search == 1 : search_list.append({ "contents" : { "®ex" : keyword}}) elif search == 2 : search_list.append({ "title" : { "®ex" : keyword}}) search_list.append({ "contents" : { "®ex" : keyword}}) elif search == 3 : search_list.append({ "name" : { "®ex" : keyword}}) if len (search_list) > 0 : query = { "$or" : search_list} print (query) board = mongo.db.board #skip (2번쩨 페이지-1)*10 -> 앞페이지 10개 skip, 이후부터 10개까지 출력 datas =board.find(query).skip((page - 1 ) * limit).limit(limit) #게시물의 총 갯수 tot_count = board.find(query).count() # 마지막 페이지의 수 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 =datas, limit =limit, page =page, block_start =block_start, block_last =block_last, last_page_num =last_page_num) @ app.route ( "/view/<idx>" ) def board_view ( idx ): #idx = request.args.get("idx") if idx is not None : 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" ) } return render_template( "view.html" , result =result) 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 #있으면 리턴 없으면 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 =[ "GET" , "POST" ]) def member_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.members cnt = members.find({ "email" : email}).count() 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, "logintime" : " " , "logincount" : 0 } members.insert_one(post) return "" else : return render_template( "join.html" ) if __name__ == "__main__" : app.run( debug = True , host = "0.0.0.0" , port = 9000 ) 강의와 관련있는 질문 을 남겨주세요. • 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등) • 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색 을 해주세요. (중복 질문을 자제해주세요.) • 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’ 를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달 에도 요령이 필요합니다. • 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요. • 강의실 페이지 (/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다. • 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재 해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드 를 남겨주세요! 구체적인 질문 일수록 명확한 답을 받을 수 있어요. • 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요. • 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요 . • 정확한 질문 내용과 함께 코드 를 적어주시거나, 캡쳐 이미지 를 첨부하면 더욱 좋습니다. 기본적인 예의 를 지켜주세요. • 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용 은 스팸 처리 등 제재를 가할 수 있습니다.
테스트 케이스를 작성할 때 @Transactional을 사용하면 default가 rollback이라서 insert 쿼리가 나가지 않는다고 하셨습니다. rollback을 false로 하고 수행할 때의 커밋 시점이 언제인지 궁금합니다. 코드 상으로는 persist까지만 했는데 @Transactional 어노테이션을 사용해서 자동적으로 커밋을 해주는 것 같은데 맞나요?
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
그래픽스 지식이 관련한 지식이 거의 없는 상태에서 들으려니 장치 초기화부터 너무 어렵고 막막합니다. 프랭크루나의 3D 게임 프로그래밍 입문 책도 그래픽스 지식없이 읽으려니 어려워서 그래픽스 입문하는 사람들이 책에서 어렵게 느낄 수 있는 부분들을 쉽게 설명해주실거라 생각했는데 설명도 어렵고 너무 빨라서 따라가기가 힘드네요ㅠㅜ 강의를 반복해서 들어야 하는 걸까요?
제공해주신 샘플 코드 확인해보았습니다. 재설치하고 다시 돌려보는 여러가지의 과정을 거쳤는데요. ------------에러 상황----------------------- 1. DarkNetSetUp.ipynb 에서 yolo컴파일 문장인 !make 를 실행했을때 error가뜨는 문제 2. FruitCustomYolo.ipynb에서의 마지막 문장 실행했을 때 에러 제공해주신 샘플 코드에서도 안되는것으로 보아 드라이버 오류인것 같더라구요. (이전버전인 cudnn 10.1 사용 중) (cudnn 설치과정 : 11.0버전을 설치하려고 해도 tgz가 아닌 solitairetheme8로 받아집니다) 그래서 저번에 말씀하신 문제 해결하지 못했을 때 이 문제를 해결하는 다른 방법에 대해서 듣고 싶습니다. 감사합니다
안녕하세요. 강의를 듣다가 궁금한 점이 생겨서 질문을 남깁니다! bxslider 이미지 위에 도트 이미지를 겹칠 때, position:absolute 대신 float를 쓰면 왜 안될까요?(강의와 동일한 코드인데, 도트 이미지 속성에만 position대신 float: left를 썼습니다.) 도트 이미지한테 float:left를 주고, bxslider에겐 아무것도 주지 않으면, 도트 이미지만 float로 붕 뜨게 되고, bxslider가 밑에 깔려야되는게 아닐까요? 아래 사진 (https://amaze9001.tistory.com/62) 처럼 생각하고 해봐도 안되네요.. 두 이미지가 각각 줄 씩 차지하게 됩니다. bxslider와 도트 이미지 둘 다 width:100%, height:100% 이라 float를 써도 넘쳐버리는 걸까요?ㅜㅠ
안녕하세요. 강의를 보면서 이런저런 기능을 구현해보고 있는데요. 혹시 API에서 "/api/{TABLE_NAME}"으로 get 을 보내 받아온 TABLE_NAME과 일치하는 테이블을 찾아 해당 테이블의 값을 모두 findAll 하게 할 수 있나요? 복수의 테이블에 대하여 각각 findAll을 하고자 할때 테이블별로 API를 만드는 방법밖에 없는지 궁금합니다. 테이블마다 구조는 각각 다릅니다. 따라서 테이블마다 entity와 repository는 만들어줄 수밖에 없을 것같은데 {TABLE_NAME}을 해당하는 entity와 repository를 찾도록 분기문을 하는게 최선일까요? 네이티브 쿼리도 생각해 봤는데 가능하면 쿼리 사용안하고 해보고 싶은데 검색해봐도 잘 모르겠네요. 조언 부탁드립니다. 감사합니다.
선생님이 앵간하면 연관관계의 주인을 FK를 가지고 있는 테이블(클래스)로 주인으로 하시라고 가르쳐주셨는데 (의도치 않은 update쿼리 가 나가기에) 이 경우에는 왜 Member 클래스 안에 있는 @OneToMany로 매핑되어있는 List<addressEntity> 에게 @JoinColumn을 해주신건가요?
다항 회귀에 와서 약간 어려움을 겪고있어서 처음 질문을 드립니다. 단일회귀가 선으로 회귀면, 다중 회귀는 평면으로 이해했습니다. 1. 피쳐가 한개인 데이터가 비선형적으로 나온 경우 polynomialFeatures를 통해 피쳐를 임의로 늘려준다고 배웠습니다. 그렇다면 다항회귀도 결국 피쳐가 늘어난 다중회귀라고 생각되는데, 그럼 degree를 엄청 높이면 공간상에 저희가 알수 없는 고차원의 것으로 회귀된다고 보면 되나요? 2. 다항회귀를 통해 회귀된 고차원의 것이 있다면, 그것을 x1 피쳐 단면에 의해서만 보이게 짤랐기 때문에 아래 사진처럼 2차원으로 관찰 할수 있다고 보면 될까요?
강의에서 시용하는 keystore는 버전이 3이고 현재 제 keystore 버전은 4여서 그런지 비밀번호 입력시 비밀번호가 일치하지 않다고 하고 콘솔에 "This is not a V3 wallet." 이란 경고 메시지가 떠요. 콘솔로 에러 확인하니까 TypeError: Cannot read property 'kdf' of undefined at Accounts.decrypt (index.js:521) at Object.handleLogin (index.js:52) at HTMLButtonElement.onclick ((index):63) 구글 검색해도 뭔지 모르겠네요.. 도움이 필요합니다.