~막학기 취준생이 오픈소스 기여를 접하게 된 과정~

 

1. 오픈소스 기여? 도전해 말아..

11/1(금) 오픈소스 멘토링 신청

 

때는 금요일 오전 오늘도 카페 가서 공부해야지..하고 누워서 핸드폰하며 뒹굴다가

구글에 싸피 후기를 검색 -> 발견한 블로그의 다른 게시글도 구경 -> 오픈소스 멘토링 후기 발견 순으로

인제님의 오픈소스 멘토링을 접하게 되었다!

 

내가 당시 본 블로그 후기글은 낙관적 허무주의 개발자님의 이 후기! 

https://jun10920.tistory.com/39

 

오픈소스 기여하기 / Open Source Contribute - Spring AI

안녕하세요!이번 주제는 오픈소스에 기여해 보는 경험을 공유하기 위해서 왔습니다.프로젝트를 진행하면서 어느 정도 기능 개발에 익숙해져서 자신감에 차 있던 저는오픈소스를 이해하고, 이

jun10920.tistory.com

 

https://medium.com/opensource-contributors/%EB%AA%A8%EC%A7%91%EC%A4%91-%EC%98%A4%ED%94%88%EC%86%8C%EC%8A%A4-%EB%A9%98%ED%86%A0%EB%A7%81-7%EA%B8%B0-%EC%B0%B8%EC%97%AC%EC%9E%90%EB%A5%BC-%EB%AA%A8%EC%A7%91%ED%95%A9%EB%8B%88%EB%8B%A4-a8e0f94a2522

 

인제님의 오픈소스 멘토링은 매우 체계적으로 진짜 누구나 이슈를 선정하고 첫 PR을 생성할 수 있도록 도와주는 과정 같았다. 그동안 오픈소스, 오픈소스 기여가 어떤 내용인지는 알고 있었지만 진짜 이렇게 많은 개발자들이 이슈를 올리고 또 해결하고 자유롭게 오픈소스가 발전되고 있다는 건 처음 접하였다.

 

오픈소스 멘토링 후기글들을 여럿 찾아보고, 노션도 구경하며 신청서를 제출할까 말까 많이 고민하였다. 나는 못할 것 같은데... 싶다가도 매일이 똑같은 이 시기에 새로운 도전을 해보고 싶어서 한시간 정도는 망설이다가 신청서를 제출하였다!

오픈소스 멘토링에 왜 참여하고 싶은지, 그동안 여러 스터디를 통해 다른 사람들과 함께 개발하는 경험을 쌓았던 내용을 담아서 작성했다.

 

 

11/5 (화) 멘토링 선정

신청서를 제출하고 선정이 될 수 있을까... 기다리다가 카톡방 알람이 울리고 멘토링에 선정되었다는 연락을 받았다. 무료한 일상에 도파민 터질 일정이 추가되었다는 사실에 너무너무 좋았다. 

 

 

 

 

 

2. 이슈 선정부터~ 본격 기여 시작

11/21 (목) ~ 11/23 (토), 11/24 (일)

일요일 대면 멘토링 전에 카톡으로 이슈를 선정하고 피드백을 받는다!

 

나는 평소에 많이 사용해 본 spring, spring boot를 첫번째로 이슈 탐색을 시작하였다.

 

 

그런데 생각보다 인제님의 이슈 선정 가이드에 적합한 이슈가 보이지 않았다. 그래서 범위를 더 넓혀서 hibernate나 swagger, jpa, redis 등 사용해 본 경험이 있는 오픈소스 중에 관심 가는 아이들을 살펴보았다. 그 중에서도 사실 spring data reids에 마음이 조금 더 갔는데 아무래도 이 시기에 진행했던 졸업 연구 마지막 단계에서 spring data redis를 사용해서 그랬던 것 같다.

 

