728x90

디자이너와 개발자들이 모여 세상에 필요한 서비스를 만들어보고자 하는 목표를 가진 it 연합동아리에서 22년도 2월부터 멤버와 운영진으로써 약 1년 6개월동안 활동을 하였습니다.

 

활동에 대해 설명할때 약간 일기처럼 작성될꺼라 반말이 사용될수 있는점 양해부탁드립니다.ㅎ

 

- 22년 django파트 멤버로서 활동

 

it 연합동아리 '프로그라피'시작

올해 2월말 부터 드디어 연합 개발 동아리를 할수 있게 되었다!! 아무런 준비가 안된상태로 지원만 하다가 매번 떨어지기 일쑤였는데 어느정도 프로젝트를 할수 있겠다!라고 생각될때 지원을 하

leeceo97.tistory.com

21년도 이스트 시큐리티에서의 인턴이 끝나고 취업전 it 연합동아리에서 활동해보고자하는 소망이 있었는데 작년 2월부터 django파트 멤버로 처음 프로그라피 활동을 시작하게 되었습니다. 글에서 언급한대로 사실 현업이 아니면 python 개발자 분들을 만나기 생각보다 어려웠기 때문에 이점에 끌려 프로그라피에 지원하게 되었고 처음 원했던 대로 현업에서 일하고 있던 당시 django파트 운영진 분과 회장님의 도움으로 실제 django에서의 안티패턴이 무엇인지 인증은 내부적으로 어떻게 이뤄지는지 그동안 내가 작성했던 코드들은 어떤 결함이 있었는지 리뷰받고 스터디를 할 수 있는기회가 생겨 너무 좋았던 기억이 있었습니다.

 

스터디 이후 팀 활동 초반 ios 개발자 한분이 프로젝트 시작전 활동을 중단하게 되면서 제가 속했던 1팀의 분위기가 다운 되기도 했지만 ios 운영진인 선우형과 android 운영진이였던 현재는 9기회장을 맡게된 준우의 투입으로 팀분위기가 안정되고 너무 잘진행되게 되어 지금도 많이 고마워하고 있는 분들입니다ㅎㅎ

 

기획단계에서 많은 시간을 소비했지만 처음으로 페이크 마케팅이라는 검증 단계를 거쳐 실제로 유저들이 원하는 서비스는 무엇인지 알아볼수 있었고 결국 it 관련 정보들을 큐레이팅해주는 서비스인 "soul"을 기획했고 개발하게 되었습니다.

 

https://www.instagram.com/so_ul.app/

위 주소는 soul의 페이크마케팅 관련 인스타 프로필입니다.

 

총 7명의 팀원이 모여 약 4개월여간 개발을 진행했고 성공적으로 프로젝트는 마무리되었지만 아쉽게도 현재는 정보를 업데이트 하고 있지는 않습니다. 아직 서비스는 계속해서 배포 되어있기때문에 궁금하신 분들이 있다면 한번씩 확인해주시면 감사하겠습니다 :) (언젠간 업데이트 하지않을까?하는 기대감이...)

 

‎소울

‎커리어 고민 이젠 소울이가 해결해줄거에요. 동아리, 오픈톡방, 교육, 링크, 피드를 확인하세요. 주요내용은 북마크를 하고, 알림을 받으세요. 소울이는 MZ세대의 멋진 커리어를 응원합니다!

apps.apple.com

 

- 23년 서버파트 운영진으로써의 활동

활동이 마무리 되고 9월, 기존의 운영진 분들의 활동 중단으로 우연찮게 django 파트 운영진으로 활동을 제의받게 되었고 저는 고민없이 운영진으로 활동에 참여 하게 되었습니다.

 

실제로, 운영진을 하게 되면서 생각보단 할것이 많았고 책임감도 따랐기에 많은 어려움이 있었지만 현재 활동이 마무리된 시점에서 생각해보면 개발적인것들 외적으로 많이 배울 수 있는 기회였습니다. 운영진 활동을 하며 해야했던것은 아래와 같습니다.

 

1. 리크루팅 과정

생각했던것보다 지원자 분들은 많았고 함께 동아리 리크루팅 홍보도 진행하며 지원자분들의 사전과제를 만들어야했습니다. django 파트 운영진은 저혼자였지만 함께 활동을 진행했던 스프링 파트 운영진 2분이 서버는 따로 관리하는게 아닌 함께 한기수동안 관리해보는거 어떨까 제안해줬고 운좋게 리크루팅 단계부터 같이 진행할 기회를 얻게 되었습니다.

 

처음엔 단순히 기본적인 변별력을 줄필요가 있을까? 생각해서 단순 RESTAPI 구현능력만 보려했던 제생각과는 달리 사전과제에서 어느정도의 변별력을 줘야한다는 의견을 받아 기본적인 RESTAPI 뿐만아니라 테스트코드, 변별력을 위한 심화 요구사항, 문서화등 많은 부분을 확인할 수 있는 사전과제 선정 및 채점방식을 만들수 있었습니다.  

 

약 2주간의 서류 및 과제 심사를 거쳐 마지막 최종 인터뷰 단계에서 느낀점은 제가 면접관으로써 처음 경험을 해보았지만 지원자분들 뿐만아니라 면접관이였던 저도 굉장히 부담되고 긴장되는 자리라는걸 알수 있었습니다. 저의 실수로 인해 동아리의 인식이 바뀔수 있는 점때문에 몇번이고 사전 연습을 했고 결국엔 정말 좋은 친구들 3명과 한기수를 진행할수 있게 되었습니다.

 

2. 인프라 자원 관리

프로그라피 aws 계정이 존재했었고 단순히 각 팀원분들께 fullaccess 계정을 발급해주지 말고 안정적인 비용관리를 위해 최소한의 필요한 권한만을 부여하고 자원을 관리하기 위해 여러 정책을 만들고 모니터링 하며 aws 자원을 관리할 수 있는 기회가 있었습니다.

 

혼자 aws 루트 계정을 사용해서 자원을 사용할때와는 정책을 설정하고 권한 및 자원을 관리하는 경험은 완전 다른 부분이라 생각보다 예산 컨트롤이 어려웠는데 함께 관리해줬던 스프링파트 형들 덕에 잘 마무리 할 수 있었습니다.

줌각코 지분 1위 서버 파트 찰캌

 

3. 세션 기획

많은 운영진이 있었지만 대부분 격주로 진행되는 세션들때문에 매번 세션 진행계획을 정했어야했는데 기존의 마케팅 세션이 마무리되고 실제 개발 단계의 마일스톤을 맡아 기획하게 되었습니다. 실제로, 세션 기획을 진행하게 되면서 멤버분들이 오프라인 세션에 참여했을때 의미있는 세션을 만들고자 노력해서 진행 했는데 이게 잘전달이 되었을까는 한번 피드백을 받아봐야할것 같습니다. 지금와서 생각해보면 좀더 좋은 세션을 만들게 더 노력했을수 있지 않았을까하는 아쉬움은 남지만 그래도 정말 좋은 경험이였습니다.

 

4. 프로젝트 개발

