This document discusses a finder trader application that searches for profitable trading paths across multiple cryptocurrency exchanges. It outlines the application's architecture, including use of the Binance API and Swift Package Manager. It also describes the matching and trading logic to find the best trading opportunity and execute the trade. Problems and future improvements are mentioned, such as adding support for additional exchanges and integrating with cloud services.
The document discusses decomposing monolithic Rails applications into micro-APIs using a service-oriented architecture. It recommends breaking functionality into independent, stateless RESTful JSON APIs that communicate asynchronously using technologies like Redis, Sidekiq, and Grape. An example is provided of importing XML data via a POST request that schedules a background job, with the status checked via GET. Models are persisted with Redis and background jobs are handled by Sidekiq workers to provide a responsive, decoupled architecture.
The document discusses how to work with Cocoa and Objective-C from Swift. It covers importing Objective-C frameworks, interacting with Objective-C APIs such as initializers, properties, and methods, type remapping between Objective-C and Swift types, working with AnyObject and optionals, blocks, and integrating Swift code with Interface Builder using outlets and actions.
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 03) Jonathan Engelsma
This lecture covers the very basics of the syntax of the Swift programming language.
The course is an intensive and very compressed deep dive into iOS development in Swift. Visit the course web page to get copies of the course outline, lecture notes, sample code, etc.
Course website: http://www.themobilemontage.com/2015/05/12/ios-bootcamp-learning-to-create-awesome-apps-on-ios-using-swift/
YouTube Link to lecture: TBD
iOS Development using Swift: Enums, ARC, Delegation, Closures, Table View and...Ahmed Ali
Learn iOS development using Swift (Arabic tutorials) - Fourth session slides, which covers the following topics:
- Enumerations
- Auto References Count (ARC)
- Delegation Pattern
- Closures
.
The video end up demonstrating: UITableView, performing segues programmatically, passing data between screens, and access information on iOS Documentation.
This document provides an overview of key concepts in iOS development using the Model-View-Controller (MVC) pattern, including views, view controllers, navigation controllers, collection view controllers, delegation, data sources, storyboards, Objective-C basics like classes and protocols, and memory management with ARC. Views define rectangular regions to display content, view controllers control views, and navigation controllers manage hierarchical navigation between views. Delegation and data sources separate responsibilities between classes. Storyboards provide a visual layout of scenes and segues. Objective-C code uses classes, categories, and protocols with message passing between objects. Memory is managed using reference counting.
This document compares Objective-C and Swift programming languages. It discusses their differences in data types, defining new data types, extending existing data types, properties, methods, closures, generics, operators, C bridging, and performance based on fibonacci and sum tests.
This document discusses a finder trader application that searches for profitable trading paths across multiple cryptocurrency exchanges. It outlines the application's architecture, including use of the Binance API and Swift Package Manager. It also describes the matching and trading logic to find the best trading opportunity and execute the trade. Problems and future improvements are mentioned, such as adding support for additional exchanges and integrating with cloud services.
The document discusses decomposing monolithic Rails applications into micro-APIs using a service-oriented architecture. It recommends breaking functionality into independent, stateless RESTful JSON APIs that communicate asynchronously using technologies like Redis, Sidekiq, and Grape. An example is provided of importing XML data via a POST request that schedules a background job, with the status checked via GET. Models are persisted with Redis and background jobs are handled by Sidekiq workers to provide a responsive, decoupled architecture.
The document discusses how to work with Cocoa and Objective-C from Swift. It covers importing Objective-C frameworks, interacting with Objective-C APIs such as initializers, properties, and methods, type remapping between Objective-C and Swift types, working with AnyObject and optionals, blocks, and integrating Swift code with Interface Builder using outlets and actions.
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 03) Jonathan Engelsma
This lecture covers the very basics of the syntax of the Swift programming language.
The course is an intensive and very compressed deep dive into iOS development in Swift. Visit the course web page to get copies of the course outline, lecture notes, sample code, etc.
Course website: http://www.themobilemontage.com/2015/05/12/ios-bootcamp-learning-to-create-awesome-apps-on-ios-using-swift/
YouTube Link to lecture: TBD
iOS Development using Swift: Enums, ARC, Delegation, Closures, Table View and...Ahmed Ali
Learn iOS development using Swift (Arabic tutorials) - Fourth session slides, which covers the following topics:
- Enumerations
- Auto References Count (ARC)
- Delegation Pattern
- Closures
.
The video end up demonstrating: UITableView, performing segues programmatically, passing data between screens, and access information on iOS Documentation.
This document provides an overview of key concepts in iOS development using the Model-View-Controller (MVC) pattern, including views, view controllers, navigation controllers, collection view controllers, delegation, data sources, storyboards, Objective-C basics like classes and protocols, and memory management with ARC. Views define rectangular regions to display content, view controllers control views, and navigation controllers manage hierarchical navigation between views. Delegation and data sources separate responsibilities between classes. Storyboards provide a visual layout of scenes and segues. Objective-C code uses classes, categories, and protocols with message passing between objects. Memory is managed using reference counting.
This document compares Objective-C and Swift programming languages. It discusses their differences in data types, defining new data types, extending existing data types, properties, methods, closures, generics, operators, C bridging, and performance based on fibonacci and sum tests.
Hello Swift Final 5/5 - Structures and ClassesCody Yun
The document provides an overview of classes and structures in Swift. It defines a Counter class with a count property and increment method. It then creates an instance of the Counter class and calls the increment method multiple times to increment the count property.
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 05)Jonathan Engelsma
This lecture investigates iOS user interface essentials. In particular, we look at UINavigation Controllers, and UITableViews.
This lecture is part of a course intended to be an intensive and very compressed deep dive into iOS development in Swift. Visit the course web page to get copies of the course outline, lecture notes, sample code, etc.
Course website: http://www.themobilemontage.com/2015/05/12/ios-bootcamp-learning-to-create-awesome-apps-on-ios-using-swift/
YouTube Link to lecture: TBD
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 04)Jonathan Engelsma
This document discusses the Model-View-Controller (MVC) design pattern and view controllers in iOS. It explains that MVC separates an app into three components: the model (data), the view (user interface), and the controller (logic). The controller manages the model and view, and allows them to communicate indirectly. View controllers are the main interface between views and models, and their lifecycle methods like viewDidLoad are described. Common iOS view controllers like UITabBarController and UINavigationController are also mentioned.
Objective-C is how we’ve built Mac and iOS apps for many years. It’s a huge part of the landscape of Apple Development. And, here comes Swift which is only a year old but with lot of promises and features.
Modern Objective-C introduces several syntactic sugars that simplify working with collections and objects in Objective-C, including array, dictionary and boxed expression literals that avoid explicit constructor methods, as well as object subscripting syntax that allows accessing elements in collections using subscript syntax like nsarray[index]. These features help reduce verbosity and make code more readable while still generating the same underlying method calls as before.
1. The document provides an introduction to iOS application development using Objective-C and Xcode. It discusses the basics of what is needed to get started, including downloading the iOS SDK and Xcode.
2. Key iOS development concepts are introduced such as the MVC pattern, delegates, storyboards, ARC and unit testing. Basic Xcode terminology and features are also explained.
3. Step-by-step instructions are given to create a simple iOS app with a label and buttons, and to link the buttons to change the label text. Creating a tab bar application is also demonstrated.
This document provides an overview of table views in iOS apps. It discusses the main components needed, including the table view, table view controller, and data source and delegate classes. It covers common table view tasks like displaying and selecting data, reusing table cells, and making table views editable by adding, removing, and moving rows.
This document discusses Spring MVC and building RESTful APIs for iOS clients. It provides an overview of REST principles like resources, representations, and HATEOAS. It also covers Spring MVC annotations like @RequestMapping and @ResponseBody. It demonstrates making HTTP requests in iOS using NSURLConnection and parsing JSON with NSJSONSerialization. The document concludes that API design, Spring MVC, and testing tools make building REST APIs straightforward.
Swift is a new programming language that is statically typed, multi-paradigm, and designed to work with Cocoa and Cocoa Touch. It features modern language elements like optionals, generics, closures, and pattern matching. Swift code is compiled to native executables making it performant, and it is designed to bridge seamlessly with Objective-C and Cocoa allowing existing iOS and OS X apps to migrate code over.
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOSJinkyu Kim
This document discusses and compares several common software architectural design patterns for iOS applications: MVC, MVP, MVVM, and VIPER. It provides examples of each pattern and discusses their pros and cons. Specifically, it notes that MVVM and MVP patterns improve testability by reducing dependencies on UI elements compared to MVC. For a sample laundry application, it proposes refactoring to use MVVM to improve testability of the appliance list functionality by separating concerns into model, view, and view model components.
This document summarizes a technical seminar presentation on Apple's iOS mobile operating system. The presentation covered the history and architecture of iOS, developments in iOS versions, and new features in iOS 5. It discussed the core layers and frameworks that make up the iOS architecture, including the core OS layer, core services layer, media layer and Cocoa Touch layer. It also provided an overview of the iOS software development kit and Xcode tools used for iOS application development.
An Introduction into the design of business using business architectureCraig Martin
The document is an introduction to business architecture presented by Enterprise Architects. It discusses discovering business architecture and developing the business architecture. Key points include:
- Business architecture addresses business challenges and the need for business flexibility and innovation. It focuses on capabilities, processes, and value delivery.
- Developing an effective business architecture involves understanding the business motivation, defining business strategies and models, assessing capabilities, and decomposing capabilities into operational components.
- The business architecture framework includes engagement models, services, and methods to organize content and execute business architecture work. It supports translating strategies into tangible outcomes.
The document summarizes techniques for improving app development in Swift. It discusses using the Result enum to model success and failure states from network requests, using the Cartography framework to simplify auto layout code, representing view states with an enum to avoid ambiguity, and defining shared behaviors with protocols to reduce duplicated code. The techniques aim to make code more readable, simplify view controller logic, centralize state management, and prevent duplicated implementation across unrelated types.
Diversified application testing based on a Sylius projectŁukasz Chruściel
This document discusses different types of testing used for the Sylius e-commerce platform, including unit testing with PHPSpec, API testing with ApiTestCase, and a new approach to behavior-driven development (BDD) testing with Behat. It provides examples of unit testing calculator and rating classes with PHPSpec. It also describes testing API responses like JSON and XML with ApiTestCase. Finally, it outlines improvements made to Behat contexts and step definitions, including using dependency injection and page objects to make contexts more reusable and readable.
The document compares the programming languages Swift and Kotlin. It provides background on the speakers and an outline of the topics to be discussed, including brief introductions to Swift and Kotlin, common language features between the two, demonstrations of code samples, and conclusions. IDEs like Xcode, Android Studio, and AppCode will also be demonstrated.
Unit testing, everyone talks about it and wants to do it but never gets around to actually start testing. Complex spaghetti code and time / budget pressures are often the reasons why nobody dives in and gets started with testing. But when the application breaks, and people loose money or worse it's often too late.
In this talk I will take you on a journey with real examples that will show you how you can set up your tests, how to test complex situations with legacy spaghetti code, test web services, database interactions and how to gradually build a solid foundation to safeguard the core code base and everything around it.
Don't you want to be confident when you walk out the office?
Deep Dive Into Swift - Presented at Coffee@DBG
In the previous month, Coffe@DBG Covered the basics of Swift, Apple's new programming language. This session introduces some of handpicked interesting features of Swift.
This document provides an overview of software testing concepts. It discusses different types of testing like unit testing, functional testing, error path testing, boundary value testing, and equivalence partitioning. It also covers test strategies like golden path testing, black box testing, and white box testing. The purpose of a tester is explained as quantifying risk to make decisions that improve confidence and quality.
Cooking your Ravioli "al dente" with Hexagonal ArchitectureJeroen Rosenberg
Hexagonal architecture (a.k.a. ports and adapters) is a fancy name for designing your application in a way that the core domain is separated from the outside world by input and output ports. With a little bit of imagination one can visualise this as a hexagon made up of domain objects, use cases that operate on them, and input and output ports that provide an interface to the outside world.
Many projects involve integration or communication with external software systems. Think of databases, 3rd party services, but also application platforms or SDKs. Such integrations and dependencies can quickly get in your way, clutter your core domain and reduce the testability of your core business logic. In this talk, I will demonstrate how a hexagonal architecture helps you to reduce dependencies on external software systems and enables you to apply standard software engineering best practices on the core domain of your application, such as testability, separation of concerns, and reusability.
Join this talk to learn the ins and outs (pun intended) of the hexagonal architecture paradigm and get practical advice and examples to apply to your software projects right away!
Test-driven development (TDD) is a software development process where developers first write automated tests that define desired improvements or new functions. They then write code to pass those tests and refactor the new code to acceptable standards. TDD involves writing unit tests, integration tests, and acceptance tests using tools like JUnit, FitNesse, and Cucumber. Practicing TDD can provide benefits like improved code quality, reduced bugs, and increased developer productivity.
Hello Swift Final 5/5 - Structures and ClassesCody Yun
The document provides an overview of classes and structures in Swift. It defines a Counter class with a count property and increment method. It then creates an instance of the Counter class and calls the increment method multiple times to increment the count property.
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 05)Jonathan Engelsma
This lecture investigates iOS user interface essentials. In particular, we look at UINavigation Controllers, and UITableViews.
This lecture is part of a course intended to be an intensive and very compressed deep dive into iOS development in Swift. Visit the course web page to get copies of the course outline, lecture notes, sample code, etc.
Course website: http://www.themobilemontage.com/2015/05/12/ios-bootcamp-learning-to-create-awesome-apps-on-ios-using-swift/
YouTube Link to lecture: TBD
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 04)Jonathan Engelsma
This document discusses the Model-View-Controller (MVC) design pattern and view controllers in iOS. It explains that MVC separates an app into three components: the model (data), the view (user interface), and the controller (logic). The controller manages the model and view, and allows them to communicate indirectly. View controllers are the main interface between views and models, and their lifecycle methods like viewDidLoad are described. Common iOS view controllers like UITabBarController and UINavigationController are also mentioned.
Objective-C is how we’ve built Mac and iOS apps for many years. It’s a huge part of the landscape of Apple Development. And, here comes Swift which is only a year old but with lot of promises and features.
Modern Objective-C introduces several syntactic sugars that simplify working with collections and objects in Objective-C, including array, dictionary and boxed expression literals that avoid explicit constructor methods, as well as object subscripting syntax that allows accessing elements in collections using subscript syntax like nsarray[index]. These features help reduce verbosity and make code more readable while still generating the same underlying method calls as before.
1. The document provides an introduction to iOS application development using Objective-C and Xcode. It discusses the basics of what is needed to get started, including downloading the iOS SDK and Xcode.
2. Key iOS development concepts are introduced such as the MVC pattern, delegates, storyboards, ARC and unit testing. Basic Xcode terminology and features are also explained.
3. Step-by-step instructions are given to create a simple iOS app with a label and buttons, and to link the buttons to change the label text. Creating a tab bar application is also demonstrated.
This document provides an overview of table views in iOS apps. It discusses the main components needed, including the table view, table view controller, and data source and delegate classes. It covers common table view tasks like displaying and selecting data, reusing table cells, and making table views editable by adding, removing, and moving rows.
This document discusses Spring MVC and building RESTful APIs for iOS clients. It provides an overview of REST principles like resources, representations, and HATEOAS. It also covers Spring MVC annotations like @RequestMapping and @ResponseBody. It demonstrates making HTTP requests in iOS using NSURLConnection and parsing JSON with NSJSONSerialization. The document concludes that API design, Spring MVC, and testing tools make building REST APIs straightforward.
Swift is a new programming language that is statically typed, multi-paradigm, and designed to work with Cocoa and Cocoa Touch. It features modern language elements like optionals, generics, closures, and pattern matching. Swift code is compiled to native executables making it performant, and it is designed to bridge seamlessly with Objective-C and Cocoa allowing existing iOS and OS X apps to migrate code over.
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOSJinkyu Kim
This document discusses and compares several common software architectural design patterns for iOS applications: MVC, MVP, MVVM, and VIPER. It provides examples of each pattern and discusses their pros and cons. Specifically, it notes that MVVM and MVP patterns improve testability by reducing dependencies on UI elements compared to MVC. For a sample laundry application, it proposes refactoring to use MVVM to improve testability of the appliance list functionality by separating concerns into model, view, and view model components.
This document summarizes a technical seminar presentation on Apple's iOS mobile operating system. The presentation covered the history and architecture of iOS, developments in iOS versions, and new features in iOS 5. It discussed the core layers and frameworks that make up the iOS architecture, including the core OS layer, core services layer, media layer and Cocoa Touch layer. It also provided an overview of the iOS software development kit and Xcode tools used for iOS application development.
An Introduction into the design of business using business architectureCraig Martin
The document is an introduction to business architecture presented by Enterprise Architects. It discusses discovering business architecture and developing the business architecture. Key points include:
- Business architecture addresses business challenges and the need for business flexibility and innovation. It focuses on capabilities, processes, and value delivery.
- Developing an effective business architecture involves understanding the business motivation, defining business strategies and models, assessing capabilities, and decomposing capabilities into operational components.
- The business architecture framework includes engagement models, services, and methods to organize content and execute business architecture work. It supports translating strategies into tangible outcomes.
The document summarizes techniques for improving app development in Swift. It discusses using the Result enum to model success and failure states from network requests, using the Cartography framework to simplify auto layout code, representing view states with an enum to avoid ambiguity, and defining shared behaviors with protocols to reduce duplicated code. The techniques aim to make code more readable, simplify view controller logic, centralize state management, and prevent duplicated implementation across unrelated types.
Diversified application testing based on a Sylius projectŁukasz Chruściel
This document discusses different types of testing used for the Sylius e-commerce platform, including unit testing with PHPSpec, API testing with ApiTestCase, and a new approach to behavior-driven development (BDD) testing with Behat. It provides examples of unit testing calculator and rating classes with PHPSpec. It also describes testing API responses like JSON and XML with ApiTestCase. Finally, it outlines improvements made to Behat contexts and step definitions, including using dependency injection and page objects to make contexts more reusable and readable.
The document compares the programming languages Swift and Kotlin. It provides background on the speakers and an outline of the topics to be discussed, including brief introductions to Swift and Kotlin, common language features between the two, demonstrations of code samples, and conclusions. IDEs like Xcode, Android Studio, and AppCode will also be demonstrated.
Unit testing, everyone talks about it and wants to do it but never gets around to actually start testing. Complex spaghetti code and time / budget pressures are often the reasons why nobody dives in and gets started with testing. But when the application breaks, and people loose money or worse it's often too late.
In this talk I will take you on a journey with real examples that will show you how you can set up your tests, how to test complex situations with legacy spaghetti code, test web services, database interactions and how to gradually build a solid foundation to safeguard the core code base and everything around it.
Don't you want to be confident when you walk out the office?
Deep Dive Into Swift - Presented at Coffee@DBG
In the previous month, Coffe@DBG Covered the basics of Swift, Apple's new programming language. This session introduces some of handpicked interesting features of Swift.
This document provides an overview of software testing concepts. It discusses different types of testing like unit testing, functional testing, error path testing, boundary value testing, and equivalence partitioning. It also covers test strategies like golden path testing, black box testing, and white box testing. The purpose of a tester is explained as quantifying risk to make decisions that improve confidence and quality.
Cooking your Ravioli "al dente" with Hexagonal ArchitectureJeroen Rosenberg
Hexagonal architecture (a.k.a. ports and adapters) is a fancy name for designing your application in a way that the core domain is separated from the outside world by input and output ports. With a little bit of imagination one can visualise this as a hexagon made up of domain objects, use cases that operate on them, and input and output ports that provide an interface to the outside world.
Many projects involve integration or communication with external software systems. Think of databases, 3rd party services, but also application platforms or SDKs. Such integrations and dependencies can quickly get in your way, clutter your core domain and reduce the testability of your core business logic. In this talk, I will demonstrate how a hexagonal architecture helps you to reduce dependencies on external software systems and enables you to apply standard software engineering best practices on the core domain of your application, such as testability, separation of concerns, and reusability.
Join this talk to learn the ins and outs (pun intended) of the hexagonal architecture paradigm and get practical advice and examples to apply to your software projects right away!
Test-driven development (TDD) is a software development process where developers first write automated tests that define desired improvements or new functions. They then write code to pass those tests and refactor the new code to acceptable standards. TDD involves writing unit tests, integration tests, and acceptance tests using tools like JUnit, FitNesse, and Cucumber. Practicing TDD can provide benefits like improved code quality, reduced bugs, and increased developer productivity.
Mal ganz ehrlich: Testen im Frontend hat noch nie viel Spaß gemacht. In meinem Talk möchte ich mit Jest eine Testbibliothek vorstellen, die genau das ändern kann. Jest ist ohne viel Konfiguration direkt einsetzbar und bringt alles mit, was man von einer Testbibliothek erwartet (und noch mehr). An vielen praktischen Beispielen möchte ich meine Lieblingsfeatures wie z.B. Snapshot-Tests, Mocking oder das tolle CLI erläutern und zeigen, dass Testen im Frontend durchaus Spaß machen kann. Eine Ausrede weniger, um auf das Testen im Frontend zu verzichten!
Developer testing 101: Become a Testing FanaticLB Denker
In this workshop we will cover the methodologies and three basic levels of testing, then we will deep dive into how to use PHPUnit to achieve developer testing. The tests may not be the prettiest, most robust, or efficient, but you should leave the course with the ability and confidence to write tests for your code.
Topics include: xUnit framework basics and workflows, test classification, asserts, data driven testing, and an introduction to mocking.
This is a beginner course, but seasoned veterans may discover features they never knew.
This document discusses test-driven development with JavaFX. It covers testing JavaFX applications at the unit, integration, and system levels. It also discusses continuous integration/continuous delivery and different tools that can be used for testing JavaFX applications, including TestFX, MarvinFX, JemmyFX, and Automaton. TestFX is highlighted as the recommended tool, with details provided on how to interact with JavaFX applications using its fluent API. The document also discusses using the view object pattern to write more readable tests and testing JavaFX applications that use DataFX or Afterburner.fx frameworks. It provides an example of using CDI to inject mocks when testing.
North Virginia Coldfusion User Group Meetup - Testbox - July 19th 2017Ortus Solutions, Corp
Testbox is a tool we all should be using to test our ColdFusion Applications which was created and is maintained by Ortus Solutions, the people that brought you ColdBox. We will have Gavin from Ortus in house on this day to go over some testbox examples, talk about its importance, and answer any questions you have.
SO --- if you have and high level questions for Gavin, reply to this post (or hit me up) so I can get the questions to Gavin a head of time just in case he needs to consult others at Ortus.
Gavin Pickin is a proud ColdFusion developer, starting with ColdFusion in the late 90s. Now working with Ortus Solutions, a leading force in CFML Development frameworks and tools, Gavin gets to work on a lot of great projects, for a big variety of clients. At Ortus Solutions, a big focus is on free and open source tools, on open source Fridays, Gavin spend most of his open source time working on ContentBox Content Management System.
Tips for Building your First XPages Java ApplicationTeamstudio
XPages and Java go together like bicycles and great exercise. But much like you wouldn't attempt a hundred mile bicycle ride on your first day, Java is best learned by starting small and building on your accomplishments. Planning, preparation, and realistic goals are keys to becoming proficient at using Java in your XPages applications. Come learn as two long-time developers, Mike and Graham, share their experiences on their Java treks and demonstrate some of what they learned as they build a Java-based shopping cart in an XPages application.
The document discusses eHarmony's plans to migrate their iOS app from Objective-C to Swift. It provides an overview of eHarmony as a company that has successfully matched over 565,000 couples using a scientific matching system. It then discusses Swift features like protocol extensions, error handling, and nullability that improve code safety. Finally, it outlines eHarmony's plan to tackle the migration through modernizing Objective-C code, generating bridging headers, and incrementally migrating parts of the app to Swift.
The document discusses various topics related to Android testing including:
- Best practice is to create a separate test project rather than including tests in the main project. This keeps tests stripped out of the main code and easier/faster to run.
- Tests can be run from Eclipse or from the command line with options to run all tests, a single test class/method, or filter by category.
- The Android SDK tools, emulator/AVD, and tools like uiautomatorviewer and uiautomator are needed to perform UI tests.
- Different types of tests include unit tests, integration tests to check components work together, acceptance tests for QA, and performance tests to check system behavior.
API first with Swagger and Scala by Slava SchmidtJavaDayUA
How does one scale the development of a service landscape in a corporate enterprise environment utilizing Typesafe's Play and Akka software stack? How does one achieve API uniformity and coherence accross dozens of development teams, getting them and their subsequently developed subsystems to play together nicely? At Zalando we believe firmly in an API first approach, founded an API guild that ratifies and supports the development of APIs, and define them in a formal manner employing the Swagger API representation language.
The document discusses high ROI testing strategies in Angular applications. It recommends focusing testing efforts on integration tests using Cypress component testing. The speaker demonstrates how to set up Cypress component testing for an Angular application and write tests that follow best practices. Tests for common CRUD operations on a todo application are shown as examples, covering creating, showing, updating, and deleting todo items.
In this talk we are going tο… talk about what unit testing is, how you can apply it to ensure your code works as expected and how TDD can help you write new and refactor existing code. Also about how to decide what to test and how you can test real world iOS apps. Finally, we will go through a few tips and tricks that made unit testing in Swift and Xcode 'click' for me and can hopefully help you too.
«Как сделать так, чтобы тесты на Swift не причиняли боль» Сычев Александр, Ra...it-people
The document discusses best practices for writing tests in Swift, including recommendations to:
- Write clean, readable tests that focus on asserting a single truth
- Use a domain-specific language in tests for clarity
- Structure tests with "given-when-then"
- Mock dependencies through protocols to enable test isolation
- Favor partial mocks over fully mocking to limit complexity
How Can Hiring A Mobile App Development Company Help Your Business Grow?ToXSL Technologies
ToXSL Technologies is an award-winning Mobile App Development Company in Dubai that helps businesses reshape their digital possibilities with custom app services. As a top app development company in Dubai, we offer highly engaging iOS & Android app solutions. https://rb.gy/necdnt
Microservice Teams - How the cloud changes the way we workSven Peters
A lot of technical challenges and complexity come with building a cloud-native and distributed architecture. The way we develop backend software has fundamentally changed in the last ten years. Managing a microservices architecture demands a lot of us to ensure observability and operational resiliency. But did you also change the way you run your development teams?
Sven will talk about Atlassian’s journey from a monolith to a multi-tenanted architecture and how it affected the way the engineering teams work. You will learn how we shifted to service ownership, moved to more autonomous teams (and its challenges), and established platform and enablement teams.
8 Best Automated Android App Testing Tool and Framework in 2024.pdfkalichargn70th171
Regarding mobile operating systems, two major players dominate our thoughts: Android and iPhone. With Android leading the market, software development companies are focused on delivering apps compatible with this OS. Ensuring an app's functionality across various Android devices, OS versions, and hardware specifications is critical, making Android app testing essential.
Consistent toolbox talks are critical for maintaining workplace safety, as they provide regular opportunities to address specific hazards and reinforce safe practices.
These brief, focused sessions ensure that safety is a continual conversation rather than a one-time event, which helps keep safety protocols fresh in employees' minds. Studies have shown that shorter, more frequent training sessions are more effective for retention and behavior change compared to longer, infrequent sessions.
Engaging workers regularly, toolbox talks promote a culture of safety, empower employees to voice concerns, and ultimately reduce the likelihood of accidents and injuries on site.
The traditional method of conducting safety talks with paper documents and lengthy meetings is not only time-consuming but also less effective. Manual tracking of attendance and compliance is prone to errors and inconsistencies, leading to gaps in safety communication and potential non-compliance with OSHA regulations. Switching to a digital solution like Safelyio offers significant advantages.
Safelyio automates the delivery and documentation of safety talks, ensuring consistency and accessibility. The microlearning approach breaks down complex safety protocols into manageable, bite-sized pieces, making it easier for employees to absorb and retain information.
This method minimizes disruptions to work schedules, eliminates the hassle of paperwork, and ensures that all safety communications are tracked and recorded accurately. Ultimately, using a digital platform like Safelyio enhances engagement, compliance, and overall safety performance on site. https://safelyio.com/
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemPeter Muessig
Learn about the latest innovations in and around OpenUI5/SAPUI5: UI5 Tooling, UI5 linter, UI5 Web Components, Web Components Integration, UI5 2.x, UI5 GenAI.
Recording:
https://www.youtube.com/live/MSdGLG2zLy8?si=INxBHTqkwHhxV5Ta&t=0
Flutter is a popular open source, cross-platform framework developed by Google. In this webinar we'll explore Flutter and its architecture, delve into the Flutter Embedder and Flutter’s Dart language, discover how to leverage Flutter for embedded device development, learn about Automotive Grade Linux (AGL) and its consortium and understand the rationale behind AGL's choice of Flutter for next-gen IVI systems. Don’t miss this opportunity to discover whether Flutter is right for your project.
Most important New features of Oracle 23c for DBAs and Developers. You can get more idea from my youtube channel video from https://youtu.be/XvL5WtaC20A
Preparing Non - Technical Founders for Engaging a Tech AgencyISH Technologies
Preparing non-technical founders before engaging a tech agency is crucial for the success of their projects. It starts with clearly defining their vision and goals, conducting thorough market research, and gaining a basic understanding of relevant technologies. Setting realistic expectations and preparing a detailed project brief are essential steps. Founders should select a tech agency with a proven track record and establish clear communication channels. Additionally, addressing legal and contractual considerations and planning for post-launch support are vital to ensure a smooth and successful collaboration. This preparation empowers non-technical founders to effectively communicate their needs and work seamlessly with their chosen tech agency.Visit our site to get more details about this. Contact us today www.ishtechnologies.com.au
Unveiling the Advantages of Agile Software Development.pdfbrainerhub1
Learn about Agile Software Development's advantages. Simplify your workflow to spur quicker innovation. Jump right in! We have also discussed the advantages.
Hand Rolled Applicative User ValidationCode KataPhilip Schwarz
Could you use a simple piece of Scala validation code (granted, a very simplistic one too!) that you can rewrite, now and again, to refresh your basic understanding of Applicative operators <*>, <*, *>?
The goal is not to write perfect code showcasing validation, but rather, to provide a small, rough-and ready exercise to reinforce your muscle-memory.
Despite its grandiose-sounding title, this deck consists of just three slides showing the Scala 3 code to be rewritten whenever the details of the operators begin to fade away.
The code is my rough and ready translation of a Haskell user-validation program found in a book called Finding Success (and Failure) in Haskell - Fall in love with applicative functors.
UI5con 2024 - Bring Your Own Design SystemPeter Muessig
How do you combine the OpenUI5/SAPUI5 programming model with a design system that makes its controls available as Web Components? Since OpenUI5/SAPUI5 1.120, the framework supports the integration of any Web Components. This makes it possible, for example, to natively embed own Web Components of your design system which are created with Stencil. The integration embeds the Web Components in a way that they can be used naturally in XMLViews, like with standard UI5 controls, and can be bound with data binding. Learn how you can also make use of the Web Components base class in OpenUI5/SAPUI5 to also integrate your Web Components and get inspired by the solution to generate a custom UI5 library providing the Web Components control wrappers for the native ones.
Measures in SQL (SIGMOD 2024, Santiago, Chile)Julian Hyde
SQL has attained widespread adoption, but Business Intelligence tools still use their own higher level languages based upon a multidimensional paradigm. Composable calculations are what is missing from SQL, and we propose a new kind of column, called a measure, that attaches a calculation to a table. Like regular tables, tables with measures are composable and closed when used in queries.
SQL-with-measures has the power, conciseness and reusability of multidimensional languages but retains SQL semantics. Measure invocations can be expanded in place to simple, clear SQL.
To define the evaluation semantics for measures, we introduce context-sensitive expressions (a way to evaluate multidimensional expressions that is consistent with existing SQL semantics), a concept called evaluation context, and several operations for setting and modifying the evaluation context.
A talk at SIGMOD, June 9–15, 2024, Santiago, Chile
Authors: Julian Hyde (Google) and John Fremlin (Google)
https://doi.org/10.1145/3626246.3653374
1. Keith Moon - Senior iOS Developer
Thinking In Swift
MBLT.dev - Moscow
November 2016
2. 2
• iOS Developer since 2010
• Worked with BBC News, Hotels.com and Travelex
• Working in Swift since it’s release
• Built 2 apps end to end in Swift
• “Swift 3 Cookbook” to be published by Pakt
Who am I?
@keefmoon
3. 3
• Help users discover great local food
• Make it quick and easy to order from a wide variety of takeaways
• Available on:
–Web
–iOS
–Android
–Amazon Echo
What is Just Eat?
3
4. 4
• Australia
• Brazil
• Canada
• Denmark
• France
• Ireland
• Italy
• Mexico
What is Just Eat?
Global Business
• New Zealand
• Norway
• Spain
• Switzerland
• UK
5. 5
• 12 iOS Developers
• Organised around feature teams
• Mixture of Objective-C and Swift
• Regular releases
• Multi-Variant Testing
• Research team investigating new technology
What is Just Eat?
5
6. 6
What is Just Eat?
• 12 iOS Developers
• Organised around feature teams
• Mixture of Objective-C and Swift
• Regular releases
• Multi-Variant Testing
• Research team investigating new technology
7. 7
Purpose of this talk?
• Swift is fundamentally different to Objective-C
• Not just different syntax
• Swift has more “tools in the toolbox”
How do we “think in Swift”?
8. How do we “think in Swift”?
8
• Use constructs that more closely match the model
• Write code that is hard to use wrong
• Remove the need for trivial tests
• Consider a Protocol orientated approach
9. Structs
The right tool for the job
Class Objects
Enums
Protocols
+ Extensions
Constrained
Extensions
Tuples
11. Enums
• Based on any RawRepresentable
enum PaymentOption: String {
case cash
case savedCard
case applePay
case accountCredit
}
12. Enums
• Based on any RawRepresentable
• … or not.
enum PaymentOption {
case cash
case savedCard
case applePay
case accountCredit
}
13. Enums
• Based on any RawRepresentable
• … or not.
• Associated Types
enum PaymentOption {
case cash
case savedCard(SavedCard)
case applePay
case accountCredit
}
14. Enums
• Based on any RawRepresentable
• … or not.
• Associated Types
• Methods
enum PaymentOption {
case cash
case savedCard(SavedCard)
case applePay
case accountCredit
func canPay(at rest: Restaurant) -> Bool {
//...
}
}
15. Enums
• Based on any RawRepresentable
• … or not.
• Associated Types
• Methods
• Computed variables
enum PaymentOption {
case cash
case savedCard(SavedCard)
case applePay
case accountCredit
func canPay(at rest: Restaurant) -> Bool {
//...
}
var isDeviceSupported: Bool {
//...
}
}
33. Summary
● Pick the appropriate Swift type for the concept being modelled
● Consider the Type semantics
● Defining behaviours as protocols can produce expressive code
● Avoid “Stringly” typed implementations
● Try to anticipate and prevent future developer errors
33