Softwarove protektory / KAREL LEJSKA, MILAN BARTOŠ [DEFENDIO]Security Session
Security by obscurity nemůže fungovat. Nebo ano? Softwarové protektory prošly během 16 let prudkým vývojem. Zhodnotíme, jaká je situace v roce 2016. Podíváme se, jak fungují dnešní protektory pro Windows a Android, ukážeme, co se snaží řešit a současně jaké problémy jejich nasazení přináší. Přednáška bude zajímavá i pro ty, které zajímá problematika malware.
Softwarove protektory / KAREL LEJSKA, MILAN BARTOŠ [DEFENDIO]Security Session
Security by obscurity nemůže fungovat. Nebo ano? Softwarové protektory prošly během 16 let prudkým vývojem. Zhodnotíme, jaká je situace v roce 2016. Podíváme se, jak fungují dnešní protektory pro Windows a Android, ukážeme, co se snaží řešit a současně jaké problémy jejich nasazení přináší. Přednáška bude zajímavá i pro ty, které zajímá problematika malware.
Vývoj na poli automatizace testování webů otevírá spousta možností, které by ještě před pár lety byly nereálné. Podíváme se na některé aktuální trendy a ukáži pár moderních technologií a služeb, které vám mohou pomoci automatizovat (a tedy urychlit, zlevnit nebo zlepšit) různé části QA procesu: visual testing, docker, web performance testing.
node.js: zápisky z fronty (Battle guide to node.js)almadcz
[czech] V Apiary používáme node.js v produkci už přes rok.
Proč se zamyslet nad tím, zda ho chcete? A na co se připravit a na co si dát pozor, pokud se do toho pustíte?
Rychle a agilně dodávat nové featury všichni umíme, nebo to aspoň tvrdíme. Nestresujeme se bugy a nedokonalostmi. Důležité je, že je kód rychle v produkci, uživatelé šťastní, adopce novinky blesková. Uplyne pár měsíců (nebo let) a rychle nahozená featura se přilepí na produkt jak příslovečný psí exkrement. A jednoho krásného dne jí potřebujeme updatnout na vyšší, zpětně nekompatibilní, verzi, nahradit jiným řešením nebo jen prostě vypnout. A tady začínají naše těžkosti, přijďte si poslechnout, jak nám to vůbec nejde.
Jarda Machaň: Proč je dobré míti Developer Evangelistumdevtalk
The document discusses the role and value of a developer evangelist. It notes that a developer evangelist helps companies innovate by communicating with developers, understanding their needs, and showing how a company's products and APIs can help meet those needs. A developer evangelist provides value by educating developers on a company's offerings, demonstrating code examples, and helping generate interest and adoption of a company's technologies within the developer community.
More Related Content
Similar to Pavel Cvetler: Jeden kód, co vládne všem? Žádný problém pro Android i iOS
Vývoj na poli automatizace testování webů otevírá spousta možností, které by ještě před pár lety byly nereálné. Podíváme se na některé aktuální trendy a ukáži pár moderních technologií a služeb, které vám mohou pomoci automatizovat (a tedy urychlit, zlevnit nebo zlepšit) různé části QA procesu: visual testing, docker, web performance testing.
node.js: zápisky z fronty (Battle guide to node.js)almadcz
[czech] V Apiary používáme node.js v produkci už přes rok.
Proč se zamyslet nad tím, zda ho chcete? A na co se připravit a na co si dát pozor, pokud se do toho pustíte?
Rychle a agilně dodávat nové featury všichni umíme, nebo to aspoň tvrdíme. Nestresujeme se bugy a nedokonalostmi. Důležité je, že je kód rychle v produkci, uživatelé šťastní, adopce novinky blesková. Uplyne pár měsíců (nebo let) a rychle nahozená featura se přilepí na produkt jak příslovečný psí exkrement. A jednoho krásného dne jí potřebujeme updatnout na vyšší, zpětně nekompatibilní, verzi, nahradit jiným řešením nebo jen prostě vypnout. A tady začínají naše těžkosti, přijďte si poslechnout, jak nám to vůbec nejde.
Jarda Machaň: Proč je dobré míti Developer Evangelistumdevtalk
The document discusses the role and value of a developer evangelist. It notes that a developer evangelist helps companies innovate by communicating with developers, understanding their needs, and showing how a company's products and APIs can help meet those needs. A developer evangelist provides value by educating developers on a company's offerings, demonstrating code examples, and helping generate interest and adoption of a company's technologies within the developer community.
Anastasiia Vixentael: 10 things you need to know before implementing cryptogr...mdevtalk
This document provides an overview of key considerations for implementing cryptography and securing an application. It discusses topics like avoiding plaintext secrets, implementing secure authentication and transport, managing third party libraries, and best practices like not overstating an app's security. The goal is to help developers protect user privacy and security throughout the development process.
Michal Havryluk: How To Speed Up Android Gradle Buildsmdevtalk
- The document provides tips for speeding up Android Gradle builds, including enabling parallel builds, optimizing project structure, using implementation over compile for dependencies, enabling the build cache, and deploying to emulators or devices with smaller memory footprints.
- It recommends profiling builds using Gradle options like --dry-run and --profile to identify bottlenecks. Migrating to Android Gradle Plugin 3.0.0 and optimizing dependencies, resources, and third-party libraries can further improve build times.
- A step-by-step approach is suggested, starting with baseline measurements and implementing smaller changes before larger refactors like moving to a multi-module project structure.
The number of internet-connected devices worldwide is growing dramatically from around 7 billion in 2015 to over 20 billion by 2025. However, this growth in unsecured internet-connected devices leaves many vulnerable to malware and hacking. Examples are shown of common internet-connected devices like wireless routers, cameras, and speakers that have been hacked due to unsecured default passwords and exposed APIs.
This document discusses using ViewPager-based animations for onboarding screens in Android apps. It describes using ViewPager offsets and animating properties like position, scale and color to create interactive transitions between onboarding pages. Code samples are provided to implement animations using libraries like SparkleMotion and Spritz when swiping between pages in a ViewPager. Resources for further reading on ViewPager animations are also listed.
David Bilík: Anko – modern way to build your layouts?mdevtalk
The document discusses Anko, a library that aims to simplify Android development using Kotlin. It consists of multiple parts that provide helpers for common tasks like building layouts, SQLite queries, and coroutines. Anko uses a domain-specific language to allow building layouts in a type-safe way without XML, which can improve performance compared to traditional layout inflation. The document provides an example comparing the speed of building a layout with Anko versus XML, finding Anko to be up to 4 times faster in some cases. It also demonstrates creating a sample layout using both traditional Android code and Anko's DSL approach.
Maxim Zaks: Deep dive into data serialisationmdevtalk
This document compares different data serialization formats for persisting state and user generated content on mobile. JSON is human readable but large and inefficient for numbers. Protocol Buffers and FlatBuffers are binary formats that are more efficient in size and faster for reads/writes through the use of schemas and typed accessors. Both support evolution but Protocol Buffers has no partial reads while FlatBuffers enables this through references and random access.
Nikita Tuk: Handling background processes in iOS: problems & solutionsmdevtalk
The document discusses handling background processes in iOS, including:
1. The different app life cycle states before and after iOS 7, and limitations of background processing.
2. Techniques for performing background uploads including silent notifications, background fetch, and NSURLSession.
3. The speaker's approach of using a state machine and modular architecture to reliably perform background uploads and ensure completion handlers are called even if the app is terminated.
Tomáš Kohout: Jak zrychlit iOS vývoj pomocí Swift playgoundůmdevtalk
mDevTalk #7: 30. 3. 2017
Swift playground je skvělým nástrojem na výuku programování. Má ale reálné využití v každodenním vývoji mobilních aplikací? Odpověď je jasné ano! V této přednášce si ukážeme jak lze vytvořit playground pro středně složitou aplikací a jak jej využít pro urychlení vývoje vaší aplikace.
mDevTalk #6: 26. 1. 2017
Nová Firebase řeší spoustu běžných problémů Android vývojáře. Pokud ale máte komplexnější strukturu databáze, potřebujete to všechno spojit pomocí RxJavy. To celé chce nějakou architekturu jako MVP. A Kotlin udělá kód kratší a čitelnější.
Adam Šimek: Optimalizace skrolování, RecyclerViewmdevtalk
mDevTalk #6: 26. 1. 2017
Když se podíváte na aplikace ve vašem telefonu, tak většina obsahu je zobrazena ve skrolovatelných komponentách. Seznam zpráv, timeline na Facebooku, kontakty, poznámky, Twitter, fotky, prostě všechno. Nekonečný seznam něčeho. A není to vždy plynulé. Komplexita aplikací narůstá a skrolovaní se stále seká a seká. A programátoři se snaží a snaží. Nebo se snad nesnaží? V přednášce bych vás chtěl provést od základů toho, jak RecyclerView funguje, přes konkrétní tipy a triky a věci, kterým se vyvarovat, po poslední novinky v RecyclerView, jako je prefetch.
mDT #5, 24. 11. 2016
Storing account information is a common challenge many app developers face, and is often tackled in tailored solutions. Isn’t there some strategy to store account credentials in a centralized place? What about multiple accounts, like Twitter? And when should or could I synchronize data? Android offers a powerful account manager. Let’s explore the possibilities and lay out an architecture for engineering an Android app based on accounts.
Charles Du: Introduction to Mobile UX Designmdevtalk
mDT#4 29. 9. 2016
Learn how to shape a rough app idea into a thoughtful, intuitive design. Find out how successful mobile apps are designed and user-tested. Charles will share design examples from his past work including the NASA app and the Ticketmaster app. This talk will focus on UX design so no coding experience is needed.
mDT #4, 29. 9. 2016
Swift Package Manager je dependency manager od Applu, alternativa ke CocoaPods. Jeho vývoj Apple dělá otevřeně na GitHubu a za posledních pár měsíců se kolem něj vytvořila aktivní komunita. Honza během svého talku předvede, jak nástroj vypadá, kdy a jak ho používat.
Na ukázkové aplikaci psanou v Xamarin si prakticky představíme architekturu a propojení na jednotlivé služby v Azure, které jsou z pohledu IoT klíčové:
• Mobilní aplikaci psanou pomocí Xamarin pro Android, iPhone a Windows Phone, která slouží jako field gateway, ale i pro zobrazování dat
• Azure Mobile App jako backend pro mobilní aplikaci, umožňující autentizaci, ale i rychlý vývoj pomoci Easy Tables a Easy API a Push Notifikace
• HockeyAPP pro distribuci mobilní aplikace pro testy a sběr chyb
• Application Insights pro monitoring
• IoT Hub, který pomůže při sběru dat z koncových zařízení (mikrokontroléry a field gateways)
• Stream Analytics, které umožňují real time analýzu velkého množství dat
• Power BI pro chytré zobrazování
• Služby pro persistetní ukládání dat jako je Azure Storage nebo Azure SQL Database
Podíváme se na to, jak můžete připojit vaše auto přes OBD-II ke Cloudu a sledovat rychlost, spotřebu, otáčky a další hodnoty v reálném čase. Vše je samozřejmě open source.
Dominik Veselý - Vše co jste kdy chtěli vědět o CI a báli jste se zeptatmdevtalk
Continuous Integration je velice důležité, leč často opomíjené téma. Většina lidí má tento termín zažitý jako něco co je složité a patří to do velkých společností. Opak je pravdou, CI můžete využívat i jako freelancer nebo malá společnost velice jednoduše. Ať už ho chcete používat k testování, nasazování, doručování buildu nebo notifikacím, ušetří Vám to hodně času a peněz. Dominik se věnuje problematice CI pro mobilní vývoj již více jak 2 roky a se svými kolegy vyrobil CI pipeline pro iOS, Android i backend, která šetří stovky minut denně celému týmu. Ve svém talku se zaměří, jak na mobilní platformy, tak na backendy a frontendy, aby si na své přišel opravdu každý.
Jiří Dutkevič: Ochrana citlivých dat v iOSmdevtalk
Představím 3 nápady jak zabezpečit data uložená v aplikaci pro případ, že o zařízení uživatel přijde. Ukážu několik technik, jak analyzovat chování a implementaci aplikací. Inspiroval jsem se v problémech, které jsem objevil v aplikacích v AppStoru když jsem hledal “password manager”.
Věděli jste, že push notifikace mohou až ztrojnásobit počet spuštění aplikace? Nebo že aplikace, které podporují push notifikace mají až o 70% větší pravděpodobnost, že na zařízení přežijí déle než 60 dní? Schopnost přijímat push notifikace by proto měla být vlastní každé aplikaci. Ukážeme si, jak na to na klientovi i na serveru.
8. j2objc
● Co to je?
○ Nástroj pro převod Java kódu do Obj-C
○ Cílem je psát aplikační logiku a data modely jednou
● Co není?
○ Neumí převést komplet android binárku
○ Neslouží jako platformově nezávislý nástroj pro vývoj
○ Je třeba části app přímo v Obj-C/Swiftu
9. Kde se j2objc
vzal?
● Je to opensource command line tool od Google
● Google s jeho využitím napsal Inbox
○ Sdílení cca 70% business logiky
17. A co package?
● Dlouhé názvy reflektující package
○ com.cvetler.android.sharedlib.Hello ->
ComCvetlerAndroidSharedlibHello
● Možnost strip package
○ Vznikají kolize
● Použití anotací
○ @ObjectiveCName
21. Možnosti použití
ve Swiftu
● Automaticky generovaný headerfile
○ recompilace při každé změně i nepoužívaného kódu
● Ručně přidané header soubory
● Ideálně více targetů podle částí aplikace
22. Co dál?
● Použití gradle místo make
● Menší knihovny které se převádí po částech
● Kotlin native
● https://github.com/JetBrains/kotlin-native/releases
23. O čem to bylo?
● Základy použití j2objc
● Několik možných způsobů využití
● Testy
● Debugging
● Použití ve swiftu