이전 안드로이드 어플리케이션 블록에 이은 추가 오픈소스의 아키텍처, 동기, 사용법등을 정리한 자료입니다.
또한 위 블록을 통해 실제 안드로이드 어플리케이션을 리펙토링하는 사례를 설명 드립니다.
nipa 소프트웨어 공학센터 모바일 참조 모델로 만든 것이며, 추후 더 자세한 문서로 작성한 것들을 공개하도록 하겠습니다.
[NEXT] 화면 재갱신이 되는 안드로이드 앱 만들기 - 네트워크에 독립하는 구조로 변경YoungSu Son
항상 네트워크에 연결되어있지 않다는 가정으로, 앱의 아키텍처를 변경합니다.
앱을 실행시 로컬 DB의 데이터를 읽으며, 백그라운드 서비스에서 주기적으로 데이터를 긁어옵니다. (추후 gcm push로 변경합니다.)
데이터 삽입시 화면을 자동 갱신할려면? 어떠한 구조를 가져야 할까요?
그리고 view holder 패턴도 다룹니다.
[NEXT] 화면 재갱신이 되는 안드로이드 앱 만들기 - 네트워크에 독립하는 구조로 변경YoungSu Son
항상 네트워크에 연결되어있지 않다는 가정으로, 앱의 아키텍처를 변경합니다.
앱을 실행시 로컬 DB의 데이터를 읽으며, 백그라운드 서비스에서 주기적으로 데이터를 긁어옵니다. (추후 gcm push로 변경합니다.)
데이터 삽입시 화면을 자동 갱신할려면? 어떠한 구조를 가져야 할까요?
그리고 view holder 패턴도 다룹니다.
Android architecture and Additional ComponentsSoftNutx
The Four basic layers that ac-cumulatively Create Android Architecture or Android Software Stack
You can Read more on this Topic at : http://androidebook.com/android-architecture/
Discover 12 most popular Android app development frameworks which can be used for building a cutting edge android applications for smartphones as well as for tablets.
My jPrime 2016 presentation shows example of Domain-Driven Design (DDD), Event Sourcing (ES) and Functional Reactive Programming (FRP) using Reactor and Redux in a showcase of Java robotics - two small robots IPTPI (Raspberry Pi 2 + Ardiuno) and LeJaRo (LeJOS).
(MBL202) Mobile State of the Union: Mobile Apps Powered by AWSAmazon Web Services
Marco Argenti, Vice President of AWS Mobile, will kick off the Mobile track and share our vision and the latest products and features we have launched this year. He will cover customer trends and even bring some key mobile customers on stage to share their experiences.
Android architecture and Additional ComponentsSoftNutx
The Four basic layers that ac-cumulatively Create Android Architecture or Android Software Stack
You can Read more on this Topic at : http://androidebook.com/android-architecture/
Discover 12 most popular Android app development frameworks which can be used for building a cutting edge android applications for smartphones as well as for tablets.
My jPrime 2016 presentation shows example of Domain-Driven Design (DDD), Event Sourcing (ES) and Functional Reactive Programming (FRP) using Reactor and Redux in a showcase of Java robotics - two small robots IPTPI (Raspberry Pi 2 + Ardiuno) and LeJaRo (LeJOS).
(MBL202) Mobile State of the Union: Mobile Apps Powered by AWSAmazon Web Services
Marco Argenti, Vice President of AWS Mobile, will kick off the Mobile track and share our vision and the latest products and features we have launched this year. He will cover customer trends and even bring some key mobile customers on stage to share their experiences.
Triangle Node Meetup : APIs in Minutes with Node.jsShubhra Kar
Build Omni-channel APIs in minutes with Node.js. StrongLoop's Loopback API server provides an open source API framework for connecting mobile, devices, sensors and web to backends though lightweight APIs. Get Mobile Backend as a Service (mBaaS) and API Gateway plus a Visual API editor (Studio) all in a single modular Node.js platform. SDKs for Angular, iOS, Android and JavaScript makes Isomorphic JavaScript and fullstack JS a reality.
UBC’s Cloud Innovation Centre (CIC) invites students to our AWS RoboMaker webinar and live lab on Thursday, July 22 from 1:00 to 3:30 pm PST. In this session, special guest Alex Coqueiro, will introduce you to AWS Robomaker, a service that makes it easy to develop, test, and deploy intelligent robotics applications at scale. We walk through the features of integrating key components into robotics, deploying a single solution, and discuss the uniquely designed models that allow for optimized robots use cases to get you to production fast. We will cover use cases, implementation, simulation, and deployment. Demos will be implemented using Python.
Building Robotics Application at Scale using OpenSource from Zero to HeroAlex Barbosa Coqueiro
Today, organizations are using robotics to address a host of business challenges, from the self-driving car to autonomous walkers to assist older adults, exploring various environments from deep oceans to other planets like Mars. In the past, the integration of these robots took a significant amount of time and effort, and it required specialized expertise in this field. Still, this scenario has dramatically changed thanks to adopting a real-time production system with Linux and the Robot Operating System (ROS). ROS is an open-source software framework for robot development, including middleware, drivers, libraries, tools, and commonly used algorithms for robotics. In this session, we walk the audience through the steps from design to deployment robots using ROS2 Foxy (new version of ROS) from zero to hero using live demo using Python 3 (rclpy) with DDS (Data Distribution Service) simulating real-world environments with Gazebo (open-source 3D robotics simulator). In a nutshell, I will cover designing, developing, testing, and deploying intelligent robotics applications at scale, including integration with critical components, and discuss models that allow for optimized large fleet management.
Similar to 안드로이드 오픈소스 어플리케이션 블록 2 (20)
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101) YoungSu Son
모바일 앱 성능 분석 방법에 대해서 설명을 드립니다
- 기존 서버 APM과 모바일에서의 성능 기준의 차이
- 모바일 제약사항및 아키텍처
- 안드로이드는 어떻게 발전해 왔나
- Vectorization
- Loop
- Redex / Optimized Layout
- Garbage Collector
- 제조사가 보장해야 되는 성능
- 개발사가 고민해야 되는 영역
- 실사례 설명
- 갤럭시노트 2의 점유율
- Xiaomi 폰의 국내 4위 시장 점유율
- 여러가지 모바일 성능 리포트
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
319. Interface
번거롭다!!!!!!
// Parcelable를 생성하기 위한 생성자 Parcel를 파라메타로 넘겨 받음
private UserInfo(Parcel source)
{
mName = source.readString();
mAge = source.readInt();
mEmail = source.readString();
}
// Parcelable을 상속 필수 Method
@Override
Intent intent = new Intent();
public int describeContents()
intent.setAction(ACTION_NAME);
{
intent.putExtra(UserInfo, userInfo);
return 0;
sendBradcast(intent);
}
// Parcelable의 write를 구현하기 위한 Method
@Override
public void writeToParcel(Parcel parcel, int arg1)
{
parcel.writeString(mName);
parcel.writeInt(mAge);
parcel.writeString(mEmail);
}
// Parcelable 객체로 구현하기 위한 Parcelable Method ArrayList구현 등..
public static final Parcelable.CreatorUserInfo CREATOR = new Parcelable.CreatorUserInfo()
{
……………………………
……………………………
!
!
!
320. Otto
public class
{
private
private
private
!
UserInfo
String mName;
int mAge;
String mEmail;
// Parcelable를 생성하기 위한 생성자 //임의 생성
public UserInfo(String name, int age, String email)
{
this.mName = name;
this.mAge = age;
this.mEmail = email;
}
// 각 값을 넘겨주기 위한 get터 생성
public String getName()
{
return mName;
}
public int getAge()
{
return mAge;
}
}
public String getEamil()
{
return mEmail;
}
!
!
!
기본
420. 사용
1.
2.
3.
4.
5.
Register Activity/Fragment to Bus!
Event 객체 정의!
produce, subscribe 함수 정의!
Bus를 통하여 기 정의한 event 객체 publishing!
Subscribing event (전달 받은 event 처리)
• Register Activity/Fragment
421. • Event 객체 정의
public class LocationChangedEvent {
public final float lat;
public final float lon;
!
}
public LocationChangedEvent(float lat, float lon) {
this.lat = lat;
this.lon = lon;
}
.........
.........
422. • Produce 함수 정의 및 Publish
findViewById(R.id.move_location).setOnClickListener(
new OnClickListener()
{
@Override
public void onClick(View v)
{
lastLatitude += (RANDOM.nextFloat() * OFFSET * 2) - OFFSET;
lastLongitude += (RANDOM.nextFloat() * OFFSET * 2) - OFFSET;
BusProvider.getInstance().post(produceLocationEvent());
}
});
423. • Produce 함수 정의 및 post
@Subscribe
public void onLocationChanged(LocationChangedEvent event)
{
locationEvents.add(0, event.toString());
if (adapter != null)
adapter.notifyDataSetChanged();
}
!
@Subscribe
public void onLocationCleared(LocationClearEvent event)
{
locationEvents.clear();
if (adapter != null)
adapter.notifyDataSetChanged();
}
1249. X.Y.Z (Major.Minor.Patch)
중요 업데이트 : 1.0.0 - 2.0.0!
마이너 업데이트 : 1.1.0 - 1.2.0!
버그 개선 버전 : 0.1.1 - 0.1.2!
최초 개발 버전 : 0.1.0!
선행배포 : 0.X.0-alpha, 0.X.0-beta!
빌드버전 : 0.1.1+build.29
114