저장소를 만든 후에 이름을 바꾸고 싶은 경우에 대해서 알아보자.

 

이번에도 저장소의 Settings 메뉴를 선택하면 된다.

 

 

제일 앞에 이름을 변경할 수 있는 부분이 보인다.

변경 후에 "Rename" 버튼만 누르면 된다.

 

 

끝났다 !!!

너무나 간단하다 !!!

 

GitHub에서 저장소 이름을 변경한다는 것은

저장소의 URL도 같이 변경된다는 것을 의미한다.

 

그러면, 저장소 이름을 변경하기 전에 이미 clone을 받은 사람은 어떻게 할까?

 

URL이 바뀌었기에 push, pull, fetch 등의 작업을 할 때 주소를 못찾게 된다 !

그렇기에 변경된 URL을 알려줘야만 한다.

 

 

바뀐 주소만 넣어주면 끝 !!! 😅

 

반응형

저장소를 생성했으면 삭제하는 방법도 알아보자.

 

삭제하고자 하는 저장소의 메뉴 중에서 Settings를 선택해보자.

 

 

제일 밑에 위치하고 있는 Delete this repository 부분을 찾으면 된다.

 

 

저장소를 삭제하면 복구가 안되기 때문에 뭔가 단계(절차)가 많다.

 

정말 삭제할 것이냐고 묻는다.

 

 

삭제하게 되면 어떤 일이 벌어지는 것인지 정말 이해하고 있냐고 묻는다.

 

 

그래도, 한 번 더 확인을 위해 번거롭지만 직접 저장소 이름을 타이핑하도록 하고 있다.

 

 

개인마다 상황이 다르겠지만, Passkey를 등록해놓은 경우 Passkey를 또 확인하고 있다.

 

 

이렇게 힘든 과정을 거쳐야지만 비로소 repository가 삭제 된다.

 

 

힘들다 !!! 😅

반응형

GitHub에서 저장소(repository)를 생성해보자.

 

Organization에서 repository를 생성하는 것과

 

 

개인 계정에서 repository를 생성하는 경우가 있지만,

 

 

repository를 생성하는 것은

 

 

생성되는 위치만 달라지는 것이지 모두 똑같은 repository를 생성하는 것이다.

 

 

하지만, 이렇게 생성되는 repository의 상태는 텅텅비어 있는 경우와 initial commit이 있는 경우로 구분될 수 있다.

 

아래와 같이 README 파일이나 .gitignore 파일을 모두 선택하지 않는 경우에는

 

 

initial commit 조차 없는 텅텅 비어 있는 repository로 만들어진다.

 

 

이후 어떻게 진행하면 된다고 친절하게 가이드 해주고 있다.

그대로 따라해보자.

 

 

브랜치(branch)와 관련된 부분은 가이드의 내용과 다르게 진행했는데,

기본 브랜치로 "main"으로 하라고 환경 설정을 하고 진행하는 방식으로 해봤다.

 

README 파일을 생성하도록 하거나 .gitignore 파일을 포함하도록 하는 경우를 살펴보자.

아래의 예시와 같이 둘 모두를 선택해도 동일하다.

 

 

이렇게 생성하면 README 파일, .gitignore 파일을 등록하는 initial commit이 실행되어

아래와 같이 생성되지 마자 저장소의 내용을 확인할 수 있다.

 

 

저장소 URL을 확인하고

 

 

저 주소로 git clone 받으면 된다.

 

 

정말 간단하지 않은가!? 😅

반응형

온라인 교육을 받다보면 누구나 그렇게 하는 것처럼 웹 서핑을 정말 열심히 하게 된다.

그러다가 우연히 참으로 교육적인 컨텐츠 사이트를 발견하게 되었다.

- First Contributions:  https://github.com/firstcontributions

 

 

첫번째 기여를 해보도록 알려주기 위한 정말 친절한 저장소가 있다니 !!!

- https://github.com/firstcontributions/first-contributions 

 

 

내가 본 것 중에서 가장 많은 언어로 제공해주는 가이드이지 싶다.

물론 한국어도 제공해준다 !!! 태극기를 클릭하자 !!!

- https://github.com/firstcontributions/first-contributions/blob/main/docs/translations/README.ko.md 

 

 

너무나 친절한 가이드이기에 그대로 따라해도 좋지만,

그래도 직접 따라해보면서 조금 더 자세히 안내하는 포스팅을 해보도록 하겠다.

 

① git

이후 작업을 하려면 무엇보다 먼저 git 도구가 설치되어 있어야 한다.

https://git-scm.com/ 

 

 