원래 이부분은 계획에 없었지만 초기 4분의 django파트 팀원들을 모집했지만 OT당일, 한분이 활동을 안하게 되면서 자연스럽게 프로젝트 개발에 투입하게 되었고 이부분 때문에 이번한기수 좀 바쁘게 진행되지 않았나 싶습니다. 지금와서 생각해보면 팀에 소속되어 프로젝트를 개발하게 됨으로써 좀더 6팀 친구들과 친해질 수 있었고 또 하나의 서비스를 만들게 되어 나름 많이 뿌듯한것 같습니다.

 

초기 기획 단계에서 많은 의견 충돌 및 제대로 결정하지 못했지만 결국 잘해결해냈고 데모데이도 성공적으로 마무리 지어서 함께 한기수동안 서비스를 만들어간 우리 6팀 친구들 애정한다!!

 

저니리스트 - P도 J가 되는 저니리스트 - Google Play 앱

한 가계부, 저급한 정산을 대전주는 계산도우미, 친구들과 함께 짜는 여행 이벤트.

play.google.com

 

크게는 위와 같고 나름 많이 힘들었지만 항상 열정적이고 열심히 살아가는 운영진 분들뿐만아니라 프로그라피 활동인원 모두에게 자극받아서 많이 배울 수 있고 한발자국 더 성장하게된 기회가 되지 않았나? 생각이 듭니다.

 

격주 주말마다 그리고 평일마다 회의 일정이 있던 나름 많은 시간을 함께했던 프로그라피 활동을 이제는 안하게 되었는데 시간적으로 여유야 생기겠지만 뭔가 나름 시원섭섭한 느낌이 들것 같네요.

 

it 직무 관련 많은 인사이트도 얻고 기술적으로 성장할 수 있는 기본적인 성장 기회도 있겠지만 무엇보다 프로그라피를 하며 얻을 수 있는 가장 큰것은 같은 관심사를 가지고 얘기나눌수 있는 동료이자 친구들을 많이 얻었다는것 입니다.

프로그라피 8기 데모데이

혹시라도, 프로그라피 지원에 있어 뭔가 망설이는 분들이 있다면 고민말고 꼭한번씩 경험해보면 좋을것 같습니다!!

728x90
728x90

행운의 사진.. 쓸 썸넬이 없다면 무조건 이놈이다

그토록 원하던 서버개발자가 되고 힘들었지만 어느덧 100일차가 넘어가고 있는 시점이 되었다.

100일간 어떻게든 1인분은 하기 위해서 노력했고 물론 1인분은 못하지만 나름 도움이 되고 있지 않나?혼자서 위로할 수있는정도는 된것 같다. 

 

100일간 크게 서버 개발자로써 나름 여러가지 경험과 성과를 이룬것 같다.

1. ORM만 사용하다 SQL의 묘미를 알아내다!

솔직히, 취업 전까지 sql을 직접 쓰는 일이 없었다. 애초에 orm만 사용하다 편리함에 잊혀졌고 sql 사용하는 방법도 가물가물했다. 그러다 json 필드에 데이터를 막넣어서 꺼내쓰던 비정규화의 끝판왕이던 테이블을 정규화하는 작업을 하게 되었고 기존의 데이터를 정규화한 필드에 알맞게 넣어야하는 일이 생기며... sql을 쓸수 밖에 없게 되었다. 하지만 이게 뭐람 python 스크립트로 django 임포트후 for문을 돌려 하나하나 넣어야 하지않나? 밖에 생각못하던 것과 달리 postgres의 문법은 update에 특화 되어있지 않나? 생각했다. 물론 sql의 묘미는 이것이 아니라 group by를 탑재하신 Read에서 성과를 드러냈다. 여러 이슈가 생기는 실서비스에서는 원인이 무엇인지 데이터베이스에서 조금만 찾아보면 다나온다 그리고 다른팀에서 데이터를 요청했을때 sql을 사용하면 쭈르륵 나오게 된다ㅎㅎ 매번 print문으로 뽑아서 주던 이전의 나의 모습은 잊게 되었다.

2. 성능을 끌어올리는 법을 알아 가고 있다.

1번의 경험과 이어지는데 기본적으로 정규화 vs 비정규화를 비교한다면, 항상 그렇지는 않지만 조회시 정규화가 잘된 구조가 성능이 더 좋다는걸 몸소 알게 되었다. 물론 생성 삭제, 수정시에는 안그럴수도 있겠지만 기존에 비정규화되어있던 테이블에서 데이터를 가져와 2중 반복문 구조를 벗어던지고 쿼리 한번으로 해결하게 되어 속도가 기존과 비교해 굉장히 빨라졌다. 이작업을 하며 몸에 익힌 팁은 아래와같다.

 

- 서버에서 데이터베이스 호출은 최대한 줄여야한다. 비용이 상당히 높다.

- 데이터호출 2번 vs 데이터 호출 1번 + for문 이라면 예외 상황을 제외하고 보통 후자를 선택해야한다. 네트워크 호출 한번이후 메모리에 데이터를 올리고 작업하는것이 확실히 빠르다.

- 결과가 true, false로 구현되는 구조라면 exists를 애용하자! 모든 데이터를 끝까지 조회하는것은 굉장히 비효율적이다. exists면 해당 조건에 걸리는순간 결과를 반환한다. 물론 false라면 끝까지 가겠지만? 조금이라도!!데이터가 많으면 많을수록 개선효과가 두둑할꺼다.

- 언어의 내장함수를 애용하자! 사실 내장함수는 내가 그냥 구현하면 되는거잖아?라는 생각을 가지고 있었고 필수적인 것을 제외하고는 일부러 익히려고 하지 않았다. 하지만, 내장함수의 내부구조를 까보면(물론 python에만 해당할수도있는얘기!) 그건 아니였다. 내가 구현한 방법보다 훨씬 최적화되어 구현되어있고 또 알아가다보면 python comprehension처럼 일반 적인 for append구조보다 성능을 배로 띄어나게 만들수 있는 좋은 함수들이 있다.

 

말이 너무길어지는데 이번 챕터는 따로 블로그에 게시를 해야겠다.

 

3. 테스트와 문서화는 선택이 아닌 필수다. 

사실 나는 이두가지가 필요없는것이라 생각했다. 테스트 자체는 예를 들면 3과5를 더했을때 8인가요?라는걸 확인 하는것과 같이 느껴왔고 문서화는 내가 코드를 가독성 좋게 짜고 폴더 및 파일 구조도 잘배치 하면 해결된다 생각했다. 내생각이 먼저 바뀐 건 문서화부터였다. 이미 몇년간 서비스를 지속하며 여러명의 개발자들이 거쳐간 서비스는 대체로 나같은 신입 뿐만 아니라 경력직분들도 파악하는데 굉장한 어려움을 느끼며 초반에 먼저해야하는 작업이다. 해당 서비스의 목적과 히스토리 그리고 배포 및 빌드 방법과 같은 문서가 제대로 정리 되어있다면 후에 오는 개발자들을 위해 도움이 될뿐만아니라 시간이 지나고 다시 유지보수를 해야할때 자신에게도 굉장한 시간절약이 될것이다. 

 

