Suche senden
Hochladen
APIs: The Ugly
•
0 gefällt mir
•
825 views
Michele Titolo
Folgen
P
Weniger lesen
Mehr lesen
Software
Technologie
Weiterbildung und Persönlichkeitsentwicklung
Melden
Teilen
Melden
Teilen
1 von 20
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
This talk is a collection of my thoughts and observations since my early infosec days - some technical, some philosophical and some pointed questions for all of us to reflect upon. I would like to talk about my journey in the information security industry, from the fledgling years in the late 90s where I was still entrenched in academia to the present day where infosec is redefining the world's political boundaries, literally and figuratively.
15 years through Infosec
15 years through Infosec
Saumil Shah
What would you do to convince a large audience, who has little context, to use your solution to a problem? One way is to write a design document, which helps scale technical communication and build alignment among stakeholders. The wider the scope of the problem, the more important alignment is. A design document achieves this by addressing three key questions: “what is the goal?”, “how will we achieve it?” and “why are we doing it this way?”. This talk will cover identifying your audience, effectively writing answers to these questions, and involving the right people at the right time.
Writing Design Docs for Wide Audiences
Writing Design Docs for Wide Audiences
Michele Titolo
More engineering organizations than ever are dealing with big data. The long times required to process big datasets slow down development cycles and delay analysis. Apache Beam pipelines distribute processing across many workers, reducing the time it takes to transform large datasets. Creating an effective Beam pipeline requires following best practices and using the specialized data structures Beam introduces. In this talk, I’ll share strategies and lessons learned from scaling Apache Beam pipelines to handle ever-increasing workloads.
Beam Me Up: Voyaging into Big Data
Beam Me Up: Voyaging into Big Data
Michele Titolo
Service oriented systems have become hugely popular, and the golden age of the monolith has past. Sometimes these services can be fantastic, and other times not so much. Learning how to evaluate APIs and identify problem areas before jumping head first into development can save teams frustration, time, and money. This session will walk through evaluating an API, best practices, and red flags, all from the standpoint of a developer consuming them. No matter your experience level, you'll leave with the skills to effectively tackle your next API. This version given at 200ok May 2019
APIs: The Good, The Bad, The Ugly
APIs: The Good, The Bad, The Ugly
Michele Titolo
Big, Impossible Projects are exciting, transformative, and begin with an overwhelming number of unanswered questions. Developing against a moving target is never easy — you might find yourself going against best practices such as designing solutions without knowing all the parameters, or encountering dependencies you didn’t even think were possible. Big, Impossible projects can start out looking small and simple, but like an iceberg, they have much more to them once you get up close. In this talk for both new and seasoned leaders you will learn to navigate the icebergs and bring your next Big, Impossible Project to a successful conclusion.
Tackling the Big, Impossible Project
Tackling the Big, Impossible Project
Michele Titolo
You don't deploy a single microservice. The journey to microservice architecture involves more than how code is written or applications are packaged. It's about creating an interconnected ecosystem that keeps things running. Infrastructure and tools have only grown in importance as microservices have emerged as a dominant architecture pattern. Deploying, scaling, and monitoring are more important for microservices than they ever were before. Attendees will leave this session knowing the basic infrastructure and tooling needs for microservices to be successful.
No Microservice is an Island
No Microservice is an Island
Michele Titolo
When I first started talking to people about wanting to work on backend services, the most common reaction was saying that it’s so different from iOS development. I never thought of it that way. Making iOS apps involves a lot of specialized knowledge applied to seemingly specialized problems. However, when those problems are distilled down to their fundamental form, they look similar to problems encountered in other software disciplines. Together we will discover those problems and learn how to apply them to different situations.
From iOS to Distributed Systems
From iOS to Distributed Systems
Michele Titolo
Xcode is incredibly useful for debugging iOS apps, especially with the updates released in the last few years. Sometimes that isn’t enough. Sometimes you want to find the exact error that caused an exception throw, or only activate a breakpoint with a certain method previously in the call stack. These cases, which are hard to debug with Xcode’s standard toolset, are easy to debug with LLDB. This talk will walk through the foundations of debugging in LLDB for Objective-C and Swift, as well as introduce some more advanced features for those really tough bugs.
More than po: Debugging in LLDB
More than po: Debugging in LLDB
Michele Titolo
Empfohlen
This talk is a collection of my thoughts and observations since my early infosec days - some technical, some philosophical and some pointed questions for all of us to reflect upon. I would like to talk about my journey in the information security industry, from the fledgling years in the late 90s where I was still entrenched in academia to the present day where infosec is redefining the world's political boundaries, literally and figuratively.
15 years through Infosec
15 years through Infosec
Saumil Shah
What would you do to convince a large audience, who has little context, to use your solution to a problem? One way is to write a design document, which helps scale technical communication and build alignment among stakeholders. The wider the scope of the problem, the more important alignment is. A design document achieves this by addressing three key questions: “what is the goal?”, “how will we achieve it?” and “why are we doing it this way?”. This talk will cover identifying your audience, effectively writing answers to these questions, and involving the right people at the right time.
Writing Design Docs for Wide Audiences
Writing Design Docs for Wide Audiences
Michele Titolo
More engineering organizations than ever are dealing with big data. The long times required to process big datasets slow down development cycles and delay analysis. Apache Beam pipelines distribute processing across many workers, reducing the time it takes to transform large datasets. Creating an effective Beam pipeline requires following best practices and using the specialized data structures Beam introduces. In this talk, I’ll share strategies and lessons learned from scaling Apache Beam pipelines to handle ever-increasing workloads.
Beam Me Up: Voyaging into Big Data
Beam Me Up: Voyaging into Big Data
Michele Titolo
Service oriented systems have become hugely popular, and the golden age of the monolith has past. Sometimes these services can be fantastic, and other times not so much. Learning how to evaluate APIs and identify problem areas before jumping head first into development can save teams frustration, time, and money. This session will walk through evaluating an API, best practices, and red flags, all from the standpoint of a developer consuming them. No matter your experience level, you'll leave with the skills to effectively tackle your next API. This version given at 200ok May 2019
APIs: The Good, The Bad, The Ugly
APIs: The Good, The Bad, The Ugly
Michele Titolo
Big, Impossible Projects are exciting, transformative, and begin with an overwhelming number of unanswered questions. Developing against a moving target is never easy — you might find yourself going against best practices such as designing solutions without knowing all the parameters, or encountering dependencies you didn’t even think were possible. Big, Impossible projects can start out looking small and simple, but like an iceberg, they have much more to them once you get up close. In this talk for both new and seasoned leaders you will learn to navigate the icebergs and bring your next Big, Impossible Project to a successful conclusion.
Tackling the Big, Impossible Project
Tackling the Big, Impossible Project
Michele Titolo
You don't deploy a single microservice. The journey to microservice architecture involves more than how code is written or applications are packaged. It's about creating an interconnected ecosystem that keeps things running. Infrastructure and tools have only grown in importance as microservices have emerged as a dominant architecture pattern. Deploying, scaling, and monitoring are more important for microservices than they ever were before. Attendees will leave this session knowing the basic infrastructure and tooling needs for microservices to be successful.
No Microservice is an Island
No Microservice is an Island
Michele Titolo
When I first started talking to people about wanting to work on backend services, the most common reaction was saying that it’s so different from iOS development. I never thought of it that way. Making iOS apps involves a lot of specialized knowledge applied to seemingly specialized problems. However, when those problems are distilled down to their fundamental form, they look similar to problems encountered in other software disciplines. Together we will discover those problems and learn how to apply them to different situations.
From iOS to Distributed Systems
From iOS to Distributed Systems
Michele Titolo
Xcode is incredibly useful for debugging iOS apps, especially with the updates released in the last few years. Sometimes that isn’t enough. Sometimes you want to find the exact error that caused an exception throw, or only activate a breakpoint with a certain method previously in the call stack. These cases, which are hard to debug with Xcode’s standard toolset, are easy to debug with LLDB. This talk will walk through the foundations of debugging in LLDB for Objective-C and Swift, as well as introduce some more advanced features for those really tough bugs.
More than po: Debugging in LLDB
More than po: Debugging in LLDB
Michele Titolo
First came APIs, then came mobile. Many companies were excited to be able to re-use existing technology to build mobile applications. The quality bar for apps has risen dramatically, and those generic APIs only go so far. Since most apps depend on APIs for data, then shouldn’t those APIs be optimized for mobile experiences? Can a poorly designed API detract from user experience? The answer to both of those questions is yes. This talk will cover why mobile APIs matter, and how existing paradigms and practices can optimize APIs for great mobile experiences.
APIs for the Mobile World
APIs for the Mobile World
Michele Titolo
Generics are one of the features of Swift that set it apart from many other languages. Since Swift debuted, developers have been wondering when to use them and what to use them for. By looking at the standard library, which is the first piece of software to use generics, we can better understand their purpose and utility.
Swift Generics in Theory and Practice
Swift Generics in Theory and Practice
Michele Titolo
Swift’s design promotes language features like generics and first-class protocols as key architectural components in application development. However, many of the logical patterns that arise, including ones imported from Objective-C, don’t work as we expect them to. In many cases, Swift’s type system resists certain straightforward patterns, such as constraining a property to both a class and a protocol. This talk will highlight several of these challenges, discuss the underlying cause, and evaluate workarounds.
Protocols promised-land-2
Protocols promised-land-2
Michele Titolo
iOS 9 introduced multitasking, which allows apps to be used side by side on certain devices. Along with this came a number of new APIs for handling transitions between different screen configurations. However, integrating these new APIs in an exiting codebase can be trick, and often requires rethinking the way a component is structured. This talk will introduce multitasking, cover the new APIs available to handle different scenarios, and walk through some gotchas when adding support for multitasking into existing applications.
Multitasking
Multitasking
Michele Titolo
Small is the new big, and for good reason. The benefits of microservices and service-oriented architecture have been extolled for a number of years, yet many forge ahead without thinking of the impact the users of the services. Consuming on micro services can be enjoyable as long as the developer experience has been crafted as finely as the service itself. But just like with any other product, there isn’t a single kind of consumer. Together we will walk through some typical kinds of consumers, what their needs are, and how we can create a great developer experience using brains and tools like Docker.
Making friendly-microservices
Making friendly-microservices
Michele Titolo
Xcode is incredibly useful for debugging iOS apps, especially with the updates released in 6.0. But sometimes that isn't enough. Sometimes you want to find the exact error that caused the objc_exception_throw, or only activate a breakpoint with a certain method in the call stack. These cases, which are hard to debug with Xcode's standard toolset, are easy with LLDB. This talk will walk through the basics of debugging in LLDB, and solutions to common problems.
More Than po: Debugging in LLDB @ CocoaConf SJ 2015
More Than po: Debugging in LLDB @ CocoaConf SJ 2015
Michele Titolo
Every developer has been there--late at night, deadline looming, piling hacks on top of hacks to get a little closer to being finished, there are no tests, edge cases are totally forgotten. Many of us think these situations lead to the worst code we could possibly write. Under such conditions, it is difficult to write robust, well architected code--true--but this is not the only situation that leads to that end. Software development is a complex, creative process that can easily get out of hand. This is because one large factor is often forgotten about--the human factor. Avoiding writing the worst code ultimately comes down to how the people writing, spec'ing, testing, validating, and tracking the code interact.
The Worst Code
The Worst Code
Michele Titolo
Xcode is incredibly useful for debugging iOS apps, especially with the updates released in 6.0. But sometimes that isn’t enough. Sometimes you want to find the exact error that caused the objc_exception_throw, or only activate a breakpoint with a certain method in the call stack. These cases, which are hard to debug with Xcode’s toolset, are easy with LLDB. This talk will walk through the basics of debugging in LLDB, and solutions to common problems.
More than `po`: Debugging in lldb
More than `po`: Debugging in lldb
Michele Titolo
Gone are the days where making an app just involved writing code. Now, even as a developer, we need to be aware of many other aspects of shipping. They can be human things, like "how do I stop someone from overwriting my changes to the project.pbxproj, storyboard, or xib?" Or technical challenges, like "how do I manage dependencies?” and “why do I always have to do a 3-way merge?” Or even peripheral things like “what happens to our servers if we get featured?” and “what happens to the app when the servers go down?” This session will cover common scaling problems, and solutions to overcome them.
Can't Handle My Scale v2
Can't Handle My Scale v2
Michele Titolo
Scaling an app means many things. They can be human things, like "how do I stop someone from overwriting my changes to the project.pbxproj, storyboard, or xib?" Or development things, like "how do I manage dependencies?” and “why do I always have to do a 3-way merge?” Or even peripheral things like “what happens to our servers if we get featured?” and “what happens to the app when the servers go down?” This session will cover common scaling problems, and solutions to overcome them.
Can't Handle My Scale
Can't Handle My Scale
Michele Titolo
We have this new language, Swift, which takes some familiar Apple patterns, and introduces some new ones. With tools like closures and method chaining, there are definitely some new ways to solve the age-old Obj-c architecture challenges. This talk will walk through some of the most common Obj-c design patterns rewritten in Swift, and showcase the strengths and weaknesses of this new language.
Cocoa Design Patterns in Swift
Cocoa Design Patterns in Swift
Michele Titolo
Mastering the Project File (AltConf)
Mastering the Project File (AltConf)
Michele Titolo
Inheriting code is something we all have to deal with, and knowing what you're getting yourself into is a big part of that initial deep dive. Just like anything else, this is a skill that needs to be practiced and perfected over time. This session will walk through some strategies to use when looking at code you didn't write, finding problem spots, as well as share some personal experiences I've had when working with other people's code. You'll leave feeling confident about digging into your next codebase, and have some new tools in your pocket for dealing with the unexpected.
That's Not My Code!
That's Not My Code!
Michele Titolo
Apps consume a lot of web services these days. Sometimes, these new services can be fantastic, and other times not so much. Learning how to evaluate APIs and identify problem areas before jumping head first into development can save us frustration, time, and money. This session will walk through evaluating an API, best practices, and red flags, all from the standpoint of an iOS dev. No matter your experience level, you'll leave with the skills to effectively tackle your next API.
APIs: The good, the bad, the ugly
APIs: The good, the bad, the ugly
Michele Titolo
Apistrat Amsterdam 2014 talk on mobile clients and their api needs.
Mobile APIs
Mobile APIs
Michele Titolo
Practical CocoaPods, from Renaissance.io 2014.
Practical Cocoapods
Practical Cocoapods
Michele Titolo
When you look at a wireframe, what do you see? ViewControllers, navigation bars, and tableviews? As developers, we are great at figuring out what to put on the screen, what to animate, and how to put those pieces together. What we don't realize, in this early stage of app development, is that knowing your APIs here is crucial. How many times have we gone to implement a feature, only to find a half-baked API, or one that makes us hardcode half the information? The wireframe stage is the point to match screens with API calls, because this is where the app is most flexible. In this session we will walk through how to match wireframes to their corresponding APIs, as well as identify and solve the problems they create.
API Jones and the Wireframes of Doom
API Jones and the Wireframes of Doom
Michele Titolo
Do you frequently hear yourself say "Don't touch the project file!", "Who overrode my changes?" or "Where did my file go?" If so, this talk is for you. We constantly put the project file on a pedestal of things-you-do-not-mess-with, but is this much caution really warranted? We'll cover tips, tricks, and solutions to promote harmony between you and your project file.
Mastering the Project File
Mastering the Project File
Michele Titolo
This talk will explain how we can all write better code; one of the easiest ways to do this is through testing. We'll cover two popular open source frameworks, GHUnit and KIF, both of which can be automated with a CI like Jenkins.
Automated Testing with GHUnit and KIF
Automated Testing with GHUnit and KIF
Michele Titolo
At some point you’re going to have to deal with making or using APIs, here are some lessons to code by.
How To Make APIs That Don't Suck
How To Make APIs That Don't Suck
Michele Titolo
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pretoria ● Abortion Pills For Sale In Pretoria ● Pretoria 🏥🚑!! Abortion Clinic Near Me Cost, Price, Women's Clinic Near Me, Abortion Clinic Near, Abortion Doctors Near me, Abortion Services Near Me, Abortion Pills Over The Counter, Abortion Pill Doctors' Offices, Abortion Clinics, Abortion Places Near Me, Cheap Abortion Places Near Me, Medical Abortion & Surgical Abortion, approved cyctotec pills and womb cleaning pills too plus all the instructions needed This Discrete women’s Termination Clinic offers same day services that are safe and pain free, we use approved pills and we clean the womb so that no side effects are present. Our main goal is that of preventing unintended pregnancies and unwanted births every day to enable more women to have children by choice, not chance. We offer Terminations by Pill and The Morning After Pill.” Our Private VIP Abortion Service offers the ultimate in privacy, efficiency and discretion. we do safe and same day termination and we do also womb cleaning as well its done from 1 week up to 28 weeks. We do delivery of our services world wide SAFE ABORTION CLINICS/PILLS ON SALE WE DO DELIVERY OF PILLS ALSO Abortion clinic at very low costs, 100% Guaranteed and it’s safe, pain free and a same day service. It Is A 45 Minutes Procedure, we use tested abortion pills and we do womb cleaning as well. Alternatively the medical abortion pill and womb cleansing !!!
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
masabamasaba
Weitere ähnliche Inhalte
Mehr von Michele Titolo
First came APIs, then came mobile. Many companies were excited to be able to re-use existing technology to build mobile applications. The quality bar for apps has risen dramatically, and those generic APIs only go so far. Since most apps depend on APIs for data, then shouldn’t those APIs be optimized for mobile experiences? Can a poorly designed API detract from user experience? The answer to both of those questions is yes. This talk will cover why mobile APIs matter, and how existing paradigms and practices can optimize APIs for great mobile experiences.
APIs for the Mobile World
APIs for the Mobile World
Michele Titolo
Generics are one of the features of Swift that set it apart from many other languages. Since Swift debuted, developers have been wondering when to use them and what to use them for. By looking at the standard library, which is the first piece of software to use generics, we can better understand their purpose and utility.
Swift Generics in Theory and Practice
Swift Generics in Theory and Practice
Michele Titolo
Swift’s design promotes language features like generics and first-class protocols as key architectural components in application development. However, many of the logical patterns that arise, including ones imported from Objective-C, don’t work as we expect them to. In many cases, Swift’s type system resists certain straightforward patterns, such as constraining a property to both a class and a protocol. This talk will highlight several of these challenges, discuss the underlying cause, and evaluate workarounds.
Protocols promised-land-2
Protocols promised-land-2
Michele Titolo
iOS 9 introduced multitasking, which allows apps to be used side by side on certain devices. Along with this came a number of new APIs for handling transitions between different screen configurations. However, integrating these new APIs in an exiting codebase can be trick, and often requires rethinking the way a component is structured. This talk will introduce multitasking, cover the new APIs available to handle different scenarios, and walk through some gotchas when adding support for multitasking into existing applications.
Multitasking
Multitasking
Michele Titolo
Small is the new big, and for good reason. The benefits of microservices and service-oriented architecture have been extolled for a number of years, yet many forge ahead without thinking of the impact the users of the services. Consuming on micro services can be enjoyable as long as the developer experience has been crafted as finely as the service itself. But just like with any other product, there isn’t a single kind of consumer. Together we will walk through some typical kinds of consumers, what their needs are, and how we can create a great developer experience using brains and tools like Docker.
Making friendly-microservices
Making friendly-microservices
Michele Titolo
Xcode is incredibly useful for debugging iOS apps, especially with the updates released in 6.0. But sometimes that isn't enough. Sometimes you want to find the exact error that caused the objc_exception_throw, or only activate a breakpoint with a certain method in the call stack. These cases, which are hard to debug with Xcode's standard toolset, are easy with LLDB. This talk will walk through the basics of debugging in LLDB, and solutions to common problems.
More Than po: Debugging in LLDB @ CocoaConf SJ 2015
More Than po: Debugging in LLDB @ CocoaConf SJ 2015
Michele Titolo
Every developer has been there--late at night, deadline looming, piling hacks on top of hacks to get a little closer to being finished, there are no tests, edge cases are totally forgotten. Many of us think these situations lead to the worst code we could possibly write. Under such conditions, it is difficult to write robust, well architected code--true--but this is not the only situation that leads to that end. Software development is a complex, creative process that can easily get out of hand. This is because one large factor is often forgotten about--the human factor. Avoiding writing the worst code ultimately comes down to how the people writing, spec'ing, testing, validating, and tracking the code interact.
The Worst Code
The Worst Code
Michele Titolo
Xcode is incredibly useful for debugging iOS apps, especially with the updates released in 6.0. But sometimes that isn’t enough. Sometimes you want to find the exact error that caused the objc_exception_throw, or only activate a breakpoint with a certain method in the call stack. These cases, which are hard to debug with Xcode’s toolset, are easy with LLDB. This talk will walk through the basics of debugging in LLDB, and solutions to common problems.
More than `po`: Debugging in lldb
More than `po`: Debugging in lldb
Michele Titolo
Gone are the days where making an app just involved writing code. Now, even as a developer, we need to be aware of many other aspects of shipping. They can be human things, like "how do I stop someone from overwriting my changes to the project.pbxproj, storyboard, or xib?" Or technical challenges, like "how do I manage dependencies?” and “why do I always have to do a 3-way merge?” Or even peripheral things like “what happens to our servers if we get featured?” and “what happens to the app when the servers go down?” This session will cover common scaling problems, and solutions to overcome them.
Can't Handle My Scale v2
Can't Handle My Scale v2
Michele Titolo
Scaling an app means many things. They can be human things, like "how do I stop someone from overwriting my changes to the project.pbxproj, storyboard, or xib?" Or development things, like "how do I manage dependencies?” and “why do I always have to do a 3-way merge?” Or even peripheral things like “what happens to our servers if we get featured?” and “what happens to the app when the servers go down?” This session will cover common scaling problems, and solutions to overcome them.
Can't Handle My Scale
Can't Handle My Scale
Michele Titolo
We have this new language, Swift, which takes some familiar Apple patterns, and introduces some new ones. With tools like closures and method chaining, there are definitely some new ways to solve the age-old Obj-c architecture challenges. This talk will walk through some of the most common Obj-c design patterns rewritten in Swift, and showcase the strengths and weaknesses of this new language.
Cocoa Design Patterns in Swift
Cocoa Design Patterns in Swift
Michele Titolo
Mastering the Project File (AltConf)
Mastering the Project File (AltConf)
Michele Titolo
Inheriting code is something we all have to deal with, and knowing what you're getting yourself into is a big part of that initial deep dive. Just like anything else, this is a skill that needs to be practiced and perfected over time. This session will walk through some strategies to use when looking at code you didn't write, finding problem spots, as well as share some personal experiences I've had when working with other people's code. You'll leave feeling confident about digging into your next codebase, and have some new tools in your pocket for dealing with the unexpected.
That's Not My Code!
That's Not My Code!
Michele Titolo
Apps consume a lot of web services these days. Sometimes, these new services can be fantastic, and other times not so much. Learning how to evaluate APIs and identify problem areas before jumping head first into development can save us frustration, time, and money. This session will walk through evaluating an API, best practices, and red flags, all from the standpoint of an iOS dev. No matter your experience level, you'll leave with the skills to effectively tackle your next API.
APIs: The good, the bad, the ugly
APIs: The good, the bad, the ugly
Michele Titolo
Apistrat Amsterdam 2014 talk on mobile clients and their api needs.
Mobile APIs
Mobile APIs
Michele Titolo
Practical CocoaPods, from Renaissance.io 2014.
Practical Cocoapods
Practical Cocoapods
Michele Titolo
When you look at a wireframe, what do you see? ViewControllers, navigation bars, and tableviews? As developers, we are great at figuring out what to put on the screen, what to animate, and how to put those pieces together. What we don't realize, in this early stage of app development, is that knowing your APIs here is crucial. How many times have we gone to implement a feature, only to find a half-baked API, or one that makes us hardcode half the information? The wireframe stage is the point to match screens with API calls, because this is where the app is most flexible. In this session we will walk through how to match wireframes to their corresponding APIs, as well as identify and solve the problems they create.
API Jones and the Wireframes of Doom
API Jones and the Wireframes of Doom
Michele Titolo
Do you frequently hear yourself say "Don't touch the project file!", "Who overrode my changes?" or "Where did my file go?" If so, this talk is for you. We constantly put the project file on a pedestal of things-you-do-not-mess-with, but is this much caution really warranted? We'll cover tips, tricks, and solutions to promote harmony between you and your project file.
Mastering the Project File
Mastering the Project File
Michele Titolo
This talk will explain how we can all write better code; one of the easiest ways to do this is through testing. We'll cover two popular open source frameworks, GHUnit and KIF, both of which can be automated with a CI like Jenkins.
Automated Testing with GHUnit and KIF
Automated Testing with GHUnit and KIF
Michele Titolo
At some point you’re going to have to deal with making or using APIs, here are some lessons to code by.
How To Make APIs That Don't Suck
How To Make APIs That Don't Suck
Michele Titolo
Mehr von Michele Titolo
(20)
APIs for the Mobile World
APIs for the Mobile World
Swift Generics in Theory and Practice
Swift Generics in Theory and Practice
Protocols promised-land-2
Protocols promised-land-2
Multitasking
Multitasking
Making friendly-microservices
Making friendly-microservices
More Than po: Debugging in LLDB @ CocoaConf SJ 2015
More Than po: Debugging in LLDB @ CocoaConf SJ 2015
The Worst Code
The Worst Code
More than `po`: Debugging in lldb
More than `po`: Debugging in lldb
Can't Handle My Scale v2
Can't Handle My Scale v2
Can't Handle My Scale
Can't Handle My Scale
Cocoa Design Patterns in Swift
Cocoa Design Patterns in Swift
Mastering the Project File (AltConf)
Mastering the Project File (AltConf)
That's Not My Code!
That's Not My Code!
APIs: The good, the bad, the ugly
APIs: The good, the bad, the ugly
Mobile APIs
Mobile APIs
Practical Cocoapods
Practical Cocoapods
API Jones and the Wireframes of Doom
API Jones and the Wireframes of Doom
Mastering the Project File
Mastering the Project File
Automated Testing with GHUnit and KIF
Automated Testing with GHUnit and KIF
How To Make APIs That Don't Suck
How To Make APIs That Don't Suck
Kürzlich hochgeladen
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pretoria ● Abortion Pills For Sale In Pretoria ● Pretoria 🏥🚑!! Abortion Clinic Near Me Cost, Price, Women's Clinic Near Me, Abortion Clinic Near, Abortion Doctors Near me, Abortion Services Near Me, Abortion Pills Over The Counter, Abortion Pill Doctors' Offices, Abortion Clinics, Abortion Places Near Me, Cheap Abortion Places Near Me, Medical Abortion & Surgical Abortion, approved cyctotec pills and womb cleaning pills too plus all the instructions needed This Discrete women’s Termination Clinic offers same day services that are safe and pain free, we use approved pills and we clean the womb so that no side effects are present. Our main goal is that of preventing unintended pregnancies and unwanted births every day to enable more women to have children by choice, not chance. We offer Terminations by Pill and The Morning After Pill.” Our Private VIP Abortion Service offers the ultimate in privacy, efficiency and discretion. we do safe and same day termination and we do also womb cleaning as well its done from 1 week up to 28 weeks. We do delivery of our services world wide SAFE ABORTION CLINICS/PILLS ON SALE WE DO DELIVERY OF PILLS ALSO Abortion clinic at very low costs, 100% Guaranteed and it’s safe, pain free and a same day service. It Is A 45 Minutes Procedure, we use tested abortion pills and we do womb cleaning as well. Alternatively the medical abortion pill and womb cleansing !!!
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
masabamasaba
World's First Crypto Mining Platform and Tap into the $2 Trillion Industry. Crypto Cloud's Revolutionary Mining Platform Makes $100-$300 While You Sleep. Make Up to $300/Day Effortlessly! - No More 9-5 Grind - Done-For-You Profits.
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
SelfMade bd
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
masabamasaba
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
WSO2
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platformless Approach
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
masabamasaba
We specialize in Psychic Readings, Psychic Love Spells, Binding Love Spells, Obsession Spells, Voodoo Spells, Lottery Spells, Marriage Spells, Black Magic Spells, Palm Readings & much more. Are you depressed? We perform this come-to-me love spell that works instantly with the aim of bringing back the victim to the person performing the magic. Have you lost your lover? We perform this come-to-me love spell that works instantly with the aim of bringing back the victim to the person performing the magic. Have you lost your lover? Do u need to solve any relationship problem? Contact the powerful spells caster chief kule with love spells that work overnight and love spells that really work. Have you found yourself infatuated with a special someone you think could be the one? Are you looking for a spell to provide them with a nudge in the right direction? Or maybe the spell you cast didn’t achieve the results you were hoping for? Whether you’re new or versed in the ways of spell casting, we’re here to help. Today we’re going to provide you with a detailed guide on the types of love spells to cast. Not only that but there’s something for those who wish to find outside advice from more advanced spell casters. We’re also going to provide you with the top sites available to help you with your dilemma. Let’s begin our journey by educating ourselves on love magic and what a real love caster looks like. Love Magic and Love Casters Love magic made its first appearance back in Ancient Egypt and has been an active practice since. This type of magic is a branch of traditional magic and can be practiced in various ways. Typically the more common use of love magic is through the work of spells, but other methods look like Charms Rituals-LOVE Potions-Dolls and even Amulets If you are interested in becoming a love caster, be prepared for what’s to come. A genuine love caster knows that the art of love casting is no easy feat and shouldn’t be done casually. You should know that not only does it require you to be gifted spiritually, but you must be ready to serve others. Someone who is considered a real love caster has experience in all manner of spells, no matter the difficulty. Training yourself in attraction, commitment, and marriage spells is an excellent place to start. But this by no means will make you a professional. Practice your craft and expand your knowledge; understand that you will possess the ability to help others in time truly. Types of Love Spells What better way to start broadening your experiences with love spells than by learning more about them? These spells work like just about any other spell. Simply apply your intention, use a medium (sigils, mantras, candles, or charm bags), and top it off with establishing the belief that you will receive what you want. So what kind of spells are available and which ones suit your needs the best? Let’s take a look at the many options you have at your disposal
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
Announcing the new 2.0 version of Codolex, the low code development solution for Delphi developers. This new version includes many enhancements and fixes, as well as a very exciting new pricing model. Check out the slides to learn more about the benefits of Codolex and why you need to elevate your Delphi development today.
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
Jim McKeeth
We specialize in Psychic Readings, Psychic Love Spells, Binding Love Spells, Obsession Spells, Voodoo Spells, Lottery Spells, Marriage Spells, Black Magic Spells, Palm Readings & much more. Are you depressed? We perform this come-to-me love spell that works instantly with the aim of Winnipeg back the victim to the person performing the magic. Have you lost your lover? We perform this come-to-me love spell that works instantly with the aim of bringing back the victim to the person performing the magic. Have you lost your lover? Do u need to solve any relationship problem? Contact the powerful spells caster chief kule with love spells that work overnight and love spells that really work. Have you found yourself infatuated with a special someone you think could be the one? Are you looking for a spell to provide them with a nudge in the right direction? Or maybe the spell you cast didn’t achieve the results you were hoping for? Whether you’re new or versed in the ways of spell casting, we’re here to help. Today we’re going to provide you with a detailed guide on the types of love spells to cast. Not only that but there’s something for those who wish to find outside advice from more advanced spell casters. We’re also going to provide you with the top sites available to help you with your dilemma. Let’s begin our journey by educating ourselves on love magic and what a real love caster looks like. Love Magic and Love Casters Love magic made its first appearance back in Ancient Egypt and has been an active practice since. This type of magic is a branch of traditional magic and can be practiced in various ways. Typically the more common use of love magic is through the work of spells, but other methods look like Charms Rituals-LOVE Potions-Dolls and even Amulets If you are interested in becoming a love caster, be prepared for what’s to come. A genuine love caster knows that the art of love casting is no easy feat and shouldn’t be done casually. You should know that not only does it require you to be gifted spiritually, but you must be ready to serve others. Someone who is considered a real love caster has experience in all manner of spells, no matter the difficulty. Training yourself in attraction, commitment, and marriage spells is an excellent place to start. But this by no means will make you a professional. Practice your craft and expand your knowledge; understand that you will possess the ability to help others in time truly. Types of Love Spells What better way to start broadening your experiences with love spells than by learning more about them? These spells work like just about any other spell. Simply apply your intention, use a medium (sigils, mantras, candles, or charm bags), and top it off with establishing the belief that you will receive what you want. So what kind of spells are available and which ones suit your needs the best? Let’s take a look at the many options you have at your disposal. Attraction Spells
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
ADR, or Architecture Decision Record, is a valuable tool in software development for several reasons. It provides a centralized location for documenting and tracking architectural decisions, aiding both current and future team members. ADRs enhance communication among team members by documenting the rationale behind architectural decisions, especially beneficial during onboarding of new team members or when revisiting decisions. They serve as a knowledge base, enabling teams to learn from past decisions and refine their decision-making process. Additionally, ADRs contribute to transparency by helping stakeholders understand the reasons behind specific architectural choices. As with any other tool or process, introducing them into an organization can face several obstacles, and overcoming these challenges is crucial for successful implementation. In this talk I go through some common problems and our way of solving them.
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
Papp Krisztián
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
masabamasaba
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
masabamasaba
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
masabamasaba
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, from Idea to Value Creation
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Professionals in 2024
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
Shane Coughlan
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Architecture, Service Mesh, and More
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2
We specialize in Psychic Readings, Psychic Love Spells, Binding Love Spells, Obsession Spells, Voodoo Spells, Lottery Spells, Marriage Spells, Black Magic Spells, Palm Readings & much more. Are you depressed? We perform this come-to-me love spell that works instantly with the aim of Winnipeg back the victim to the person performing the magic. Have you lost your lover? We perform this come-to-me love spell that works instantly with the aim of bringing back the victim to the person performing the magic. Have you lost your lover? Do u need to solve any relationship problem? Contact the powerful spells caster chief kule with love spells that work overnight and love spells that really work. Have you found yourself infatuated with a special someone you think could be the one? Are you looking for a spell to provide them with a nudge in the right direction? Or maybe the spell you cast didn’t achieve the results you were hoping for? Whether you’re new or versed in the ways of spell casting, we’re here to help. Today we’re going to provide you with a detailed guide on the types of love spells to cast. Not only that but there’s something for those who wish to find outside advice from more advanced spell casters. We’re also going to provide you with the top sites available to help you with your dilemma. Let’s begin our journey by educating ourselves on love magic and what a real love caster looks like. Love Magic and Love Casters Love magic made its first appearance back in Ancient Egypt and has been an active practice since. This type of magic is a branch of traditional magic and can be practiced in various ways. Typically the more common use of love magic is through the work of spells, but other methods look like Charms Rituals-LOVE Potions-Dolls and even Amulets If you are interested in becoming a love caster, be prepared for what’s to come. A genuine love caster knows that the art of love casting is no easy feat and shouldn’t be done casually. You should know that not only does it require you to be gifted spiritually, but you must be ready to serve others. Someone who is considered a real love caster has experience in all manner of spells, no matter the difficulty. Training yourself in attraction, commitment, and marriage spells is an excellent place to start. But this by no means will make you a professional. Practice your craft and expand your knowledge; understand that you will possess the ability to help others in time truly. Types of Love Spells What better way to start broadening your experiences with love spells than by learning more about them? These spells work like just about any other spell. Simply apply your intention, use a medium (sigils, mantras, candles, or charm bags), and top it off with establishing the belief that you will receive what you want. So what kind of spells are available and which ones suit your needs the best? Let’s take a look at the many options you have at your disposal. Attraction Spells
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
Data spaces in distributed environments should be allowed to evolve in agile ways providing data space owners with large flexibility about which data they store. Agility and heterogeneity, however, jeopardize data exchanges because representations may build on varying ontologies and data consumers may not rely on the semantic correctness of their queries in the context of semantically heterogeneous, evolving data spaces. Graph data spaces are one example of a powerful model for representing and querying data whose semantics may change over time. To assert and enforce conditions on individual graph data spaces, shape languages (e.g SHACL) have been developed. We investigate the question of how querying and programming can be guarded by reasoning over SHACL constraints in a distributed setting and we sketch a picture of how a future landscape based on semantically heterogeneous data spaces might look like.
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Steffen Staab
Modeling languages are generally applied for developing systems and software – both internally, with domain-specific languages, and with standardized languages targeting a general purpose and a wide audience. Way too often these languages are weakly created and defined leading to poor quality: Language definitions tend to contain errors and inconsistencies; notations do not recognize the communication and problem-solving needs of humans; standardization organizations push exchange formats that do not fully work and offer certificates that do not measure mastery of the language. We describe common problems in language development and point them out with examples from known cases. To overcome these problems, we suggest several solutions to improve language development, including using modeling languages specifically designed to define modeling languages, continuous testing and prototyping, and keeping language users in the loop.
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
Juha-Pekka Tolvanen
Kürzlich hochgeladen
(20)
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
APIs: The Ugly
1.
APIs: The good, the
bad, the ugly @MicheleTitolo
2.
Documentation?
3.
“Send GET to
/remove to delete”
4.
JSON containing HTML
5.
6.
Authentication
7.
Cookies
8.
9.
Authorization? goto fail;
10.
• “An error
occured” • “Oops” Errors
11.
12.
Unstable
13.
Caching
14.
Versioning
15.
Breaking Changes
16.
Testing?
17.
Testing
18.
Ugly APIs Don’t follow
conventions
19.
Ugly APIs are not
intentionally ugly
20.
Ugly APIs are a
result of communication problems and therefore can be fixed
Jetzt herunterladen