#was

질문 4
해시태그 없이 키워드만 일치하는 질문은 개수에 포함되지 않아요.

9달 전 · 이태영 님의 질문 업데이트

백엔드 애플리케이션 프레임워크를 개발 중인 학생입니다. 조언을 구하고자 합니다.

[ 서론 ] Low-level 이해도 향상, 객체 지향적 사고 증진, 공부량 증가를 위해 Spring 느낌의 프레임워크를 개발하려 합니다. [ 본론 1 ] 프레임워크 사용자의 편의성 확대를 위해, MVC의 Controller에 해당하는 영역을 어떻게 설계해야할지 고민 중에 있습니다. 아래 코드 블럭에 나열한 코드 중 개발하며 재미를 느끼실 것 같은 항목을 투표 영역에서 투표해주시거나, 답변을 통해 더 나은 방안을 추천해주시면 감사하겠습니다. [ 본론 2 ] (개인적으로 느끼기에) 매우 거대한 프레임워크를 혼자 개발하고 있는 만큼, 많은 문제와 고민에 봉착하고 있습니다. 이와 관련해 현직자 분들의 소중한 조언을 구하고자 합니다. 부디 시간 들여주시어 답변해주시면 감사하겠습니다. [ 결론 ] 프레임워크 개발이라는 저에겐 다소 어려운 길에 있어 조언을 구하고자 합니다. 부디 소중한 시간내어 답변 남겨주시면 정말로 감사드리겠습니다. ... 현재 소프트웨어 계열 고등학교에 재학 중이며, 백엔드 개발자가 되기 위해 공부하고있는 2학년 학생입니다. 최근 들어, 면접을 경험하신 선배 분들과 조금 대화를 나누다보니 제 지식 수준이 매우 낮다는 것을 깨닫게되었습니다. HTTP, TCP 등 (TCP/IP 4계층 모델 기준) 3,4 계층 프로토콜의 통신 과정, 데이터베이스와 Java 애플리케이션의 Low-Level(JDBC, R2DBC 혹은 더 낮은 수준) 통신 과정, 프레임워크를 사용하는 이유, 그 외 기타 등등. 조금은 깊은 지식에서부터, 원초적인 것들까지, 백엔드 개발자로서 알아야할 것들에 대해 제 수준이 턱없이 부족함을 느끼고 있습니다. 그럼에도 불구, 슬럼프와 비슷한 상태에 빠져있어 작년보다 공부량도 적어졌고, 의지와 기운도 많이 상실한 상태입니다. 아마도 구체적인 목표가 없기에 그런 게 아닌가 하여 공부도 겸하고, 저 자신을 자극할만한 거대한 목표를 한 가지 잡았습니다. Java 백엔드 애플리케이션 프레임워크를 만든다는, 저에겐 어쩌면 지나칠 수도 있는 어려운 도전에 임해보려 합니다. 프레임워크 하나를 기획할 시간을 없기에 Spring의 추상적인 틀을 기반으로 개발-수정 프로세스로 진행하고자 합니다. 프레임워크 주도의 IoC 컨테이너, 어노테이션 기반의 모듈(Spring과 Java에서의 Bean 개념) 관리, 클래스 단위의 설정 정보 관리가 프레임워크의 주요 포인트입니다. Spring의 Core 모듈에 해당하는 기반 프레임워크가 IoC 컨테이너를 포함해 부분적으로 구현되어있습니다. 그리고 현재 Spring Web, Spring MVC 등에 해당하는 WAS 프레임워크 구현을 시작한 상태입니다. MVC에서 Controller에 해당하는 부분을 디자인하는 과정에 있는데, 현직자분들의 생각하시는 최선의 Controller 디자인에 대해 의견을 수집하고자 합니다. 포함된 코드 블럭은 대중적인 프레임워크의 Controller/Router 디자인들입니다. 각 디자인별로 선호하시는 항목에 대해 부여된 번호를 투표를 통해 선택해주시면 감사하겠습니다. 또한 이 프로젝트에 대해 조언 혹은 비판, 의견을 답변 혹은 메일, 링크드인 통해 남겨주시면 대단히 감사드리겠습니다. 그 외 개인적인 문의 사항과 제안 또한 환영합니다. leetyxodud312@gmail.com 아래는 프레임워크 깃허브 주소입니다. 문서화 작업은 진행 중에 있어 다소 부끄러운 수준입니다. 양해 부탁드립니다. https://github.com/Project-Smoodi 끝까지 읽어주심에 다시 한 번 감사의 말씀 드립니다.

