일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 제앱소
- apple developer academy 후기
- SWIFT
- 숭실대
- 데이터베이스 공부
- 애플 디벨로퍼 아카데미 21주차 회고
- 애플 아카데미 후기
- Swift 디자인패턴
- Swift 기능
- useReducer
- 애플 디벨로퍼 아카데미
- ObservedObject
- Swift 문법
- sqoop
- Apple Developer Academy @ POSTECH
- 네이버 치지직
- react
- global soop
- 데이터베이스
- iOS 개발 오류
- 운영체제
- 네이버 부스트캠프
- StateObject
- swift문법
- 소프트웨어분석및설계
- 앱 비교 프로젝트
- ObservableObject
- 애플 디벨로퍼 아카데미 후기
- 치지직
- OS
- Today
- Total
목록전체 글 (290)
사과하는 제라스
inout이란 키워드도 지난번 부스트캠프 다른 캠퍼 분 코드 컴파일링 시 본 적이 있다. 무슨 기능인지 그 당시엔 넘어갔지만 이번에 정리하고 가고자 한다. 생각보다 쉬운 개념이었다. import UIKit // 여기서는 name을 직접 수정하는 일이 없는데, 만약 수정하려고 하면 에러가 뜬다. // 왜냐하면 매개변수는 기본적으로 let으로 설정되어 있기 때문이다. func sayName(_ name: String){ print("안녕?! 난 \(name) 라고 해") } // 이렇게 inout 키워드를 매개변수의 type 앞에 적어주면 해당 매개변수의 값을 메소드 내에서 변경이 가능하다. func sayHi(_ name: inout String){ name = "개발하는 " + name print("안녕..
Swift에는 여러 Collection을 제공해주는데 그 중 하나가 Dictionary 타입이다. 이 딕셔너리 타입을 초기화를 할 때는 어떻게 하는지 정리해두고자 한다. let phoneCount:[String:Int] = [:] let phoneCount:[String:Int] = [String:Int]() let phoneCount = [String:Int]() let phoneCount = Dictionary()
일단 클로저는 내가 부스트캠프를 하면서 배웠던 것 중 가장 중요한 Swift 문법 중 하나라고 생각했다. 특히, 이것을 전혀 모르고 있었던 것이 내가 다른 캠퍼들의 코드를 이해하는데에 자꾸 걸림돌이 되었었다. 그래서 이번엔 클로저를 정리해보도록 하겠다. 먼저 내가 이해한 클로저는 사실 메소드와 비슷한 개념이라고 보았다. 일단, 클로저를 사용하는 예제들을 위주로 보자. import UIKit // String을 반환하는 클로저 let myName : String = { // 여기서 return되는 값이 myName으로 들어가진다. return "제라스" }() print(myName) // String을 받아서 다른 이름으로 return 하는 클로저 let playingName : (String) -> S..
최근 부스트캠프를 하면서 정말 다른 언어에서 자주 써봤지만 가장 많이 헷갈렸던 타입이 열거형(enum)이었다. 이에 대한 활용 정리가 필요할 것 같아서 정리해본다. // 이렇게 여러개의 case로 나눠서도 작성할 수 있고, enum Country { case Seoul case Incheon case Daegu case Busan } // 이렇게 한번에 한 줄로 작성할 수도 있다. enum Country { case Seoul, Incheon, Daegu, Busan } 근데 만약에 내가 각 Case에 대해 값을 배정해두고 싶다면, // 이렇게 각 case에 대해 값을 배정해둘 수 있다. enum Country: Int { case Seoul = 1 case Incheon = 2 case Daegu = ..
나는 왜 시작을 했는가? 이 질문에 나는 새로운 것에 열망이 있었기 때문이라고 얘기하고 싶다. 하지만 끝난 지금 이 시점 나는 새로운 것을 터득하고자 했다고 하기엔 다른 것을 많이 얻었다. 그것들이 내 목표를 넘어서는 수준이었다. 재작년 나는 단순히 앱을 만들어보고 싶다는 욕심에 고등학교 친구들과 사무실을 빌려 함께 동고동락하며 React Native 공부를 하고 앱을 만들어보기 시작했다. 그렇게 만들어낸 기능도 몇 없는 MVP에도 우리는 행복해했다. 그렇게 거진 2년을 나는 React Native를 주 스택으로 갖고서 인턴도 해보고 프로젝트들에도 참여를 해보았다. 하지만 매번 느끼는 것은 라이브러리에 대한 심한 의존을 유도하고, 제대로 된 보수가 안되는 스택이란 걸 많이 느꼈다. 결론적으론, 두가지 서..
앞으로의 것에 대한 욕심보다는 이전의 것에 대한 보유에 욕심을. 이번 주로 벌써 3주차가 끝났다. 이번 주는 꽤나 힘든 한 주였지만 이번을 통해 확실히 깨달은 것은 '뭔가를 더 배우려는 욕심'보다는 '배웠던 것을 써먹는 것에 대한 욕심'을 더 내는게 나 스스로가 성장을 이룰 수 있다는 것이다. 매번 초심자로서 모든 것들이 새로워 보일 때가 많고 그것들을 습득하고자 욕심을 내곤 하는데 사실 그렇게 욕심낸 것을 직접 내 것으로 만들어 적용하는 데에도 꽤나 시간을 써야 한다. 그래야 내가 무엇을 보완했구나를 확실히 짚고 넘어갈 수 있고 다음에 비슷한 작업을 할 때 반사적으로 코드를 작성할 줄 아는 능력이 생긴다. 이전 것을 모른다면 계속 배우려는 것은 빈 껍데기의 의미없는 욕심일 뿐이다. 이번 주는 이 점을 ..
부족함에서 오는 행복 이번주는 행복의 연속이었다. 스위프트보단 수입푸드를 더 잘 아는 듯한 내 모습에서 위기감을 계속 느꼈던 지난주와 비교해서 미션을 더 잘 푼 것도 아니고, 학습정리를 완벽하게 해낸 것도 아니었다. 여전히 부족함을 느끼고 있었고 잠도 편히 자지 못하는 나날이었다. 이런 나날들이었음에도 내게 행복을 준 것은 2가지였다. 저는 꼴찌입니다 지난주 7기 수료생 분과의 밋업시간은 내게 가장 큰 변화를 준 트리거였다. 그 분의 경험이 내게 힘을 실어주었고 새로운 시각으로 캠프생활을 할 수 있도록 만들었다. 이번주는 최대한 부끄럼없이 슬랙 활동을 해보고자 했다. 미션 해결 중 어려움이나 질문이 있다면 적극적으로 슬랙에서 질문을 하거나 쓰레드로 댓글을 쓰며 부족한 점들을 메꾸어 보았다. 지난 주 써두..
기대를(사실은 걱정도) 많이 했던 부스트캠프 작년 6월즈음 교내 게시판에 붙었던 부스트캠프 공지를 보았다. 많은 성장을 하는 것이 주 목적이었기에 너무 지원하고 싶었지만 앱을 제대로 만들어본 경험도 부족하고 아직 iOS를, Swift를 다뤄본 적이 없었다.(알고리즘 공부도...🥲🥲) 휴학을 하기에도 복학한지 얼마 안된 시점이라 내년으로 미루게 되었다. ...... 그러고서 시침이 700바퀴가 돌았을 즈음 2023년 네이버 부스트캠프 공지가 떴다. 열심히 자소서를 준비한 후 1차 코테, 2차 코테까지 통과하면서 너무나도 바라던 합격 목걸이가 목에 걸어졌다. 그렇게 시작된 부스트캠프는 기대반 걱정반이었다. 주변에 이전 기수의 캠퍼들이 있었기에 생활에 대한 얘기를 물어보자 "겪어보면 안다. 아니, 힘들다.",..
다음은 완전 맥북 포맷 후 iterm2 설치, oh-my-zsh 설치 이후 iterm2 터미널을 꾸민 후 상태의 초기 ~/.zshrc 파일이다. 앞으로 추가될 내용들이 무엇인지 항상 주석을 달며 팔로우할 예정이다. # If you come from bash you might have to change your $PATH. # export PATH=$HOME/bin:/usr/local/bin:$PATH # Path to your oh-my-zsh installation. export ZSH="$HOME/.oh-my-zsh" # Set name of the theme to load --- if set to "random", it will # load a random theme each time oh-my-z..
너무 많은 에러로 인해 결국 새로 맥북을 포맷하고 처음부터 다시 설정하기로 마음 먹었다. 슬프다... 이번엔 차근차근 천천히 내가 설치한 것이 무엇인지, 그 순서는 무엇인지, 코드는 무엇인지, 어떤 기능인지 등을 짚고 넘어가보자 1. Xcode 설치 설치에 시간이 많이 걸린다. 이건 App store보단 Apple Developer 사이트에서 설치하는게 빠르다고 들어서 그렇게 진행했고, 14.3 Xcode에서 문제가 있단 걸 이번에 업데이트했다가 크게 데여서 그냥 14.2를 설치했다. 이때 내리다 보면 Command Line Tools for Xcode 14.2 라는 것도 있다. 이것도 설치해주도록 하자. 2. iTerm2 , oh-my-zsh 설치 어디서 들은지는 모르겠지만 iTerm2가 기존 맥북의 ..