본문 바로가기

Web Programming/Web PR

(6)
Git 메모장 1. 버전 관리 기본 $ git log # 깃 기록 보기 $ git diff # 최신 버전의 깃과 최근 차이 보기 $ git commit -amend # 가장 최근 커밋 메시지 수정 $ git checkout -- file # file 파일을 가장 최신 버전으로 되돌리기 $ git reset HEAD file # file 스테이징 취소 $ git reset HEAD^ # 가장 최근 커밋 취소(--soft 커밋전, --mixed 커밋스테이징 전, --hard 파일 수정전) $ git reset 커밋해시 # 특정 버전으로 되돌리기 $ git revert 커밋해시 # 커밋 로그 삭제 없이 되돌리기(이력 쌓기) 2. 버전 관리 branch $ git branch 이름 # 깃 브랜치 만들기 $ git checko..
젠킨스 Jenkins 부분배포 익명클래스 반영 문제 전체배포 vs 부분배포 전체배포의 경우, SVN 또는 Git과 같은 형상관리 툴을 통해 변화된 전체 소스코드를 war 파일로 묶어 배포하는 작업이다(upload 폴더도 초기화되는 문제가 있기에 이는 예외를 두던지, 따로 구성을 하던지 등을 고려해야 한다) 부분배포는, SVN 또는 Git과 같은 형상관리 툴에서 변화된 소스코드 중 일부만 서버에 배포반영하는 작업이다. (SW의 유지보수성, 안정성, 협업에서 의도치 않은 소스코드 반영 등을 막기 위해 많은 SW들이 부분배포를 채택하고 있다) Java 부분배포 익명클래스 반영문제 부분배포 진행 중 can't find 'xxxx$1.class ' ... 과 같은 로그를 보게 되었다. 후에 보니, Java 컴파일 시 anonymous inner class가 있을 ..
사회대 스터디룸 시스템 트러블슈팅 사실 트러블슈팅이라고 하기도 민망할 정도로 별일 아니었지만 기록용으로 적어둔다. 사회대 스터디룸 시스템을 구축해두고 열심히 관리하지는 않는다(트래픽이 엄청나지는 않기에 굳이 그럴 필요가 없긴하다, 시험기간 뒤 과제기간에 조금 트래픽이 몰리는 정도가 다인 것 같다) 여튼 에러가 발생하면 디버깅하는 정도가 다인데 최근에 서버가 내려갔더라.. (학생회에서도 말을 안해줘서 몰랐다..;;) 한 번씩 들어가보는데 어느 순간 들어가보니 서버가 내려가있더라ㅠ AWS 켜서 그냥 재부팅하는 걸로도 해결되었다. 그냥 aws ec2 인스턴스를 Stop 후 boot 하고 설정파일을 조금 손봤다 혹시나 포트가 꼬였나 찾아보고 리소스가 많이 잡아먹혀서 다운됐나 봤는데 그런 것들도 아닌 것 같다. 왜 내려간지는 잘 모르겠다.. 열심..
Ngrok 로컬 네트워크 연결 우리의 로컬 주소를 Ngrok를 통해 연동하여 외부에서 접근할 수 있도록 할 수 있다 너무 간단하고 유용하여 정식 배포할 프로젝트가 아닐 때 이용하면 유용할 듯하다 #1 Ngrok 다운로드하기 https://ngrok.com/ ngrok - secure introspectable tunnels to localhost Spend more time programming. One command for an instant, secure URL to your localhost server through any NAT or firewall. ngrok.com 해당 페이지에서 Ngrok를 다운로드 #2 로컬에서 프로젝트 실행 #3 연동하기 Ngrok.exe 실행 후 원하는 포트 입력 $ ngrok http 5000 ..
Django EC2 window server 배포 준비물 Django 프로젝트 AWS IAM 자격증명 EC2 인스턴스 생성 지금까지 수행한 결과로 EC2 - window 인스턴스를 생성할 수 있다. 이렇게 되면 탄력적인 IP를 계속하여 할당받을 수 있게 된다. 해당 인스턴스에 접속하는 방법은 다음과 같다. EC2 django 환경 구성 원격 테스크톱 연결 후에 방화벽 설정 변경 chrome 다운로드 Python 3.7.2 버전 다운로드 C 로컬 디스크에서 다음과 같이 필요한 pip 설치 $ pip install --upgrade pip $ pip install django ... (필요한 패키지 다운, pip isntall -r requirements.txt 처리도 가능) 그리고 해당 프로젝트 복사 후 python manage.py runserver 0..
셀레니움(Selenium) 자동화 툴 셀레니움(Selenium)이란? 웹 어플리케이션 테스트를 위한 포터블 프레임워크. 웹 테스트를 간단히하기 위한 도구 셀레니움 특징 셀레니움은 테스트 스크립트 언어를 학습할 필요 없이 기능 테스트를 만들기 위한 플레이백 도구를 제공한다. C#, Groovy, Java, Perl, Python, Ruby 등 많은 언어를 지원하며 테스트 도메인 특화 언어(Seleness)를 제공한다. 셀레니움의 효용성 우리가 실제 운용을 위해 만든 서비스 페이지에서의 시나리오가 회원가입을 하고 게시글을 작성하고 댓글을 작성해보고 등이라고 가정을 해보자. 해당 시나리오를 구현하기 위해 우리는 수많은(수십회) 정도의 클릭이 필요할 수 있다. 이런 시나리오에 대해서 셀레니움은 웹 드라이버를 통해 브라우저 동작을 컨트롤 할 수 있게..