Skip to content

CSUOS@dev_blog

Team.CSUOS

CSUOS는 서울시립대 내부 혹은 외부에서 사용할 여러 서비스를 개발하고 운영해보는 소모임입니다. CSUOS는 2020년 07월 01일 여름방학 시작과 함께 Kubernetes에서 구동되는 과제제출플랫폼인 NERA (Typescript + Koa.js + React.js) 와 회원관리 시스템인 RABUMS (Golang + Gin + Nuxt.js) 개발을 시작으로 결성되었으며 현재 여러 프로젝트 인원을 모집 및 개발을 진행중입니다.

현재 인원을 모집중인 프로젝트 현황을 확인하고 본인도 개발에 참여하고 싶은 서울시립대 인원이라면 이곳를 확인해주세요. 타과생도 환영합니다! :-)

- Team.CSUOS

유지보수중인 프로젝트

진행중인 프로젝트는 모집공고에서 확인가능합니다.

NERA

oNlinE Realtime Assignment, https://github.com/CSUOS/nera

서울시립대 컴퓨터과학부 실시간 과제 제출 및 관리 플랫폼

언제까지 A4용지에 과제써서 제출해야하나요? 언제까지 이메일로 과제를 제출해야하나요? 이제 관리좀 하면 안될까요? NERA는 Markdown과 LaTeX를 사용하여 단순 글자부터 코드, 수식까지 웹상에서 과제를 작성하여 제출할 수 있습니다. 학생입장만 생각했냐고요? 아니요, 교수님 (밑에서 채점하는 조교님) 들을 위해 문제별로 과제를 채점하고 채점결과는 엑셀파일로 가져와 성적입력도 손쉽게 가능합니다.

RABUMS

Rest API Based User Management System, https://github.com/CSUOS/rabums

CSUOS 회원관리 시스템

앞으로 프로젝트는 많아질테고, 사용자수도 많아질텐데 각 프로젝트마다 회원가입하고 회원관리를 따로하는건 낭비 아닐까요? 보안관리는 또 어떻고요? RABUMS는 CSUOS에서 진행중인 프로젝트를 위해 단일화된 회원관리 수단을 제공합니다. 사용자입장에서는 회원가입을 한번만 해도되고, 개발자입장에서는 보안관리에 들일 노력을 줄일 수 있습니다.

infra_definition

https://github.com/CSUOS/infra_definition

CSUOS infra 정의

Q. 수많은 프로젝트들은 어떻게 띄우나요?

A. 쿠버네티스요

Q. 쿠버네티스 yaml파일들은 어떻게 관리하죠?

A. GitOps 가죠?

ArgoCD를 활용한 CSUOS GitOps 시스템. (차후 DevOps 구축 프로젝트 진행 예정)

목표

CSUOS는 공공의 이익과 개인의 이익을 동시에 만족하는것을 목표로 다음 사항들 달성을 지향합니다.

CSUOS 공공의 목표

  1. 대학생들을 대상으로 필요하지만 아무도 시도하지않은 새로운 종류의 서비스 개발

    과제를 하면서, 팀플을 하면서, 게임을 하면서, 자취방을 구하면서, 배달음식을 시켜먹으면서 우리는 학교에서 심각하지는 않지만 소소하게 불편한 일들이 많습니다. CSUOS는 이러한 소소한 불편함들을 소프트웨어적으로 해결하는것을 지향합니다.

  2. 진로를 고민하는 학생들을 위한 안내자

    일반적으로 대학교에 들어와 4년동안 전공수업마치고 졸업합니다. 하지만, 정작 배운것들이 현업에서 어떻게 쓰이는지, 나는 어느쪽에 소질이 있으며, 무엇을 하는게 옳은지 알려주는 수단은 무척이나 제한적입니다. CSUOS는 이러한 개인들에게 자신이 나아갈 수 있는 길과 자신의 적성을 찾아가는데 도움을 줍니다.

팀원 개인의 목표

  1. CSUOS 팀원 개인은 자신의 개발실력을 향상시키는것을 목표로 합니다.

    여기서 개발실력은 단순히 코딩실력만을 의미하지 않습니다. 프로젝트 기획, 여러사람과의 협업 하는 능력, 프로젝트를 매니징하는 능력, 사용자관점으로 디자인을 하는방법, 마감시간을 위해 퀄리티랑 타협을 보는 능력, 오픈소스들을 잘 가져다 쓰는 능력, 다른사람의 코드를 분석하는 능력등 개발이라는 과정 전체에 필요한 능력들을 복합적으로 생각합니다.

  2. CSUOS 팀원은 각자의 포트폴리오 형성을 목표로 합니다.

    까놓고말해서 취업이 힘든 시기입니다. 2020년 기준 신입공채 숫자는 나날이 줄어가고, 기업들은 경력있는 신입이라는 모순적인 존재를 구하려고 합니다. 어쩌겠습까...... 경력있는 신입이 될수밖에. CSUOS는 경력을 쌓을 기회를 제공합니다.

  3. CSUOS는 미래의 인맥형성을 목표로 합니다.

    개발자간에 학연은 무의미하다고 하지만, 그래도 없는것보다 있는게 좋습니다. CSUOS라는 연결고리를 통해 면접보기전에 "작년엔 이러이러한 유형의 질문들을 했어", "요즘 우리회사는 이러이러한 분야에 관심이 많아" 라는 귀뜸 하나라도 듣는게 더 좋지 않을까요?

목표를 달성하기 위해

  • CSUOS는 블로그를 운영합니다.
    • 블로그 글로 남긴 어떤 기술에 대한 설명은 자신의 능력에 대한 증거이며 포트폴리오의 내용입니다.
    • 블로그 글로 남긴 자신의 후기는 다른 팀원에게 새로운 길을 제시해주는 것입니다. 성공담도 좋지만 저희는 실패담을 더 중요하게 봅니다. 실패에는 이유가 있을테고 그 이유를 알고 공유하는것을 중요하게 봅니다.
  • CSUOS는 자유롭게 새로운 프로젝트를 진행할 수 있습니다.
    • 가장 좋은 학습법은 실전입니다. 실전을 통해 이론으로 배운내용을 실무에 적용시킵니다.
    • 중요한건 사람들이 이 프로젝트를 필요로 하고, 이용을 하게만든다, 이 두가지 입니다.
  • CSUOS는 기존 프로젝트 유지보수를 행합니다.
    • 신규 개발도 좋지만 레거시관리도 개발의 중요한 한 단계입니다.
    • 레거시관리를 통해 코드를 분석하고, 코드의 좋은점과 나쁜점을 배운뒤, 신규 프로젝트를 진행할 때 더 좋은 퀄리티의 프로젝트를 만들어낼 수 있습니다.
    • 유지보수를 통해 잔존하는 버그를 잡아내고 기능개선을하며 더 많은 사람들이 프로젝트를 이용하게 합니다.