묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결기출로 대비하는 개발자 전공면접 [CS 완전정복]
context switching시 캐시 메모리 초기화 시간의 비중
multi thread는 multi process보다 Context switching 시 캐시 메모리를 초기화할 필요가 없어서 속도가 빠릅니다. 1. 이 부분에서 궁금한게 생겼는데 Context switching 시간에 영향을 미치는 여러 요인 중에 캐시 메모리 초기화가 큰 비중을 차지하기 때문인가요? 2. 다른 요인에는 무엇이 있고 캐시에는 어떤 정보가 들어가게 되나요? 감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
제네릭 클래스
안녕하세요, memberV2 메소드에서 return new Result(collect); 에 대한 부분을 잘 모르겠어서 질문드립니다. 제네릭 클래스 인스턴스를 생성할 때 클래스 내부에서 사용할 데이터 타입을 외부에서 지정해야하는 것이 아닌가요?? 영한님께서 11:36 초 쯤에 말씀하신 것 처럼 타입을 지정하지 않으면 알아서 Object 타입으로 되는 건지 정확한 동작 방식을 잘 모르겠습니다. 제가 제네릭에 대한 이해가 많이 부족한거 같아서 질문드립니다.ㅠㅠ 항상 답변 감사드립니다.
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
플로이드 워셜 알고리즘(1->5) 경우
i가 1, j가 5, k가 2인경우에 (1,5) 와 (1,2)+(2,5) 가 비교되는 경우가 생기는데 (2,5)의 값 같은경우 이전에 k=1일때 (2->1->5)의 값과는 계산해서 비교해 보았지만 반복문의 순서에 따라 k가 2,3,4,5 인 경우 즉 (2->3->5), (2->4->5) 이런경우들과 값을 비교해 보지 못하였다고 생각되는데 최솟값이라고 할 수 있는건가요?
-
해결됨만들면서 배우는 Svelte
강의 도중 궁금한 것이 있습니다!
2가지 인데요! 1번째. function handleEditTodoItem(editTodo){ todos = todos.map(todo => { if(todo.id === editTodo){ todo = editTodo } return todo }) editMode = '' } 이 2번째 줄 todos = todos.map(todo => 이 부분에 todo => 이게 무엇을 의미하는 것인지 정확히 잘모르겠어요 ㅠㅜ... 그리고 이 함수의 실행 원리가 무엇인지 잘 이해가 안되요 ㅠㅜ 2번째. <input type="text" bind:value={todo.content} on:focusout={() => handleEditTodoItem(todo)}> 위 코드에서 handleEditTodoItem을 실행하게 되면 todo라는 매개변수가 함수에 들어가는 것이 잖아요 그러면 todolist.svelte에서 {#each} 구문을 사용해서 반복 구문을 만들고 리스트 중에 한개를 todo라고 이름을 정한 것 이잖아요(맞나요..? 아래코드처럼!) <div class="main"> <ul> {#each fetchTodos as todo} <li> <Todoitem {todo} {handleCheckTodo} {editMode} {handleChangeEditMode} {handleEditTodoItem} {handleRemoveTodo}/> </li> {/each} </ul> </div> 그러면 지금 저기 매개변수로 넣은 값이 {#each fetchTodos as todo} 여기의 마지막 todo를 얘기하는 것이 맞나요 ㅠㅜ?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
ㅇㅇ
강의 보면서 설명 차근차근 해주셔서 다시 생각하다보면 이해할 수 있어서 좋은데 그럼에도 코딩을 처음 접해서 그런가 이해가 안되는 부분이 좀 많아요ㅠ 하나하나 다 질문하기에도 많고 강의 보면서 같이 참고할 책같은거는 없나요? 추천좀 해주세여
-
미해결
taxi in haridwar
Haridwar to Haridwar taxi administration and Haridwar vehicle rental help give by Haridwar taxi booking. what's more, is offer best rates and Fares for Haridwar to taxi in haridwar, Haridwar taxi from haridwar, Haridwar to Haridwar one way taxi administration, Round trip Haridwar taxi administration from haridwar with safe Journey and simple taxi booking process with markdown. Haridwar to Haridwar distance by taxi is approx 290 kms and Haridwar to Haridwar travel time by taxi approx 12 Hrs.. Read More:- https://www.haridwartaxiservices.com/Address: SCO - 2, Nursing Bhawan. Upper Road,Haridwar - 249401 Uttarakhand (INDIA)Email: mail@haridwartaxiservices.com | haridwartaxiservicess@gmail.comPhone: +91 9012290007
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Listener 관련 질문
강의 내 1:45초쯤 더 많은 손님을 받을수 있도록 Listener에 for문을 추가하였습니다. RegisterAccept -> (socket.AcceptAsync) -> OnAcceptCompleted -> RegisterAccept로 이어지는 loop가 10개 생성되었다고 이해했습니다. 그렇다면 하나의 ListenSocket에 10개의 loop가 묶여있는 상태에서 client로부터 온 소켓들이 어떻게 하나씩 배치될수 있나요? 다른 loop에 같은 소켓이 배치될수도 있을것 같은데 아무리 생각해도 이 부분이 이해가 잘 안가서 질문드립니다. 강의 잘 수강하고 있습니다. 감사합니다.
-
미해결누구나 쉽게 따라하며 배우는 - 애프터이펙트 입문 강좌
3강 마지막에서 애니메이션 만드는 기능 설명.
안녕하세요? 동영상 잘알못이라 독학도 어려워 수강하게 되었습니다.! 3강 마지막에서 타임라인 설정하는 법을 짤막하게 설명해주셨는데 잘 이해가 가지않아서 질문을 올리게 되었습니다. 트위닝? 하는 과정이 간략히 설명해주신게 원리가 잘 이해가 가지않는데 강의처럼 오더비이펙트에서 똑같이 움직여봐도, 된건지 안된건지 잘 모르겠어요.ㅠㅠ
-
미해결ESXi 가상 인프라 구축과 보안 솔루션을 활용한 이상징후 탐지 모니터링
http server
스플렁크 설치 중에 mobaxterm 에서 http 서버 스타트 로딩중에서 진행이 안됩니다. 어떻게 해야할까요 ㅠ
-
해결됨남박사의 파이썬으로 실전 웹사이트 만들기
모듈화 과정에서 pylint 오류가 잔뜩나면서.. 직접 임포트를 하더라도 해결이 안되던데 왜그럴까요?
안녕하세요 남박사님..! 계속 질문 해서 죄송합니다..ㅠ 이번은 모듈화 과정에서 계속 문제가 나서 어떻게 해야할까 해서 질문을 올립니다..! 코드가 아예 먹통이 되는거 같더라구요..! 직접 임포트해서 넣은 common,py / filter.py 는 pylint 내용은 나오더라도 오류는 안나는데.. 다른거는 직접 넣어도 전부 오류가 나오네요..! 다른분들이 올리신 글보고 vscode settings에서 format on save 체크가 되어 있어서 해제 했습니다! 이 부분도 이렇게 추가해서 해봤는데 같았습니다! from main import member from main import board from main.filter import format_datetime from main.common import login_required board.py 코드 부분에서 edit 에 is data in None: <<< None이 빨간줄로 표시가 나오던데 왜그런걸까요? @app.route("/edit/<idx>", methods=["GET", "POST"]) def board_edit(idx): if request.method == "GET": board = mongo.db.board data = board.find_one({"_id": ObjectId(idx)}) if data in None: flash("해당 게시물이 존재하지 않습니다.") return redirect(url_for("lists")) else: if session.get("id") == data.get("writer_id"): return render_template("edit.html", data=data) else: flash("글 수정 권한이 없습니다.") return redirect(url_for("lists")) else: title = request.form.get("title") contains = request.form.get("contents") board = mongo.db.board data = board.find_one({"_id": ObjectId(idx)}) if session.get("id") == data.get("writer_id"): board.update_one({"_id": ObjectId(idx)}, { "$set": { "title": title, "contents": contains, } }) flash("수정 되었습니다.") return redirect(url_for("board_view", idx=idx)) else: flash("글 수정 권한이 없습니다.") return redirect(url_for("lists") - 터미널 오류- -pylint 추가오류- - 코드오류 -1 - 기존 임포트 처럼 전부 넣어도 오류가 나오네요.. flaek8 로 변경해도 똑같습니다..! - 코드오류 -2 - - 코드 오류-3- -코드 내용- - run.py- from main import app if __name__ == "__main__": app.run(host="0.0.0.0", debug=True, port=9000) --------------------------------------------------------------------------------------- - __init__.py - from flask import Flask from flask import request from flask import render_template from flask_pymongo import PyMongo from bson.objectid import ObjectId from datetime import datetime, timedelta from flask import abort from flask import redirect from flask import url_for from flask import flash from flask import session import math import time from . import member from . import board from .filter import format_datetime from .common import login_required app = Flask(__name__) app.config["MONGO_URI"] = "mongodb://localhost:27017/myweb" app.config["SECRET_KEY"] = "abcd" app.config["PERMANENT_SESSION_LIFETIME"] = timedelta(minutes=30) mongo = PyMongo(app) -------------------------------------------------------------------------------------- -board.py- from main import * from flask import Flask from flask import request from flask import render_template from flask_pymongo import PyMongo from bson.objectid import ObjectId from datetime import datetime, timedelta from flask import abort from flask import redirect from flask import url_for from flask import flash from flask import session import math import time @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({}).skip( (page - 1) * limit).limit(limit).sort("pubdate", -1) # 게시물의 총 갯수 tot_count = board.count_documents({}) # 마지막 페이지의 수를 구한다. 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>") @login_required 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)}) data = board.find_one_and_update({"_id": ObjectId(idx)}, { "$inc": {"view": 1}}, return_document=True) 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"), "writer_id": data.get("writer_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 session.get("id") is None: return redirect(url_for("member_login")) 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, "writer_id": session.get("id"), "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("/edit/<idx>", methods=["GET", "POST"]) def board_edit(idx): if request.method == "GET": board = mongo.db.board data = board.find_one({"_id": ObjectId(idx)}) if data in None: flash("해당 게시물이 존재하지 않습니다.") return redirect(url_for("lists")) else: if session.get("id") == data.get("writer_id"): return render_template("edit.html", data=data) else: flash("글 수정 권한이 없습니다.") return redirect(url_for("lists")) else: title = request.form.get("title") contains = request.form.get("contents") board = mongo.db.board data = board.find_one({"_id": ObjectId(idx)}) if session.get("id") == data.get("writer_id"): board.update_one({"_id": ObjectId(idx)}, { "$set": { "title": title, "contents": contains, } }) flash("수정 되었습니다.") return redirect(url_for("board_view", idx=idx)) else: flash("글 수정 권한이 없습니다.") return redirect(url_for("lists")) @app.route("/delete/<idx>") def board_delete(idx): board = mongo.db.board data = board.find_one({"_id": ObjectId(idx)}) if data.get("writer_id") == session.get("id"): board.delete_one({"_id": ObjectId(idx)}) flash("삭제 되었습니다.") else: flash("삭제 권한이 없습니다.") return redirect(url_for("lists")) ------------------------------------------------------------------------------------------------------- - member.py - from main import * @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 == "" or email == "" or pass1 == "" or pass2 == "": flash("입력되지 않은 값이 있습니다.") return render_template("join.html") if pass1 != pass2: flash("비밀번호가 일치하지 않습니다.") return render_template("join.html") members = mongo.db.members 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, "logintime": "", "logincount": 0, } members.insert_one(post) return redirect(url_for("member_login")) else: return render_template("join.html") @app.route("/login", methods=["GET", "POST"]) def member_login(): if request.method == "POST": email = request.form.get("email") password = request.form.get("pass") next_url = request.form.get("next_url") members = mongo.db.members data = members.find_one({"email": email}) if data is None: flash("회원 정보가 없습니다.") return redirect(url_for("member_login")) else: if data.get("pass") == password: session["email"] = email session["name"] = data.get("name") session["id"] = str(data.get("_id")) session.permanent = True if next_url is not None: return redirect(next_url) else: return redirect(url_for("lists")) return redirect(url_for("lists")) else: flash("비밀번호가 일치하지 않습니다.") return redirect(url_for("member_login")) return "" else: next_url = request.args.get("next_url", type=str) if next_url is not None: return render_template("login.html", next_url=next_url) else: return render_template("login.html") -------------------------------------------------------------------------------------------------- - common.py- from functools import wraps from main import session, redirect, request, url_for def login_required(f): @wraps(f) def decorated_function(*args, **kwargs): if session.get("id") is None or session.get("id") == "": return redirect(url_for("member_login", next_url=request.url)) return f(*args, **kwargs) return decorated_function ------------------------------------------------------------------------------------------------------- - fliter.py - from main import app, datetime, time @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')
-
해결됨탄탄한 백엔드 NestJS, 기초부터 심화까지
PickType 에서 as const
PickType 에서 파라미터 적을때 ['aaa','vvv','ccc'] as const 배열안에 파라미터 넣고 as 로 형변환 시키는데 하는 이유가뭔가요? as const 안해도 오류가 안나는데 이유가 있나 해서요
-
해결됨홍정모의 따라하며 배우는 C언어
텍스트 파일 입출력 예제에서 텍스트 파일을 못찾는 것 같아요,,
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> int main(int argc, char* argv[]) { int ch; FILE* fr; unsigned long count = 0; if (argc != 2) { printf("Usage : %s filename\n", argv[0]); exit(EXIT_FAILURE); } if ((fr = fopen(argv[1], "r")) == NULL); { printf("Can't open %s\n", argv[1]); exit(EXIT_FAILURE); } while ((ch = fgetc(fr)) != EOF) { fputc(ch, stdout); count++; } fclose(fr); printf("FILE %s has %lu characters\n", argv[1], count); return 0; } 코드도 맞게 작성했고 파일 이름이랑 다 맞게 했는데 이렇게 나오네요. . . , , , , , , ,ㅠㅠ 문제가 뭘까요....?! 크아악
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
엔티티를 DTO로 변환하는 단계 질문있습니다!
해당 단계는 controller에서 이루어지는게 좋은가요, service에서 이루어지는게 좋은가요?
-
미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
인스턴스간 비교 질문
인스턴스간 비교할때, 어느경우 is를 사용하고 어느경우 ==을 사용하는지 알고 싶습니다. 예를들어 아래와 같이 car2와 car3 내부 값이 동일한경우, car2 = Car('Bmw', {'color': 'Black', 'horsepower':'270', 'price':5000}) car3 = Car('Bmw', {'color': 'Black', 'horsepower':'270', 'price':5000}) 아래와 같이 == 이나 is로 비교했을 경우 모두 False가 나옵니다. Q. 인스턴스 끼리 비교할때 is 와 ==의 차이점이 무엇인가요? Q. 실제로 다른 인스턴스끼리 값이 같은 경우 True가 나오게 하는 방법은 없을까요? print(car2 == car3) print(car2 is car3)
-
미해결우디의 일러스트레이터 강좌
패스파인더 디바이드(나누기)가 안되요
제곧내입니다 저는 선생님처럼 잘린채로 선택이 안되요 ㅜㅜ
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
이미지 태그 src 경로 설정시 CORS 이슈가 발생하는 분들
질문은 아니지만 간단히 해결할 수 있어 글 남기고 갑니다. 저의 경우 상품등록 페이지를 만들다 localhost:5000/${file} 이 cors 이슈가 있어 이미지 미리보기 기능이 구현이 안되었습니다. 아래와 같이 백엔드 서버에 cors를 해결하는 access control 부분을 추가 해보시길 바랍니다. app.get('*', (req, res) => { res.header("Access-Control-Allow-Origin","*"); res.sendFile(path.join(__dirname, '/public/index.html')); });
-
해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
RewritePath가 제대로 작동하지 않아서 404에러가 계속 뜹니다...
이렇게 설정 하였지만, UserController requestMapping부분에서 user-service 부분을 빼고 요청 보내면 자꾸 404 에러가 뜹니다.. 그래서 다시 userController requestMapping에 user-service를 추가하니깐 404 에러 없이 데이터를 가져 오더라구요.. 그래서 지금 login 부분을 계속 실패하고 있는데, 뭐가 잘못되었는지 알 수 있을까요?? 아 참고로 - RewritePath=/user-service/(?<segment>.*),/$\{segment} 이 모양과 - RewritePath=/user-service/(?<segment>.*), /$\{segment} 이 모양 둘다 해봤지만 결과는 계속 404 에러를 리턴합니다..
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
GameManger에서 코루틴을 사용하고 싶은데 에러가 납니다
게임 매니저 스크립트에서 코루틴을 사용하고 싶어서 작성을 했는데 StartCoroutine 함수가 존재하지 않아서 게임 매니저에 MonoBehaviour를 상속받게 해봤습니다. 그런데 테스트를 해보니 다음과 같은 에러가 나네요. 아마도 인스펙터에 객체를 생성하지 않아서인듯 합니다. NullReferenceException UnityEngine.MonoBehaviour.StartCoroutine (System.Collections.IEnumerator routine) (at <9899854e5b05425ab27d31f737cde095>:0) 이 문제를 어떻게 해결하면 좋을까요? 코루틴용 스크립트를 따로 만드는 게 해결책일까요?
-
미해결이펙티브 자바 완벽 공략 1부
ListQuiz 답
안녕하세요 기선님 아래와 같이 퀴즈를 풀었었는데 기선님은 Comparator를 정의(구현)하여 푸셨더라고요 저와 같이 Collections.reverseOrder() 를 사용한건 문제의 의도와 달랐던걸까요? public static void main(String[] args) { ArrayList<Integer> arrayList = new ArrayList<>(); arrayList.add(10); arrayList.add(100); arrayList.sort(Collections.reverseOrder()); System.out.println(arrayList);}
-
미해결
장고(pycharm)에서 python manage.py migrate를 입력했는데 에러가 납니다.
제가 pycharm으로 장고를 공부하는 중인데 DB를 만들려고 python manage.py migrate를 입력했습니다 위와 같이 출력값이 나와야지 정상인데 python 이렇게만 출력이 되고 더 이상 진행이 안 됩니다. 뭐가 문제인지 모르겠습니다.