• 제목/요약/키워드: native-code

검색결과 42건 처리시간 0.024초

A Case Study of Combining Two Cross-platform Development Frameworks for Storybook Mobile App

  • Beomjoo Seo
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • 제17권12호
    • /
    • pp.3345-3363
    • /
    • 2023
  • Developers often use cross-platform frameworks to create mobile apps that can run on multiple platforms with minimal code changes. However, these frameworks may not suit all the needs of a specific app, so developers may also use native APIs to add platform-specific features. This method eventually dilutes the advantages of cross-platform development methodology that aims to reduce development costs and time, and often leads to a decision to return back to the original native mobile development methodology. In this study, we explore a different approach: combining different cross-platform tools to develop a storybook mobile app that meets various requirements. We have demonstrated that integrating two cross-platform solutions can be used reliably to develop complex mobile applications. However, we also report that this approach can introduce unforeseen issues such as sandbox redundancy, unexpected functional burdens, and redundant permission requests. Despite these challenges, we believe that combining two cross-platform solutions can be applied to a variety of functional and performance requirements, enabling the development of more sophisticated mobile applications at lower costs and with shorter development timelines than traditional mobile app development methodologies.

Automatic Usage Profiling을 통한 초기 앱 실행 속도 개선 방법 (Improving application startup time by automatic profiling)

  • 채향석;백종문
    • 소프트웨어공학소사이어티 논문지
    • /
    • 제28권1호
    • /
    • pp.1-6
    • /
    • 2019
  • Google은 2009년 Bytecode로 구성된 Dex(Dalvik Executable)를 Dalvik Runtime의 Interpreter가 실행하는 형태의 Android를 공개하였다. 이후로 Interpreter 실행 속도 개선을 위해 JIT(Just-in-time) 컴파일 기술을 적용하였고 Lollipop(Android 5.0)부터는 Dalvik Runtime을 대체하여 ART Runtime을 제공하여 AOT(A head-of-time) 컴파일 지원을 통해 앱 설치 이후부터 Bytecode가 아닌 Native code로 동작하도록 함으로써 성능을 높일 수 있게 되었다. 하지만 앱 설치/업데이트 시점에 모든 대상을 컴파일하는 AOT 컴파일은 시간이 오래 걸리고 메모리/CPU 자원을 많이 사용함에 따라 느려지고 발열을 유발하여 사용자 불편함을 초래하였다. 시간이 지날수록 더 복잡하고 큰 코드를 지닌 앱들이 많이 등 장함에 따라 AOT 컴파일로 인해 발생하는 문제들이 더 많이 발생하게 되었고, Nougat(Android 7.0)부터는 이를 개선하여 AOT 컴파일을 앱 설치/업데이트 시점에 모두 수행하지 않고 최적화 시점을 나중으로 미루고 실제 사용자의 사용 기록인 Profile을 사용하는 Profile-guided 컴파일 방법을 통해 문제를 회피하고 있다. 이 연구에서는 앱 실행 속도를 설치 직후부터 개선할 수 있도록 하기 위해 Profile에 따른 앱 실행 속도의 특성을 파악하여 앱 실행 속도를 개선할 수 있는 Profile을 앱 개발 시점에 자동 생성하는 방법과 자동생성한 프로파일을 APK에 포함하고 앱 설치/업데이트 시점에 활용하여 최적화를 할 수 있는 방법을 제안한다. 제안하는 방법을 통해 앱 설치 시점에 Profile에 기반하여 선택적으로 컴파일할 수 있으므로 설치 시점에 발생하는 사용자 불편을 최소화할 수 있으며 앱 설치 이후 Native code 실행을 통해 앱 실행 속도를 최초 실행부터 개선할 수 있다.

