전체 글
[Refactoring] Chapter 3 요약: 코드에서 나는 악취
이번엔 리팩토링 챕터3 부분을 읽어보겠습니다! 저자는 프로그래밍 미학이라는 모호한 개념보다 악취라는 표현이 낫다고 표현함. 악취가 나는 코드도 패턴이 있음 1. 기이한 이름 이름만 보고도 각각이 무슨 일을 하고 어떻게 사용해야하는지 명확히 알 수 있도록 엄청나게 신경 써서 이름을 지어야 한다. 네이밍이 프로그래밍 활동의 많은 부분을 차지하는 것을 알고 있었지만, 경험이 많은 개발자들도 동일한 어려움을 겪는다는 사실에 조금 위로가 되기도 함... 마땅한 이름이 떠오르지 않는다면 설계에 더 근본적인 문제가 숨어 있을 가능성이 높다. 이 문장은 새로웠음! 아무리 노력해도 적당한 이름이 나오지 않는다면 설계가 잘못되지 않았나 돌아보는 것도 좋은 방법. 적절한 관심사 분리를 해야 좋은 이름도 지을 수 있을 것 같..
[세미나 후기] Wanted 오늘의 개발자 1주차: 리드하는 개발자가 되기 위한 성장 마인드셋
www.wanted.co.kr/events/livetalk23 Wanted Live Talk #23. 오늘의 개발자 [원티드X위코드] 매주 목요일 점심, 진짜 개발자들의 얘기가 공개됩니다! www.wanted.co.kr 원티드에서 진행하는 오늘의 개발자 세미나를 중간부터 들었습니다. 첨부터 못들어서 아쉬운데 다음에는 정시에 들어보려고 노력해야겠습니다ㅠㅠ 개발자의 성장에 대한 이야기라서 관심있게 듣게 되었습니다. 김양귀님이 발표해주셨습니다. 회사의 네임벨류에 포커스를 맞추기 보다는 자기 개발에 초점을 맞추는게 좋음 2~3년 경력쌓은 뒤에 이직하는 것을 추천. 큰 폭으로 연봉을 높일 수 있는 기회라고 생각 어느정도 자리잡은 스타트업에서 시작하는 것도 괜찮다고 생각한다. 백엔드 -> 프론트엔드로 업무를 변경했..
[Refactoring] Chapter2 과제
cozzin.github.io/2021/04/11/RefactoringStudy1-2.html github 블로그에 작성했던 내용을 가져왔습니다. 리팩토링에 대해 어느정도는 들어본 내용이었지만 책을 읽어보니 좀 더 개념이 정리되는 것 같아서 뿌듯했습니다. 과제를 제출해야 환급되는 구조라서 열심히하게 되네요ㅋㅋ 분량을 채우기 위해 일부러 많이 작성한 부분도 있지만 기록을 위해 남겨둡니다. 1. YAGNI에 대하여 서술하세요 YAGNI는 “you aren’t going to need it”의 줄임말 입니다. 미래에 추가될지도 모르는 스펙을 위해서 미리 추가적인 기능이나 인터페이스를 만들어 두지 말자는 취지의 말입니다. 이렇게 설계하는 방식을 간결한 설계, 점진적 설계라고 한다고 저자는 설명합니다. 현재 주어..
[Refactoring] Chapter2 요약
cozzin.github.io/2021/04/05/RefactoringStudy1.html 여기에 정리했던 내용 옮겨왔습니다. 패스트캠퍼스 리팩터링 완독반을 신청해서 스터디를 시작했습니다. 환급반이라서 책을 읽어야 돈을 잃지 않는 구조 입니다. 공부할 것들이 너무 많아서 스터디를 미루기 쉬운데, 이렇게 해서라도 동기부여를 할 수 있을 것 같아서 신청했습니다. 스터디 설명 리팩터링 2판 자바스크립트로 예시가 되어 있음 리팩터링 패러다임은 언어를 초월하여 의미가 있음 그러나 실제 활용은 언어에 귀속됨 배워서 어디에 써먹을까? 리팩터링이 필요한 이유를 설득할 수 있음 책 한권 읽는다고 설득할 수 있는 것은 아님 적어도 물꼬는 틔워줄 수 있음 리팩터링 중 발생하는 고민을 일정량 줄일 수 있다. 간결한 코드가 좋..
Could not insert new outlet connection 이슈 대응
안녕하세요. 코찐입니다. 오늘 이런 이슈를 가지고 왔습니다. xib 파일 -> code로 IBOutlet을 연결시킬 때 발생하는 에러인데요. Xcode 업데이트 이후 오류가 생겼는지 이런 이슈가 자꾸 등장하네요 🤯 얼마전에 똑같은 이슈가 발생했을 때는 xib 파일을 지우고 다시 만들었었어요;;; 그런데 이번에는 xib 파일에 많이 작업이 되어 있는 상태라 지우고 다시 만들 수는 없었습니다. Xcode 껐다켜고 캐시 지우고 실행시켜도 동일합니다... 연결하는 방향을 반대로 해보면 어떨까 싶어서 해봤는데 되네요?ㅋㅋ 이런식으로 코드를 직접 입력하면 xib에 연결되지 않은 상태로 만들어집니다. 왼쪽에 동그란 버튼을 드래그 해서 xib의 view로 연결시켜줍니다. 이번엔 버그 없이 작동됩니다! 👻
[Combine] Chapter 17: Schedulers
Operators for scheduling 2가지 기본 operator가 있음 subscribe(on:) subscribe(on:options:) create 특정 스케줄러 위에서 subscription을 만들어줌. subscription에 대한 설명이 좋은데 start the work 이라 되어 있음. receive(on:) receive(on:options) delivers 특정 스케줄러 위에서 value를 전달해줌. 챕터6 Time Manipulation Operators에서도 배운 것들 debounce(for:scheduler:options:) delay(fortolerance:scheduler:options:) measureInterval(using:options:) throttle(for:s..
[Combine] Chapter 16: Error Handling
이번 챕터에서는 에러 핸들링에 대해 알아보겠습니다. 비동기 이벤트를 다룰 때 에러가 항상 발생할 수 있습니다. 그래서 에러를 다루는 기술을 굉장히 중요합니다. Publisher Failure 이 친구에 집중해봅시다. Never publisher가 fail 이벤트가 절대 일어나지 않는 경우 사용합니다. 예를들어 Just를 확인해보면 Failure가 Never로 정의된 것을 볼 수 있습니다. setFailureType infallilbe publisher 를 만드는 방법! assign(to:on:) assign 이 걸려있는 곳에서 setFailureType을 하려고 하면 컴파일이 되지 않습니다. Failure가 Never 일때만 assign이 가능한것으로 보입니다. assertNoFailure 에러가 발생헀..
워닝제거: Plain Style unsupported in a Navigation Item
Plain Style unsupported in a Navigation Item 이번에는 스토리보드 > ViewController > Bar Button Item 에서 Style이 Plain으로 되어 있는게 문제인가 봅니다. 이걸 Bordered로 변경하면 문제가 해결되는 것으로 보입니다. 참고: linux-studying.tistory.com/10?category=410369