목록프로젝트 (10)
개발자 블로그

2.0 개발계획 Prototype1에서 온*습도 센서를 통해 데이터 수집, 모터의 양방향 구현, 미세먼지 센서를 통해 데이터 수집을 진행. Prototype2에서 상황 별 알고리즘을 작성하고 각 상황에 맞게 환풍기가 회전하는지 점검. Pilot Test에서 30*25*15(단위: cm) (가로*세로*높이)의 아크릴 상자를 통해 가상 실험장을 만들어 모의실험을 실시. 2.1 현재 시스템 As is: Prototype1 온습도 감지 센서(Module1)와 팬을 회전시키기 위한 모터(Module2)를 코딩을 통해 각 센서를 모듈화하였다. 온습도 센서는 2초마다 온습도의 변화를 감지하여 컴퓨터로 변화를 입력받도록 하였다. 또한, 모터는 각 상황 별 조건에 맞는 작동을 구현하기 위해 모터의 정회전 및 역회전을 구..

1.1 추진 배경 지난 2013년 미세먼지가 세계보건기수(WHO)에서 1급 발암물질로 지정된 이후, 사람들의 미세먼지의 대한 관심이 증가함. 우리나라 또한 미세먼지 농도가 높아져 실외부터 실내까지 (공장, 가정 등) 환풍기의 필요성이 대두되고 있음. 1.2 사업개요 기존의 환풍기는 실내와 실외의 대기상태를 고려하지 않고 작동되고 있고, 실내 공기만 실외로 배출하고 실외 공기를 유입시키는 기능은 없음. 따라서 우리는 온도, 습도, 미세먼지 센서를 이용하여 실내의 환경을 자동으로 판단하고 관리해주는 IOT 환풍기를 만들려고 함. 1.3 사업 목표 센서를 통해 감지한 실내,외의 미세먼지 농도를 비교하여 각 조건에 맞는 알고리즘을 통해 환풍기를 자동으로 작동시켜 실내 미세먼지를 배출하고, 실외 공기를 유입 시킬..

17년도 대학시절 창의적인 경험을 하고자 Development Aduino라는 이름으로 창업동아리를 만들었습니다. 뜻이 맞는 선후배를 모았고, 함께 아이디어 논의를 통해 당시에 화두였던 미세먼지라는 주제로 이 프로젝트를 생각하게 되었습니다. 그리고 학교에서는 창업지원센터가 활성화 되어 있어 우리는 아이디어 보고서를 제출하여 창업지원비 300만원을 받을 수 있었습니다. 해당 지원비로 우리는 제품 개발에 필요한 아두이노 set와 미세먼지 센서, 온습도 센서 등 실험에 필요한 물품들을 구입하였습니다. 약 1년 간 해당 프로젝트를 수행하였고 많은 우여곡절 끝에 시제품 제작에 완성하였습니다. 아래 사진은 실제 프로젝트 시제품 사진 자료입니다. 아크릴판으로 가상의 실내 모형을 만들었고 그안에 센서를 넣었습니다. 실..

DB DIAGRAM URI & Method Summary API endpoint method 회원가입 users/signup/ POST 로그인 users/login/ POST 로그아웃 users/logout/ POST 프로필 users//profile/ GET, PUT, DELETE 구매 목록 조회 users//purchaselist/ GET 판매 목록 조회 users//sellinglist/ GET 찜 목록 조회 users//likelist/ GET 상품 products/ POST, GET products// GET, PUT, DELETE 댓글 products//comments/ POST, GET products//comments// GET, PUT, DELETE 좋아요 products//like/ P..
DRF 프로젝트 - 나만의 쇼핑몰 0. core BaseModel(models.Model) 필드 설정 특이사항 updated_at models.DateTimeField(auto_now=True) created_at models.DateTimeField(auto_now_add=True) 1. user User(AbstractBaseUser) 필드 설정 특이사항 username models.CharField("이름") email models.EmailField("이메일 주소", unique=True) USERNAME_FIELD = 'email' password models.CharField("비밀번호", max_length=128) max_length=128 해줘야한다. 패스워드 해시로 저장되면서 글자수가 ..
동시성, Concurrency란? DB에서의 동시성에 대해, DB에 다수의 사용자가 동시에 접근하는 상황에서 동시성은 transaction이 순차적으로 실행되는 것이 아니라, 순서에 상관없이 동시에 실행되는 것을 의미한다. 예를 들어보자. "비행기 티켓팅을 한다고 생각해 봅시다. 비행기에 자리가 하나 남은 상황. A와 B는 같은 비행기를 예매하려고 합니다. A, B 둘 다 비행기의 잔여좌석을 확인하기 DB를 확인하게 됩니다. 이때 동시에 접근하여 한자리 남은 것을 확인하고 둘 다 예매에 성공한다면 어떤 일이 일어날까요? 비행기 자리 하나에 둘 모두 예매가 되어버리는 상황이 발생합니다. " 위와 같은 이유로 동시성을 고려하여 관리해야한다. 개발자가 동시성을 어떻게 관리해야 하는지 알아보기 전에 RDBMS는..

