분류 전체보기(68)
-
큐와 환형 큐(배열)
큐 - 선형 list에서 자료의 삽입과 제거를 각각 다른 쪽 끝에서 이루어지도록 제한한 자료구조가장 먼저 입력된 자료가 가장 먼저 출력되는 방식이다. (FIFO) ● 스택과는 다르게 큐는 2개의 포인터를 가지고 있다. (Front,Rear)● 가장 먼저 입력된 자료의 위치는 Front의 다음위치에 있다.● 가장 나중에 입력된 자료의 위치는 Rear의 위치에 있다. Queue를 배열을 이용하여 간단하게 구현한 결과 작업이나 데이터를 순차적으로 처리해야 할 때 큐를 사용하면 스택보다 효율적인 방법이다라는 생각이 들었다. 하지만 Front와 Rear의 값이 모두 증가만 하기 때문에 공간이 낭비된다. 이 코드의 실행 결과는 2,3,4,underflows가 나타난다. 4를 입력하기전에 1의 공간이 비었음에도 불..
2024.07.08 -
은닉화, 캡슐화
캡슐화 - 객체 지향 프로그래밍(OOP)에서 데이터와 그 데이터를 처리하는 메서드(함수)를 하나의 단위로 묶는 것 maker,model,color,price데이터와 그 데이터를 처리하는 call,camera,intro함수들을 한 class안에 캡슐화 시킨 모습이다. 은닉화 - 객체의 세부 구현을 외부로부터 숨기는 것 이런식으로 phone class안의 데이터 값을 넣을 수 있는데, 의도하지 않은 값들이 실수로 들어갈 수 있다.maker,model,color,price의 속성을 private로 설정하면 외부로부터 데이터를 입력,수정할 수 없게 되며, 객체의 내부를 보호할 수 있다.하지만 private때문에 제작자역시 main함수에서 바로 class로 값을 넣기는 어렵다. 그러면 어떻게 해야할까?생성자를 사..
2024.07.06 -
Distributed Git
Three major workflows● centralized workflow - 하나의 중앙 저장소를 중심으로 모든 변경 사항이 관리되고, 모든 개발자가 이 중앙 저장소를 통해 작업한다.● Integration - manager workflow - 여러 개발자가 각자 자신의 브랜치에서 작업한 후, 통합 관리자가 중앙 저장소에 변경 사항을 병합한다.●Dictator and Lieutenants workflow - 프로젝트의 주요 책임자가 있으며, 여러 부관들이 각자 브랜치에서 작업을 수행하고 이를 주요 책임자가 최종적으로 병합한다. Centralized workflow● One central hub (중앙 허브) : 모든 개발자들이 기여할 수 있는 하나의 공개된 중앙 저장소가 있다.● Multiple n..
2024.07.02 -
접근 제어 지시자
접근 제어 지시자는 구조체가 클래스로 탈바꿈하도록 돕는 문법이다. 지시자는 3종류가있다. public - 멤버에 관한 모든 외부 접근을 허용protected - 멤버에 관한 모든 외부 접근을 차단. 단, 상속 관계에 있는 파생 클래스에서의 접근은 허용private - 외부 접근뿐만 아니라 파생 클래스로부터의 접근까지 모두 차단. 클래스를 선언할 때 별도로 접근 제어 지시자를 기술하지 않으면 private로 간주 ●Private 먼저 Data 변수는 별도의 접근 제어 지시자를 설정하지 않았기 때문에 private이다. 즉, 사용자 코드에서 멤버 접근 연산자를 이용해 멤버 변수에 임의 접근할 수 없다. 그래서 main문 안에서 Data의 값을 직접 넣을 수 없다. 멤버 함수의 경우에는 private 멤버..
2024.07.01 -
Git-Remote(2)
실제로 한번 github에 원격 저장소를 이용한 버전관리를 해보려고한다. 먼저 github에 있는 원격 저장소를 불러온다.git clone 명령어를 사용했으며 형식은 git clone https://github.com/사용자명/저장소이름.git이다. 그러면 이렇게 oss2024_intro라는 파일이 생성된다. 그 다음 생성된 폴더 oss2024_intro에 들어가서 checkout을 해준다.(intro6브랜치에서 작업하기 때문에 intro6에 checkout해준다.)그 다음 oss2024_intro 폴더 안에 intro.txt에 들어가면 이렇게 이름과 학과를 적을 수 있는 창이 나온다. 자신의 이름과 학과를 입력하여 저장한 후 git의 상태를보면 수정되었다는 문구를 확인할 수 있다. 그 다음 커밋을..
2024.07.01 -
Git-Remote(1)
지금까지는 개인PC에서 버전을 관리하는 Local VCS과정을 설명하였다. 이제는 개인PC가 아닌 인터넷이나 네트워크 어딘가에 있는 저장소에 버전을 관리하는 Remote 저장소에 대해 설명하려고 한다. Git에서 원격 저장소(Remote Repository)는 중앙 서버에 호스팅된 저장소로, 여러 개발자들이 협업하여 프로젝트를 관리할 수 있게 해준다. 원격 저장소는 로컬 저장소와 달리 인터넷을 통해 접근할 수 있다. ● 원격 저장소 추가git remote add 명령어를 사용한다. 여기서 origin은 원격 저장소의 별칭으로, 기본적으로 사용되는 별칭이다. ● Fetch/Pull/PushPull - 원격 저장소의 최신 변경 사항을 로컬 저장소로 가져오는 작업을 풀이라고 한다. 풀은 git pul..
2024.07.01