본문 바로가기

분류 전체보기30

프로그래밍 공부 동기부여 영상들 개발 공부를 하는 사람이라면 유튜브 알고리즘에 한번쯤은 걸렸던 영상들이겠지만 볼 때마다 좋은 동기부여가 되는 것 같아서 리스트업을 해봤다. - 인터랙티브 웹 포토폴리오로 유명하신 인터랙티브 디벨로퍼님의 영상. 나를 성장시켜줄 회사는 없다는 말이 인상깊었다. 타인이 떠먹여주는 밥으로 수동적인 공부를 하려했던건 아닌가 반성하게 됐다. 좋은 개발자의 기준을 '문제 해결의 집요함'과 '깨끗한 코드 작성'으로 정리해주셨다. 개발 역량이 훌륭한 개발자가 되는 것도 중요하지만, 그것을 넘어 동료들에게 안정감을 주고 함께 일하고싶은 사람이 되고싶어졌다. "하루하루를 열심히 산 뒤에 전체적인 인생은 제 멋대로 살고, 그때 그때 들어온 것에 대해서는 하고싶은 것을 다 하자." - "하루에 딱 4시간만 하자." 몰입도 중요.. 2021. 7. 16.
첫 PR 기본 연산자 (Basic Operators) jusung.gitbook.io Swift 문법 기본이 잡혀있지 않다는 생각에 jusung님이 gitbook으로 정리해주신 스위프트 가이드라인 번역본을 보면서 공부를 하고있다. 문서를 보면서 공부하다보니 수정해야 할 부분들이 몇 개 보여 PR을 해보기로 결심했다. 첫번 째로 "리터럴을 이용한 배열의 생성"에 오타가 있어서 수정을 하려 했는데, 깃허브에 올라온 코드에서는 수정이 이미 되어있었다. 아마 PR들을 먼저 받아놓고 수정해야할 PR들을 merge한 후 한꺼번에 배포하시는 것 같았다. 두번 째는 주석에 관련된 내용이었다. 문서 규칙에 따르면 프린트문 다음 주석은 출력 결과를 Prints "출력 결과" 형식으로 달아놓는데, 해당 주석에는 출력 결과에 대한 번.. 2021. 7. 12.
[Swift] 문자열 관련 프로퍼티와 메서드 스위프트 공식 문서 번역본을 참고하여 기본적인 문자열 프로퍼티와 메서드를 정리해보았습니다. :) 1. 문자열 초기화 메소드 다른 언어들과 마찬가지로 Swift 또한 스트링 타입과 캐릭터 배열이 호환됩니다. 이를 확인하기 위해 먼저 상수 타입의 catCharacters 캐릭터 배열을 선언 후 한 글자씩 할당해줍니다. 이후 상수 타입의 catString에 문자열 초기화 메소드인 String(스트링 혹은 캐릭터 배열)을 할당해줍니다. 그리고 나서 carString을 출력했을 때 "Cat!🐱"이 출력되는 것을 확인할 수 있어요. let catCharacters: [Character] = ["C", "a", "t", "!", "🐱"] let catString = String(catCharacters) print(.. 2021. 7. 12.
[Xcode] 화면 뒤집기 기기를 왼쪽으로 회전하거나 오른쪽으로 회전했을 땐 기기의 방향에 따라 화면 방향도 회전하지만, 화면이 뒤집어졌을 때에는 적용되지 않았다. 화면이 거꾸로 되었을 때에는 기본 세로 화면이 나오도록 적용하고 싶었다. 프로젝트 생성시 가장 처음에 나오는 Upside Down 버튼을 누르면 이를 해결할 수 있다. 짜잔 👀 참고 [iOS] 화면 방향 전환 (feat. Override) 아이폰의 방향에 따라 화면을 전환하는 방법 velog.io 2021. 6. 21.
[iOS] Height is ambiguous 경고 스토리보드에서 이미지 뷰 생성 후, 오토 레이아웃으로 위치를 조정해주려고 하는데 위쪽의 Constraint가 적용되지 않았다. 이 경우 높이를 임의로 지정해주면 해결된다. 혹은 아래까지 같이 제한을 걸어주면 되는데, 높이를 임의로 고정했을 때에는 길이에 맞춰 밑에있는 Button이 길어지는 경우가 발생한다. 처음에는 굳이(?) 스러웠는데 constraint의 기준을 이미지 뷰의 top 뿐만 아니라 bottom 등 여러 위치로 지정이 가능한걸 생각하니, 안전성을 위해 높이를 확정하라고 하는 것 같다. 2021. 6. 17.
[Swift] 구조체와 클래스의 차이 (본 비교는 Swift5를 기준으로 작성했습니다.) 구조체와 클래스는 데이터를 용도에 맞게 묶어서 표현할 때 유용합니다. 구조체와 클래스는 프로퍼티와 메서드를 사용하여 구조화된 데이터와 기능을 가질 수 있습니다. 즉, 구조체와 클래스 모두 새로운 사용자 정의 데이터 타입을 만들어 주는 것입니다. 둘의 가장 큰 차이점은, 구조체의 인스턴스는 값 타입 즉, 복사한 것을 주고받고 클래스의 인스턴스는 참조(주소)타입을 주고받는 것입니다. '무엇을 주고받는지'가, 즉 주고받는 대상이 가장 큰 차이점인 것이죠. 여기서 주목해야할 점은 Swift 언어 내에서 참조 타입은 클래스의 인스턴스가 유일합니다. 구조체를 비롯해서 다른 테이터 타입은 모두 값 타입입니다. [공통점] 사용 목적 : 새로운 데이터 타입을 정의하고 .. 2021. 6. 16.
[iOS] Xcode "No such module" 오류 프레임워크들을 import할 때 특정 프레임워크(GoogleMapsUtils)에 자꾸 에러가 떴다. 프레임워크에 문제가 있다고 생각하니 Podfile update부터 했는데 해결되지 않았고, 프레임워크 설치 경로를 바꿔보라는 글을 보고 경로를 지정해줬지만 변화가 없었다. cocoapod, xcode, swift의 버전도 확인하고 이리저리 서치를 하다가 하다가 한 블로그를 발견했는데 Xcode 9.0 “No such module” Swift Error 해결 Cocoapod에 제공되어있는 소스를 사용하면서 자꾸 No such module error가 발생하였다. 갖고 있는 맥의 버전이 낮아서 Xcode를 업데이트는 불가하고... 열심히 찾아보니 추가하려고 하는 Cocoapod의 pod파일 comcomori... 2021. 6. 16.
애플 개발자 문서 읽기 코드 치는 시간보다 문서 읽는 시간이 더 든다... 실환가... 문서 읽다보니까 하루가 끝나가네... 좀 더 효율적으로 읽는 찾다가 발견한 포스팅인데 참고해야겠다. https://lsh424.tistory.com/38 [iOS] 애플 개발자 문서 읽는 법 오늘은 애플 개발자 문서를 활용하는 방법에 대해 정리해보려 합니다. ◎ 애플 개발자 문서를 읽어야 하는 이유 1. 애플에서 제공하는 문서인 만큼 그 내용이 정확합니다. 2. 새롭게 등장하는 lsh424.tistory.com https://sungdoo.dev/programming/start-ios-development-with-offical-docs/ 공식문서 만으로 iOS 개발 배우기 - Dev Story of Sungdoo iOS개발에 처음 발을 내.. 2021. 6. 10.
[iOS] iOS앱 프로젝트 빌드하기 (CocoaPods, Podfile) 프로젝트를 시작했지만, 아직 스위프트 공부 단계에 머물러 있어서 코드를 직접 짜는 상황은 아니다. 그래서 다른 사람들은 어떻게 짜고있는지, 인터페이스는 어떻게 구현했는지 뜯어보려고 팀 organization의 저장소에서 git clone을 한 후 Xcode에서 빌드를 시도했다. 그런데 이상하게 빌드가 되지 않았다. 알고보니 라이브러리를 적용하려면 코코아팟(CocoaPods)을 설치해서 파일에 적용시켜야 한다고 한다. 코코아 이름이 붙은 것을 보니 objective-C와의 의존성과 관련이 있겠구나 예상을 했다. 코코아팟 공식 사이트를 보니 다음과 같이 설명되어 있었다. "코코아팟은 Swift와 Objective-C 코코아 프로젝트의 종속성 관리 매니저이다. 이는 8만 3천개 이상의 라이브러리를 보유하고 있.. 2021. 6. 10.
iOS 프로젝트 공부 방향 1. 야곰 Swift5 문법 (👀) 2. 야곰 iOS 앱 프로그래밍 (👀) https://www.boostcourse.org/mo326/joinLectures/12966 iOS 앱 프로그래밍 부스트코스 무료 강의 www.boostcourse.org 3. 동기, 비동기 4. 클로저 5. alamofire 6. mvvm, clean swift 7. repository pattern 8. combine +a git flow 2021. 6. 5.