투표

개발자

#framework

#java

#개발

답변 0

댓글 0

조회 364

9달 전 · 익명 님의 질문

NavigationContainer 중첩 오류

안녕하세요, RN(Expo)로 React Navigation을 적용하다 오류가 해결되지 않아서 질문드립니다. expo를 통해 다음과 같이 index.js에 React Navigation을 적용했습니다. import { store } from "@/redux/store"; import MainScreen from "./screens/MainScreen"; import { Provider } from "react-redux"; import { NavigationContainer } from "@react-navigation/native"; import { createNativeStackNavigator } from "@react-navigation/native-stack"; import LoginScreen from "./screens/LoginScreen"; export default function HomeScreen() { const Stack = createNativeStackNavigator(); return ( <Provider store={store}> <NavigationContainer> <Stack.Navigator> <Stack.Screen name="Main" component={MainScreen} /> <Stack.Screen name="Login" component={LoginScreen} />{" "} </Stack.Navigator> </NavigationContainer> </Provider> ); } 그러나 다음과 같은 오류가 뜨며 빈화면만 보이더라구요ㅠ Error: Looks like you have nested a 'NavigationContainer' inside another. Normally you need only one container at the root of the app, so this was probably an error. If this was intentional, pass 'independent={true}' explicitly. Note that this will make the child navigators disconnected from the parent and you won't be able to navigate between them. 찾아보니 NavigationContainer가 중첩되었다는 것 같은데, 저는 계속해서 그대로 강의를 따라가고 있었고, 따로 NavigationContainer를 적용한 파일이 존재하지 않습니다 ㅠ 다음 속성을 추가해도 오류가 해결되지 않습니다 ㅠ 아마 어디선가 부모에서 NavigationContainer가 적용된 것 같은데 찾을 수가 없네요 ㅠㅠ independent={true} 조금 더 찾아보니 expo-router랑 충돌이 난 거일 수도 있다는데 정확하게 모르겠네요 ㅠ

개발자

#react-native

#react-navigation

#expo

#navigationcontainer

답변 0

댓글 0

조회 114

10달 전 · aigoia 님의 댓글 업데이트

6년차의 중간 직책 고민

현재 6년차 개발자입니다만 고민이 있습니다. 1년차에는 신입으로 혼자 자바 유지보수 운영을 1년 나갔고 그 다음해에는 프로젝트 중간에 사수가 퇴사를 하여 의도치않게 자바 개발에서 메인 업무는 리눅스 환경과 web, was, db 및 오픈소스 설치, 보조 업무로는 etl 개발을 하였습니다. 그렇게 4년을 일했는데, 현재 6년차에 갑자기 ETL 직무를 맡게 되었고, pl까지 하게 되었는데, 메인 업무가 아닌 서브 업무로 했었던 etl pl을 하려니 일을 효율적으로 시키는 방법 등 고민이 많습니다. 지금 년차에 pl을 맡는 것은 맞다고 생각이 듭니다만, 일이 잘 풀리지 않아 많은 고민이 있습니다. 스스로도 지금 물 경력인듯 생각이 들어 어디서부터 다시 손을 대야하나 스스로에게 질문을 요즘 하고 있습니다. 혹시나 이런 경험이 있으신 분들이 있다면 조언이나 충고 등 가감없이 말씀해주시면 감사하겠습니다. 그리고 참고할만한 서적이 있다면 추천 부탁드리겠습니다.

개발자

#개발고민

#연차

#인프라

#etl

답변 1

댓글 2

조회 88

10달 전 · 포크코딩 님의 새로운 댓글

Next.js Dynamic Routing 관련 질문

현재 ./pages 폴더에서 page router로 라우팅 관리 중에 있습니다! id별 post 상세창 조회를 위해 ./pages/post-detail/[id].tsx 와 같이 작성했으나 Whitelabel Error Page This application has no configured error view, so you are seeing this as a fallback. Fri Aug 30 21:08:21 KST 2024 [67199a4f-4509] There was an unexpected error (type=Not Found, status=404) 만 발생합니다 참고로 ./pages/post-write.tsx 와 같은 파일은 정상 작동합니다 혹시 무엇이 문제일까요? 추가+) 혹시 Next.js 14에서 page router 방식을 사용하는것이 문제일지 궁금합니다

