반응형

SW/앱플랫폼 22

모바일 앱 테스트의 발전: AI의 잠재력 활용

전통적인 소프트웨어 테스트는 개발자들에게 골칫거리였습니다. 그것은 상당한 시간, 자원, 그리고 투자를 요구합니다. 그러나 인공지능의 새로운 발전은 상황을 흔들고 있습니다. 테스트는 종종 개발자들에게 골칫거리가 되어 왔습니다. 결국, 기존의 소프트웨어 테스트는 상당한 시간, 자원 및 투자를 필요로 합니다. 소프트웨어 개발자는 전체 시간의 20~50%를 테스트에 소비합니다. 재정적 관점에서만 보면 테스트는 전체 IT 예산의 23~35%를 차지합니다. 이러한 수치는 조직이 직면한 도전의 중대성을 단적으로 보여줍니다. 하지만 인공지능의 급격한 상승으로 이야기가 바뀌고 있습니다. 인공지능을 이용한 테스트 알아요. 알아요. 인공지능이 어떤 것에 혁명을 일으키는지에 대한 또 다른 강의입니다. 하지만 중요한 것은, G..

SW/앱플랫폼 2023.10.15

안드로이드 스튜디오 : 빌드오류해결 : This version of Android Studio cannot open this project, please retry with Android Studio 3.4 or newer

This version of Android Studio cannot open this project, please retry with Android Studio 3.4 or newer 예전에 진행하던 안드로이드 프로젝트 과제가 위와 같은 에러를 뿜으며 빌드가 되지 않았다. 잘되던 친구가 안되서 빌드 버전을 낮춰서 해결을 할 수 있을 것으로 보였다. 하지만, 앞으로 서비스를 만들어가는 데, 굳이 버전을 낮춰서 해결을 하고 싶지 않아 조사를 해보니, 안드로이드 스튜디오를 업그레이드 하면 해결 할 수 있다고 한다. 안드로이드 스튜디오 업데이트하는 방법은 하기와 같다. Help -> Check for Updates 메뉴 탭에서 위와 같이 들어가 업데이트를 진행한다. 최근 sdk 안드로이드 10 버전이 나오고, ..

SW/앱플랫폼 2019.10.01

구글 플레이 개발자 정책 : 변경된 사항에 대해 알아볼까요?

2019년 8월 어떤 정책이 달라졌을까? 구글 플레이에서 정책이 업데이트가 되었다고 메일이 도착하였습니다. 해당 메일을 번역하고 어떠한 점이 업데이트됬는지 알아보고자 합니다. Google Play 개발자 님, 안녕하세요. 개발자 정책 센터의 최신 업데이트에 대해 알려 드리고자합니다. Google Play는 개발자와 소비자 모두에게 긍정적 인 경험을 제공하기 위해 지속적인 노력의 일환으로 수시로 업데이트를 진행합니다. 본 이메일은 최근 Google 정책 변경 사항을 알려드립니다. - 제 3 자에게 프록시 서비스를 제공하는 앱을 다루는 추가 예제로 장치 및 네트워크 악용 정책을 업데이트했습니다. - 금융 상품 및 서비스 정책을 확장하여 사기 및 악용 개인 대출 조건으로부터 사용자를 보호합니다. - 투표 절차..

SW/앱플랫폼 2019.09.05

안드로이드 : 코틀린으로 개발해도 되는 이유

훌륭한 IDE 및 툴링 지원신뢰하는 회사가 지원하기 때문에, 지속적인 지원에 대해 걱정할 필요가 거의 없습니다. JetBrains는 세계에서 가장 많이 사용되는 IDE를 만드는 것을 전문으로 합니다. Android Studio에서 Kotlin 지원을 받으려면이 플러그인을 설치하면 됩니다. 간단합니다. 이클립스를 계속 사용하고 있다면, 이클립스 플러그인도 제공합니다. 모든 Android Studio의 IDE 기능은 Kotlin에서 완벽하게 작동합니다. 동일한 프로젝트에서 Kotlin과 Java 코드를 혼합하고 일치시킬 수 있으며 모든 것이 잘 작동합니다. 다른 JVM 기반 언어에 대한 IDE 지원은 그리 좋지 않습니다. Kotlin 플러그인이 Android Studio에 제공하는 또 다른 놀라운 기능은 "..

