본문 바로가기

앙펭7

Lifecycle-Aware Component Lifecycle은 안드로이드 개발에서 가장 중요하고 핵심이 되는 개념이라고 할 수 있다. 애플리케이션은 항상 lifecycle을 고려해야 하며, 그렇지 않으면 메모리 누수 또는 애플리케이션의 비정상 종료가 발생할 수 있다. Lifecycle-Aware Component 는 직역하면 생명주기 인식 컴포넌트를 의미하는데, 이는 말 그대로 lifecycle을 관찰하고 그에 따라서 동작하는 컴포넌트로 이해할 수 있다. 우리가 항상 당연하게 사용해왔던 lifecycle callback 도 이와 관련이 깊다. 우리는 당연하게 사용했던 개념을 가능하게 하는 원리는 무엇인지 한번 알아볼 필요가 있을 것이다. 모르고 쓰는 것과 알고 쓰는 것은 엄청난 차이니까 말이다. (내가 궁금하기도 했고) Lifecycle 가장 기.. 2021. 11. 7.
Basic Website Structure Basic Website Structure🏋️‍♂️ Header 일반적으로 위쪽에 제목과 로고를 포함하는 큰 띠. 일반적으로 한 웹페이지에서 다른 웹 페이지에 까지 동일하게 유지가 된다. Navigation bar 홈 페이지의 메인 섹션으로 연결한다. 주로 메뉴 버튼이나 링크, 탭으로 구성된다. 헤더 처럼 웹 페이지마다 동일한 형태를 유지하게 하는 것이 좋다. 동일하지 않은 형태는 사용자에게 혼란을 줄 수 있다. 그래서 많은 웹 디자이너들은 네비게이션 바를 헤더의 일부로 보는것이 낫다고 하기도 하지만, 반드시 그런 것은 아니다. 그리고 일부 사람들은 두개로 나누는 것이 접근성이 좋다고들 한다. Main content 웹 페이지에서 가장 독특한 컨텐츠를 포함하고 있는 중심의 큰 부분이다. 예를 들어, 보고.. 2021. 7. 18.
이진 탐색(Binary Search) 알고리즘을 풀다가 이진 탐색의 존재를 새까맣게 잊고 있었다는 것에 충격을 받아서 작성한다. 이진 탐색은 최악의 조건에서도 O(logN)의 시간 복잡도를 보장하는 획기적인 탐색 방법이다. 데이터들의 값을 반으로 나누어 가며 탐색을 진행하기 때문에 최소 의 시간 복잡도를 보장하는 것이다. 단, 탐색을 원하는 데이터들이 정렬이 되어 있어야 한다는 조건에서만 이진 탐색을 사용할 수 있다. import java.util.ArrayList; public class Test{ public static void main(String[] args) { ArrayList list = new ArrayList(); for(int i=1; i 2021. 7. 16.
세션과 쿠키🍪 웹을 사용하거나 웹에 대해서 공부를 한다면 한번쯤은 들어봤을 단어가 쿠키와 세션일 것이다. 웹에서 세션과 쿠키를 왜 사용하는 지 먼저 살펴보도록 하겠다. 쿠키와 세션은 HTTP 프로토콜의 비 연결성, 비 상태성 이라는 특징 때문에 사용을 한다. HTTP 프로토콜로 클라이언트가 서버와 통신하면서 요청에 대한 응답을 받으면 그 연결을 끊어버리는 것과, 연결이 끊기게 되면 상태 정보는 유지하지 않는다는 것이다. 이렇게 연결이 종료가 된다면 상태를 저장할 수 없다는 점을 개선하기 위해서 세션과 쿠키를 사용한다. 쿠키 (Cookie) 쿠키 쿠키는 클라이언트 로컬에 저장되는 키와 값으로 구성된 작은 데이터 파일이다. 쿠키는 클라이언트의 상태 정보를 로컬에 저장하고 서버측에서는 이를 참조한다. 서버측에서 setCoo.. 2021. 7. 16.