본문 바로가기

공부73

[CS] Git과 GitHub 이번 시간에는 git과 gitHub에 대해서 알아봅시다. 그전에 앞서서 알아야 할 개념들이 있습니다. 버전관리 시스템 버전관리 시스템이란거는 우리가 ppt같은거 만들잖아요? 그러면 그걸 컨펌받을때 이전버전이 더 나았다라는 말을 들으면 좀 화나겠죠? 하지만 그걸 쉽게 하는게 뭐다? 바로 버.전.관.리. 버전관리 시스템을 쓰시면 이전에 만들고 특정 버전을 만들때마다 이력을 만들어놓으면 간단하게 이전버전으로 돌아갈수 있습니다. 왜냐하면 내가 여태 만들었던 각 버전에 대한 이력들이 다 살아있으니까요. 반대로 합칠때도 마찬가지겠죠? 누가 자료를 "어 이거 빠졌다." 하면서 계속 추가 하다 잘못 만들고 하면 좀 힘들겠죠? 그래서 아래같은걸 어찌됐건 막아주기 위한게 버전관리다~ 라고 생각하시면 됩니다. 어쩌구저쩌구_.. 2023. 11. 28.
[Mac] 애플 실리콘 맥에서 Homebrew 설치 및 환경변수 설정 1. 설치 공식 사이트를 들어가면 바로 메인에 나와있습니다. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 위의 명령을 터미널에 입력합니다. 설치가 시작되고 잠시 뒤 return이나 enter를 눌러 계속하겠냐고 물어보는것과 비밀번호를 요구합니다. 전부 입력하고 나면 순조롭게 설치가 됩니다. 2. 환경변수 설정 끝나고 난뒤에 path를 추가로 설정해 줘야됩니다. 터미널에서 아래 두개의 명령어를 입력합니다. echo "eval "$(/opt/homebrew/bin/brew shellenv)"" >> ~/.zshrc source ~/.zshrc 아래 명령줄을 터미널에 입력하고 정상적으.. 2023. 11. 27.
[CS] ADS(App Define Statement)란? 우리가 어떤 앱이던(어플리케이션; Application; App) 개발할때 처음에 클라이언트가 있을겁니다. 그럼 그 클라이언트와 함께 이것저것 이야기를 나누며 분명 특정 결론에 도달할겁니다. ADS는 이때 나오는, 처음에 만들어지는 것중에 하나로 아래와 같이 정의합니다. An App Definition Statement (ADS) is a single sentence that sums up what the app does and who the intended audience will be. 해석하면 다음과 같습니다. ADS(앱 ​​정의문)는 앱의 기능과 대상 사용자가 누구인지 요약하는 단일 문장입니다. 맞습니다. 해당앱의 기획을 한 문장으로 정리해낸 것 입니다. 그렇기 때문에 당장 이 한문장이 해당앱의 .. 2023. 11. 22.
[스위프트] CocoaPods 제거하기 프로젝트가 뭔가 꼬인것같아 cocoapods까지 확실히 날려버리고 다시 시작해보려합니다. 그래서! 이번 글에서는 cocoapods를 제거하는 방법을 알아보겠습니다. 1. terminal을 켭니다. 2. 해당 프로젝트 경로로 갑니다. (참고로 해당 경로를 복사하는 방법은 cmd + option + c 입니다. 붙여넣기는 똑같이 cmd + v 입니다.) 3. 아래 명령들을 순서대로 입력합니다. sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod cache clean --all rm Podfile 4. 해당 프로젝트 폴더안에 Podfile.lock과 프로젝트 이름.xcworkspace를 지웁니다. 5. xcode로 프로젝트를 열.. 2023. 11. 10.
[스위프트] 내비게이션바 back button 수정하기 이번에는 간단한 토막글 정도 쓰고 넘어갈겁니다.(안써놓으면 까먹을라) 내비게이션 컨트롤러를 쓰면서 다음 뷰로 넘어가면 뒤로가기 버튼이 좌상단에 위치하죠. 그때 당연하다면 당연하지만 그곳엔 Back이라고 써있습니다. 하지만 우리는 한국인... 이것을 한국어로 써야하지 않겠습니까... 이 Back버튼 친구는 넘어오기 전에 있던 navigation controller에 속해있다합니다. 넘어간 뷰에 나오니까 당연히 넘어온 뷰에서 수정하려고 했지만 아니였답니다? 바로 이전에 있던 뷰에 속해 있기 때문에 이전 뷰에서 수정해줘야 하는거죠. 1. prepare()메소드를 override해줌으로 Back버튼을 다음에 올 뷰컨트롤러에 push하기 override func prepare(for segue: UIStorybo.. 2023. 10. 28.
[Swift] UIKit TabBar 숨기기 및 보이기(feat. animation) 일단 이글의 발단은 이전글인 탭바와 네비게이션뷰 동시에 적용하기 에서 시작됩니다. 현재 만들고 있는 앱에서 탭바와 네비게이션뷰를 동시에 구현하는데에는 성공했습니다.하지만 버튼을 눌렀을때 다른 뷰컨으로 스토리보드를 전환하면서 탭바가 남아있더라구요?그래서 탭바를 숨기는 방법을 알아봤습니다. 탭바 숨기기매우 쉽습니다. 스토리보드상에서도 옆에 Inspector에서 할수있다고 합니다그렇지만 우린 항상 숨겨놓고 싶은게 아니니까,다시말해 특정 상황에서만 작동하도록 하고싶으니까 코드로 적용해봅시다.tabBarController?.tabBar.isHidden = true간단합니다. 위의 코드를 실행하고싶은 메소드안에 적으면 해당 메소드가 실행될때 바로 숨겨지겠죠? 근데 이제 애니메이션을 곁들인이제 이게 좀 복잡하게 느껴.. 2023. 10. 27.
[스위프트] UIKit TabBar, NavigationController 한번에 적용하기 현재 만들고 있는 프로젝트의 초기 단계에서 일단은 ui를 구현하고 있는데탭바와 내비게이션 컨트롤러를 한 번에 쓰고 싶더라고요 그래서 뻘짓 잠깐 하고 바로 검색해 보니 나오더군요tabBarController를 적용한 뒤 navigationConrtroller를 적용하면 됩니다. 1. 뷰컨트롤러를 선택합니다.2. Embed In을 누르고 Tab Bar controller를 누르고 그다음 다시 적용하려는 뷰컨트롤러를 선택합니다.3. 마지막으로 Navigation Controller를 눌러 적용시킵니다.그러면 이렇게 초기 진입점이 Tab Bar Controller에 생기고 그다음 Navigation Controller에 연결되고 그게 다시 View Controller에 연결되는 것을 볼 수 있습니다. 여기서 탭.. 2023. 10. 26.
[스위프트] ViewController의 생명주기 이번에는 우리가 앱을 만들 때 가장 많이 사용하는 ViewController(이하 뷰컨트롤러)의 생명주기를 알아봅시다. 모든 뷰컨트롤러는 생명주기를 같는데요, 생명주기라 하면 뭐지 싶을수도 있지만 쉽게 말해 생성부터 사라지는 때까지를 통칭 생명주기라 합니다. 생명주기는 크게보면 생성, 화면에 나옴, 사라짐 이렇게 세가지 이고 이것을 세분화해서 총 8가지로 나눕니다. 그리고 이들은 각각 메소드로 쓰이기도 하죠. 그렇다면 각각의 생명주기가 어떻게 다른지 한번 알아봅시다. 0. init() init은 간단합니다. 이 뷰 컨트롤러(클래스)가 처음에 생겨날 때(뷰 컨트롤러의 객체가 생성될 때) 호출되는 메소드입니다. 이때는 아직 뷰가 생성되기 전이라 뷰 요소들에 접근할 수 없습니다. (근본이라 0부터 시작했습니다.. 2023. 10. 25.
[스위프트] MVVM 패턴 기존의 MVC패턴 MVVM패턴은 앞서 나왔던 MVC패턴과 같은 디자인 패턴의 한 종류이다. 우리가 앞서 알아봤던 MVC패턴은 Model(데이터), View(화면), Controller(제어) 이렇게 세가지의 구성으로 이루어져 있다. 하지만 실제로 작성해보면서 알겠지만 model을 제외한 view와 controller가 한개의 파일안에서 전부 이루어지고, 또한 이 둘이 매우 긴밀하게 접해있다. (물론 최대한 안그렇게 작성할 수 있겠다만 대부분은 둘이 서로 이미 어떻게 동작하는지 아는 것처럼 작성이 된다.) 그렇다 보니 MVC패턴은 controller가 덩치가 커지게 되고(데이터 받아오랴, 뷰 뿌려주랴, 내부 로직 돌리랴..) Massive View Controller라는 별명까지 생기게 된다. 그래서 이를.. 2023. 10. 17.
728x90