개발자

#react

#next.js

답변 1

댓글 2

조회 55

일 년 전 · 신예찬 님의 새로운 댓글

RCE 보안공격 질문입니다!

안녕하세요 백엔드 취업 준비생입니다 최근 프로젝트를 진행중에 배포서버를 구성해봤습니다 aws ec2에 docker compose로 nginx, WAS, redis를 컨테이너화해 동작시키고, nginx에 의해 3개의 WAS가 로드밸런싱 된 상태입니다(WAS 는 sping boot+spring security+JPA를 사용중입니다) route 53으로 Gabia에서 구매한 도메인을 연결해둬 도메인 접근을 허용해둔 상태입니다 배포 서버가 정상적으로 동작하는지 확인하기 위해 log를 보고 있었는데 이상한 요청이 보였습니다 요청 url에 `chmod 777`이라던지 `rm -rf`가 보여서 식겁해서 일단 서버는 내려뒀습니다 알아보니 RCE라는 공격 방식 같더라고요 그래서 RCE를 막는 최선의 방법이 무엇인지 궁금합니다 또 통상적으로 알고있으면 좋은 보안 방어 기법에는 어떤것들이 있을지 궁금합니다! (가능하면 AWS 과금이 없는방법이면 더 좋을거같아요 😊 😊)

개발자

#nginx

#security

#springboot

#aws-ec2

답변 1

댓글 1

조회 92

일 년 전 · 프레드윰 님의 새로운 답변

AWS 서버 인프라 접속 방법 문의드립니다.

AWS 서버 인프라를 아래와 같이 안내 받았는데요. ( [T2] public subnet ) > ( [T3] > [Amazon RDS] private subnet ) T2는 public ip가 있어서 ssh 접속이 되는데.. T2를 거쳐 T3에 접속해야 WAS에 접속해 PHP 소스를 docker로 배포할 수 있는데 SSH Tunning으로 T2거쳐 T3로 접속 할 수 있다는데, ssh -i "YourKey.pem" -L 8888:T3_Private_IP:22 ec2-user@T2_Public_IP 이런 명령어를 실행하고, localhost:8888로 접속하면 T3에 우회 접속 할 수 있다고 해서 계속 시도해보는데 T2에서 T3로 접속이 안되는거같아서 T2에 pem 파일 올려놓고 terminal에서 ssh 명령어로 T3에 직접 접속해보려고 해도 접속이 안되더라구요. 그래서 이게 저의 방법이 잘못된건지.. 아니면 T3의 SSH 포트번호가 기본 22가 아니라 다른 번호인건지 싶네요.. 그리고 db 접속은 T2 > T3 > RDS 이렇게 3단계를 거쳐야하는거 같은데.. MYSQL Client 프로그램같은데서 이렇게 3단계 설정하는건 못본거같은데.. 이건 그냥 T3 ssh terminal까지 접속 후 커맨드로만 db 접속해서 사용할 수 밖에 없는지.. 경험많은 서버 개발자님들 답변 부탁드릴게요~~ 감사합니다!

개발자

#aws

#ssh

#tunneling

#docker

답변 1

댓글 0

조회 132

일 년 전 · 안희수 님의 새로운 답변

JEUS 서버에 Spring 배포 불가능하나요?

tmax사의 JEUS 서버(WAS)가 Java EE를 따른다고 알고 있는데, 별도의 세팅 없이 스프링 배포 불가능한가요?? Tomcat 지원 여부는 아직 공식문서를 못 찾아서 확신은 못하지만, 지원 안 하는 것 같습니다.. JEUS가 자바 표준을 따르기 때문에 서버에 JAR파일만 올려도 JAVA가 배포되는 거지만, Tomcat은 지원하지 않아서 별도의 세팅을 하고 WAR 파일을 올려야 스프링 프로젝트가 동작한다고 들어서요.. 이게 맞나요..? '~를 지원해야 구현한 프로그램이 동작한다'라는 개념이 익숙치 않습니다.. 학교에서 Spring, jsp 실습할 때 항상 톰캣으로 진행했고 톰캣은 WAS라고 하길레, 모든 WAS에서는 모든 백단 프로그램이 동작하는 줄 알았습니다.. 열심히 찾아보긴 했는데 제가 이쪽 개념이 부족해서 이해한 게 맞나 확인받고 싶어서 질문 드립니다! 글 읽어주셔서 감사합니다!

