The native app development environments support multiple threads. Titanium however does not (out of the box), it only supports a single thread. In this presentaton, Ronald Treur will shortly explain how threading works and why this knowledge matters. But more important, he will show you how to keep heavy duty processes from blocking others.
Rick Blalock: Your Apps are Leaking - Controlling Memory LeaksAxway Appcelerator
Developing large-scale Titanium apps can be tricky. Although Titanium manages memory on the native level for developers, care and attention on memory management and profiling techniques must be used in order to ensure their javascript is optimial. Attendees will learn how to detect memory leak / retention issues caused by client-side code. They will learn how to utilize tools and techniques such as Instruments / DDMS, proper architectural patterns, and more to produce performant apps.
Appcelerator's Rick Blalock leads this session for developers who have a a strong grasp of Titanium but want to learn how to profile and improve the apps they build.
an introduction to the programming best practices for javascript and Titanium mobile
(cross platform programming seminar at university of pisa, july 2012)
Video: https://www.youtube.com/watch?v=b6yLwvNSDck
Here's the showdown you've been waiting for: Node.js vs Play Framework. Both are popular open source web frameworks that are built for developer productivity, asynchronous I/O, and the real time web. But which one is easier to learn, test, deploy, debug, and scale? Should you pick Javascript or Scala? The Google v8 engine or the JVM? NPM or Ivy? Grunt or SBT? Two frameworks enter, one framework leaves.
This is the English version of the presentation. For the version with Japanese subtitles, see http://www.slideshare.net/brikis98/nodejs-vs-play-framework-with-japanese-subtitles
Rick Blalock: Your Apps are Leaking - Controlling Memory LeaksAxway Appcelerator
Developing large-scale Titanium apps can be tricky. Although Titanium manages memory on the native level for developers, care and attention on memory management and profiling techniques must be used in order to ensure their javascript is optimial. Attendees will learn how to detect memory leak / retention issues caused by client-side code. They will learn how to utilize tools and techniques such as Instruments / DDMS, proper architectural patterns, and more to produce performant apps.
Appcelerator's Rick Blalock leads this session for developers who have a a strong grasp of Titanium but want to learn how to profile and improve the apps they build.
an introduction to the programming best practices for javascript and Titanium mobile
(cross platform programming seminar at university of pisa, july 2012)
Video: https://www.youtube.com/watch?v=b6yLwvNSDck
Here's the showdown you've been waiting for: Node.js vs Play Framework. Both are popular open source web frameworks that are built for developer productivity, asynchronous I/O, and the real time web. But which one is easier to learn, test, deploy, debug, and scale? Should you pick Javascript or Scala? The Google v8 engine or the JVM? NPM or Ivy? Grunt or SBT? Two frameworks enter, one framework leaves.
This is the English version of the presentation. For the version with Japanese subtitles, see http://www.slideshare.net/brikis98/nodejs-vs-play-framework-with-japanese-subtitles
Hacking iOS Simulator: writing your own plugins for SimulatorAhmed Sulaiman
What's simctl command-line tool, how to achieve great user experience with method swizzling and build dynamic libraries for iOS as a plugin.
Where could you apply knowledge of writing own iOS Simulator plugins and how this will make you a better developer.
Delivered on Cocoaheads Kyiv #15.
React Native is slowly becoming the preferred choice for developing mobile applications. If you are already a web developer, you will find that most of the principles of coding remain the same as it uses the same design as React. But the development flow might feel a bit overwhelming for someone who is creating a React Native app for the first time.
In this talk, I will describe the various tools and methods that can simplify your development workflow. I will talk about the whys and hows of debugging, performance optimizations and improved release cycles so that the next time you are developing a React Native application, you feel at home.
Java can be used two types of programs: applications & applets.An application is a program that runs on your computer, under the operating system of that computer.
An applets is an application designed to be transmitted over the Internet and executed by a java-compatible Web Browser. An applet is an executable program that runs inside a browser, such as Netscape or Internet Explorer.
iOS Parallel Automation: run faster than fast — Viktar Karanevich — SeleniumC...Badoo
iOS Automation rapidly changed due to the evolution of Apple automation frameworks and Calabash community support. One year ago, we parallelised our iOS testing with multiple desktops – a large improvement in performance. Here is an account of the subsequent changes, including the removal of multiple desktops and the adoption of Apple’s new XCTest framework.
The automation community (Appium, Calabash etc.) faced a new challenge: how could we create iOS Automation Infrastructure with the new XCTest Framework?
I adopted Facebook solution (FBSimCtl and WebAgentDriver) into the multi-simulators approach. In this talk, I will discuss the full evolution path to Facebash Approach based on multi-simulators, Calabash server and Facebook Web Driver Agent.
Selenium & PHPUnit made easy with Steward (Berlin, April 2017)Ondřej Machulda
Annotated slides from Berlin PHP Usergroup Meetup, 4th April 2017.
---
Not only unit tests but also end-to-end tests in real browser are important part of test automation and test pyramid. So let's have a look how to easily write and run Selenium functional tests using PHPUnit and Steward.
These are the presentation slides demonstratingseven versions of the UI of same HTML5 application using various libraries and frameworks. This application is described in detail in the O'Reilly book "Enterprise Web Development"
iOS Parallel Automation - Viktar Karanevich - Mobile Test Automation Meetup (...Badoo
iOS Automation rapidly changed due to the evolution of Apple automation frameworks and Calabash community support. One year ago, we parallelised our iOS testing with multiple desktops - a large improvement in performance. Here is an account of the subsequent changes, including the removal of multiple desktops and the adoption of Apple's new XCTest framework.
The automation community (Appium, Calabash etc.) were faced with a new challenge: how could we create iOS Automation Infrastructure with the new XCTest Framework?
I adopted Facebook solution (FBSimCtl and WebAgentDriver) into the multi-simulators approach. In this talk, I will discuss the full evolution path to Hybrid Approach based on multi-simulators and XCTest framework, using Facebook open-source tools.
Introduction to the Eclipse scripting tool Groovy Monkey. Groovy Monkey allows for you to engage in API exploration, Task Automation, Plugin prototyping and collaboration in a lightweight and simple way.
Workshop: Functional testing made easy with PHPUnit & Selenium (phpCE Poland,...Ondřej Machulda
Annotated slides for phpCE workshop on November 3, 2017.
Workshop repository: https://github.com/OndraM/selenium-workshop-phpce
The workshop covered:
- setting up local development environment (using Docker)
- practical examples of functional tests implementation
- exploring possibilities of Selenium WebDriver
- parallel test execution using Steward
- hands-on Page Object design pattern
- dealing with asynchronous elements of web-pages (AJAX, JavaScript)
- general tips & tricks how to keep a maintainable suite of functional tests in a long-term
Javascript로 네이티브 iOS, Android앱 만들기 - TitaniumJongEun Lee
XECon + PHPFest 2014에서 발표한 Titanium 발표자료 입니다.
Titanium 관련한 궁금한 사항은 http://tidev.kr 포럼에 남겨주세요.
실제 발표 영상을 보시면 더 쉽게 이해하실 수 있을 겁니다. XECon 사이트에 발표영상이 올라오면 링크를 남기겠습니다.
Hacking iOS Simulator: writing your own plugins for SimulatorAhmed Sulaiman
What's simctl command-line tool, how to achieve great user experience with method swizzling and build dynamic libraries for iOS as a plugin.
Where could you apply knowledge of writing own iOS Simulator plugins and how this will make you a better developer.
Delivered on Cocoaheads Kyiv #15.
React Native is slowly becoming the preferred choice for developing mobile applications. If you are already a web developer, you will find that most of the principles of coding remain the same as it uses the same design as React. But the development flow might feel a bit overwhelming for someone who is creating a React Native app for the first time.
In this talk, I will describe the various tools and methods that can simplify your development workflow. I will talk about the whys and hows of debugging, performance optimizations and improved release cycles so that the next time you are developing a React Native application, you feel at home.
Java can be used two types of programs: applications & applets.An application is a program that runs on your computer, under the operating system of that computer.
An applets is an application designed to be transmitted over the Internet and executed by a java-compatible Web Browser. An applet is an executable program that runs inside a browser, such as Netscape or Internet Explorer.
iOS Parallel Automation: run faster than fast — Viktar Karanevich — SeleniumC...Badoo
iOS Automation rapidly changed due to the evolution of Apple automation frameworks and Calabash community support. One year ago, we parallelised our iOS testing with multiple desktops – a large improvement in performance. Here is an account of the subsequent changes, including the removal of multiple desktops and the adoption of Apple’s new XCTest framework.
The automation community (Appium, Calabash etc.) faced a new challenge: how could we create iOS Automation Infrastructure with the new XCTest Framework?
I adopted Facebook solution (FBSimCtl and WebAgentDriver) into the multi-simulators approach. In this talk, I will discuss the full evolution path to Facebash Approach based on multi-simulators, Calabash server and Facebook Web Driver Agent.
Selenium & PHPUnit made easy with Steward (Berlin, April 2017)Ondřej Machulda
Annotated slides from Berlin PHP Usergroup Meetup, 4th April 2017.
---
Not only unit tests but also end-to-end tests in real browser are important part of test automation and test pyramid. So let's have a look how to easily write and run Selenium functional tests using PHPUnit and Steward.
These are the presentation slides demonstratingseven versions of the UI of same HTML5 application using various libraries and frameworks. This application is described in detail in the O'Reilly book "Enterprise Web Development"
iOS Parallel Automation - Viktar Karanevich - Mobile Test Automation Meetup (...Badoo
iOS Automation rapidly changed due to the evolution of Apple automation frameworks and Calabash community support. One year ago, we parallelised our iOS testing with multiple desktops - a large improvement in performance. Here is an account of the subsequent changes, including the removal of multiple desktops and the adoption of Apple's new XCTest framework.
The automation community (Appium, Calabash etc.) were faced with a new challenge: how could we create iOS Automation Infrastructure with the new XCTest Framework?
I adopted Facebook solution (FBSimCtl and WebAgentDriver) into the multi-simulators approach. In this talk, I will discuss the full evolution path to Hybrid Approach based on multi-simulators and XCTest framework, using Facebook open-source tools.
Introduction to the Eclipse scripting tool Groovy Monkey. Groovy Monkey allows for you to engage in API exploration, Task Automation, Plugin prototyping and collaboration in a lightweight and simple way.
Workshop: Functional testing made easy with PHPUnit & Selenium (phpCE Poland,...Ondřej Machulda
Annotated slides for phpCE workshop on November 3, 2017.
Workshop repository: https://github.com/OndraM/selenium-workshop-phpce
The workshop covered:
- setting up local development environment (using Docker)
- practical examples of functional tests implementation
- exploring possibilities of Selenium WebDriver
- parallel test execution using Steward
- hands-on Page Object design pattern
- dealing with asynchronous elements of web-pages (AJAX, JavaScript)
- general tips & tricks how to keep a maintainable suite of functional tests in a long-term
Javascript로 네이티브 iOS, Android앱 만들기 - TitaniumJongEun Lee
XECon + PHPFest 2014에서 발표한 Titanium 발표자료 입니다.
Titanium 관련한 궁금한 사항은 http://tidev.kr 포럼에 남겨주세요.
실제 발표 영상을 보시면 더 쉽게 이해하실 수 있을 겁니다. XECon 사이트에 발표영상이 올라오면 링크를 남기겠습니다.
10 Golden Rules For Outstanding Titanium Appsjamessugrue
Are you starting out with Titanium to develop cross platform apps? When creating mobile applications using Titanium, the first 80% of functionality works fine, it's the last 20% that will trip you up. In this talk you will learn some of the golden rules that a team of five developers discovered when porting their hybrid web application over to Titanium, to run on both iOS and Android. Learn how to get around some common speed bumps and accelerate your own app development.
Titanium 소개 - 당신이 알고 있는 타이타늄 rev.201310JongEun Lee
크로스 모발일 개발 플랫폼인 타이타늄(Titanium) 소개 자료입니다.
이 자료는 다음과 같은 모임에서 발표자료로 사용되었습니다.
* 타이타늄 개발자 커뮤니티인 TiDev.kr의 2013년 8월 정기모임
* JsLounge 2013년 9월 모임
* DevOn 2013 10월 26일
In this lesson we give an overview of the iOS and Android native platforms and how to setup a development environment for both iOS and Android development
Building scalable applications with angular jsAndrew Alpert
AngularJS today is one of the most powerful, user-friendly and popular JS frameworks to work on web applications. Surprisingly, one of the main weaknesses of this framework is poorly structured documentation and the lack of ready-made solutions. In this report, we will try to work out the best approach to the organization of large and very large applications. We will also speak about the tools that will be useful at every stage of the application development and tools and practicesthat will help you to work in the continuous delivery mode.
Debugging Complex Systems - Erlang Factory SF 2015lpgauth
Debugging complex systems can be difficult. Luckily, the Erlang ecosystem is full of tools to help you out. With the right mindset and the right tools, debugging complex Erlang systems can be easy. In this talk, I'll share the debugging methodology I've developed over the years.
A brief introduction about the art of unit test, how to test a class, mock a collaborator and use a fake database. TDD is introduced. Code for exercises is available on github along with a detailed explanation. Examples and exercises are written in Java.
Develop in ludicrous mode with azure serverlessLalit Kale
Today, every one of us wants to get things done fast. The fact of the matter is Serverless is a fantastic platform for doing things fast. Because, with Serverless, you really don’t have time to waste in terms of delivering your business value. Turns out you can with the right cloud services. In this talk we’ll create a microservice using Azure Functions and also get introduced to bigger picture of serverless computing.
I presented this session in Global Azure Bootcamp 2019 in Dublin. #GlobalAzure #AzureFunctions #Serverless
Troubleshooting: The Two Laws - IXIASOFT User Conference 2016IXIASOFT
Presented by Alex Kozaris, IXIASOFT IT Specialist at the IXIASOFT User Conference 2016.
Murphy’s Law says that if something can go wrong, it will. But don’t let Murphy tell you what to do; instead come to this presentation where Alex will take you through effective troubleshooting procedures for the issues that he commonly sees with his extensive experience of solving issues involving the IXIASOFT DITA CMS.
Join this video course on Udemy. Click the below link
https://www.udemy.com/mastering-rtos-hands-on-with-freertos-arduino-and-stm32fx/?couponCode=SLIDESHARE
>> The Complete FreeRTOS Course with Programming and Debugging <<
"The Biggest objective of this course is to demystifying RTOS practically using FreeRTOS and STM32 MCUs"
STEP-by-STEP guide to port/run FreeRTOS using development setup which includes,
1) Eclipse + STM32F4xx + FreeRTOS + SEGGER SystemView
2) FreeRTOS+Simulator (For windows)
Demystifying the complete Architecture (ARM Cortex M) related code of FreeRTOS which will massively help you to put this kernel on any target hardware of your choice.
Beyond the RTOS: A Better Way to Design Real-Time Embedded SoftwareQuantum Leaps, LLC
Embedded software developers from different industries are independently re-discovering patterns for building concurrent software that is safer, more responsive and easier to understand than naked threads of a Real-Time Operating System (RTOS). These best practices universally favor event-driven, asynchronous, non-blocking, encapsulated state machines instead of naked, blocking RTOS threads. This presentation explains the concepts related to this increasingly popular "reactive approach", and specifically how they apply to real-time embedded systems.
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxEduSkills OECD
Andreas Schleicher presents at the OECD webinar ‘Digital devices in schools: detrimental distraction or secret to success?’ on 27 May 2024. The presentation was based on findings from PISA 2022 results and the webinar helped launch the PISA in Focus ‘Managing screen time: How to protect and equip students against distraction’ https://www.oecd-ilibrary.org/education/managing-screen-time_7c225af4-en and the OECD Education Policy Perspective ‘Students, digital devices and success’ can be found here - https://oe.cd/il/5yV
The Art Pastor's Guide to Sabbath | Steve ThomasonSteve Thomason
What is the purpose of the Sabbath Law in the Torah. It is interesting to compare how the context of the law shifts from Exodus to Deuteronomy. Who gets to rest, and why?
We all have good and bad thoughts from time to time and situation to situation. We are bombarded daily with spiraling thoughts(both negative and positive) creating all-consuming feel , making us difficult to manage with associated suffering. Good thoughts are like our Mob Signal (Positive thought) amidst noise(negative thought) in the atmosphere. Negative thoughts like noise outweigh positive thoughts. These thoughts often create unwanted confusion, trouble, stress and frustration in our mind as well as chaos in our physical world. Negative thoughts are also known as “distorted thinking”.
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
Ethnobotany and Ethnopharmacology:
Ethnobotany in herbal drug evaluation,
Impact of Ethnobotany in traditional medicine,
New development in herbals,
Bio-prospecting tools for drug discovery,
Role of Ethnopharmacology in drug evaluation,
Reverse Pharmacology.
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
How to Split Bills in the Odoo 17 POS ModuleCeline George
Bills have a main role in point of sale procedure. It will help to track sales, handling payments and giving receipts to customers. Bill splitting also has an important role in POS. For example, If some friends come together for dinner and if they want to divide the bill then it is possible by POS bill splitting. This slide will show how to split bills in odoo 17 POS.
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
2024.06.01 Introducing a competency framework for languag learning materials ...
Titanium - Making the most of your single thread
1. Making the most of your
single thread
Titanium - Fundamentals
2. Congrats!
!
Your app is in the
hands of the public!
Your users click on buttons,
open windows, and at some
point someone touches a
button that results in…
4. Had he waited
for ‘but’ 5
seconds..
.. he would have noticed
three windows opening in
rapid succession. Three
identical windows, as he
would observe when using
the ‘back’-button.
5. What did you do wrong?
•
There’s no loading indicator showing
•
There is no mechanic in place to prevent additional
windows from opening
6. What did you do wrong?
•
There’s no loading indicator showing
•
There is no mechanic in place to prevent additional
windows from opening
•
But more important: You blocked the UI far too long!
You did not make the best use of your single
thread!
8. Making the Most of Your Single Thread
•
Threads & Threading
•
How it works in Native & Titanium
•
Javascript call stack example
•
Underscore - Defer
9. Thread
The smallest subset of a
process that could be
independently handled
by the OS.
or
The smallest piece of
code, that could be
executed independently
from the rest of the
code.
11. Threading
•
Multi-threaded:
- Threads (can) run in parallel, meaning:
- Multiple pieces of code can execute at the same time.
#1
#2
!
#3
#4
!
•
#1
Single-threaded:
- Threads can only run serially, meaning:
- Only one piece of code can execute at a time.
#2
#3
15. Thread Safe
Javascript is by definition NOT thread safe.
•
If multiple threads would be able to access and change
the same object/variable, a race condition might occur.
•
aka: the outcome of a piece of code would be
unpredictable.
16. Single Threaded
Javascript is by definition NOT thread safe. Thus it is, by
nature, single threaded.
•
Timers are not part of Javascript, they are part of the
JS engine (Rhino, V8, JavaScriptCore)
•
Timers allow for asynchronous delays, but code
execution remains single threaded.
•
When a timer expires, or an event fires, the resulting
execution is queued.
25. Call Stack
ms
Interval at 50ms is the first
to execute at the correct
time (though 2 executions
were dropped).
[click]
foo()
nerf()
bar()
foo()
0
10
bar()
‘events’
0
0
0
6
10
20
30
40
50
foo()
setInterval(bar, 10)
setTimeout(nerf, 20)
Button clicked
Interval fires
Interval & Timer fire
Interval fires
Interval fires
Interval fires
bar()
bar()
click
bar() nerf() bar()
handler
20
ms
30
40
bar()
bar()
50
26. Conclusions
•
If code is already executing, events and timers are
queued
•
Timers may not execute exactly when you were
expecting
•
Intervals may not fire as often as you were expecting
•
User interaction is queued as well, which the user
interprets as the UI being unresponsive.
28. Underscore - Defer
_.defer(function, [*arguments])
Defers invoking the function until the current call stack has cleared,
similar to using setTimeout with a delay of 0. Useful for performing
expensive computations or HTML rendering in chunks without blocking
the UI thread from updating. If you pass the optional arguments, they
will be forwarded on to the function when it is invoked.
!
_.defer ( function() { alert(‘deferred’); });
!
// Returns from the function before the alert runs.
31. Conclusions
•
Try to keep the User experience as responsive as
possible. Use _.defer!
•
Always show loading-indicators when you can’t.
•
Limit the amount of actions everywhere in your app. For
example: Widgitize your button and/or use _.throttle.
32. Underscore - Throttle
_.throttle(function, wait, [options])
Creates and returns a new, throttled version of the
passed function, that, when invoked repeatedly,
will only actually call the original function at most
once per every wait milliseconds. Useful for ratelimiting events that occur faster than you can keep
up with.
var throttled = _.throttle ( updatePosition, 100);
$(window).scroll(throttled);