테스트의 경우, 코드 리팩터링 과정을 거치고 당연히 내가 만진 부분만 테스트 후 커밋해서 서비스 배포를 진행 했는데 주문을 하는과정에서 내가 고친 코드의 오류로 인해 다른 증정 상품이 나가게된 상황이 발생했다.... 이때 굉장한 멘붕이 왔고 정신을 차리고 난후 테스트의 중요성이 여기서 나오는구나라고 느끼게 되었다. 3+5=8이라는 당연한 결과를 테스트 하지 않는것은 수백 수천개의 함수와 클래스로 이뤄진서비스에서 하나가 바뀌게 되면 3+5=300이라는 결과를 초래할수 있다. 이는 내가 고친 부분이 다른곳에도 영향을 끼치기 때문이며 시간을 생각했을때도 매번 고칠때마다 직접 하나하나 확인하는것이 아닌 똑같은 상황을 테스트 코드로 미리 설정해둠으로써 우리가 예상한 3+5=8이라는 결과가 커밋시에 매번 서비스 전체적으로 동일해야함을 확인하는 과정을 거침으로써 문제발생을 대비할수 있다.

 

 

주저리 주저리 말이 많았는데 100일간 나도 모르는 사이에 실력이 많이 늘어난것 같다는 느낌을 받고 있고 새로운것을 습득하는 재미를 느낀다. 사실 나는 도움이 안되고 그냥 민폐만 끼치는거 같다라는 생각때문에 조급해하며 회사일에만 메달려 있었는데 매번 조급해하지 않아도 된다는 좋은 동료분들이 있어서 다행이고 그런 조급함이 오히려 나의 성장에 도움을 줬다는 생각도 한다. 이제는 워라벨을 찾아 보려 하는데 취미중 하나로 기술 블로그를 활성화 시키는걸 해볼까 한다. 암튼! 다음 마음가짐 카테고리는 200일차에 오늘걸루!!! 그때 까지 화이팅이다~

728x90
728x90

그동안 꿈꿔왔던 백엔드 개발자가 8월 1일부로 되었다!

 

사실 자세하게 말하면 원래는 6월 27일부터 다른 회사의 서버개발자로 들어가긴했지만ㅎ... 여러 사정으로인해 첫회사를 다닌지 15일? 만에 조금은 두려워도 퇴사를 마음먹고 다시 새롭게 출발하게 되었다.

 

간단히 말하자면 퇴사이유내가 생각했던 신입이 성장하기 좋은 회사가 아니라고 생각이 들었기 때문이다. 당장 1년뒤의 모습을 생각했을때 더 성장하기 좋은 회사로 빠르게 옮기는 것이 좋다고 생각되어 두려웠지만.. 퇴사를 했고 다시 취준을 하며 다행스럽게 합격하게 되었다ㅎㅎ

 

1,2차 취준간 총 50군데 정도 지원한것 같고 절반정도의 면접 기회 최종합격은 8곳 되었다. 이래저래 자존감도 많이 내려가고 퇴사후 이직이다보니 불안함도 많았는데 주위의 친구들 그리고 함께 공부해주는 일명 GODJANG팀원들 덕분에 견딜수 있었다!!

 

다행히? 회사에서는 내가 좋아하는 django프레임워크를 사용하고 있어서 당장의 코드 파악은 어렵지 않은데 스타트업 규모다 보니 데이터를 정제해서 bi툴도 만들고 인프라까지 관리를 해야할것 같아 이래저래 배울건 많지만 그래도 너무 만족하고 근무중이다. 무엇보다 같이 일하는 개발자 분들 모두 5년차~20년차까지 다양한 경력을 가지고 계셔서 배울점도 많다.(하지만 질문드리기 부담스럽...)

 

당장은 매번 orm만 사용하다 보니 잊어버린 sql문을 부랴부랴 다시 공부하고 대시보드를 제작하고 있어 바쁜 하루하루 지내고 있지만 다음주 새로운 기능 마이그레이션 회의에 참가할수 있는 기회가 생겨서 설레는 맘으로 자진해서 주말에도 코드리뷰 진행중이다ㅎㅎ

 

최근 큰 변화라면 주말에 따로 약속 없으면 그냥 카페에 노트북 들고가서 사이드 프로젝트 만지작만지작 했는데 요즘엔 그냥 회사로 출근해서 회사에서 작업하는 변화가 생겼고 회사끝나고 칼퇴보단 퇴근후엔 개인공부를 회사에서 하고 있어서 집 -> 회사 -> 운동 이패턴이 자리잡아 오히려 건강해진거 같은느낌이다. +) 7년간 못해오던 금연도 성공 했다!

 

대학교 3학년때까지는 컴공이지만 개발자가 될것은 생각도 안했고 영상, 영업, pd가 되지 않을까? 했는데 어찌저찌 열심히 다시 하니 개발자가 된것에 매우 만족한다ㅎㅎ 인턴 종료후 7개월만에 새로운 회사의 신입으로써 일원이 됐으니 인턴 처음 시작당시 먹었던 마음인 "회사에 실질적으로 도움이 되는 인재가 되자!"라는 마인드를 다시 갖추고 일할것이다~

728x90
728x90

올해 2월말 부터 드디어 연합 개발 동아리를 할수 있게 되었다!!

아무런 준비가 안된상태로 지원만 하다가 매번 떨어지기 일쑤였는데 어느정도 프로젝트를 할수 있겠다!라고 생각될때 지원을 하게 되었고 다행히 합격 하게 되었다!!


리쿠르팅 절차는 서류 -> 과제 -> 면접의 과정을 거쳤고 3주정도 소요된것 같다.

 

과제를 각자 지원한 node, django, react, ios, android, design파트에 맞게 서류를 통과하면 과제가 제시되었고, 나는 당연히 django 과제를 받았고 todolist를 만드는것이였는데 단순히 CRUD구현이 아니라 여러 생각해볼만한 조건에 맞게 API를 설계하는 과제였다. 그동안 생각지 못했던 조건이 있어서 과제를 하면서도 공부를 할수 있는 좋은 과제였다.

 

면접같은경우, cs나 알고리즘 자료구조와 같은 지식을 확인하는 것이 아닌 제출한 과제에 대한 코드리뷰와 함께 인성면접?을 봤는데 비교적 편안한 분위기에서 볼수 있었다. 나중에 들어보니 여기는 회사 개발자를 채용하는 곳이 아닌 함께 프로젝트를 진행하며 매끄럽게 협업을 진행할수 있는 사람을 뽑는 자리이기 때문에 이런 분위기의 면접을 봤다고 했다!


아직 프로젝트 개발에 들어가지는 못했지만 그래도 1달정도 프로그라피를 하며 정말 좋은점이라고 느꼈던것은

1. django에 대해서 궁금한점을 질문하고 내코드의 개선점을 피드백해주시는 멘토가 생겼다.

