GithubHelp home page GithubHelp logo

penekhun / pratice-with-wanted-pre-onboarding-backend Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 249 KB

프리온보딩에 실제로 지원하지는 않지만, 이 레포지토리를 놀이터 삼아 다양한 주제에 대해 공부하고, 그 내용을 문서화할 계획입니다.

Java 98.63% Vim Snippet 1.24% Dockerfile 0.13%

pratice-with-wanted-pre-onboarding-backend's Introduction

pratice-with-wanted-pre-onboarding-backend's People

Contributors

penekhun avatar

Stargazers

 avatar

Watchers

 avatar

pratice-with-wanted-pre-onboarding-backend's Issues

PR시 테스트 실행

Github Actions를 통해서 PR을 업로드할 시,
자동으로 테스트를 실행하고 결과를 코멘팅하는 worlflow가 필요합니다.

난이도가 다소 있을 추가 기능 구현 제안

현재 프로젝트는 정말 간단한 CRUD만을 포함하고 있습니다.
하지만 이러한 프로젝트로는 복잡한 비즈니스 요구사항 구현 역량을 보이기 어렵기 때문에, 요구사항 외로 추가 기능을 간단하게 기획하여 추가 개발 해보면 좋을 것 같습니다.

만일 기획이 떠오르지 않는다면,
채용공고의 필요한 데이터를 늘리고 이를 정규화하여
jpa 혹은 querydsl을 활용해보는 시간을 가지먄 좋을 것 같습니다. 당장 떠오르는 예시로는, 실시간 지원자 추이 통계, 기업 재무 정보 혹은 연차별 평균 연봉 등등...

간단한 프로젝트지만 존재할 수 있는 여러 이슈 탐색 및 해결

간단한 CRUD만 있는 프로젝트지만,
채용공고에 지원할 시, 따닥 이슈와 같은 여러 문제점이 존재할 수 있습니다.

이런 문제점에 대해셔 다양한 방면으로 찾아보고 해결하는 과정을 거쳐보면 좋을 것 같습니다. 문제 해결을 위해 새로운 기술을 도입하지 않고,
현재 가지고 있는 기술로만 해결하는 것이 목표입니다.

도커로 부트 앱 실행시 오류 발생

docker run -e "SPRING_PROFILES_ACTIVE=local" -p 8080:8080 -t penekhun/wanted2023-api:latest

위 명령어로 부트 앱을 실행시키면


  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v3.1.5)

2023-11-24T09:27:49.248Z  INFO 1 --- [           main] o.p.w.WantedPreOnboarding2023Application : Starting WantedPreOnboarding2023Application using Java 17.0.2 with PID 1 (/wanted2023.jar started by root in /)
2023-11-24T09:27:49.251Z  INFO 1 --- [           main] o.p.w.WantedPreOnboarding2023Application : The following 1 profile is active: "local"
2023-11-24T09:27:50.270Z  INFO 1 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2023-11-24T09:27:50.373Z  INFO 1 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 90 ms. Found 3 JPA repository interfaces.
2023-11-24T09:27:51.330Z  INFO 1 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2023-11-24T09:27:51.346Z  INFO 1 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2023-11-24T09:27:51.347Z  INFO 1 --- [           main] o.apache.catalina.core.StandardEngine    : Starting Servlet engine: [Apache Tomcat/10.1.15]
2023-11-24T09:27:51.452Z  INFO 1 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2023-11-24T09:27:51.453Z  INFO 1 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2122 ms
2023-11-24T09:27:51.755Z  INFO 1 --- [           main] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [name: default]
2023-11-24T09:27:51.836Z  INFO 1 --- [           main] org.hibernate.Version                    : HHH000412: Hibernate ORM core version 6.2.13.Final
2023-11-24T09:27:51.839Z  INFO 1 --- [           main] org.hibernate.cfg.Environment            : HHH000406: Using bytecode reflection optimizer
2023-11-24T09:27:52.233Z  INFO 1 --- [           main] o.s.o.j.p.SpringPersistenceUnitInfo      : No LoadTimeWeaver setup: ignoring JPA class transformer
2023-11-24T09:27:52.268Z  INFO 1 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2023-11-24T09:27:53.430Z ERROR 1 --- [           main] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 - Exception during pool initialization.

com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
	at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:175) ~[mysql-connector-j-8.0.33.jar!/:8.0.33]
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) ~[mysql-connector-j-8.0.33.jar!/:8.0.33]
	at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:825) ~[mysql-connector-j-8.0.33.jar!/:8.0.33]
	at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:446) ~[mysql-connector-j-8.0.33.jar!/:8.0.33]
	at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:239) ~[mysql-connector-j-8.0.33.jar!/:8.0.33]
	at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:188) ~[mysql-connector-j-8.0.33.jar!/:8.0.33]
	at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~[HikariCP-5.0.1.jar!/:na]
	at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) ~[HikariCP-5.0.1.jar!/:na]
	at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) ~[HikariCP-5.0.1.jar!/:na]
	at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) ~[HikariCP-5.0.1.jar!/:na]
	at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) ~[HikariCP-5.0.1.jar!/:na]
	at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:100) ~[HikariCP-5.0.1.jar!/:na]
	at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) ~[HikariCP-5.0.1.jar!/:na]
	at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) ~[hibernate-core-6.2.13.Final.jar!/:6.2.13.Final]
	at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:437) ~[hibernate-core-6.2.13.Final.jar!/:6.2.13.Final]
	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.delegateWork(JdbcIsolationDelegate.java:61) ~[hibernate-core-6.2.13.Final.jar!/:6.2.13.Final]
	at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:279) ~[hibernate-core-6.2.13.Final.jar!/:6.2.13.Final]
	at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:193) ~[hibernate-core-6.2.13.Final.jar!/:6.2.13.Final]
	at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:69) ~[hibernate-core-6.2.13.Final.jar!/:6.2.13.Final]
	at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:119) ~[hibernate-core-6.2.13.Final.jar!/:6.2.13.Final]

.....

이런 오류가 뜬다.

2023-11-24T09:27:49.251Z  INFO 1 --- [           main] o.p.w.WantedPreOnboarding2023Application : The following 1 profile is active: "local"

분명 profile 지정은 잘 되었는데,
데이터소스 Url을 불러올 수가 없나보다.

SPRING_PROFILES_ACTIVE=local java -jar ./wanted2023.jar

도커 내에 장착된 jar를 export해서 위 명령어를 치면, 잘 실행된다.

분명 application-{profile}.yml이 제대로 로드되지 않는 것 같다.

코드 리팩터링

만들어낸 API Endpoint가 몇 개 없긴 하지만, 그래도 리팩터링을 진행해 봅시다.

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.