10월, 2021의 게시물 표시

소프트웨어 품질관리 - 품질관리프로세스(2/2) 예제를 공유합니다.

이미지
 월요일에 이어 품질관리프로세스 두번째 챕터입니다. 프로세스를 정의하는 목적은 같은 작업을 두번 반복하지 않는 것이며, 다소 프로젝트마다 유형의 차이는 있지만,  데이터의 누적으로 분야별 유사한 패턴 유형의 분류에 따른  유지보수 및 프로젝트 수행 업무의 효율성이 높아집니다. 다음주에는 품질결과보고서를 공유하겠습니다.

소프트웨어 품질관리 - 품질관리프로세스(1/2) 예제를 공유합니다.

이미지
지난주에 이어 품질관리프로세스입니다. 간단히 말씀드리자면, 품질관리 활동을 위한 일련의 절차입니다. 주요한 점은 내재화를 통한 팀원간의 협업을 위한 절차입니다.

셀레리움을 이용한 페이스북 좋아요 클릭 소스를 공유합니다.

  0) 소스는 아래와 같이 구성되어 있습니다. - chromedriver - execute.py - howto.txt - run.sh ​ 1) 인프라스트럭쳐는 macOS, conda 환경입니다. ​ 2) 소스의 간략한 설명은 아래와 같습니다. ​ - 지연시간(sleep)을 8초 ~ 16초 입니다. 이는 로그 패턴을 숨기기 위함입니다. - 셀레리움을 통한 웹브라우저를 실행합니다. - 최초, 명시된 아이디와 패스워드로 로그인 합니다. - 다음 로그인시 세션을 저장하여 자동 로그인이 됩니다. - 페이스북의 태그의 경로가 변경되므로 case1 ~ case4 으로 선언하여 그에 맞는 태그의 경로(패턴)에 부합하는 태그를 찾습니다. - '좋아요'가 선택이 되어 있지 않으면 클릭, 반대의 경우는 클릭을 하지 않습니다. - 새로고침을 실행하여 위의 루틴을 'run.sh'에 명시되어 있는 횟수를 반복합니다. - 아래는 로그 패턴을 숨기기 위한 'run.sh'에 명시 되어 있는 횟수 입니다. - RND="$(($RANDOM% 5+25))" -> 랜덤으로 25~30번 반복 ​ 3) 아래는 크론탭 명령은 아래와 같습니다. ​ - 로그인 시간 로그 패턴을 숨기기 위한 스케줄러 실행시간을 구분하였습니다. ​ $ crontab -e --------------------------------- #일 ,화,목,토 10시 25분, 15시 25분 실행 25 10,15 * * 0,2,4,6 ~/Crawling/facebook_click_like/run.sh #월 ,수,금 07시 05분, 13시 05분 실행 5 7,13 * * 1,3,5 ~/Crawling/facebook_click_like/run.sh --------------------------------- ​ 4) 본 소스는 테스트 목적입니다. - 사용하실 때 주의하시기 바랍니다. - 페이스북에서 로그 패턴을 잡아냅니다. ​ 5)아래는 소스코드 링크 주소입니다. https

소프트웨어 품질관리 - 품질관리계획서(2/2) 예제를 공유합니다.

이미지
  본 샘플링 문서를 참고하여 규모가 작은 프로젝트 부터 적용해 보는게 많은 도움이 됩니다. 소프트웨어 개발 능력 측정 기준과 SW 프로세스 평가 기준을 마련하는 것이므로 추후, 유지보수 및 타 프로젝트에 진행함에 있어 데이터가 누적됨에 따라 프로젝트별로 패턴을 발견할 수 있습니다. 이 패턴을 토대로 프로젝트 진행함에 있어, 팀원의 누적된 소프트웨어 품질관리내재화를 통한 프로젝트의 원할한 협업과 효율적인 의사결정으로 성공적인 프로젝트에 도움이 됩니다. 이에 더하여, 나중에 언급하겠지만 형상관리에 있어서 웹기반 형상관리 툴(레드마인 또는 지라)과 협업메시징(슬랙,잔디,팀즈, ... 등)을 사용하여 효율적인 의사소통 및 협업을 할 수 있습니다.  다음 섹션에 품질관리 프로세스를 게시하겠습니다.

소프트웨어 품질관리 - 품질관리계획서(1/2) 예제를 공유합니다.

이미지
소프트웨어 품질관리 계획서를 공유합니다. 정확히 7년 3개월 전에 프로젝트를 진행하면서 적용한 내용입니다. CMMI를 기초로 적용한 사례이며  우리나라의 SP인증 또한 CMMI를 기초로 만든 인증이라 알고 있습니다. 소프트웨어 개발 능력 측정 기준과 SW 프로세스 평가 기준이라 이해하시면 될 듯 합니다. 예전이나 지금이나 개발 일정을 소화하기 빠쁜 기업에서 적용하기 힘들지만, 이러한 프로세스가 있구나 정도만 숙지하면 유용할 듯 합니다. 나중에 개발에 대한 여유가 있으면 한번 적용해 보는 것도 좋을 듯 합니다.

