분류 전체보기

    [자료구조] 연결 리스트(Linked List)는 무엇일까?

    오늘은 자료구조 중 하나인 "연결 리스트"에 대해서 정리해보겠습니다! 자료구조, 알고리즘 공부를 꾸준히 해야 하는데 손이 안 가서 큰일이네요.. ㅠㅠ 연결 리스트(Linked List)란? 연결 리스트(Linked List)는 각 노드가 '데이터'와 '포인터'를 가지고 한 줄로 연결되어 있는 자료구조이다. 위에서 노드에는 '데이터'와 '포인터'를 가지고 있다고 하였는데 포인터는 무엇일까? 검색해본 정의로는 "포인터는 프로그래밍 언어에서 다른 변수, 혹은 그 변수의 메모리 공간 주소를 가리키는 변수를 말한다." 라고 쓰여있다. 좀 더 이해하기 쉽도록 말하면 "다음 노드의 주소값을 가지며, 그다음 노드와 연결을 담당해주는 역할"이라고 생각하면 될거같다. 참고로, 연결 리스트에는 단방향, 양방향 연결 리스트 ..

    CI/CD란 무엇일까?

    오늘은 CI/CD에 대해서 작성해보겠습니다. 앞으로는 글을 작성하는데 편한 글씨체로 작성할 생각입니다 :) CI/CD란? CI/CD는 개발자라면 한 번쯤은 다들 들어봤을 만한 단어일 것이다. CI/CD는 애플리케이션 개발 단계부터 배포 때까지의 모든 단계를 자동화를 통해서 좀 더 효율적이고 빠르게 사용자에게 빈번히 배포할 수 있는 것을 말한다. CI/CD의 개념만을 두고 보자면 자동화와 직접적으로 관련이 있지는 않다. 하지만 그럼에도 자동화라는 키워드는 CI/CD라는 단어에 거의 항상 따라붙는다. 또한 CI/CD는 DevOps 엔지니어의 핵심 업무라고 불리기도 한다. CI (Continuous Integration) CI (Continuous Integration)는 "지속적인 통합"이라는 의미이다. 애..

    [Xcode] 코드 자동 정렬(Re-Indent), 단축키

    코드를 작성하시다 보면 코드가 너저분할 때가 있거나, 복사 붙여 넣기를 하다 보면 들여 쓰기가 잘 안되어있을 경우가 있을 겁니다. 그래서오늘은 코드를 자동으로 정렬하는 방법을 정리하겠습니다. 😤 방법은 매우 쉽습니다. 위의 사진과 같이 "Editor" -> "Structure" -> "Re-Indent"를 클릭해주시면 자동 정렬이 됩니다. (사진 오른쪽에 쓰여져있듯이 단축키는 control + i 입니다.) 하지만, 저 단축키를 한다고 전체 코드가 정렬되는 것은 아닙니다. 그러면 어떻게 해야 할까요? 🧐 자동 정렬을 원하는 부분이 있다면 원하는 부분을 드래그해준 후, 위의 순서대로 Re-Indent를 눌러주거나 control + i 단축키를 사용해야 자동 정렬이 됩니다. 그리고 어느 한 부분이 아닌, 한..

    [오늘의 Swift 지식] In-Out이란 무엇일까?

    In-Out은 왜 사용하는 것일까? C, C++, Python, Java 등의 언어에서 함수의 파라미터는 "변수"로 사용됩니다. 그렇다면, Swift에서도 함수의 파라미터는 변수일까요? 답은 그렇지 않습니다. Swift에서 함수의 파라미터는 let 상수(Constant)로 사용되며, 당연하게도 상수인 인자 값을 변경하려고 시도하면 컴파일 에러가 발생합니다. 그렇다면, 메서드 내에서 인자값을 변경하고 원본 변수에도 영향을 주어서 그 변수에서 벗어나더라도 값이 유지가 되게 하려면 어떻게 해야 할까요? 🤔 위의 질문과 같이 인자값을 변경해주기 위해서는 함수 안에서 지역변수의 선언을 통해 값을 대입해주는 과정이 필요합니다. 하지만, 그 값은 함수를 벗어나면 사라지기 때문에 그 값을 유지시켜주기 위하여 in-ou..