redis는 요즘 정말 많이 사용된다고 해서 나도 자세히 공부해보고 싶었는데 졸업 연구에 적용하는 과정은 import하고 캐시 애노테이션을 사용하고 너무 단순하게?(진짜 그냥 갖다 쓰는 정도로..) 사용한 것 같아서 아쉬웠다. 그래서 redis 이슈를 선정해서 분석해보면 좋을 것 같아 더 열심히 이슈를 찾았다.

 

 

나는 최종적으로 

 

이렇게 2가지 이슈를 선정해 보았고 인제님 피드백을 바탕으로 spring data redis의 이슈를 최종적으로 선택하였다.

 

 

 

 

내가 선택한 이슈는 spring data redis에 properties 파일로 캐시 설정을 받아오는 새로운 기능을 추가하자는 이슈였다.

https://github.com/spring-projects/spring-data-redis/issues/1510

 

 

이슈 내용은 쉽게 이해가 돼서 간단할 거라고 생각했는데 생각보다 고려해야 할 내용이 많은 이슈였다.

 

결론적으로 이러한 작업을 거쳤다.

 

1. redisCacheConfiguration에 redis-cache.properties로 캐시 설정을 받아오는 코드 작성

2. 유닛테스트 작성

3. 실제로 사용자가 어떻게 properties 파일을 두면 되는 지 테스트

4. properties 파일이 없는 경우 고려

5. 잘못된 input이 들어올 경우 고려

 

 

 

PR생성!

사실 일요일 멘토링에서 PR까지 생성 완료했어야 했는데 configuration 코드 보완하고 3번 작업하느라 멘토링 3시간이 훌쩍 지났다. 그래서 멘토링 이후에 인제님께 코드 리뷰를 한번 더 받고 pr을 올리게 되었다.

https://github.com/spring-projects/spring-data-redis/pull/3059

 

 

pr을 생성할 때는 spring data redis의 기여가이드도 잘 살펴보고 신중히 글을 작성했다ㅋㅋ 

뭔가 내가 작성한 코드가 오픈소스에 pr로 올라가다니,, 너무 신기했다.

https://github.com/spring-projects/spring-data-redis/blob/main/CONTRIBUTING.adoc

 

 

3. 기여를 마치며, 느낀점

pr생성까지 마무리했지만 아직 끝이 아니다. 메인테이너 분들의 리뷰를 기다리고 merge 될 수 있을때까지 계속 작업을 해야 한다. 그동안 테스트 케이스를 다시 점검하고 다른 이슈들도 기웃기웃해 봐야겠다.

처음에는 이슈를 봐도 하나도 눈에 안들어오고 무엇보다 영어 독해가 생각보다 너무 안되고!! 힘들었지만 그래도 한 번 해보니까 자신감이 생기는 것 같다.

 

새로운 기능 추가가 아니더라도 오타 삭제나 누락된 단어 추가 같은 이슈도 기여해보면 좋을 것 같다.(사실 이번에 작업을 하면서 내가 오픈소스에 새 기능을 추가하는거... 괜찮은건가 가능한건가 싶으면서 조금 부담이 되었다ㅎ 하지만 뭐 일단 해보고 메인테이너분들의 리뷰를 받자는 마음으로 했다 결국엔 해냈다)

 

또, 오픈소스 멘토링은 너무너무 좋은 경험이었다. 내가 사용해보지 않은 오픈소스도 다른 분들이 작업하시는 걸 보고 또 마지막에 인제님께서 각각 어떤 오픈소스에서 어떤 이슈를 선정해서 작업했는 지 쭉 말씀해주셔서 여러 오픈소스에 대한 이야기를 들을 수 있어서 너무 좋았다.!

 

 


Redis 관련 참고한 기업 기술블로그

 

https://techblog.woowahan.com/2709/

 

선물하기 시스템의 상품 재고는 어떻게 관리되어질까? | 우아한형제들 기술블로그