SW/앱플랫폼 2019.08.30

자바말고 코틀린을 사용해야 한다?

Kotlin은 Java와 100 % 상호 운용 가능Kotlin에 대해 가장 좋아했던 것입니다. Kotlin에서 Java 코드를 완벽하게 호출 할 수 있습니다. Kotlin과 Java는 모두 동일한 바이트 코드를 생성하므로 Kotlin과 완전히 다른 제품을 사용한다고 걱정할 필요가 없습니다. 즉, 기존 프로젝트에서 모든 기존 Java 코드를 사용하여 Kotlin을 즉시 사용할 수 있습니다. Kotlin에서 앱의 단순하고 작은 부분을 작성하여 구조와 구문에 익숙해지기 시작하십시오 (그런데 매우 간단합니다). UI 구성 요소와 간단한 비즈니스 로직을 포함하여 대규모 프로젝트의 작은 부분에 Kotlin을 사용하기 시작했습니다. 전체 코드베이스의 4-5 %만이 Kotlin으로 작성되었습니다. 나머지는 여전히 Ja..

SW/앱플랫폼 2019.08.29

앱플랫폼 : 코틀린의 장점과 자바의 단점

자바는 오류가 발생하기 쉽다Java의 가장 큰 결함 중 하나는 "널 (null)"을 처리하는 방식이며, NPE (NulPointerException) (일반적으로 The Billion Dollar Mistake)로 이어집니다. 그것을 10 억 달러의 실수라고 부릅니다. 이것은 1965 년에 null 참조의 발명이었습니다. 이로 인해 수많은 오류, 취약점 및 시스템 충돌이 발생하여 지난 40 년 동안 수십억 달러의 고통과 피해를 초래했을 것입니다. — 찰스 안토니 리차드 호 아어 오늘날 NPE는 Android 앱에서 가장 일반적인 충돌 원인 중 하나입니다. 사실, 하나의 NullPointerException 없이 프로덕션에 앱을 만드는 것은 거의 불가능합니다. 그리고 "무효성"은 Android에서 훨씬 더..

SW/앱플랫폼 2019.08.27

앱 플랫폼 : 코틀린 : 개념, 장점, 추천 이유

Android 개발에 Kotlin을 사용해야하는 이유 Java가 Android 개발에 가장 널리 사용되는 언어이지만 이것이 항상 최선의 선택임을 의미하지는 않습니다. Java는 오래되고 장황하며 오류가 발생하기 쉬우며 현대화하는 데 시간이 오래 걸렸습니다. 코틀린은 가치있는 대안입니다. OpenJDK 개발자는 Java 8과의 격차를 해소하기 시작했지만 Android는 Java 8의 모든 기능을 사용하지 못합니다. 개발자는 여전히 오래된 Java 7 및 6 세계에 갇혀 있기 때문에, 가까운 장래에 크게 개선되지는 않습니다. Kotlin의 강점은 바로 여기에 있습니다. JVM (Java Virtual Machine)을 기반으로 하는 비교적 새로운이 오픈 소스 언어는 Android 소프트웨어 엔지니어에게 큰 ..

SW/앱플랫폼 2019.08.23

앱플랫폼 : Android ViewGroup과 View의 차이점

View- View 객체는 Android에서 UI(사용자 인터페이스) 요소의 기본 구성요소입니다.- View는 사용자의 행동에 반응하는 간단한 사각형 박스입니다.- 예를 들어 EditText, Button, CheckBox 등이 있습니다.- View는 Android.view.View class를 가리킵니다. 모든 UI 클래스의 기본 클래스입니다. ViewGroup- ViewGroup은 보이지 않는 컨테이너입니다. View 및 ViewGroup을 보유합니다.- 예를 들어, LinearLayout은 버튼(View)을 포함하는 ViewGroup이며, 다른 레이아웃도 포함됩니다.- ViewGroup은 레이아웃의 기본 클래스입니다. ViewGroup은 다른 View를 포함할 수 있는 특수 View입니다. View..

SW/앱플랫폼 2019.06.21

앱플랫폼 : 안드로이드 라이프 사이클 : 개념, 동작, 방식