간단한 컴퓨터 비전 데이터전처리 소스를 공유합니다.

 본 소스는 학습을 위한 라벨링 전처리 입니다. 당뇨 망박병증에 대한 분류 예측값과 예측값의 이미지 이름이 명명되어 있는 CSV 파일을 읽어, 학습을 위한 'Training', 'Validation', 'Test' 등의 각각 폴더를 생성하여 이미지 라벨링을 진행합니다. 소스는 구글 코랩 소스와 일반 파이썬 소스로 구성되어 있습니다. 코랩 소스는 구글 드라이브로 실행하면 바로 확인 할 수 있으며, 일반 파이썬 소스는 별도 주피터 노트북을 셋팅해야 합니다. 그리고 이미지 파일들은 소스에 명시되어 있는 것처럼 폴더를 지정해 주시면 됩니다. (21~27번 라인) 소스는 아래의 사이트를 참고하세요 https://github.com/gyunseul9/datasetbuiler 캐글경진 대회 당뇨 망막병증, 이미지와 CSV 파일로 구성되어 있습니다. 아래의 주소를 참고하세요 https://www.kaggle.com/dimitreoliveira/aptos-blindness-detection-eda-and-keras-resnet50/data 

윈도우10 콘다 명령어(call conda activate) 실행 방법

​ set root=C:\Users\lonbe\anaconda3 ​ call %root%\Scripts\activate.bat %root% ​ call conda activate crawling

이미지를 영상변환, 영상파일과 음악파일 합성 ffmpeg 명령 실행 파이썬 소스를 공유합니다

  def call_ffmpeg(): ​ datetime.today() today = datetime.today().strftime("%Y%m%d") ​ subprocess.call('ffmpeg -f image2 -r 1/6 -i /home/ubuntu/images/coronastep/card_%d.png -vcodec mpeg4 -y /home/ubuntu/video/coronastep/merge_{}.mp4'.format(today), shell=True) ​ def merge_ffmpeg(): ​ datetime.today() today = datetime.today().strftime("%Y%m%d") ​ subprocess.call('ffmpeg -y -i /home/ubuntu/video/coronastep/merge_{}.mp4 -i /home/ubuntu/sound/After_You.mp3 -t 96 -c:v copy -c:a aac -strict experimental /home/ubuntu/video/coronastep/complated.mp4'.format(today), shell=True)

카카오채널 API 서버 소스 공유합니다. (python, flask)

1. 카카오채널 API 서버는 아래와 같은 인프라스트럭처를 필요로 합니다. - 파이썬 3.6 이상, 아나콘다 또는 virtualenv - NGINX 1.14.0 이상, uWSGI 2.0 이상, Supervisor 3.3.1 이상, ubuntu 18.04 이상 ​ 2. 카카오채널 API 서버 소스는 아래와 같이 구성 되어 있습니다. - config.py: 데이터베이스 접속 정보 - db.py: 데이터베이스 컨트롤 - app.py: 카카오채널 API 서버 ​ 3.아래의 주소에 소스를 확인할 수 있습니다. (소스공유) https://github.com/gyunseul9/kakao_channel

윈도우10, 작업스케줄러 배치파일 예제 (파이썬, 아나콘다)

  set YEAR=%date:~0,4% set MONTH=%date:~5,2% set DAY=%date:~8,2% set HOUR=%time:~0,2% set MINUTE=%time:~3,2% set SECOND=%time:~6,2% ​ set /a RND=%RANDOM% %% 10 + 5 ​ set h0=%time:~0,2% set m0=%time:~3,2% set s0=%time:~6,2% ​ call conda activate crawling cd C:\Users\username\crawling ​ echo event >> C:\Users\username\crawling\logs\event.log echo %YEAR%-%MONTH%-%DAY% %HOUR%:%MINUTE%:%SECOND% >> C:\Users\username\crawling\logs\event.log ​ echo %RND% >> C:\Users\username\crawling\logs\event.log ​ timeout /t %RND% ​ call python execute.py 30 >> C:\Users\username\crawling\logs\event.log ​ set h1=%time:~0,2% set m1=%time:~3,2% set s1=%time:~6,2% ​ set /a h=h1-h0 set /a m=m1-m0 if %m% lss 0 ( set /a h=h-1 set /a m=m+60 ) set /a s=s1-s0 if %s% lss 0 ( set /a m=m-1 set /a s=s+60 ) ​ echo %h%:%m%:%s% >> C:\Users\username\crawling\logs\event.log