6월, 2022의 게시물 표시

[인터뷰질문 023] assert() 함수는 무엇을 하나요?

이미지
관련주제 : Swift 난이도 : 하 디버깅 디버깅 모드에서 내 코드가 정상동작하는지 확인하기 위한 함수 입니다. 예를 들면, average = total / count 가 있을 때 count 가 0이 될 수 있다면 문제가 발생합니다. 그 상황을 디버깅 하기 위해서 물론 출력을 해도 됩니다. if count == 0 { print("0이 되었습니다") } 하지만 너무나 불편하기 때문에, assert(count != 0, "0이 되었습니다") 로 좀 더 의도를 명확히 할 수 있습니다. assert 함수를 어떻게 쓸 수 있는지는 공식 문서 를 참고하는 편이 명확합니다. 간단히 설명드리면 assert(조건, "조건문이 false 일 때 출력할 메시지") 입니다.

[인터뷰질문 022] #if 문은 언제 사용되나요?

이미지
관련주제 : Swift 난이도 : 하 코딩을 하다가 보면 자주 보던 코드인데 언제 쓰는지 정리해 보도록 하겠습니다. #if 는 컴파일 이전에 처리되는 전처리문 입니다. 즉 컴파일되기 전에 참, 거짓을 판별해서 거짓으면 컴파일이 되지 않는다는 뜻이죠. Compiler Control Statements 주로 보던 코드는 #if DEBUG , #if os 와 같은 코드였습니다. 한 번도 찾아본적이 없어서 #if 다음에는 어떤 문구가 들어갈 수 있는지 찾아보았습니다. 링크 Swift 버전이 다른 문법을 하나의 파일에서 처리하거나, 운영체제 버전이 다른 분기를 만들어 사용할 때 주로 사용합니다. 참고 : https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_conditional-compilation-block

[인터뷰질문 021] 컴파일러용 #error 지시문은 어떤 용도인가요?

이미지
관련주제 : Swift 난이도 : 하 개발을 하다가보면, 먼저 구조만 잡아두고 나중에 구현을 해야하는 경우가 종종 있습니다. 이 때 저는 주로 //TODO: 혹은 //FIXME: 를 적어놓습니다. 그러면 Xcode에서 도큐먼트 메뉴에서 시각적으로 확인 할 수 있습니다. 자주사용하던 기능이었는데, 불편한 점이 하나 있어습니다. TODO:는 문자열 찾기로 찾아갈 수는 있는데, 구현을 까먹었을 때 이를 확일할 만한 방법이 없었습니다. 왜냐하면 컴파일에 영향을 주지 않기 때문이죠. 나 자신의 실수를 막기 위해서 사용하는 안전장치가 필요했습니다. MustTODO와 같은 기능이죠. 그래서 그 뒤로는 꼭 다시 돌아와야 하는 경우에는 컴파일러용 지시문을 사용합니다. 컴파일러용 지시문 #warning("message") 와 #error("message") 를 사용합니다. 그러면 컴파일을 했을경우 경고문이나, 에러문구가 Xcode의 왼쪽 네비게이터 중 에러 쪽에서 메시지가 출력됩니다. 아 이 부분을 꼭 구현했어야 했지 처럼 컴파일에 경고를 띄워주거나, 에러를 일부러 발생시킬 필요가 있을 때 사용하면 됩니다.

개발을 시작할 때 git을 꼭 같이 시작했으면 하는 이유

이미지
개발을 시작하면 반드시 접하게되는 단어들이 있습니다. 그 중 하나는 git 입니다. 그렇다면 git을 왜 써야하고, 어느정도까지 써야하는 걸까요? 그에 대한 생각을 간단히 적어보겠습니다. git은 왜 써야 할까요? git은 크게 2가지의 이유로 사용한다고 생각합니다. 버젼관리 협업도구 그래서 우리는 우리의 코드가 잘 못 되었거나 과거의 코드로 되돌릴 때, git을 씁니다. 예를 들면, 내가 작성했던 코드가 문제가 생겼을 때 과거로 돌아갈 수 있다면 얼마나 좋을까요? 하나하나 되돌리기를 하는 것이 아니라 특정의 시점으로 돌아갈 수 있다면 나의 실수를 만회하기에 좋겠죠? 여러분의 실수를 되돌리기 위해 git의 사용방법을 익혀두세요! 다른 개발자와 협업을 해야할 때 협업의 도구로서 git을 사용합니다. 개발을 혼자하는 개발자도 있지만 많은 개발자들이 하나의 프로덕트를 만들기 위해 협업을 하고 있습니다. 서로 일할 범위를 나누고 따로 작업한 다음에 하나로 합친다면, 일을 효율적으로 할 수 있고, 결과물도 더 빠르게 만들 수 있겠죠? 생산성을 높이기 위해 git을 사용하세요! git 어느정도까지 써야하는 걸까요? 왜 써야하는지 알았으니 그러면 얼마나 써야하는지 이야기 해봅시다. 먼저 버전관리를 하기 위해서라면, commit을 꼼꼼히 하고 해당 커밋 때로 돌아가는 방법을 알면 좋을 것 입니다. 아니면 다른 사람이 작업한 내용 중 일부 혹은 내가 과거에 작업한 내용을 살리기 위한 cherry-pick 등과 같은 기능들을 알면 유용하겠죠? 다른 사람들과 협업을 하려면, git-flow는 이헤하고 사용해야 합니다. 나 혼자 git에 commit, push, pull을 한다고 git을 사용할 줄 안다고 생각한다면, 실제 협업을 하면서 많은 어려움이 있을 것 입니다. 어느 브랜치에서 개발을 해야하고, 어느 브랜치로 merge를 해줘야 하는지 알고 있어야 합니다. 더 나은 개발을 위해서 개발자로 시작하면서 git을 왜 해야하는지, 얼마나 해야하는지는 잘 공감...

Leeo Con

이미지
  Welcome to the LeeoCon. world! Just click for Drag & Drop the LeeoCon You can use several LeeoCons