Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weโ€™ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

README.md #5

Open
daadaadaah opened this issue Jun 25, 2024 · 10 comments
Open

README.md #5

daadaadaah opened this issue Jun 25, 2024 · 10 comments

Comments

@daadaadaah
Copy link
Owner

daadaadaah commented Jun 25, 2024

๐Ÿ™‡โ€โ™€๏ธ ์†Œ๊ฐœ

  • ์ฃผ๊ฐ„ ํšŒ๊ณ  ์Šคํ„ฐ๋””์šฉ ์ฃผ๊ฐ„ ํšŒ๊ณ  ์ด์Šˆ๋ฅผ ๋งค์ฃผ ์ž๋™์œผ๋กœ ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌํ•˜์—ฌ ์ˆ˜์ž‘์—… ๋Œ€๋น„ n๋ฐฐ ํšจ์œจ์„ ์ œ๊ณตํ•˜๋Š” ์Šคํ”„๋ง ์Šค์ผ€์ค„๋Ÿฌ ์„œ๋ฒ„
## 1. ์ˆ˜์ž‘์—… ๋Œ€๋น„ n๋ฐฐ ํšจ์œจ ํ–ฅ์ƒ -> ๊ณ„์‚ฐํ•  ๋–„, GPT ๋„์›€ ๋ฐ›๊ธฐ
https://chatgpt.com/c/333d6971-56bf-4535-8d6a-cbdb8b324942
> ์ด ๋ฐฐ์น˜ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ฌ์œผ๋กœ์จ ์ˆ˜์ž‘์—… ๋Œ€๋น„ ์–ผ๋งˆ๋‚˜ ํ–ฅ์ƒ๋˜์—ˆ๋Š”์ง€

๐ŸŽˆ์ฃผ์š” ๊ธฐ๋Šฅ

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2024-08-22 แ„‹แ…ฉแ„’แ…ฎ 3 26 55

1. โฐ ์Šค์ผ€์ค„๋Ÿฌ ๊ธฐ๋Šฅ

  • Spring์˜ @scheduled ์• ๋„ˆํ…Œ์ด์…˜๊ณผ GitHub API๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ฃผ๊ธฐ์ ์ธ ์ž‘์—…์„ ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰ํ•œ๋‹ค.
  • ์˜ˆ๋ฅผ ๋“ค์–ด, GitHub ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— Issue๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ Close ํ•˜๋Š” ์ž‘์—…์— ์‚ฌ์šฉ๋œ๋‹ค.

2. ๐Ÿ”” ์•Œ๋ฆผ ๊ธฐ๋Šฅ

  • Discord Webhook API๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋กœ๊น… ๋˜๋Š” ๋ฐฐ์น˜ ์ž‘์—…์˜ ์„ฑ๊ณต/์‹คํŒจ ์—ฌ๋ถ€ ๋“ฑ์„ Discord ์ฑ„๋„์— ์•Œ๋ฆผ์„ ์ „์†กํ•œ๋‹ค.
  • ์˜ˆ๋ฅผ ๋“ค์–ด, ๋กœ๊น… ๋˜๋Š” ๋ฐฐ์น˜ ์ž‘์—…์˜ ์„ฑ๊ณต/์‹คํŒจ ์—ฌ๋ถ€์„ ์•Œ๋ฆฌ๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.

3. ๐Ÿ“ ๋กœ๊น… ๊ธฐ๋Šฅ

  • Google Sheets API๋ฅผ ํ™œ์šฉํ•˜์—ฌ GitHub API ํ†ต์‹  ๋ฐ ์ž‘์—…๋ณ„ ์ˆ˜ํ–‰ ์‹œ๊ฐ„ ๋“ฑ์„ Google ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ์— ์ €์žฅํ•œ๋‹ค.
  • (์ด๋ฅผ ํ†ตํ•ด ๋กœ๊ทธ๋ฅผ ํด๋ผ์šฐ๋“œ์— ์•ˆ์ „ํ•˜๊ฒŒ ์ €์žฅํ•˜๊ณ , ์†์‰ฝ๊ฒŒ ์กฐํšŒ ๋ฐ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)