웹 어플리케이션/웹 서비스를 배포하고, 확장하고, 관리하는데 있어 쉽고 빠르게 할 수 있도록 돕는 완전 관리형 서비스이다. Elastic Beanstalk는 Java, Go, PHP, .NET, Node.js, Python, Ruby 등으로 개발된 앱을 지원하고 각 플랫폼마다 다양한 구성을 지원한다. 쉽게 EC2로 웹 서비스를 만들어 사용하는 경우를 생각해보자. 일단 가동시킬 애플리케이션을 개발한다. 이어서 EC2 인스턴스를 생성하고, 애플리케이션 동작을 위한 미들웨어 설치와 설정을 진행한다. 필요하다면 데이터베이스도 구축하고 서버를 확장하고 로드밸런싱한다. 이어서 인스턴스를 모니터링하고 알림을 보내주는 구조도 만든다. 여기까지 해야 애플리케이션을 디플로이하고 웹 서비스를 시작할 수 있다. Elastic..
TDD란? Test Driven Devlopment, 테스트 주도 개발로 '테스트가 개발을 이끈다' 라는 말. 1. 그렇다면 왜? 테스트 주도 개발을 해야할까? 애자일이란에서 설명한 것과 같이 불확실성이 높을 때 ‘피드백’과 ‘협력’이 중요하다. 피드백과 협력이 중요한 이유 - 불확실성이 높을 때 ‘피드백’과 ‘협력’을 이용하면 더 좋은 결과가 나올 확률이 높아진다. - TDD도 마찬가지로 ‘피드백’과 ‘협력’을 증진시키는 것이기 때문에 불확실성이 높을 때 도움이 되는 것이다. 2. 그럼 언제 사용해야 할까? 만약 어떤 부분에 대한 코딩을 여러번 해봤고 결과가 어떻게 나올지 뻔하다면 TDD를 하지 않아도 된다. 또한 TDD를 했을 때 얻는 것이 적다면 TDD를 하지 않아도 된다. 그렇다면 TDD는 어떤 ..

Django Form의 역할 및 정의: HTML을 작성하고, 입력된 데이타의 유효성을 검증하고, 필요시에 입력된 데이타를 검증 결과와 함께 다시 표시하며, 유효한 데이타에 대해 요구되는 동작을 수행하는 것을 "올바르게 하기"위해서는 꽤 많은 노력이 필요한 작업이다. Django는 일부 과중한 작업과 반복 코드를 줄여줌으로서, 이 작업을 훨씬 쉽게 만든다! Django의 폼 처리 과정은 (모델에 대한 정보를 보여주는데 있어서) 우리가 앞선 튜토리얼에서 배웠던 것과 같은 기술을 사용한다. : 뷰는 요청을 받고, 모델로 부터 데이타를 읽는것을 포함한 요구되는 동작을 수행한다. 그런 다음, (보여줄 데이타를 포함한 context를 전달받은 템플릿으로 부터) HTML page를 생성하고 반환한다. 서버 또한 사용..

사이트 url https://cofi-f5.com/ 깃헙 레포 https://github.com/KEEMSY/F5_TEAM3 지난 3월 한 달간 부트 캠프 마지막 프로젝트로 개발자 커뮤니티 웹사이트를 제작했다. 세션 방식의 로그인과 게시글의 ‘좋아요’ 기능을 담당했습니다. 중간 시연회에서 회원가입과 로그인 기능을 동기 구현으로 한 것에 대해 사용자의 25% 이상이 지적을 했다. 그래서 해당 부분을 django의 forms를 활용하여 동기 구현을 유지하되 잘못된 데이터를 입력했을 시 데이터가 사라지지 않고 그대로 남겨두어 사용자가 다시 수정하기 편하게 리펙터링 하였다. 그래서 최종 시연 때에는 해당 부분에 대한 컨플레인을 받지 않을 수 있었다...!! 또한, ‘좋아요’ 기능에서는 테스트 주도 하에 개발을 ..