개발자

#was

#tomcat

#java

#spring

#전자정부프레임워크

답변 1

댓글 0

조회 468

일 년 전 · 허형준 님의 새로운 답변

리액트 네이티브 라이브러리가 안 돼요

gradient랑 fontawsome도 그렇고 대부분의 npm install 해야하는 라이브러리들이 안 돼요... install하고 import를 해줘도 안드로이드 에뮬레이터에서 Render Error requireNativeComponent: "(추가하려는것)" was not found in the UIManager라고 뜨네요 밑에 문제가 있는거 알려주는 source 부분에서는 node_modules\invariant\browser.js 여기를 가르키는데 또 그 파일 찾아가서 코드를 봐보면 어디가 잘못된건지 모르겠어요 혹시 몰라서 적자면 밑에 코드 부분이 잘못됐다고 나와요

개발자

#react-native

#리액트네이티브

#render_error

답변 1

댓글 0

조회 67

일 년 전 · 안희수 님의 새로운 답변

윈도우 2019서버로 자바 스프링 was 서버 구축

윈도우 2019 서버를 사용하고있습니다. 자바 스프링 or 전자정부프레임으로 만든 웹을 운영할 수 있는 was 웹서버를 구축하려고 하는데 iis 로는 불가능 한건가요? 아파치를 사용해야할까요?

개발자

#웹서버

답변 1

댓글 0

조회 66

일 년 전 · JB 님의 새로운 답변

react-native Render Error

Render Error requireNativeComponent: "BVLinearGradient" was not found in the UIManager. 라고 뜨는데 뭐가 문제 인가요... 검색해서 뜨는거 다 해봐도 해결이 안 돼요

개발자

#react-native

답변 1

댓글 0

조회 80

일 년 전 · 다형 님의 답변 업데이트

aws spring boot 배포 오류