๐Ÿ—“๏ธ ๊ธฐ๊ฐ„

  • 2024๋…„ 6์›” ~

๐Ÿ› ๏ธ ๊ธฐ์ˆ 

  • Java, Spring Boot, Gihtub API, Google API, Discord API

๐Ÿš€ ์ฃผ์š” ์„ฑ๊ณผ ๋˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ/๊ฐœ์„  ์‚ฌ๋ก€

1. ๋น„๋™๊ธฐ ๋ฐ ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๊ณผ ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ ๋กœ์ง ์ตœ์ ํ™”(์žฅ์•  ์ „ํŒŒ ๋ฌธ์ œ ํ•ด๊ฒฐ, ๋™์‹œ์„ฑ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐ ์„ฑ๋Šฅ ์ตœ์ ํ™”)(๊ด€๋ จ ๋งํฌ)

2. ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ ์ „์†ก ๋ฐฉ์‹ ๋ฐ ์•Œ๋ฆผ ์ „์†ก ์ฃผ๊ธฐ ๋ณ€๊ฒฝ์œผ๋กœ ๋””์Šค์ฝ”๋“œ ์•Œ๋ฆผ ๊ธฐ๋Šฅ ๊ฐœ์„ 

๊ฐœ์„ ์  2-1. ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐฉ์‹ ๋ณ€๊ฒฝ(ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ ๋ฐฉ์‹ -> ํŒŒ์ผ ์ฒจ๋ถ€ ๋ฐฉ์‹)์œผ๋กœ ์ตœ๋Œ€ ๊ธ€์ž์ˆ˜ ์ดˆ๊ณผ ๋ฌธ์ œ ํ•ด๊ฒฐ (๊ด€๋ จ ๋งํฌ)

๊ฐœ์„ ์  2-2. ๋ฐ์ดํ„ฐ ์ „์†ก ์ฃผ๊ธฐ ๋ณ€๊ฒฝ(๋ชจ๋“  ๋ฐ์ดํ„ฐ ์ €์žฅ์‹œ๋งˆ๋‹ค -> ํ•œ๋ฒˆ์— ๋ฐฐ์น˜๋กœ)์œผ๋กœ DX ํ–ฅ์ƒ(๊ด€๋ จ ๋งํฌ)

3. ๊ธฐํƒ€ ๊ฐœ์„ ์ ๋“ค (์ด n๊ฐœ)

(1) SRP ์›์น™์„ ํ™œ์šฉํ•˜์—ฌ ์ˆœํ™˜ ์ฐธ์กฐ ๋ฌธ์ œ ํ•ด๊ฒฐ(๊ด€๋ จ ๋งํฌ)

  • SRP์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ Config ํด๋ž˜์Šค ๋ถ„๋ฆฌ์™€ Bean ๋ถ„๋ฆฌ๋กœ ์ˆœํ™˜ ์ฐธ์กฐ ์ด์Šˆ ํ•ด๊ฒฐ

(2) ๊ตฌ๊ธ€ ์‹œํŠธ ๊ฐ์ฒด๋ฅผ Bean ๋“ฑ๋ก ํ•˜์—ฌ ~ ๊ฐœ์„ 

  • ํŒฉํ† ๋ฆฌ ํŒจํ„ด๊ณผ Bean ๋“ฑ๋ก์œผ๋กœ Google Sheets ๊ฐ์ฒด ์ƒ์„ฑ๊ณผ ์‚ฌ์šฉ ๋””์ปคํ”Œ๋ง์‹œํ‚ด์œผ๋กœ์จ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์•ˆ์ •์„ฑ ํ–ฅ์ƒ์‹œ์ผฐ๊ณ , Google Sheets ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ๋ฉ”๋ชจ๋ฆฌ์™€ ๋ฆฌ์†Œ์Šค ๋‚ญ๋น„ ๊ฐ์†Œ ์‹œํ‚ด