안녕하세요. 저는 주문서비스팀의 서버개발자 강홍구입니다. 이 글에서는 배달의민족 선물하기 서비스의 상품권 재고관리를 위한 시스템 설계에 대한 경험을 공유드리고자 합니다. 들어가며

techblog.woowahan.com

 

https://techblog.gccompany.co.kr/redis-kafka%EB%A5%BC-%ED%99%9C%EC%9A%A9%ED%95%9C-%EC%84%A0%EC%B0%A9%EC%88%9C-%EC%BF%A0%ED%8F%B0-%EC%9D%B4%EB%B2%A4%ED%8A%B8-%EA%B0%9C%EB%B0%9C%EA%B8%B0-feat-%EB%84%A4%EA%B3%A0%EC%99%95-ec6682e39731

 

Redis&Kafka를 활용한 선착순 쿠폰 이벤트 개발기 (feat. 네고왕)

안녕하세요. 유저혜택개발팀 쿠폰 백앤드 개발자 페이든입니다.

techblog.gccompany.co.kr

 

어제(28일)은 개발 컨퍼런스에 다녀왔다. 컨퍼런스는 처음 방문해봤는데 한번 쯤 다녀오기 좋은 것 같다

올해가 되고 이런 행사를 꼭 가보고 싶어서 홍보글을 보고 바로 신청해서 갔다오게 되었는데

내가 갔다온 이 컨퍼런스는 학생들 보다는..? 현직 개발자들이 많이 참석한 컨퍼런스였던 것 같다  

더 자극도 되고 열심히 공부해야겠다는 생각도 들어서 여러모로 좋았다.

 

하루 공부 기록 포스팅인데 다짜고짜 전날이야기 풀어버리기......ㅎㅎㅎㅎㅎ

 

 

 

 

 

사실 오늘부터 담주 토요일까지 일주일은 내가 내 맘대로 빡공 기간으로 정했다ㅋㅋㅋ

다다음주에 일본 여행을 가는데 그 전에 공부를 좀 빡세게 해놓아야 할 것 같은데 딱 이렇게 일주일이 약속이 없길래 빡공기간으로 정하게 되었다. 아침에 일어나서 8시에 스벅 도착, 점심은 베이커리로 먹기, 5~6시쯤 까지 공부하다가 집 와서 저녁 먹고 쉬다가 밤 공부하기가 목표 플랜이다.

 

 

 

 

다행히 전날 컨퍼런스에 갔다 와서 뻗은 덕분에 오늘 아침은 일찍 일어날 수 있었다. 첫날 스타트가 좋아 기분이 좋았다.

7시에 일어나서 아침을 든든히 챙겨 먹고 나왔다.

 

든든한 아침밥 == 간장계란밥ㅋㅋ

스벅에 도착하니 9시 조금 전이었다. 내가 자주 가는 스벅은 8시에 오픈하는데 아침에 가니까 스벅이 진짜 조용했다. 일욜 아침인데도 혼자 오셔서 책 읽고 공부하시는 분들이 꽤 계셨다. 리스펙

 

 

 

오래 공부해야 하니 아아 그란데 사이즈를 주문하고 공부 스타트

자바 강의를 쭉 달려야 하는데 아침부터 강의 듣기가 싫어서 백준 문제를 먼저 풀었다.

이제 그래도 브론즈1,2 문제를 주로 푼다. 백준 문제를 풀 때면 꼭 수능 수학 공부할 때가 생각난다. 한 문제 한 문제 풀고 정답을 확인하는게 딱 수학 문제 푸는 것 같은 기분이 든다.

 

 

스벅만 오면 음료 사진, 디저트 사진 까먹는 사람..

열공 하다가 점심으로 블루베리 베이글을 사먹었다 일욜이라 그런가 평소보다 브레드,샌드위치 종류가 몇개 없었다ㅠㅠㅠ

내일 월욜은 기대해 보겠어

 

