[오늘의 Swift 지식] In-Out이란 무엇일까?
·
📌 Swift
In-Out은 왜 사용하는 것일까?C, C++, Python, Java 등의 언어에서 함수의 파라미터는 "변수"로 사용됩니다. 그렇다면, Swift에서도 함수의 파라미터는 변수일까요? 답은 그렇지 않습니다. Swift에서 함수의 매개변수는 기본적으로 변경할 수 없는 값(상수처럼 동작)으로 처리됩니다.즉, 함수 내에서 매개변수의 값을 직접 수정하려고 하면 컴파일 에러가 발생합니다. 그렇다면, 메서드 내에서 인자값을 변경하고 원본 변수에도 영향을 주어서 그 변수에서 벗어나더라도 값이 유지가 되게 하려면 어떻게 해야 할까요? 🤔 그럴 때 사용하는 것이 바로 inout 매개변수입니다. 보통 함수 내부에서 전달받은 값을 다른 변수에 저장해두고 처리하는 방식으로도 작업할 수 있지만, 이 경우 함수가 종료되면 값이..
[Git] Github Personal access Token 생성/변경. + 403 에러 해결 방법
·
⚙️ Git
오늘은 평소와 다름없이 공부한걸 TIL 하려고 github에 push를 하려고 하였는데 에러가 뜨면서 push가 안 되는 일이 생겼습니다. 아래와 같은 오류가 났는데요. remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information. fatal: unable to access 'https://github.com/yagi4168/TIL...
[오늘의 Swift 지식] 전달인자(Argument)와 매개변수(Parameter)
·
📌 Swift
안녕하세요:) 오늘은 전달인자(Argument)와 매개변수(Parameter)에 대해 정리하겠습니다.   아래의 코드는 매개변수 이름과 레이블의 표현 방식입니다.  띄어쓰기를 하다가 조금 헷갈릴 수 있다고 생각이 들어서 띄어쓰기 부분에 _로 표시해 두었으니 참고해주세요 :)func 함수 이름(전달인자_레이블 매개변수_이름: 매개변수_타입, ...) -> 반환_타입 { 실행_구문 return 반환_값} 위의 예시만 봐도 알 수 있을 거 같지만, 아래의 예시 코드를 보면서 전달인자(Argument)와 매개변수(Parameter)에 대해 조금 더 풀어서 설명을 해보겠습니다.func add(_ a: Int, _ b: Int) -> Int { return a + b}add(10, 5) // add..
[오늘의 Swift 지식] if let과 guard let의 차이는?
·
📌 Swift
Optional Binding을 아시는 분들은 if let을 한 번쯤은 보셨을 겁니다.오늘은 Optional Binding을 사용할 때 유용한 if let과 guard let에 대해 알아보겠습니다.   guard let과 if let은 공통적으로 옵셔널 바인딩이라는 특징을 가지고 있습니다. Optional 타입은 값이 있을 수도, 없을 수도 있는 변수를 표현할 때 사용됩니다. 하지만 안전하게 값을 사용하려면 Optional Binding을 통해 Unwrapping해야 합니다. 이럴 때 안전하게 값을 추출하기 위해 사용하는게 guard let과 if let입니다.  if let이란?if let은 성공시와 실패 시 2가지 경우로 나눠서, 두 분기 모두에 우리가 원하는 코드를 작성해줄 수 있는데요.값이 있을 ..
[오늘의 Swift 지식] Optional Binding이란? 🧐
·
📌 Swift
이 글을 읽기 전에 Optional에 대해 자세히 모르시는 분은이 글을 먼저 읽고 오시는 것을 추천드립니다. 😊 옵셔널 바인딩(Optional Binding)이란?Optional Binding은 Optional 타입으로 선언된 변수에 값이 존재하는지 확인하고, 안전하게 값을 추출하는 기법입니다. 옵셔널 바인딩은 if let 또는 if var 구문을 사용하여 옵셔널 값을 안전하게 언래핑(Unwrapping) 할 수 있습니다. 옵셔널 값이 존재하면 if 구문 내에서 해당 값을 사용할 수 있으며, 값이 nil이면 if 구문이 실행되지 않고 건너뛰게 됩니다. 글만으로는 부족하니, 아래 코드를 보면서 보도록 할게요 😋if let name = optionalName { print(name) // optio..
[자료구조] 스택(Stack)과 큐(Queue)에 대해서 알아보자!
·
❕Data structure
📌 스택(Stack)이란 무엇일까?   스택(Stack)은 후입선출(LIFO, Last In First Out) 방식으로 동작하는 선형 자료 구조입니다.위의 사진과 같이 데이터가 차곡차곡 쌓아 올리는 형태이며, 가장 마지막에 삽입된 데이터가 가장 먼저 삭제되는 구조를 가지고 있습니다. 간단한 예시로는 책상에 책을 쌓아두는 것과 포개 둔 일회용 종이컵을 하나씩 꺼내는 방식을 떠올리면 이해하기 쉬울 것 같네요 😋 스택에서는 push 연산을 통해 새로운 데이터를 top 위치에 삽입하고, pop 연산을 통해 top 위치의 데이터를 제거할 수 있습니다.데이터는 'top'을 통해서만 접근 가능하며, 중간에 있는 데이터를 직접 수정하거나 삭제할 수 없습니다. 스택(Stack)의 사용 사례웹 브라우저 방문기록 (뒤..