프로그래밍 언어의 다원성과 상호운영성의 실증적 분석 (An Empirical Study of Diversity and Interoperability of Programming Languages)

  • 고봉석;이병철
    • 정보과학회 컴퓨팅의 실제 논문지
    • /
    • 제23권5호
    • /
    • pp.304-309
    • /
    • 2017
  • 둘 이상의 프로그래밍 언어로 상호 작용하는 프로그램을 작성하고 사용하는 경우가 증가하고 있으나 그 무결점성을 확보하기는 어렵다. 프로그램 오류의 원인과 결과가 서로 다른 언어의 코드와 데이터에 존재할 경우 오류 제거의 난이도가 높아지고 Java Native Interface(JNI) 및 Python/C와 같은 프로그램 언어 인터페이스를 잘못 사용하여 새로운 종류의 프로그램 오류가 발생하기 때문이다. 프로그램 언어 상호 작용 오류를 해결하기 위한 프로그램 분석 기법과 도구가 활발히 연구 개발되었으나 이들을 평가하기 위한 프로그램 언어, 프로그램 언어 인터페이스 및 오류들의 실재성에 대한 고찰이 부족한 상황이다. 본 논문에서는 적지 않은 사용자를 가지는 우분투 소프트웨어 생태계 내에서 프로그래밍 언어의 다원성과 상호운영성을 실증적으로 조사하여 다중 언어 프로그래밍 연구의 실재성과 연구의 타당성을 실제 데이터 기반으로 확립하고자 한다.

자바 기반 휴대용 임베디드 기기의 삼차원 엔진 성능 향상을 위한 바인딩 구현 (Design of a Binding for the performance Improvement of 3D Engine based on the Embedded Mobile Java Environment)

  • 김영옥;노영섭
    • 한국멀티미디어학회논문지
    • /
    • 제10권11호
    • /
    • pp.1460-1471
    • /
    • 2007
  • 휴대용 임베디드 기기에서의 삼차원 엔진은 크게 바이트 코드를 실시간으로 해석하며 실행하는 자바 기반의 JSR184와 C언어 기반의 OpenGL/ES가 있다. 이들 두 표준에서 자바 객체를 지원하는 JSR184는 OpenGL/ES에 비하여 상대적으로 많은 프로세서의 자원을 사용하여 제한된 연산능력을 보유하고 있는 임베디드 기기에 적용할 경우 제약이 따를 수 밖에 없다. 반면에 기존 개인용 컴퓨팅 환경에서 사용되는 삼차원 컨텐츠는 자바의 장점을 이용하여 제작되었기 때문에 유럽에서 많은 사용자 층을 확보하고 있고, 또한 그 컨텐츠의 품질이 우수하여 상용 통신망인 GSM 망에서 많이 서비스 되고 있다. 따라서 GSM 망에서 사용되는 휴대용 임베디드 기기에 기존의 자바 기반 삼차원 컨텐츠를 별도의 변환 과정 없이 지원할 수 있는 JSR184의 지원이 필요하지만, 현재 개발되어 사용되는 자바 기반 삼차원 엔진은 휴대용 기기가 보유한 연산능력에 비하여 상대적으로 많은 연산량을 필요로 하기 때문에 상용제품에 적용하기에 많은 어려움이 따른다. 본 논문에서는 휴대용 임베디드 기기가 가지고 있는 충분하지 않은 연산능력을 바탕으로 자바 객체의 장점을 수용하면서 삼차원 컨텐츠의 처리속도를 향상 시킬 수 있는 바인딩 기법을 제안하였다. 제안된 바인딩 기법은 자바를 이용한 삼차원 컨텐츠를 지원하기 위하여, JSR184의 표준 인터페이스를 상위 계층에서 지원하고, OpenGL/ES와 JSR184를 서로 연결하기 위하여 이기종 코드 변환 언어인 KNI(Kilo Native Interface)를 중간 계층에서 사용하였고, 하위 계층에서 OpenGL/ES의 표준을 구현하였다. 제안하는 바인딩 기법은 모의실험을 통하여 기능을 검증하였고, ARM을 장착한 FPGA를 사용하여 그 성능을 평가하였다.

  • PDF