git 설치 여부 확인 해보고, 필요하면 공식 홈페이지 가이드에 따라 설치 진행하면 된다.

최신 버전 사용하는 것을 권장하지만, 배포판의 경우 살짝 낮은 버전일 수도 있다.

 

 

② Fork

기여하기 위해서는 소스 코드 변경사항을 잠시 담아놓을 나만의 공간(저장소)가 필요하다.

오픈소스 프로젝트를 나만의 저장소로 복사해 놓는 작업을 포크(fork)라고 한다.

아래 이미지 참고하여 fork 버튼을 클릭하자.

- https://github.com/firstcontributions/first-contributions 

 

 

굳이 뭐 다르게 할 필요가 없으면 그냥 기본값 그대로 forked repository를 생성하면 된다.

 

 

개인계정 밑으로 forked repository가 생긴 것을 볼 수 있다.

내 마음대로 손대도 되는 나만의 공간이다.

 

 

③ clone

forked repository를 이제 내 작업환경(local)에 내려받아보자.

 

 

나는 Ubuntu 환경에서 작업을 진행했지만, 명령어 자체는 Windows, Linux, macOS 모두 동일하다.

 

 

④ branch

현재 branch 상황을 확인하고, 파일 수정을 하기 위한 작업용 branch를 생성하자.

 

branch 정보를 보려고 하면 화면 전환이 되는 것이 불편해서 환경 설정 값을 셋팅했다.

> git config --global pager.branch false

 

 

최근 git에서는 branch 전환하는 경우, switch 명령어 사용을 권장한다.

"-c" 옵션을 통해 신규 branch를 생성하고 이동까지 했다.

 

⑤ config

변경사항 저장을 위한 commit을 하려면 사용자 정보가 셋팅되어 있어야 한다.

 

 

branch 정보뿐만 아니라 config 정보라던지 다른 대부분의 출력 방식을 변경해보자.

1페이지가 넘어가는 경우에만 화면 전환을 하고, 그게 아니면 그냥 같은 화면으로 출력하도록 하는 옵션이다.

> git config --global core.pager "less -F -X"

 

user.name 정보와 user.email 정보가 셋팅되어 있지 않으면 아래와 같이 입력해주도록 하자.

> git config --global user.name=this-is-your-name
> git config --global user.email=this-is-your-email

 

⑥ edit

파일 목록을 먼저 확인 해보고, 파일 하나를 수정 작업 해보자.

 

 

contributor 명단에 내 정보를 입력하면 된다.

 

 

 ⑦ commit

변경한 내역을 staging 하고 commit 하면 되는데 ...

 

 

위와 같이 가이드대로 진행을 하면, 나중에 merge가 자동으로 안되는 이슈가 있었다.

 

 

가이드 내용과 달리 "> git add -p"를 통해 staging을 권장하는 내용이 나온다.

 

필수 요소는 아닌 것 같고, 사실 둘의 차이가 왜 발생하는지 이해가 되지는 않지만

이렇게 진행했더니 바로 merge가 된 것으로 보면 이렇게 진행하는 것을 권장한다.

 

 

⑧ push

이제 저장소에 밀어 넣으면 된다.

 

 

⑨ pull-request

이제 github 사이트를 통해서 진행하면 된다.

나의 forked repository를 보면 push 내역을 자동으로 인지해서 pull-request 버튼이 나타난다.

 

 

Description 내용을 보면 간단한 설문 내용도 있으니

찬찬히 읽어보고 제안할 내용 등이 있거나 하면 그에 맞춰서 체크하고 진행해보자.

 

 

⑩ merge

제대로 진행했으면 자동으로 체크 후 merge까지 진행이 된다.

 

 

"Pull requests" 내역의 Closed 항목에서 확인해볼 수 있다.

 

 

Actions 항목에서 내 PR을 위해 수행한 내역을 확인해볼 수 있다.

 

 

⑪ Retry

혹시 merge가 안되고 open 상태로 있다면,

잠시 기다려 보고 그래도 open 상태라고 하면 close 처리 후 다시 진행해보는 것을 추천한다.

 

Actions 내역을 보면 Fail이 아님에도 불구하고,

밑의 그림에서 볼 수 있듯이 Merge PR 부분이 실행되지 않았음을 알 수 있다.

 

 

그러면 Close 하고 다시 PR을 올려보는 것을 추천한다.

 

 

 

이제 여러분은 오픈소스 기여자가 되었습니다 !!!

 

반응형

"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다."

 

 

책 제목에 챗GPT라고 쓰여져 있다고, 챗GPT만을 위한 책이 아니다.

