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

문제 자동 생성 스크립트 구현 #61

Merged
merged 8 commits into from
May 10, 2024

Conversation

WhiteHyun
Copy link
Member

@WhiteHyun WhiteHyun commented May 9, 2024

Screenshots 📸

실행 테스트
Screen Recording 2024-05-09 at 8 32 21 PM

Descriptions 📝

LeetCode URL, 또는 LeetCode title-slug로 폴더와 문제를 자동생성해주는 스크립트 파일을 완성했습니다.

파일 구조는 아래와 같습니다.

./scripts
├── common.bash            // 공통 메서드
├── languages.bash         // 각종 언어 환경에 관한 데이터 프로퍼티
├── leetcode.bash          // 실제로 실행하게 될 클라이언트 bash script
└── leetcode_helper.bash   // leetcode.bash 실행에 도움을 주는 메서드(e.g. network function)

사전 설정 ✏️

1. .env 파일 추가

VSCode 사용중인경우
Screenshot 2024-05-09 at 8 17 34 PM

최상위 폴더에 .env 파일을 추가해주시고, 아래의 NICKNAME과 LANGUAGE값을 설정해주세요.

NICKNAME=WhiteHyun
LANGUAGE=swift # cpp, java, python, python3, c, csharp, javascript, typescript, php, swift, kotlin, dart, golang, ruby, scala, rust, racket, erlang, elixir

2. scripts 실행 권한 설정

처음에는 permission denied가 나타날 거예요. 그래서 chmod로 권한설정을 해주어야합니다.

chmod +x scripts/*

스크립트 사용법 🧾

위 설정을 마무리했다면 scripts/leetcode.bash [URL] 또는 scripts/leetcode.bash [title-slug] 를 실행해보세요.

scripts/leetcode.bash maximize-happiness-of-selected-children #
scripts/leetcode.bash https://leetcode.com/problems/maximize-happiness-of-selected-children/description/ #

Note

jq라이브러리 필수: graphQL 파싱을 위함
bash 스크립트 4.0.0 이상: declare 선언 구문 사용을 위함
만약 두 가지 조건이 충족되지 않는다면 brew로 설치하도록 구현해두었습니다.
macOS에서는 동작가능하지만 다른 OS는 잘 모르겠습니다.

@dev-jonghoonpark
Copy link
Contributor

커밋 합치는 법 혹시 아실까요~?
하나로 합쳐보셔도 좋지 않을까 싶네요...! : )
(만약 도전해보고 싶으시다면...?!)

@Invidam
Copy link
Contributor

Invidam commented May 10, 2024

커밋 합치는 법 혹시 아실까요~? 하나로 합쳐보셔도 좋지 않을까 싶네요...! : ) (만약 도전해보고 싶으시다면...?!)

rebase 이용해서 합칠 수 있을 것 같아요.
+) 저는 안 합쳐도 크게 상관 없을 것 같아요!

Copy link
Contributor

@DaleSeo DaleSeo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

와, 쉘 스크립트를 엄청 잘 짜시네요! 전 이렇게 못짜요... ㅠㅠ
스터디 멤버들의 생산성 향상에 큰 도움이 될 것 같습니다! 🤗

@DaleSeo
Copy link
Contributor

DaleSeo commented May 10, 2024

이번 주 정기 모임에 참석하신다면 스터디 멤버들에게 간단하게 데모를 해주셔도 좋을 것 같습니다.

@WhiteHyun
Copy link
Member Author

WhiteHyun commented May 10, 2024

커밋 합치는 법 혹시 아실까요~? 하나로 합쳐보셔도 좋지 않을까 싶네요...! : ) (만약 도전해보고 싶으시다면...?!)

@Invidam 님 말씀대로 git rebase를 사용해서 합칠 수는 있지만, 각각의 구현 사항을 구분하고 싶어서 커밋으로 나누었어요!
그리고 지금 커밋이 이미 remote에 올라간 이상, git rebase를 하게 되면 force push를 해야해서 마음이 석연치 않네요.. 😭

@WhiteHyun
Copy link
Member Author

와, 쉘 스크립트를 엄청 잘 짜시네요! 전 이렇게 못짜요... ㅠㅠ 스터디 멤버들의 생산성 향상에 큰 도움이 될 것 같습니다! 🤗
이번 주 정기 모임에 참석하신다면 스터디 멤버들에게 간단하게 데모를 해주셔도 좋을 것 같습니다.

계속 그 날만큼은 시간이 되지 않아서 참 아쉬운데, 최대한 시간을 잡아볼게요!
칭찬 감사합니다 DaleSeo님 🙇

@DaleSeo
Copy link
Contributor

DaleSeo commented May 10, 2024

계속 그 날만큼은 시간이 되지 않아서 참 아쉬운데, 최대한 시간을 잡아볼게요!
칭찬 감사합니다 DaleSeo님 🙇

@WhiteHyun 님, 너무 시간 내려고 무리하실 필요는 없으세요. 다다음 모임 때 해주셔면 되죠.
그런데 PR 설명에 친절하게 시연 영상을 이미 넣어주셔서, 굳이 직접 설명 안 해주셔서도 다들 잘 따라할 것 같네요. 👍

@DaleSeo DaleSeo merged commit b55c5b5 into DaleStudy:main May 10, 2024
1 check passed
@WhiteHyun WhiteHyun deleted the feature/scripts branch May 12, 2024 08:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Status: Done
Development

Successfully merging this pull request may close these issues.

4 participants