프로그라피에 지원한 가장큰 이유중하나가 아무래도 node나 java기반의 개발자분들이 많다보니 내가 짜고 있는 코드가 현업에서 활용되는건지? 필드명은 맞게 짓는건지? 구현을 이렇게 하는것이 최선인지?등 모든것이 불확실했는데 1달여간의 세션을 장고 운영진 분이 해주셔서 정말 많이 배우고 그동안 내가 짯던 코드들의 허점을 많이 느낄수 있게 되었다. 정말 생각을 하며 개발을 하는 방법이 먼지 절실하게 배우고 있다.

2. IT업계에 종사하는 현업자분들과의 소통의 장을 얻을수 있게 되었다.

프로그라피에는 대학생들도 많지만 많은 분들이 현업에서 일하고 계시는 분들이 많다. 특히, 우리의 멘토가 되어주시는 운영진분들은 대부분 현업자분들이신데 개발 지식뿐만 아니라 다른 분야의 동료들과 소통을 할때 어떻게 해야 상대방이 기분이 나쁘지 않게 말할 수 있는지 협업은 어떤식으로 진행해야 하는지를 느끼게 되었다. 사실 지금까지 내가 협업을 할때는 대부분 회의의 준비부터 결과까지 내가 직접 다운영을 하고 대부분 내의견에 따라서 진행된 경험이 많았기 때문에 이부분은 따로 생각할 기회가 없었는데 덕분에 다른사람과의 협업을 어떻게 해야하는지? 많이 배우고 있는것 같다.

3. 기획을 폭넓게 생각할수 있게 되었다.

아무래도 포트폴리오 목적의 프로젝트를 많이 진행하고 별생각없이 항상 커뮤니티 위주의 프로젝트를 기획을하게 되었고 당연히 어플이라면 커뮤니티성 프로젝트가 인기가 많을거라고 생각했다. 하지만 이번에 기획을 뒤집게 될 상황이 생겼는데 도움을 주러오신 멘토 분께서 실질적으로 사용할 유저들의 폭을 꼭 한국의 유저 뿐만이 아닌 그리고 커뮤니티 앱이 아니더라도 간단한 유틸성 앱또한 사람들이 많이 사용한다는 것을 설명해주셨다. 항상 유저끼리의 소통이라는 곳에만 꽂혀 있던 나에게 약간은 충격이 된 기회였다. 아직 3개월여간 진행할 프로젝트의 기획을 확정짓지 못해 고민이 많긴 하지만 정말 유저가 사용을 할 매력있는 어플을 기획하고 개발에 진지하게 임할 생각이다.

 

암튼, 대학교 졸업전에 it연합동아리를 꼭 경험해보고 싶었는데 이런 기회가 생겨서 너무 좋고 처음 마음 먹었던 것처럼 한기수를 끝낼때 보람찰수 있도록 미루지말고 열심히 공부하고 참여해야 겠다~

728x90
728x90

사실 나는 돈을 많이 벌고 싶다는 목표가 있다.

당장엔 취업할수 있는 가장 큰 방법은 개발자라는 직업이며 솔직히 개발하는것 자체가 즐겁다. 사람들과 소통하며 에러를 밤새서 수정하고 났을때 쾌감이 너무 좋다. 그리고 최종적으론 나만의 서비스를 만들어 창업을해서 좋은사람들과 팀을 꾸려 수익을 창출해보고싶다.

 

예전부터 혼자서 여행다니며 게스트하우스 파티에 참석하다보니 이렇게 즐거운 파티를 집근처에서도 모르는사람들과 진행할수 있는 서비스가 있으면 좋겠다라는 목적을 가지고 이번 bora팀을 꾸려 창업을 목표로 프로젝트를 진행하고 있는데 이번 기획회의 단계에서 이런걸 만들고 싶다 라는 목적만 있지 세부적으로 컨텐츠내용이 너무 부실하다는 피드백이 나왔다. 사실 어느정도 기획적으로 완성됐고 이제 네이밍만해서 디자인나오고 평소했던 개발을 통해 앱을 만드려고 했는데 당장 성공 할지 않할지 모르는 앱을 기획자분이 시간을 투자하기 힘들다는 피드백이 나와서 살짝 당황했다. 왜냐면 나보고 이 서비스의 확실한 컨텐츠가 뭐고 경쟁사와 비교했을때 특별한점이 무엇이냐? 라고 질문을 하셨는데 제대로 답을 못했기 때문이다. 그저 좋은 개발품을 만드려했지 좋은 서비스를 만드려고 노력을 안했다는 생각이 들었다..

 

20대초반부터 생각했던 아이디어였고 개발 실력이 늘면 내가 직접 개발해봐야지 라는 생각만 가지고 프로젝트에 임한것 같아 왠지 모르게 내 서비스에 미안해지는 마음이 생긴다. 

 

그래서 생각해본것이 당장 내목표가 무엇일까?였다. 개발자로 취업해서 돈을 버는거냐? 아니면 창업을 해서 성공을 하고 싶은거냐 였는데 당장은 개발자 취업에 목표를 정했던것 같다. 사실 요즘 현장실습이 종료된 이후 cs공부만 하면 된다라는 생각에 기획쪽은 내영역이 아니라고 공부시간외엔 아무것도 안하고 쉬고만 있었는데 쉬는걸 좀 줄이고 bora에 좀더 애정을 가지고 다시 열심히 창업도 준비 해봐야겠다.

 

결론! 현장실습이 종료된 이후 긴장이 풀려서 많이 논것도 사실이니 cs공부와 동시에 bora 프로젝트 개발만 신경쓸게 아닌  기획자분의 요구에 맞춰 열심히 기획부분도 참여를 해봐야겠다. 갑자기 든 생각인데 당장 1년뒤 내가 어디에 취업해서 무엇을 하고 있을지 궁금하다. 현재의 시간이 낭비 되지 않도록 열심히 살아야 겠다ㅎ..

화이팅!

728x90
728x90

드디어 나를 수개월간 괴롭혀 왔던 프로젝트 발표가 끝이났다~ 그리고 6개월간의 이스트시큐리티에소의 현장실습이 종료되었다!! 

2주간 진행량 및 2021년 회고

  • GETIT 프로젝트

함께 작업하는 클라이언트 개발자분이 당근마켓에 지원하신다고하셔서 부리나케 일단 기능개발에 초점을 맞춰 현재 만들어진 기능을 다듬는 작업을 진행했다.

 

-검색 기능 개발

최종적으로는 elasticsearch를 사용하여 기능을 개발하려고 했는데 아무래도 처음 다뤄보는 기능이기도 해서 시간이 오래걸릴것 같아 model filtering을 사용하여 간단하게 구현했다.

search = request.GET.get('search')
        common_paginator = WholeBoardCommonPageNumberPagination()
        recruit_paginator = WholeBoardRecruitmentPageNumberPagination()
        free_posts = CommonBoard.objects.filter(Q(title__icontains = search) |
      Q(content__icontains = search),category='free')
        free_posts = common_paginator.paginate_queryset(free_posts, request)
        free_serializer = CommonBoardSerializer(free_posts, many=True)
        question_posts = CommonBoard.objects.filter(Q(title__icontains = search) |
      Q(content__icontains = search),category='question')
        question_posts = common_paginator.paginate_queryset(question_posts, request)
        question_serializer = CommonBoardSerializer(question_posts, many=True)
        recruit_posts = RecruitmentBoard.objects.filter(Q(title__icontains = search) |
      Q(content__icontains = search))
        recruit_posts = recruit_paginator.paginate_queryset(recruit_posts, request)
        recruit_serializer = RecruitmentBoardSerializer(recruit_posts, many=True)
        return JsonResponse({
            "freeboard": free_serializer.data,
            "questionboard": question_serializer.data,
            "recruitboard" : recruit_serializer.data
        })