점심 전까지는 백준 풀고 시간표도 한번 보고 하면서 설렁설렁 공부했는데 아침부터 공부하려고 나왔는데 일케 공부하면 안되지 빡공 해야지 싶어서 점심 먹고 각성해서 열심히 자바 강의 달렸다. 그리고 무엇보다 오늘 일요일인데 스벅에 카공하는 사람이 진짜 많았다

뭐야 다들 주말에도공부하나봐

 

자바자바

자바 강의 이제 클래스,객체에 들어왔는데 완전 객체 지향 언어 티가 뿜뿜 나고

클래스 내용 오랜만에 봤다(자랑이다^^) 전에 다른 언어에서 열심히 공부했던 기억을 살려서 열심히 강의듣고 예제 쳐보고 혼자서 이것저것 run해보고 했다. 

 

일케 5시까지 공부하다가 배고파서 달달 떨리는 손을 붙잡고 이른 저녁으로 먹을 슬로우캘리 포케 포장해서 집으로 돌아왔다.

 

 

포케 긴급 수혈하고 누워서 쉬다가 방금 전에 밍기적 거리면서 기적적으로 일어났다...

지난주까지는 저녁 떄 들어와서 공부하려고 했던 계획이 모두 실패했지만

이제는 빡공 기간이기도 하구... 앞으로 자바랑 스프링 공부할 양을 보니까 정신이 바짝 들었다ㅋㅋㅋ

 

 

2023년 1월 19일 목요일

11시 20분 기상

아침 먹고 설거지하고 빨래 돌리고 샤워하고 나왔다

 

 

1시 40분 스타벅스 도착

오늘은 아아 말고 오랜만에 자허블을 주문했다

최근에 스벅 깊티랑 금액권을 선물 받아서 오랜만에 다시 스타벅스 어플을 깔았는데 기프티콘도 어플로 사용가능하고 매우 편리하다 참 이런건 누가 어떻게 만들었을려나

 

 

곧바로 공부 시작하고!

자바강의 듣다가 중간에 피곤하면 백준 풀기 반복

4시 30분까지 자바 강의 3/5를 들었다

 

 

 

 

그리고 백준 브론즈1단계 문제 풀기 도전

물론 아주 쉬운단계이지만 난 아직 브론즈5,,,,베이비라서ㅎㅎ

 

다행히 금방 풀어냈다 요즘 백준 문풀이 재미있다 요 초록색이 많아질 수록 기분이 좋다

 

목표했던 분량은 끝냈지만 백준 티어보는 사이트에 class 단게가 조금만 더 풀면 1단계가 될 수 있을 것 같아 몇 문제를 더 풀었는데 이렇게 갑자기 class1이 되면서 브론즈4로 등업?되었다ㅋㅋㅋ 

class를 얻으면 점수를 더 주는 방식이었나보다

어무튼 승격되어서 기분이 좋았다

깜짝 선물을 받은 느낌스

2023년 1월 18일 수요일

 

 

전 날 아르바이트 갔다와서 일찍 잔 덕분에 일찍 일어났으나 6시 50분?쯤

뮤지컬 넘버 몇개만 듣고 일어나야지 하다가 7시 40분이 되었다

 

원래 방학 때 아침에 일찍 일어나서 무조건 스벅가서 공부하려 했는데

오늘은 12시에 치과 예약이 있어서 그냥 오전에는 집에서 공부를 하다가 나가는 걸로 계획을 바꿨다

 

아침 대충 때우고

8시 50분에 공부 시작

 

오랜만에 아침에 일어나서 하루종일 공부하려고 계획을 해서 그런가 뭔가 고딩 때 아침에 일어나서 비몽사몽한 느낌에 국어 모의고사 풀 때의 느낌이 났다 멍하니 앉아 뭘 먼저 공부할까 고민하는데 뭔가 국어모의고사를 풀어야 할 것 같은 느낌이었다ㅋㅋㅋ

 

