분류 전체보기216 "억대 연봉을 버는 프리랜서 개발자 브랜딩 로드맵" 후기입니다. 최근 리팩토링 스터디를 마무리 함과 동시에 학교 생활과 또 다른 스터디 등으로 바쁘게 살고 있습니다. 그동안 못 읽고 묵혀두었던 책들도 읽고, 마음의 여유를 갖고 취미생활도 하며 쉬고 싶은 생각도 있었는데 스스로 스트레스를 주는 상황을 즐기는 성향 때문인지 계속해서 스케쥴을 잡아가며 공부던 프로젝트던 진행하고 있는 중입니다. 그러던 중, 괜찮은 브랜딩 강의를 추천받아 볼 기회를 얻게 되었습니다. 개발자를 지망하며 공부하는 학부생들이라면 한 번쯤 고민했던 주제인 "나의 개발 실력은 과연 어느정도일까?" 의 가장 좋은 확인 방법 중 하나는 직접 필드를 경험해보는것 이라고 생각합니다. 그러기 위해선 실제로 사람들이 필요한 서비스를 만들어주는, 일명 외주 작업을 하는 것이 일반적입니다. 학부생의 제한된 신분으로.. 2021. 3. 21. 리팩토링 스터디 #10 - 마무리 리팩토링 스터디의 마지막 시간입니다. 마지막인만큼 내용이 많지 않아 아주 짧게만 정리하고, 후기로 이어집니다. 타입과 인스턴스를 구분 "타입과 인스턴스를 구분" 하라는 것은 이전에 진행된 북스터디 중 이펙티브 자바 에서 나왔던 말이라고 합니다. 리팩토링 책에서도 유명한 말이라며 인용하였는데, 어떤 대상을 보고 단순히 타입인지 아니면 그 타입을 지닌 인스턴스인지 구분하는 것은 중요합니다. 서로 혼동하기도, 자신도 모르게 혼용하기도 쉬운 편이라 간간히 문제가 되기도 하는 부분입니다. 이러한 효과 덕분인지, 스터디에 참여했던 인원들도 정확히 필요한 경우가 아니라면 상속은 지양하는 편이라는 의견이 있었습니다. 다른 영향을 미처 고려하지 못하고 잘못 사용해서 보는 경우가 있기에 책에서도 이럴 땐 위임을 이용한 방.. 2021. 3. 13. JavaScript의 강제변환 - 3 (Coercive Type Conversion of JavaScript) 이번 포스팅은 강제변환의 마지막, 암시적 강제변환의 차례입니다. 말 그대로 변환 과정이 명확하게 보이지 않는 타입 변환들이 이 암시적 변환에 속합니다. 대부분의 코드에서 이러한 암시적인 타입 변환은 읽는 사람에게 혼란을 줍니다. 따라서 이해하기 쉬운 코드를 작성하기 위해서라면 암시적 강제변환만큼은 피해야 한다는 말도 적지 않습니다. 분명 틀린 말은 아니지만, 그렇다고 암시적 변환이 정말 나쁜 자바스크립트의 언어적 결함이라는 의견에는 100% 동의하기 어렵습니다. "버그가 아니라 기능입니다." 라는 말도 있듯이, 이번 시간에는 암시적 강제변환과 그를 어떻게 활용할 수 있는지 알아보겠습니다. 문자열 숫자 + 연산자는 숫자끼리의 덧셈이라는 목적과 문자열끼리의 접합이라는 두 가지 기능을 오버로드한 연산자입니다... 2021. 3. 9. JavaScript의 강제변환 - 2 (Coercive Type Conversion of JavaScript) 이전 시간에는 강제변환을 이해하기에 앞서 값변환에 대해 정리하였습니다. 이번에는 명시적 강제변환에 대해 알아보겠습니다. 명시적 강제변환 명시적 강제변환은 상대적으로 덜 복잡합니다. 적혀있는 코드가 어떤 타입으로 변할지 눈에 바로 보이고, 그 결과를 혼동할 일이 거의 없습니다. 더군다나 자바스크립트의 명시적 강제변환은 다른 정적 타입 언어에서의 관례와 패턴을 충실하게 따르고 있기 때문에 별다른 논쟁거리도 없고 쉽게 받아들일 수 있습니다. 문자 그대로 이해하시면 되겠습니다. 문자열 숫자 먼저 문자열과 숫자의 변환입니다. 서로 간의 타입 변환을 위해 String()과 Number()을 사용합니다. 여기에 new 키워드가 붙으면 새로운 객체 래퍼를 생성하는 구문이겠지만, 키워드 없이 사용되면 타입 변환에 이용된.. 2021. 3. 5. JavaScript의 강제변환 - 1 (Coercive Type Conversion of JavaScript) 자바스크립트에서는 프로그래머가 의도했건, 그렇지 않건 강제적 타입변환이 일어납니다. 누군가에겐 유용한 기능일수도 있고 누군가에겐 언어 자체가 잘못 설계된 부작용처럼 느껴질수도 있지만 어떤 상황에서 강제변환이 일어나는지 정확히 알아보고 이해해서 이용해 보는 것이 목표로 잡고 공부해봅니다. 값 변환 어떤 값을 다른 타입의 값으로 바꾸는 과정에서 명시적으로 일어나면 타입 캐스팅이라고 부르고, 암시적으로 일어나면 강제변환이라고 부릅니다. 그러나 많은 사람들이 이러한 용어를 뭉뚱그려 강제변환이라고 사용하는 경향이 있기 때문에, 여기선 암시적 강제변환과 명시적 강제변환이라고 부르겠습니다. 암시적과 명시적을 구분하는 방법은 간단합니다. 타입변환만을 의도한 코드를 작성했다면 명시적 강제변환이고, 의도와 상관없이 타입변.. 2021. 3. 2. 리팩토링 스터디 #9.5 - 내용 미리보기 세 달간 진행되었던 리팩토링 스터디도 어느덧 마지막 시간이 되었습니다. 스터디를 진행하며 정리했던 내용들을 다시 보니 감회가 새롭네요. 마지막까지 알차게 마무리 해야겠습니다. 타입 코드를 서브클래스로 바꾸기 특정한 특성에 따라 대상을 구분해야하는 경우 타입 코드 필드를 사용합니다. 여기에 한 발 더 나아가 다양한 기능을 구현하기 위해 서브클래스를 적용할 수 있습니다. 서브클래스를 사용할 경우 두 가지 이점이 있습니다. 첫 번째는 조건에 따라 다르게 동작하는 다형성을 제공할 수 있고, 두 번째는 슈퍼클래스와 서브클래스 사이의 관계를 명확히 파악할 수 있게 만들어줍니다. 일단 서브클래스를 이용하기로 마음먹었다면, 서브클래스를 원본 클래스 자체에 적용할지, 타입 코드 필드에 적용할지를 선택합니다. 전자의 경우.. 2021. 2. 27. 이전 1 ··· 19 20 21 22 23 24 25 ··· 36 다음