Activity Lifecycle 이해 사용자가 앱에서 이동, 복귀할 때 앱의 활동 인스턴스는 라이프사이클의 다른 스테이트를 통해 전환됩니다. Activity Class는 시스템이 Activity를 생성, 중지, 재개하거나 활동이 존재하는 프로세스를 파괴하는 등 상태가 변경되었음을 Activity가 알 수 있도록 하는 많은 콜백을 제공합니다. 라이프사이클 콜백 방법 내에서 사용자가 Activity를 종료하고 다시 시작할 때 Activity이 어떻게 이루어지는지 선언할 수 있습니다. 예를 들어 스트리밍 비디오 플레이어를 구축하는 경우 사용자가 다른 앱으로 전환할 때 비디오를 일시 중지하고 네트워크 연결을 종료할 수 있습니다. 사용자가 돌아오면 네트워크에 다시 연결하여 사용자가 동일한 위치에서 비디오를 재개..

SW/앱플랫폼 2019.06.20

앱플랫폼 : 안드로이드 onResume(), finish() 개념, 팁

onResume() 방법으로 활동을 안전하게 완료하는 방법은 무엇입니까? onResume()은 해당 데이터를 intent에서 일부 "extra" 데이터를 읽고 그에 따라 UI를 업데이트할 수 있습니다. onResume() 메소드로 간단히 finish()를 호출할 수 있을까요? 둘 다 라이프 사이클과 관련이 있다는 점에서 예상치 못한 일들이 좀 우려될 수 있습니다. 다른 더 좋은 방법이 있을 수도 있고, 유의해야할 부분들도 있을 것 같습니다. 활동이 유해한 영향을 주지 않고 언제든지 피니시()를 호출하여 자체 종료하는 것이 안전합니다. 분명히 finish()을 호출하기 전에 필요한 설정/데이터를 저장했는지 확인해야 합니다. 활동 설계에 따라 전적으로 사용자의 책임따릅니다.

SW/앱플랫폼 2019.05.13

앱플랫폼 : Android Manifest 개념, 용도

Android Manifest 파일의 용도는 무엇입니까? Android 응용 프로그램 매니페스트 파일에서 찾을 수 있는 내용을 설명하는 훌륭한 답변들이 몇 가지 있었지만, 매니페스트의 용도에 대해 조금 더 알아보았습니다. 짐작하시겠지만, 매니페스트에 제공된 많은 정보가 애플리케이션 패키지의 다른 곳에서도 찾을 수 있는데, 매니페스트가 있는 이유는 무엇일까요? 매니페스트는 기본적으로 다음 역할을 수행합니다. - 패키지의 다른 파일을 읽거나 응용 프로그램을 실행하지 않고도 앱에 대한 주요 정보를 사용할 수 있습니다.- 다른 앱에서 외부에서 액세스할 수 있는 애플리케이션 구성 요소(예: 활동 및 서비스)와 이러한 구성 요소가 다른 앱과 어떻게 상호 작용하는지를 정의합니다.- 특히 다른 앱과 관련하여 어떤 구성..

SW/앱플랫폼 2019.05.12

앱플랫폼 : 클라이언트, 서버, 호스트 개념과 역할

