스레드 하나에 루퍼, 핸들러, 메시지 큐를 하나씩 가지고 있다. 메시지 큐루퍼 내부에 존재, 외부 스레드로부터 핸들러를 통해 받은 메시지나 테스크를 저장하는 역할Runnable 객체면 핸들러에게 전달하지 않고 run()을 수행Message 객체 내부의 명시되어 있는 H
TCP/IP 4계층 제일 위에 있는 어플리케이션 계층웹서비스 통신에 사용됨기본적으로 한 연결당 하나의 요청을 처리하도록 설계됨 -> RTT 증가서버로부터 파일을 가져올 때마다 TCP 3-way-handshake를 계속해서 열어야하기 때문에 RTT가 증가하는 단점이 있음
RecyclerView Test를 하면서 기본적으로 테스트하기 어렵다는 생각이 들었다.androidTest 폴더를 만들고 테스트 클래스를 만든 다음 보일러플레이트 코드를 복사해주자해당 메서드는 N번째 Child를 View로 리턴해주는 함수다.그리고 해당 모듈들을 Imp
면접 질문 중 한 번씩 나올 수 있는 TCP/IP 4계층 모델을 공부해보자 인터넷 프로토콜 스위트(Internet Protocol Suite)? 인터넷에서 컴퓨터들이 서러 정보를 주고받는데 쓰이는 프로토콜의 집합이며, TCP/IP 4계층, OSI 7계층 모델로 설명할
위 예제에서 100개의 coroutine을 띄우고 각 코루틴은 전달받은 action을 1000번 수행한다.값이 보장되게 하려면 어떻게 해야할까?자바의 volatile 키워드 또는 코틀린의 @Volatile 애노테이션을 변수 선언시 지정할 수 있다. 사전적 의미로는 ‘휘
네트워크? 네트워크란 노드와 링크가 서로 연결되어 있거나 연결되어 있지 않은 집합을 의미한다. 네트워크는 컴퓨터 등의 장치들이 통신 기술을 이용하여 구축하는 연결망을 지칭한다. 처리량과 지연시간 처리량 링크를 통해 전달되는 시간 단위 시간당 데이터 단위로는 bps(
요즘은 xml로 DI를 주입하는게 아니라 annotation 기반의 자바 클래스를 만들 수 있음.현재 어노테이션으로 의존성 주입한 config 클래스이다.test 폴더로 가서 ApplicationContextInfoTest.java를 생성한다.현재 주입하고 있는 클래스
관점지향 프로그램스프링 어플리케이션은 대부분 특별한 경우를 제외하고는 보통 MVC 웹 어플리케이션 WebLayer,Buisness Layer, Data Layer로 정의된다.RestAPI를 제공하며 Client중심의 로직 적용내부 정책에 따른 Logic을 개발하며, 주
스프링에서는 일반적인 Java객체를 new로 생성하여 개발자가 관리하는 것이 아닌 Spring Container에게 위임하는 것.개발자 -> 프레임워크에게 제어의 객체관리의 권한이 넘어갔음으로 "제어의 역전"으로 불린다.의존성 주입이라고도 한다. 종속성을 내부에서 생성
react-native로 안드 빌드시 에러 발생java.io.IOException: Cannot run program "node"터미널로 해당 명령어로 안드로이드 스튜디오 열어서 gradle synk하면 해결출처: https://itnhappy.tistory.
Service 백그라운드에서 오래 실행되는 작업을 수행할 수 있는 구성 요소이며 사용자 인터페이스를 제공하지 않는다(화면에서 보이지 않는 작업을 수행) 이는 사용자가 다른 애플리케이션으로 전환하더라도 백그라운드에서 계속해서 실행된다. 이외에도 구성 요소를 서비스에 바
안드로이드에서 viewpager2 + fragmentStateAdapter 조합으로 사용할 때 wrap_content으로 하면 fragment 부분이 보이지 않는 경우가 있는데 해당 화면을 보여주기 위해서뷰페이저 apply에 해당 부분을 넣어준다.
코루틴은 여러 디스패쳐를 사용하여 스레드를 관리할 수 있다.디스패쳐를 명시하지 않는 경우 main 스레드에서 작업을 수행하게 된다.Default는 코어 수에 비례하는 스레드 풀에서 수행한다.보통 복잡한 연산에서 쓰이는 스레드IO는 코어 수보다 훨씬 많은 스레드를 가지는
중단하거나 재개할 수 있는 함수메인함수를 보면 value1 다음에 value2가 순차적으로 실행되게 되는데 여기서 동시에 실행하면 성능을 훨씬 높일 수 있는 방법이 있다.순차적으로 실행할 때보다 시간이 확실히 많이 줄어든 것을 확인 할 수 있다.실행 목적을 생각했을 때
컴포넌트간의 의존 관계를 소스코드 내부가 아닌 외부 설정 파일등을 통해 정의되게하는 디자인 패턴 중 하나객체를 직접 생성하지 않고 외부에서 주입한 객체를 사용하는 방식인스턴스 간 디커플링을 만들어줌 -> 유닛테스트 용이성 증대중앙 등록자 Service Locator를
코루틴 빌더 runBlocking 코드 블록이 수행될때까지 다른 작업을 수행하지 않고 실행함 (안드로이드에서 사용하면 안 됨 ANR 야기)
원티드나 로켓펀치 등 구직 사이트 우대사항에서 MVVM에 대한 언급이 아주 많다. 그만큼 실무에서 큰 프로젝트에 적용이 되어있는 패턴이고 앱 아키텍쳐의 중요한 부분이다.규모가 큰 프로젝트에서 많이 쓰이는 만큼 안드로이드는 MVP,MVVM 패턴을 주로 사용하는 회사들이
문제- 신규 아이디 추천 오랜만에 알고리즘 문제를 풀어봤는데 지금까지 Python으로 많이 풀어왔지만 이번엔 코틀린으로 한 번 풀어봤다.생각보다 쉽지 않았고 시간이 많이 걸렸다.람다로 짜는걸 좋아해서 람다로 풀어보기로 했다.1단계 new_id의 모든 대문자를 대응되는