(3) AOP ํ™œ์šฉํ•˜์—ฌ 00 ํ–ฅ์ƒ

  • ์ปค์Šคํ…€ AOP, RetryListener๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์–ด๋–ค ํด๋ž˜์Šค์˜ ์–ด๋–ค ๋ฉ”์„œ๋“œ๊ฐ€ ๋ช‡๋ฒˆ ์žฌ์‹œ๋„ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ๋กœ๊น… ๊ตฌํ˜„
  • @retryable ์• ๋…ธํ…Œ์ด์…˜์ด ์ ์šฉ๋œ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ์ „, ํด๋ž˜์Šค๋ช…๊ณผ ๋ฉ”์„œ๋“œ๋ช…์„ RetryContext์— ์ €์žฅํ•˜๋Š” AOP ์ปดํฌ๋„ŒํŠธ ๊ฐœ๋ฐœ -> AOP๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์žฌ์‹œ๋„ ๋ฉ”์ปค๋‹ˆ์ฆ˜์˜ ํˆฌ๋ช…์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ ํ–ฅ์ƒ.

(4) AOP ๋Œ€์‹  Interceptor ํ™œ์šฉํ•˜์—ฌ HTTP ์š”์ฒญ/์‘๋‹ต ๋กœ๊น… ๊ธฐ๋Šฅ ๊ตฌํ˜„

(5) ๊ตฌ๊ธ€ ์‹œํŠธ ๊ฐ์ฒด ์ƒ์„ฑ์‹œ ๋‹ค์–‘ํ•œ ์›์ธ์— ์˜ํ•ด ๊ฐ์ฒด ์ƒ์„ฑ์ด ์‹คํŒจํ•  ์ˆ˜ ์žˆ์–ด์„œ, CreateSheetsFailReason์ด๋ผ๋Š” enum ํด๋ž˜์Šค๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด์„œ ์˜ˆ์™ธ ์ƒํ™ฉ์„ ์นดํ…Œ๊ณ ๋ฆฌํ™” ํ•˜์—ฌ, ๋””๋ฒ„๊น…์‹œ ๋ฌธ์ œ์˜ ์›์ธ์„ ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๐ŸŽ ์ฃผ์š” ํด๋ž˜์Šค ๊ตฌ์กฐ(?) (๋งํฌ)

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2024-08-22 แ„‹แ…ฉแ„’แ…ฎ 3 35 12
@daadaadaah
Copy link
Owner Author

daadaadaah commented Jul 27, 2024

TODO

  • ๋น„๋™๊ธฐ๋กœ ์„ฑ๋Šฅ ์ค„์ผ ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„ ์ฐพ์•„์„œ ์ ์šฉ์‹œํ‚ค๊ธฐ
    1. closeIssue์— @async ๋ถ™์ด๋ฉด, ๊ตฌ๊ธ€ ์‹œํŠธ API์—์„œ 429 Too Many Requests ๋ฐœ์ƒํ•จ.
  • ๋ฐฐ์น˜ ํ”„๋กœ์„ธ์Šค๋ณ„ Logging ์–ด๋…ธํ…Œ์ด์…˜ ๋งŒ๋“ค์–ด์„œ, ์ด ์–ด๋…ธํ…Œ์ด์…˜์ด ๋ถ™์€ ํด๋ž˜์Šค์˜ ๋ชจ๋“  ๋ฉ”์„œ๋“œ๋“ค ๋กœ๊น…ํ•˜๋„๋ก ์ˆ˜์ •ํ•˜๊ธฐ

@daadaadaah
Copy link
Owner Author

public class GithubIssueRepositoryStepIdManagementAspect { // TODO : ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ ์ฐธ๊ณ  https://chatgpt.com/c/f5048ee1-e629-454d-927d-ffaccad6e537

@daadaadaah
Copy link
Owner Author

daadaadaah commented Aug 7, 2024

Description:

The dependencies of some of the beans in the application context form a cycle:

   localMethodExecutionTimeLoggingAspect defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/common/aop/LocalMethodExecutionTimeLoggingAspect.class]
      โ†“
   discordNotificationService defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/service/notification/DiscordNotificationService.class]
      โ†“
   restTemplateHttpClient defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/infrastructure/resttemplate/RestTemplateHttpClient.class]
โ”Œโ”€โ”€โ”€โ”€โ”€โ”
|  appConfig defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/common/config/AppConfig.class]
โ†‘     โ†“
|  gitHubApiLoggingInterceptor defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/infrastructure/resttemplate/interceptor/GitHubApiLoggingInterceptor.class]
โ†‘     โ†“
|  logDirectSaveGoogleSheetsService defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/service/log/LogDirectSaveGoogleSheetsService.class]
โ†‘     โ†“
|  logGoogleSheetsRepository defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/repository/log/LogGoogleSheetsRepository.class]
โ†‘     โ†“
|  googleSheetsClient defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/infrastructure/googlesheets/GoogleSheetsClient.class]
โ””โ”€โ”€โ”€โ”€โ”€โ”˜


Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.
Description:

The dependencies of some of the beans in the application context form a cycle:

   localMethodExecutionTimeLoggingAspect defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/common/aop/LocalMethodExecutionTimeLoggingAspect.class]
      โ†“
   discordNotificationService defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/service/notification/DiscordNotificationService.class]
      โ†“
   discordRestTemplateHttpClient defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/infrastructure/resttemplate/DiscordRestTemplateHttpClient.class]
โ”Œโ”€โ”€โ”€โ”€โ”€โ”
|  appConfig defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/common/config/AppConfig.class]
โ†‘     โ†“
|  gitHubApiLoggingInterceptor defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/infrastructure/resttemplate/interceptor/GitHubApiLoggingInterceptor.class]
โ†‘     โ†“
|  logDirectSaveGoogleSheetsService defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/service/log/LogDirectSaveGoogleSheetsService.class]
โ†‘     โ†“
|  logGoogleSheetsRepository defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/repository/log/LogGoogleSheetsRepository.class]
โ†‘     โ†“
|  googleSheetsClient defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/infrastructure/googlesheets/GoogleSheetsClient.class]
โ””โ”€โ”€โ”€โ”€โ”€โ”˜


Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

@daadaadaah
Copy link
Owner Author

daadaadaah commented Aug 8, 2024

1๋ฒˆ์งธ ์ˆœํ™˜ ์ฐธ์กฐ ๋ฌธ์ œ

Description:

The dependencies of some of the beans in the application context form a cycle:

   localMethodExecutionTimeLoggingAspect defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/common/aop/LocalMethodExecutionTimeLoggingAspect.class]
      โ†“
   discordNotificationService defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/service/notification/DiscordNotificationService.class]
      โ†“
   restTemplateHttpClient defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/infrastructure/resttemplate/RestTemplateHttpClient.class]
โ”Œโ”€โ”€โ”€โ”€โ”€โ”
|  appConfig defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/common/config/AppConfig.class]
โ†‘     โ†“
|  gitHubApiLoggingInterceptor defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/infrastructure/resttemplate/interceptor/GitHubApiLoggingInterceptor.class]
โ†‘     โ†“
|  logDirectSaveGoogleSheetsService defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/service/log/LogDirectSaveGoogleSheetsService.class]
โ†‘     โ†“
|  logGoogleSheetsRepository defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/repository/log/LogGoogleSheetsRepository.class]
โ†‘     โ†“
|  googleSheetsClient defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/infrastructure/googlesheets/GoogleSheetsClient.class]
โ””โ”€โ”€โ”€โ”€โ”€โ”˜


Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.


