Merken

DjangoCon US 2015: Lightning Talks - Part 2

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
what about the end of the and the and the and and the and the and the mn if I'm so excited to be here today and will bring this light sessions admittedly both from product manager and in this talk i'm going to show you some of the essential Plyshyn features that make many gender developers more productive the so here I have of
very simple polls project opened in pie chart and very 1st feature I want to show you is uh Django managed by counsel so you can get it by in control all the here's it we can just start typing that uh task name it all 17 it propose surprise you their options you have for this task use that the name the for the creation of but it also supports the false assertion completions who can just said the middle part of that of Spain tradable also the completed of you can also secured control Q and to give you a critical edition for that task so here we have single can I want to create free and here's how it works another cool thinkable pie chart is that it has a really reach navigational capabilities so you can go to everywhere goal to search for any file or model or method just bequeathing double shifts for example as goal to their the detailed view so we can also go to the team played by just clicking this small icon here we can go back by clicking this 1 solution in choosing the right 1 so we can go to their roles by clicking control being the the that and this is really useful to go wrong you call of another great thing and a great future in quite from that many gender developers like the most from the feedback that guy is applied trump debugger it can be used to develop a Python called we don't know about but it also can be used to develop gender team place so just let's go to their tinplate food some breakpoints right inside the editor here here here and wrong their gender server into the vocal quite chose automatically opens the browser of so we
go here and this is a point when Piotr from the borders of the execution and so we have everything here you can inspect the rebels seeking move them to watch is you can even of set very useful them like all here true K and do other ordinary things like setting for a cold mitigating to the next break points all the
usual self so here have works and lot but not the least thing going to show you is however on my tests so I'm never dealing with social revert to like this file you consider much of this year and use creating new lower right of duration it would be jungle test configuration of you to name test by shown recognizes all the
testing you file and a new project actually can riots and you can see that all tests of S you can see the progress here that test results here you can navigate to training and test but from here break run its ch result of failed fixated understand and now we're all set so this is
just a quick Leung then all 4 question probabilities so please feel free to a way doesn't work OK
please feel free to visit our website to more also on twitter if you have any questions I'll be around and please feel free to request features you might have in mind when they variable so thank you very much few OK my name is Paul billion I'm going to talk about ending the holy wars on and the the so and this is mentioned at least in 1 of the talk and we had to talks about style and but if you ever seen the beyond the video from icon 2008 it's great by Raymond injured he talks about you know going beyond just format spacing and going into better architecture decisions and things that you should do up to make your code better and 1 of the great quotes from talk is had a unto thyself often out onto others so use it as a tool to make your code better but not necessarily beat other people down but I there's a problem with this whereby is I mean 1 of the big reasons we had in the Python is because we're all elegant code some some of us of value the and like to like everything lined up exactly we economy header when things go over 80 characters and so we are not wasting mental energy in as developers life times were fighting there styles encoder reviews maybe were spending too much energy on spacing and things that all mean as much as you like the naming talk was great today that's definitely something worth focus more energy on then some of you just reveal formatting things and and also we have developers that are maybe doing Python that are coming from another background they have different sense style no young although newer developers different languages and styles change over time some also currently uses to basically say like I have a seat profession I like to space indentations the 4 yes but exactly what OK so that's enough
for a space invitation i think that's like the
worst thing that yes I know it's a
sample but there is a solution we
don't have to waste their time and a mental energy on just trivial formatting issues we can also format code and have a consistent style throughout our whole codebase with not much work the so this was actually popularized by the go format and tool written for and then there's actually tool for Python that was released in March by google it's called yet another Python formatting actually they all have anywhere near consuming that's it means so and there's a link to the ghetto because of that install I can also you were developers so about doing their jobs could formatting and there's a JavaScript formatting told by audio called JS format and so just kind of run through a little example here from the web pipe Texas so ahead and run this on the pipe Texas code and the it is a newer neutral like a said
so I some of the options for the features are there yet so little script that basically I lets me but you know I don't want to run the banning of migrations such generated so as to skip some that so you put a few options in there that are in the default will need this little script you can copy this in kind of and use it to your own risk but there's 3 different styles of coding that come with the pool by default a Google there's a peppy and there's a chromium style which all have the room default configurations there's a million differ some options that you can kind style with it and then and there you go I set my 2 spaces so I was sure I omega settlement the MAP command go yeah so the composite like G. Sun the dictionary of object and has yeah hundreds of law tweaks that you can do to they get the style that he want and all your formatting will then
all your code base will be on performing so this is fairly boring but here you
go have a come up here this is all the kernel whitespace changes that did to the high Texas codebase it so
if you in Texas on the 20 1st the 27th come the by Texas it's in College Station and that's the in the mental few when instead I'm going to show you how Java script is becoming a little bit more Python a word of warning i will be going very quickly and their code examples on almost every site the the so ACM script as a language specification that JavaScript is based on in this presentation I'm going to show off features that were added in Accra script 6 which is also known as atmosphere 2015 at Scripps 6 is not supported by any browsers but you can start using it today the use the battles that allows you to compile your 6 code downed script 5 code which is understood by all modern web browsers this precompilation process is kind of like the precompilation step is necessary for something like coffee script so offers new features that arrows of fat errors on new shortened function syntax factors can be used kind of like the functions in Python but they also have a longer syntax but I'm going to always the short syntax my slides today we don't use land was very often in Python partially because we don't use callbacks very often in JavaScript called actually used all the time so fatter functions are actually really useful when you combine fatter functions with JavaScript's array methods they can serve a similar purpose to list comprehensions in Python edition being easier on the eyes fatter functions inherit the this binding of their outer scope for anyone who has wrestled with JavaScript function binding that's a really big deal with template strings you can now do string interpolation javascript so this is kind of like Python strings format method except that string template strings in that interpolate using the current scope automatically I like Python string format the but template strings also like to make a multiline strings so this is kind of like Python's triple quoted strings Duke industry interpolation the same time as well just give did not use to have a class in syntax it does now this is what it looks like of course no class implementation is complete without a properly loaded foot gone so JavaScript also supports inheritance I should think a super syntax is a little bit more elegant and java script that is in Python you can see that in both of those methods there I realize like code you can look at the slides afterwards just now has a spread operator this is similar to Python's argument unpacking operator and Python it's the asterisk symbol and JavaScript we use 3 dots you can use this to unpack array into the arguments of a function call you can also use a spread operator to unpack 1 array inside 7 another right this example combined with the the array of 1 2 3 4 the rest operator is basically the opposite of the spread operator again and 7 are stressors uses 3 . JavaScript this allows us to make a function that can take a variable number of arguments so for example or most difference function here takes any number of arguments Our in this good example were using the rest operator wants and the spread operator twice the judgment now allows you to specify default parameter values this does not mean a JavaScript has keyword arguments it doesn't these are just default values for positional arguments but just like Python javascript now has a 1 packing you can unpack arrays into multiple variables or you can use this for our model sign and offer viable swapping here x y and z would be 1 for and 2 but this 1 is action wishful thinking because this is only propose language feature the counterpose syntax a JavaScript decorators looks just like Python decorated syntax so hopefully jobs people had that have decorators judge actually models now they're probably namespace and they work pretty similar to the way models work in Python so unlike many other languages by employing a namespace and just like in Python or a that linked together in JavaScript so when you import something it's going to be namespace so I just showed you a small handful of new features supported by JavaScript you can learn more about Babylon but HyperScript 6 certain script 2015 and try out right from the web browser by going to the battle website uh feel free judge me on twitter if you have any questions about this the if all right arm and he to talk a little bit about sublime text and how you can converted into more jangle family text data or even ID so I'm going to be focusing in in 3 main plug-ins anaconda something for gift or materials into that and mn so 1st of all let you get for free when using sublime Text to work with Python or Django you get the bits that think that's highlighting multiple endpoints rejects surgical folding all this stuff right so iconize like I the because 1 which you you can install you gonna get competition go definition affine usages of a function of a class or a variable display signatures of classes in an functions again a docstring for anything that you have in your environment and the light that they Dorian flake 8 ending in your code
so here I'm demonstrating 2 features for example in the first one and on the top so you can see I'm importing from Django DB models import and let's say I wanna know which are my options regarding any integer fields right so I just type some images and I get the competition for every single possible integer feel I can get so much easier if you don't remember you know where to find some stuff in general like words resolve was a genetic of use In the 2nd example you can see on the 1st line of the importance of the least you you know this view and I can get the docstring right there in case you need help of knowing what a a lot of the a hand on how to use it the art like islands you see in the the In the 2nd Screen Shot they show the but will you have in this case would be picked that they complicate efforts for example the least you have imported by haven't been using it to you can detect right as you write your code of theory importing anything I'm not using it or defining a available in not using it I or a typo which has been in the many times where I just think I define available at it turns out I just miss 1 letter and I get a huge exception donor said you you get saved from that with this you
gotta get a full report on your own that may implicate placate errors so for example you conceive unit from complying with line length so whatever you can also set your own rules here because I know not everybody follows every single little that they give you so for example and using a 89 characters there some you can do pretty much whatever you like there's a configuration file you that you can commit to your version control and that make it easy for every developer using the same places you have to have the same linking capacities so naturally forget and the cure you get a has got there is little indicators are right beside you on the line numbers on film later you can do any BCS operation from the common-collector you don't need to open a terminal or a separate application to to get do any of this act and the checkout push playing give or not so here for example if you see on the top 1 online 14 and 15 had too little plus signs those they are those that new lines and then aligned 17 and 18 and I will read my paper you can say that you can see idealism mice there so it's easy to see which go you've been touching before committing and then I have the idea of right insulin text when I can see which lies a change in a previous comment or a comet your core could be aware and then and that you know become a CSS HTML luminescence right so you can expand CSS selectors into full HTML the aviation for much any rule and 3 prefixes in case you need to you know using our prefix or something like that so for example this is bootstrap but is super useful for me to form prototyping sub like that by men in the 1st line on the top and you can see I'm reading a CSS selector fast and they a that's right so then I want to have through the 3rd column the the the of we then H and then apply have just a tad and you get a full HTML structure out of it so it's super easy to get the prototyping it helps a lot with that when you're working with templates to and this is a in you know of using something new as as facts about you cannot simply prefix any CSS property with a dash and you get from at a micro fits in with the current goes support to the 2 dates the word here at the University of Texas and just a quarter-mile these to here there's the Texas swim center where we have
but imagine magical fix itself so of surgery have a million and a half gallon pool that all of our athletes can train and and is part of that pool they have they long aquatics club with the help of recruit the next generation of Texas athletes on so we have 6 to 17 year olds who come in and use the pool routinely and they were actually doing like manual check and getting really long lines in there class that we build them a how bad system just like the athletes had so that they could print out badges for everyone they could scan and solve all those line problems on we're kind of a new agile team we decided to try and apply of best practices listen to our you user experience person then we started out by developing personas in writing user stories like we've never done for the 1st
time that we have some fun with it and there's a couple the personas that we created some of the user stories we wrote and as we really thought about the the people who are going to be using the center we realize that our customer had sent us way to detail this fact that in fact the badges what needed in all of these people there only about 600 of them we ended up doing pen numbers it's say best we didn't have to do credit card processing for lost art badges and fees for those we don't have to deal with printers on by not just diving and in starting on exactly what they told us it was a big lesson for us that is we didn't don't
budgets but this is what we ended up
building our we had some JavaScript that we really enjoyed but I guess they 1 slide so there's no live demo here on of taking photos we ended up using just the webcam in the HTML 5 new audio and video capture and what are the lessons learned there on I don't think it's really ready for prime time but luckily for the swim center there's really sort of 3 computers that runs on so were able to easily say you must use the latest version of from the latest version of Firefox arm and then I was able to work and say here's 1 where I took
my picture afterwards on and as you can see I have they also that's not actually mean the but 1 of the
other best practices we tried to do is actually for the 1st time to write tests and Ducos views art and so I will I was the proud of the prior over on the right there where you can see we actually have tests it's very exciting maybe not for all of the all but for us it was on and then we got together in almost every line of code we wrote we reviewed together I looked over at the end I was really excited to go out and start looking at metrics to try and figure out OK of the bugs reported how quickly were we able to respond when actually had test frameworks and stuff on in the answer was we didn't have any bugs emitted during user acceptance testing during our 1st couple weeks of production so we couldn't get that metric on so if anyone else at there's is still not quite in the doing testing code reviews I highly encourage you to doing so my
conclusions take the time to understand the requirements of to to think about things before you just dive and on captured audio and video on each not 500 square if prime-time worked great for couple computers that we can keep up to date and I could use and testing if if folks are trying them please this thank you few play of many Francisco sold on my full spectral prefer Ginger I we do mental health care and skill in not only give a brief presentation about keeping fast things fast performance of keeping performance degradation from affecting your rapid iteration with transaction test case how OK so what
is fast fast is different in different things to different people for product fast is rapid iteration on new ideas we want to test whether or not they're going to fail or the to succeed fast for users is user experience we don't want users to be seeing like these loading indicators on their screens so I make a product for doctors doctors don't have the time to wait for their on web pages to load they wanna see patients so why do we care about this the care about this because we want to meet the needs 1 makes we what we want to rapidly meet the needs of consumers of because of the customers and we want to prove that that works on before the quickly on because we're at the start of the we believe in beautiful user experiences so that on people because we want the because what users to have on we we know from from the from the data that users will and are never get away from our side we will lose users if we don't provide them a land free quick user experience and there is a famous social network application founder of that we use in this move fast and break things thing on so I am an engineer and as an engineer I really want to build systems that are reliable that are stable and that our customers can depend on so how do we do this how we move fast without breaking too many things so on multiple so
general gives us a lot of tools for that I'll show you 1 of them so here's your standard issue and play we have the view function here and we have to make an authorization of decorator inherent had of rest controller arrest serialization of personalization here to put data out on so it happens to be really really slow because you user models too big or something like that and so we had a little optimization here to only get the feel that we need so iteration happens and 1 of the on and 1 of us adds a new field to the of rest serialization of the rest serializer in so what Sackett with that's the do but the problem is now it like it's really really slow what happens on it turns out by adding this field with this optimization of this rest controllers of make a per user query that's really bad even though doesn't break the behavior of the end point even if the endpoint passes all the tests of correctness it makes the performance incredibly bad so how we how we how we prevent that from happening inter transaction test case so transaction test case is imported from the same place you get test case you just say gender tests import transaction case made near tests inherit from it and get this also little utility function cold and called a certain number of quarries certain queries so what we do to ensure that this doesn't happen is we can create a couple of hundred users using like I use a factory and then we can run a and play from inside of this dome certain queries context and it will it will report to us will actually failed the test if the number of queries is now we're expecting so instead of getting performance degradation and make it's reported to us through the support system are continuous integration system actually catches us before we roll it out to production so continuous integration for the
when it helps with unmitigating of problems with rapid iteration and that it catches these degradation there's and thank you so much many mistresses
Francisco down from the available Ginger I think so few I'm so billing jingle that's we often find ourselves and looking requests for our server now what happens when we are the ones making requests and to the outside world like we need a marking tool for that and to then the talk about it pre that lets you do exactly this and my name is Raffaele and I work for a company called captures the so making relations if you request in your tests and is a pretty bad idea and the 1 of the obvious reasons is that and it's gonna sold on the test but more importantly if you're a remote endpoint is not available that this is going to fail and so it for example if you have a service Architech 2 of you don't want to need to put your various centered services to meet your build us and here is an example of a simple set of for each to pre so let's say we want our called a jingle project your L so we decorate the text the test method with HT pre that actually and then we can use the request module for example to make a request to that to that you your eyes and and in the end of each Dupree has by default returned a 200 and this this is going to pass without making a single requested units of the world so know what about and if we want to test that our remote and point has been called and that it's been called we lake specific arguments so imagine that I have a create kept and discrete cat method is supported is supposed to call a remote endpoints of our own create a cat that come from such API so disorder that you I I I make it returned to 1 by default at call tree cat method and at the end of my test I can test that the we or it has been cold and and that the tree can method supply the name in the request funny know well what if we won the response that is marked by HD pretty to depend on the request that we made some so it should be pretty has has users callbacks for that and and you can use it to almost I treat a simple marking of the remote server so coming back to the tree cat example let's say that the cats that we treat remotely need to have an owner and but so and send the request to slash the slash about such cats but the owner Bob can not exist in the remote server and in which case that end point is going to return a 404 and my treat that method is suppose to call that end point and if it gets a 404 tree above and then tried it the so to do that I consider viable Bob exists and they said it to false at the beginning of doesn't exist yet but I create I I have a create on the end point that is going to turn that variable to true when it's called I have a create cat points there is going to return a 404 is above doesn't exist yet and it's gonna return of the 2 1 if what does exist so I use those callbacks in my initiative pretty that register your eye and functions and then I can use like can't method and that the other might test I can assert that ball has indeed been created the and if you're making requests
with the request will heal I would encourage using responses which is which predisposes the exact same thing as HT pretty but mocks the risk the request model itself instead of marking at the circuit level and um I've heard that achieve pre does not work well with Python 3 but responses dogs and that sort of I have free today so thank you if all everyone james tabla and mom on Twitter at J. Teller while work for a company called down and when the sponsors of this conference but I'm not going to talking about the then I'm going to talking about kinetics and specifically at nice and efforts to build a learning management system with an ax now for those of you who haven't been to early data Conzen might not be familiar with what px is all about start off talking a little bit about that collects a general before diving into the learning management system so the next provides what a lot of sites and common so you can focus on what makes your site different it's an open source project started that I started in 2008 and with a bunch of other people up to supercharge Django development by providing all the kinds of things that you find yourself writing again and again in websites whether it's things like profiles of notifications announcements teams invitations vibrating referrals all that kind of stuff on PAC science to provide for you on certain ecosystem of reusable Django acts on at its core but it's also a bunch of project conventions different templates using bootstrap so you can get up and running really quickly and start a project's agenda project templates that pretty combined certain reusable apps so you can get running right a wide and even if you're not interested in the specifics of the learning management system stuff up Iraq's is is something you can use for pretty much all of your gender projects certainly I have for the last 7 years and hundreds of other people have as well are back in 2 thousand right and that the very 1st gender column by better talk about an axis the 1st talk about the next and I had this slide but basically showed that this disconnect that could naturally grouping to certain application domains things like social networks intranets e-commerce and so on but 1 of the use cases that i guide back in that talk was learning management it was something that I saw was a possibility but on gender been recently that would actually really dived into Learning Management what I mean by a learning management system I will mean but any web application that facilitates learning on the could be online learning on you know small environment it could be a move it could be something that's used as a complement to in face-to-face training and so on but it's a web application that enables all that kind of stuff and I think of it really as having true aspects to it the management system and the learning system the so the kinds of things they typically get in the management system part of a learning management system a groups in Roman calendering announcements profiles messaging blogs forums document management submission boxes what's interesting that all those things is a fairly generic things in their exactly the kind of thing that px has already come that to a certain extent provided either already or could very easily add and so 1 of the things that we're doing this part of the Penex open-source project is bringing together these existing components writing some additional ones in order to on you basically build an open source learning management system in Python Django as well as the new management system sort of things is also the learning sort of things the focuses more on activities that the individual students do things like building quiz those organizing things into learning parts having adaptive learning spiced repetition elect kind of stuff as well as gamification things like levels points and badges now again connects those some of this already some especially gamification stuff to bring all that together and to to run to provide and on open source learning management platform and based on gender just a really quick example of 1 of the things that we doing for the sum for the learning activities is a really pluggable object-oriented architecture where you can basically sigh on 1 a Likud stall quiz here why give fot give 5 options you can plug in what's the what's the provider that tells you what question to ask what student when you're having to build any the infrastructure around that you can focus on the coal learning algorithms and so we're going to be sprinting on this in particular as well as in general and I certainly encourage you all to to join is there if you're interested specifically Learning Management Systems or that connects can do in general to I hope you'll Django development but the next project to confer on Twitter on the euro's Penex project . com at to get covered pos you should know about 1 fully overall the LMS and 1 specifically for these pluggable learning activities and that's it thank you very much if a so remaining is near now something like that great pronunciation by last name very few people get that comes up with going at started
talking about gender your felt there that's a library originally released which aims to help to do filtering from various data sources in Django be using structured yourselves to me forget to some examples of what that means some use cases
why would you want to have so doing at all so various following happened nation for example gender admin instead of seeing lots of lots of part of the just you I want to he subset of the data to something and comes in pretty handy accessibility is falling API is especially when you think about operations so you want to update particolare resources but not all of them so filtering comes in handy a source of breeding nice when you're moving the filtering logic to the client side for example an angular react applications users in use dropdowns and text boxes or whatever to construct a photon criteria so that all the client side needs to do is construct the filtering your he posited back and the back and build adjective and stood in order to
accomplish a lot add this library tracing few promises and was going over all of them 1 by 1 so 1st pharmacy tries unique the yours is human friendly as it can possibly can by default you can felt there by the you're affected by user we have a particular values to for example you can filter or ideas equal to 1 can also felt there mediates filters so idea is not 1 you can also apply custom lockups where the I D is either 1 2 or 3 and you can do other than standard to jingle or mock ups that contains exacted although the goodness agenda another promise it makes is traced to the filtering the physical possibility of before actually doing any filtering in the back and all the values submitted are validated by using Django form field so for example since ideas are integer field to validate string digit what you we would use integer field for validation so we are fine examples of the last example where the colonies joint usually probably be daytime Armenian database but says the look up wizard yeah we would use the integer field to validate 2015 verses date time field and I balance it makes it tries to make it as easy as possible to filter out and related models so for example in this case you filtering you're kind of user models but filtering and actually get in the profile model chicken pretty handy and as a might have noticed a of useful there's local rock like gender around and that's because they are the that was the whole point of the designed to make it as simple as possible and I think gender under the really awesome job of making he's filter operations really easy you don't have to think about drawing lines and all this mean to run relationships you just say I want that so this library tries to do the same playing in the Urals and find the makes the last that it's been a source agnostic what that means it completely couples passing you know and validating all the filtering process to actually filtering idea what that means is you can see that there they are not only from gender or am represents you consult the other sources of the 2 for example there's a work-in-progress fidelity of support to filter she blocking agree objects but you can the back to filter permission thing else could be my the collection of Python lists red databasing thing else you can think of us out of the box it comes in with a bunch of integration so 1 of them is dangerous for a lot if you ever use gender filters library it's very similar you just apply custom back and she was young felt around and just do the magic you can also use the library directly spread easy-to-use you discussed construct a class were filter set instantiated give adventure data idea that query set and all the filter up method and with the filtering and that's about it you can
find more information on the documentation here's the link as well you can ask me some questions and Twitter and finally a shameless plug I worked for the dual track this super excited to be sponsored dysgenic on for the 1st time so we have to start by nature to stop by booth we actually have to meet a bunch of patterns so if this is my 3rd 1 account gender not so if we have around them already mentioned about 1 thing it's critical part that so much at the old and how many of you using inredis how many of you have so much data doesn't fit on a single server it while will have animal points that you have so much stuff that doesn't fit the once-over and what is
and so basically the whole point of B. it's called the red is faster and it's basically a simplified version of talking to multiple registers in a very convenient way on the ideas that the
distributed dataset across multiple different services and you can basically have more state and then you can fit into the RAM on a single machine and it is a very convenient way so it it's not right cluster but it is based on the same idea in a sense that you will take a key and a distributed across multiple different nodes that you have the idea is that the library will automatically figure out the most efficient way to get the data from this in the middle service by automated building red pipelines depending on which civilian targets and when it's possible labels emerge commands to get city to get it get it get it will of the EU and and gets to to the right node so even if the keys school 2 very different notes of automated built apartments and it's available on PI PI as hobby and the idea is that interest rates this cluster that the thing was obvious that it's completely based on an empire this so if if is pirates before this is exactly the same it's just reps by readers in a more convenient way so you only have to do is to create a cluster value created as as as many nodes as you think you will have a ballpoint M and then you can point them to the same service if necessary and and from that moment on you can either use the routing trying to this the most convenient way for just getting very basic understanding of why it works you get the writing kind from the cluster and from that point on it works exactly as any other writers clients it just execute commands and Waldemar Build bright note on this however is serialised so if you target so finds have this 32 different nodes we target so this will do 30 to request 1 after another and which is not ideal s in a time that you can use the mapping client which use were found and with rock to just to with cluster map as clients and that trying to will then not return a response immediately Alonso time promise objects and then only after the with rock and so it will actually go out and sent a request to the service and we don't use g events in as centering aware so because we're not really based on that but this in itself does asynchronous I O behind the scenes for you and which is very common and so does make his 494 at something of that sort I'm and then just to do anything you have to promise objects at the end of the map call you guarantee that the value on it as results for the annals of his called X if you want and you can also target all the machines at once so if you want to flush the databases on all the machines which kind of scary you can just do discussed all clients and and it would just execute against them we can also express the target was a fan of specific nodes so if you want for instance a see which operating systems run on this particular hosts and we can just do that and then the promise of is a dictionary of the host city to the individual responses came back from it and that's
pretty much all you can get the doc said B thoughts and read the book support and the packages on IPI available on open source license and if you have used were and essentially it's the deference look at some of it during a B have to move out there and of sponsored the conference so have a look at as well thank you thank you provokes monomers brand Stern I work for a indeed and I really really believe that everyone should be able automate the boring stuff with pi from not just developers but like sales people and marketers and inclined support all kind stuff and so we piloted something I think maybe interesting g all the concept like a
code wiki and so what is it what a collection of self-contained pages of useful code and for example some marketing person might need to know like water you know indeed what are the top 10 things that people searching for right now and that's really just a sequel statement in a print statement and so that's like a document d put into a code wiki and then run it and so forth and maybe you wanna graph so you know do some sequel code and then you plot something you that could be a document in a code it might be useful for someone to gather this data because what the idea is based on IPython notebook and if you don't know what that is it's its adjacent document that has basically inputs are we put some Python in there and then when that runs the it puts the output in a matching outputs input cell output cell comes from the scientific community and its past them and so these form the basis of pages in the wiki and so anything that you can do an IPython notebook you can do at a wiki and so that means you've got obviously the full power Python which is amazing also panels for data manipulation and and so forth and so has some syntactic sugar to make sequel really easy and that she's going to support multiple languages and also you know you gather data from multiple sources and then you want to really easily um and put them in so it supports some syntactic sugar for like putting HTML templates in there and this is something we added but mark down so you can just quickly like gather data from a couple sources put little mark down to render some HTML and of course if you want iterate through results coming from single or some other data source like Google spreadsheets you can use Django templating it and then that will use that to generate this nicely formatted output at a really need extension of this idea is if you got a page in a cold wiki and it does something useful but what if you wanna change when the parameters so you want the top search terms but not in the US in France OK what we make these pages parameterizable and we did it by convention the 1st selling the IPython notebook if you assign things that becomes a parameter to that no book and then what you can do is you can basically have a page in a wiki the runs a dashboard mode when someone goes to it says 0 you know into the primers and run it and then it'll run with those parameters so for example that plotting you know document and use of free parameters you can choose what country you wanna look at and the date range for this particular search and it's you know a
pilot project and we can't release that there just to see what would happen and it turns out that lots of people really jumped on this idea and start automate the boring parts of the jobs pulling data from different services filtering joining and so forth and and so this is the
2nd dashboard mode you know you go the page you can enter your queries has deferred here go you get your results and 1 of the
things is what he did to subscribe to this daily so the idea is that I want this report to show up in the morning and so you can easily put into grammars because the click and then we have a micrometers automatically runs e-mails you we have a configurable permission system so some people can just run these dashboards but not see the code behind it other people can see the code and the idea is that it's a shared learning environment so people go to this in and see like what you do not make part of your job 0 let me copy that and so like a sales person can take an existing 1 makes modifications and never got something useful for them and as security brokers what they said so obviously I know you're running a user-supplied code on a web server so that we had to
do was isolate the code and so what we do is we like drop IPython notebook which is is Jason onto a Q and about a cluster of darker containers that basically spinout run it's taking the desire it and send it back in and get rid of the container surround those in a restricted view and so got some security around where the code actually runs and you can imagine that you know the power Python you can access data basically from anywhere and and join together and you can do some really interesting things here like like
and use an example that you know goes to particular indeed page using selenium like from the coal wiki the goes to page takes a picture any e-mails it to me so far I wanna just check the state of a particular page every day and this has
sort of unleashed the cracking uh we now have a link my over 500 of these documents and we got people from all over the organization running them and it's been a really interesting sort of see that the take off of this concept of like this shared code wiki thing so that's that's what open source of spam but it's not such ready yet and if you're interested in this concept from having to talk more about the institutions of thank you when the so have monomers recipes gradually
add this point you probably know me from my work on gender but you may not know is that it's
about an interest in user interfaces especially mighty views revises and then the notion here is to develop tools developed that follow the Unix philosophy of doing 1 thing and doing really well that with the humane and pretty user interface on I think that was experiments around the hitting a of a particle busy with that because my employers have a broad range of IT like pieces test runners debuggers might be a text editor that as stand-alone tools that is 1 great big monolithic integrated ITA but the journey Saturday
2 years ago when I related to local cricket
cricket is a do test run of a part you people still could get into your virtual environment you run a new project that throws up doing that which discovers all the tests and allows you to run the test right you can see the full structure of we just went in the tree on the left hand side you can see the progress of the test would as it runs you can see which test surpassing which runs a file and you can use that information while the test suite is actually running Net cricket was built using the 2 occasions on which is the 1 which is the widget toolkit which comes out a battery Python but center Canada has a some quirks so that standard familiar Milan process of yak shaving
and the 1st step was a new widget toolkit called Togo terms is a cross-platform 100 % system native Python 90 widget toolkit that you can start using putting special program now it's a very really dies but you can use it on sex on Linux and if you squint hard enough windows and also from the same source that that's now there are lots of other widget toolkits out the q wx itself you have to really have a good reason to write a new 1 and bring pure Python is 1 of those reasons that Smiley compelling kitchen that he wakes up the things that because the is a great big binary component the needs to exist Tober is 1 2 % pure path was probably not enough so a little over a year ago about a trematode work on the platform so that you would be write cross-platform wireless and and broad applications in Python now of course the target were comical
plot platforms Python needs to work on mobile platforms so the last year most of what I'll be doing this project has been looking at how often on mobile management and put it up on the that patch in the in the to track the flow pattern to get trapped uh that that I I was built support in the mind trade that's also been wrapped up into a separate projects even after writing to let patches merged into the traits completely work buddhist analog and about a month ago and asked to local briefcase to make the process even easier briefcases a distutils extension that will convert any project with a set up up here I fell into my working native wireless mobile project including still the local like dependencies and just probably also works in only 6 so you can get a stand-alone act that you can distribute the fully self-contained version of Python yeah now and I'm really it's a little bit more complicated and would really wants you to use job of and there is a patch for and wrote that lets you run see pattern on Android and that doesn't really work that well for various reasons account going into here and then I do have something up my sleeve that will address this I'm not announcing it now Ruby on Saturday when I the think of the power that they have so much suspects in if you remember Miller I am susceptible to having to explore for me so at and justice interested in mobile home upon the Python saying something about the balance of the story gets as well as a couple weeks that might have occurred could potentially have a behavior is an implementation of a Python machine written in JavaScript and sets breath and Popeye days it's it's just 10 kilobytes of compressed JavaScript and it allows you to write run python that occurred in the why would you want to let's imagine you got agenda for that film is about method implemented some plants are validation logic written in Python you plants and advantage the match as well you can use introspection on the server side to extract the barcode further validate method should that the client is part of the rendered page and then when it is the client has impressed you will have language parity between the client and server without having to do the handwriting JavaScript that 1st then we can see their friends at microsoft you can visit behind that idea that as you says that still working that Tobin sympatric run and it will run that pattern 3 in your browser so that's lecture I'll also
had the 2 hands with which to share with as little red help it sense distinct please come and get in touch with members and as I said before
I sometimes to general as well as well as reference is present at the surface of things the except as it is a fellowship there those a program where the where the adhesive patenting invent work full time on gender jennifer should have a cost money we
define the standard you it's extremely successful and that money is starting to run out so this is a shakedown if we want to continue keep rolling money if you you if you use gender commercially we need your company we you don't us partition we think he's with every penny and then some we hope you agree if you will contribute had to join the project becomes less than those and you have a couple of options uh as a a general you could donate oneself with no added the ability for monthly subscriptions but if you can would really like to take that 1 out because that's establish a baseline income rather than did fund-raising over time is also some options feel Amazon smile and nobody if you are if you can do your blood does that does the Donation matching thank you very
much for thank you but the the the
the the the the the and about this
Rückkopplung
Vervollständigung <Mathematik>
Sichtenkonzept
Kontrolltheorie
Elektronische Publikation
Bildschirmsymbol
Biprodukt
Kreisdiagramm
Computeranimation
Konfiguration <Informatik>
Task
Texteditor
Informationsmodellierung
Geschlecht <Mathematik>
Rechter Winkel
Mereologie
Debugging
Server
Delisches Problem
Biprodukt
Softwareentwickler
Informationsmanagement
Verschiebungsoperator
Softwaretest
Punkt
Rechter Winkel
Kontrollstruktur
Elektronische Publikation
Konfigurationsraum
Resultante
Softwaretest
Font
Wellenpaket
Arithmetische Folge
Fächer <Mathematik>
Rechenschieber
Kontrollstruktur
Projektive Ebene
Computeranimation
Normalvektor
Gammafunktion
Videospiel
Softwareentwickler
Web Site
Subtraktion
Pauli-Prinzip
Formale Sprache
Bildschirmsymbol
Fokalpunkt
Code
Raum-Zeit
Computeranimation
Videokonferenz
Entscheidungstheorie
Energiedichte
Twitter <Softwareplattform>
Code
Dateiformat
Surjektivität
Computerarchitektur
Softwareentwickler
E-Mail
Schreiben <Datenverarbeitung>
Binder <Informatik>
Arbeitsplatzcomputer
Dateiformat
Raum-Zeit
Code
Computeranimation
Energiedichte
Benutzerbeteiligung
Verschlingung
Prozess <Informatik>
Code
Stichprobenumfang
Energiedichte
Dateiformat
Softwareentwickler
Kreisring
Spieltheorie
Arbeitsplatzcomputer
Gesetz <Physik>
Raum-Zeit
Code
Computeranimation
Konfiguration <Informatik>
Data Dictionary
Objekt <Kategorie>
Mapping <Computergraphik>
Wurzel <Mathematik>
Code
Migration <Informatik>
Skript <Programm>
Dateiformat
Default
Bit
Prozess <Physik>
Browser
Datensichtgerät
Formale Sprache
Applet
Familie <Mathematik>
Parser
Template
Computeranimation
Zeitrichtung
Kernel <Informatik>
Vorzeichen <Mathematik>
Prozess <Informatik>
Skript <Programm>
Punkt
MIDI <Musikelektronik>
Default
Array <Informatik>
Umwandlungsenthalpie
Schnelltaste
Parametersystem
Lineares Funktional
Nichtlinearer Operator
Namensraum
Präprozessor
Template
Spieltheorie
Systemaufruf
Programmierumgebung
Elektronische Unterschrift
Teilbarkeit
Rechenschieber
Funktion <Mathematik>
Interpolation
Twitter <Softwareplattform>
Verschlingung
Einheit <Mathematik>
Wurzel <Mathematik>
Rechter Winkel
Zahlenbereich
Dateiformat
Dreieck
Programmierumgebung
Zeichenkette
Fehlermeldung
Web Site
Subtraktion
Ortsoperator
Gruppenoperation
Mathematisierung
Klasse <Mathematik>
Implementierung
Smith-Diagramm
Nichtlinearer Operator
Kombinatorische Gruppentheorie
Code
Datensichtgerät
Variable
Multiplikation
Informationsmodellierung
Numerisches Verfahren
Elektronische Unterschrift
Modul <Datentyp>
Arbeitsplatzcomputer
Vererbungshierarchie
Zeitrichtung
Affiner Raum
Eins
Materialisation <Physik>
Vererbungshierarchie
Default
Browser
Koordinaten
Mailing-Liste
Plug in
Symboltabelle
Objektklasse
Zeichenkette
Skalarprodukt
Array <Informatik>
Kommensurabilität
Wort <Informatik>
Benutzerführung
Innerer Punkt
Data Mining
Mathematisierung
Bootstrap-Aggregation
Versionsverwaltung
Kartesische Koordinaten
Dicke
Physikalische Theorie
Code
Computeranimation
Freeware
Informationsmodellierung
Wärmeausdehnung
Einheit <Mathematik>
Cross-site scripting
Numerisches Verfahren
Vorzeichen <Mathematik>
Datentyp
Radikal <Mathematik>
Indexberechnung
Softwareentwickler
Datenstruktur
Konfigurationsraum
Hilfesystem
Gerade
Bildgebendes Verfahren
Touchscreen
Nichtlinearer Operator
Dicke
Sichtenkonzept
Kategorie <Mathematik>
Template
Kanalkapazität
Ideal <Mathematik>
Ausnahmebehandlung
Schlussregel
Elektronische Publikation
Konfiguration <Informatik>
Datenfeld
Ganze Zahl
Rechter Winkel
Wort <Informatik>
Speicherabzug
Verkehrsinformation
Fehlermeldung
Expandierender Graph
Prozess <Physik>
Klasse <Mathematik>
Dezimalbruch
Besprechung/Interview
Physikalisches System
Gerade
Computeranimation
Chipkarte
Generator <Informatik>
Chirurgie <Mathematik>
Numerisches Verfahren
Mereologie
t-Test
Gerade
Rechenschieber
Motion Capturing
Webcam
Demo <Programm>
Digitale Photographie
Versionsverwaltung
Partielle Differentiation
Computerunterstütztes Verfahren
Information
Quick-Sort
Computeranimation
Videokonferenz
Softwaretest
Sichtenkonzept
Linienelement
Schreiben <Datenverarbeitung>
Extrempunkt
Biprodukt
Informationsmanagement
Code
Framework <Informatik>
Computeranimation
Programmfehler
Teilmenge
Softwaretest
Funktion <Mathematik>
Rechter Winkel
Code
Persönliche Identifikationsnummer
Gerade
Softwaretest
Subtraktion
Primideal
Freeware
Iteration
Kartesische Koordinaten
Computerunterstütztes Verfahren
Physikalisches System
Biprodukt
Web-Seite
Kombinatorische Gruppentheorie
Computeranimation
Videokonferenz
Videokonferenz
Transaktionsverwaltung
Iteration
Softwaretest
Code
Kontrollstruktur
Biprodukt
Indexberechnung
Beweistheorie
Touchscreen
SCI <Informatik>
Minimierung
Iteration
Kontinuierliche Integration
Computeranimation
Informationsmodellierung
Numerisches Verfahren
Mixed Reality
Kontrollstruktur
Softwaretest
Autorisierung
Lineares Funktional
Sichtenkonzept
Kontrolltheorie
Konvexe Hülle
Datenmodell
Kontinuierliche Integration
Softwarewerkzeug
Abfrage
Physikalisches System
Biprodukt
Kontextbezogenes System
Transaktionsverwaltung
Datenfeld
Geschlecht <Mathematik>
Serielle Schnittstelle
Faktor <Algebra>
Standardabweichung
Webforum
Bit
Gewichtete Summe
Punkt
Web log
Web-Applikation
Bootstrap-Aggregation
Gruppenkeim
t-Test
Datenmanagement
HIP <Kommunikationsprotokoll>
Kartesische Koordinaten
Kinematik
Service provider
Computeranimation
Eins
Übergang
Netzwerktopologie
Softwaretest
Algorithmus
Einheit <Mathematik>
Datenmanagement
Gruppentheorie
Punkt
Elektronischer Programmführer
Default
Umwandlungsenthalpie
Softwaretest
App <Programm>
Lineares Funktional
Parametersystem
Addition
Template
Systemaufruf
Profil <Aerodynamik>
Web Site
Web log
Konfiguration <Informatik>
Rechenschieber
Dienst <Informatik>
Twitter <Softwareplattform>
Einheit <Mathematik>
Geschlecht <Mathematik>
Server
Projektive Ebene
Computerunterstützte Übersetzung
Ordnung <Mathematik>
Programmierumgebung
Sichtbarkeitsverfahren
Subtraktion
Web Site
Wellenpaket
Quader
App <Programm>
E-Learning
Gebäude <Mathematik>
Diskrete Gruppe
Informationsmanagement
Systemplattform
Physikalisches System
Informationsmodellierung
Domain-Name
Datennetz
Dokumentenverwaltungssystem
Fokalpunkt
Endogene Variable
COM
Zusammenhängender Graph
Maßerweiterung
Softwareentwickler
Modul
Informationsmanagement
Open Source
Default
Relativitätstheorie
Physikalisches System
Modul
Quick-Sort
Endogene Variable
Digitaltechnik
Mereologie
Speicherabzug
Computerarchitektur
Entropie
Nichtlinearer Operator
Mathematische Logik
Quader
Weg <Topologie>
Systemverwaltung
Kartesische Koordinaten
Digitalfilter
Quellcode
Mathematische Logik
Computeranimation
Teilmenge
Client
Geschlecht <Mathematik>
Mereologie
Programmbibliothek
Operations Research
Ordnung <Mathematik>
URL
Retrievalsprache
Punkt
Prozess <Physik>
Weg <Topologie>
Natürliche Zahl
Desintegration <Mathematik>
Twitter <Softwareplattform>
Computeranimation
Maßstab
Prozess <Informatik>
Code
Mustersprache
Default
Gerade
Nichtlinearer Operator
Filter <Stochastik>
Datenhaltung
Rohdaten
Güte der Anpassung
Stellenring
Profil <Aerodynamik>
Abfrage
Quellcode
Digitalfilter
Arithmetisches Mittel
Datenfeld
Menge
Twitter <Softwareplattform>
Ganze Zahl
Geschlecht <Mathematik>
Server
Information
Zeichenkette
Fitnessfunktion
Objekt <Kategorie>
Server
Quader
Klasse <Mathematik>
E-Mail
Abenteuerspiel
Open Source
Bildschirmmaske
Informationsmodellierung
Weg <Topologie>
Programmbibliothek
Meta-Tag
URL
sinc-Funktion
Datenmodell
Validität
Mailing-Liste
Binder <Informatik>
Integral
Objekt <Kategorie>
Mereologie
Modelltheorie
Resultante
Server
Subtraktion
Punkt
Momentenproblem
Stapelverarbeitung
Versionsverwaltung
Information
Computeranimation
Demoszene <Programmierung>
Virtuelle Maschine
Multiplikation
Knotenmenge
Client
Maßstab
Nichtlineares Zuordnungsproblem
Fächer <Mathematik>
Netzbetriebssystem
Endogene Variable
Programmbibliothek
Umwandlungsenthalpie
Installation <Informatik>
Datenhaltung
Gebäude <Mathematik>
Softwarepiraterie
Systemaufruf
Wiederkehrender Zustand
Prozessautomation
Bitrate
Quick-Sort
Data Dictionary
Objekt <Kategorie>
Mapping <Computergraphik>
Dienst <Informatik>
Client
Schlüsselverwaltung
Instantiierung
Aggregatzustand
Resultante
Retrievalsprache
Wiki
Freeware
Wasserdampftafel
Mathematisierung
Hochdruck
Formale Sprache
Zellularer Automat
Fortsetzung <Mathematik>
Term
Template
Code
Computeranimation
Homepage
PROM
Spannweite <Stochastik>
Bildschirmmaske
Multiplikation
Enterprise-Resource-Planning
Code
Notebook-Computer
Zählen
Mobiles Internet
Maßerweiterung
Softwareentwickler
Normalvektor
Funktion <Mathematik>
Leistung <Physik>
ATM
Parametersystem
Befehl <Informatik>
Graph
Template
Open Source
Prozessautomation
Quellcode
Ein-Ausgabe
Wiki
Matching
Gruppenkeim
Tabellenkalkulation
Zellularer Automat
Basisvektor
Mini-Disc
Geneigte Ebene
Resultante
Retrievalsprache
Subtraktion
Mathematische Logik
Content Management
Formale Grammatik
Code
Computeranimation
Homepage
Benutzerbeteiligung
Prozess <Informatik>
Code
Softwareschwachstelle
Plot <Graphische Darstellung>
E-Mail
Konfigurationsraum
Serviceorientierte Architektur
ATM
Elektronische Publikation
Computersicherheit
Verhandlungs-Informationssystem
Abfrage
Physikalisches System
Marketinginformationssystem
Sichtenkonzept
Dienst <Informatik>
Injektivität
Parametersystem
Mereologie
Server
Notebook-Computer
Bitrate
Programmierumgebung
Verkehrsinformation
Tabellenkalkulation
Sichtenkonzept
Computersicherheit
Code
Computeranimation
Datensichtgerät
Homepage
Homepage
Spezialrechner
Business Intelligence
Notebook-Computer
Tropfen
Druckertreiber
Leistung <Physik>
Aggregatzustand
Softwaretest
Eindringerkennung
Sichtenkonzept
Punkt
Benutzeroberfläche
Selbst organisierendes System
Open Source
Binder <Informatik>
Wiki
Code
Quick-Sort
Computeranimation
Texteditor
Spannweite <Stochastik>
Geschlecht <Mathematik>
Softwaretest
Suite <Programmpaket>
Prozess <Physik>
Virtuelle Realität
Kartesische Koordinaten
Physikalisches System
Quellcode
Elektronische Publikation
Term
Computeranimation
Netzwerktopologie
Arithmetische Folge
Einheit <Mathematik>
Rechter Winkel
Widget
Bildschirmfenster
Mereologie
Zusammenhängender Graph
Projektive Ebene
Information
Optimierung
Datenstruktur
Standardabweichung
Humanoider Roboter
Maschinenschreiben
Bit
Prozess <Physik>
Browser
Formale Sprache
Versionsverwaltung
Schreiben <Datenverarbeitung>
Implementierung
Mathematische Logik
Systemplattform
Homepage
Virtuelle Maschine
Client
Mustersprache
Maßerweiterung
Hilfesystem
Informationsmanagement
Leistung <Physik>
Matching <Graphentheorie>
Validität
Web Site
Plot <Graphische Darstellung>
Humanoider Roboter
Datenfluss
Summengleichung
Patch <Software>
Gerade Zahl
Mereologie
Server
Projektive Ebene
Adhäsion
Pay-TV
Flächentheorie
Geschlecht <Mathematik>
Projektive Ebene
Optimierung
Partitionsfunktion
Standardabweichung
Konfiguration <Informatik>
Tabelle <Informatik>
Web Site
Ereignishorizont
Computeranimation

