묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
localhost:8080 웹서버 오류
2024-06-09T19:20:09.876+09:00 INFO 32188 --- [ restartedMain] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'2024-06-09T19:20:10.052+09:00 WARN 32188 --- [ restartedMain] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning2024-06-09T19:20:10.081+09:00 INFO 32188 --- [ restartedMain] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [static/index.html]2024-06-09T19:20:10.503+09:00 INFO 32188 --- [ restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 357292024-06-09T19:20:10.542+09:00 INFO 32188 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path ''2024-06-09T19:20:10.552+09:00 INFO 32188 --- [ restartedMain] jpabook.jpashop.JpashopApplication : Started JpashopApplication in 6.897 seconds (process running for 7.432)2024-06-09T19:21:00.891+09:00 INFO 32188 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'2024-06-09T19:21:00.891+09:00 INFO 32188 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'2024-06-09T19:21:00.893+09:00 INFO 32188 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms Execution failed for task ':JpashopApplication.main()'.> Build cancelled while executing task ':JpashopApplication.main()'* 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.Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.For more on this, please refer to https://docs.gradle.org/8.7/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.BUILD FAILED in 1m 41s3 actionable tasks: 1 executed, 2 up-to-date 위와 같은 오류때문에 localhost:8080에 페이지가 제대로 표시되지않습니다. 해결부탁드립니다.
-
해결됨[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
custom partitioner 을 이용한 메세지역전 현상 해결방안
원영님 안녕하세요. 강의 항상 잘듣고있습니다.다름아니라, CDC커넥터에서 발생된 메시지 처리시 '메세지 역전현상'을 해결하기 위해 테이블의 PK값을 기준으로 특정 파티션으로 데이터가 보내질수 있도록 cusomPartitioner을 구현하고 commitSync로 메시지 순서를 보장하려고 하는데요.ex) 1번 pk -> 1번 파티션 -> 1번 consumer.2번 pk -> 2번 파티션 -> 2번 consumer.이럴 경우에 특정파티션으로 데이터가 쏠리면 스케일아웃을 한 의미가 없어지더라구요. 실시간성이 요구되는 비지니스라 일정 이상의 TPS가 나와야되거든요. 문제 접근방식이 잘못됬는지... 메시지역전문제와 TPS 성능을 위해선 컨슈머에서 다른 도구들을 이용해서 해결해야 하는건지... 확신이 안서더라구요.. 혹시 비슷한 경험을 통해서 위와같은 문제를 해결해보셨다면 조언부탁드리겠습니다. 감사합니다!
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
위치 동기화 기능구현 질문이 있습니다
선생님 안녕하세요 서버강의를 듣고 이를 응용하여 3축 좌표계에서 플레이어가 접속하면 프리팹을 생성하고, 트랜스폼 정보와 애니메이션 정보를 동기화하는 서버를 구현하였습니다.플레이어가 접속하면 생성되는 프리팹은 언리얼의 HasAuthority와 같이 로컬 클라이언트의 소유가 되어 클라이언트만 자신의 위치를 브로드캐스트하면 다른 플레어들은 위치를 수신하여 손쉽게 구현이 가능했습니다!하지만 월드에 미리 배치되어있는 무버블 오브젝트들은 어떻게 동기화를 해야하는지 궁금합니다. 누구의 소유도 아닌 공공(?)의 오브젝트들은 누가 동기화 패킷을 보내줘야하는지 어렵습니다 ㅜㅜ조금 더 설명을 하면, 특정 조건에 함수가 호출되어 움직이는 기능을 수행하는경우는 RPC로 원격지 클라이언트에서 함수를 호출할 수 있게 구현하였습니다.하지만 미리 씬에 배치되어있는 Sphere 오브젝트를 플레이어가 움직이면서 밀어RigidBody 연산으로 자연스러운 움직임을 어떻게 동기화해야하는지 잘 모르겠습니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
서버엔진 수요에 관해서 질문드립니다.
대학 게임학과에 재학 중인 학생입니다.교수님과 게임서버프로그래밍에 대해 상담을 나누는 도중교수님께서 MMORPG를 포함한 대부분의 프로젝트에서 서버를 직접 만드는 경우는 거의 없고언리얼 데디케이트, 포톤, 프라우드넷 같은 이미 만들어진 모델이나 서버엔진을사용한다고 말씀하셨는데 정말인가요?보통 반대로 대부분의 프로젝트가 게임에 맞춰 서버엔진을 제작하는 줄 알았는데제가 알던 상식과는 너무 달라서 질문드립니다.
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
서버(백앤드) 강의 문의드립니다.
국내 많은 기업들이 스프링 프레임워크를 사용중에 있는데요.. 백앤드를 스프링프레임워크로 강좌가 있으면 정말 좋겠다는 생각입니다. 이제 막 프론트단을 flutter로 검토하는 정도의 기업들이 조금씩 나타나고 있는것 같은데요.. 중견기업에서... 추후 flutter개발자가 늘어나도 스프링 프레임워크 기반의 서버(RDB포함)까지 바꾸려고 하지 않아서요... ㅠㅠ해당 회사 사정이기는 합니다만... flutter 공부하는 입장에서는 회사에서 근접한 환경들을 배우고 싶은 사람들이 저말고 있을것 같아서 말씀드립니다. 물론 회사에 서버개발자가 있기는 하지만 flutter 도입을 위해서 netjs프레임워크로 바꿀거 같지 않아서요.. ㅠㅠ 개발관련 업무 담당자의 사견이오니 무시하셔도 됩니다. 지나가면서 의견 한마디 드린정도로 생각해 주세요강의 잘듣고 있습니다. 감사합니다.
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
회원가입 당시의 토큰 발행 문의 드립니다.
질문1.강좌에는 회원가입이 없는것 같은데요.. 아이디와, 패스워드 입력으로 회원가입을 했다는 전재하에 토큰인증을 하고 있다고 보면되는 건가요?그 아이디와 패스워드는 각각 {test@codefactory.ai:testtest} 으로 사용하는 것으로 보면되는 거죠?질문2.그렇다면 회원가입 시점(id, pw를 db에 저장하는 시점)에 토큰을 발급해 주는 내용을 알 수가 없어서 질문드립니다. db에 id, pw 넣고 토큰을 즉시 발급해 주는 내용이 강좌에 없는것 같습니다. 이부분에 대한 의견을 듣고 싶습니다. 혹시 제가 못 알아보고 있는지도 알고 싶습니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
was든 웹서버든 다 서버의 역할을 하는거죠 ?
둘다 어쨌든 서버니까 http에서 배웠던 것 처럼 클라이언트랑 정보를 주고받을 수 있고, 만약에 was랑 웹서버를 둘다 쓰게 되는 경우라면(웹서버에 정적, was에 동적 데이터) 웹서버는 서버이자 동시에 was랑 통신하는 클라이언트도 되는 게 맞나요 ??
-
미해결스프링 배치
청크 기반 스텝, 서버 재기동
안녕하세요,처리해야할 데이터가 총 10000개인데청크 사이즈를 1000개로 하여 수행하던중(4000번째 데이터까지 처리되어 커밋되었습니다)4500번째 데이터를 처리하다가 서버가 재기동하였습니다.해당 스텝은 완료되지 않았기 때문에해당 스텝을 재시작할 수 있을텐데요이때 4001번째 데이터부터 (청크단위로 커밋되지 않은 데이터부터) 재시작할 수 있는 방법이 있을까요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
실제로 서버 구성을 할 경우
실제로 서버 구성을 할 경우, 강의에서 나온 서비스 기준으로 말씀드리면 user-service, catalog-service, order-service 마다 각각 다른 서버에 배치를 하는 구조로 가져가야 하는 부분일까요 아니면 한 자원에서 서비스는 여러개로 띄워 놓고 구성을 하는걸까요 마이크로서비스 적인 관점으로 어떻게 구조를 가져가야 하는지 궁금합니다~
-
미해결Slack 클론 코딩[실시간 채팅 with React]
백 서버 구축 실패 ( 패키지 설치 에러)
npm i로 패키지를 설치하려하니 이런 에러가 뜹니다. 어떤 방식으로 해결할 수 있을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
tomcat은 정확히 무슨 역할을 하는건가요?
web browser에서 localhost url을 넘겨줄때 항상 tomcat을 거쳐가는 것으로 그림이 그려져있는데, 정확히 tomcat이 어떤 것인지, 그리고 어떤 역할을 하는지 궁금합니다!
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
서버폴드 어디로 들어가면 지연시간 코드를 지울 수 있나요?
공유기 한대로컴퓨터 두대를 이용하고 있고,한대는 맥북이고, 코딩용으로 사용하고,다른 한대는 데스크탑이고, 서버용으로 사용하려고 합니다.강의에서 실제 서버사용하는 것과 같은 환경을 만들기 위해지연시간을 뒀다고 하셨는데, 서버 컴퓨터를 따로 두고 있다면지연시간을 지워도 되는 건지 궁금합니다.지운다면 어떤 경로로 들어가서 지워야되는지 알려주시면 감사하겠습니다. 추가로 질문 드릴 사항은 아래 코드에서// localhost const emulatorIp = '10.0.2.2.:3000'; const simulatorIp = '127.0.0.1:3000'; final ip = Platform.isIOS ? simulatorIp : emulatorIp;서버 컴퓨터를 따로 두는 상황에선 위 코드의 ip 주소를 동일하게 둬도 되는건가요?아니면 또 다르게 코드를 짜야하는건가요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
서버단에서 트래픽이 증가할때 포트 갯수 문의
어플리케이션 포트는 0~65535까지라고 하는데, 만약 구글서버에서 동시에 100만명의 접속자가 들어오면 클라이언트별로 포트를 다 할당하나요? 그러면 100만명을 수용 못할거 같은데 어떻게 처리하는지 궁금합니다. 만약 포트는 동일한 포트를 쓰고 app단에서 사용자 처리를 한다면 app에서는 100만명의 주소와 포트를 다 관리하는 것인지요? 감사합니다.
-
미해결
php 회원가입 db 질문 드립니다.
Fatal error: Uncaught Error: Undefined class constant 'MYSQL_ATTR_INIT_COMMAND' in C:\Apache24\htdocs\dbcon.php:8 Stack trace: #0 C:\Apache24\htdocs\index.php(2): include() #1 {main} thrown in C:\Apache24\htdocs\dbcon.php on line 8. APM 환경에서 php로 회원가입을 구현하고 싶은데 위와 같은 오류가 뜹니다. 오류 문장에 언급된 php 파일 첨부합니다.. 찾아봐도 잘 안 나오고 뭐가 문제인지 모르겠습니다. ㅇ위에서 말한 line 8은 아래입니다. 오래 붙잡았는데도 도저히 모르겠습니다.. 도와주시면 감사하겠습니다. $options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'); dbcon.php <?php $host = 'localhost'; $username = ''; $password = ''; $dbname = 'userdb'; $options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'); try { $con = new PDO("mysql:host={$host};dbname={$dbname};charset=utf8",$username, $password); } catch(PDOException $e) { die("Failed to connect to the database: " . $e->getMessage()); } $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $con->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); if(function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc()) { function undo_magic_quotes_gpc(&$array) { foreach($array as &$value) { if(is_array($value)) { undo_magic_quotes_gpc($value); } else { $value = stripslashes($value); } } } undo_magic_quotes_gpc($_POST); undo_magic_quotes_gpc($_GET); undo_magic_quotes_gpc($_COOKIE); } header('Content-Type: text/html; charset=utf-8'); session_start(); ?> index.php <?php include('dbcon.php'); include('check.php'); if(is_login()){ if ($_SESSION['user_id'] == 'admin' && $_SESSION['is_admin']==1) header("Location: admin.php"); else header("Location: welcome.php"); } ?> <!DOCTYPE html> <html> <head> <title>로그인 예제</title> <link rel="stylesheet" href="bootstrap/css/bootstrap1.min.css"> </head> <body> <div class="container"> <h2 align="center">로그인</h2><hr> <form class="form-horizontal" method="POST"> <div class="form-group" style="padding: 10px 10px 10px 10px;"> <label for="user_name">아이디:</label> <input type="text" name="user_name" class="form-control" id="inputID" placeholder="아이디를 입력하세요." required autocomplete="off" readonly onfocus="this.removeAttribute('readonly');" /> </div> <div class="form-group" style="padding: 10px 10px 10px 10px;"> <label for="user_password">패스워드:</label> <input type="password" name="user_password" class="form-control" id="inputPassword" placeholder="패스워드를 입력하세요." required autocomplete="off" readonly onfocus="this.removeAttribute('readonly');" /> </div> <div class="checkbox"> <label><input type="checkbox"> 아이디 기억</label> </div> </br> <div class="from-group" style="padding: 10px 10px 10px 10px;" > <button type="submit" name="login" class="btn btn-success">로그인</button> <a class="btn btn-success" href="registration.php" style="margin-left: 50px"> <span class="glyphicon glyphicon-user"></span> 등록 </a> </div> </br> </form> </div> </body> </html> <?php $login_ok = false; if ( ($_SERVER['REQUEST_METHOD'] == 'POST') and isset($_POST['login']) ) { $username=$_POST['user_name']; $userpassowrd=$_POST['user_password']; if(empty($username)){ $errMSG = "아이디를 입력하세요."; }else if(empty($userpassowrd)){ $errMSG = "패스워드를 입력하세요."; }else{ try { $stmt = $con->prepare('select * from users where username=:username'); $stmt->bindParam(':username', $username); $stmt->execute(); } catch(PDOException $e) { die("Database error. " . $e->getMessage()); } $row = $stmt->fetch(); $salt = $row['salt']; $password = $row['password']; $decrypted_password = decrypt(base64_decode($password), $salt); if ( $userpassowrd == $decrypted_password) { $login_ok = true; } } if(isset($errMSG)) echo "<script>alert('$errMSG')</script>"; if ($login_ok){ if ($row['activate']==0) echo "<script>alert('$username 계정 활성이 안되었습니다. 관리자에게 문의하세요.')</script>"; else{ session_regenerate_id(); $_SESSION['user_id'] = $username; $_SESSION['is_admin'] = $row['is_admin']; if ($username=='admin' && $row['is_admin']==1 ) header('location:admin.php'); else header('location:welcome.php'); session_write_close(); } } else{ echo "<script>alert('$username 인증 오류')</script>"; } } ?>
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
Express.js 와 서버에 관해 질문 있습니다.
안녕하세요~ 제로초님 Q1. 몽고DB 같은 경우는 아틀라스 같이 데이터를 저장할 수있는 유료 공간이 따로 있으니까, 거기에 저장되는지 알겠는데요. MySQL같은 경우는 대체 어디에 저장되서, 데이터를 불러오는 건지 잘 모르겠습니다. 아직, 배포 전이라면, MySQL의 데이터는 제 로컬 컴퓨터에 저장 되는 건가요?? Q2. Express.js는 서버에 요청하고 응답을 받는 문법이니까 이 코드를 잘 짜도 데이터를 받아오는 속도에 엄청난 차이가 있지는 않을 것같은데요. 왜 Next.js 가 나온 건가요?? Q3. 요즘 벡엔드에도 관심이 많아져서, 벡엔드 개발자가 되는 법에 대해서 알아보니까, 다들 자바의 Spring으로 많이 시작하던데요. 벡엔드 개발자가 되려면, JS의 Node.js 와 Express.js 만으로는 부족한가요?? 다시 말해서, 벡엔드 개발자로 취업을 하려면. 반드시 자바를 배워서 Spring을 배워야 하나요?? 벌써 불금이네요. 좋은 밤 보내시고, 주말에도 좋은 일만 가득 하시길 바랍니다 :)
-
미해결
lecture-vue-trello-server 폴더 위치
안녕하세요! vue-trello 듣고 있는 중인데 https://github.com/jeonghwan-kim/lecture-vue-trello-server 이 폴더를 복사해서 서버 띄우는거 까지는 성공했습니다. 근데 폴더 위치가 사진처럼 있어도 되는건가요? 아니면 client 랑 별개로 server폴더가 생성되어야 하나요??
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
서버 보안 관련 질문 드립니다!
안녕하세요, 항상 강의 정말 재미있게 수강하고 있습니다! 서버의 구조가 어떤지, 어떻게 동작하는지 전반적으로 알 수 있게 되어서 루키스님께 정말 감사할 따름입니다. 강의를 듣고나서 추가적으로 궁금한 점이 생겨서 질문 드립니다! 강의에서 만든 TCP 서버(게임 서버)와 클라이언트가 패킷을 주고 받을 때 현업에서는 어떻게 보안 처리를 하는지 궁금합니다. 현재 서버 구조는 패킷 전체를 암호화한다면 패킷 헤더에 있는 내용을 읽을 수 없어서 ReadBuffer에서 몇 바이트를 읽어와야 하는지 알 수 없게 될텐데 게임 서버 구조가 이러한 구조라면 헤더는 빼고 암호화를 하여 보안처리를 해야 복호화 후에 데이터를 읽어올 수 있을 것 같아서요. 아니면 다른 방법을 사용하는 것인지 궁금합니다!
-
미해결
프로드와 스테이징
안녕하세요 콘텐츠 디자이너입니다. 이번에 회사에서 신규 사업으로 앱 개발을 하는데 제가 테스트랑 디자인에 참여하게 되었어요. 근데 배포된 앱과 테스트용 앱을 각각 프로드, 스테이징이라고 부르더라고요. 프로드와 스테이징의 어원은 뭐며 이런 용어들은 어디서 공부할 수 있을까요?
-
미해결무차별 대입 공격(bruteforce attack) with Python
서버가 업데이트가 안 돼요...
알맞게 쓴 거 같은데 서버가 업데이트가 안 돼요ㅜㅜㅜㅜㅜ 어떻게 해야하나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
서버가 다운된다면 ?
멀티스레드 파트 듣고 궁금증이 생겨 질문 드립니다. 만약 제가 서비스를 운영하던 중 트래픽 때문에 서버가 죽어버린 경우 서버 증설을 할수 없다는 가정 하에 어떤 방법으로 이슈를 처리해야 할까요 ? 가정을 하나만 세워놓는게 제가 원하는 답변을 받을 수 있을 것 같아 질문 수정 하겠습니다 ' 마이크로 서비스를 사용하지 않는 상태, 새벽시간에 과도한 트래픽이 유입되는 상황, 작은 규모의 개발 이기 때문에 서버 증설이 어려운 경우 ' -> 미리 대비를 하지 못함. 만약 위라는 가정 하에 was서버가 다운이 되어버린다면 백엔드 개발자로서 당장 취해야 하는 조치는 어떤 것이 있을까요 ?