This Old Pony: Working With Legacy Django Apps

Video in TIB AV-Portal: This Old Pony: Working With Legacy Django Apps

Formal Metadata

This Old Pony: Working With Legacy Django Apps
Title of Series
Part Number
Number of Parts
CC Attribution - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this license.
Release Date

Content Metadata

Subject Area
Legacy software is software that already exists. It may be a project you've inherited after joining a team, a new client's application, or something you wrote last year, or last month. Most software developers seem to prefer "greenfield" development, where you get to start from a clean slate. The reality is that there's a lot of "brownfield" development out there, that it rarely makes sense to throw away working software, and we can control the experience quite a bit to make our lives, and the software, better. If you haven't worked with legacy software chances are pretty good you will. We'll first walk through what "legacy" means, and what this looks like specifically for Django developers and Django projects. We'll also cover some of the scenarios in which you may find yourself working with legacy codebases. This includes the types of issues you'll be presented with, both generally and specific to Django. What do we mean by legacy code? What does a legacy Django project look like? What kinds of issues will you need to deal with? How to approach the codebase Tools for working with your new legacy codebase Introducing or fixing tests Common issues to look for and how to solve them Legacy deployment processes and other scary nightmares More features! Balancing business needs and "perfect" code Deciding when to upgrade Django and other dependency versions, and how to do this
Computer animation Meeting/Interview Pattern language Theory
Slide rule Computer animation Meeting/Interview Moment (mathematics)
Computer animation Term (mathematics) Code Identity management
Goodness of fit Computer animation Software Internet service provider Characteristic polynomial Product (business)
Curve Trajectory Computer animation Bridging (networking) Decision theory Network topology
Point (geometry) Computer animation Software Information Multiplication sign Pattern language Rule of inference Physical system
Axiom of choice Revision control Computer animation Gender Characteristic polynomial Projective plane Software testing Mereology
Point (geometry) Computer program Computer animation Gender Multiplication sign Analogy Special unitary group Bit Pattern language Database transaction Reading (process) Product (business)
Point (geometry) Computer animation Meeting/Interview Divergence Field (computer science)
Computer animation Meeting/Interview Multiplication sign Gender
Context awareness Mathematics Computer animation
Digital rights management Computer animation Instance (computer science) Asymmetry Symbol table Computer architecture
Area Computer animation Code Computer architecture
Computer animation Open source Block (periodic table) Personal digital assistant Code Operator (mathematics) Mathematical analysis Morley's categoricity theorem Basis <Mathematik> Software testing Function (mathematics) Endliche Modelltheorie
Service (economics) Computer animation Universe (mathematics) Software testing Exception handling
Degree (graph theory) Service (economics) Computer animation Meeting/Interview Multiplication sign Set (mathematics) Software testing Line (geometry) Student's t-test Statute Subset Exception handling
Word Computer animation Visualization (computer graphics) Software developer Set (mathematics) Mereology Theory
Area Computer animation Key (cryptography) Information Projective plane Software testing
Point (geometry) Service (economics) Computer file Code Multiplication sign Patch (Unix) Execution unit Set (mathematics) Mereology Product (business) Prototype Mathematics Strategy game Term (mathematics) Single-precision floating-point format Representation (politics) Software testing Endliche Modelltheorie Error message Task (computing) Social class Noise (electronics) Information Gender Structural load Sound effect Residual (numerical analysis) Computer animation Personal digital assistant Musical ensemble Row (database)
Revision control Computer animation Query language Personal digital assistant Gender Multiplication sign Exponentiation Software testing
Electric generator Theory of relativity Computer animation Divisor Code Different (Kate Ryan album) Multiplication sign Code refactoring Integer Mereology
Revision control Computer virus Type theory Computer animation Integrated development environment Matrix (mathematics) Pattern language Software testing Power (physics) Library (computing)
Point (geometry) Dataflow State transition system Service (economics) Arm Student's t-test Revision control Mathematics Word Computer animation Meeting/Interview Personal digital assistant Figurate number Resultant Task (computing)
Revision control Computer animation Iteration Diagram Instance (computer science) Likelihood function Product (business)
Revision control Electric generator Computer animation Authorization Right angle Mereology
Revision control Computer animation Strategy game Hierarchy Execution unit Normal (geometry) Right angle Pattern language
Forcing (mathematics) Sound effect Water vapor Revision control Human migration Subject indexing Word Computer animation Strategy game Website Software testing Endliche Modelltheorie Traffic reporting
Addition Computer animation Information
Computer animation Observational study Meeting/Interview File format Execution unit Configuration space Endliche Modelltheorie Musical ensemble Parameter (computer programming) Rule of inference
NP-hard Service (economics) Computer animation Logic 1 (number) Database Endliche Modelltheorie Table (information) Task (computing)
Existence Digital rights management Functional (mathematics) Computer animation Visualization (computer graphics) Interface (computing) View (database) Metropolitan area network Social class
Computer animation Natural number Multiplication sign Code refactoring Endliche Modelltheorie Mereology
Area Point (geometry) Covering space Functional (mathematics) Code Direction (geometry) Multiplication sign Student's t-test Mereology Theory Online chat Digital rights management Word Pointer (computer programming) Integrated development environment Bridging (networking) Logic Factory (trading post) Forest Software testing Endliche Modelltheorie Spacetime
I don't know what it is and and the picture of the patterns
that much about the theory for own yeah and then and I'm
around the lower or active I originally based in the I know the work on JI and very little relational and that's also lot much around in the have the last decade plus so there is talk about like a seesaw
generated and you think for a moment about the place of what you picture what you picture something quite a little this
I think that the mind of wonder
the fire and was something
else you know it conjures up all kinds of things but you know well and also in the slide so you have to
let alone before we start is is defined in terms so what we talked about all legislative agenda with offered general and the definition of a work the the 1st is just coincidental
slow so you know that the
accuracy of the the Russian philosophical question about the identity this can also be passed the day of the code you wrote a month ago of others a your government government but this can be considered like the code I like that you would
look other ways of providers who tests so I think this is a good example of characteristic of software but I don't like this is that the definition but there this is basically
a the don't know what you're reading indicates that the thing that's reactor on another 1 of the world more strongly is that it's always production so
what would you like to
visitors to wait for the decision tree what can happen with the curve it is the users or communities trajectory of that uses poly away in the natural more UNESCO's you so from here is original bridge that I had and still there but this is this the professor news right now actually I want us to go so
the reason this is important is because this rule is always the best so they you know you do this literally as as of time into it but it's all there already have patterns and of neural information is that's a encapsulated in software
and as much as it might have say what the system still deliver value that's the point was always to do something on there might be people attending this and actually we know there are other than what you think it all and using laser software and the world runs on right it's
something that's not too often that and say I to slip that as it is from this knowledge that there you were there so we don't know lazy yeah that's the
funds school that work plays on the choice not only that this is characteristics that we talked about with which gender I think the 1st really obvious
relating working with an updated version of this expand on that version but you could also some of which should how support you know you've got a if you uh Django 1 3 2 of part of the problem not disclose marking the essays and I have a of issue and that can compare the problem the amount of testing project and this is not the worst thing that could have been that the so you know the whole thing is outside of gender and again these are
not binding Mars from the Sun issues to Django about really hot then we have that power generators patterns of the hydrogen the solver and a shortage of places in gender so I would like to read some assumptions of citizens were agenda of another 1 is that this also here and the probably working with within the Django or really on 1 which is not necessary because that we're working with the product of years until you come onto that is all about people and the like of about his program in your reading points every time I still applies but it's a little different but the little bit simpler to solve the and of course the production people to line up now the goal of all this is to
improve the race to what's in the text but I features that's probably why there is no 1 wants you to have a fixed by that features of the fast while doing this was really don't to begin work in because I'm so the goal of this research that as yeah there's an analogy
of data from this is that this is a it's like we're going all out so this'll this'll house of helping out which the bruises instantiate points and let people get when it was do on the field of the goal is to try and work and work at that point we have divergent minutes ago it's there is no assumption about the you know people so the nice about this
now and it's a lot about and to look for an instant solutions
that is not codified on the of more time working understanding of what that really means work and know from a lot of this and because of that make the and that we're work and throw them and the world sometimes they're all gender so you might say that
it's just like in a and B that would work but it is this that someone somewhere it so the 1st of all when you get to
you I like the way you want to assess the that so this is the 1st of the of in oriented to decide and act but
the reason why the he gets context really understand where the coming from where that before you can start making changes of because so the 1st thing
is actually 0 so that questions this is talking by
stakeholders in your manager the wireless on any 1 of things outside of this when I was
supposed to so let me also mention that this is a whole lot of asymmetries and you knew it was done as a mental symbols of this it was not known but this is really important I think for instance the base find it can known but it's but then when features as well as the full title of the architecture this loser
during the code but this is a lot of science of the UN is looking for and you will get an idea of what it does look for things like
and confusing areas in the face and look at the architecture on so it's not you 1 the side and the a house is written as no I was 1 of only 2 of you may use the buttons the on the we read you might see some that would have been but they are asked to select all which and the greatest 1 just basically notes were not running eighties because this no there are some
tools to help you with this that main unions when the more you can do to beyond that but so this will help get
you some understanding what's going on in the code so I must say is like a I can cancel all of the pieces that and and I don't see how and where the 2 way case and combined several stylistic analysis is not invariant under law or on some since that was the of 1 in this in this could be a lot this issue others what I got was a strip of land on of block of this you just take this output and you summary of what this looks like a model on model basis in an era of the basis because if you find out there's a whole lot of models that have like 0 there's no stationary operator that that's going to have to read it but it's not it's not that serious where to find out as a whole and used places of defining that might be a source of there's still 1 and categorizes as you go now that we have done this in in the next step is to give testing but I'm going to suggest like
the new years that that's actually a lot but you never want to talk to people Ontario them about some issues with the end of the school and university
lectures so again is another sponsored by the status of the century where this happening there we a similar of service you want his hands exception handling and it's not good enough to get the notes that to like a mailbox and on 1 that the 1 that you know it's going around its actresses and there's also would suggest making making some approaching the ordering of test and that's
From the thickness so and when using this in the going on what the following the following lines and is called external services and user except for us and the like what the excess Chris through this so you know the time maybe this is a temporary venue arising from aware of who knows but this is the acceptance of this fall and make acceptable on to some degree because some possible neuronal see this and that's not a big deal but it's behind us so we you in your ass along here I cannot do not really work of the exception water basins users and the whole statutes out so this is like century you'll get what looks like here as it arrays the whole set of new students going on the soul and later in American history and up properly dressed and that
reminds us that the test so in case you're
wondering while testing on dual visual
part of what I by the tough
on a screenshot of the the words on you know a his the government of religious texts in development you will that on the 1 conference you know that we have close to to the set of things that you want to avoid is is going to work on the theory that has led
information about people and after the key in more than 2 slides of but that's what it tell us what's going so that the cost of the test the
would have these in areas you newcomers project basically not usually
test how you write this in the greater than that so this here is that it this the problem
of covering here meaningful test of what is on that coverage is a great matter but it is a full step I not that but it is the 1 thing about the a gap junctions tasks that you know I don't have the time to go in and you know it is a tough 1 you all so the point where I was not on so that this is you know the protests and model means passing and it's possible to the test you test again not the worst in the house of is at least you don't have any no it's residual noise that has the worst and yet especially at once so that's that's the have covered everything works and just 1 of the test and of course we would like models of patch the test case class that all users always pass and you will have a visa here tests on you could also have the feeling that you have you know it was not you know that's the remained usually good business you know and test ideas for personal reasons on this is that this is this is not information this is a summary of the tested nothing about predicts so the strategy of many years need a teacher in provisioning mentally when using these past base for the 1st year find anything that is bad is that you don't know what the test assumes an error on the test is the effects of the code and you know that's the that's on you can figure out there is at 1st sight of the noise in which we come back in the music was that the and most useful test so that there is no as 1 of it's there all this is the case I mean test we I wonder product recognize units so already done this article 20 even when you don't sleep and after trying to get experiments after an serves somewhere on so the the solution is to see that there is no such as those have really pictures and so I would argue that outside of this service offered by using the of data files generals not the best idea but if you domestic product you might have a lot of we're talking like yeah thousands and thousands of records and every single test case loads all these unnatural and into blood because they have recorded and test so it ending at the decoder test called external services so this this guy had we use the out of the prototypes which is just the so what of pictures of deliveries and settings with but for 1 go about using gender on those and the passage and you want is that it's not terms affordable is ridiculous but dialog of 4 and of those of test thank you and also the data that would like to much so that the not the models using the method of all the users of the animal or marking the end markings with this so that the that's the
whole the US was there where I didn't ask them 1 wire kind of set notice how reactions in his the the representation of the test and if we have the problem size that you have heard of it's it's introduction of changes to the 1st 2 parts our
of that people will be and the answer set blood but you won't happen at
the same time the longer it for me and you the exponent of the some of these necessarily I all universal tested this version has used you know that he has a lot of test 1 of the things you just didn't want using the gender test case flying solo reviews that's going to be a the cheapest way of saying that the queries would have been a lot we don't have a tests and it's really warm projected you want as much time as possible and the feature
of the honest and refactor
surfactant-like definition should be changing how perverse Jewish teaching names extracting code was really good opportunity that tests factors and then that brings us
to the is the integer part of working with OWL exceeding operating the newest best generation because we they know how the work done and you're the 1 that I I you have to add the difference in relative time so
this have here is probably that handles so that the that all things that changed a new version it could be as simple as you know the neural patterns that it work in the data using the get is and and he gets Texas and her the use of power you can almost past so or create a new
types there is just not really related predominantly policy in of reusable actually Python libraries and it also controls testing environment you isolate the virus for matrix of of whatever you want all the dependencies so you usually use the general musical it really all right when 1 has of small major like what is this race against the Kurdish regional and version and exploration in the were absent issues
so this work is you so hospitals figures while the result point is that that you'll see that I have no which requires a lot of words on ingenuous itself was 1 of the things that you pull the Django version of the arms flow and and so you know you have the requirements file this case and defined here so we run these tasks against users and that's really the way and the reason why students you know how it works you could potentially changes motivated working in this service whatever he had to wait and ax and I want to support the changes and then and then I heard that it's like doing but the goal of getting to know that there's a lot to get you know when 10 year developed yes 1st 1st of problems asked the introduction of follows that's what we want you to basement in LTS LTS but this is the final farmers working with all the
these of and reusable apps but on these poses a few minor problems
but here you have the iteration of the letters in there and probably not working I thought was in the so again in the the likelihood of the of that but you know that where there is nothing new romances of Over the occasion is that is used in your products and what is instance where this is over-specified version at all and use that because you get performance
matches so here is a diagram
of this version of what I have here is that right and so
here we have the the biology of the lowest 1st Janiero she'll and it is a better than the part of the you know the author knows whether not it is justified by the way this is what we actually have and so on
is that the current generation the and this is how it is
that have not been updated patterns and not the norm for that and more and this is a problem they have been solved right of Loria's solutions
on the 1st solutions but have where is a disaster units and you know something I was that only the whole of it passes the ministers Janey request within that fell out of the hierarchy sure you know no worse and then once they were about that now so we can use the new and many here pattern was maintaining and so this is this is a bad strategy to take the additional version here said
I know the judges work that is working as the published by the continuing by an index for the 14 using on your report version from it word or a cure-all per forces and these users perforce I we that and you don't then you have and what we actually have noticed was added to the base and work from there of related to
that effect strategies so you might using water models this you just know that models with the best of migrations of intervals of practical use the adjusted this and actually changing because using how the Virginia got used to pull that out so that no vendor and again you with test but I don't know used but on the persons of let's say the same or not only understands the more we can make use something here we can find actively unmaintained of so that will be used for homework with and it's easier and tools on reserve cures shorter and the beginning of the exam and your site notes that Jing of big neurons fire well with the wiring and the kind of place of the this is the last thing the world works use of the history of the world's and so that is
mythology the 1 of based on adherence to a lot about formatting other
cities are more to and through the use of additional information is available and we have standard here on the talk billions and the issue I think that a lot about emergency its height of and so that's why it's mission on notices that issue of their cage was you were here
all that they will automatically formats and so again using 1 and I 2 and cautious about going to most of the work of art that employers should be but they you know you are very cautious of the studies really issues and not just in our sense but the 1st of the year actually originated in the sense that I was the name of it has a lot of this is that this way but through ICT is you want to go on this 1st is a the you with what I get the stuff out there is a tool for that 1 local band it out of the place of rules arguments that I will you know that it was your your abilities and so on this is only st and this in Nova stuff like that and it's not that using in physical or the other is how when they act in this model that is
that the models in rural URL configuration is huge and units installing and solutions for
example you break up on the way the service so as this to the simplest things from know your was used you models to and that's the last thing we want to models is used in the table and actually in the was and is to find the amazing how that new fever dealing with this and will the writer she densities sloshing invading on you know g database the mating was around and and the war so there is the use of lot a lot and use this is a is a hard task and it's hard to read through the 3 solutions to this and this is the the that was just 6 thought about this in in real so we we know about issue so that models is
ones which is this year logic and the model itself on I'm a fan humongous
manages the yes and there's I mean polluters with this is a lot like concluded in the use that might be using and it is not the place must you to test you and existence of forms as well as the of these other forms your delegation their owners aligned with the push you around for knowledge of news is not just use of the only reason insurance the views of visual interface on and they should have problems a lot in some international just take a look from the know from the man and go out of functions and then it's most in doing C is the 1 gene in the manager classes you probably wrong but in the end we want a
skewed is we can have sequentially
refactors yeah they don't have to do not change everything yeah the feature in that you are if you using small
coteries modification the refactor that
part of the model and really answered
you as you know about the there and the others I once in a lot near the starting out and try to get some of these changes out but the nature of time 1 the
thank you hold humans and the questions I use the
charm and How do I use pointer to pose well so these theories there I the 2 aforementioned and the code and to read the so and the AP and optimizing paths and it is also used to I don't know what you have to figure that show you a lot hints about where things went on to the little red area or the that that the written on OK so in this direction experience with place in the way that you're talking about when you each of them having large managers small as the appreciate I run into situations so where and there is way too much for us to consider models you have huge managers with logic that is really related to itself the where do you start with that and the other that refactoring part of the test but I mean it's 1 of those if you want the traffic crossing the bridge and so to speak you know what in this tends to accompany most of what you're talking about you know with test story and is kind present but a lot of fails on so much at you for your comments on the so here's a brief and this like that and I think what versus uses the fact that you so for it just taking that's about the use of function words that of that in the 1st step on the ground and you a manager of a model of the way so that I can use a lot of just the public functions the and this is where were what can you the malls over the that's that so these are all functions that many reference that that is you have a lot of you know as well you mentioned factory on culture basically my customers this refectories available at a time and that's a really question on the cover of the environment and you know there's a lot of that I mean depends on the person I 1 of the of the goal there was the space of having a known as just like you're going to have injuries you'll see what's going on in the 2 of you that you use that shows that so there's a lot of evidence like point of of of the of the forest and there's an area that was really going on there was a lot of students read and all the I think it looks this is really hard to work on this which they will worked on as opposed to understand what this about as you get going issues that were really easy to find the same and that they was that the world so what I have read in the working on it's time to land on the river is more is the theory around the end of the you want year like find chat with it the in but I was at
the the