여러 AI 도구들을 사용해서 업무 생산성을 높이는 방법을 알려주는 책이다.

 

 

처음에는 25년 12월 12일에 챗GPT 사용법을 알려주는 책을 ?! 이라는 의문점이 있었다.

한 때 (최근?) 온라인 서점에서 IT 부분을 거의 점령했던 책들이 바로 이런 비슷한 제목들이었기 때문이다.

 

하지만, 책을 살펴보면서, "아! 이렇게 잘 정리된 책이 필요할 때가 되었구나!"라는 생각이 들었다.

 

 

이 책의 저자인 '장병준'님은 SK텔레콤과 같은 대기업에서도 일 한 경험이 있으시고

블라인드(Blind)와 같은 스타트업에서도 일 한 경험이 있으신 다양한 업무 경험을 갖고 계신 분이다.

거기에다가 우리나라 최고의 대학교 출신이시기도 하시고 ^^

 

 

"일잘러 장피엠" 유튜브 채널을 보시면 제일 간판에 적혀 있는 것이 "슈퍼 기획자"이다.

그렇다! '장병준'님은 개발자 출신이 아니다!

 

그동안의 교육이나 강연 사례를 살펴봐도 의료인력이나 행정인력 같은 주로 비개발자 대상으로 진행을 하셨다.

"일잘러 장피엠" 이름처럼, 정말 일을 잘하는 방법을 설명해주시는 것이다 !!!

 

이 책 제목도 바로 "일 잘하는 사람은 이렇게 챗GPT를 씁니다"이다.

일 잘하는 법이다!!!!

 

그리고,

이 책에서는 또 하나의 편견을 깨야 한다.

 

 

그렇다 !!!

이 책은 챗GPT만 설명해주는 책이 아니다.

 

노코드 도구들을 중심으로 업무를 도와주는 다른 AI 도구들도 소개하고 설명해주고 있다.

 

 

일을 잘하기 위해서는 "반복적인 업무들을 최대한 자동화"하고

실제 고민을 하고 정성을 쏟아야 하는 일에 더 많은 시간을 투자하는 것이 필요하다.

 

그 과정에서 AI 도구들과 노코드 자동화 도구들을 이용하면 업무 생산성이 올라가게 되는 것이다.

 

업무 생산성을 높이고 싶은 분들에게

많은 교육 및 강연으로 다듬어진 깔끔하게 잘 정리된 내용으로 추천해줄 수 있는 책이다.

반응형

"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다."

 

전 세계가 빠져있는 AI 열풍에서도 가장 큰 비중을 차지하고 있는 것이 바로 Software Development 분야이고,

그러한 AI 코딩 분야에서도 최근 가장 핫한 키워드가 바로 "바이브 코딩(Vibe Coding)"이다.

 

그리고, 이러한 열풍에 발맞춰서 뉴스에서 계속 언급되고 있는 것이

"소프트웨어 개발자의 해고", "취업난" 이다.

 

AI의 엄청난 발전에 따라 개발자들도 변화를 해야 한다.

바로 그 이야기를 이 책 "바이브 코딩 너머 개발자 생존법"에서 말하고 있다.

 

 

그렇다.

지금 개발자는 "생존법"에 대해서 고민을 해야하는 시기인 것이다.

 

살아 남아야 한다.

 

 

출간한지 얼마 안된 따끈따끈한 책이다.

 

 

지은이 "에디 오스마니(Addy Osmani)"는 구글에서 크롬 웹브라우저, 제미나이 개발을 하고 있는

25년차 이상의 시니어 개발자이자 리더로써 많은 책을 낸 나름 유명한 분이다.

 

최근 "무엇이 1등 팀을 만드는가?"라는 책도 한빛미디어에서 번역되어 출간했었는데.

그 때 "기민함(Agility)"을 상당히 강조를 했었었다.

 

에디 오스마니가 말하는 기민함이란

단순히 빠른 것만 말하는 것이 아니라, 변화하는 환경에서 효과적으로 적응하고 대응하는 사고방식을 말했었다.

 

그 연장선에서 바로 이 책에서 말하고자 하는 내용이 있는 것이 아닐까 생각해본다.

 

 

이 책은 크게 3개의 파트로 구성이 되어 있다.

 

PART 1 에서는 일단 바이브 코딩에 대해서 알아본다.

 

 

PART 2 에서는 실무에서 AI를 어떻게 사용해야 하는지에 대해서 말하고 있다.

 

 

PART 3 에서는 AI이기 때문에 발생하는 보안을 포함한 신뢰와 자율성에 대해서 이야기 하고 있다.

 

 