초위성체를 이용한 한국 재래닭의 원산지 추적 및 개체 식별 방법에 관한 연구 (Method Discrimination for Product Traceability and Identification of Korean Native Chicken using Microsatellite DNA)

  • 박미현;오재돈;전광주;공홍식;상병돈;최철환;연성흠;조병욱;이학교
    • 한국유기농업학회지
    • /
    • 제12권4호
    • /
    • pp.451-461
    • /
    • 2004
  • In an animals, identification system has been widely used by ear tag with dummy code and blood typing for parernity. Also, genotyping methods were using for useful mean of individual identification for live animals. In the case of genotyping estimation of gene in population of korean native chicken. In this study, we tested for development of genetic markers used it possible to determination of individual identification system. The candidate genetic markers were used already bow 10 of microstalite DNA sequence information in chromosome No. 1 and 14. Result of analysis for genotyping, the number of alleles of those microstatelites DNA was shown minimal 3 to 12 and the heterozygote expression frequency range was shown from 0.617 to 0.862. In our result, effective number of allele for each microsatellites DNA was shown 3~7, and the accuracy of individual identification was shown nearly 100%, when used with 6 genetic marker. This study was about genotyping method for identification used specific genetic marker form microsatellite DNA in the brand marketing of korean native chicken. Our results suggest that genotyping method used specific genetic marker from microsatellite DNA might be very useful for determination of individual identification.

  • PDF

임베디드 시스템 가상화를 위한 동적 이진 변환기의 변환 블록 최적화 (Translated Block Optimization of Dynamic Binary Translator for Embedded System Virtualization)

  • 황원준;박시형;김형신
    • 대한임베디드공학회논문지
    • /
    • 제12권6호
    • /
    • pp.385-393
    • /
    • 2017
  • As the use of mobile devices such as smartphones increases, there is growing interest on the benefits of virtualization in embedded systems. Full virtualization has the advantage of running the guest virtual machine without modifying the guest operating system. However, full virtualization suffers slow execution speed due to the cost of context switching between the virtual machines and the virtual machine monitor. In this paper, we propose a translated block and context switching optimization to improve the guest execution speed in the embedded system. As a result, the improved dynamic binary translator is up to 5.95 times faster than the native execution. Performance degradation is less than that of the other virtualization system.

네이티브 코드 연결 기법에 관한 연구 (A Study on the Native Code Connection Technique)

  • 유재민;고광만
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2005년도 한국컴퓨터종합학술대회 논문집 Vol.32 No.1 (B)
    • /
    • pp.898-900
    • /
    • 2005
  • 최근 다양한 모바일 기기가 등장하면서 플랫폼에 독립적인 응용 프로그래밍 실행 환경을 구축하기 위해 가상기계(Virtual Machine)와 가상기계 기반의 언어가 등장하고 있다. 가상기계 환경에서 수행되는 응용 프로그램의 원활한 수행물 위해서는 입출력, 시스템 함수 호출 등에 대해서는 플랫폼에 의존적인 네이티브 코드를 적절한 방식으로 연결해주어야 한다. 본 논문에서는 기존의 가상기계들이 특정 플랫폼에 탑재 되는 방식 및 네이티브 코드 연결 방식을 고찰한 후 본 연구팀에서 현재 개발중인 임베디드 시스템을 위한 가상기계(EVM)에 적용하여 보다 효과적인 연결 기법을 제시하고자 한다.

  • PDF

자마린으로 개발된 안드로이드 앱의 정적 분석 연구 (A Static Analysis Technique for Android Apps Written with Xamarin)

  • 임경환;김규식;심재우;조성제
    • 정보보호학회논문지
    • /
    • 제28권3호
    • /
    • pp.643-653
    • /
    • 2018
  • 자마린은 대표적인 크로스 플랫폼 개발 프레임워크로, 안드로이드, iOS, 또는 Windows Phone등의 여러 플랫폼을 위한 모바일 앱을 C#으로 작성하게 해준다. 모바일 앱 개발자들은 기존의 C# 코드를 재사용하고 여러 플랫폼간에 상당한 코드를 공유할 수 있어 개발 시간과 유지보수 비용을 줄일 수 있다. 한편, 멀웨어 작성자들 또한 자마린을 이용하여 악성 앱 제작 시간과 비용을 최소화하면서 더 많은 플랫폼에 악성 앱을 전파할 수 있다. 이에 대응하기 위해서 자마린으로 작성된 멀웨어를 분석하고 탐지하는 방안이 필요하다. 그러나 현재 자마린으로 작성된 앱에 대한 분석 방법에 대한 연구가 많이 이루어지고 있지 않다. 이에 본 논문에서는 자마린으로 개발된 안드로이드 앱의 구조를 파악하고 앱 코드를 정적으로 분석하는 기법을 제안한다. 또한, 코드 난독화가 적용된 앱에 대해서도 정적으로 역공학하는 방법을 보인다. 자마린으로 개발된 앱은 자바 바이트코드, C# 기반의 DLL 라이브러리, C/C++ 기반의 네이티브 라이브러리로 구성되어 있으며, 이들 서로 다른 유형의 코드들에 대한 정적 역공학 기법에 대해서 연구하였다.

크로아티아 민속복식의 지역적 특성 (The Characteristics of Croatia Folk Costumes by Regional Groups)

  • 조우현;이호정
    • 한국의상디자인학회지
    • /
    • 제8권3호
    • /
    • pp.59-71
    • /
    • 2006
  • This study contemplates Croatian traditional costumes with focus on its geographical characteristics and acculturation with neighbor countries as a member of old Yugoslavian Union. Therefore, it contains the information from field works based on Croatian language, native costumes and folk materials wildly. Men usually wear wide linen pants ($ga\'{c}$), shirt ($ko\v{s}ulje,\;rnbina)$, vest (lajbek), hat and jacket ($kro\v{z}et$). Also they sometimes wear scarves or aprons. Women put on blouse, long skirt, apron, headgear with various decoration and scarf ($pe\v{c}a$), shawl (tibetui robe) or necklace together. Croatian folk dresses fall into three different styles by provinces, such as Pannonia, Dinar and Adria, according to the basic environmental and racial characteristics of each province. People of Pannonia plain generally wear white linen clothing and often use flounce and lace, which are influenced by Serbia and Hungary. In the Dinar mountain province, aprons with tassel, knitted vests made of leather and fur are very popular. The clothing of Dinar province has much commonness with those of Bosnia - Herzegovina and Montenegro which have metal buttons and belts. And the clothing of Adria coast is influenced by Italy a lot. There are many splendid silk clothes in its folk dress code. As mentioned above, there are a lot of foreign influences in Croatian history. Although there were severe cultural invasions in many times through its history, Croatians didn't just surrender to these cultural influences. People in Croatia comply with these new coming culture and reconcile these into their own tradition and dress code in their own way.

  • PDF

간결한 한글 프로그래밍 언어 "새싹" (A Concise Korean Programming Language "Sprout")

  • 천준석;강도훈;김건우;우균
    • 정보과학회 논문지
    • /
    • 제42권4호
    • /
    • pp.496-503
    • /
    • 2015
  • 현재 사용되고 있는 대부분의 프로그래밍 언어는 영어를 기반으로 제작되어 있다. 이러한 점은 비영어권 국가에서 프로그래밍 언어를 배우는 데 장벽이 된다. 완전하게 자국어로 만들어진 프로그래밍 언어가 있다면 프로그래밍의 교육비용이 많이 줄게 될 뿐만 아니라 학생들도 더 많은 흥미를 느끼게 될 것이다. 그러나 자국어를 바탕으로 한 프로그래밍 언어 설계는 큰 주목을 받지 못했으며 발표된 연구 결과도 많지 않다. 그 원인은 한편으로 프로그래밍 언어가 너무 빠르게 발전하고 있기 때문이며 다른 한편으로는 소스코드보다 프로그램의 효율성이 더 강조되어 왔기 때문이다. 하지만 자국어를 바탕으로 프로그래밍 언어를 설계하는 것은 하찮은 문제가 아니며 특히 프로그래밍 교육 측면에서 매우 중요하다. 사실 한글 프로그래밍 언어 분야에는 적잖은 연구 결과가 있었지만 실제로 한글 언어가 실제로 교육에 사용된 사례는 드물다. 이 논문에서는 배우기 쉬운 한글 프로그래밍 언어인 새싹을 소개한다. 새싹의 간결성을 입증하기 위해 두 개의 실험을 수행하였다. 첫째, 새싹으로 작성된 프로그램과 다른 한글 프로그래밍 언어로 작성된 프로그램의 크기를 비교하였다. 둘째, 새싹 언어 자체의 크기를 C나 Python 등 널리 사용되는 언어의 크기와 비교하였다. 실험 결과 새싹으로 작성된 프로그램의 크기는 다른 한글 프로그래밍 언어로 작성된 프로그램보다 평균 10% 더 간결하였다. 또한, 새싹 언어의 크기는 널리 사용되는 언어보다 평균 24% 간결하였다.