이번 포스팅에서는 홈 네트워크 환경에 따라 클라이언트, 서버 및 호스트 컴퓨터의 관계를 정의합니다. 클라이언트/서버 모델에 대해서는 가능성이 무한합니다. 또한, 클라이언트/서버 아키텍처는 인터넷을 가능하게 합니다. 이것은 LAN에 따라 클라이언트/서버 모델에 대한 기본적인 이해를 제공하도록 설계되었습니다. 클라이언트/서버 아키텍처(예: 웹 사이트 서버)를 위한 전체 리소스를 생성하는 것은 이번 포스팅 범위를 벗어납니다. 그러나 기본 개념은 동일하다고 생각합니다. 서버는 여전히 서버이며 클라이언트는 여전히 클라이언트 역할을 수행합니다. 클라이언트란?클라이언트는 서버에서 사용할 수 있는 서비스에 액세스하는 컴퓨터 하드웨어 장치 또는 소프트웨어를 뜻합니다. 서버는 종종 실제 별도의 컴퓨터에 위치합니다(항상 그..

SW/앱플랫폼 2019.05.11

앱 플랫폼 개발 : JWT ( 개념, 정의, 구조 )

JSON 웹 토큰이란?JSON Web Token(JWT)은 당사자 간에 안전하게 정보를 전송하기 위한 컴팩트하고 포함적인 방법을 JSON 오브젝트로 정의하는 개방형 표준(RFC 7519)입니다. 이 정보는 디지털 서명되어 있기 때문에 검증되고 신뢰할 수 있습니다. JWT는 비밀(HMAC 알고리즘 포함) 또는 RSA 또는 ECDSA를 사용하는 공개/프라이빗 키 쌍을 사용하여 서명할 수 있습니다. 비록 JWT는 당사자간의 비밀도 제공하기 위해 암호화될 수 있지만, 서명된 토큰에 초점을 맞출 것입니다. 서명된 토큰은 그 안에 포함된 청구권의 무결성을 검증할 수 있는 반면, 암호화된 토큰은 그러한 청구를 다른 당사자들로부터 숨길 수 있습니다. 공용/개인 키 쌍을 사용하여 토큰을 서명할 때, 서명은 또한 개인 키..

SW/앱플랫폼 2019.04.13

앱 플랫폼 개발 : 세션, 쿠키 ( 개념, 정의 )

세션세션은 사용자가 특정 컴퓨터, 프로그램 또는 웹 페이지에 로그인하거나 액세스하면 시작되고 사용자가 컴퓨터에서 로그아웃하거나 프로그램 또는 웹 페이지를 닫을 때 종료됩니다. 세션은 연결된 동안 사용자의 작업과 관련된 정보를 일시적으로 저장할 수 있습니다. 세션 쿠키는 사용자가 웹 페이지를 종료하거나 인터넷 브라우저를 닫을 경우 정보를 저장하는 데 웹 페이지에 사용됩니다. 예를 들어, 만약 여러분이 떠났다가 다시 온다면, 웹사이트가 창고에 무엇이 들어있는지 기억할 수 있는 한 가지 방법입니다. 컴퓨터 프로그래밍에서 세션 변수는 임시 정보를 저장하는 데 사용되며, 때로는 여러 웹 페이지에서 데이터를 검색하고 보는 데 사용됩니다. 사용자 이름과 암호가 필요한 웹 사이트에서는 세션 변수를 사용하여 웹 페이지 ..

SW/앱플랫폼 2019.04.11

앱 플랫폼 개발 : OAuth 개념, 정의, 구조

OAuth란 무엇입니까?OAuth는 응용프로그램에 "보안 지정 액세스" 기능을 제공하는 개방형 표준 인증 프로토콜 또는 프레임워크입니다. 예를 들어 Facebook에서 사용자의 프로필에 액세스하거나 Facebook 암호를 제공하지 않고도 타임라인에 업데이트를 게시할 수 있다고 할 수 있습니다. 이렇게 하면 ESPN이 위반될 경우 Facebook 암호가 안전하게 유지됩니다. OAuth는 암호 데이터를 공유하지 않지만 대신 인증 토큰을 사용하여 소비자와 서비스 공급자 간의 ID를 증명합니다. OAuth는 암호를 주지 않고 한 애플리케이션이 다른 애플리케이션과 상호 작용하는 것을 승인할 수 있는 인증 프로토콜입니다. OAuth 예제실행 중인 OAuth의 가장 간단한 예시는 "안녕, 다른 웹 사이트의 로그인으로..

SW/앱플랫폼 2019.04.10

앱 플랫폼 개발 : redis 정의, 개념, 장점

Redis는 데이터베이스, 캐시 및 메시지 브로커로 사용되는 공개 소스(BSD 라이센스가 부여된) 메모리 내 데이터 구조 저장소입니다. 범위 쿼리, 비트맵, 하이퍼로그 및 공간 인덱스를 사용하여 문자열, 해시, 목록, 세트 및 정렬된 집합과 같은 데이터 구조를 지원합니다. Redis의 장점Redis를 사용하면 응용 프로그램에 많은 이점이 있습니다. - Redis를 사용하면 KeyValue 쌍을 512MB까지 저장할 수 있습니다. 512MB까지 큰 KeyValue 값을 가질 수 있습니다. 따라서 Redis는 단일 항목에 대해 최대 1GB의 데이터를 지원합니다. - Redis는 Redis Hashing이라는 자체 해싱 메커니즘을 사용합니다. Redis는 데이터를 키와 맵, 즉 문자열 필드 및 문자열 값의 형..

SW/앱플랫폼 2019.04.02

Thread driven(쓰레드 기반), Event driven(이벤트 기반) : 정의, 분석

Nginx, Redis 및 노드는 모두 이벤트 기반입니다. 비동기식 작업(IO)이 완료되었다는 이벤트를 수신한 다음 비동기식 작업이 시작되었을 때 등록된 콜백을 실행하는 이벤트 루프가 있습니다. 이 루프는 어떤 것도 기다리지 않습니다. 즉, 단일 스레드가 이 코드를 실행하기만 하면 작업이 완전히 중단될 수 있습니다. 우리가 마이크로소프트의 노예였을 때, 작업을 나누는 방법으로 멀티스레딩과 씨름하곤 했습니다. 웹 앱에서 모든 요청이 새 스레드로 시작했습니다. 또한 쉬운 추상화가 아닌 TPML(Task Parallel Library)을 사용합니다. 그리고 이를 Rx(Reactive Extensions)와 같은 일부 이벤트 처리 라이브러리와 결합합니다. C#의 새로운 Wait 키워드는 많은 도움이 되지만, 어..

SW/앱플랫폼 2019.03.26

앱 플랫폼 설계 : Vertx, postman Json 주고 받기 (예제)

Gradle Project를 우선 생성해줍니다. 임의의 프로젝트 이름을 입력하고 Finish를 클릭합니다. build.gradle 수정아래와 같이 build.gradle 파일을 수정해줍니다. /* * This build file was generated by the Gradle 'init' task. * * This generated file contains a sample Java Library project to get you started. * For more details take a look at the Java Libraries chapter in the Gradle * user guide available at https://docs.gradle.org/4.3/userguide/java_li..

SW/앱플랫폼 2019.03.21

앱 플랫폼 설계 : 안드로이드 스튜디오 개요, 특징, 설치 방법

Android StudioAndroid Studio는 Android 애플리케이션 개발을 위한 공식적인 IDE(Integrated Development Environment)입니다. 소프트웨어용 Java 통합 개발 환경인 IntelliJ IDEA를 기반으로 하며 코드 편집 및 개발 도구를 통합합니다. Android 운영 체제 내에서 애플리케이션 개발을 지원하기 위해 Android Studio는 Gradle 기반 빌드 시스템, 에뮬레이터, 코드 템플릿 및 Github 통합하여 사용합니다. Android Studio의 모든 프로젝트에는 소스 코드와 리소스 파일이 포함된 모듈이 하나 이상 있습니다. 이러한 양식은 Android 앱 모듈, 라이브러리 모듈 및 Google App Engine 모듈을 포함합니다. A..

SW/앱플랫폼 2019.03.17

앱 플랫폼 개발 : Vert.x 개념, Listen 프로젝트 예제

Vert.xEclipse Vert.x는 JVM에서 반응성 애플리케이션을 개발하기 위한 이벤트 기반 툴킷으로, 비동기식 통신을 위해 설계되었습니다. Vert.x의 가장 기본적인 이점은 이벤트 기반 및 비차단 접근 방식으로 소수의 커널 스레드를 사용하여 많은 처리를 하는 것입니다. 이러한 방식으로 최소한의 하드웨어로 애플리케이션 확장 수행할 수 있습니다. 동기식 I/O 스레드 모델에서 알 수 있듯이 네트워크 통신은 각 클라이언트에 스레드를 할당하여 관리됩니다. 즉, 클라이언트에 할당된 스레드가 연결이 끊길 때까지 클라이언트를 처리합니다. 그러나 이벤트 기반 프로그래밍 모델을 제공하기 때문에 Vert.x를 사용하여 코드를 단일 스레드 애플리케이션으로 쓸 수 있습니다. Vert.x 코어 라이브러리는 비동기 네트..

SW/앱플랫폼 2019.03.16
반응형