바이브 코딩에 대해서 이야기 하는 책이고,

챕터들을 봐도 상당히 기술적인 이야기를 하고 있는 것으로 보이지만,

 

사실 공부하듯이 봐야 하는 기술 서적으로 분류해야 하기 보다는

그냥 주우욱~ 읽어가는 일종의 개발 인문 서적으로 보는 것이 맞지 않을까 한다.

 

 

AI 시대에서 개발자로 어떻게 살아가야할지 조금이라도 고민을 하는 분들이라면

한 번 쯤 읽어보면 좋을 IT 교양 서적으로 추천하고 싶다.

반응형

 

좋은 기회가 되어서 정말 간만에 길벗출판사의 도서를 리뷰하게 되었다.

 

개인적으로 좀 바쁜 시기였음에도 불구하고, 도저히 피할 수 없는 너무나 매력적인 조건들이라 리뷰 신청을 하지 않을 수 없었다.

- 최근 진행하고 있는 스터디에서 트랜스포머를 건드려보고 있는데, 직접 만들어보는 GPT 라니 !!!

- 개인적으로 공부할 때 가장 좋아하는 스크래치 부터 직접 구현해보는 방식이다 !!!

- 원서의 출처가 MANNING 이라면.... 최소한 기본 이상은 될거라는 믿음이 있다 !!!

- 소스코드 구현도 PyTorch 기반으로 했다. 와우 !!!

- 내가 너무나 추종하는 박해선님이 옮긴이로 참여한 책이다 !!! 우와 !!!

- 박해선님이 참여했다면 ... 하나 하나 꼼꼼하게 다시 만들어 주시는 샘플 코드들이 기대되고 ... !!!

- 박해선님이 참여했다면 ... 혹시 동영상 강의도 기대를 ?! ?!

 

 

표지를 보곤 출간한지 좀 오래된 책인 것 같은 느낌이 들었지만,

원서 "Build a Large Language Model (From Scratch)"를 살펴보니 24년 10월 29일에 출간되었다.

 

음... 그냥 교과서 같은 느낌의 표지 디자인이라고 생각해야겠다! ㅋㅋ

 

 

개인적으로 열렬한 팬심을 갖고 있는 박해선님의 책이라 무조건 믿음 이다 !!! ^^

 

저자인 '세바스찬 라시카'의 그동안의 저서들과 이번 책을 봤을 때 교과서 스타일을 좋아하는 것으로 보이기에

박해선님의 스타일과 너무 잘 맞는, 말 그대로 찰떡궁합인 것 같다.

 

 

원서가 출간된지 거의 1년만에 번역본이 출간된 것이다보니 AI 시대에 있어서 1년이라는 시간이 살짝 걱정되지만

최근 LLM의 근간이 되는 그 뿌리에 대한 내용이기도 하고,

코드에 있어서의 문제는 박해선님이 충분히 그 간극을 매꿔주시고 부족한 것은 보충해주셨을 것이라 문제 없을 것이다.

 

 

LLM 관련 샘플 코드들의 경우 라이브러리 버전 맞추기라던지, GPU 리소스의 문제가 있기 때문에

종종 Colab에서만 실행 가능하거나, 실습 환경 구축하는 것에 많은 제약이 있기도 하는데

친절하게도 일반적인 환경에서도 실습 가능하도록 세심히 배려해주셨다.

 

소스코드는 아래 링크와 같이 박해선님의 저장소에서 찾아볼 수 있다.

https://github.com/rickiepark/llm-from-scratch

 

 

이 책은 표지뿐만 아니라 챕터 구성이나 그 내용, 심지어 목차의 타이틀만 봐도 "교과서"의 냄새가 많이 난다.

나쁜 의미가 아니라 LLM에 대해서 공부하는 사람에게는 너무나 좋은 너무나 충실한 책이라는 의미이다.

 

 

개인적으로 풀컬러 책을 좋아하기에 조금 아쉽기는 하지만,

그래도 흑백으로만 하지는 않고, 주황색으로 포인트를 주었다.

 

 

이 책은 부록이 살짝 숨어있다.

책의 뒷 부분을 보면 "워크북"이 분리가 된다.

 

 

그렇다 !!! 이 책은 정말 교과서 였던 것이다 !!!

책을 잘 공부했는지 연습문제도 제공을 해준다 !!!

 

음... 문제의 퀄리티가 엄청 고급스럽지는 않은 것 같은데,

그래도 제대로 공부했는지 확인하는 용도로는 충분히 괜찮은 것 같다.

 

 

혹시나, 하고 찾아봤는데