지난 번에 듣다가 종료한 자바 강의 하나를 마저 들었다 자바 공부는 이제 막 시작해서 아직은 내용이 쉽다

자바 강의 하나를 듣고 나도 모르게 잠이 들었다

갓생 브이로그를 보고 나도 그렇게 살기로 다짐했는데 내인생은 왤케 허술한겨,,ㅋㅋㅋㅋ

 

11시 30분 후딱 일어나서 준비하고  일단 치과에 갔다

연초라 스케일링을 한 번 받았다 스케일링,,, 내 돈 주고 고통을 사는 기분이었다 왤케 아픈겨 ㅠㅠ

그리고 몇달 전부터 찬물을 마시면 이가 매우 시렸는데(사실 얘 땜에 치과를 예약해놓은 거 였다 더는 미루면 안될 것 같아소..)  충치가 있었다^^ 그럼그러치

설 지나고 진료 예약을 잡았다

 

요즘은 치과도 거의 100프로 예약제다 미용실도 어느 순간 그렇게 되었는데

갑자기 이거 쓰다가 생각났는데 치과 예약 통합 어플 만들면 어떨려나

 

나도 최근에 학교 앞으로 이사를 하고 오늘 새로운 치과에 간거였는데 무엇보다 과잉진료에 예민한 치과는 소비자들끼리 정보를 공유할 수 있는 사이트가 있으면 좋을 것 같다

 

 

치과 진료를 보고 학교 앞 스벅에 왔다

학기 중에는 사람이 너무 많아서 올 엄두를 못냈는데 방학 때는 사람도 별로 없고 다들 공부 중이라 카공하기에 딱 좋다

무엇보다 학교 도서관이 이번 겨울방학 때 대공사를 해서 공부할 곳이 없당

 

점심을 못먹어서 아아와 샌드위치를 하나 시켰다

열심히 블로그를 쓸 생각에 사진을 찍으려 했는데 화장실 다녀와서는 까먹고 그냥 먹어버렸다

(평소에는 쓰지도 않는 음식 사진 잘 찍으면서 꼭 이럴 때 깜빡함..)

 

샌드위치 다 먹고는 다시 자바 열공

 

1.75 배속으로 열시미 집중해서 강의 하나를 들었다

인프런에서 은종쌤 강의를 듣고 있는데 여기에 유투브에 있는 생활코딩 강의도 틈틈이 같이 들어야 겠다

 

 

강의 하나 듣고 몬가 공부하기가 싫어져서 백준 공부 먼저 했다

백준은 아무래도 한 문제 한 문제 맞았습니다! 뜨는 재미가 있는것 같다

 

오늘 백준 브론즈5에 입성했다 그동안 랭크?티어 도 없었다ㅋㅋ

더욱 더 열시미 백준 문제를 풀어야겠다

 

 

 

 

그리고 갑자기 사담

//

오늘은 언니 면접 첫날인데 지금 오후4시반까지 아직 끝났다는 연락이 없다 번호를 추첨해서 순서대로 진행되는 방식이라는데 뒷번호를 뽑았나보다 뒷번호 뽑으면 대기를 오래해야해서 싫다고 했는데

언니가 2차 면접 준비하는 걸 지지고볶고 하면서 옆에서 봐서 그런지 뭔가 나도 .. 뭉클하군

갑자기 오글거려서 급마무맄ㅋㅋ

 

 

 

 

 

 

 

공부하는 중에 카톡이 왔는데 전에 신청해뒀던 개발 콘퍼런스에 당첨되었다

신청할 때는 안될수도 있겠다 싶었는데 경쟁률이 그렇게 세지는 않았나보다 멋쟁이사자처럼에서 만든 테킷에서 주최하는 DDC2023 개발 컨퍼런스이다. 조금의 참가비가 있기는 하지만 아직 개발 컨퍼런스 같은 곳에 한번도 가본 적이 없어서 한번 가보기로 했다! 규연언니도 같이 가게 되어서 재밌게 듣고 보고 오면 될 것 같다

  

 

 

