분류 전체보기 (31) 썸네일형 리스트형 [번역] 조엘 온 소프트웨어 - 안식년에 대한 추가 글... (1) 2000. 3. 18저는 1995년에 자비로 안식년을 보냈고, 지금 다시 안식년을 보내고 있다. 나는 이 방식이 정말 좋다고 생각한다. 1991년에 대학을 졸업한 뒤 Ryder 밴을 타고 워싱턴주 레드먼드로 첫 전국 횡단 여행을 떠났다. 첫 직장은 마이크로소프트였다. 강조하자면, 이때는 모두가 마이크로소프트를 싫어하기 전이었다. 당시에는 오직 대학생들과 유닉스 찬양자들만 마이크로소프트를 싫어했는데, 이유는 마이크로소프트가 “장난감 같은” 제품과 정장을 입는 사람들이 쓰는 지루한 오피스 소프트웨어를 만든다고 생각했기 때문이다. 반 친구 중 한 명은 OS/2를 개발하는 일을 제안받았지만 이렇게 말했다. “그 배와 함께 가라앉을 생각은 없어.” 그리고 그는 법대에 갔다. 솔직히 말해, 졸업 후의 생활이 기대되.. [번역] 조엘 온 소프트웨어 - 1999. 12. 24 1999. 11. 24 조엘 스폴스키 지금 저는 안식년을 보내고 있습니다. 작년 11월, Juno Online Services에서 퇴사한 후로 지금까지 여행을 하며 배우고, 다음 단계에 대비해 충분히 휴식을 취하고 있습니다. 앞으로 몇 달간 이 블로그에서 소프트웨어 개발에 관한 여러 글을 작성할 예정입니다. 첨단 기술 기업에서 개발팀을 관리하는 방법, 사람들에게 동기 부여하고 열정을 불어넣는 법, 소프트웨어 회사의 전략 등에 대한 논의가 이어질 테니 기대해 주세요. 원문.DECEMBER 24, 1999 by Joel Spolsky I’m on sabbatical now. I left my last job, at Juno Online Services, last November. Since then I’v.. [실험실-1] Delegate를 여러 번 정의하면 어떻게 될까? 뭐 대충 이런 코드가 있다고 가정해보자 class TestViewController: UIViewController, UITextFieldDelegate { let textfield = TestTextField() override func viewDidLoad() { super.viewDidLoad() textfield.delegate = self view.addSubview(textfield) textfield.backgroundColor = .blue textfield.snp.makeConstraints { $0.top.equalToSuperview().offset(100) $0.leading.equalToSuperview().offset(20) $0.trailing.equalToSuperview().. [TIL] 2022. 1. 5 1. 기능(특히 비지니스 로직)의 공통화에 대한 생각 - protocol을 이용한 mixin 형태로 usecase를 사용하는데 어떤 단점이 있을지 생각(아직은 잘 모르겠다) 2. FCM Action Navigate 작업 [TIL] 2021.12.28 1. ViewModel에서 View의 속성까지 가지고 있을 필요가 있을까? 왜 이런 생각을 하게 되었는지 (생각의 시작) 보통 객체를 만들고 속성을 설정할 때 밑의 코드처럼 많이들 해줄거라고 보는데 // 1(선언시 속성 설정) let label: UILabel = { let label = UILabel() label.font = UIFont.systemFont(ofSize: 14) return label }() // 2(설정 함수를 만들어 설정) let label = UILabel() funt config() { label.font = UIFont.systemFont(ofSize: 14) } AttributeString의 경우에는 String에 속성을 먹이는 것이기 때문에 String이 결정 된 다음에야.. Clean Architecture + MVVM(ReactorKit) - 1 그 동안 길다면 길고 짧다면 짧은 시간동안 조금 더 유연한 소프트웨어를 만들기 위해 여러가지 구조들을 경험하게 되었습니다. MVC -> MVVM -> MVVM-C?(내마음대로 Coordinator) -> ReactorKit 구조를 변경하면서 UI의 변경에 대하여 유지보수가 수월해지는 느낌은 있었으나 아직 비지니스 로직 부분에서의 변경과 확장성에 있어서 많은 불편함이 있는 것 같아 Clean Architecture를 공부하고 적용해 보기로 마음을 먹었어요. :) 클린 아키텍처란? 클린 아키텍처는 로버트.C.마틴(aka.밥 아저씨)가 2012년 8월에 블로그에 클린 아키텍처라는 제목으로 글을 기재하면서 알려지게 되었는데요 로버트 마틴에 대하여 설명하자면 우리가 알고 있는 수많은 개발 방법론들을 창시한 분이라.. [Swift] 클로저와 함수 그리고 값 캡쳐(Closures, functions and value capture) Swift에서 함수는 값을 어떠한 방식으로 전달을 하며 클로저는 어떠한 방식으로 값을 캡처하는지에 대하여 실험을 해 보고 알아보자 환경: XCode 12.3(Swift 5.3) [실험] Closure 실험 1. (String 전달) var name = "Lee" let closure = { [name] in print("closure: \(name)") } name = "Jang" let doing = closure doing() // 어떤 것이 출력 될까요? // 1. Lee // 2. Jang // 3. Compiler Error 실험 2. (Class 전달) class Person { var name: String? } let person = Person() person.name = "Lee" le.. [Swift] DataStructure - Array(1) 기본 개념 Array란? 어뤠이~~ 단어의 뜻을 모르고 그냥 읽었을 때 처음에 단어의 발음이 너무 멋지다고 생각했어요 첩보물의 스마트하고 다부진 몸매의 주인공 같은 헛소리는 이쯤하고 Array의 뜻은 무엇일까요? 영어사전에서 Array의 뜻을 찾아 보면 다음과 같습니다. Array [əˈreɪ] (미국 발음 보다 영국 발음이 더 좋음 with Naver) 집합체[모음 , 무리] 배열 데이터 구조 - 배열!! (Data Structure - Array) 배열의 개념은 정말 심플 합니다. 굳이 다른 비유를 들지 않는게 낫겠다는 생각이 들어 다른 비유는 하지 않을게요. "Array(배열)은 같은 같은 타입의 자료들을 저장할 수 있는 컨테이너(저장 공간)" 배열에 대한 설명은 이게 끝 입니다. 정말 이게 끝이에요. 사실 .. 이전 1 2 3 4 다음