Logo TIB AV-Portal Logo TIB AV-Portal

Learnt lessons in a big Django Project

Video in TIB AV-Portal: Learnt lessons in a big Django Project

Formal Metadata

Learnt lessons in a big Django Project
Title of Series
Part Number
Number of Parts
CC Attribution - NonCommercial - 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
Production Place
Bilbao, Euskadi, Spain

Content Metadata

Subject Area
Yamila Moreno - Learnt lessons in a big Django Project A Django project, developed for 2 years is a valuable source of anecdotes and wisdom. This talk is a review on the decissions, about human and tech, that my team took during the project. I'll point out the good decissions as well as the bad ones, those which made us learn "the hard way". Both good and bad decissions taught us a lot, and here I compile them, together with a handful of tips which can amuse and, hopefully, inspire the audience, specially those who are facing for the first time a big project.
Keywords EuroPython Conference EP 2015 EuroPython 2015
point Observation study Open Source time maximal Continuation transfer argument part theories production period strategy Forum root Blog Lecture/Conference association systems man addition reps point projects Content transfer instance translation completion applications backend data management Computer animation search engine website
mobile modules app mapping integrators projects instance clients applications several production versions several Computer animation Lecture/Conference different life cycle
modules functionality integrators code time student instance turtles part measures mathematics Computer animation Lecture/Conference Authorization life Abstract
Computer animation survey law thermodynamical
point Observation control webcrawlers Open Source code sources unit knot part versions mathematics hypermedia testing conditions classes area Bugs survey projects instance applications system call data management Computer animation angles Web Development case Query thermodynamical life testing Sum libraries
overhead Computer animation Lecture/Conference code time testing procedure system call number
functionality Open Source decision time sources Contracts open subsets part production versions sign several Lecture/Conference internet level testing Abstract man systems response focus Development projects instance scans open subsets CAN-bus Computer animation repository testing Right libraries
implementation functionality Open Source time decision Contracts argument part dimension sign Lecture/Conference different workgroup framework testing Security systems form architecture projects staff bits several degree case communication life Right Results
hello to everyone and thanks for being here in my talk about the lessons learned about the general project I introduce myself on medium random you some like did on
maybe have a common 2 years ago I found in this univariate finished this this thing they expanded like an association and we organize the 1st quite innocently we also and think multiple funded by late but I myself where the intelligence it's a company that I co-founded 4 years ago and we work only mostly thinking at the center with open source and it's important that we will see later intelligence we work with so it may well applications would be what applications use 1 4 or which general is as well so that the cement and so on but the so this talk is about the good and the bad systems that we made our argument in the project it's especially if that bear project was the complete renovation of viral marketing websites Spain quite famous and it's meant for all of you acquire starting with whether developmental may be facing for the 1st time because of the growing down the website this in theory that yeah so and this things but famous that's only some muscle for the company on that yeah so as part of their marketing strategy it's a roadmap with so you can search for roots and it also has many advice of tourism destiny and accommodation so some with so in this period we needed to know James completely the brown and define your style but also we need to keep their original lessons and created team focused on 5 main features which were 2 is an astronomical search engine up all the from of a planet to organize the the traits and look after detailed content I said it was being held the so we we have 80 thousand aristocrats more than 5 100 articles on growing in this amount of data may maybe is not so impressive with all the data but it was quite difficult to show all of them in the market at the time and very quickly within the 1st on everything the phrase in this talk about 18 months understand another 6 months now we that transfer to the new team and adding new features and in the present time that the project is being involved the original where J. U. S. is 1 the sangha all 1 from 106 back and the product owner 1 as well as according to their quality and we had taken the managers that observations in the item from Repsol there astronomy and because we have lots of people giving their opinion to be that team in the brain of a and we work with so it within their dimensionality so we used to use money moderation sites things to weeks spins and we may have 42 explain 600 sisters among 13 hundred points so this was the project this is like what I mean with having brilliant and with these on this in mind this talk about additions 1 of the 1st things that you will have to face when you are making a break 150 or it's more is that that the chapter this chapter in break this is more and you can keep on the proposed MVC of jungle with their back the front cover but a bigger project we face bigger and harder and you stronger and the solve for instance in the study of developing website and 6 months later we were
asked to exposed and API for third-party applications for mobile applications for mobile version of the map and several other integration and we went we really we have some API modules that it wasn't really an EDI from 1 side and we strive to update to the new requirements so the lesson that we learned the hard way last completely separated API from
projects because 88 is used stable or maybe more stable under from products change every day and you can add lots of new clients for new obligations concerning the API so different life cycle competition by I would being prepared and they're the picture itself to Peterborough in smaller modules for instance we knew we had to make a bold much but we didn't know that and the map provided because the customer the high and then made its mind we said that was what the Mathlet it was shown so we the an isolated modules with was talking to our know
called and even while you was the only in time to talk to them said thank and not provided finally this week an integrated with much and we didn't change but we not change the API 2 months later after the integration because they can do this and we only need to changing these isolated module to be life in very that would deal with so they view few off authority want to turtle to update the requirements of so be ready for changes but don't of arranging
and if the student and all went being prepared of Indian and some do it may be useful in the world that is there is some 3 is reflected after the 2nd and you have the chance that means that if you are working with with a measure for instance and you have to pass things you compile the thing within the method but the 2nd time that's another part of the code you need to buy adjusting remember that cold that indeed on after that these there's these new functionality you isolate the uncalled for linear function the new method for everywhere in the cold that way you will distracted the 2nd time and not on the street before you need it OK so before continuing to study out very you so the raise a hand for those of you who have heard about
details of thermodynamics OK here's my people of course are in my talk now raise your hand if you know by
heart before the law of thermodynamics yeah I was suspecting that it's pretty common to forget it and a very important which says sooner rather than later will make about it's not
me is thermodynamics it matter tools but being that should then next lesson
is like quite easy because you have to test test test you about half of the of application of the project need to intensity there is there the because because you wish do we need to be sure that your new articles 1 to break the behavior of their application and you will need to known to have difficulties to add new features without breaking don't hold your preachers called so you need to test whenever you are adding code and Indiana so for instance how even all of us knew that you have to test we're all test but not many this trial because some part of the Cold made us feel and we didn't want to talk to the on the person who originally wrote that quote was tests attention because we don't trust ourselves which is normal and in Python and general you have lots of you do some libraries and tools that there's I did unit there's on other areas mob starvin spider need to know about testing and really really test your application but in general when you are developing done wonders is like specifically for down Python you need to know about the strongest point which is the community you go to the fact that you are going to find like thousands of projects with life and a general class so when you were are and did need something for the application and you have to think that maybe he probably someone has sold before you on problem that person has gone to standard condition and has done better than your going to do and you don't need to put effort that so and that community helps us to meet 1 important point in their web development which is sponsoring than the wheel but sometimes they are well defined doesn't exactly do what you want media to be beat and it's a very big dependency tool add to operate and you just need a thing maybe you need them the whole control of their what's happening so in that case is a pretty good that I that I can be used to do is that you have to know that 10 and only every 2 years in Python and angle they are it's open source so you can find and most everything and you can add new features and you can improve and extend the 1 so knowledge python no general and then be afraid to 2 over the years as well as these because there there are other in good practices maybe they are not so technical about their also the importance of for instance that you have been working like from the in web development do we know the use of this less some but nevertheless it's important to say so use a distributed source country manager you have the and if we all the queries made by some they Kentucky so version is not distributed submissions from the past and use of observation did or McCrea or or the if I don't really don't know what others but me sold with these kind of tools do when you will ensure the call to be the sum to be prevalent you can go beaten through the history of the changes you can't undo changes if you don't want to and when that many
people are committing into the same basic code base you need to to use something like this in yeah we knew this but we introduce a new procedure which is like the less than
8 hours used for request of the basic procedure to other features to master of that means that when we were starting a new feature we created grounds from and then we developed um the cold we developed data and the test and the documentation and when we were comfortable with that there so we made a request and another colleague who was in charge of reviewing this call on testing it and maybe suggestions on improvements that way all the code which was entering in master was reviewed by 2 people in the region and upper on the regular and at present so that that in made light on time overhead we were lose enough time and it was on the contrary we were making less facts from the very beginning it was a very very good new person to to add into our team and it's very recommended so 1 of numbers looked up is documentation maybe we think that we call solve so well that we don't need to document of quality well known it's not you need to document call as much as you
can and do it OK to eat well India so for instance we have to documentations 1 for the internet to that concerning the the reason so there's some decisions of the signs concerning their diverse sounds that blind man concerning the cold and we have a different repository for their API documentation which was meant for those developers were consuming the API and they only there for them on responses and such as matter and everything else they mind itself Our we made those to the communications and for the new features concerning the API we may also for request and we use this kind of documentation driven development which meant that for any you know any new
features concerning the API to make 1st request into the API documentation repository and their colleagues in time to review it was someone else there from team because they are they were the 1st people avoid using the API so it's very when we agree with these API the commendation they lack simplest that developing and it's like them design by contract that focus on a higher level of functionality for us if we want to be there finally and it's very important when you're working with the general with Python or maybe it's all there are lots of open source tools you using you are taking advantage of the open source if the system fell those storms of libraries that make your cold better and the like you are part of it's system and it's important that you should give something back to the system so when you are developing make as much open source system and there are many many ways tools to contribute is not necessary to be a top not ingenious device reported by 2 conflicts about maybe created tutorial you can't create a works of art from the the books of of general there's on you can of course these and a library you have done this in yeah so we have some so we think we have filed contracts with the customers and the in the contract they agreed to to really is critical cold so whenever we are working and we need to we discover something that could be useful for allegedly comes the need that to be a library really is the library and then we use there is called as an external library but if in the past and it's available for anyone who wants to and also in Colorado's we have developed or all of the products so we are in our customers and we have received from the very beginning it's not called Tiger your and it's made general and with and without and we're very happy and very proud to share it with the community but if you want to say you want to give into the wire and you want to know the community to contribute would you do need to follow those 2 steps and the father as that and to make it easy unclear how how to contribute to you need to make test documentation and you need to look like have usually yeah you have to put some effort in making things with not only for performance but also to share with the community he said that 10 lessons so I can give to you I learned during 2 yeah right I'm making the most of them apply to any project but some some of the interplay specifically for general that you need to know which of the good mundane Dana's we target their obsolete libraries and it's important to note so I think that that's and the happening questions
thank you thank you thank thank any questions and so you mentioned that you agree the documentation the from before we start cabling disease like the tests against staff agreed going before you start having a bit of most of the the power because it is a very nice of you created on and then you know what the test as so you're asking me if we on on the documentation yes so yes someone wants to degrees in the conditionally because thing did you tests that then obviously focused government and laughing and analyze the above the communication we have tried several things but not in the end what we uh we made is just right in the recommendation by hand because we didn't use any specific to the test where about the implementation so when we're starting the implementing we made that the test to for that specific spot but on the i crisis in their data communication with the implementation itself in a matter of the great human effort you select forms and the question of myself you said plus your customer leads you to open source parts of projects was not something they were happy to do what they need convince if they happy yeah would with domesticity they are happy because at the end at 1st time maybe didn't know answer that when we have like sign in the contract they know us and we have like convince them that it's very cool to be part of that and of course it's mandatory for the 1st thing so it's not a decision that we show the customer but is that they have not like costs they feel comfortable with the situation and they feel very happy because we have shown them that I am not implemented in my own API and you generous framework so they don't want to really is I will I would write my own and which is crazy so they are happy and sometimes they a go stadium with other countries I've told we we are this open source technology and so on so the other type of In the questions thanks also known as the says you the people behind you think I'll get justice system I haven't checked and what was the last time I see there was no life then move to you have like them with the medium of staying and yes we have time not entirely by the idea is that what you do and so I have undergone play with it and so on you can study them primitive so the will of things like if you want to talk a specific argument we can talk later of her I think you something in this is a of to all dimensions separation from and you are right so hold the securities and understanding on how we make sure that you're actually using on the right in a different sources models and difficult also for your from I in in our case that from team and team we are together so we are angry even the architecture from the very beginning but nevertheless that in the project we have those more costly time that and sign and the customer and Greece that functionalities so as long as the as we exposing the data on the front is consuming data on the customer is agreeing with their result we are like that is the only the only prove that we can take is that that provided the I think exactly what you ask him OK important questions in an instant human