전체 글(121)
-
Array Shift
배열이 주어졌을 때, 오른쪽, 왼쪽으로 배열을 이동하는 shift import java.util.Array public class ShiftTest{ public static void main(String[] args){ int[] arr = new int[] {1, 2, 3, 4, 5}; System.out.println(Arrays.toString(arr)); rightShift(arr); System.out.println(Arrays.toString(arr)); leftShift(arr); System.out.println(Arrays.toString(arr)); } //배열을 왼쪽으로 한 칸씩 이동하는 함수 private static void leftShift(int[] arr){ //맨 앞 수를..
2022.08.07 -
Git 명령어 모음
Git 유저/업로드 설정 git init 현재 위치에서 local repository 생성 혹은 이미 존재하는 것 초기화 git status working directory의 상태를 보여줌 index file과 현재 HEAD commit사이의 차이 working directory와 index file사이의 경로 Git 원격 저장소 git push origin master 웹 상의 원격 저장소로 변경된 파일을 업로드 == push 원격 저장소에 내 변경 이력이 업로드 되어, 원격 저장소와 로컬 저장소가 동일한 상태 git clone [원격 저장소 주소] 원격 저장소를 복제, 원격 저장소의 내용을 통째로 다운로드 하는 것 복제한 저장소를 다른 PC에서 로컬 저장소로 사용할 수 있음 git pull origi..
2022.03.17 -
Git Branch - 깃 브랜치
Branch 여러 개발자들이 동시에 독립적으로 다양한 작업을 할 수 있게 만들어 주는 기능 각자 독립적인 작업 영역(저장소)안에 마음대로 소스 코드를 변경할 수 있음 분리된 작업 영역에서 변경된 내용은 나중에 원래의 버전과 비교해서 하나의 새로운 버전으로 만들 수 있음 브랜치들을 병합함으로써, 작업한 내용을 다시 새로운 하나의 브랜치로 모을 수 있음 브랜치를 작업 단위로 하면 작업 기록을 남겨 문제 발생 시, 원인이 되는 작업을 찾거나 대책을 세우기 쉬움 master branch 저장소를 처음 만들면 바로 있는 브랜치 새로운 저장소에 새로운 파일을 추가 하거나, 추가한 파일을 변경하여 그 내용을 저장하는 것은 모두 master라는 브랜치를 통해 처리함 브랜치 종류 메인 브랜치(Main Branch) ma..
2022.03.15 -
Git
버전 관리 시스템 배경 너무 많은 복사본이 있어서 어떤 것이 최신 파일인지, 어떤 버전이 어떻게 수정되었는지 알기 어려움 코드 원상 복구가 어려움 여러 명이 동시에 작업을 할 때, 충돌 오류 발생 여러 명이 동시에 작업을 할 때, 누가 어떤 부분을 어떻게 수정했는지 알 수 없음 분산식 버전 관리 시스템(DVCS) server에서 소스코드, 변경 이력 등 모든 정보를 통으로 받아옴 각 클라이언트들이 모두 서버의 백업본을 가짐 중앙 집중식 버전 관리 시스템에 비해 복잡하고 동기화 문제가 있음 여러 사람이 동시에 작업하는 병렬 개발이 가능 프로젝트를 복사해 로컬 환경에서 마음껏 테스트 가능 Git, Mecurial, Bazzar이 대표적 Git 소스 코드를 효과적으로 관리하기 위해 개발된 분산형 버전 관리 시..
2022.03.15 -
SCRUM(스크럼)
Scrum(스크럼) 반복적이고 점진적인 프로세스를 기반으로 한 애자일 개발 방법론 중 하나 가장 널리 사용되는 애자일 프레임워크 소프트웨어 개발보다는 팀의 개선과 프로젝트 관리를 위한 애자일 방법론 경험적 관리 기법 중 하나 구체적인 프로세스를 명확하게 제시하지 않음 개발 팀(조직)을 운영하는 효율적인 운영 방식(지침) overview Product Owner(프로덕트 오너)는 Product Backlog 생성 스크럼 팀은 Product Backlog에 있는 요구 사항을 쉽게 다룰 수 있게 작게 쪼개는 일을 하는 스프린트 planning 세션을 함. 팀은 sprint backlog를 만들고, 실행 계획을 짬 - 한 sprint의 결과물이 배포할 수준으로 나눠야 함 팀은 sprint의 기간을 설정(보통은 ..
2022.03.10 -
소프트웨어 개발 방법론 - 폭포수 방식(waterfall)
소프트웨어 개발 방법론 종류 구조적 방법론: 절차 중심의 SW개발 방법론, 폭포수 모델이 대표적 정보공학 방법론: 데이터나 모델링을 기반으로 한 프로토타입의 개발 방법론, 특징은 약함, 중요성 낮음 객체 지향 방법론: 객체는 컴포넌트화 쉽다. 사람이 참여하여 수많은 반복을 거듭하고 개발을 진행하는 반복적 개발 방법론이 주로 사용됨 컴포넌트 기반 방법론: 사용자와 개발자 간의 반복적인 커뮤니케이션을 중요하게 여기는 개발 방법론. 컴포넌트를 재사용 함으로써 개발 시간을 많이 단축. 애자일 방법론이 대표적 폭포수 모델의 구성 단계 분석: 고객의 요구 조건, 시스템 환경 등 타당성을 검토하고 요구사항에 대한 명세를 작성 설계: 요구사항 명세를 바탕으로 SW의 전체 구조와 구조간의 관계, 상세 알고리즘 등을 세부..
2022.03.10