Django: From a nightmare to a dream with Best Practices.

Video thumbnail (Frame 0) Video thumbnail (Frame 1535) Video thumbnail (Frame 2453) Video thumbnail (Frame 5132) Video thumbnail (Frame 7306) Video thumbnail (Frame 7840) Video thumbnail (Frame 11930) Video thumbnail (Frame 12691) Video thumbnail (Frame 13809) Video thumbnail (Frame 16982) Video thumbnail (Frame 19391) Video thumbnail (Frame 26431) Video thumbnail (Frame 27361) Video thumbnail (Frame 32171) Video thumbnail (Frame 34957) Video thumbnail (Frame 35591)
Video in TIB AV-Portal: Django: From a nightmare to a dream with Best Practices.

Formal Metadata

Django: From a nightmare to a dream with Best Practices.
Title of Series
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

Content Metadata

Subject Area
Django: From a nightmare to a dream with Best Practices. [EuroPython 2017 - Talk - 2017-07-11 - Anfiteatro 1] [Rimini, Italy] With the adventure in the source code of the site of EuroPython, we have detected that the code was difficult to maintain. With the members of the Web team, we have started to refactor the code with the best practices and good concept. Also, we will see some awesome libraries for the Django project. In brief, you have a legacy code and you want to improve it with best practices, then this talk is for you. You don't want to break it but you don't want to change it because you can break it at all times, we will show you how to improve an existing code with some tools and best practices, and your code can be deploy on Friday evening with no risk. From a nightmare to a dream.
Keywords TDD Refactoring Tests BDD Selenium CI
Intel Coefficient of determination Theory of relativity Service (economics) Prisoner's dilemma Software Expert system Design by contract Hand fan
Presentation of a group Group action Open source Software developer Multiplication sign Projective plane Open source Expert system Design by contract Web 2.0 Proof theory Personal digital assistant Data compression Video game MiniDisc Website Self-organization Right angle Website Address space Reverse engineering
Email Email Statistics Information State of matter Digitizing Real number Statistics Rule of inference Demoscene Computer programming Data management Sign (mathematics) Data management Process (computing) Website Speech synthesis Right angle Physical system
Line (geometry) Mobile Web Source code Set (mathematics) Canonical ensemble Continuous integration Mereology Code Revision control Data compression Metropolitan area network Curve Chemical equation Cellular automaton State of matter Sound effect Line (geometry) Continuous function Cartesian coordinate system Software maintenance Code Synchronization output Website Video game Resultant
Source code Freeware Software developer Personal digital assistant Fatou-Menge Multiplication sign Usability Continuous integration Freeware Form (programming)
Predictability Curve Server (computing) Mapping Continuous integration Cellular automaton Set (mathematics) Continuous integration Line (geometry) Cartesian coordinate system Goodness of fit Population density Data compression Profil (magazine) Network topology Gastropod shell Configuration space Software testing Software testing Plug-in (computing) Condition number
Functional (mathematics) Cellular automaton Execution unit Projective plane Sound effect Set (mathematics) Line (geometry) Mereology Code Personal digital assistant Formal grammar Configuration space Integrated development environment Software testing Software testing Configuration space Local ring
Point (geometry) Slide rule Functional (mathematics) Numbering scheme Group action Letterpress printing Parameter (computer programming) Code Template (C++) Revision control Data compression Internetworking String (computer science) Software testing Error message Traffic reporting Exception handling Scripting language Information Prisoner's dilemma Cellular automaton Flickr Instance (computer science) Evolutionarily stable strategy Digital photography Error message Personal digital assistant Function (mathematics) Factory (trading post) Network topology IRIS-T Configuration space output Software testing Right angle Figurate number Writing Library (computing)
Numbering scheme Statistics Functional (mathematics) Installation art Computer file Multiplication sign Parameter (computer programming) Machine vision Crash (computing) Profil (magazine) Different (Kate Ryan album) Traffic reporting Position operator Exception handling Newton's law of universal gravitation User interface Predictability Graph (mathematics) Cellular automaton Web page Bit Line (geometry) Continuous function User profile Software Personal digital assistant Function (mathematics) Order (biology) Row (database)
Personal identification number Presentation of a group Information Cellular automaton Web page State of matter Database Bit Cartesian coordinate system Theory Code Revision control Single-precision floating-point format Different (Kate Ryan album) Network topology Website Software testing Software testing Collision Position operator
Web 2.0 Multiplication sign Website Right angle Online help Expert system
Purchasing Translation memory Gender Multiplication sign Moment (mathematics) Projective plane Shared memory Archaeological field survey Mathematical analysis Motion capture Rule of inference 2 (number) Power (physics) Type theory Goodness of fit Personal digital assistant Canadian Mathematical Society Circle Software testing Cycle (graph theory) Error message Reading (process)
so uh yes and
justify my name is with them but I like this and just at uh this so you just about um versus relative prison on my experience to you because sometimes I either like to expose something a firstly is my 1st dog about jungle that I'm not a fan of jungle I prefer flask bed because as signed a contract with jungle for jungle back started to do u junga but and of expert just a newbie a beginner yeah if you have some advice you can give me you you can send me your message of about the rest of where it's only develops on by Kansas what services with Python of course Hassan KO maybe we've gone world along this might that
geography under left is just of my daughter we can see the rest of the the snake on on the center this maybe I have item of the uh of course I use of personal so they look corpus also open source is just my life since 20 years and I just read the by was then you can come from next year and whether as of yet I am member of the PSF of the PSI received a ICSI from the PSF because I just through the point of of them but it's just that
so for presentation I need the use case on disk is In this story sorry I'm going to use the Europe item website OK uh I proceed to work with which has been known by the Koran developer off in Europe by time of size we know in Europe item is just and knows some projects we are there that's really that's really all some because we sort of your item or by on the white and it's not known for this project and thank you proof so this evil as has been organized by some people and this paper the organizer of the main the reverse of of Europe items and we have some war probes in Europe item we have the financial group the support group and of course the marketing group and there is the Web to group I and as we my 1st contribution to the website was in 2 thousand 607 2015 history and French and thing and when I have time to contribute to the project but when I have time and maybe that's the the main reason why I notes of the contributor but is this year I just explained that I signed a contract to end of of to be a jumble developer OK I'm not anomaly and I am not quite an expert and I know last maybe jungle is afraid feature OK so if you want to read the source code of Europe right on the website you can go on this address OK 1st you can contribute the so you're bite to the
website of Europe right and it's not just a fast still just a small site where you can see this feature or just yet and and the rest with Europe I we can do the conference management we can manage the tickets for the assignment of no sign just from digits you can come we can do some statistics about the attendees speeches and arrest and we can also makes the invoices are just the influence I cannot come can you from me OK maybe when you send an e-mail to the superb accuse you have an issue with 1 verse on all because you have another program or whatever uh there's the had this and this and this we use your right and the real Europe items site sometimes you receive some notification by him we don't use and the whole the system and the external systems people we don't use and we ask just a minute the but sometimes and you don't know that that we the laceration of Europe right on uh we can you uh the booking for the rules for the hotel and of course for the scene counts but we try to remove this job because there is little work but yes we can do that so the
website you become is a really good to because it's not just a info website size you went out of and invoices the refunding interest but sometimes we need to do the state of the Union 1st we use by 10 to the 7
and the support we step we stopped in 2000 20 and we use goes 1 that takes in no it that the last name duration to the jungle wondered data as the door and in the last year do during the last year of life the uh we use some dependencies that is a balance is just broken with the new version of the jungle all the snow maintenance it's really boring of of course we use light that sorry among the best is just after we have noticed and from can started combined in that we have 100 or 200 fires and 20 save and thousand lines of code and noticed and you know the tradition the but sometimes we can read it and you can check in the cells of the cannons are just in Italian and soulful so part of the input to the honest man we're just some english picture that I try and we understand english or french or OK have sometimes we can see in the source code of Europe item of some parts of the curve because it's just duplicated all we can have see some data Y because during the migration from the last uh and become a source for the story the previous version of Europe items and Europe right so it was based on the i Italian site as a result of why we have the commands in English but in they use Sivaram out application with the new version of Europe items we just managed OK and there's a reason why we have some depleted of course care as introduced no continuous integration of and OK for exam 2 rules or effective that we have the then but and this is of course after this the settings have out it
so I think we have a problem but say usually I think we are not
alone in this case because I am a of which Python and when I threw in some companies I can see the same case documentation and continuous integration server in fact nothing yes it works OK but don't forget 1 thing be chose we are at revised and Europe items are
started in 2002 and since the beginning we have a lot of form out the reverse in ready for 2 1 the 1st the 2nd is we have some volunteers under free time the so that we are not paid for that is in the case of the company's and we are not where just that the scientist's by and we tried to to fix issues so from that I think we have a real challenge maybe a small maybe a being
map we have arrived a challenge the 1st challenge is to have a continuous integration
server OK we can store give that we can use and use that or maybe interest we we see that in the future when the conditions the Italian maybe in English but why not the condition is that the uh for the configuration of the 3 important because Germany the settings of just started in the source code and that's a boring when you want to to move from the prediction to the staging to the predictions of the tree and we need some test maybe referred the that got removed and of course improve the creature of the curve the to that the 3 important profiling sometimes we develop some application with jungle but we don't use some tools something us we need to improve the deployment title for you but I knew some companies they compute some stripped from a wide-eyed we keep going and it passed all the lines in the shell because they don't know Fabrikant uncivil of stock and we need to monitor everything the website uh funding and not to the to the base their social known on about the continuous integration and we have good news that I have good news as density used this to the configuration is the predictive OK for documentation was the best predictor want maybe things I like things because we have this the syntax and we can extend it and because we have a lot of plugins for the and of other configuration you just up to 2 channel cells curled up and just
you or just use of jungle this and that and this is just a small fire where you improve you put your
configuration we can see that in the part of the book where you are gifted do the the confusion for policy well for the secret for the debris of the unknown and arrest and in the but I'm just the lines of code that you have to put in your managed by that's 3 from where that you don't need to change your configuration with the setting is the k seen some than a person they come and the cells from the settings and try to use you for the test please just please use unit tests or practiced don't try to make your home grammar and you know the truth and it's just been all right I used by test and I'm going to show you that because here there's a is a good project widest profiling but please use from this Sebastian ground increment and don't believe that your code is just the effect we are humans and humans make a lot of hair or this cost so when we create some test 0 to create test we create a function for the test after we implement the truck but we really get secure on the case you
have the guest and you have the tests you want to try to write a test maybe you can write test information of the code for each of your reputation in this case we can use coverage all just if using by tests by test that co that's true just for the source code but
sometimes you're using some templates and in the template as you're not sure that the template is just used with the right function example you want to have a new parameter tree on you and and point and you have to check all the templates OK you can try you can try to create the test for each templates but there is a for that jungle coverage Thinking this small print in will analyze that that the template it will give you a tour of justice more approach OK this narrow industries to that the tools we use the version number version 1 . 8 so this version the mediation and Jan of jungle execute acute boredom your fire and sometimes it's really boring but with the B because of the test would take 2 signals and immigration 2 minutes with just displaying in that we consider the when you try to write your test and that just more important this better for the rest we have some others I suppose whoa used fixture bad sorry test as well why because we have to define and when we have did the mother had news that you have to have that your 60 I don't know for you but in in the companies where work that try to improve to implement a small script where you will put some values for the new field and mighty is just use factory by created a factory for the mother and from that I can implement a new instance of my mother it had just when you write the code on or when you want to refer to current became use by figure just find it just only enter where they tell you where you have an error in the source code for example on that you just for you to data are a valuable the use a viable but this 1 is not really it's not in the cells and when you lot you can use jungle PDB when you have an exception automatically we start it's a postmortem that ultimately the we start on this slide where you have issue the exception you just have to do that I don't use print prison just follow and the beginning of the point is and if you're using by test I'm going to use PGP people did the because PDB or be just what does not want and that's not work with the widest of Christians because I'm the Contra just pointed to by country that 6 and through the 70 I like to use my point and we can use my by my by just small told where we can check uh the source code of we can create and analyzes and analyzes of the source code and give so far approach where OK this variable is just a string that you want to assign an interview this talk is correct and my bike can give us a report where we had the depleted could of depleted function if we can use the Flickr photo flaky just as to where the winner removal there and used imports from the cells and for the court you can use and so I sort of I sort will of your configuration we have some input no imports side uh by 3 groups for example for the 1st on the library for the Internet of text on the library uh the external the library Django and whatever and your home library OK no
maybe jungle them and do you know all the debt of profile and petition would jungle in my to me that the course was the uh take time the stuff time and they made the difference between the stuff and the stuff so that but we don't know what the number of the phrase in the database and about the city we have nothing this really interesting I using animal for you
and when you run the seller with run 7 uh you can use jungle In jungle this 7 and the line prefinal preons where you will get a small room report for the profile of the 4 5 and for each light we get we get uh the reason for its line of Geddes line asked to us to takes 2 minutes articles and the next line will take care of 180 ms the 3 and importance and I have for you bite is provided by as profiling it's just a rock row Aransas but he has to be interesting future the first one is just profile is G With this feature the we written as vision I and then we generated the lines where you can see here Sorry to you will have a file or a profile where you can execute to to show you that a graph with the disease duration because a number of course times and their position and you can use the 2nd parameter just durations duration we create we write a report where you have this case is just just a bit too slow worst solution in your cells code I like because sometimes we can have this graph and I don't know for you sometimes you have a function you think needs to be bound identify maybe there's a problem with this and tell you where the get the my kids that was just a problem with my network so I'm not going to continue to provide and we can use the provided he she provided it just a web interface for the prof fires as you can see just more screenshot where we have order the spectra is and the course for its function and times just need to install it with with different so for the deployment why using doctrine and we use a composed that may be much like to then its articles because if we implement a new feature we want to see his before or to put it in the predictions the because we have some of the 1st for the monitoring of a will like to use century because currently we receive from the male just and we have no statistics about this exception nothing centuries really I really a good tool for them maybe user prefers item to be above the super diesel they care or just a Quran is the transformed because it can result in there's a crash of the process and for the rest the dual solution can so makes by just instead
of being and after this refer to because they did not I have had
that interest we have some test 97 still 3 big is of better than 0 and we have good coverage for 2 2 persons 52 person on 27 does online article was and 1 week I he's started to port and the database to progress the cells code the start to be compatible with was vesicles have crossed and sometimes a user profiling because observe some difference with disputed information if you we use this collider position basically makes that joe so just a and recommendation remove that that could most of the last version of jungle timber 2 . 0 or 1 that has been I prefer John John to the theory because we will remove the support of white and to of course and used by treated 6 because we have some improvement and mainly with the last session of fight present to the tree 7 engine someone's use was rest because for the rest it is possible to justify the better that this from use the maybe we provide some a PIN because correctly I you know why this kid in your application is synchronous to kenized with adapted with the website because every day we just expert skinner from this to be a petition and maybe creates a bit of so as
there's an experiment agenda experimental because maybe we need your help because we are voluntarily we'll have a free time we are not paid for the Europe right site is just on the freedom but maybe we you have a better experience than me
but of tribute during this weekend were rated this printed please come on please the I don't want to be alone became this come John the web t and
if you are better than me please share your best purchase yeah a survey and you can do just read this thing here and that comes 1st jumble that best that practice and if you have a question visitor time as imminent the it who has a Christian at the just my experience in 1 moment OK I never u junga before and I don't know if I had the right uh and the the right parties so that the project but in my case because our really some of the tools in the past I just use this to us no question yes just 1 it can of this higher up so 1st you can run by test type just minuses for my capture equal to know which will want to redirect this the also readings working with quite that's the likely to be and seconds are can consider the whole team to use at least on gender CMS or what all as based on top which you can build the conference think for a 2nd question that we used to understand us all for the 1st sorry can you repeat there was a slight you said you cannot rule by best with I can be knows you get some strange eventual power but when I get with those circle flat maybe they can show because when I have started to use our IPB we've by test uh I don't know why but sometimes I get some some error in my concern but a dish translation memory the mid liberties for failing get what will the the Christian alright I think we got time for 1 more research we could have a look sold the not only and as far as eliminating that courts there's a very good to cold culture and it is not just the other thing for obvious reasons for the discussion of lost it was cycle analysis on this and such things occasionally because when you think right we have a question that is the question he yeah and yet there is that you just forgot to explain it but is a good project support b if and thank