상업적 이용 및 출처없는 무단전재를 금합니다.
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일의 스크럼, XP에 대한 기본적인 소개와 스크럼 팀 안에서 테스트 역할자로써 사용자 스토리 리뷰, 테스트 설계, 짝 테스트, 테스트 자동화 등에 대한 내용을 사례 기반으로 소개하고 있습니다.
상업적 이용 및 출처없는 무단전재를 금합니다.
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일의 스크럼, XP에 대한 기본적인 소개와 스크럼 팀 안에서 테스트 역할자로써 사용자 스토리 리뷰, 테스트 설계, 짝 테스트, 테스트 자동화 등에 대한 내용을 사례 기반으로 소개하고 있습니다.
서버단에 비해 상대적으로 UI는 분석 및 테스트 수행 여부를 파악하기 쉽지 않습니다. 웹 UI의 HTML 또는 XML 형태의 엘리멘트와
다양한 이벤트들을 정적으로 분석하고 이를
1) 테스트 대상으로 활용
2) 개발완료 여부, 표준 준수 여부 등을 검사
3) 개발 완료 이후 변경 부분 히스토리 관리
등으로 활용한 사례를 공유합니다
저는 핀테크 서비스 개발 프로젝트에 참여하여 CI 구축과 QA 자동화 부분 개발을 담당하였습니다.
프로젝트가 시작하면 수 많은 개발자들과 기획자 그리고 QA 들이 다투는 것은 빈번한 일상입니다..
바쁜 개발 과정에서 기본적인 로그인 함수의 구현을 계속해서 체크해야 하는 것은 매우 불편하고 번거롭죠.
Selenium과 Jenkins를 통해 다음과 같은 상황을 자동화하여 개발자들과 QA/기획자들간의 갈등을 줄이고자 합니다.
스크린샷 중 가린부분들은 현재 회사 프로젝트 유출 방지를 위한 것이니 너그러이 용서해주시길..
The document outlines an agenda for a pattern writing bootcamp. It includes introductions, discussions of pattern basics like what patterns are and their typical structure, workshops for writing and providing feedback on patterns, brainstorming a pattern language architecture, and writing patterns. The goal is for participants to learn about patterns and work together to improve their pattern writing skills.
서버단에 비해 상대적으로 UI는 분석 및 테스트 수행 여부를 파악하기 쉽지 않습니다. 웹 UI의 HTML 또는 XML 형태의 엘리멘트와
다양한 이벤트들을 정적으로 분석하고 이를
1) 테스트 대상으로 활용
2) 개발완료 여부, 표준 준수 여부 등을 검사
3) 개발 완료 이후 변경 부분 히스토리 관리
등으로 활용한 사례를 공유합니다
저는 핀테크 서비스 개발 프로젝트에 참여하여 CI 구축과 QA 자동화 부분 개발을 담당하였습니다.
프로젝트가 시작하면 수 많은 개발자들과 기획자 그리고 QA 들이 다투는 것은 빈번한 일상입니다..
바쁜 개발 과정에서 기본적인 로그인 함수의 구현을 계속해서 체크해야 하는 것은 매우 불편하고 번거롭죠.
Selenium과 Jenkins를 통해 다음과 같은 상황을 자동화하여 개발자들과 QA/기획자들간의 갈등을 줄이고자 합니다.
스크린샷 중 가린부분들은 현재 회사 프로젝트 유출 방지를 위한 것이니 너그러이 용서해주시길..
The document outlines an agenda for a pattern writing bootcamp. It includes introductions, discussions of pattern basics like what patterns are and their typical structure, workshops for writing and providing feedback on patterns, brainstorming a pattern language architecture, and writing patterns. The goal is for participants to learn about patterns and work together to improve their pattern writing skills.
앱 스크린샷을 최적화하는 방법 (How to optimize App screenshot)SeHeung Oh
앱 마케팅에 관한 자료를 찾다가 공부 겸 정리를 하려고 작성한 문서입니다.
App 스크린샷을 만들 때 한번쯤은 참고 해보면 좋을 듯 합니다.
(두번 참고하셔도 됩니다^^;)
본문은 "ㅁ체"로 작성한 점 양해 부탁드립니다.
- Update 2015. 01. 16
텍스트가 작아서 조금 더 키운 버전으로 교체하였습니다.
『이펙티브 디버깅』 - 디버깅 지옥에서 탈출하는 66가지 전략과 기법복연 이
『이펙티브 디버깅』 디버깅 지옥에서 탈출하는 66가지 전략과 기법
디오미디스 스피넬리스 지음 | 남기혁 옮김 | 한빛미디어 | 24,000원
★ 소프트웨어의 완성은 디버깅!
이 책은 경험이 풍부한 개발자를 대상으로 소프트웨어를 완성하는 마지막 기술을 가르친다. 저자는 35년 경험에서 깨우친 일반 원칙, 높은 수준의 전략, 구체적인 기술에 관한 조언, 효율 높은 도구, 창의적인 기법, 효과적인 디버깅과 관련된 행동 특성을 제시한다. 저자가 제안하는 66개의 전문 기법을 통해 디버깅 역량을 확장하고, 각 문제 상황에 맞는 최상의 접근법을 선택할 수 있을 것이다.
★ 주요 내용
다양한 소프트웨어 장애를 해결하는 높은 수준의 전략과 방법
프로그래밍, 컴파일, 실행 시 적용할 구체적인 기법
디버거를 최대한 활용하는 방법
믿고 투자해도 좋은 범용 기술과 도구
막다른 길과 복잡한 미궁에서 탈출하는 첨단 아이디어와 기법
디버깅하기 쉬운 프로그램을 만들기 위한 조언
멀티스레딩, 비동기, 임베디드 코드 디버깅에 특화된 접근법
향상된 소프트웨어 설계, 구축, 관리를 통한 버그 회피법
[PYCON Korea 2018] Python Application Server for Recommender System Kwangseob Kim
한글 수정: https://www.slideshare.net/kimkwangseop/pycon-korea-2018-python-application-server-for-recommender-system-110602118
추천 시스템을 위한 어플리케이션 서버 개발 후기
@ PYCON Korea 2018
link: https://www.pycon.kr/2018/program/33
This document discusses the prototype pattern, which allows the creation of objects based on an existing "prototype" object, rather than based on classes. It covers how prototype pattern works, its structure, use cases and caveats. Examples of implementing prototype pattern in Java and JavaScript are provided to illustrate shallow and deep copying of objects.
The Singleton pattern ensures that only one instance of a class is created and provides a global access point to that instance. It describes how to implement the concept of a singleton class by creating a private constructor, a static method that returns the instance, and a static property that holds the single instance of the class. The document discusses issues that can arise with thread safety when multiple threads simultaneously try to access the singleton instance and provides solutions like using mutex locking to ensure only one thread initializes the instance.
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101) YoungSu Son
모바일 앱 성능 분석 방법에 대해서 설명을 드립니다
- 기존 서버 APM과 모바일에서의 성능 기준의 차이
- 모바일 제약사항및 아키텍처
- 안드로이드는 어떻게 발전해 왔나
- Vectorization
- Loop
- Redex / Optimized Layout
- Garbage Collector
- 제조사가 보장해야 되는 성능
- 개발사가 고민해야 되는 영역
- 실사례 설명
- 갤럭시노트 2의 점유율
- Xiaomi 폰의 국내 4위 시장 점유율
- 여러가지 모바일 성능 리포트
151. 비즈니스 모델 캔버스는 창업자들이 생각한 가설이고,
고객 개발은 창업자들이 생각해낸 해결책을 검증하기
보다는 창업자들이 가정한 문제가 진짜 고객의 문
제인지 검증하는 것이다!
Steve Blank
Lean Startup의 아버지
Customer Development Method 저자
155.
서드 파트 라이브러리 때문에 앱의 성
능에 문제가 생기는 경우가 많다. 직접
개발한 코드가 아니기 때문에 동적으로
분석해서 문제를 해결할 수 밖 에 없는
데 기존 분석 툴로는 정확한 정보를 얻
기가 굉장히 힘들다.
기존에 DDMS를 이용해서 성능분석을
하지만 한 번에 볼 수 있는 차트가 부족
하고 히스토리를 쉽게 남길 수가 없어
서 이전 분석과 이후 분석에 대해서 비
교가 쉽지 않다.
대부분 개발이 NDK로 이루어지는 상태
이다. 미디어 프레임워크에 대한 성능
분석을 자바 레벨과 Native 레벨에서 모
두 하고 싶지만 통합해서 쉽게 할 수 있
는 방법이 현재 없는 상태인 것 같다.
너무 많은 툴들이 분산되어있고 빠르게
정리해서 볼 수가 없다.
기존 크래시 리포트는 배포 후 end 유
저의 보고를 통해서만 알 수 있다. 스타
트업의 경우 빠르게 배포 후 고쳐나가
는 게 맞지만 배포 전에 적은 비용으로
미리 이러한 문제를 예측하고 해결할
수 있다면 좋을 것 같다.
알람 앱이 오작동하는 버그는 크래쉬가
아니기 때문에 잡을 수 없다. 미리 상황
을 예측하거나 오작동할 때 end user의
앱 상태를 관찰할 수 있는 방법이 없다.
빠르게 앱 개발을 해야 하는 일정에서
배포 전에 전체적으로 앱의 퀄리티를
향상시킬 수 있는 방법이 있으면 좋겠
다.
빠르게 앱 개발을 해야 하는 일정에서
배포 전에 전체적으로 앱의 퀄리티를
향상시킬 수 있는 방법이 있으면 좋겠
다.
193. 1) Purpose Goal 수립
목적
목표
• 성능분석 솔루션 브랜드를 가지
고 싶다
• Android 성능 분석
• 사용자의 느낌 – 실제 런칭 전에
사전문제를 점검
• 다른 사람에게 도움이 되는 글 발
표
• 많은 개발자들이 App 개발, 배포
전 필수적으로 사용되는 Product
가 되기를 희망
• 런칭 후에 다른 사람들에게 피드
백을 받고 싶다
194. 2) Why Why not Buy?
사야 되는 이유와 사지 않는 이유를
각자 30개씩 적고 그룹화 한다
196. 3) Simple Value Proposition
Offer
성능이슈해결
개발 및 유지보수
비용 감소
학습비용 최소화
소스코드에서 메모리에 영향을
주는 부분을 체크하고 실시간
메모리 추적을 통해 메모리
누수를 측정한다
Value
버전별 Test를 통해 해당 A
pp의 Android 버전별
분석 결과를 알려준다
Android App의 성능에 악영
향을 끼치는 문제의 원인과
해결책을 보여주고 이에
기반한 App 등급을 보여준다
해당 App의 CPU사용률을
수치화하여 분석결과를 보여준
다
문제의 원인이 되는 소스
코드의 정확한 지점을 알
려준다
환경에 구애받지 않고 어디에
서든 사용할 수 있는
웹 기반이다
App이 컨텐츠(이미지, 동영상
등)를 처리하는 과정에서 발생
할 수 있는 문제를 찾아준다
내가 원하는 Test시나리오
를 만들고, 저장하고, 재사
용할 수 있다
부가적인 설정없이 클릭만으
로 처음쓰는 사람도
쉽게 사용 가능
200. 5) Convergence
Offer
웹에서 자동으로 설정파일을 만
들어주고 전체과정을 순서대로
따라할 수 있도록 함으로써 환경
에 구애받지 않고 설정과 학습곡
선을 줄여준다
소스코드에서 메모리에
영향을 주는 부분을
체크하고 실시간 메모리
추적을 통해 메모리 누수를 측
정한다
Value
App이 예상치 못하게 종료되
거나 느려지는 원인을 조기에
찾아준다
정상적으로 동작하지 않는 버전이나 시나
리오를 찾아 그 원인과 해결책을 종류별로
그룹화하여 심각성이 높은 순서대로 보여
준다
버전별 Test를 통해 해당 App의
Android 버전별 분석 결과를 알려준다
환경에 구애받지 않고 어디에서
든 사용할 수 있는
웹 환경이다.
해당 App의 CPU사용률을 수
치화하여 분석결과를
보여준다
문제가 되는 소스코드의 정확한 위치와 해
결책을 종류별로 그룹화하여
심각성에 따라 우선순위를 부여하여
높은 순서대로 보여주고 이를 기반으로
App등급을 매겨준다
원하는 기능을 선택하면 자동으
로 이에 대한 완성된 설정파일을
제공함으로써 기존에
요구되던 복잡한 설정과정을
없앤다
내가 원하는 Test시나리오를 만들고,
저장하고, 재사용할 수 있다
포커싱과 따라하기 기능을
통해 전체 과정을 Step by Step으
로 따라가는 환경을
제공하여 학습곡선을 줄인다
App이 컨텐츠
(이미지, 동영상 등)를 처리하
는 과정에서 발생할 수 있는
문제를 찾아준다
850. Aop를 이용한 자동 코드 삽입
시나리오 수집 로직
Weaving
리스너 메소드
호출 시점
851. 컴파일로 보는 Weaving시점
Compile Time Weaving
java
class
Class Loading
Weaving
Runtime
Weaving
JVM
Compile Time Weaving
java
class
dex
apk
Dalvik
Java ByteCode가 아닌 Dalvik Code를 사
용