역시나 박해선님은 나의 기대를 져버리지 않고 동영상 강의를 제공해주셨다.

https://www.youtube.com/playlist?list=PLJN246lAkhQhgakhcxz-5GwG_NYuJgSv1

 

 

교과서 책이라서 그러신 것인지, 별도 강의도 운영을 하신다. (이것은 물론 유료 강의이다 ^^)

http://www.inflearn.com/course/lt밑바닥부터-만들면서-배우는-llm-1

 

 

 

아! 그리고, 현재 이 책의 경우 아직 초판이기에 정오표 확인이 정말 중요하다.

https://tensorflow.blog/llm-from-scratch/

 

 

오타도 물론 있지만, 소스코드 부분에 있어서 생각보다 많은 부분의 정오표가 기록되어 있다.

공부할 때 빼놓지 말고 필독 !!!

 

 

 

이 책을 보면 설명도 정말 잘 되어있고 그림으로 설명하는 부분도 정말 세심하게 많이 신경써서 표현된 것을 알 수 있다.

 

하지만, 조금 아쉬운 점은 지나친 한글화 작업이다.

뭔가 의도하신 바가 있으셔서 그렇게 하셨을 것이라 생각은 하지만,

공부하는 입장에서 지나친 한글화는 오히려 더 햇갈리거나 나중에 더 어려움을 느끼게 된다.

 

예를 들어, "layer normalization" 같은 경우 "층 정규화"라고 사용하는 것이 크게 어색하지는 않은데

"causal attention" 같은 경우 "코잘 어텐션"이라고 한글로 사용을 하게 되면 상당히 많이 어색하다.

 

구글에서 "코잘 어텐션"이라고 검색해도 잘 나오지도 않는다.

오히려 "인과적 어텐션"이라고 검색하는 것이 더 많은 결과가 나온다.

 

아직 대중화(?)되지 않은 용어의 경우에는 그냥 본래 단어(영어)로 표현하는 것이 더 좋지 않을까 생각해본다.

 

(하지만, 미천한 내가 알지 못하는 이유가 있을 거라는 생각은 한다. 셀프 어텐션과 뭔가 pair가 되어야 한다거나 하는...)

 

 

마지막으로 이 책에 대해서 총편을 해보자면,

LLM을 공부하고자 하는 사람이라면 교과서로 생각하고 무조건 구매해서 꼼꼼하게 공부해야 하는 책이다 !!!

반응형

파이썬을 이용해서 개발을 하려다 보면

Python Version + Python Package 관리 때문에 마음 고생할 때가 종종 발생한다.

 

특히, 동시에 여러 프로젝트를 하려다보면

A 프로젝트는 Python 3.12 환경에 PyTorch 관련 패키지들이 필요하고

B 프로젝트는 Python 3.14 환경에 FastAPI 관련 패키지가 필요하는 등...

서로 다른 환경이 필요한 경우가 있다.

 

이런 것을 섞어서 하려다보면 많은 문제가 발생할 수 있기에

각 프로젝트마다 독립적인 개발환경을 제공해주기 위한 가장 아름다운 방법이

바로 파이썬 가상 환경이다.

 

 

▶ Virtual Environment

- 독립적인 파이썬 환경
  . 각 프로젝트에 필요한 파이썬 버전과 라이브러리 관리 가능
- 시스템(호스트) 파이썬과 분리
  . 시스템에 설치된 파이썬 환경을 변경하지 않고 개발 환경 구성
- 디렉토리 기반으로 가상 환경 구성

 

 

운영체제 전체에 기본적인 환경이 있겠지만,

내가 작업하는 디렉토리 + 하위 디렉토리만을 위한 독립적인 개발환경을 구성하는 것이다.

 

 

▶ Tools

- Python 생태계는 패키지 관리, 버전 관리, 가상환경 관리, 빌드 도구 등이 파편화되어 혼란스럽다는 평가를 받고 있음
- 가상환경 관련 도구의 경우 패키지 관리 도구와 같이 pair로 구성되는 경우가 많고, Python 버전 관리는 명확치 않음

 

 

파이썬 패키지 관리 도구라던지 파이썬 버전 관리 도구는 정말 다양하게 있다.

 

물론 개발자들의 사랑을 받는 유명한 도구들이 있긴 하지만,

문제는 그 유명한 도구들이 여러개 존재하기 때문에 혼란스러운 것은 여전하다.

 

 

그러던 중, 이런 춘추전국 시대에 밝은 빛을 비춰주는 존재가 등장했으니 !!!

아름다운 "uv"라는 도구가 ... (다음 기회에~^^)

반응형

+ Recent posts