코드가 굉장히 길다. 반드시 리팩토링이 필요한 부분인것이다. 하하...

url로 넘어온 category파라미터는 말그대로 카테고리 구분에 사용되면 ,title, content기능을 django orm filter기능중 __contains라는 걸 사용해 필터링할 문자열이 속한 필드를 모두 가져오는것으로 구현하였다. 

 

-필터 기능 개발

이부분도... 굉장한 리팩토링이 필요해보이는데 일단은 노가다로 구현했다. 백퍼센트 어디 지원해서 면접볼때 까일것 같긴하지만.. 일단 시간투자해서 해결했다는데 의의를 두고...

		pm = request.GET.get('pm')
        developer = request.GET.get('developer')
        designer = request.GET.get('designer')
        category = request.GET.get('category')
        if category == 'free':
            if pm == 'true':
                if developer == 'true':
                    if designer == 'true':
                        posts = CommonBoard.objects.filter(Q(worker = 1) | Q(worker = 2) | Q(worker = 3), category='free').distinct()
                        paginator = BoardPageNumberPagination()
                        result_page = paginator.paginate_queryset(posts, request)
                        serializer = CommonBoardSerializer(result_page, many=True, context={'request': request})

                        return paginator.get_paginated_response(serializer.data)
                    else:
                        posts = CommonBoard.objects.filter(Q(worker = 1) | Q(worker = 2), category='free').distinct()
                        paginator = BoardPageNumberPagination()
                        result_page = paginator.paginate_queryset(posts, request)
                        serializer = CommonBoardSerializer(result_page, many=True, context={'request': request})

                        return paginator.get_paginated_response(serializer.data)
                else:
                    if designer == 'true':
                        posts = CommonBoard.objects.filter(Q(worker = 3) | Q(worker = 2), category='free').distinct()
                        paginator = BoardPageNumberPagination()
                        result_page = paginator.paginate_queryset(posts, request)
                        serializer = CommonBoardSerializer(result_page, many=True, context={'request': request})

                        return paginator.get_paginated_response(serializer.data)
                    else:
                        posts = CommonBoard.objects.filter(worker=2, category='free').distinct()
                        paginator = BoardPageNumberPagination()
                        result_page = paginator.paginate_queryset(posts, request)
                        serializer = CommonBoardSerializer(result_page, many=True, context={'request': request})

                        return paginator.get_paginated_response(serializer.data)
            elif designer == 'true':
                if developer == 'true':
                    posts = CommonBoard.objects.filter(Q(worker = 1) | Q(worker = 3), category='free').distinct()
                    paginator = BoardPageNumberPagination()
                    result_page = paginator.paginate_queryset(posts, request)
                    serializer = CommonBoardSerializer(result_page, many=True, context={'request': request})

                    return paginator.get_paginated_response(serializer.data)
                else:
                    posts = CommonBoard.objects.filter(worker=3, category='free').distinct()
                    paginator = BoardPageNumberPagination()
                    result_page = paginator.paginate_queryset(posts, request)
                    serializer = CommonBoardSerializer(result_page, many=True, context={'request': request})

                    return paginator.get_paginated_response(serializer.data)
            elif pm == 'false' and designer == 'false' and developer == 'false':
                res = {
                    'count': 0,
                    'next':None,
                    'previous':None,
                    'results': [],
                }
                return JsonResponse(res)
            else:
                posts = CommonBoard.objects.filter(worker=1, category='free').distinct()
                paginator = BoardPageNumberPagination()
                result_page = paginator.paginate_queryset(posts, request)
                serializer = CommonBoardSerializer(result_page, many=True, context={'request': request})

                return paginator.get_paginated_response(serializer.data)

매 조건 절마다 return한건 테스트용도로 해둔건데 마지막에만 당연히 리턴문 돌려주면되니 알아서 필터링해주세요ㅎㅎ

 

- member 기능 개발

import json

from django.http import JsonResponse
from django.shortcuts import render

# Create your views here.
from profiles.models import TeamProfile
from requests import Response
from rest_framework.generics import GenericAPIView

from .models import Member, WaitingForMember
from .serializers import WaitingMemberSerializer


class MemberAddView(GenericAPIView):

    def post(self, request):
        """
        팀원 추가(POST)
        ---
                {
                    'teamprofile': 2,
                    'member': 3
                }
        """
        requestData = json.loads(request.body)
        teamprofile_id = requestData['teamprofile']
        member_id = requestData['member']
        print(requestData)
        profile = TeamProfile.objects.get(id=teamprofile_id)
        member = Member.objects.create(member=member_id)
        wait_member = WaitingForMember.objects.get(teammember__id=teamprofile_id, waitmember=member.member)

        wait_member.delete()
        profile.members.add(member)
        res = {
            "message": "success"
        }
        return JsonResponse(res)


class MemberWaitingView(GenericAPIView):

    def get(self, request, teamprofile):
        """
                프로젝트 지원 대기 멤버 조회(GET)
                ---
                        {
                            'teamprofile': 2,
                            'waiting_member': 3
                        }
                """
        teamprofile_id = request.GET.get('teamprofile')
        teamprofile = TeamProfile.objects.get(id=teamprofile_id)
        wating_member = teamprofile.waitingmember
        serializer = WaitingMemberSerializer(wating_member, many=True, context={'request': request})
        return Response(serializer.data)

    def post(self, request):
        """
        프로젝트 지원 대기 멤버 추가(POST)
        ---
                {
                    'teamprofile': 2,
                    'waiting_member': 3
                }
        """
        requestData = json.loads(request.body)
        teamprofile_id = requestData['teamprofile']
        waiting_member = requestData['waiting_member']

        try:
            waiting_member = WaitingForMember.objects.get(teammember__id=teamprofile_id, waitmember=waiting_member)
            print(waiting_member)
            teamprofile = TeamProfile.objects.get(id=teamprofile_id, waiting_members=waiting_member)
            print(teamprofile)
            if teamprofile is None:
                raise Exception
            res = {
                "message": "fail"
            }
        except:
            teamprofile = TeamProfile.objects.get(id=teamprofile_id)
            waiting_members = WaitingForMember.objects.create()
            waiting_members.waitmember = waiting_member
            waiting_members.save()
            teamprofile.waiting_members.add(waiting_members)
            res = {
                "message": "success",
                'teamprofile': teamprofile_id,
                'waiting_member': waiting_member
            }

        return JsonResponse(res)