Metadaten

Formale Metadaten

Titel DjangoCon US 2015: Lightning Talks - Part 2
Serientitel DjangoCon US 2015
Teil 23
Anzahl der Teile 46
Autor Filippov, Dmitry
Bailey, Paul
Hunner, Trey
Rivas, Eduardo
Sumner, Jeff
Saldana, Francisco
Merx, Raphael
Tauber, James
Shubernetskiy, Miroslav
Ronacher, Armin
Sterne, Brendan
Keith-Magee, Russell
Mitwirkende Confreaks, LLC
Lizenz CC-Namensnennung 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen.
DOI 10.5446/32778
Herausgeber DjangoCon US
Erscheinungsjahr 2015
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract Lightning Talks Dmitry Filippov "Django assistance in PyCharm" Paul Bailey "End the Holy Wars of Formatting" Trey Hunner "JavaScript is Becoming Pythonic" Eduardo Rivas " Sublime Text Django" Jeff Sumner "Texas Swim Center" Francisco Saldana "Keeping Fast Fast: Rapid Iteration with TransactionTestCase" Raphael Merx "Mocking Outbound Requests with HTTPretty" James Tauber "Building a Learning Management System with Pinax" Miroslav Shubernetskiy "Filtering in Django" Armin Ronacher "rb - Scaling Redis in Python" Brendan Sterne "Code Wiki" Russell Keith-Magee "Professional Yak Coiffure"

Ähnliche Filme

Loading...