일 년 전 · 다형 님의 새로운 답변
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
조회 595
7달 전 · 이경도 님의 답변 업데이트
Jpa 커스텀 리포지토리 다중 상속 문제
커스텀 리포지토리 사용중 문제가 발생하여 질문 드립니다. @Repository public interface UserRepository extends JpaRepository<User, Long>, CustomRepository { Optional<User> findByUserId(String userId); } public interface CustomRepository { Long search(User user); } public class ACustomRepositoryImpl implements CustomRepository { @Override public Long search(User user) { return 1L; } } 이런식으로 코드를 작성하고 실행 시키면 아래와 같은 에러 메시지가 나옵니다. 그런데 ACustomRepositoryImpl 구현체 이름을 CustomRepositoryImpl 이렇게 바꾸면 정상적으로 실행됩니다. 명명규칙이 그저 개발자들 간의 약속 인줄 알았는데 규칙을 무조건 지켜야 하는 건지 궁금하여 질문 드렸습니다. Caused by: org.springframework.data.mapping.PropertyReferenceException: No property 'search' found for type 'User' at org.springframework.data.mapping.PropertyPath.<init>(PropertyPath.java:90) ~[spring-data-commons-3.2.2.jar:3.2.2] at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:443) ~[spring-data-commons-3.2.2.jar:3.2.2] at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:419) ~[spring-data-commons-3.2.2.jar:3.2.2] at org.springframework.data.mapping.PropertyPath.lambda$from$0(PropertyPath.java:372) ~[spring-data-commons-3.2.2.jar:3.2.2] at java.base/java.util.concurrent.ConcurrentMap.computeIfAbsent(ConcurrentMap.java:330) ~[na:na] at org.springframework.data.mapping.PropertyPath.from(PropertyPath.java:354) ~[spring-data-commons-3.2.2.jar:3.2.2] at org.springframework.data.mapping.PropertyPath.from(PropertyPath.java:332) ~[spring-data-commons-3.2.2.jar:3.2.2] at org.springframework.data.repository.query.parser.Part.<init>(Part.java:81) ~[spring-data-commons-3.2.2.jar:3.2.2] at org.springframework.data.repository.query.parser.PartTree$OrPart.lambda$new$0(PartTree.java:259) ~[spring-data-commons-3.2.2.jar:3.2.2] at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[na:na] at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[na:na] at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992) ~[na:na] at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[na:na] at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[na:na] at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[na:na] at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na] at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[na:na] at org.springframework.data.repository.query.parser.PartTree$OrPart.<init>(PartTree.java:260) ~[spring-data-commons-3.2.2.jar:3.2.2] at org.springframework.data.repository.query.parser.PartTree$Predicate.lambda$new$0(PartTree.java:389) ~[spring-data-commons-3.2.2.jar:3.2.2] at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[na:na] at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[na:na] at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992) ~[na:na] at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[na:na] at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[na:na] at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[na:na] at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na] at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[na:na] at org.springframework.data.repository.query.parser.PartTree$Predicate.<init>(PartTree.java:390) ~[spring-data-commons-3.2.2.jar:3.2.2] at org.springframework.data.repository.query.parser.PartTree.<init>(PartTree.java:100) ~[spring-data-commons-3.2.2.jar:3.2.2] at org.springframework.data.jpa.repository.query.PartTreeJpaQuery.<init>(PartTreeJpaQuery.java:100) ~[spring-data-jpa-3.2.2.jar:3.2.2] ... 79 common frames omitted
개발자
#spring-boot
#java
#interface
#jpa
답변 2
댓글 0
조회 160
일 년 전 · 장성호 님의 새로운 답변
JpaRepository 다중상속 오류
JpaRepository에 다중상속으로 CustomRepository를 상속하려고 합니다. 근데 자꾸 에러가 나서 질문 드립니다. @Repository public interface UserRepository extends JpaRepository<User, Long>, CustomRepository { Optional<User> findByUserId(String userId); } public interface CustomRepository { void search(); } 에러 메시지 ========================================================= Caused by: org.springframework.data.mapping.PropertyReferenceException: No property 'search' found for type 'User' at org.springframework.data.mapping.PropertyPath.<init>(PropertyPath.java:90) ~[spring-data-commons-3.2.2.jar:3.2.2] at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:443) ~[spring-data-commons-3.2.2.jar:3.2.2] at org.springframework.data.mapping.PropertyPath.create(PropertyPath.java:419) ~[spring-data-commons-3.2.2.jar:3.2.2] at org.springframework.data.mapping.PropertyPath.lambda$from$0(PropertyPath.java:372) ~[spring-data-commons-3.2.2.jar:3.2.2] at java.base/java.util.concurrent.ConcurrentMap.computeIfAbsent(ConcurrentMap.java:330) ~[na:na] at org.springframework.data.mapping.PropertyPath.from(PropertyPath.java:354) ~[spring-data-commons-3.2.2.jar:3.2.2] at org.springframework.data.mapping.PropertyPath.from(PropertyPath.java:332) ~[spring-data-commons-3.2.2.jar:3.2.2] at org.springframework.data.repository.query.parser.Part.<init>(Part.java:81) ~[spring-data-commons-3.2.2.jar:3.2.2] at org.springframework.data.repository.query.parser.PartTree$OrPart.lambda$new$0(PartTree.java:259) ~[spring-data-commons-3.2.2.jar:3.2.2] at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[na:na] at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[na:na] at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992) ~[na:na] at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[na:na] at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[na:na] at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[na:na] at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na] at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[na:na] at org.springframework.data.repository.query.parser.PartTree$OrPart.<init>(PartTree.java:260) ~[spring-data-commons-3.2.2.jar:3.2.2] at org.springframework.data.repository.query.parser.PartTree$Predicate.lambda$new$0(PartTree.java:389) ~[spring-data-commons-3.2.2.jar:3.2.2] at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[na:na] at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[na:na] at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992) ~[na:na] at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[na:na] at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[na:na] at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[na:na] at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na] at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[na:na] at org.springframework.data.repository.query.parser.PartTree$Predicate.<init>(PartTree.java:390) ~[spring-data-commons-3.2.2.jar:3.2.2] at org.springframework.data.repository.query.parser.PartTree.<init>(PartTree.java:100) ~[spring-data-commons-3.2.2.jar:3.2.2] at org.springframework.data.jpa.repository.query.PartTreeJpaQuery.<init>(PartTreeJpaQuery.java:100) ~[spring-data-jpa-3.2.2.jar:3.2.2] ... 79 common frames omitted
개발자
#spring-boot
#java
답변 1
댓글 0
조회 120
7달 전 · 익명 님의 새로운 댓글
스프링 mvc와 jpa 중 뭐를 먼저 배워야 할까요?
** 아는 게 많이 없다 보니 고민만 더 많아져서 질문글이 두서 없이 길어졌는데 한번만 읽어주시면 감사하겠습니다!!ㅜㅜ 선배님들의 의견 하나만 남겨주셔도 큰 도움이 될 것 같습니다🥺 안녕하세요. 이제 갓 스프링을 배우기 시작한 컴공과 학생입니다. 웹 개발은 이번이 처음 접하는 거고, 인프런 김영한님 강의를 보면서 배우고 있으며 현재는 스프링 기본편을 보며 전반적인 기능을 훑었습니다. 참고로 스프링을 이용해 제 스스로 뭔가를 만들어보진 않았고, 단순히 강의만 보며 코드를 따라쳐본 수준입니다 .. 우선 제 목표는 한달 뒤에 개인 토이 프로젝트를 할 만한 실력을 갖추는 겁니다! (대외활동/인턴 지원을 위한 포트폴리오 용도입니다) 한달 동안 김영한님의 스프링 MVC 강의와 JPA 활용편(+기본편) 강의를 모두 들을 예정이긴 한데, mvc와 jpa 중 뭐를 먼저 배워야 하나 고민입니다 .. 스프링에 대해 아는 것이 많이 없어서 그러는데, mvc와 jpa 둘 중에 필수인 것과 선택사항(?)인 것이 있을까요? 물론 둘 다 현업에서 중요한 것 같긴 하지만 당장 실무 투입이 목표는 아닌지라, 단순 토이 프로젝트를 진행하는 데 있어 굳이 따지자면 둘 중 뭐가 더 중요한지 궁금합니다. 그리고 둘을 배우는 데 있어 하나를 먼저 배우면 다른 하나를 배우기 쉽고 이런 선후관계가 있을까요?? 완전히 다른 기능이라고 이해하고 있긴 한데 혹시나 싶어 여쭤봅니다..! 뭔가 머릿속으로는 mvc를 먼저 하는 게 낫지 않나 싶으면서도, jpa 활용편 강의에서 jpa를 사용하여 (mvc강의의 예제보다 훨씬 복잡한)웹 애풀리케이션 예제를 전반적으로 개발해본다고 해서,, jpa 활용 강의를 먼저 들으면서 웹애플리케이션에 좀 익숙해진 다음에 mvc를 들어야 하나 싶기도 합니다.. 그런데 jpa 활용편 강의를 듣고 나서 jpa에 대한 자세한 설명을 다룬 jpa 기본편 강의도 들을 예정이라, 두 강의를 이어서 들으려고 하는데요. 처음 생각했던 순서는 mvc->(혼자 진짜 간단한 프로그램 만들어보기)->jpa활용->jpa기본 인데, 만약 jpa활용을 먼저 듣는 순서로 바꾼다면 jpa기본과 mvc 중에 뭘 먼저 들어야 하나 싶기도 합니다..ㅠㅠ 혹시 답변해주시는 데 도움이 될까 싶어 제가 고민 중인 두 강의의 설명 적어놓겠습니다! mvc 강의: “자바 웹 기술과 스프링 MVC의 핵심 개념을 다지고, 스프링 MVC의 기본 기능을 이해합니다. 자바 백엔드 웹 기술을 소개하고, 서블릿, JSP, MVC 패턴, MVC 프레임워크까지 웹 기술 전반을 학습합니다. 이렇게 웹 기술의 배경을 이해한 다음에 스프링 MVC의 핵심 개념을 단단히 다집니다. 이후 스프링 MVC의 기본 기능 기능을 학습하고, 스프링 MVC를 사용해서 기본 CRUD가 가능한 웹 페이지도 개발합니다.” jpa 활용 강의: “이 강의는 게시판 같은 단순한 예제를 넘어서, 실무의 복잡한 상황을 재현할 수 있는 난이도 있는 예제를 사용합니다. 그리고 요구사항 분석부터 설계, 개발, 테스트, 성능 최적화까지 이 모든 과정을 순서대로 진행합니다. 이렇게 실무에 가까운 예제로 웹 애플리케이션을 처음부터 끝까지 함께 설계하고 개발해보면, 이 과정 속에서 스프링 부트와 JPA를 활용하는 올바른 방법을 자연스럽게 익힐 수 있습니다. 그리고 실무에서 이 기술들을 어떻게 활용해야 하는지 이해하게 됩니다.” 물론 이런 글 올릴 시간에 뭐 하나라도 먼저 시작하는 게 낫다는 건 정말 잘 알고 있지만 .. 아직 아는 게 정말 많이 없다 보니 확신도 안 서고 계속 고민만 하느라 혼자 땅굴만 깊이 파고 들어가게 되더라구요ㅜㅜ 이럴 바에야 얼른 다른 분들 조언 받는 것이 더 낫다고 생각해서 이렇게 글 쓰게 되었습니다 ,, 읽어주셔서 감사합니다!!
개발자
#스프링
#김영한
#jpa
#mvc
답변 2
댓글 2
추천해요 3
조회 1,803
10달 전 · 익명 님의 새로운 댓글
SpringBoot와 MySQL 도커 배포 과정에서 계속 오류가 발생합니다.
선배님들 안녕하십니까? 제목 그대로 스프링부트와 MySQL 배포 과정에서 HikariPool-1 - Exception during pool initialization. server-1 | server-1 | java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up. 위와 같은 오류가 발생합니다. MySQL은 정상적으로 배포가 되어서 접근이 가능한 것을 확인했습니다. 하지만, SpringBoot의 경우, 계속 DB와 연결이 실패합니다. 아래는 SpringBoot의 application.properties 파일과 docker-compose.yml 파일입니다. 한 수 가르쳐주셨으면 합니다. 감사합니다. spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=${SPRING_DATASOURCE_URL} spring.datasource.username=${SPRING_DATASOURCE_USERNAME} spring.datasource.password=${SPRING_DATASOURCE_PASSWORD} spring.jpa.show-sql=true spring.jpa.hibernate.ddl-auto=update spring.jpa.properties.hibernate.format_sql=true
개발자
#오류
#스프링부트
#도커
#mysql
답변 1
댓글 3
조회 338
일 년 전 · InUng 님의 질문 업데이트
SpringBoot @ComponentScan 질문
안녕하세요. 1년차 백엔드 개발자 입니다. JPA 실습 중 궁금한 것이 생겨서 질문 드립니다. 코드 @SpringBootApplication @ComponentScan(basePackages = "com.jpabook.jpashop") public class JpaShopApplication { public static void main(String[] args) { SpringApplication.run(JpaShopApplication.class, args); } } 상황설명 -@Repository 어노테이션을 명시한 Bean 객체를 테스트에서 찾지 못하는 오류 발생 -Repository 계층에 대한 단위 테스트 수행을 하고 싶은데 @SpringBootTest를 사용해야하는 상황이 발생함. -방법을 찾다보니 위 코드 처럼 @ComponentScan을 직접 명시하니 해결 궁금한 것은 위 코드에서 @ComponentScan이 명시되어 있는데 해당 어노테이션은 @SpringBootApplication에 기능이 포함되어 있어서 이제껏 명시하지 않더라도 @Autowired 등의 의존성 주입이 정상적으로 됐었는데요. 이번 실습 프로젝트에서는 되지 않아서 저렇게 명시를 했더니 정상적으로 작동합니다. 혹시 어떤 이유 때문인지 설명해주실 수 있으실까요? 참고로 테스트 했던 코드는 아래와 같습니다. 패키지 구조는 사진과 같습니다.
개발자
#jpa
#springboot
#의존성주입
#junit
#테스트
답변 0
댓글 0
조회 69
일 년 전 · 행복한 거북이 님의 답변 업데이트
학교를 졸업했지만 어디 분야로 가야할지 모르겠습니다
저는 원래 기계공학과였다가, 저랑은 영 맞지 않는것 같아서 1년 반 다니다가 컴퓨터공학과로 전과했습니다. 그런데 기계공학과와 컴퓨터공학과 모두 공학이긴 하지만 듣는 강의는 차이가 꽤 있어서 기계공학과에서 들었던 학점 대부분은 인정받지 못하고 증발해버렸습니다. 그래서 2학년이긴 하지만 전공학점은 신입생들과 별반 다를바가 없었어요 잘못하면 제때 졸업못하고 최소 1년이상 초과학기를 하게될테고 형편상 그건 어렵기 때문에, 전과해서 아는것도 하나도 없음에도 2학년과 1학년 수업을 같이 들으면서, 어떻게든 학기마다 풀학점으로 꽉꽉 채워서 결국 초과학기는 한 학기만 한 채로 졸업할 수 있었습니다. 그래도 나쁘진 않았습니다. 적어도 기계공학과에 있을 때보단 이쪽이 훨씬 제 적성에 맞았거든요. 그래서 그런지 학점도 4.0/4.5점 으로 괜찮게 졸업할 수 있었습니다. 그런데 너무 수업만 따라가기 바빠서 그런건지 졸업한 뒤 제가 어느 분야로 갈지는 깊게 생각해보질 않았어요. 미리 생각해 놨다면 학교 수업 외에도 그쪽으로 따로 공부를 하면서 준비할 수 있었을텐데, 그러질 않았으니 그저 학교에서 하는 강의만 열심히 들으면서 다녔습니다. 그리고 졸업하니까 어디로 가야할지 모르겠더라고요. 일단 제가 학교에서 배우고 해봤던걸 대충 적어보자면 javascript, java, python, c, html, css, mysql, oracle, unity, android studio, jsp, unix 이정도와 운영체제, 자료구조 같은 cs 입니다. 일단 저는 원티드, 로켓펀치, 프로그래머스 같은 사이트들을 돌면서 공고를 살펴 봤습니다. 프론트엔드쪽 기술스택을 살펴보니 html, css, javascript는 배웠지만 react, redux, node.js, next.js, typescript 이런 것들이 나오는데, 전부 한번도 안해봤던 것들이더라고요. 그래서 백엔드쪽 기술스택을 살펴보니 spring, jpa, django, docker, fastapi, flask 등등 이런것들이 나오는데 역시 안해봤던 것들이었습니다. 그래서 다음은 안드로이드쪽을 살펴봤습니다. 팀프로젝트를 하면서 앱을 만든 경험이 있었거든요 kotlin, flutter, react...역시 안해본 것들입니다 저흰 java만 배워서 코틀린을 안해봤습니다. 그리고 flutter, react 같은 크로스플랫폼 또한 다뤄본 적 없고요 이런식으로 막상 실무에서 요구하는 기술들과 제가 학교에서 배웠던걸 매치해보니 제가 부족한게 너무 많더라고요. 사실 처음 채용공고 봤을땐 제가 모르는 용어들도 많아서 멘붕이 왔었습니다. 물론 이제 막 학교 졸업하고 실무경험도 없는 신입이니 부족한게 많은건 당연한것이고, 신입이 그 기술스택을 다 숙지할 수도 없다는것도 알고 있습니다만, 그럼에도 제가 너무 부족한게 많다는 생각을 지울수가 없더군요 서론이 길었네요 그래서 결론은 현재 저의 상태에서 가장 빠르게 준비해서 취업할 수 있을만한 분야가 어디일까요? 저는 개발쪽이기만 하면 상관없는데, 저희집 사정상 가능한한 빠르게 준비해서 빠르게 취업하고 싶습니다.
개발자
#개발
답변 2
댓글 0
추천해요 1
조회 1,108
8달 전 · 익명 님의 질문 업데이트
PostLike 테이블에서의 JPA 관계 설정 (Web, Spring, JPA)
Post 테이블 (Long pno, String cotent) UserInfo 테이블 (String uid, String nickname) PostLike 테이블 (Long pno, String uid) Post에 대한 좋아요 정보를 PostLike테이블에서 관리하고 있습니다. 여기서 PostLike 엔티티를 정의할 때 1) UserInfo userInfo, Post post를 @ManyToOne으로 관리할지, 2) 아니면 그낭 Long pno, String uid로 관리할지 고민입니다. 1번 방법) 장점 : Post, UserInfo를 delete 할때 알아서 관련된 좋아요 정보를 찾아서 삭제해준다는 면에서 무결성 관리가 편함. 단점 : JPA는 where pno=(삭제하는 게시글 id)처럼 쿼리 한 번으로 삭제하지 못 한다. 먼저 PostLike 테이블에 pno가 삭제 게시글 id와 같은 것들이 무엇이 있는지 확인하고, 해당 id에 해당하는 row를 deleteById로 하나하나 삭제하기 때문에 쿼리가 N+1 필요해서 성능 이슈가 생긴다. 2번 방법 ) 장점 : 성능 문제가 해결된다. 쿼리 한 번으로 게시글 혹은 유저를 삭제했을 때 관련 좋아요 정보를 삭제할 수 있다. 단점 : 무결성 관리를 직접 해줘야 해서 프로그래머가 신경써서 관리해야 한다. ◼️ 질문 1 1번 방법과 2번 방법 중에서 2번 방법을 선택하려고 합니다. Trade off를 제대로 한 게 맞을까요? Post와 Comment에서는 @ManyToOne을 사용하고, Follow나 PostLike에서는 @ManyToOne을 사용하지 않는 것이 제멋대로인 것 같아서 고민입니다. ◼️ 질문 2 유저를 삭제할 때 해당 유저가 좋아요를 누른 기록을 유지하는 것이 좋을까요, 삭제하는 것이 좋을까요? 요구사항에 따라 달라진다는 것은 알지만 그래도 일반적으로 사용되는 방법이 궁금합니다.
개발자
#spring-boot
#jpa
#backend
#web
답변 0
댓글 0
조회 28
일 년 전 · 백승훈 님의 답변 업데이트
백엔드 개발자로 1년간 취준했던 신입입니다. IT 쪽 개발 전망에 대해 몇가지 궁금한 점이 있습니다.
현재 개발 외 직군으로 입사해서 개발자로 이직을 준비하려고 합니다. stack : java spring 인프라 경험 : aws ec2, mysql 학습내용 인프런 김영한 spring 완전정복코스(https://tinyurl.com/23s6uonc)에서 스프링 입문, 스프링 핵심 원리, HTTP, MVC1, MVC2 김영한의 스프링 부트와 JPA 실무 완전 정복 로드맵(https://tinyurl.com/2dzrelgr)에서 ORM, JPA 활용1, JPA활용2 포트폴리오 1(팀 / 앱개발 프로젝트) - https://github.com/heoeuntaek/capstone-spring 포트폴리오 2(개인/ 웹게시판 프로젝트) - https://github.com/heoeuntaek/project-post 이 정도까지 준비를 했습니다. 서울, 부천 등 인천과 가까운 100개 넘는 자바스택의 백엔드, SI 회사에 지원 - 5개만 서합, 1개 코테, 4개 면접 모두 탈락 2022~2023년 동안 개발자 붐이 일어나 현직 개발자, 개발자 취준생이 많고 AI가 발전함에 따라 어느 정도의 개발을 대체하기에 기업이 신입에게 요구하는 역량이 더 커져 신입 개발자의 문턱이 커진 것 같은데요, 1. IT 업계 전반적으로 전망이 궁금합니다. 2. 구체적으로 백엔드 개발 쪽의 전망이 궁금합니다. 3. 개발자 준비를 계속해서 한다면 신입으로서 Spring, 인프라, 알고리즘 등 분야마다 어느정도의 역량은 갖춰야 한다고 생각하시나요? 4. 케바케겠지만 개발자가 수명이 짧다고 들었는데 어떻게 생각하시나요?
개발자
#이직
#전망
#백엔드
#개발자
#스프링
답변 3
댓글 0
추천해요 4
조회 856
2년 전 · 커리어리 AI 봇 님의 새로운 답변
초보 개발 질문입니다. Spring Security를 사용해보려고 하는데 활용방법 있을까요?
환경 : Spring boot : 빠른 설정 추가를 위해서 사용합니다. jsp : jsp를 이용하지만 axios로 프론트-백엔드를 연결합니다. JPARepository : 쿼리 작성을 간편화 하기 위해 사용합니다. ORACLE : 사용하는 데이터 베이스 입니다. 하고 싶은 기능은 : Spring Security 를 통한 로그인, 로그인 시 jwt토큰 발급입니다. 로그인, 회원가입 기능을 구현중인데 Spring Security 라는 프레임워크가 있길래 사용해보려고합니다. 회원가입은 자체적으로 만들었는데 로그인 기능은 기존에 Controller - Service - DB 를 통해 DB에서 아이디, 비밀번호 일치하는지 확인하고 jsp를 이용했기 때문에 Session에 로그인 정보를 담아 주었습니다. 이번에는 axios를 통해 프론트엔드에서 요청을 보내면 서버에서 응답하는 방식을 사용해보려고합니다. (jsp + axios 입니다.) 그리고 로그인이 성공하면 jwt토큰을 발행해서 로그인을 유지시켜주려고 합니다. 그래서 대부분 Spring Security 와 jwt를 같이 사용하길래 저도 사용해보려고합니다. Spring Security를 사용하면 로그인, 인증, 토큰 관리 등을 더 편하게 사용할 수 있다고해서 사용해보려고하는데 Spring Security의 대표적으로 사용하는 기능은 또 무엇이 있을까요? 그리고 Spring Security를 사용하면 어떤 점에서 장점이 있을까요? 너무 부족한 질문들이라 죄송합니다. 답변해주시면 잘 참고하겠습니다.
개발자
#spring-security
#jwt
#spring-boot
답변 1
댓글 0
조회 214
일 년 전 · 박정환 님의 새로운 답변
Querydsl + MyBatis 조합
지난 프로젝트에서 Querydsl 만 사용해서 프로젝트를 진행했었습니다! 그런데 아무래도 JPQL 빌더이다 보니 Querydsl 만 사용하는 쿼리 작성에 한계가 보이기 시작했었는데.. 제가 너무 욕심이 과해서 너무 한방 쿼리를 날리려고 한 걸 수도 있지만 그럼에도 최소한의 집계쿼리를 포함해서 쿼리를 작성하고자 했는데 join으로도 해결이 안 되더라고요…. 그래서 결국은 쿼리를 쪼개서 보내고 애플리케이션 계층에서 자바 코드로 조합하는 형태로 완성은 하였지만 Querydsl 을 작성하기 전에 SQL로는 순조롭게 작성이 된 코드가 Querydsl 로 옮겨지지 않는다는 게 조금은 속상하더군요….제가 미숙해서 못한 것도 있을 수 있겠지만 그래도 Querydsl 로 SQL을 100% 활용할 수 없다는 게 조금은 불편하다고 생각이 들었습니다! 이전에 듣기로는 JPA만으로는 모든 쿼리를 처리할 수 없기 때문에 JdbcTemplate 나 MyBatis 를 함께 사용하는 경우가 있다고 들어본 기억이 있습니다! 실제로 실무에서도 JPA와 다른 SQL 매퍼를 조합해서 사용하는 경우가 많을까요?? CUD 작업은 JPA가 너무너무 편리하고 좋은데.. 조회에 있어서는 역시 MyBatis 나 JdbcTemplate 를 사용해 보는 것이 괜찮은 방법인지 궁금합니다!!
개발자
#jpa
#querydsl
#mybatis
#jdbc
#sql
답변 1
댓글 0
추천해요 1
조회 191
9달 전 · 김하늘 님의 새로운 답변
개발자 구하고 있습니다. (지학사, ~ 06/09)
https://jihak.co.kr/company/recruit_list.asp ① 풀스텍 개발 경력(5년 이상) 정규직 : 주요업무 - 자사 교육 플랫폼 서비스 개발 및 운영, 교과서 관련 교육 콘텐츠 웹 서비스 개발, LMS 시스템 고도화 및 운영 : 자격요건 - Linux, JAVA 등 개발언어 사용, AWS/DB 클라우드 연동, Web 개발 및 운영 : 포트폴리오 제출 필수 : 우대사항 - JPA, DBMS 경력, Rust 도큐먼트 프로세싱(파싱,랜더링)경력, 에듀테크업체 개발 경력 ② 프론트엔드 개발 경력(5년 이상) 정규직 : 주요업무 - 자사 교육 플랫폼 서비스 개발 및 운영, LMS 시스템 고도화 및 운영 : 자격요건 - Vue, React 등 Java script 프레임워크 라이브러리 사용 개발 경험, 오픈 소스 활용 및 SaaS서비스 연동 개발 경험, 다양한 뷰어 콘텐츠 연동 개발 경험 : 포트폴리오 제출 필수 : 우대사항 - 에듀테크업체 개발 경력, SI프로젝트 경험자, JAVA 개발 경험자, 웹 표준, 반응형 서비스 이해도 보유 ③ 백엔드 개발 경력(5년 이상 )정규직 : 주요업무 - 자사 교육 플랫폼 백오피스 개발 및 운영, LMS 시스템 고도화 및 운영, CRM 개발 및 운영 : 자격요건 - Web 개발 및 운영 , JAVA, ASP, Linux 등 개발언어 사용, AWS/DB클라우드 연동 : 포트폴리오 제출 필수 : 우대사항 - 컴퓨터 관련 학과 전공, JAVA개발경험 - 본사(서울) - 급여 : 회사내규 - 전형절차 : 1차(서류) → 2차(팀장면접) → 3차(임원면접) 개발자 구하기가 하늘에 별따기네요. 어떻게 하면 구할 수 있을까요?
개발자
#채용
#개발자
#프론트엔드
#백엔드
#풀스텍
답변 1
댓글 0
조회 248
4달 전 · 익명 님의 질문 업데이트
개발자 신입 준비
안녕하세요 개발자 준비중인 컴퓨터공학과 4학년 학생입니다. 우선 저는 3회정도의 프로젝트를 진행했고 어쩌다 보니 팀 프로젝트 였지만 제가 거의 풀 스택으로 진행했고 Spring, Node, React를 사용가능하고 아키텍처적으로 규모가 있진 않지만 대략 30개 이상의 Entity를 가지는 규모의 프로젝트들이며 기업인분들에게 좋은 평가를 받은 프로젝트도 있습니다 (Flutter로 간단한 앱도 만들어보았고 , 어플리케이션 프로젝트도 진행 해보았습니다.) React는 타입스크립트 자바스크립트(JavaScript)를 사용해서 나름 자유자재로 만들고 수정할 수있고 타입스크립트(TypeScript)로 전환하는 방향으로 가고 있으며 Node는 레거시로 Express와 sql사용해서 사용했고 Spring은 Spring Boot, Spring MVC, Spring Security,JPA, Redis, JWT 등으로 다양하게 접목 시키고 있고 왜 필요할까를 생각하며 다양하게 접근하고 있습니다. (JPA나 AOP 등의 깊은 공부도 함께 하고 있습니다.) 실제 서버에 배포도 해보았고 지금 진행중인 프로젝트는 AWS를 통해 여러 인스턴스로 나눠서 최적화 하여 배포해볼 예정입니다. 이렇듯 부족하지만 웹쪽에서는 나름 발전의 자신감이 있는편입니다 하지만 제가 코딩테스트에 준비를 하지못했는데 요즘 코딩테스트가 거의 모든 기업 필수여서 아직 프로젝트 진행중이기도 하고 코딩테스트 때문에 아직 입사지원을 생각하지 못하고 있습니다. 코딩 문제를 한번도 풀어본적 없고 기본문법조차 잘 모르고 그런 상황입니다 ㅜㅜ 막상 시작하려고하니 시간적 압박도 그렇고 어떻게 어느정도의 기간을 잡고 해야할지 막막해서 글올려봅니다 선배님들 현직자분들 저는 웹 관련해서 너무 재밌게 찾아보고 고민하며 작업을 하는데 코딩테스트를 따로 준비해서 내년에 입사를 지원하는게 맞을까요 보통 어느정도가 되어야하고 어느정도 시간이 필요할까요 도움 부탁드립니다. 읽어주셔서 감사합니다!
개발자
#신입
#개발자
#코딩테스트
#취업준비
답변 0
댓글 0
조회 94
일 년 전 · 코드 스미스 님의 새로운 답변
Jmeter 동시성 테스트 관련 질문입니다.
컴퓨터 1대로 Jmeter와 로컬 환경에서 서버를 띄우고 주문 -> 결제 -> 재고량 감소 API 테스트를 하려고 하는데 궁금한 점이 있어 질문드립니다. (간단한 사이드 프로젝트 수준 입니다.) 기술 스택 : Java, Spring Boot, JPA, MySQL, OpenFeign 사용자 10000명이 동시에 주문 또는 결제하는 테스트 시나리오에 대한 결과를 보고 싶은데 컴퓨터 성능의 이슈로 Dead-Lock이 발생합니다. 쓰레드 수를 늘려가며 에러율을 모니터링 한 결과 최대 500개까지는 Dead-Lock이 발생하지 않습니다. 동시에 10000개의 쓰레드를 감당하려면 어떤 부분을 고려해야 할까요? 스펙상 불가능하다면 10000명의 동시성 테스트를 대체하기 위해 어떻게 테스트 시나리오를 다시 짜야될까요? Jmeter의 Number Of Threads, Ramp - up period, loop - count를 어떻게 조정해야 할까요? 도와주시면 감사하겠습니다 ㅜ
개발자
#java
#spring
#mysql
#jpa
답변 1
댓글 0
추천해요 1
조회 190
분야 전향(devops>fullstack) 및 풀스택 커리큘럼
안녕하세요 만23세 주니어입니다. 제가 하고싶은분야는 풀스택쪽인데 생계사유상 입사를 devops로 오게 되었습니다. 입사한지 2주, 파견근무로 atlassian 유지보수를 하는 업체입니다. 아직 판단하기엔 조금 이르지만 그래도 지냇던 2주만큼은 이회사가 회사 운영방식이나 분위기에있어서 좀 맘에 들었고 아무래도 그전에 다녓던 회사들이 물경력에 1년넘는기간이없엇어서 이번회사는 좀 오래 다니고 싶습니다. (vb 2개월, ubuntu(filecoin) idc 유지보수 10개월(주)+react 2개월(부), skt네트워크망 관제 사무직 6개월, 건설안전교육기관 5개월) 다만 우려돼는건 나중에 원래하고싶었던 풀스택으로 전향할때 연봉이나 경력을 초기화해서 다시 신입으로 들어가야 하는건지 아니면 소폭감소나 유지되는지 모르겟어서 이부분좀 알려주시면 좋겟습니다. 또 activex쪽 개발햇던 4년차 지인분이 웹개발 관련해서 해당 커리큘럼을 추천해주셧는데 여기서 보완, 가감할점은 없는지 피드백부탁드립니다. 2021년 기준 1. 모든 개발자를 위한 HTTP 웹 기본 지식 / 김영한 2. 스프링 핵심 원리 - 기본편 / 김영한 3. 스프링 MVC 1편 -백엔드 웹 개발 핵심 기술 / 김영한 4. 자바ORM 표즌 JPA 프로그래밍 - 기본편 / 김영한 5. 초보를 위한 도커 안내서 / subicura 6. 실전! 스프링 부트와 JPA 활용1 - 웹 애플리캐이션 개발 / 김영한 7. 실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 / 김영한 8. 실전! 스프링 데이터 JPA / 김영한 9. 실전! Querydsl / 김영한 10. DDD-START / 최범균 - ISBN 9788993827446 11. AWS 강의실 / 유튜브 12. Route53 / 생활코딩 13. 스프링 핵심 원리 - 고급 / 김영한 14. ELK 스택으로 데이터 분석 / 허민석 15. 아파치 카프카 for beginners / 데브원영 16. Spring Boot JWT tutorial / 정은구 17. The Red : 비즈니스 성공을 위한 Java/Spring 기반 서비스 개발과 MSA 구축 / 이희창 18. 새차원의 코틀린 / 새차원 19. Kotiln으로 개발하는 Spring Boot Web MVC / 예상국 20. 새차원의 코루틴 / 새차원 21. 코틀린 마이크로서비스 개발 / 후안 안토니오 메디나 이글레시아스 - ISBN 9791161752556 그리고.. react를 하긴햇는데 정작 이번에 취업할때보니 신입기준으로 react보단 vue가 더 많이보이더라고요. 그냥 vue를 하는게 나을까요? 어차피 js기반이니 둘다 상관없을까요?
개발자
#devops
#fullstack
답변 1
댓글 0
추천해요 1
조회 433
일 년 전 · 유현명 님의 새로운 답변
신입 고졸 개발자에게 필요한 것이 궁금합니다
저는 이제 25인 된 고졸 개발자입니다 제가 부족한 부분과 더 배워야하는 것 그리고 제 기술로 취업이 가능한지 궁금합니다 제가 사용가능한 기술은 언어 : JAVA, Python, C, html, Javascript 프레임워크 : Spring, Django, Swing DB : Oracle, Mysql, hibernate, JPA 기타 : Spring Security, OOP, gradle.build(kts), Ajax, Aws, Liunx(centOs7, ubuntu) 위 내용정도 프로젝트에 사용해 보았습니다
개발자
#java
#개발
#신입
#고졸
답변 2
댓글 0
조회 245
8달 전 · 정지우 님의 새로운 답변
(Java) '연봉/워라벨은 좋으나 레거시한 기술스택 회사' 어떻게 생각하시나요?
최근 나름 큰 기업의 오퍼를 받았습니다. 연봉 및 워라벨은 나름 좋은 편입니다. IT 총판사라고 합니다. 근데 사용하는 기술스택이 Java, 스프링 프레임워크, 전자정부 프레임워크, Vue.js 등이며, 지원자격에 JSP, JQuery 개발경험 등도 포함되어 있습니다. B2C기업, JPA사용 등 조건의 IT회사에 가고싶지만 당장 코테도 준비가 안되어 있어서 원하는 방향의 좋은 기업은 못가고, 코테를 보지않는 괜찮은 기술스택 회사 위주로 알아보고 있긴 합니다만,, 연봉/워라벨이 발목을 잡네요ㅠㅠ (비슷하게 금융권SI도 최신의 기술 스택위주는 아닌 것 같네요) 현재 SI 3년차인데, 여러분들이라면 어떻게 하실 건가요? 조언이나 경험공유 해주시면 감사하겠습니다.
개발자
#java
#백엔드
#jsp
#전자정부프레임워크
답변 7
댓글 0
조회 1,945
2달 전 · CP 님의 새로운 답변
백엔드 좋은 코드는 어디서 보나요?
백엔드를 공부하고 있는 대학생 3학년입니다. 현재 스프링부트로 친구들과(총 백엔드 3명) 스터디 후 프로젝트를 하려고 하는데요. 김영한님 무료 강의를 보니, 간단한 개념은 알겠는데 코드를 어떻게 짜야 할지 감이 잘 안 오더군요. 1. 김영한님 MVC 1편과 jpa 강의를 추가로 보고 프로젝트를 시작해야 할까요? (늦어도 6월까지 개발을 끝내고 싶습니다.) -> jpa 강의만 봐도 될까요? 2. 다른 좋은 코드를 보고 싶은데 어디서 어떻게 봐야하나요?
개발자
#백엔드
#토이프로젝트
답변 1
댓글 0
추천해요 1
조회 70
이직 준비를 위해 포트폴리오로 작성할 토이 프로젝트를 개발했습니다
5년차 스프링 백엔드 개발자입니다 재직하고 있는 팀 성향과 맞지 않아 이직을 위해 토이 프로젝트를 준비했습니다 사용된 기술 스택은 spring, kotlin, spring data mongoDB 및 querydsl로 개발하였고, 프론트 부분은 vue.js로, 배포는 docker, github actions와 elastic beanstalk로 ci/cd를 구축했습니다 프로젝트의 내용은 riot games의 TFT 게임을 플레이할 때 전략을 지원하는 웹 애플리케이션 개발입니다 원래는 현재 개발된 것보다 좀 더 고도화된 형태로 포트폴리오에 추가하려 했는데, 지인분과 상담했을 때는 그만하면 됐다 하셔서 여기서 멈추고 public url과 github 주소, 그리고 포트폴리오 제출까지만 진행하려 합니다 그런데... 포트폴리오에 어떤 것을 작성해야 좋을지 잘 모르겠습니다 개발한 애플리케이션의 화면 동작 등을 간단하게 소개하면 될까요? 자신이 신경써서 코딩한 코드 일부를 보여주면 될까요? 전체적인 흐름도나 다이어그램 등을 보이면 될까요? 무엇보다 과연 경력자가 회사에서 진행한 자신의 업무로 어필을 하는 것이 아니라, 이런 토이 프로젝트로 어필을 하는 것이 얼마나 효과가 있을지도 의문입니다 하지만 재직중인 현 회사는 주로 spring, java, jpa, mysql 외에 그다지 기술을 깊이있게 쓸 줄 아는 회사가 아닙니다 최대한 이력서에 작성하겠지만, 이곳에서 개발한 경력이 그다지 어필이 되진 않을 것 같아요... 최근 같은 회사 다니다 먼저 이직하신 분이 자신이 있는 곳으로 이력서 제출해보라 권장하십니다 무난하게 합격하실 거라 하셨는데, 그분과 일하는 것이 싫지는 않지만 기왕 이직하는 거 저는 좀 더 욕심을 내고 싶어서, 제가 가진 역량을 최대한 어필할 수 있었으면 합니다 5년차의 실력이라기엔 부끄럽지만, 이력서에 담긴 것만이 제 전부는 아니라서 너무 아쉽습니다 포트폴리오의 작성법, 그리고 이런 포트폴리오가 얼마나, 또 어떻게 어필이 될 수 있을지 이 TFT 게임을 모르는 사람에게는 어떻게 어필할지(TFT 게임이 무엇인지부터 설명해야 하나...) 아직 빌드업중인 프로젝트라 군데군데 부족한 부분이 많은데, 좀 더 완성도를 높여야 할지 조언 부탁드립니다 아래는 지금까지 개발 진행한 github과 배포된 웹 애플리케이션, 작성중인 포트폴리오 url 공유드리겠습니다 [github] https://github.com/jae2274 [애플리케이션 url] http://tftgamingweb-env-3.eba-bghxnbum.ap-northeast-2.elasticbeanstalk.com/view/guide [포트폴리오] https://docs.google.com/presentation/d/13Yri8YqQjAZfKIe-_dH61ezjqc2AIgwmfo4CLReC_WI/edit?usp=sharing
개발자
#이직고민
답변 1
댓글 0
추천해요 1
조회 1,562
8달 전 · aigoia 님의 답변 업데이트
GPT의존도가 심해서 고민입니다.. 백엔드 개발자 커리어
제가 Java+ Spring boot를 활용하는 서비스 어플 만드는 프로젝트에 참여해서 열심히 API를 구현중입니다 (회원가입API등) 근데 저는 스프링부트는 커녕 스프링도 해본적이 없습니다.(자바는 할 줄 압니다) 그래도 배포까지 하면 포트폴리오도되고 경험이라 생각해서 투입되어 개발하고 있는데 솔직히 저는 코드를 못짭니다.. 스프링을 약 일주일정도 공부하긴 했지만.. JPA 의존성 MVC 등등 개념은 조금 아는 상태지만 코드를 읽고 해석하는 것도 안되는 매우 부족한 상태입니다., 스프링 생태계에 대해서 아는건 없지만, GPT4 가 있기에 API 구현이 어느정도 되는 편입니다. 스웨거 같은걸로 테스트할때도 꽤 괜찮고 근데 문제는 이런식으로 코드를 짜는게 저한테 발전이 있는가 의문입니다. 제가 명령하면 GPT가 코드를 짜줍니다. 당연히 한번에 컴파일이 되진 않겠지요 근데 몇번 수정하다보면 어느정도 됩니다.. 저의 지식이 15%라고 하면 GPT4가 85% 지식을 추가시켜줘서 코드를 짜주고 구현을 해줍니다. 방학기간 한달 남짓한 시간이라 팀원한테 민폐가 안되려고 어쩔수없이 쓰고있습니댜.. 나중에 배포까지 됬을때 어떻게 포트폴리오로 사용해야하나 고민입니다. 지피티가 없는 시절 파이썬으로 프로젝트를 할때는 저의 지식50% 구글링50%으로 했다면 GPT는 거의 대부분을 의존해서 걱정입니다.. 요약 GPT의존도 심함 1.프로젝트 긴급 투입 어찌저찌 요구사항 구현중 2.코드는 GPT가 짜주고 본인은 실행만 시키는 수준 3. 본인에게 발전이 있을지.. 4. 포트폴리오로는 어떻게 활용을 할지
개발자
#자바
#스프링
#백엔드
#포트폴리오
#gpt
답변 2
댓글 0
조회 645
2년 전 · 달레 님의 답변 업데이트
JSP와 SpringBoot 공부한 신입 개발자입니다.
안녕하세요. 정보통신계열 3년제 학교를 나오고, 네트워크 학원 수료후 네트워크 엔지니어로 1년 7개월 정도 근무를 하다가, 이런 저런 사정으로 개발 학원(5개월 과정 국비아님)을 다니면서 자바기반으로 JSP, SpringBoot 프레임워크로 프로젝트를 수행하고 취업을 막 성공한 따끈따끈한 개발자입니다. 학원을 다닐때도 그렇고, 주변에서 SpringBoot, 또는 JPA를 사용하는 회사를 가야한다고 못이 박히게 들었는데, SpringBoot는 사람인에서 언급만 되어있어도 중소기업 중에서도 지원자가 최소 백명이 넘어가고 심하면 7,800명 되는게 현실이더라구요. 결국 절 뽑아주는 회사는 PHP가 주력인 회사들이었습니다. 집에서 20분 걸어서 출퇴근 할 수 있는 PHP를 사용하는 출판사 회사에 합격을 하게되었는데 나중에 이직할때 커리어 상 큰 문제가 있을까요?? 솔직히 저는 신입이라 이직 시장에대해서는 실감이 잘 안나는데, PHP가 그만큼 이직시장에서 불리한 기술이라거나 SpringBoot가 그만큼 유망한 기술인걸까요?? 나중에 경력에따른 연봉차이가 있거나 이직할때 Spring Boot가 주력인 회사에서 취업을 하는게 PHP 주력인 회사에 취업하는거보다 큰 메리트가 있을까요?? PHP는 자바개발자로 이직을 준비할때 경력을 잘 처주지 않는다고 알고있는데 사이드 프로젝트로 이것저것 하다보면 경력을 처줄수도 있는걸까요?? 사실 원래 학원을 다니면서 관심이 있었던건 메타버스 플랫폼 관련 개발이나, 빅데이터 블록체인 등이었는데, 해당 업무를 하는 회사로 이직하기 위해서는 지금부터 어떤 공부를 하고 어떤 언어나 프레임워크를 공부하는게 좋을지도 조언좀 부탁드립니다. 최근 안좋은일도 있고 답답한 마음에 두서없이 적기는 했는데 답변부탁드립니다 ㅜㅜㅜ
개발자
#java
#php
#springboot
#jpa
답변 1
댓글 1
추천해요 5
조회 1,544
10달 전 · cozy 님의 답변 업데이트
ERP 개발 스타트업에서 현장실습(직무체험)이 도움이될까요?
저는 4학년 막학기를 준비하는 서비스기업을 목표로하는 학생입니다 작년부터 스프링을 공부해서 최근에는 react 개념공부도 끝내서 프론트는 gpt도움으로 스프링부트와 jpa를 쓰면서 백엔드 위주의 토이프로젝트를 준비중에 있습니다. 사실은 2학기때도 막학기 다니면서 혼자 이렇게 포폴용 프로젝트를 하거나 스터디를 찾고 들어갈 계획을하고있었는데 사실 혼자준비하면서 방향이 이게 맞나 의구심이 들던차에 학교 현장실습으로 막학기때 학기대체로 erp개발 스타트업을 현장실습 하면서 퇴근후에 공부를 하는건 어떤가해서요. 설명은 다음처럼 돼 있었습니다 ‐-‐------------------------------------------------------- 교육목표 : 본 교육과정은 Java 프로그래밍 언어와 Spring Boot 프레임워크를 활용하여 안정적이고 확장 가능한 웹 애플리케이션 백엔드를 개발할 수 있는 전문 개발자를 양성하는 것을 목표로 합니다. 교육생들은 Java 프로그래밍의 기초부터 고급 문법까지 습득하고, Spring Boot를 통한 RESTful API 설계와 구현, 데이터베이스 연동, 웹 서버 보안 등 백엔드 개발에 필요한 실무 기술을 배우게 될 것입니다. ‐-‐------------------------------------------------------- si회사에 다니면서 체험하는것이 서비스기업을 목표로할때 도움이될까요? 괜히 개인공부시간만 방해받을거 같기도하고..제가알기로 erp쪽은 도메인이 너무 특수해서 사실 제가 목표하는쪽이랑은 다를거같기도하고요 직무체험이라 괜찮을까싶기도하고..
개발자
#현장실습
#백엔드
#인턴
답변 1
댓글 0
조회 139
10달 전 · lecarap 님의 답변 업데이트
2학년 학부생입니다. 객관적인 의견과 조언을 듣고 싶습니다..!!
안녕하세요 현재 4년제 대학교 소프트웨어과 2학년 휴학중인 학부생입니다. 올해 2월에 군제대를 한 후 전공이 2학기때 열리는 이유로 휴학중이며, 올해 2학기때 복학할 예정입니다. 지금 휴학중이고 개인적으로 정말 중요한 시기라 생각이 들어 2월부터 꾸준히 공부를 해오고 있었습니다. 현재 인프런 김영한 강사님의 강의를 모두 구매하고, 고급이나 실전을 재외한 10개 정도의 강의를 완강한 상태입니다. 따라서 스프링, 스프링부트, JPA, 스프링 JPA, 타임리프 정도 해봤다라고 할 수 있을 것 같습니다. 21학번 코로나 학번이어서 개발 관련 지인이 없어 협업 프로젝트 경험은 없습니다. 개인 프로젝트로는 김영한 강사님 강의를 들으면 만들어지는 쇼핑몰 페이지를 발전시킨 정도입니다. 기본적인 회원, 상품, 주문 추가 및 수정 기능. 회원가입 과 카카오 api를 통한 카카오 회원 가입 기능 상품 좋아요 기능 상품 가격별, 좋아요, 이름 순 정렬 및 페이징 기능 관리자 페이지 기능 (관리자는 상품 추가 가능, 멤버 강제 삭제 가능 등..) 정도의 기능이 있는 것 같습니다. 코딩 테스트는 현재 백준 골드 4이며, 프로그래머스는 230문제 정도 푼 거 같습니다. 사실 래벨과 문제 양만 많지 실력은 뛰어나지 않는 것 같습니다. 프로그래머스 2단계 까지는 무난하게 풀고, 3단계부터는 1-2시간 이상 걸리거나 못 푸는 것 같습니다. 프로그래머스 기준 카카오 인턴 커트라인 언저리에 있는 것 같습니다. CS는 아직 학교에서 배우지 않았고, 유튜브와 KOCW를 통해 공부하고 있습니다. 지금은 이화여대 반효경 교수님의 운영체제 강의를 듣고 있습니다. 백엔드라는 진로는 군대에서 정했고, 군대에서는 코테와 인프런 강의를 조금 들었습니다. 지금 제 상황은 현재 이렇습니다. 군대 전역한 지 3개월 지났고, 9월 복학까지는 3개월 정도 남았네요.. 군 전역 후 3개월 열심히 공부했다고 생각하지만, 막상 하루 집중량은 많지 않는 것 같습니다. 지금은 스터디카페에서 계속 독학중인 상태입니다. 유명 개발 동아리는 몇 번 지원해봤지만, 서류에서 떨어지고 있는 상황입니다. 물론 포트폴리오나 깃허브는 정말 잘 안 되어 있는 상황입니다. 지금 고민은 공부의 방향과 방법에 확신이 들지 않는다는 것입니다. 즉, 어느 쪽에 힘을 주고 공부를 해야 할 지 모르겠습니다. 개인 프로젝트를 더 해볼까 싶지만 개인프로젝트이기 때문에 할 수 있는 생각에 한계가 있다고 생각했습니다. 개발을 하면서 특히 스프링 데이터 JPA를 하면서 이런 식의 찍먹 기술은 정말 위험하다고 생각했습니다. 페이징 처리나 정렬 처리가 너무 쉽고 간편했기 때문입니다. 영상에서 특정 스킬의 찍먹은 신입에게 도움이 되지 않는다는 말을 들어 더 그런 것 같습니다. 따라서 이런 식의 기술 스텍의 찍먹이 아닌, 서블릿부터 JDBC까지 기본적인 부분을 자세히 공부를 먼저 해야 하나 싶기도 합니다. 그래서 현재는 코테 준비와 CS 공부만 하고 있습니다. CS 강의와 코테를 공부하고 공부한 내용을 티스토리 블로그에 정리하는 형식으로 복습하고 있습니다. 지금 계획으로는 9월 복학까지 CS 및 코테 공부를 확실히 한 후, 내년 소프트웨어 마에스트로에 신청할 생각입니다. 소마는 코테 실력을 많이 본다는 점에서 좀 유리하지 않을까 싶습니다. 또 스프링 기본 지식이 필요할까봐 토비의 스프링 책도 1,2를 구매했고, 1권 절반정도 읽은 상황입니다. 사실 읽다가 너무 어려워서 포기한 감이 있습니다... 지금 다시 또 공부해야할지도 또 고민입니다. 또 최근에는 프로젝트 배포 경험이 중요한가 싶어 도커와 AWS도 기웃기웃거리고 있습니다. 글을 보시면 아시겠듯이 지금 저는 하나에 몰입하지 못하고 있습니다. 무엇을 공부해야 할 지. 하루 스케줄은 어떻게 해야할지. 지금 내가 하고 있는 공부가 맞는건지에 확신히 서지 않습니다. 특히 저는 병렬적인 공부에 취약한 것 같습니다. 사실 하나만 파는 것이 더 쉬워보입니다.. 실력있는 개발자가 되고 싶고, 평생 공부하며 발전하고 싶습니다. 목표는 졸업 후 1년 내 대기업 취업입니다. 1년 해보고 안되면 바로 경력을 쌓을 예정입니다. 졸업은 별일 없다면 25살 겨울에 할 것 같습니다. 공부에 손이 잘 잡히지 않습니다. 막막하고 답답한 기분이 요즘 많이 들고 있습니다. 열정은 있지만 정말 아는게 없네요.. 현업 개발자 선배님께 조언을 여쭙고 싶습니다. 지금 저는 객관적으로 어떤 상황이고, 무엇을 해야할까요?
개발자
#백엔드
#공부-방법
답변 1
댓글 0
조회 334
일 년 전 · 장준영 님의 새로운 답변
JPA로 대댓글 기능 구현할 때 어떤 방식으로 구현하시나요??
오늘 개인프로젝트에 대댓글 기능을 구현했는데 검색해보니까 대부분의 블로그들이 댓글 엔티티에 양방향 연관 관계를 걸어서 구현하더라구요..? 저는 너무 복잡해보여서 groupId랑 parentId 사용해서 그룹별로 묶어서 처리를 했는데 어떤 방식이 더 좋은건지 모르겠습니다... 그룹1 부모댓글1 (groupId: 1) 자식댓글1 (groupId: 1, parentId: 1) 자식댓글2 (groupId: 1, parentId: 1) 그룹2 부모댓글2 (groupId: 2) 자식댓글1 (groupId: 2, parentId: 2) 그룹3 부모댓글3 (groupId: 3) 이런식으로 그룹별로 묶어서 조회해서 뿌려주는 방식으로 구현했습니다. 다들 어떤 방식으로 구현하시는지 궁금합니다..!
개발자
#jpa
#계층형-댓글
답변 2
댓글 1
조회 1,118
일 년 전 · 코드 스미스 님의 새로운 답변
백엔드 프로젝트 도와주세요 🙏 😢
학교에서 졸업 작품으로 프로젝트를 하는데 2주동안 고민해봐도 어떤걸 만들어야할지 모르겠습니다. 최대한 현업이 요구하는 java, spring boot, jpa, aws, 공개 api 를 사용한 프로젝트를해보려고하는데 서점이나 쇼핑몰 같은 클론코딩은 아쉽고 fine tuning, gpt api만 사용하자니 현업이랑 너무 동떨어진것 같습니다. 솔직히 객관적으로 대학도 좋은 대학이아니고 저도 스프링이랑 jpa에 관심갖고 조금 해본 수준이라 실력이 좋지 못합니다. 어떤걸 만들면 공부도 되고 포트폴리오로서도 가치가있을지 조언좀 부탁드려요.
개발자
#백엔드
#포트폴리오
#프로젝트
답변 1
댓글 0
조회 334
한 달 전 · 이상래 님의 새로운 답변
공부를 하고 프로젝트할 때 바로 구현이 되시나요???
안녕하세요! 고민이 많은데 조언을 구할 사람이 없어 익명 질문 올립니다. 예를 들어 제가 MVC에 대해서 또는 JPA에 대해서 강의를 듣거나 책을 보고나서 개인 토이 프로젝트를 진행하려고 했을 때 코드가 바로 안쳐지는게 정상인가요..? 같은 강의를 2번을 들었고 바로 프로젝트를 해본 것이 아니라 몇 개월이 지난 후 프로젝트를 구현하려 했을 때 백지장처럼 기억이 하나도 안나는 상태입니다. 뭔가 보면 이해는 되는데 제가 다 기억을 하는 상태가 아니리서 이게 너무 고민이 되어서 질문을 남겼습니다. 다른 분들은 공부 후 시간이 지난 다음 구현하려 했을 때 기억이 나시나요? 개발 경력으로 치면 걷 만 3년을 채워가는 3년차 입니다. 비전공자로 국비 출신으로 시작을 했습니다. 경력에 비해 실력이 이게 맞나? 라는 생각이 많기도 하고 공부를 해도 남는게 없는 거 같아서 조언을 듣고자 두서없이 질문 올려봅니다. 공부 방법에 대한 조언도 방향성도 다 감사히 듣겠습니다.
개발자
#개발공부
#개발고민
#물경력
#주니어개발자
#비전공자
답변 1
댓글 0
조회 59
2달 전 · Katie 님의 답변 업데이트
국비 수료후 취업이 힘들어 다른 직종으로 변경해야하나 고민입니다..
안녕하세요. 고졸 비전공자 26 남 입니다. 23년 12월 국비 수료후 4개월간 개인사정이 있어 공백이 있었고 어느정도 해결된 뒤 다시 개발 공부를 시작했습니다. 국비 학원에서 배운 스택은 안드로이드 앱개발 + servlet 기반 웹 개발이고 해당 기술로 프로젝트 진행해서 포트폴리오를 작성했습니다. 수료했을 당시에도 취업시장이 좋지않았고 신입에게 요구되는 기술스택 또한 학원에서 배운 기술로는 많이 부족하다 생각해서 추가적인 학습이 필요하다 판단했습니다. 그래서 spring boot, jpa, 타임리프를 기반으로 한 개인프로젝트 진행 후 jwt, aws, ci/cd 까지 학습을 목표로하고 기술을 활용한 프로젝트 진행, 포트폴리오에 추가 그리고 이력서 지원하는 전략으로 계획하고 있었습니다.. 하지만 제가 학습을 목표로 한 기술스택을 보유한 신입도 취업이 힘들다는 얘기를 보았습니다.. 중요한 건 화려한 기술스택이 아닌 얼마나 깊이있게 이해했는지가 중요한 건 저도 잘 이해하고 있습니다.. 그치만 학습을 마치고 이력서를 보완한다고 한들 취업에 성공할 수 있을거라는 희망적인 미래가 보이지않기때문에 동기부여도 잘 안되고 다른 직종을 알아봐야하나 고민입니다.. 솔직히 개발에 재능이 있는 지 잘 모르겠습니다. 하지만 사고하는 걸 좋아하고 복잡한 고민끝에 작성한 코드가 제 의도대로 동작하는 모습이 좋습니다.. 학원에서 수업도 재미있게 들었고 "왜 이제야 개발공부를 했을까? 진작 해볼걸" 라고도 생각했습니다.. 좋아하면 계속 그냥 하면 되는 거 아닌가 싶습니다만.. 나이도 제법 먹고 이뤄낸 것이라곤 군복무 밖에 없습니다.. 그래서 하루하루 초조하고 뭔가 이뤄내고 싶다가도 암울한 미래에 사기가 떨어지네요.. chat gpt 가 나온 이후로 신입의 일자리가 많이 사라진 지금. 지금이라도 다른 직종을 알아보는 게 좋을까요.. 긴 글 읽어주셔서 감사합니다. 착잡하고 불안한 마음에 다소 부정적이고 정신없게 글 작성한 거 같아 죄송합니다. 😭 진심어린 조언 해주시면 감사하게 듣겠습니다. (추가적으로 개발 공부를 쭉 하는 방향을 추천 하신다면 어떤 공부를 어느정도 깊이로 해야하는지 방향을 잡아주셨으면 합니다.. 현재 spring boot + jpa 활용해서 개인프로젝트 개발 계획중입니다. 간단한 crud는 가능한 정도로 학습했습니다.)
개발자
#고민
#직종변경
#비전공자
#고졸신입
답변 3
댓글 0
추천해요 3
조회 1,923
8달 전 · 호잇호이 님의 새로운 답변
풀스택?4년차 전향을 해야할지 아니면 백엔드로 그대로 가야할지 고민입니다
안녕하세요 저는 이제 3년2개월이 된 풀스택 개발자입니다. spring도 하고, vue.js도 해서 풀스택이라고 적었습니다ㅜ 첫 개발회사에서 2년정도 근무하고 새로운 기술을 접하고 싶어서, 이직을 했다가 갑자기 저한테 웹하드를 개발하라고 하기도했고, 성인사이트 기획도 하면서 회사의 전반적인 사업 방향이 저와 너무나도 다르다고 생각하여 이직을 했습니다. 그리고 나서 지금 현 회사에 와서는 vue.js나 JPA 배워서 프로젝트 진행했었습니다. 그러고 일이 없어요... 간단한 기능 수정같은건 있는데 그 외에 없어요... 그래서 이직을 하려고했더니 아시잖아요 요즘 취업이 너무 추운거... 그래서 이직도 안되고 일도 없고 회사에서 공부만 하자니 백엔드 자체가 너무 싫어졌습니다. 그런 와중에 아는 지인이 프로젝트 진행하는데 좀 도와달라고해서 flutter를 접했습니다. 배우고 나니까 너무 재밌기도하고 이 프로젝트 끝난 다음에 앱개발로 전향한다면 도움이 되지않을까 싶더라구요 제가 애플을 좋아하기도해서 노트북,시계,핸드폰 다 애플이거든요. 그래서 iOS를 해야겠다! 싶었습니다. 근데 이쪽분야도 신입은 영 쉽지않더라구요... 결론은 기다리면서 java공부 더 해서 백엔드 갈지 아니면 iOS 부트캠프나 국비로 공부를 한 다음에 신입으로 전향을 할지 고민입니다. 참고로 제가 만29살인 여자이기도 해서 미래에 아기도 낳고 하면 백엔드보단 앱개발이 나을거같기도하고, 지금 회사에서 너무 스트레스를 많이 받아서 좀 쉬고싶기도 하구요(공부는 열심히 하겠지만요) 제 고민 어떻게 생각하시나요?
개발자
#전향
#ios
#백엔드
답변 2
댓글 0
조회 124
7달 전 · 익명 님의 새로운 댓글
무조건 대학부터 가야할까요?
안녕하세요, 현재 22살이며 군복무를 70일 남긴 상황입니다, 요즘 저에게 있어 “무조건 대학부터 가는게 맞을까?” 라는 큰 고민이있습니다. 우선 지금 저의 상황을 말씀드리고자합니다, 20살때부터 개발 공부를 시작해서 운 좋게도 군복무와 개인 공부를 함께 할 수 있는 상황이라 현재도 서비스를 만들고 있는 상황입니다, 여태까지 두 번의 기획 to 배포까지의 서비스를 만들어보았고 잡다하게 여러 프로젝트를 시도해보았습니다. (덕분에 디자인, 웹퍼블리싱, 프론트, 백엔드, CI/CD에 대한 전반적인 이해도와 각 영역마다 편차는 크지만 숙련도가 조금은 있습니다) 그래서 이번에 만들 서비스는 이전과 다르게 레퍼런스와 서적을 참고하면서 약 3개월간 (현재까지 5권, 12만자 정도의 핵심 내용들을 필기) 개발 중인 상태며, 과거 저가 일했던 시장에서 불편한 점을 개선하는 서비스라 이 서비스를 원하는 분들이 어느정도 있으실거라 생각합니다. (랜딩 페이지를 만들었을 당시 조금의 홍보로 이틀간 200명이 방문 하셨고, 100분 정도가 이 서비스를 원한다는 의견을 보이셨습니다) 여튼, 개발 과정에서도 이미 얻은게 많고(이미 전체적인 구현이 완료됐음에도 불구하고 아쉬운 점들에 대한 작업이 약 80개 정도 남은 상황입니다) 런칭을 했을 때도 어느정도 기대가 되는 서비스를 만들고 있는 상황이며, 전역 후에는 현재 개발 서적을 정리하고 블로그에 기록하는 방식과 같이 나만의 개인 블로그를 만들어서 조금 더 체계적이며 남들이 저를 알기 쉬운 방법으로 CS 공부를 기록할 예정입니다. (이거를 위해서 20살때부터 영어 공부를 했으며, 아직 부족하지만 필요하다면 mit open course도 번역하면서 cs 공부와 영어 공부를 함께하는 방식으로 가고자 합니다) 이후 상반기에 아쉽게 면접에서 떨어진 연합 동아리에 다시 지원해보면서 다른 활동들(우테코, 소마, etc)에도 도전해 보고자 합니다, 이때 cs와 같은 이론적인 부분에서 부족한 점들을 딥 다이브 해보면서 개발자로서 역량을 키울 생각입니다. (이번에 개발 서적을 읽으면서 cs를 빨리 깊게 공부해보고 싶은 욕구가 생겼습니다) 그래서 종합적으로 2025년에는 계속해서 여태껏 만들고 싶었던 서비스를 만들고 부족한 공부를 하며, 여러 활동에 참여하면서 구직 활동도 해보는, 모든면에서 성장하고 싶습니다. 서론이 길었습니다, 지금까지의 이야기만 봤을 때 이미 제 마음이 정해진 상태에서 질문을 드리는 거 같아 죄송한 마음이 들지만, 이런 상황에서도 저가 “착각하고 있는건 아닐까?” 하는 불안함 때문에 “재수를 해서라도 나름 괜찮은 대학을 가야할까?”, “돈만 주면 가는곳이라도 가서 학사라도 따야할까?” 라는 고민이 드는 거 같습니다. 20살, 처음 개발을 시작했을 당시에 품고있던 의심이 어느정도 개발자로써 성장한 이 상황에서도 계속해서 드는 거 같습니다, 그래서 현재 제 생각은 “우선 취업을하고 경력자로써 인정 받을 수 있는 시기에 대학을 가서 학사를 따는게 좋지 않을까”하는 생각입니다. 이외에도 경제적 형편과 같은 추가적인 요소도 있지만 이전에 나이에 비해서 쉽게 돈을 벌었던 경험때문에 오만 또는 자만하고 있는게 아닐까 하는 생각입니다.(영상 관련일을 했었습니다) 부연설명을 해야하는게 많아서 글에 두서가 없는 점 죄송하며, 긴 글 읽어주셔서 감사합니다. 세줄요약 1. 취준생으로써 어느정도 실력이 쌓인 상태 (3년 정도 공부, 군복무 포함, 코테 플4) 2. 그래도 학사가 필요하지 않을까 하는 마음 3. 우선 취업하고 경력을 인정 받는 시기에 학사따기 vs 나이가 어리니깐 일단 아무곳이나 대학가보고 아니면 자퇴하거나 계속해서 학사따고 취업 (경제적 형편이 안 좋다는 문제가 있음) 마지막으로, 솔직히 아무곳이나 가더라도 4년 동안 다니면서 학사를 딸 용기가 없어서 반년내로 자퇴할 거 같은 느낌인데 이게 착각이 아닐까 하는 마음입니다, 그리고 뜬금없지만, 매칭 시스템을 구현하기 위해서 다익스트라 알고리즘 대신 가독성과 확장성 측면에서 더 좋은 코사인 유사도를 사용하거나 아호코라식 알고리즘이나 엘라스틱 서치를 쓸려다가 오버 엔지니어링 느낌이 들어서 Spring Data JPA Specification으로 해결하거나 조회수 중복을 막기 위해서 유저의 ip 주소를 redis에 저장하고 ttl 으로 자동으로 초기화하거나 n + 1 문제를 해결하기 위해서 fetch join에서 EntityGraph로 해결하고 동시성 문제도 AOP를 사용해서 해결하는 등 책을 통해서 또는 직접 찾아보고 해결하는 과정이 즐거운데 이게 틀린길인가 싶으니깐 슬픈 거 같습니다..
개발자
#학사
#취업
#개발공부
#대학교
#취준고민
답변 1
댓글 1
조회 155
9달 전 · aigoia 님의 답변 업데이트
이직 한 회사에서 성장가능성이 낮다고 생각해 퇴사할 지 고민입니다
안녕하세요 만 3년이 안된 주니어 백엔드 개발자입니다. 2년반 조금 넘게 중소기업에서 si업무를 하며 인프라부터 백, 프론트까지 풀스택 개발을 담당했고 기획 업무도 했었습니다. 좀 더 백엔드개발에 집중하고 싶어 스프링부트와 JPA, AWS를 공부하고 회사에서도 공부했던 걸 적용하면서 아웃풋도 냈지만 회사에 JPA와 스프링부트를 제대로 사용할 환경이 되지 않아 이직을 선택하게 됐습니다. 중견기업으로 이직하게 되었고 이직한 회사는 채용공고와 다르게 전자정부프레임워크를 주로 사용하고 있고 AWS 혹은 JPA는 접해볼 기회가 없습니다.. 또한 업무 난이도도 쉬운 편이라고 판단됩니다.. 이직한 지 3일차 되는 날이라 너무 섣부른 판단이지만 서비스가 매력적이지도 않고 기술스택도 맘에 들지 않아 이대로 여기 있다간 성장하지 못할 것 같아 걱정이 너무 됩니다ㅠㅠ.. 좀 더 근무하면서 여기 있는 것이 좋을까요.. 아님 퇴사하고 다른 회사로 이직하는 것이 좋을까요...
개발자
#이직
#성장
#주니어백엔드
답변 1
댓글 0
조회 203