팀 프로젝트의 멤버 추가기능을 개발하는데에 있어 신청을 했을때 받는 멤버와 팀장이 수락하여 멤버가된 모델을 분리하였고 역참조의 개념을 한번 익히는데 도움이 되었다. 사실 이 역참조라는걸 생각안하고 항상 구현하다보니 코드가 지져분해졌었는데 나중에 다끝나고 리팩토링할때 많이 쓰일것 같은? 기능이다. foreignkey의 related_name을 설정하여 외래키로 참조된 모델에서 역으로 참조한 모델을 참조할때를 역참조라고한다. 시간이 좀많이 걸렸다.

 

Get IT

 

getit.best

이젠 어느정도 명함을 내밀수 있게 완성이 되었다. 알림과 채팅만 남았다!!!! 현재 기능으로도 나쁘지 않다고 생각한다~

 

-KOTLUCK

이제 제대로 시작했다. 한국형 파티문화를 만들겠다! 라는 멋진 포부로 POTLUCK의 이름을따 KOTLUCK으로 지었는데 여러 회의를 거쳐 보라(BORA)라고 결정지었다!!!! 무엇보다 기획자 포지션이 정말 중요한데 너무 좋은분이 오신것같아 나도 함께 열심히 하고 있는중이다. 개발에 있어선 아직 세부기능이 확정이 안되서 일단 FCM을 활용하여 채팅, 알림기능 개발중이다. 이제 시간이 넘쳐나는 백수가 되었으니 졸업전 창업이라는 목표로 열심히 다시 불태워봐야겠다~~

 

 

-인턴

할말이 참많다.. 일단 엄청난 스트레스였던 패치랩 시연 및 발표가 끝이났다. 한20여분이 구글미트에 들어오셔서 보셨는데 많이좀 떨었고 개발을하며 ppt만들일은 없을줄알았는데 ppt까지 만들어서 발표하게 되었다. 리드님이랑 사수님이 질문때 많은 지원사격을 해주셨다는 생각이 들었고 두분은 모르시겠지만 사실나는 정말  감사했다ㅎㅎ 그리고 무엇보다 6개월간의 인턴 즉 현장실습이 종료되었다! 맨처음 글을올렸던 올해 6월말에 업무에 있어 조금이라도 도움이 되는 인턴이되자!라고 마음 먹었는데 다른 팀원분들도 그렇게 느끼셨으려나 모르겠다..ㅎ... 자주 실수도 하고 모르는것도 많아서 질문 투성이였는데 화한번 내지않고 모두 친절하게 알려주신 팀원분들께 그저 감사할 따름이다. 지금와서 생각해보면 업무가 정말 많다고 혼자서 불평도 했었고 초반에 엄청난 열정에 비해 조금은 게을러지고 했던것 같기만 하다. 사실 6개월간 많은 일이 있었고 처음으로 자취라는 것도 경험을 해서 후회되진 않는시간이었다. 무엇보다도 6개월전 무급이라도 개발자분들과 일을 함께 해볼수 있는 기회가 있었으면 좋겠다라고 생각도 했었고 불합 통지를 받았지만 추후 면접을 보지 않겠냐고 선뜻 다시 물어봐주신 pms-mpi셀 팀원분들한테 너무 고맙기만 한것같다. 자취라는 꿈과 개발일을하며 돈을 벌 첫기회를 준 기업이다. 사실, 일을 하기전 직급에 따라 불합리한 상황이 벌어지는것이 조금은 당연한거라 생각했는데 이스트시큐리티에서 일을 하며 정말 내가 잘못생각했구나!라는걸 느꼈다. 나에게도 중요한 업무를 할당해주시고 내의견을 조금이라도 무시하는 경향이 전혀없었으며 직급이 높다고 해서 불합리한 상황이란게 전혀없었다. 모든분들이 의견을 낼수 있으며 피드백을 바로바로주시고 정말 자유로운 분위기의 회사였다. 물론 기술스택이나 목표로 잡았던 기업이아니라 당장은 지원하진 않겠지만 회사생활을 해보면 이스트소프트라는 기업 정말 좋은 회사인걸알수 밖에없다. 개발자에서 대표가 되신 대표님부터 시작해서 현장실습생까지 모두가 동등한 위치에서 자신의 능력을 한껏 뽐낼수 있는 회사라고 생각한다. 많이 힘들었기도 했지만 얻은것도 많았던 터라 이제 막 나왔는데 아련한 기분이 든다ㅎㅎ.. 다만 걸리는건 중간에 이슈가 발생해서 업무를 다못끝냈다는거..? 많이 못끝내고나와 아쉽고 죄송하기만 하다....

 

-2021 회고

앞에 주저리 주저리 썻지만 요약하자면

  • 6개월간의 자취생활과 꿈에 그리던 인턴을 해냈다!
  • 한번은 제대로 완성해보고 싶었던 getit 프로젝트를 완성해냈다!

-2022 목표

  • 창업 : BORA로 창업이 목표다. 당장 어떻게 하는진 모르겠다. 일단 앱개발해서 대회도 나가보고하고싶다.
  • 졸업: 졸업이다. 코스모스 졸업인데 일단 정처기따면 졸업일테니 정처기가 목표인가?ㅎ..
  • 취업: 학생이지만 내생각엔 취준생이 맞다 좋은회사가서 발전하고 싶다. 좋은회사 갈꺼다
    • cs, 알고리즘 공부좀 개학전까지 끝내두기!
    • django이외에 다른 무기하나더 장착해두기!
  • GETIT 광고달기: 에드센스 달고 싶다. 알림, 채팅기능달면 다른 스터디 모집엔 비교할수 없는 최고라고 자신한다. 광고비 받아서 서버비용이라도 충당하고 싶다ㅎㅎ...
  • 여행: 사실 생각보다 돈좀 많이 모은것 같아 1달간 돈다쓰고올꺼다. 제주도가서 앞으론 쉬고싶지 않을정도로 좀 쉬다와야겠다.

필수적인것만 적었는데 다이뤘음 좋겠다!! 2022년도 화이팅!

그리고 2021년은 너무 그냥 고마운 한해였다!!

-끝-

 

+)사실 WIL컨텐츠는 아무래도 잠시 멈추려한다... 한번에 몰아쓰는 경향이 있는것 같아서 뭔가 제대로 매일 공부할만한 것이 생기면 그때 진행할꺼다ㅎㅎ....... 일단 남은기간동안 연합동아리 지원, 정보처리기사 공부, 프로젝트 진행이 대다수 일듯해서?? 일단 잠시는 멈춘다.. 다음에 시작하면 WIL이 아닌 TIL로 복귀하길...ㅎ

728x90
728x90

허허... 나약한 의지박약이 아니라 그냥 바빳던거다 ㅎ... 매일 쓰기로했지만 귀차니즘 + 일정상의 빡빡함 때문에 쓰지를 못했다. 인턴일이 꽤나 고되고 힘든것같다. 앞으로 15일여정도 남아있는데 유종의미를 얻고 싶다허허.... 

