본문 바로가기

분류 전체보기256

[OS] Context Switching - 프로세스와 쓰레드에서의 컨텍스트 스위칭 * 프로세스란? 실행파일을 클릭했을 때, 메모리(RAM)할당이 이루어지고, 이 메모리공간으로 코드가 올라간다. 이 순간부터 이 프로그램은 '프로세스'라 불리게 된다.  * 프로세스의 스케줄링? CPU는 하나인데, 동시에 여러 프로세스가 실행되어야한다. CPU는 여러개의 프로세스를 번갈아가면서 실행하는데  매우 고속이기 때문에 우리 눈에는 동시에 실행되는 것처럼 보인다. 이러한 멀티프로세스 운영체제에서 프로세스의 CPU 할당 순서 및 방법을 결정짓는 것을 '스케줄링'이라 한다.  * 프로세스의 상태변화? 프로세스는 Ready, Running, Blocked 상태를 지닌다. Running 상태인 프로세스는 더 우선순위가 높은 프로세스가 실행될 경우 Ready 상태가 되고, 우선순위가 높은 프로세스가 실행된다.. 2024. 3. 3.
[Android] 빌드 변형 구성 (ProductFlavors) 한 개의 프로젝트로 여러개의 앱 만들기 오늘은 AndroidProject에서 build.gradle파일에서 빌드변형구성(ProductFlavors)을 활용하여 하나의 프로젝트에서 여러개 packageName 및 appName을 가진 앱을 만드는 방법에 대해서 알아보겠습니다.이번에 소개하는 내용은 무조건적인 정답은 아니라고 생각합니다.하지만 제가 배우고 적용하면서 편리했던 내용을 정리한것이기 때문에 여러분들이 필요한 부분만 활용하여 사용하시는 것을 추천 드립니다. Android Developer 빌드 변형 구성https://developer.android.com/studio/build/build-variants?hl=ko  빌드 변형 구성  |  Android 개발자  |  Android Developers빌드 변형을 구성하여 단일 프로젝트에서.. 2024. 2. 18.
[flutter] Flutter (2) - Dart 문법 CH.2 다트 Chapter Point 다트의 Hello, World 다트 프로그램 해부 제어 흐름, 루프, 함수 등 기본 문법 객체지향 프로그래밍 I/O 라이브러리 사용법 1. Hello, Dart 개발자로써 새로운 언어를 시작하면 꼭 거쳐가야할 단계가 있다. 바로 Hello World! 출력해보기! 학교를 다닐적에 입학 후 첫 수업에서 Hello World 출력은 여러모로 기억에 남는 추억이다. 그 이후로 자바, C+, javascript, python등 새로운 언어를 시작할 때마다 한 번씩은 출력을 했던 것 같다. 여하튼 Dart에서 Hello Dart를 출력해보자. void main() { print("Hello, Dart!"); } 이걸 어디서 실행시킬지는 각자의 자유다. 터미널에서 직접 코드를.. 2024. 2. 11.
[Android] Compose UI 테스트 (androidTest) TDD기반 개발을 진행하라테스트코드 작성에 정성을 다해라.등의 테스트코드에 대한 중요성을 정말 여러곳에서 들을 수 있었다. 하지만 안드로이드 개발을 진행하며 테스트 코드를 작성해본 적이 손에 꼽을 정도로 적어 한번 안드로이드에서의 테스트 코드를 작성해보고자 한다.단위테스트와 UI테스트단위 테스트는 응용 프로그램에서 테스트 가능한 가장 작은 소프트웨어를 실행하여 예상대로 동작하는지 확인하는 테스트이다.단위 테스트에서 테스트 대상 단위의 크기는 엄격하게 정해져 있지 않지만, 일반적으로 클래스 또는 메소드 수준으로 작은 테스트를 의미한다.UI 테스트는 애플리케이션의 사용자 인터페이스 (UI)를 테스트하는 과정이다. 지정된 시나리에 따라 기능을 테스트하고 UI 동작을 확인한다.지금까지 개발하며 거의 모든테스트를.. 2024. 2. 9.
[Android] UI 테스트 (3) - Espresso (Activity Rules) 이번에는 UI 테스트에서 사용하는 ActivityRule 에 대해서 설명할 것이다. Rule 에는 ActivityTestRule, ActivityScenarioRule 두 가지가 존재한다.또, Rule 없이 사용하는 방법으로 ActivityScenario 가 존재한다.구글은 ActivityScenarioRule 나 ActivityScenario 를 쓰기를 권장하고 있으니 해당 부분만 보아도 된다. TestRule우선 Rule의 동작은 간단하다. @Before 단계 이전에 실행되며@After 단계가 끝난 후 종료된다. @Before, @After 가 없으면 모든 @Test의 시작과 끝에 맞춰 실행된다. ActivityRule의 경우로 보면 @Before 단계 이전에 액티비티 Rule이 생성되고@After .. 2024. 2. 9.
[Android] UI 테스트 (2) - Espresso (ViewMatcher, ViewAction, ViewAssertion) ViewMatchers, ViewActions, ViewAssertions에 포함된 함수들과 어떤 식으로 사용해야 하는지를 설명하고,주의할 점들을 알아보려 한다. ViewMatchers뷰의 상태와 Matcher 함수들을 모아 놓은 클래스이다.ViewMatchers는 뷰를 찾기 위해서도 ( onView ) 쓰고, 뷰의 상태를 확인하기 ( check ) 위해서도 사용한다.onView(withText("Welcome")) .check(matches(allOf(isDisplayed(),withText("Welcome"))))위의 코드에서 사용된 withText, isDisplayed 같은 것들이 ViewMatcher이다.ViewMatchers안에는 몇십 개 이상의 함수가 있기에 모두 소개할 수 없고, 몇 .. 2024. 2. 9.