그리고 또 공부하고 있었는데 과선배한테 연락이 왔다

아니 분명 갓생 공부 기록을 남기려고 이 카테고리를 만들었는데 왜 사담이 더 많이 기록되는 것 같지..

암튼 선배가 이번에 학부 홈페이지를 개편하려고 하는데 전에 웹쪽 관심있다고 했던게 생각 났다고 지금도 관심있으면 참여해보지 않겠냐고 연락이 왔다 웹쪽 플젝 경험이 많지는 않고 학교 데이터가 어떤 형태로 되어있는 지도 아직 잘 모르지만 분명 좋은 경험이 될 것 같고 그쪽에서도 일단 같이 할 사람을 구하고 있다고 해서 흔쾌히 참여하고 싶다고 연락했다

열심히 참여해야 겠다 !

 

 

 

 

 

벌써 2023년 1월 13일 계절학기가 종강하고도 며칠이 지났다

이대로 공부하면 안될 것 같아 절대적인 공부 시간이라도 측정해 비교하고자 고3 이후로 어랜만에 열품타를 다시 깔았다

 

오랜만에 깔은 열품타는 엄청나게 업데이크가 되어 있었다

무엇보다 허용앱을 관리하는 기능이 놀라웠다

물론 ui를 더 예쁘게 만들어서 엄청나게 좋아진 것처럼 보이는 걸 수도 있는데

 

이제는 이런 기능들을 다 어떻게 만들었을까 하는 생각이 든다

다들 대단하다

 

 

비전공자를 위한 개발자 취업 입문 개론

오늘부터 개발자를 읽고

 

 

part1 에서 인상 깊었던 내용

개발자는 계속 공부를 해야하는 직업이다

기술 트렌드와 분야 트렌드가 빠르게 변화한다

누구나 뛰어난 개발자에서 한순간 뒤쳐진 개발자가 될 수 있다

 

평생을 개발자로 일하지는 않더라도 한 번쯤 개발자 일을 해보는 것은 추천한다

개발자라는 직업이야 말로 피할 수 없으면 즐겨라 라는 말이 잘 어울리는 직업이다

 내가 개발하는 일을 업무로만 생각한다면 거기서 나의 능률이 멈출 것이고

 

내 코드에 에정을 가지고 작업한다면 그만큼 더 좋은 결과를 얻을 수 있을 것이다

 

 

 

 

 
 
CS / General SW Engineering
  • 기초를 탄탄히 세워주는 컴퓨터 사이언스
  • Effective XXX(메인으로 사용하실 프로그래밍 언어 이름)
  • 구글 엔지니어는 이렇게 일한다
Problem Solving / 코딩 테스트
  • 코딩 인터뷰 완전 분석
  • 알고리즘 문제 해결 전략
OOP / 아키텍쳐링
  • 객체지향의 사실과 오해, 조영호 저
  • 오브젝트, 조영호 저
  • 클린코드, 로버트 C 마틴 저
  • 리팩토링, 마틴 파울러 저
  • 클린아키텍쳐, 로버트 C 마틴 저
  • Head First Design Pattern
  • GOF의 Design Pattern
  • 도메인 주도 설계

#FP
쏙쏙 들어오는 함수형 코딩
함수형 언어 산책#아키텍쳐
객체 지향의 사실과 오해
오브젝트
만들면서 배우는 클린 아키텍쳐
클린 아키텍쳐
도메인 주도 설계 철저 입문#CS
러닝 http/2#기타
프로그래머의 뇌
함께 자라기
클린 소프트웨어
클린 코드
단위 테스트(블라디미르 저)
실용주의 프로그래머
클린 애자일
개발자의 글쓰기
리팩토링 (편집됨) 

+ Recent posts