전체 글

전체 글

    2. ROPE PROJECT(2)

    2. ROPE PROJECT(2)

    우리 서비스의 핵심은 시험을 보는 동안의 화면 공유와 시험이 끝난 후 제출하는 답안과 시험을 보는 모습을 찍어둔 타임랩스 파일을 함께 올리는 것이다. openvidu 오픈소스를 통해 multi-user group call (screen share)를 사용하기 위해 방법을 찾아보았다. openvidu-tutorial(github.com/OpenVidu/openvidu-tutorials)를 통해 기능을 테스트하고 설계한 우리 서비스의 구조는 다음과 같다. 기본적으로 React Native를 학습해왔던 나와 React.js를 학습해왔던 팀원으로 구성된 팀이기 때문에 Front는 React.js를 사용하였다. (React native도 아는데 비슷하겠지 하고 생각했던 내 생각과는 다르게 복잡한 내용들이 많아서 ..

    1. Git이란?

    1. Git이란?

    1. 버전관리 Git은 linux를 만든 리눅스토발즈가 제작한 분산버전관리시스템(DVCS)이다. 현재 IT분야에서 Git을 이용해, 프로그램 만드는 것을 협업하고 버전을 관리하고 있어서, IT분야에 종사하고 있는 종사자나, 곧 IT분야로 뛰어들 학생들이라면, 꼭 학습해야 하는 프로그램 이다. 먼저, 버전관리 시스템에 대해 알아보자. 버전 관리 시스템(VCS)은 파일변화를 시간에 따라 기록했다가, 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템이다. VCS의 장점은 다음과 같다. - 각 파일을 이전 상태로 되돌릴 수있다. - 시간에 따라 수정 내용을 비교해 볼 수 있다. - 누가 문제를 일으켰는지 추적할 수 있다. - 언제 만들어진 이슈인지 알 수 있다. - 파일을 읽어버리거나 잘못 고쳤을 때도 쉽..

    0. 프롤로그

    IT분야에서 일을 하는 프로그래머들이라면, 한번은 들어봤을 것이다. 나는 16년도 학교에 입학할 당시에 처음으로 그 단어에 대해서 들었었고, 공부를 했었지만, 아무도 제대로 알려주는 사람도 없었거니와 머리가 백지에 가까웠길래 제대로 활용하지 못했다... (기껏해봐야 github에 파일 올려서 원격 저장소를 사용하는 느낌) 이후, ide나 TextEditor에서 gui로 간편하게 지원해줘서 사용해 보았지만, 제대로된 Git 이해의 필요성을 느꼈었다. 지금도 완전활용까지는 아니지만, 협업을 하고 관리하는데 문제가 없을 정도는 된 것같다. 2020-2학기 튜터링을 진행하는데 우리 튜티친구들이 Git에 대해 전혀 모르고 있어, 간단하게 정리해서 알려주려고 한다. 그 내용을 정리하는 김에 블로그에 포스팅할 생각이..

    1. ROPE 프로젝트 (1)

    벌써 시간이 많이 지났다. 사실 프로젝트팀명을 던질까말까? 라고 정한 것도 사실 포기할까 말까 고민을 많이 했다 ㅋㅋ 먼저 WebRTC에 대해서 알아 보았는데 1대1까지는 가볍게 구현할 수 있지만, 우리는 그룹 화면공유가 필요했다. 그룹콜을 사용하는 경우에는 MCU 또는 SFU 등의 서버를 가져야 한다고 들었다. 그러나 우리는 그런 서버를 만들만한 능력은 부족했기 때문에, 구글링을 더한 결과 janus, kurento 등의 MCU까지 구현된 오픈소스를 찾아보았다. 프론트를 react.js 를 사용할 생각이기에, java 기반인 kurento를 알아봤고, kurento 프로젝트를 하던 사람들이 openVidu에 대해서 알아보겠다. 'OpenVidu는 웹 또는 모바일 애플리케이션에서 화상 통화를 쉽게 추가 ..

    1. 클라우드 서버 세팅 (AWS ec2 설정)

    1. 클라우드 서버 세팅 (AWS ec2 설정)

    드디어 다시 심해진 코로나 시국에 440만원짜리 6개월 스트리밍 서비스를 듣기 시작했다.... 이번학기에 linux를 사용하는 수업이 많아서, 노트북을 사서 우분투를 설치할까도 고민해봤지만, 아직 내 노트북이 성능적으로는 문제가 없어서 계속 사용하려고 한다. (대신 나중에 돈을 더 모아서 맥북을 노리고 있다...) 그래서 아마존에서 제공하는 AWS ec2를 사용해서, 서버를 하나 두었는데, 유튜브에서 잘 정리되 있는 강의가 있었다. 아마존 세팅하는 방법을 기록해 두려고 한다. 0. 먼저 aws에 가입한다 -> 가입 정도는 충분히 혼자 할 수 있을 것이라 생각한다. 1. 콘솔에 로그인 한 후 서비스 - EC2로 들어간다. 2. 프로필 옆에 지역에서 아시아 태평양 (서울) 을 선택한다. 3. 서버를 생성하기..

    0. 온라인 시험 부정행위 방지 SW개발 공모전(ROPE) 참여

    이번 숭실대학교 스파르탄SW교육원에서 주최하는 온라인 시험 부정행위 방지 SW개발 공모전(ROPE)에 참여하게 되었다. 9.18일까지 제작이라 빡세지만, 경험이나 쌓아보자는 생각으로 참여하게 되었다. 대학생들의 창의적인 아이디어를 바탕으로 오픈소스 기술을 활용한 SW를 개발하는 것인데, 우리팀은 WebRTC를 활용하고, Google의 hangout을 오마주해서 개발해 볼 생각이다. 앞으로 개발에 필요한 개념과, 어려웠던 점 등을 최대한 블로그에 공유하면서 개발 해보려고 한다. 시간이 많이 없어서 만들수 있을까 걱정되지만, 이번에 제대로 부딪혀 보면 큰 경험이 될 것 같다. 누군가 멘토처럼 이끌어 주면 더 좋겠지만, 아직은 없기 때문에 구글링과 스택오버플로우와 함께 헤쳐나가 보려고 한다. 누군가 이 카테고..

    1. [애자일] 전통적 프로젝트에서 벗어나기

    우리는 애자일 & 스크럼 프로젝트 관리를 적용시키기 위해서 전통적으로 내려오던 프로젝트 관리법[폭포수]의 단점과 한계를 알아야 한다. 일반적으로 비즈니스가 성공하려면 시장 요구 상황에 맞는 제품과 서비스를 적절한 시기에 적정한 품질로 제공해야 한다.그렇기 위해 프로젝트 일정과 비용과 시기를 정하는 것은 매우 중요한 단계이나, 프로젝트의 불확실성과 복잡성에 따라 관리 방법이 달라져야 한다. 아파트 건설과 같이 기성품을 만드는 프로젝트는 초기에 업무량, 일정, 비용을 준수하는 것이 의미가 있지만, 소프트웨어 같은 경우에는 초기에 설정하는 조건들이 반드시 가치를 높이지 않는다. 따라서, 시장 및 고객에게 무엇이 가치가 있는지에 따라 신축성 있게 조정하는 것이 중요하다. 우리는 개발자들인 만큼 소프트웨어 프로젝..

    머릿말, 애자일 & 스크럼 프로젝트 관리

    나는 이번 방학동안 UNY 코딩 부트 캠프를 통해서 많은 경험을 쌓으려고 하고 있다. React Native와 node.js, CIBoard를 이용해서 현재 서비스 중인 웹사이트를 리뉴얼 하면서 Application으로 구현을 생각중이다. 학교 공부에서 벗어나, 실제 프로젝트를 해보는 좋은 경험이라고 생각하고, 현재까지는 매우 만족하고 점점 적성을 찾아가는 느낌이다. UNY팀에서는 애자일을 기반으로 프로젝트를 진행한다고 들었다. 팀에 속하는 만큼 어느정도 기본은 알고 있어야 한다 생각했고, 나중에 다른 프로젝트를 진행하는데도, 도움이 되지 않을까 싶어서 이번 기회에 학습을 해보려고 한다. 애자일은 구 시대의 업무 환경에서 벗어나 창의적 제품 개발 환경을 제공하는 프로젝트 관리 방법 중에 하나이다. 수직적..