그리하여 어차피 매일 못쓴다면 적어도 매주쓰자! 라는 취지하에 TIL -> WIL로 변경하였다. 나중엔 MIL로 그리고 나중엔 YIL로..?ㅎ... 암튼 가장 많이 진행된건 인턴업무다... 약 3개월여간 기획후 개발까지 많은 발전이 있던것 같은데 최종시연전 팀원분들께 시연을 해보자!라고 리드님께서 말씀하셔서 약 한달간 또 밤을 새가며 이리저리 고쳤고 반은 성공으로 마무리 하였다. 최종시연은 약20여분 앞에서 시연하기로 했는데 그게 앞으로 1주일도 남지 않아서 이래저래 부담감은 크지만 그동안의 실수를 만회할 찬스라고 생각되기 때문에 유종의미를 얻을수 있는 절호의 찬스라 생각하고 열심히 준비하고 있다! 아마도 다음 WIL은 시연이 끝나고 멘탈탈탈 털린 상태로 작성하지 않을까?싶다. 일단 그동안 진행사항은

 

한주간 진행량

  • GETIT 프로젝트

-HTTPS적용

사실 이부분은 지난번에 했던건데 하다보니 제대로 적용이 안됐었다. client분과 잠시 일정상 프로젝트 중단했다 혼자서 하다보니 이부분을 모르고 있었는데 결국 또다시 2주간 삽질후 적용에 성공하게 되었다. 이것관련해서는 잊지 않기 위해 따로 블로그에 포스팅해뒀다.

 

drf nginx gunicorn https적용하기(react-drf)

프로젝트를 진행하며 거의 2주간 삽집을 해낸끝에 https적용을 끝냈다. 대부분의 블로그에서는 django풀스택 개념의 https적용이였기때문에?? 나와는 맞지않는 방법만 있었기 때문에 어려움을 겪었

leeceo97.tistory.com

-소셜로그인 수정

https를 적용하며 구글,카카오,깃허브 3가지 소셜로그인 모두 에러가 발생했다. 당연히 요청하는 주소가 변경되서 문제가 생긴거라 손쉽게 고쳐질줄 알았는데 그게 아니였다... 깃허브, 구글을 문제가 없는데 카카오같은경우는 지금도 현재 수정을 못해서 또 밤새고 있는 중이다. 그리고 예를들어, test@gmail.com이라는 구글 계정이 있고 test@gmail.com이라는 깃허브 계정이 있으면 서버에 오류가 발생하는 문제가 있어서 이부분을 수정하게 되었다. 이것관련해서는 진짜 회사 프로젝트 시연하고 나서 소셜로그인 총정리!!라는 주제로 포스팅을 할예정이다(계속늦어지는것 같은건 느낌탓인가..ㅋ)

 

-세부 API수정

CLIENT개발자분중 한분이 취업을 하게 되며 한분이서 작업을 하다보니 지체된 감이 있는데 작업을 진행하시다 API에 추가 요구사항이 좀 많이 생겼다. 그래서 이것저것 고쳤고 현재도 고치고 있는중이다.

 

나에게 개발자를 준비하는데 있어 변곡점이 된 GETIT프로젝트 이므로 완성도 높게 올해안에 꼭! 마무리 지을것이다.

 

  • 인턴

-패치랩 개발

할많하않... 너무 고되고 힘들고 스트레스 이빠이 받는다.. 처음 하는 분야가 너무 많아서 힘들고 그렇기 때문에 레퍼런스또한 없어서 많이 삽질중이다. 그래도 처음으로 REACT로 기능개발을 해봤고 REST통신간에 반복문을 돌려 원하는 값이 나올때까지 계속해서 요청을 보낼수 있구나! 회사에서 요구사항이 있을땐 이렇게 행동해야 하구나!라는걸 수없이 고통받으며 많이 느끼고 있는중이다. 이에 대한 설명은.. 나중에 최종시연이 마무리 되고나서 모든걸 적어낼것이다.. 무조건 깃헙에 결과물 올린다 하...... 애증의 패치랩 꼭 마무리짓자..........................

 

  • kotluck

-

기획사실 팀원들에게 정말 미안한 부분이기도하고 감사하기도 하다. 회사프로젝트에 치여서 시간이 없고 getit프로젝트가 마무리되서 시작한 프로젝트였는데 getit도 일정안에 끝내지 못해서 가장 후순위로 밀린데다 내친구를 불러와 기획자 포지션에 두고 진행중인데 많이 신경을 못썻는데도 불구하고 각자가 그래도 열심히 해주고 있는것 같다. 현재 기획단계에서 세부화가 정확히 안되서 여전히 기획 진행중이며 클라이언트 개발자 두분은 다행히? 바쁘셔서 일단은 쉬고 계신다 다음주부터 개발 다시 들어가겠다고 말씀드렸으니 기다려주신만큼 열심히 잘만들어봐야겠다.

 

다음목표

  • getit

-소셜로그인 정상화

-api수정

 

  • 인턴

-패치랩 시연 가능하도록 개발 및 개발문서, 프로젝트 설명안 작성

 

kotluck은 잠시 쉰다.. 팀원분들 정말 미안합니다 ㅠ... 

일단 다음주에 글을쓸때는 내가 너무 자랑스러워서 자존감 만땅인 상태로 WIL?일기인가...암튼 글작성하길 바라며 글을 마친다!!!!

728x90
728x90

오늘 EOx요기요의 채용설명회를 듣게 되었다.

결론부터 말하면 회사의 오너분들과 직원분들의 열정과 미래에 대한 준비가 엄청 좋아 보였고 보다보면 나도 같이 일을 해보고 싶다는 느낌을 받았다.

먹는것과 관련된 데이터가 많이 쌓이기때문에 그것을 개인화 시키는 시스템뿐만아니라 운영관련 개발업무가 많이 쌓여있기 때문에 경력 뿐만 아니라 신입 개발자들에 대한 대규모 채용이 열린다고 하였다. 딜리버리히어로에서 매각을 했다고 성장성이 낮은게 아닌 그동안 제한되어있던 투자들이 이제 새롭게 시작하는 회사라는 이미지가 각인되었다.

 

BUT... 내가 준비하던 PYTHON개발자의 경우 신입은 1년에 한번 뽑는다는 청천벽력같은소식을 듣게 되었다 허허...

일단 첫번째로 지원서를 작성하려고 했던 기업이다 보니 실망감이 크긴하다 약간 목표가 사라진 느낌이였다

 

결론! 요기에 취업에만 한정해서 나의 취업문을 좁히진 말자! 첫회사에서는 django를 쓰고 싶다는 생각에 요기요에 관심이 있었는데 django기반의 좋은 회사도 충분히 많고 지원하기전까지 일단은 아직 한학기 더남았으니 준비를하며 충분히 열심히 공부하여야 겠다 일단은 현재 진행하고있는 회사 프로젝트와 팀프로젝트들먼저 책임감 있게 끝내야 겠다ㅎㅎ 

 

프로젝트 진행간 느끼는점이 다만들었다 해도 계속해서 일거리가 나오는것 같다는 생각이 들었다... 이래서 좋은 기획자, PM이 필요한것같다는생각을했다. 항상 기획자없이 내가 PM과 같은역할로 기획과 개발, 일정들을 잡았는데 아무래도 이런 역량도 많은 경험을 해서 키워내야하지 않을까?라는 생각이 많이드는것 같다! 암튼 의기소침해지지말고 다시 열심히 해보자! 

728x90
728x90

전날 목표

  • GETIT 프로젝트

