Programming310 [Data Structure] 리스트 (List) 1. 리스트 리스트는 자료(데이터)를 순서대로 나열한 자료구조 입니다. 순서대로 나열되어있다는 점 때문에 순차 자료구조라고 부르기도 합니다. 리스트에는 선형 리스트와 연결 리스트 두 가지가 존재합니다. 두 가지는 순서대로 자료가 나열되어있다는 점은 같지만 다음과 같은 차이점이 있습니다. 선형 연결 구현 배열 포인터 메모리 저장 선언시 필요한 메모리 크기만큼 할당한다. 할당된 메모리의 시작 위치 부터 빈자리 없이 연속해서 저장한다. 노드 단위를 갖는데, 이 단위로 메모리를 할당한다. 저장 위치를 상관하지 않고 노드의 필드에 노드가 가르키는 다음 노드의 주소를 기록한다. 삽입/삭제 연산 연산 후에도 자료가 빈자리 없이 순서대로 저장된다. 이때 자료의 물리적 순서와 논리적 순서가 일치한다. 연산 후에 논리적 .. 2021. 6. 24. [Git] 커밋 메세지의 수정 커밋 메세지를 작성하다보면 잘못된 메세지를 남긴다거나 오타가 발생해서 메세지를 수정해야하는 상황이 등장합니다. 그런 상황을 위해 커밋 메세지를 수정하는 기능도 지원합니다. 1. 가장 최근 메세지만 수정하기 첫 번째 방법은 가장 최근에 커밋된 메세지만 수정하는 명령입니다. git commit --amend 이 명령을 이용하면 다음과 같이 vim창이 뜹니다. 이때 첫 번째 줄이 기존의 커밋 메세지 이므로 저 부분을 수정하시면 됩니다. 수정 후 git log 명령으로 변경된 커밋 메세지를 확인할 수 있었습니다. 2. 이전에 커밋했던 메세지들 수정하기 최신은 commit 명령의 옵션으로 간단하게 설정할 수 있었습니다. 그렇다면 최신이 아닌 그 이전의 커밋 메세지 수정은 어떻게 할까요. 바로 rebase 명령으로.. 2021. 6. 24. [Data Structure] 자료구조 어느정도 프로그래밍을 하다보면 만나게 되는말 '자료구조'. 자료구조는 컴퓨터 공학에서 중요한 개념을 가지고 있기 때문에 다시 정리해보고 공부해 보고자 하여 카테고리를 신설하게 되었습니다. 물론 카테고리는 자료구조로 되어있긴 하지만, 자료구조를 하다보면 따라오는 부분이 알고리즘 부분이기도 해서 자료구조와 알고리즘을 함께 소개하게 되지 않을까 합니다. 1. 자료구조 소개 자료구조는 자료(데이터)를 효과적으로 효과적으로 표현하고 효율적인 저장과 처리하도록 하는 논리적 구조를 이야기 합니다. 자료구조에는 선형, 비선형, 파일, 단순구조가 존재합니다. 선형구조 리스트 스택 큐 비선형구조 트리 그래프 파일구조 순차파일 색인파일 직접파일 단순구조 정수 실수 문자 문자열 시중에 나와있는 책이나 여러 글들을 보면 선형구.. 2021. 6. 22. [Git] 커밋 취소 커밋하는 법까지 배웠었습니다. 그렇다면 스테이징 때 처럼 커밋도 취소할 수 있지않을까요? 당연히 가능합니다. 이번에는 커밋을 취소하는 방법을 알아보도록 하겠습니다. 이 포스트들은 알려드린대로 처음부터 사용한 파일로 이어나가며 실습하겠습니다. 우선 지난 포스트인 '.gitignore'파일 소개에 따르면 현재 'test01.txt' 파일의 내용은 다음과 같을 것 입니다. 이 내용을 다음과 같이 수정하고 시작하겠습니다. 1. 최신 커밋만 취소하기 - git reset 우선 vim으로 다음과 같이 한 줄을 추가 하고 'git commit -am'명령으로 커밋까지 완료 해보겠습니다. 이렇게 커밋이 완료되고 방금한 커밋이 최신 커밋이 됩니다. 이때 다음과 같은 명령으로 최신 커밋만을 취소할 수 있습니다. git r.. 2021. 6. 22. [Git] .gitignore 스테이징하고, 커밋하는 방법을 알아봤습니다. 이렇게 깃을 앞으로 활용하다보면 원격저장소에 올리기도 하고 버전 관리가 필요하지 않은 파일들이 생기기도 합니다. 따라서 이들을 관리해주는 .gitignore 파일에 대해서 알아보겠습니다. 1. .gitignore란? .gitignore 파일는 서론에서 간략히 설명했듯이, 버전 관리가 필요 없어서 원격 저장소에 업로드 하거나 스테이징/커밋할 필요가 없는 폴더 혹은 파일들을 제외시키는 파일입니다. 대표적으로는 인텔리제이 계열 개발환경을 이용하신다면, 로컬 개발환경의 세팅을 담은 .idea 파일이라던가 개인환경에서 적어둔 개인적인 메모 등이 그 대상이죠. 이런 파일/폴더들을 Git의 관리 대상에서 제외 시키기 위해 존재하는 파일이 .gitignore입니다. 2. ... 2021. 6. 21. [Git] 변경 사항의 확인 커밋까지 완료했습니다. 우리가 버전 관리를 위해 깃을 사용하는 이유에서는 변경 내용을 확인하기 위해서라는 점이 있었습니다. 그래서 이번엔 커밋된 파일의 변경 사항을 확인하는 방법을 알아보려고 합니다. 1. diff diff는 변경된 파일과 리포지토리의 저장된 파일의 내용에서 무엇이 수정되었는지를 알려주는 명령입니다. 실습에 이용한 test01.txt를 계속해서 이용하겠습니다. vim test01.txt 명령을 통해 txt파일을 수정합니다. 저는 두 번째 줄에 'new line'이라는 문장을 추가했습니다. 이렇게 수정한 후 저장하고 git status 명령을 통해 스테이징되지 않았다는 파일의 상태를 확인할 수 있습니다. 이 상태에서 git diff명령으로 변경사항을 확인할 수 있습니다. git diff +.. 2021. 6. 21. 이전 1 ··· 29 30 31 32 33 34 35 ··· 52 다음 300x250