목록분류 전체보기 (33)
eumjo_o
https://leetcode.com/problems/longest-palindromic-substring/ { while(left >= 0 && right palindrome.length) ..
https://leetcode.com/problems/median-of-two-sorted-arrays/ Median of Two Sorted Arrays - LeetCode Can you solve this real interview question? Median of Two Sorted Arrays - Given two sorted arrays nums1 and nums2 of size m and n respectively, return the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)). Example 1 leetcode.com Time Complexity O(n+m), Space Com..
https://leetcode.com/problems/longest-substring-without-repeating-characters/
https://leetcode.com/problems/two-sum/ Two Sum - LeetCode Can you solve this real interview question? Two Sum - Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. You may assume that each input would have exactly one solution, and you may not leetcode.com Map을 사용해 nums 배열 순회 찾으려는 값을 key로 사용하고, index에 해당하는 값이 value가 되도록 하여 map..
4장 좋은 단위 테스트의 4대 요소 가치있는 테스트를 어떻게 식별할 수 있을까?? 4.1 좋은 단위 테스트의 4대 요소 자세히 살펴보기 회귀 방지 리펙터링 내성 빠른 피드백 유지 보수성 4.1.1 첫번째 요소: 회귀 방지 💡 회귀: 코드를 수정한 후 기능이 의도한 대로 작동하지 않는 경우 회귀방지: 테스트가 얼마나 **버그(회귀)**의 존재를 잘 나타내는지에 대한 척도 코드는 자산이 아니라 책임!!! 테스트에서 버그(회귀)가 드러날 확률이 높아지는 원인 3가지 테스트 중에 실행되는 코드의 양 코드 복잡도 코드의 도메인 유의성 4.1.2 두 번째 요소: 리펙터링 내성 리펙터링을 통해 코드의 비기능적 특징을 개선하는 것으로 가독성을 높이고 복잡도를 낮추는 것 💡 거짓 양성(false positive) 실제로..
3.1 단위 테스트를 구성하는 방법 3.1.1 AAA 패턴 사용 준비(arrange), 실행(act), 검증(assert) 패턴 = AAA 패턴 = 3A 패턴 모든 테스트가 단순하고 균일한 구조를 갖는데 도움이 된다. 준비(arrange) - 테스트 대상 시스템과 해당 의존성을 원하는 상태로 만든다. 실행(act) - 메서드를 호출하고 준비된 의존성을 전달하며 출력 값을 캡쳐 검증(assert) - 결과를 검증 Given - When - Then 패턴 AAA와 유사한 패턴, 테스트 구성 측면에서는 차이가 없으나, 프로그래머가 아닌 사람에게 Given-When-Then패턴이 더 읽기 쉽다. (비기술자들과 공유하느 테스트에 적합) - Given(준비),When(실행), Then(검증) 3.1.2 여러 개의 ..
2장 단위테스트랑 무엇인가 코드 출처 - https://github.com/AcornPublishing/unit-testing/tree/main/Book 단위 테스트란? 작은 코드 조각(단위)를 검증하고, 빠르게 수행하고, 격리된 방식으로 처리하는 자동화된 테스트 런던파 코드 조각(단위)을 격리된 방식으로 검증 ⇒ 테스트 대상 시스템을 협력자(collaborator)에게서 격리하는 것 하나의 클래스가 다른 클래스 또는 여러 클래스에 의존하면 모든 의존성을 테스트 대역(test double)으로 대체해야 한다. 💡 테스트 대역 - 모든 종류의 가짜 의존성을 설명하는 포괄적인 용어 테스트 대상 시스템의 의존성을 테스트 대역으로 대체하면, 테스트 대상 시스템만 검증하는 데 집중할 수 있을 뿐만 아니라 규모가 ..
1장 단위 테스트의 목표 1.2 단위 테스트의 목표 💡 단위 테스트와 코드 설계의 관계 코드를 단위 테스트 하기 어렵다면 코드 개선이 필요하다는 것을 의미한다. 강결합(tight coupling) 제품 코드가 서로 충분히 분리되지 않아서 따로 테스트하기 어려움을 뜻함 코드 베이스(소스 코드 전체 집합)를 쉽게 단위 테스트할 수 있다고 해도 반드시 코드 품질이 좋은 것을 의미하지는 않는다. 낮은결합도를 보여도 좋은 프로젝트는 아닐 수 있음 단위테스트의 목표 스프트웨어 프로젝트의 지속 가능한 성장을 가능하게 하는 것 단위테스트의 필요성 테스트가 없는 프로젝트의 경우 시작은 유리하지만, 이내 진척이 없을 정도로 느려진다. 지속적인 정리와 리팩터링 등 적절한 관리 없이 방치할 시, 시스템이 더 복잡해지고 무질서..

모든 캔버스는 2개의 크기를 지닌다. (== drawingbuffer 의 크기) 캔버스 안에 얼마나 많은 픽셀이 존재하는지 캔버스 디스플레이(화면에 표시)되는 크기 ← css가 결정 - 즉, PPI가 높을수록 더 세밀한 화면 표현이 가능해지고 고화질의 이미지 구현 가능 사진 출처 - [픽셀(pixel), 해상도(Resolution)]https://treasure01.tistory.com/34 // 내부 픽셀 해상도는 100px X 100px canvas.width = 100; canvas.height = 100; // 위 캔버스로 저장한 이미지 스타일 사이즈 변경 시 // 스타일 사이즈가 220px X 20px 로 변경되어도 100px X 100px 의 픽셀 해상도 유지 canvas(넓이X높이) 이미지 ..

Devtools Performance 에서 성능 측정 가능 Performance 결과 Network 탭 : 다운로드 요청과 완료 시간을 볼 수 있음 Main 탭 : 렌더러의 메인 쓰레드로 다양한 렌더링과 더불어 스크립트 실행도 함 FP, FCP, L, DCL, LCP : 로딩 시 하나의 기점이 되는 지표들 → paint와 로드 카테고리로 나뉜다 FP = First Paint 페이지 네비게인션 후 첫 픽셀을 그린 순간 FCP = First contentful paint 첫 엘리먼트를 그린 순간 LCP = Largest contentful paint 가장 큰 엘리먼트를 그린 순간 DCL = Dom Content Loaded Dom Tree를 구성하고, 스크립트( + defer 스크립트)를 실행 완료했을 때,..