본문 바로가기

기타46

더 이상 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.
리팩토링 스터디 #6.5 - 내용 미리보기 2021년의 첫 리팩토링 스터디입니다. 새해에도 어김없이 스터디는 쭉 진행되고 있습니다. 이번 시간에는 데이터 조직과 조건부 로직을 정리하는 내용이 주를 이룹니다. 데이터 조직에서는 어떠한 대상을 호출할때 어떤 형태로, 어떻게 호출할 것인지를, 조건부 로직에서는 if문과 같은 조건문을 최대한 간결하고 명확하게 보이도록 하는 몇 가지 기법들을 알아보게됩니다. 데이터 조직을 다루는 방법부터 시작하겠습니다. 파생 변수를 질의 함수로 바꾸기 서로 다른 코드들을 결합하는 가변 데이터는 종종 문제의 원인이 됩니다. 한쪽에서 수정한 값이 다른쪽에서 문제를 일으킬 수도 있기 때문에 최대한 지양하는 것이 좋지만, 현실적으로 그건 어렵습니다. 그래서 우리가 할 수 있는 최선의 방법은 유효 범위를 최소한으로 줄이는 것입니다.. 2021. 1. 8.
리팩토링 스터디 #6 - 리팩토링 준비하기 오랜만의 리팩토링 스터디 포스팅입니다. 이번 회차에서는 실제 리팩토링을 준비하는 과정을 주제로 작성해보려고 합니다. 6주차 스터디에서 나온 내용만으로 한 포스팅을 채우기 살짝 부족한 느낌이 있어 7주차의 특정 부분을 덧붙여 함께 작성하였는데, 마침 이 내용이 적절해보였습니다. 스터디 구성원들과 이야기를 하던 중 지금까지 리팩토링을 어느정도 공부했으니, 실제로 리팩토링을 한 번 해보면서 공부한 내용들을 복습해보는것이 어떨까에 대한 이야기가 나왔습니다. 좋은 기회라는 생각이 들어 4주차쯤부터 적절한 라이브러리를 찾기 시작했습니다. 적절한 라이브러리의 조건으로는 어느정도 유지가 되어 구조적인 결함이 생겼을 확률이 높고, 실제 사용자가 많아 오픈소스 컨트리뷰팅을 하기 좋은 라이브러리 정도로 목표를 잡았습니다. .. 2020. 12. 22.
리팩토링 스터디 #5.5 - 내용 미리보기 개인적인 사정으로 지난 스터디 당일에 참여하지 못했습니다. 스스로 공부했던 내용을 되짚어보는 것으로 해당 챕터를 마무리 지었고, 따로 리팩토링 스터디 #5는 업로드 하지 않을 예정입니다. 아쉽지만 다음 스터디를 더 알차게 진행하는 것으로 만족해야겠습니다. 이번 주제는 지난번에 이어 캡슐화에 관련된 리팩토링 기법들입니다. 기본형을 객체로 바꾸기 Replace Primitive with Object 첫 번째로 살펴 볼 기법은 기본형을 객체로 바꾸기입니다. 우리는 보통 단순한 정보를 표기할때 이러한 기본형으로 많이 표현합니다. 그러나 개발이 진행되다보면 처음엔 생각하지 못했던 추가적인 동작을 해야할 일이 생깁니다. 예를 들면 단순한 전화번호를 문자열로 표현했었는데 나중에 보니 지역 번호를 따로 추출해야 한다던.. 2020. 11. 14.
리팩토링 스터디 #4.5 - 내용 미리보기 2주 동안의 휴식기를 두고 리팩토링 스터디가 재개되었습니다. 오랜만의 스터디 준비가 어색하게 느껴지지만 차근히 읽어가다보면 내용을 이해하는데에는 그리 오랜 시간이 걸리지 않을 것 같습니다. 이번 주 스터디 범위는 6.10 여러 함수를 변환 함수로 묶기부터 7.2 컬렉션 캡슐화하기까지 약 40페이지 가량입니다. 많지 않은 양이니 가벼운 마음으로 시작해보겠습니다. 여러 함수를 변환 함수로 묶기 Combine Functions into Transform 공통 데이터를 중심으로 엮여서 작동하는 함수들은 하나의 클래스로 묶는 것이 편합니다. 이렇게 하면 각 함수들이 공유하는 공통된 환경을 표현하기가 명확하고, 함수에 전달되는 인수를 줄여서 객체 안에서의 함수 호출을 간결히 만들 수 있습니다. 이런 객체를 시스템의.. 2020. 11. 4.