전체 글 44

요구사항 확인 (2)

요구사항 정의요구사항소프트웨어가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 운영되는데 필요한 제약조건개발에 참여하는 이해관계자들 간의 의사소통을 원할하게 하는데 도움을 줌요구사항 유형기능 요구사항비기능 요구사항사용자 요구사항시스템 요구사항기능 요구사항기능이나 수행과 관련된 요구사항입출력이 무엇이냐에 대한 사항어떤데이터는 저장, 연산을 수행하는지에 대한 사항반드시 수행해야되는 기능사용자가 시스템을 통해 제공받기를 원하는 기능비기능 요구사항품질이나 제약사항에 관련된 요구사항시스템 장비 구성, 성능, 인터페이스, 테이터구축, 테스트, 보안, 품질, 제약사항,프로젝트 관리, 프로젝트 자원사용자 요구사항사용자 관점에서 본 시스템이 제공해야 할 요구사항시스템 요구사항개발자 관점에서 본 시스템 전체가 ..

요구사항 확인 (1)

소프트웨어 생명 주기 소프트웨어 생명 주기(Software Life Cycle)소프트웨어를 개발하기 위한 과정을 각 단계별로 나눈 것소프트웨어 개발 단계와 각 단계별 주요 활동 그리고 활동의 결과에 대한 산출물로 표현대표적인 생명주기 모형폭포수 모형프로토타입 모형나선형 모형애자일 모형폭포수 모형(Waterfall Model)각 단계를 확실히 매듭짓고 결과를 검토하여 승인 과정을 거친 후 다음단계를 진행하는 개발 방법론프로토타입 모형(Prototype Model)실제 개발될 소프트웨어의 견본품(Prototype)을 만들어 최종 결과물을 예측하는 모형나선형 모형(Spiral Model)여러 번의 소프트웨어 개발 과정을 거쳐 점진적으로 개발하는 모형보헴(Boehm)이 제안폭포수, 프로토타입 모형의 장점에 위험..

[Python] pip install requirements.txt로 여러패키지 한방에 설치하기

학교에서 프로젝트를 진행하는 도중 학교컴퓨터를 사용하던가, 노트북을 사용하던가, 집컴퓨터를 사용하던가 해서 실제개발환경이 종종 바뀔때가 많았는데 당시에는 requirements.txt 같은 것의 존재 자체를 몰라 일일히 패키지를 하나하나 설치했던 기억이 있다. 지금 생각하면 그런 불편한게 있으면 누군가는 해결책을 만들었겠지. 라는 생각을 했었어야 됬다. 우선 cmd창에서 현재 설치된 패키지를 확인해보자 >pip list 이와 같이 설치되어 있는 패키지 들이 쫘라락 나온다. 이 패키지들을 따로 기록하여 다른환경에서 설치시 한번에 설치할 것이다. >pip freeze > requirements.txt 현제 작업중인 디렉토리에 requirements.txt 파일이 생성되었을 것 이다. 이제 다른환경에 설치를 ..

Python 2023.02.09

DRF - Django rest framework

현재 글에서는 내가 느낀점을 간단하게 올린정도 밖에 안된다 만약 이 글을 읽고 공부를 하겠다 라는 생각을 가졌다면 당장 뒤로가기 버튼을 클릭하여 더 좋은 블로그 포스팅을 보기 바란다. 이번에 회사에 입사하게 되면서 DRF에 대해 공부를 했는데 알게된 사실들을 정리해보는 시간을 가질 것이다. 사전에 정의되여있는 것을 구차하게 나열하기 보다는 내가 공부하면서 이해하여 이런것이다. 라는식으로 정리를 할 것이다. 그러므로 틀린 사실이 있을 수 있으므로 다른 글도 충분히 보기를 바란다. DRF DRF란 Django REST Framework의 약자로 단순히 Django 프레임워크 환경에서 REST API를 설계하는 프레임워크를 칭한다. API, REST API API와 REST API에 차이에 대해 알아보자 우선..

Django/DRF 2023.02.08

WSL2를 이용한 리눅스 설치

백엔드 개발자의 우대사항을 보면 linux환경에서 개발을 해봤다거나 docker컨테이너 사용이 굉장히 눈에 띄었다. 그리하여 나도 리눅스에서 개발을 한번 해보자 하여 남는 ssd에 리눅스를 설치하였으나. 내 pc는 인터넷연결을 wifi를 사용하기 때문에 무선 랜카드 드라이버를 따로 설치해야되는 상황이 발생 기본 패키지 또한 업데이트가 불가능하여 이를 해결하려고 이틀동안 전전긍긍하며 끝내 지인에게 물어보았는데 그런건 모르겠고 그냥 WSL을 사용해보라는 말을 하여 사용해 보려 한다. WSL : Windows Subsystem for Linux(리눅스용 윈도우 하위 시스템) 윈도우에서 리눅스를 설치하여 사용할 수 있게 도와주는 기능이라고 한다. 솔직히 원리같은거는 잘 모르겠고 일단 처음 사용해보는 것 이므로 ..

Linux 2023.01.12

[Django]웹소켓을 이용한 채팅기능

사용자간의 채팅기능을 구현하고싶어 알아본 결과 크게 2가지를 이용하여 채팅을 구현하는데 첫째로 AJAX를 이용한 것이였고 두번째로는 WebSocket(웹소켓)을 이용한 구현이 많았는데 필자는 WebSocket을 이용하여 채팅을 구현해보려 했다 하지만 참고한 블로그가 내가 처음기획한 채팅기능과 매우 흡사하여 사실상 다른 블로그에서 가져와 내가 필요한 부분만을 바꾼것 뿐이므로 제대로된 동작에 대해 보고 싶다면 해당 링크로 이동하여 보는 것을 추천한다. Django channels 실시간 채팅 기능 (websocket) (tistory.com) Django channels 실시간 채팅 기능 (websocket) 공식문서 + 구글링 + 유튜브를 통해 실시간 채팅 기능 구현(서버 api 동기식) 스파르타 내배캠 ..

Django/Django study 2022.12.23

[django error]Field.__init__() got an unexpected keyword argument 'on_delete'

출처 : django - TypeError: __init__() got an unexpected keyword argument 'on_delete' - Stack Overflow TypeError: __init__() got an unexpected keyword argument 'on_delete' I built a model: class Channel(models.Model): title = models.CharField(max_length=255, unique=True) slug = models.SlugField(allow_unicode=True, unique=True) description = models.TextFi... stackoverflow.com db를 makemigrations할 경우 ..

Django/에러 2022.12.21

[Django] 친구추가, 팔로우 목록조회

models.py #친구목록 class Follow(models.Model): """ 유저 친구유저 """ user = models.OneToOneField(User, on_delete=models.CASCADE,related_name="user") to_user = models.ManyToManyField(User,related_name="to_user") migrate python manage.py makemigrations python manage.py migrate admin.py from .models import User,Profile,Follow ..... admin.site.register(Follow) urls.py urlpatterns = [ ..... #팔로우 path('follow_..

Django/Django study 2022.12.07

[Django]회원 프로필 수정

User에 nickname을 넣어놨는데 profile로 옮기는게 관리에 좋겠다고 생각하여 바꿔주었다. models.py #models.py from django.db import models from django.contrib.auth.models import AbstractUser #auth의 유저 상속 class User(AbstractUser): """ 이름 이메일 """ name = models.CharField(max_length=15) email = models.EmailField() class Meta: db_table = "User" def __str__(self): return self.email #models.py #프로필 class Profile(models.Model): """ 유저..

Django/Django study 2022.11.27