-
[Android] Monkey Test #1
우리는 프로그래밍을 하면서 다양한 검증을 거친다. 그 중에서 오늘 알아보고자 하는 것은 Android에서 제공하는 일종의 스트레스 테스팅 툴인 Monkey다. 트랜디한 툴은 아니지만 업무에서 사용되는 툴이길래 궁금해서 학습하는 겸 찾아보고 포스팅하게 되었다. 😊 Android Monkey? Android에서 제공하는 자동화된 앱 테스트 도구다. 단말에서 실행되는 프로그램으로 여러 시스템 레벨 이벤트 뿐만 아니라 클릭, 터치, 동작과 같은 사용자와의 상호작용을 테스트 한다. Monkey는 기본적으로 랜덤한 이벤트를 발생시켜서 테스트를 수행한다. 여기서 이름이 Monkey인 이유를 알 수 있다. 사람이 테스트 하는 경우 보편적으로 프로그램의 사용 시나리오를 따라가고 정확한 동작을 하는지를 알아보는 경우가 많..
2023.02.26
-
[취준 후기] 0.개요 - 현대오토에버에서 삼성전자까지
취업을 하는 시기와 방법에는 여러 가지가 있다고 생각한다. 아마 취준을 처음 하는 분들은 언제부터 회사에 지원이 가능한지, 어떤 회사가 나에게 맞는지 알기 어려울 것이다. 그래서 처음으로 취준을 시작하는 혹은, 취업을 어떤 식으로 준비해야 하는지 궁금해할 분들에게 나의 경험을 나누고자 한다. 처음 취업 준비했던 19년 하반기에 현대오토에버 합격 후 20년 상반기, 20년 하반기까지 이직 준비를 했었다. 지금은 20년 하반기 공채로 삼성전자에 합격하여 입사 준비하고 있다. 3시즌간 경험과 1년간 재직 경험을 토대로 IT 업계와 개발자로 취업한다는 것에 대한 내 생각과 경험을 작성하려고 한다. 물론, 취준에는 정해진 왕도가 없을 뿐더러 지극히 개인적이고 주관적인 글이기 때문에 100% 맞지 않을 것이다. 이..
2021.01.01
-
[Protocol] Nagle Algorithm
* Nagle Algorithm? Server의 ACK를 받기 전까지 출력 버퍼에 보낼 패킷을 쌓고 ACK를 받으면 버퍼에 있던 패킷을 한번에 전송하는 TCP 통신 알고리즘 * TCP Flow Control TCP 패킷 흐름 제어 방식에는 Stop-and-wait, Sliding Window 등이 있다. 1. Stop-and-wait Stop-and-wait 같은 경우는 ACK를 수신 받아야 다음 패킷을 보낼 수 있어서 비효율적이다. 2. Sliding Window 쉽게 설명하면 Window 사이즈만큼 한번에 패킷을 전송할 수 있는 방법이다. Window 사이즈는 동적으로 변한다. * 송신했으나 아직 확인 응답을 못받았으면 Window에서 나머지만큼만 전송이 가능하다. (Window 7칸 중 2개 보냈는..
2020.08.02
-
[PostgreSQL] Sequence란?
Sequence란 유일한 값을 생성하게 도와주는 객체이다. 주로 ID와 같이 순차적으로 증가하는 컬럼에 많이 사용한다. Sequence는 테이블과는 독립적으로 저장되고 생성되기 때문에 여러 테이블에서 참조해서 공유되지 않게 조심하자! * Sequence 정의 Sequence를 정의하는 DDL은 다음과 같다. seq_user_id라는 Sequence를 생성해보겠다. CREATE SEQUENCE seq_user_id INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 9223372036854775807 CACHE 1; 그리고 해당 Sequence를 사용 권한을 계정에 등록을 해줘야한다! -- postgres가 OWNER이고 ALTER SEQUENCE seq_user_id OWNER TO ..
2020.07.19
-
[Android] 코드 스캔하기 with Lint
높은 코드 퀄리티, 안정성 있는 코드를 작성하기 위해서 다양한 테스트를 진행한다. Unit Test를 작성함으로 코드가 요구 사항을 만족하는지 동작을 확인할 수도 있고, 필자가 이전에 작성한 Monkey Test등 UI Test 툴을 사용하여 실사용에서의 문제를 체크해볼 수도 있다. 동적 테스트를 수행 했었다면 이번에는 정적 분석을 할 수 있는 툴을 알아보자. 1. Lint란? 쉽게 요약하자면 Android Studio에서 제공하는 코드 정적 분석 툴이다. Lint를 사용하면 소스 파일을 검사하여 잠재적 버그를 찾아내고 정확성, 보안, 성능, 사용성, 접근성, 국제화를 체크 해볼 수 있다. 2. Lint 실행 방법 Android 프로젝트에 Lint를 구성하게 되면 프로젝트 빌드시 매번 Lint가 수행되게..
2023.04.09