해당 글은 WWDC24 Meet Swift Testing을 토대로 작성했습니다. Swift Testing이란?Swift Testing은 Swift로 작성된 코드를 테스트하기 위한 새로운 오픈 소스 패키지입니다. 기존 XCTest에 비해 테스트를 더 쉽게 작성하고 관리할 수 있도록 도와줍니다. (Xcode16부터 사용 가능하며, 템플릿 default 설정은 XCTest가 아닌 Swift Testing이 됩니다.)Swift Testing의 구성 요소테스트 함수Swift Testing에서는 기존 테스트 함수가 "test"로 시작했던 것과 다르게 @Test 속성을 사용해 테스트 함수임을 명시적으로 표현합니다.전역 함수, 정적 함수, 인스턴스 메서드 등 다양한 형태의 함수를 지원합니다.Expectations테스트..
책을 읽고 인상 깊었던 글귀 정리Chapter4. 공정 사회를 위한 엔지니어링지금까지는 프로그래밍과 소프트웨어 엔지니어링의 차이를 알아보았습니다. 프로그래밍은 당면한 문제에 집중하여 코드를 생산합니다. 그에 반해 소프트웨어 엔지니어링은 수십 년 혹은 평생에 걸친 유동적이고 모호한 문제에 대응하기 위해 코드, 도구, 정책, 프로세스 등을 응용하는 더 폭넓은 개념입니다. 이번 장에서는 다양한 계층의 사용자를 위한 제품을 설계할 때 엔지니어가 짊어져야 할 책임에 관해 이야기합니다.(중략)[4.5 단일한 접근 방식 거부하기]오늘날의 개발은 많이 쓰이는 기능을 먼저 만들고 특수한 상황에 쓰이는 기능이나 개선은 나중으로 미루는 방식으로 주로 진행됩니다. 하지만 여기에는 결함이 있습니다. 기술을 접하기에 유리한 사람..
책을 읽고 인상 깊었던 글귀 정리Chapter3. 지식 공유조직 내에는 질문의 답을 아는 전문가들이 필요하고 그들의 지식을 전파할 메커니즘도 필요합니다. 이것이 이번 장에서 다룰 주제입니다. [3.1 배움을 가로막는 장애물]조직 전체에 전문성을 공유하기란 결코 쉬운 일이 아닙니다. 구글은 특히 회사 규모가 커지면서 다음의 문제들을 겪었습니다.심리적 안전 부족 - 불이익이 두려워서 스스로 위험을 감수하거나 실수를 드러내기 꺼리는 환경을 말합니다. 이 현상은 두려움이 팽배한 문화 혹은 꼭꼭 숨기려는 경향으로 나타나곤 합니다.정보 섬 - 조직의 각 부서가 서로 소통하거나 자원을 공유하지 않아서 지식이 파편화됩니다.단일 장애점 - 중요한 정보를 한 사람이 독점하면 병목이 생깁니다. 좋은 의도에서 단일 장애점이 ..