Process finished with exit code 1
  • AppConfig -> GitHubApiLoggingInterceptor -> (LogService) LogDirectSaveGoogleSheetsService -> LogGoogleSheetsRepository -> GoogleSheetsClient -> AppConfig(Sheets)

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

  • GoogleSheetsConfig ์ถ”๊ฐ€ํ•˜์—ฌ ๊ตฌ๊ธ€ ์‹œํŠธ ๊ด€๋ จ ๋นˆ์€ AppConfig๊ฐ€ ์•„๋‹Œ GoogleSheetsConfig ๊ด€๋ฆฌํ•˜๋„๋ก ๋ณ€๊ฒฝ

@daadaadaah
Copy link
Owner Author

daadaadaah commented Aug 8, 2024

2๋ฒˆ์งธ ์ˆœํ™˜ ์ฐธ์กฐ ๋ฌธ์ œ

Description:

The dependencies of some of the beans in the application context form a cycle:

   localMethodExecutionTimeLoggingAspect defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/common/aop/LocalMethodExecutionTimeLoggingAspect.class]
โ”Œโ”€โ”€โ”€โ”€โ”€โ”
|  discordNotificationService defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/service/notification/DiscordNotificationService.class]
โ†‘     โ†“
|  restTemplateHttpClient defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/infrastructure/resttemplate/RestTemplateHttpClient.class]
โ†‘     โ†“
|  appConfig defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/common/config/AppConfig.class]
โ†‘     โ†“
|  gitHubApiLoggingInterceptor defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/infrastructure/resttemplate/interceptor/GitHubApiLoggingInterceptor.class]
โ†‘     โ†“
|  logDirectSaveGoogleSheetsService defined in file [/Users/daheekwak/Desktop/review-study-app/out/production/classes/com/example/review_study_app/service/log/LogDirectSaveGoogleSheetsService.class]
โ””โ”€โ”€โ”€โ”€โ”€โ”˜


Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.


Process finished with exit code 1
  • DiscordNotificationService -> RestTemplateHttpClient -> AppConfig(restTemplate) -> GitHubApiLoggingInterceptor -> (LogService) LogDirectSaveGoogleSheetsService -> (NotificationService) DiscordNotificationService

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

  • resttemplate์ด ํ•„์š”ํ•œ ์ƒํ™ฉ์ด 2๊ฐ€์ง€ ์ƒํ™ฉ์ด๋‹ค.
  • ๋””์Šค์ฝ”๋“œ์™€ ํ†ต์‹ ํ•  ๋•Œ์™€ Github ๊ณผ ํ†ต์‹ ํ•  ๋•Œ,
  • 1๊ฐœ๋กœ ๊ด€๋ฆฌ๋˜๋˜ resttemplate ๋นˆ์„ 2๊ฐœ์˜ ๋นˆ์œผ๋กœ ๊ฐ๊ฐ ๋‚˜๋ˆ  ์‚ฌ์šฉํ•˜๋„๋ก ํ•จ.
  • Config ํด๋ž˜์Šค๋กœ ๋ถ„๋ฆฌ

@daadaadaah
Copy link
Owner Author

๋””์Šค์ฝ”๋“œ 400 Bad Request ์—๋Ÿฌ ํ•ด๊ฒฐ

  • ์ธ์ฝ”๋”ฉ ๋ฐฉ๋ฒ•
  • JSON ํŒŒ์ผ ์ฒจ๋ถ€

@daadaadaah
Copy link
Owner Author

@Async.mov

@daadaadaah
Copy link
Owner Author

2024-08-22.6.51.00.mov

@daadaadaah
Copy link
Owner Author

daadaadaah commented Aug 27, 2024

As-Is : ๋™๊ธฐ ๋ฐฉ์‹

