분류 전체보기216 리팩토링 스터디 #9 - API 구조 개선 & 상속 다루기 리팩토링 스터디 아홉번째 시간입니다. 이번 시간에는 API 구조 개선의 후반부 내용과 상속에 관한 내용을 다루었는데요, 챕터는 많았지만 각각의 분량이 적어 짧게 끝났습니다. 슬슬 다음 북스터디의 주제를 생각해볼때가 다가오고 있네요. 일단 이야기가 나온 후보군으로는 클린아키텍처와 TDD, 코드 컴플리트, 클린 소프트웨어 등이 있었는데 아직 확정된건 없네요. 다음 계획은 천천히 정하도록 하고, 우선 리팩토링 스터디부터 시작하겠습니다. 이미 유명한, 알고있던 기법들 생성자를 팩토리 함수로 바꾸기 기법은 리팩토링 스터디 뿐 아니라 다양한 곳에서 이미 널리 통용되던 기법이었다고 합니다. 전 개인 사정으로 참여하지 못해서 몰랐던 내용이었지만, 동아리원분들이 이전에 진행했던 이펙티브 자바나, 디자인 패턴 등의 책에서.. 2021. 2. 9. 리팩토링 스터디 #8.5 - 내용 미리보기 계절학기 일정 때문에 포스팅이 많이 미뤄졌습니다. 이것저것 하기만 하고 정작 포스팅은 안 한 덕분에 글 쓸 거리들이 가득 쌓여있으니 당분간은 신나게 타이핑 해야겠네요. 이번 스터디는 지난 시간에 진행했던 API 리팩토링의 후반부와 상속 다루기에 관한 내용입니다. 바로 시작해보겠습니다. 세터 제거하기 우리가 setter 메서드를 선언하는 목적은 특정 필드의 값을 변경하기 위해서입니다. 따라서 setter를 선언하는 행위는 곧 이 필드는 변경될 수 있는 값임을 나타내는 것과 같습니다. 그러나 코드들을 보면 우리는 어떤 필드를 새로 만들때 습관적으로 Getter와 Setter를 선언해주는 경우가 꽤 많습니다. 실제로는 한 번 선언된 필드의 값을 후에 변경해 줄 일이 없을때 조차도요. 이런 경우 세터 제거하기를.. 2021. 2. 8. 네트워크의 종류 (Network Types: LAN, WAN, Switching) 우리가 사용하는 네트워크에는 여러 종류가 있습니다. 이 네트워크들은 크기, 커버 범위, 소유권(주체) 등의 요소를 통해 그 유형을 구분짓습니다. 이번 시간엔 이러한 네트워크들의 종류와 특성에 대해 알아봅니다. LAN : A local area network LAN은 보통 사무실, 건물, 학교 같은 개인적인 소유의 네트워크로 사용됩니다. 사용하는 조직의 목적에 의해 컴퓨터 한 두대와 프린터 정도의 간단한 구성의 네트워크 일 수도 있고, 회사 전체에서 사용하며 오디오, 비디오 장치들을 포함하는 네트워크 일 수도 있습니다. LAN에 있는 각각의 호스트(host)는 기기를 구별할 수 있는 식별자로 그 네트워크 내에서 유일하게 정의된 주소(address)를 가집니다. 데이터의 전송 단위인 패킷(packet)은 소.. 2021. 1. 24. 리팩토링 스터디 #8 - API 구조 개선하기 8주차 리팩토링에서는 방법과 API의 구조를 개선하는 방법에 대한 내용을 진행했습니다. 책에 실려있던 내용은 리팩토링 스터디 #7.5 - 내용 미리보기를 참고해주세요. 실제로도 자주 쓰이는 기법? 10.5절의 특이 케이스 진행하기의 경우엔 이전에 진행된 객체지향 스터디에서 널 객체 패턴(null object pattern)이라는 이름으로 언급된 적이 있었다고 합니다. 현재 스터디를 리팩토링 2판으로 진행중인데, 1판의 본문에서는 실제로 이런 이름으로 쓰여져 있었다고 하네요. 사례를 기반으로 지어진 기존의 이름과 달리 지금은 특징을 기반으로 한 직관적인 이름으로 바뀐 모습입니다. 이 기법이 잘 이해되지 않으면 객체지향의 개념 쪽을 다시 한 번 살펴보는게 좋을 것 같습니다. 마침 스터디를 함께 진행하시던 분.. 2021. 1. 23. 더 이상 GitHub에서 비밀번호 인증을 지원하지 않습니다. (Basic authentication using a password to Git is deprecated) 얼마 전 평소처럼 코딩을 하고 깃허브에 푸시를 했는데, 갑작스레 deprecation 메시지가 뜨면서 한 통의 메일이 왔습니다. 지금 사용하고 있던 비밀번호를 통한 인증이 deprecated 되었으며, 곧 사용할 수 없게 될 예정이라고 적혀있네요. 해당 링크를 통해 확인해보니... Github은 2020년 7월에 발표한대로 모든 인증을 토큰 기반의 방식으로 사용하도록 하는 방침을 정했습니다. 2021년 8월 13일부터는 더 이상 기존의 계정 - 비밀번호 인증 방식은 지원하지 않을 예정입니다. 이 변화에 영향을 받는 분들은 다음과 같습니다. 영향을 받는 경우 - 커맨드라인 인터페이스에서 Git에 접근하는 경우 (제가 사용하던 경우입니다.) - Git을 사용하는 데스크톱 어플리케이션으로 접근하는 경우 (Gi.. 2021. 1. 21. 리팩토링 스터디 #7.5 - 내용 미리보기 한 주를 마무리하는 리팩토링 스터디의 여덟번째 시간입니다. 이번 시간에는 API 리팩토링에 관한 내용을 다룹니다. 사용하기 쉽고, 이해하기도 쉬운 API를 만들고 개선할 수 있는 방법이 담겨있습니다. 그럼 시작하겠습니다. 특이 케이스 추가하기 Introduce Special Case 특정한 데이터의 값을 확인하고 같은 동작을 수행해주는 코드들은 여기저기서 흔히 등장합니다. 이는 중복 코드의 한 종류로, 공통적인 동작을 한 곳에 모아서 사용하는 리팩토링을 적용하기에 안성맞춤입니다. 이런 방법을 특이 케이스 패턴(Special Case Pattern)이라고 부릅니다. 이러한 패턴의 가장 큰 장점은 매번 등장하는 식을 대신하여 간단한 함수 호출을 통해 원하는 동작을 간결하게 표현할 수 있다는 점입니다. 특히 .. 2021. 1. 16. 이전 1 ··· 21 22 23 24 25 26 27 ··· 36 다음