안녕하세요 백엔드 공부 중인 학생입니다. aws ec2로 Spring boot 프로젝트를 배포 시도 중에 있습니다. (maven, java 8, jar) java -jar jar파일명.jar 명령어로 배포 시도 중에 에러메세지가 도저히 해결이 안되어서 도움 요청드립니다.. 도와주신다면 감사하겠습니다.. 아 참고로 rds로 데이터베이스 생성하지 않고 mysql(workbench)로 데이터베이스 생성했습니다 <오류메세지> Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2024-02-07 04:33:35.742 ERROR 31012 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.context.ApplicationContextException: Failed to start bean 'webServerStartStop'; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat server at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:181) ~[spring-context-5.3.22.jar!/:5.3.22] at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:54) ~[spring-context-5.3.22.jar!/:5.3.22] at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:356) ~[spring-context-5.3.22.jar!/:5.3.22] at java.lang.Iterable.forEach(Iterable.java:75) ~[na:1.8.0_392] at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:155) ~[spring-context-5.3.22.jar!/:5.3.22] at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:123) ~[spring-context-5.3.22.jar!/:5.3.22] at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:935) ~[spring-context-5.3.22.jar!/:5.3.22] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586) ~[spring-context-5.3.22.jar!/:5.3.22] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:734) [spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) [spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.SpringApplication.run(SpringApplication.java:308) [spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) [spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1295) [spring-boot-2.7.2.jar!/:2.7.2] at com.se.social.SocialApplication.main(SocialApplication.java:13) [classes!/:0.0.1-SNAPSHOT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_392] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_392] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_392] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_392] at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) [social-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] at org.springframework.boot.loader.Launcher.launch(Launcher.java:108) [social-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] at org.springframework.boot.loader.Launcher.launch(Launcher.java:58) [social-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65) [social-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat server at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:229) ~[spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.web.servlet.context.WebServerStartStopLifecycle.start(WebServerStartStopLifecycle.java:43) ~[spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:178) ~[spring-context-5.3.22.jar!/:5.3.22] ... 22 common frames omitted Caused by: java.lang.IllegalArgumentException: standardService.connector.startFailed at org.apache.catalina.core.StandardService.addConnector(StandardService.java:238) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviouslyRemovedConnectors(TomcatWebServer.java:282) ~[spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:213) ~[spring-boot-2.7.2.jar!/:2.7.2] ... 24 common frames omitted Caused by: org.apache.catalina.LifecycleException: Protocol handler start failed at org.apache.catalina.connector.Connector.startInternal(Connector.java:1077) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.catalina.core.StandardService.addConnector(StandardService.java:234) ~[tomcat-embed-core-9.0.65.jar!/:na] ... 26 common frames omitted Caused by: java.net.SocketException: Permission denied at sun.nio.ch.Net.bind0(Native Method) ~[na:1.8.0_392] at sun.nio.ch.Net.bind(Net.java:461) ~[na:1.8.0_392] at sun.nio.ch.Net.bind(Net.java:453) ~[na:1.8.0_392] at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:222) ~[na:1.8.0_392] at org.apache.tomcat.util.net.NioEndpoint.initServerSocket(NioEndpoint.java:275) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:230) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1227) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1313) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:614) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.catalina.connector.Connector.startInternal(Connector.java:1074) ~[tomcat-embed-core-9.0.65.jar!/:na] ... 28 common frames omitted <전체> . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.7.2) 2024-02-07 04:33:27.975 INFO 31012 --- [ main] com.se.social.SocialApplication : Starting SocialApplication v0.0.1-SNAPSHOT using Java 1.8.0_392 on ip-172-31-39-15 with PID 31012 (/home/ubuntu/socialboardPJ/target/social-0.0.1-SNAPSHOT.jar started by ubuntu in /home/ubuntu/socialboardPJ/target) 2024-02-07 04:33:27.980 INFO 31012 --- [ main] com.se.social.SocialApplication : No active profile set, falling back to 1 default profile: "default" 2024-02-07 04:33:29.591 INFO 31012 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2024-02-07 04:33:29.681 INFO 31012 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 76 ms. Found 1 JPA repository interfaces. 2024-02-07 04:33:30.960 INFO 31012 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 80 (http) 2024-02-07 04:33:30.986 INFO 31012 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2024-02-07 04:33:30.987 INFO 31012 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.65] 2024-02-07 04:33:31.641 INFO 31012 --- [ main] org.apache.jasper.servlet.TldScanner : At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. 2024-02-07 04:33:31.880 INFO 31012 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2024-02-07 04:33:31.880 INFO 31012 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 3717 ms 2024-02-07 04:33:32.215 INFO 31012 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2024-02-07 04:33:32.569 INFO 31012 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2024-02-07 04:33:32.659 INFO 31012 --- [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] 2024-02-07 04:33:32.822 INFO 31012 --- [ main] org.hibernate.Version : HHH000412: Hibernate ORM core version 5.6.10.Final 2024-02-07 04:33:33.157 INFO 31012 --- [ main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.1.2.Final} 2024-02-07 04:33:33.383 INFO 31012 --- [ main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2024-02-07 04:33:34.255 INFO 31012 --- [ main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2024-02-07 04:33:34.266 INFO 31012 --- [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2024-02-07 04:33:34.906 WARN 31012 --- [ main] 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 warning 2024-02-07 04:33:35.616 WARN 31012 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'webServerStartStop'; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat server 2024-02-07 04:33:35.620 INFO 31012 --- [ main] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' 2024-02-07 04:33:35.624 INFO 31012 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... 2024-02-07 04:33:35.646 INFO 31012 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. 2024-02-07 04:33:35.650 INFO 31012 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat] 2024-02-07 04:33:35.676 INFO 31012 --- [ main] ConditionEvaluationReportLoggingListener : Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2024-02-07 04:33:35.742 ERROR 31012 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.context.ApplicationContextException: Failed to start bean 'webServerStartStop'; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat server at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:181) ~[spring-context-5.3.22.jar!/:5.3.22] at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:54) ~[spring-context-5.3.22.jar!/:5.3.22] at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:356) ~[spring-context-5.3.22.jar!/:5.3.22] at java.lang.Iterable.forEach(Iterable.java:75) ~[na:1.8.0_392] at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:155) ~[spring-context-5.3.22.jar!/:5.3.22] at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:123) ~[spring-context-5.3.22.jar!/:5.3.22] at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:935) ~[spring-context-5.3.22.jar!/:5.3.22] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586) ~[spring-context-5.3.22.jar!/:5.3.22] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:734) [spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) [spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.SpringApplication.run(SpringApplication.java:308) [spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) [spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1295) [spring-boot-2.7.2.jar!/:2.7.2] at com.se.social.SocialApplication.main(SocialApplication.java:13) [classes!/:0.0.1-SNAPSHOT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_392] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_392] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_392] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_392] at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) [social-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] at org.springframework.boot.loader.Launcher.launch(Launcher.java:108) [social-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] at org.springframework.boot.loader.Launcher.launch(Launcher.java:58) [social-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65) [social-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat server at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:229) ~[spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.web.servlet.context.WebServerStartStopLifecycle.start(WebServerStartStopLifecycle.java:43) ~[spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:178) ~[spring-context-5.3.22.jar!/:5.3.22] ... 22 common frames omitted Caused by: java.lang.IllegalArgumentException: standardService.connector.startFailed at org.apache.catalina.core.StandardService.addConnector(StandardService.java:238) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviouslyRemovedConnectors(TomcatWebServer.java:282) ~[spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:213) ~[spring-boot-2.7.2.jar!/:2.7.2] ... 24 common frames omitted Caused by: org.apache.catalina.LifecycleException: Protocol handler start failed at org.apache.catalina.connector.Connector.startInternal(Connector.java:1077) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.catalina.core.StandardService.addConnector(StandardService.java:234) ~[tomcat-embed-core-9.0.65.jar!/:na] ... 26 common frames omitted Caused by: java.net.SocketException: Permission denied at sun.nio.ch.Net.bind0(Native Method) ~[na:1.8.0_392] at sun.nio.ch.Net.bind(Net.java:461) ~[na:1.8.0_392] at sun.nio.ch.Net.bind(Net.java:453) ~[na:1.8.0_392] at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:222) ~[na:1.8.0_392] at org.apache.tomcat.util.net.NioEndpoint.initServerSocket(NioEndpoint.java:275) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:230) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1227) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1313) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:614) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.catalina.connector.Connector.startInternal(Connector.java:1074) ~[tomcat-embed-core-9.0.65.jar!/:na] ... 28 common frames omitted

개발자

#aws

#springboot

#배포

답변 1

댓글 0

조회 615

일 년 전 · 장훈 님의 답변 업데이트

web + was 동작 방식 질문

안녕하세요. 골프장&리조트에서 근무중입니다. 웹 개발 전직을 위해 스프링을 공부중에 궁금한 것이 있어 여쭙니다! 태블릿으로 음식 주문하는 포폴을 진행하고 있는중에 어느정도 구현이 되어 테스트 환경, 운영 환경을 구분해보면 좋겠다 싶어 web, was 환경을 구축했습니다. web은 nginx, was는 tomcat으로 구축했는데 여기서 동작 방식이 궁금한게 생겼어요. web은 정적 리소스를 제공해준다고 들었는데 nginx에서 프록시로 was로 요청을 주거든요? 그러면 결론적으로는 client → web으로 요청을 주면 web → was로 요청을하고 was → web → client로 제공해주는 형태 아닌가요? 결론은 종단점인 was까지 요청이 들어가기 때문에 web은 그냥 거쳐가는 경로다 라고 생각이 들어 여쭤봅니다!

개발자

#nginx

#spring

#tomcat

#web

#was

답변 2

댓글 0

조회 101

일 년 전 · 이양일 님의 답변 업데이트

쿠버네티스 환경 구축 질문이 있습니다.

현재 vagrantfile을 통해서 virtualbox를 통해 centos7을 구동시키고 있습니다. 여기서 쿠버네티스 환경 설치를 위해 절차를 따라하지만 항상 calico 설치를 위해 아래 구문을 입력하면 오류가 항상 나옵니다. kubectl apply -f calico.yaml 위 구문을 입력하면 The connection to the server localhost:8080 was refused - did you specify the right host or port? 라는 오류가 나옵니다... 혹시 무엇 때문에 그런지 아시는 분 계실까요?ㅜㅜ

개발자

#쿠버네티스

#vagrant

#virtualbox

#centos7

#환경설치

답변 1

댓글 0

조회 204

2년 전 · psmon 님의 답변 업데이트

Alb, nginx, was에 관하여 질문이 있습니다.

사진과 같이 AWS alb 아래 spring boot 서버 2개를 배포할 예정인데 nginx를 꼭 포함시켜야 하나 고민되어 질문드립니다. 자세하게 알지는 못하지만 리버스 프록시 용도도 필요 없을것 같고 htts 처리도 로드 밸런서가 처리해주고... 캐싱 용도로 사용하기 위해 alb 아래 was 사이에 nginx 를 하나씩 둬야 할까요..? 로드밸런서가 있을때 nginx의 역할이 정말 필요한가 의문이 들어 질문 드립니다!!

개발자

#alb

#nginx

#spring-boot

#backend

#aws

답변 3

댓글 1

추천해요 12

조회 3,173

2년 전 · ㄱㅎㅁ 님의 새로운 답변

web was 분리 실습관련 질문입니다..

안녕하세요. 20살 대학생입니다. web 서버와 was 서버 분리 관련하여 질문드립니다. web과 was의 개념은 조사하였는데, 이를 실 적용하려니 궁금한 사항이 있습니다. web was 개념파악을 위해 아파치와 톰켓을 사용하여 2개의 서버에 나누어 구축하고 있는데 블로그 등을 조사하니 제가 알던 web은 정적처리, was는 동적인 처리 개념이 아닌 was에서 처리를 전부 하면서 web은 그저 리버스 프록시, 정적 파일(html,css,image 등) 적재 등으로만 사용하는 것 같습니다. (즉, web server는 그저 네트워크 장비같은 역할??) 여기서 궁금한 사항입니다. 1. 정적처리, 동적 처리라는 부분을 구현하고 싶다면 페이지 별로 나누어 구성해야 할까요? (원래는 모든 페이지는 web server에 존재하며 was에서는 동적 처리만 구현하도록 하고싶었으나, 단순하게 구현하자면 정적페이지(html)는 web에서 아파치로 바로, 동적 페이지(jsp)는 was에서 구동하는 식으로 진행할까 생각중 입니다. 이렇게 해도 무방한지 궁금합니다.) 2. 프로젝트마다 구성의 차이는 당연히 있겠지만, 요즘 추세로서는 web,was 분리를 어떤식으로 하는지 궁금합니다. (정적,동적 처리 분류 하거나 모두 was에서 담당하고 web은 프록시, 캐싱 역할만 하는지..) 3. 프레임워크(spring, django, flask 등) 을 was 처럼 사용한 경우가 있을까요? (조사해보니 여러 경우가 나오지만 실제로 많이 사용하는지 궁금합니다.) 긴 글 읽어주셔서 너무 감사합니다.

개발자

#web

#was

#apache

#tomcat

답변 1

댓글 0

조회 229

2년 전 · kevin 님의 새로운 답변

전문통신을 Restful api로 바꾸고 싶습니다

오프라인 기반의 통신 서버에서 복사를 해온(당시 예산없어서) 모바일 앱을 위한 api서버로 이용중입니다 메세지 타입 4자리 번호로 구분하여 주문과 결제 등 40가지 서비스에 대해 4~6개 컨트롤러 내에서 분기해서 처리하고 있습니다 내부에 보다보니 하나의 메소드 내 Case문이 40여개나 되고 if문이 수십분기입니다 오라클 19c사용중이고 프로시져로 덕지덕지 크게크게 사용중이어서 영수증만드는 string 연산도 다중 프로시져로 생성중에 있습니다. 프로시져도 was에서 연산하게 해버리고 싶네요 전문통신을 기반으로 사용하던 통신서버를 복제한 탓인지 메세지타입으로만 로직흐름을 보자니 공통 클래스에 전무 묶여있어 파악이 힘드네요 이런형태가 일반적인건지 모르겠습니다 하나의 서비스는 하나의 컨트롤러 내 메소드외 1대1 매핑이 되도록 처리한다 라는 생각을 가지고 있는데 이 시스템을 개선해야한다면 어떻게 바꿔나가야할지 문의드립니다 ex) 팀장설득 방법(돈들이게 하는방법-차세대, 돈없어도 부분부분 바꾸게 허가받는방법) 등 ps. 팀장님은 코드 잘 모르심. 아이티출신이지만 기획에 치중된 업무를 오랫동안 해오심

개발자

#api

#전문통신

#java

#spring

답변 4

댓글 4

추천해요 3

보충이 필요해요 1

조회 1,408

2년 전 · 상도동개발자 님의 새로운 댓글

web server와 WAS의 차이점

WAS와 웹서버의 차이점이 명확히 이해가 되지 않습니다. WAS 안에 웹서버가 존재하는거라고 이해했는데 왜 그런건지 궁금합니다..

개발자

#was

답변 1

댓글 1

추천해요 1

조회 191

2년 전 · 커리어리 AI 봇 님의 새로운 답변

프론트와(react) 와 백(node)로 분리 개발 후 배포

AWS EC2의 SSH 에 백엔드 코드를 클론하여 올리고 필요한 패키지와 모듈들을 다운 받아준 후 프론트는 S3에 올렸습니다. 그 후에 http를 > https로 리다이렉트 해주기 위해 CloudFront를 이용하였습니다. 도메인과 SSL 인증 및 필요한건 다 적용시키고 연결된 도메인 주소로 접속하면 계속 " Mixed Content: The page at 'https://domain.com/‘ was loaded over HTTPS, but requested an insecure resource 'http://ec2.IPv4주소:port/backend API endpoint’. This request has been blocked; the content must be served over HTTPS. “ 이런 오류가 계속 콘솔에 찍혀서 나옵니다..EC2 인바운드 규칙도 정해진 포트와 http, https 포트도 잘 열어 뒀습니다. 혹시 아시는분 계실까요?? ㅠㅠ

개발자

#백엔드개발

#배포

#aws

#프론트엔드

#도와주세요ㅠㅠ

답변 3

댓글 0

추천해요 2

조회 1,406

2년 전 · 커리어리 AI 봇 님의 새로운 답변

순수 JSP 파일에서 'HttpServlet not found' 오류가 발생할 때 해결 방법

깃에 올라가 있는 파일을 받았는데 자꾸 이런 오류가 뜹니다.. The superclass ""jakarta.servlet.http.HttpServlet"" was not found on the Java Build Path 오류 검색했는데 메이븐 빌드하라고 하던데.. 순수 jsp라서요 어떻게 해 봐야 할지 모르겠습니다.

개발자

#git

#error

#maven

답변 1

댓글 0

조회 181

2년 전 · 손정현 님의 답변 업데이트

nextjs에서 Error: Client network socket disconnected before secure TLS connection was established 오류

nextjs 질문 있습니다! 프로젝트에서 getServerSideProps, getStaticProps를 사용하여 렌더링을 할 경우 페이지 첫 진입 자체는 문제 없는데 새로 고침을 하면 Error: Client network socket disconnected before secure TLS connection was established 위와 같은 오류가 계속 나는데 해결 방법 아시는 분 계신가요?

개발자

#nextjs

답변 1

댓글 0

조회 480

3년 전 · 익명 님의 새로운 댓글

풀스택 개발 node WAS 프레임워크 결정 고민

안녕하세요! 스타트업 창업 준비 중인 대학생입니다! 프론트엔드 개발을 메인으로 하고 있는데, 팀 사정으로 풀스택 개발을 하게 되었어요. 서버 프레임워크를 결정하는데 고민이 많습니다. 써본 node 프레임워크 중에서는 가장 좋았던 건 koa 지만, 이를 선택하기에는 나중에 추가로 개발자를 영입했을 때 그대로 사용할 수 있을지 걱정되네요. 주변에서 koa를 쓴다는 회사를 들어본 적이 없어서 처음부터 잘 쓰이는 프레임워크를 쓸지 아니면, 가장 좋아하는 프레임워크를 쓸지 고민이네요. 긴 글 읽어주셔서 감사합니다.

개발자

답변 1

댓글 1

추천해요 1

조회 155

2년 전 · 커리어리 AI 봇 님의 새로운 답변

nextjs hydration failed because the initial ui...

안녕하세요. nextjs에서 로그인 유저만 접근 가능한 페이지를 만들기 위해 withAuthRoute라는 HOC 컴포넌트를 구현하여 사용하고 있습니다. HOC에서는 브라우저의 스토리지를 파악해서 토큰이 있으면 Component를 리턴하고 아니면 null을 리턴합니다. 서버사이드 렌더링시에는 스토리지에 접근할 수 없어서 window 객체가 undefined인지를 체크하는 코드가 있습니다. 여기서 문제가 있는데, withAuthRoute컴포넌트로 페이지를 감싸면 항상 nextjs hydration failed because the initial ui does not match what was rendered on the server에러가 발생합니다. 어떤 글 찾아보면 무시해도 되는 에러라고 하는데 로컬에서 너무 신경쓰여서 해결하고싶습니다... 혹시 이런에러 해결해보신 분 있으실까요?

개발자

#react

#next.js

답변 2

댓글 0

추천해요 3

조회 737