๊ธฐ์กด ๋ฐฉ์‹์€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ธ Github ๋กœ์ง๊ณผ ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ ๋กœ์ง์ธ Google Sheets Logging ๋กœ์ง์ด ๋™๊ธฐ ๋ฐฉ์‹์œผ๋กœ ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋กœ ์ธํ•ด ๋‘ ๋กœ์ง๊ฐ„์˜ ๋†’์€ ๊ฒฐํ•ฉ๋„๊ฐ€ ์ƒ๊ฒจ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

  1. ์žฅ์•  ์ „ํŒŒ ๋ฌธ์ œ : ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ์ธ Logging ๋กœ์ง์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ, ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ธ Github ์ž‘์—…์ด ์ค‘๋‹จ๋˜๋Š” ๋ฌธ์ œ
  2. ํ•ต์‹ฌ ๋กœ์ง ์ด ์ž‘์—… ์ˆ˜ํ–‰์‹œ๊ฐ„ ์ง€์—ฐ ๋ฌธ์ œ : ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ์ธ Logging ์ž‘์—…์ด ์ง€์—ฐ ๋  ๊ฒฝ์šฐ, ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ธ Github ์ž‘์—…๋„ ์ง€์—ฐ๋˜๋Š” ๋ฌธ์ œ

To-Be : ๋น„๋™๊ธฐ ๋ฐฉ์‹

@async๋กœ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ธ Github ๋กœ์ง๊ณผ ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ ๋กœ์ง์ธ Google Sheets Logging ๋กœ์ง์„ ๋””์ปคํ”Œ๋งํ•˜์—ฌ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„ฑ๊ณผ๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค.

  1. ์žฅ์•  ๊ฒฉ๋ฆฌ๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„์˜ ์•ˆ์ •์„ฑ ํ–ฅ์ƒ : ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ์ธ Logging ๋กœ์ง์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋”๋ผ๋„, ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ธ Github ์ž‘์—…์ด ๊ณ„์† ์ง„ํ–‰
  2. ์‹คํ–‰์‹œ๊ฐ„ 4.5๋ฐฐ ์„ฑ๋Šฅ ํ–ฅ์ƒ(ํ‰๊ท  45์ดˆ -> 10์ดˆ ๋‹จ์ถ•) : ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ์ธ Logging ๋กœ์ง ์ž‘์—…์— ์ƒ๊ด€ ์—†์ด, ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ด ์ˆ˜ํ–‰๋˜๋ฏ€๋กœ

@daadaadaah
Copy link
Owner Author

daadaadaah commented Aug 27, 2024

๋น„๋™๊ธฐ๋กœ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๊ณผ ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ ๋กœ์ง์„ ๋””์ปคํ”Œ๋ง์‹œ์ผœ ์žฅ์•  ๊ฒฉ๋ฆฌ๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„์˜ ์•ˆ์ •์„ฑ ํ–ฅ์ƒ๊ณผ ์„ฑ๋Šฅ ํ–ฅ์ƒ

๊ฐœ์„ ์  1. ๋™๊ธฐ -> ๋น„๋™๊ธฐ๋กœ ์žฅ์•  ์ „ํŒŒ ๋ฌธ์ œ ํ•ด๊ฒฐ

๊ฐœ์„ ์  2. ๋น„๋™๊ธฐ+์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ๋กœ ์ˆ˜ํ–‰ ์‹œ๊ฐ„ ์ง€์—ฐ ๋ฌธ์ œ ํ•ด๊ฒฐ

(๋‹จ, ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ๊ฐ€ ์•„๋‹Œ ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ ์ƒํ™ฉ์—์„œ์˜ ์„ฑ๋Šฅ์ž„)

์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ๋ฐฉ์‹์œผ๋กœ ๋™์‹œ์„ฑ ๋ฌธ์ œ ํ•ด๊ฒฐ

๊ฐœ์„ ์  1. ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ -> ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ๋กœ ๋™์‹œ์„ฑ ๋ฌธ์ œ ํ•ด๊ฒฐ


๋™๊ธฐ -> ๋น„๋™๊ธฐ : ์žฅ์•  ์ „ํŒŒ ๋ฌธ์ œ ํ•ด๊ฒฐ
๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ -> ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ : ๋™์‹œ์„ฑ ๋ฌธ์ œ ํ•ด๊ฒฐ
๋น„๋™๊ธฐ+์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ : ์ˆ˜ํ–‰ ์‹œ๊ฐ„ ์ง€์—ฐ ๋ฌธ์ œ ํ•ด๊ฒฐ

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant