1. 유용한 개발 관련 아티클 및 영상 #22코루틴 입문용 영상(비동기로부터 우리를 구원해줄 코루틴)코루틴에 대하여비동기 프로그래밍을 위한 동시성 프로그래밍 라이브러리코루틴은 기존 서브 루틴과는 다르게 루틴에서 빠져나오는 탈출구가 여러 곳이 존재함따라서 비동기 프로그래밍에서 탈출구를 통해 다른 작업을 할 수 있으며, 결과가 반환되면 다시 와서 작업하는 방식으로 동작함이를 통해 동기 방식의 코드로도 연속적인 작업이 가능해짐코루틴의 장점코루틴은 스레드 위에서 작업을 처리하는 경량 스레드임코루틴은 JVM Heap 영역에 생성되며, 스레드의 메모리 공간을 사용하기 때문에 컨텍스트 스위치 비용이 상대적으로 적음코루틴 스코프코루틴 스코프는 생명주기를 관리하는 개념으로, 코루틴의 실행을 구조화하고 실행되는 컨텍스트를..
1. 코드 품질[ 1.2 코드 품질의 목표 ]필자는 코드를 작성할 때 다음과 같은 네 가지 상위 수준의 목표를 달성하려고 한다. 필자가 생각하기로 이러한 것을 달성하는 데 도움이 되면 그 코드는 높은 품질의 코드이고, 방해된다면 낮은 품질의 코드다.작동해야 한다.작동이 멈춰서는 안 된다.변화하는 요구 사항에 적응해야 한다.이미 존재하는 기능을 또다시 구현해서는 안 된다. 1.2.1 코드는 작동해야 한다코드의 첫 번째 목표는 그것이 애초 작성된 목적대로 동작해야 한다는 것이다. 코드는 우리가 해결하려고 하는 문제를 실제로 해결해야 한다. 이것은 또한 버그가 없다는 것을 의미하는데, 버그가 존재하면 코드가 제대로 작동하지 않고 문제를 완전히 해결하지 못할 가능성이 있기 때문이다. 1.2.2 코드는 작동이..
1. 유용한 개발 관련 아티클 및 영상 #21JAVA 10에 도입된 지역변수 타입 추론에 대한 스타일 가이드타입 추론에 대하여타입 추론은 간결함을 가능하게 해주지만, 중요한 타입 정보를 생략하여 가독성을 떨어뜨림모든 기능과 마찬가지로 판단력을 가지고 사용해야 하며, 언제 사용해야 하고 언제 사용하지 말아야 하는지에 대한 포괄적인 규칙은 없음이 문서의 목표는 주변 코드가 변수 선언에 미치는 영향을 살펴보고, 몇 가지 장단점을 설명하고, 변수의 효과적인 사용을 위한 지침을 제공하는 것임코드 작성의 원칙들코드를 읽는 것이 작성하는 것보다 중요하다코드는 작성하는 것보다 읽는 경우가 훨씬 더 많음따라서 코드의 작성은 원저자가 아닌, 미래의 독자에게 미치는 영향에 따라 결정되어야 함코드는 로컬 추론 시에 명확해야 ..
1. 1만 시간의 재발견 내용 정리 및 독서 후기[ 내용 정리 ]p20즉 인간의 두뇌와 육체 모두 성인기보다는 유아기에 적응력이 뛰어나다. 따라서 6세, 12세, 18세 등 특정 연령 이전에만 개발이 가능한, 혹은 특정 연령 이전이면 한층 수월하게 개발할 수 있는 능력들이 있다. 그러나 한편으로 인간의 두뇌와 육체는 모두 성인기 내내 상당한 적응력을 보유하고 있다. 바로 이런 적응력 덕분에 성인, 심지어 나이가 많은 성인조차도 올바른 훈련을 통해 새로운 능력을 다양하게 개발할 수 있다. p22미국 프로농구 선수 레이 앨런(Ray Allen)의 이야기다. 앨런은 열 번이나 NBA 올스타로 선발되었고, NBA 역사상 3점슛을 가장 많이 성공시킨 선수로 꼽힌다.기사를 작성하려고 앨..
1. 유용한 개발 관련 아티클 및 영상 #20에이비엔비 아키텍처의 역사(A Brief History of Airbnb’s Architecture)초기 버전(RoR 기반의 모놀로식 아키텍처)이러한 구조로 인해 다음과 같은 장점들을 느낄 수 있었음시작하기 쉬우므로 초기에 반드시 필요한 구조였음민첩한 개발에 적합했음복잡성을 관리할 수 있었음하지만 엔지니어링 팀이 빠르게 커짐에 따라 다음과 같은 상황들이 생겼음코드들이 더욱 긴밀하게 결합되기 시작했고 데이터의 소유권이 불분명해졌음예를 들어, 어떤 테이블이 어떤 애플리케이션 기능에 의해 소유되는지 파악하기가 어려웠음모든 개발자가 애플리케이션의 모든 부분을 변경할 수 있게 되면서 변경 사항을 추적하고 조율하기가 어려워졌음이로 인해 다음의 문제들이 발생했음항상 수백 ..