![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bDV77v/btsH5kvfMhj/KviI7koZTOF37FqWkwPE01/img.png)
웹에서는 Flutter 또는 Jetpack Compose와 달리 레이아웃 계산에 직접 관여하거나 제어할 수 없습니다. 즉, 자식의 크기를 직접 계산하거나 그려지는 요소의 위치를 정의하는 로직에 직접적으로 관여할 수 없습니다. 대신, CSS 스타일이나 JavaScript를 사용하여 레이아웃에 간접적으로 영향을 미칠 수 있습니다. 레이아웃 계산을 변경하거나 특정 요소의 크기나 위치를 조정하는 경우, 브라우저는 이러한 변화를 반영하기 위해 Reflow를 수행해야 합니다. Reflow는 레이아웃을 다시 계산하는 과정으로, 빈번하게 발생하면 성능 저하를 일으킬 수 있습니다. 이 Reflow의 경우, 레이아웃의 크기와 위치를 참조하거나 요소의 돔 구조가 변경되면 수행되는 레이아웃 단계입니다.따라서, 여러 번의 레..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cKzJze/btsHK9HUbhT/hvJG5qGuXu6TymjTCqtNSk/img.png)
해당 글은 GoF의 행위 패턴(Behavioral Pattern)에 대해 다룹니다. 책임 연쇄 (Chain of Responsibility)해당 패턴은 핸들러(Handler)가 자신이 요청을 처리할 수 없을 때, 다른 핸들러에게 요청을 계속 위임시켜 처리할 수 있을 때까지 연쇄적으로 책임을 전가시키는 것을 말합니다. 현실 세계의 패턴 예시사용자의 요청과 비슷한 개념인 편지를 예로 들어보겠습니다. 여러분은 연인에게 편지를 보내고 싶습니다. 하지만 우체국에 직접 가서 보내는 대신, 다음과 같은 방법으로 써보기로 했습니다. 친구에게 편지를 건네줍니다. 친구는 받은 편지를 읽고, 만약 그 친구가 편지를 전달할 수 있다면 이를 연인에게 직접 전달해줍니다. 하지만 친구가 편지를 직접 전달해줄 수 없다면, 친구는 여..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/SNdVM/btsHJTL1CvC/bU8Qf4EACRFCkepsQaOxVK/img.png)
자바스크립트 입문자 또는 문법에 그리 관심이 존재하지 않는 분들 위해서 해당 글에서는 알면 자바스크립트에서 유용하게 사용될 수 있는 문법들에 대해 소개합니다. 옵셔널 체이닝 (Optional Chaining) 객체나 배열에서 특정 속성이나 요소에 접근할 때, 해당 속성이나 요소가 존재하지 않아도 별도의 예외를 발생시키지 않고 undefined를 반환하는 기능을 제공하는 연산자입니다. 참고로 해당 연산자는 다트에서도 존재하며 별도의 null-safe 로직을 생략할 수 있는 특성때문에 많이 애용되는 연산자 중 하나입니다. 해당 연산자의 예시 코드를 보도록 하겠습니다.const child = parent?.child;child 속성이 nullable이라는 가정하에 속성 값을 참조하는 경우 . 대신 ?. 연산자..
- Total
- Today
- Yesterday
- 최대 오프셋
- web
- 안드로이드 개발
- 디자인 패턴
- jetpack compose
- canvas animation
- 현재 오프셋
- nested scrolling
- Flutter
- 문자열 템플릿
- animatable-js
- touch slop
- 객체 지향
- 안드로이드
- NestedScrollConnection
- Structural Pattern
- 팩토리 메서드
- 타입스크립트
- conditional types
- js animation
- 추상 팩토리
- AutomaticKeepAliveClientMixin
- Factory Method
- 책임 연쇄
- 객체지향
- npm package
- JavaScript
- TypeScript
- android
- utility types
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |