LiveData 란? LiveData는 Data의 변경을 관찰할 수 있는 Data Holder 클래스이다. LiveData는 안드로이드 생명주기(LifeCycle)을 알고 있다. 즉, Activity, Fragment, Service 등과 같은 안드로이드 컴포넌트의 생
오늘 알아볼 ViewModel은 Android JetPack의 구성요소 중 하나이다.ViewModel이란 이름은 소프트웨어 개발 디자인 패턴 중 하나인 MVVM(Model-View-ViewModel) 디자인 패턴으로부터 파생되었다.MVVM의 관점에서 부르는 ViewMo
DataBinding과 ViewBinding이 뭐가 다른가? 간단하게 말하자면, DataBinding은 이름처럼 데이터를 연결해주는 역할을 할수 있다. (데이터와 같이 결합해서 사용할 수 있음) 이론이 필요한 사람은 ViewBinding vs DataBinding 참
이 포스팅에서는 View Binding의 Activity와 Fragment의 예제를 다룰 것이다.이론이 필요한 사람은 ViewBinding vs DataBinding 참고새로운 액티비티 SecondActivity를 만든다.Fragment를 넣어줄 FrameLayout을
DataModel이라고도 하며, 다양한 데이터 소스로부터 필요한 데이터를 준비한다.ViewModel에서 데이터를 가져갈 수 있게 데이터를 준비하고 그에 대한 이벤트를 보냄기본적으로 데이터를 보여주기만 한다. 하지만 UI변경과 관련된 비즈니스 로직이 포함될 수 있다(An
처음 어학연수 정보를 찾아볼 때, 좀 여유있게 생활하고 싶으면 세부로 가고 공부에 집중하고 싶으면 바기오로 가라는 후기를 많이 봤다. 유학원 에이전시와 상담 했을 때도 단기간에 실력을 확 끌어올리고 싶으면 바기오로 가는 게 좋다고 추천해주셨다.바기오 날씨는 가을 날씨이
CUI (Character user interface): 문자 기반GUI (Graphical User interface): 그림 기반EUCI (End-User Comfortable Interface): 목적만을 위해서HW resource (processor, memor
데이터 바인딩이란 > 데이터바인딩이란, 연결된 특정 두 데이터 혹은 소스를 일치시키는 기법을 말한다. 특정 데이터를 화면에 보여줘야 한다면, 그 데이터가 변경됨에 따라 화면에 보여지는 데이터도 변경되어야 하는데, 그 때 두 데이터를 여러가지 방법을 통해 묶어주는 개념
AAC는 Android Architecture Components의 약자로,테스트와 유지보수가 쉬운 앱을 디자인할 수 있도록 돕는 라이브러리의 모음이다.Google I/O 2017에서 새로운 라이브러리를 AAC로 묶어서 발표하여 AAC라는 것이 사용되게 되었고,Goog
컴퓨팅 자원들을 효율적으로 관리해서 사용자에게 서비스를 제공하는 소프트웨어를 운영체제라고 한다.계산 영역, 연산을 위해서 사용된다.CPU그래픽 카드(GPU)응용 전용 처리장치 등무언가 저장하는 영역주 기억장치보조 기 억장치 등키보드/마우스모니터, 프린터네트워크 모뎀 등
HTTP Status Code란 클라이언트가 서버에게 요청(request)을 보내면 서버는 요청(response)에 대해 응답을 보낸다. 이를 통해 요청에 대한 성공/실패 여부를 판단할 수 있다.모든 HTTP 응답 코드는 5개로 분류할 수 있다.Status Code의
네트워크란 노드(node)와 링크(link)가 서로 연결되어 있으며 리소스를 공유하는 집합을 의미한다.여기서 노드란 서버, 라우터, 스위치 등 네트워크 장치를 의미하고 링크는 유선 또는 무선을 의미한다.네트워크를 구축할 때는 '좋은' 네트워크로 만드는 것이 중요하다.좋
많은 개발자 선배들이 경험을 토대로 만들어 놓은 문제 해결 방법이다. 사람들은 같은 실수를 반복하지 않기 위해 자신의 시행착오를 바탕으로 특정 상황에서 발생하는 문제 패턴을 발견하고 해결방안을 기록으로 남겼다. 이를 ‘디자인 패턴’이라고 부른다.건축학에서 시작된 디자인
풀만한 문제 없나하며 백준 온라인 저지를 방황하다 DP 문제나 풀어볼까하고단계별로 풀어보기 - 동적계획법1에서 백준 2565 젓깃줄를 풀기 시작했다.이것이 문제의 시작이었다..한시간 가량 고민하다가 풀이가 생각나지 않는 찰나에 문제를 클릭할 때 LIS 응용 문제1이라고
동일한 목적을 가진 프로세스가 여러 개가 된다면 Code, data stack을 따로 만들어야 한다.같은 일을 처리하기 위해 동일한 프로그램을 여러 개의 프로세스로 만들게 되면, 그 만큼 메모리를 차지하게 되고 PCB도 각각 만들어야하기 때문에 프로세스간 통신을 위해
일단, 프로그램과 프로세스의 차이점을 간단하게 살펴보자.프로그램(Program) vs 프로세스(Process)프로그램(Program): 어떤 작업을 위해 실행할 수 있는 파일프로세스(Process): 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램 또는 메모리에 올
하나의 코어에서 여러 스레드가 번갈아가며 실행동시에 실행되는 것처럼 보임싱글 코어, 멀티 코어에서 모두 구현 가능논리적인 개념멀티 코어에서 여러 스레드를 동시에 실행실제로 동시에 여러 작업이 처리 됨멀티 코어에서만 구현 가능물리적인 개념간단한 개념을 익혔으니 좀 더 자
CPU는 Central Processing Unit의 약자이고, 중앙처리장치 라고 한다.인체에 비유했을 떄 인간의 두뇌라고 볼 수 있다.컴퓨터뿐만 아니라 스마트 워치, 스마트폰, 태블릿 등 다양한 전자기기에 사용되는 중요한 부품이다.CPU의 기본적인 역할은 연산작업이다
가장 긴 바이토닉 부분 수열 이라는 문제를 백준에서 풀게 됐다.일단 바이토닉 수열이 무엇인지 알아보자.특정 수를 기준으로 왼쪽에 위치한 숫자는 증가하고 오른쪽에 위치한 숫자는 감소하는 형태를 띤 부분 수열을 의미한다.https://www.acmicpc.net/
백준 문제를 풀다가 아무리 고민해도 감이 안 잡히면 첫번째로 알고리즘 분류를 통해 어떤 알고리즘으로 해결해야 되는지 힌트를 얻는다.가끔 슬라이딩 윈도우를 본 적 있지만 다른 방법으로 문제를 풀곤 했다..오늘도 백준 문제를 풀다가 잘 안 풀려 알고리즘 분류를 보니 슬라이