-https 적용

음... 이건 사실 뭐가뭔지 모르고 진행했다. https가 뭔지에 대해서 좀더 자세하게 들어가 봐야할것 같다. 대부분 client - server가 분리되어있지않고 풀스택 개념의 django인증서에 대한 설명이 나와있었는데 이분의 블로그 글이 현재 나눠서 진행하는 내상황과 맞아 보고 할수 있었다. 그래도.. 뭔지 모르고 성공하면 찝찝하다... 조만간 공부해봐야 겠다.

 

[Django] 장고 Rest API 서버 https 프로토콜 적용하기 - qwlake's Blog

서론

qwlake.github.io

  • 인턴

-rest통신 구체화 및 DB내용 변경

일단 PATCHLIST delete, put, post, get 모두 적용하였다. 그리고 파라미터로 KB_ID값을 전달받아 검색필터링 기능까지 추가하였다. 일단 내가 아는부분이라 좋긴 한데 프론트부분 만지는데 애를 먹고있다ㅎㅎ.. 리액트  개발자분들 리스펙~

 

  • kotluck

-기획 브레인스토밍 도식화 및 구체화

이부분은 솔직히 반성해야한다. 진행못했다ㅎㅎ 일요일 5시 기획 모임을 간단히 가지기로 했으니 지금부터라도 해봐야겠다!

 

  • 다음 목표

-GETIT 프로젝트

인프라 점검

 

-인턴

controller_client 부분 보완

 

-kotluck

기획 브레인스토밍 도식화 및 구체화

 

매주 적어도 2일은 밤샜었는데 이번주는 밤을 한번도 안샜다. 일이 그만큼 줄어든부분도 있고 체력적으로 살짝 한계가 온 부분도 큰거 같다. 그러다보니 이번주에 친구들도 만나고 좀 쉰감이 있는데ㅎ... 규칙적으로 할때하고 쉴때쉬는게 최고인거 같다! 나는 술도 좋아하고 사람 만나는것도 좋아하는데 한주만 조큼..? 쉬어갔다고 생각해야겠다ㅎㅎ 아맞다 이번에 넥스터즈 지원했는데 붙었음 좋겠다!!! 대학교 졸업전에 개발 연동 경험해보고싶다ㅠㅠ

728x90
728x90
  • 전날 목표

딱히 설정하지 않았었다. 회사 프로젝트가 가장큰 목표였다.

그래두.. 간만이니?

 

GETIT 프로젝트

-django-gunicorn-nginx

python manage.py runserver명령어를 통해 테스트 배포이후에도 계속 웹서버를 실행시켰었는데 절대 금지하는 방법이라고 장고공식 사이트에 나와있다. 그래서 nginx웹서버로 빌드하여야했는데 아래의 블로그를 참조하여 배포성공했다.

 

[Django]Django + Nginx + Gunicorn 연동하기 2

지난번 시간에 Django + Gunicorn 을 연동하였으니 이제는 Nginx 도 붙여 하나의 서비스를 하기 위한 준비들을 해볼 것이다. 먼저 Nginx의 특징을 간단하게 알아보고 설치를 진행할 것이다. Nginx 란? Nginx

leffept.tistory.com

사실 귀찮아서 서버에서 가상환경 사용안하고 pc에 그냥 라이브러리 설치했는데 이런귀차니즘 버려야한다ㅎ..

 

-https

간단히 말해 http프로토콜방식으로 웹은 통신을하며 request body에 데이터를 담아 전달하는데 이런과정에서 보안상 취약점이 수없이 많이 존재한다. https방식의 통신은 body를 암호화?하여 보안을 강화하는 통신방법인데 이제 기본중의 기본이 되었다. 그래서 https 방식으로 통신을 진행하려했지만... 허허허..

익숙치 않게 nginx만지작만지작 거리다 실수를 어디서한줄 파악하지 못해 인스턴스를 하나더 파고 기존의것을 버렸다... 하하하하... 그리고 지금 이시간 나는 오늘은 못할꺼라는 직감에 내일의 나에게.. 맡기려한다ㅎㅎ 일단 출근은 해야하니!

 

인턴

-개발 문서, 기획 문서 작성

사실 회사 프로젝트를 진행하며 정말 힘들었다... 처음 다뤄보는 스택이 많았고 암호화된 db를 복호화하기위해 pysqlcipher를 설치하는데도 반나절이 걸렸고 또이걸 입맛에 맞춰 못다루는 react를 죽어라 보고, 난잡한 python 코드들을 이리저리 만지작만지작 거리며 1차 마일스톤 기간에 맞춰 공유회의를 드린결과 오늘 처음으로 칭찬을 들었다. "오.. 그래도 지난주보다 많이 발전했네요. 순조롭게 진행되고 있는것 같아요. 수고했어요!"이한마디가 큰 칭찬은 아닐지라도 너무기쁜 하루였다ㅎㅎ 암튼1차 마일스톤 목표치 공유회의후에 필요한 요구사항을 선임 개발자분께 요청하기 위해 작성한 플로우차트와 db다이어그램을 작성하여 전달드렸고 기획문서 구체화를 시켜둔상태이다. 이제좀 개발자같은데?

혹시라도 pysqlcipher 설치에 대해 궁금한 분을 위해 링크 공유합니다~

 

Windows pysqlcipher 설치하기(x64, win10, sqlcipher, open ssl, vs2019)

sqlite를 사용하다가 sqlcipher를 파이썬에서 사용해야 하는 일이 생겼다. 그래서 설치 좀 해볼까 했는데 정말 안됐다. 인터넷에서 여기저기 돌아다니면서 해봤지만 다 안되고 결국 핸드폰 루팅의

98yejin.github.io

  • 새로운 일거리: 창업

대학교를 졸업하기 전에 한번은 창업을 해보고 싶어서 전에 알고 있던 친구에게 기획자를 부탁하였고 디자이너, ios, 안드로이드 개발자분들소셜사이트에서 구해서 현재 기획중이다. 파티와 관련한 창업인데 기획부분을 너무 쉽게 생각하고 진행했던터라 디자이너, 기획자 친구에게 혼쭐나고 나도함께참여하여 기획중인부분이다! 앞으로 TIL에 이것도 같이 추가될것 같다~

 

  • 다음 목표

-GETIT 프로젝트

https 적용

 

-인턴

프로젝트 rest통신 구체화 및 DB내용 변경

 

-kotluck

기획 브레인스토밍 도식화 및 구체화

 

말이 TIL이지 Today가 아니라 Week다완전ㅋ... 바쁘다는 핑계로 미루게 되었는데 좀 신경써서 TIL진행해야겠다. 슬슬 인턴종료까지 40일도 안남았다. 뜨거운 여름에 시작해서 이제 패딩입고 다니는 시기까지 진행하게되었는데 나는 인턴이 끝이나고 회사분들에게 어떤 이미지로 남을까?궁금하다 회사에 조금이라도 도움이 되는 그런 인턴이 되고자 마음먹었던 초심잃지 말고 남은 기간동안 다시 열심히 해봐야겠다! 화이팅이다!! 

728x90

+ Recent posts