Bestand wählen
Merken

Prying Open the Black Box

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
the the you have to do housing
going the snake the what I just this on the knowledge of that but it did I could do something good to others I probably need and that's on you data is it that much and does not much of a barbecue personal anyway I am got free that's we you can find me on the internet as can you before we begin I go to do Snapchat's overview on you cannot share me that would really help move Internet points so I am ready to go I'll see this with a command was going on and the had the time sort so that the the closing keynote remembered of I work at a local company called and we when your works but if you if you like a lanyard you you probably also like out performance monitoring products and we have a group of size and then if you if you like Deligne yards you probably also unity crypto-currencies you should check out I still confine its skeletal slash that I kind of feel is what it looks like some going to work a lot of money I'm material like my that much you should also sign up for stellar using this referral Internet and that will you and I both will all be swimming scalar credits for Oregon discuss the use and we have a 50 dollar promo-code there's well and finally of the maintaining of open source through the apps you should definitely come over an assignment for a completely free account so and
that of the loyalist I will be working before we dive in I just want to set some expectations if you're in new developer had you in mind when writing this talk so I really hope I can help and if you have been programming for a while in embrace your 1st or primary programming environment this site is also for you and l sometimes debugging member could be intimidating or even will be frustrating so I hope to help reset your expectation of what the binding should be like and and the and I'll mention why and the body member might feel a bit more difficult and what you can do about it and finally you're an intermediate or advanced developer them probably already know everything I'm about to tell you and this part is probably not going blow in might books I would like to invite you to fall on and think about how we can and more effectively teach these things to new developers and what we can do to improve the learning experience for everyone so was get started I haven't really obsessed with failures lately specifically engineering failures and apostrophes not because I enjoy watching people suffer of course but I'm quite fascinated by the ways that we managed to analyze and learn from these mistakes we a lot of things happen in 2017 however 1 of the things that didn't happen would plane crashes specifically crashes involving commercial passenger jets you see we fall over 4 million passengers last year which is more than half of the world's population really mind-blowing and I'll get there was not a single fatality in commercial passenger jetliner in 2017 that wasn't always the case though in the early days of aviation history that fine was a pretty risky business in fact it was so risky that the early airmail pilots column so members of Suicide Club the wrong because it was later calculated that the average life expectancy would was as low as 900 flying hours which is roughly how many hours commercial pilots fly every year today and since those early days we have invested a lot of resources into improving the safety of library 1 men and the more in aviation days every accident is really heavily scrutinized and investigated with the results of these investigations leading into new regulations and engineering improvements to prevent same cafe later from ever happening again so every time you fly today in some ways your on-the-fly savor imports because of the pilots and passengers who lost lodged in these hard-earned lessons going back to 2017 outside of aviation history while the unfortunate things that had happened was the North Korean crisis but if you remember that the year of last year the North Korean military fired some ice test missiles and other on seriously word on January for attaining this year if you're watching TV at home in Hawaii there was a pretty nasty surprise for you U.S. Pacific Command has detected a missile threat to highlight a missile may impact on land or sea within minutes this is not a drill that was some pretty scary stuff right but fortunately as we have later were and there were no action missiles heading for our way that they I was a false alarm but millions of people were terrified and many have sent their farewells and the last words to love one's so how how does something like that happened how of falseness al-Lami did broadcasted on T well that's a question that the SEC investigators need to answer but figuring that out is no easy task and obviously the the false alarm got broadcasted on TV because the TV station operated press the button to put on the screen but maybe go ask him he he'll tell you understand my job because my manager called me and told me to put on the screen in it as a manager should value but I got a call from the from Hawaii Emergency Management Agency so that's not my father and falling in this chain all the way up to the top you find out that what turns so this was supposed to be a trail so what went wrong silly there's and this communication going on there because on 1 hand we the supervisory being intended that drill but on the other hand it came as of real alerts so if you didn't get the memo here why can't the investigation report that the is a Verizon initiated the unscheduled to during a shift change despite including a phrase exercise exercise of replies as they're required to but he went on scribble little bed and at 1 point said the phrase this is not a real mistakenly and turns them fully responsible for sending out alert claimed that he missed the exercise part of the announcement and generally believed there was an actual emergency suppose all a co-worker put the message on board announced announced bigger form part way into the message and so on and that's basically all we know so unfortunately we don't have great a record of what actually went down there so that's basically all we have to work with that wouldn't this be a lot easier if we have some sort of proper paper trail off to talk to during that time even better wouldn't be nice if the industry's time in that moment and interrogated all the parties involved well 2 other properties of the good to be true dresses investigators like cleverer software investigators from this is fully feasible and invite you computer is always trying very hard to give you this information all the time so you remember this red area think that using the Council the time and if
you don't know how to read it can be quite overwhelming so while we try to use this format to describe what really went wrong and the whole idea that incident so the top line is the error message and a description of what 1 now this should always always always be the 1st thing you really because view the sometimes this is all you need to read and to and figure out what went wrong in this case this is really just telling us something we already know all right like know we send a word we don't think we should have and so the real question is why don't this is where the stack trace comes in right like the scary looking thing at the bottom of there is a paper trail off you talk to do something that SEC investigators would would love to have in this situation at the very thought that's where the air actually happen right so that's the TV operated trading the alert and the next line is why he didn't in this case because the manager Arsene to an turns you can fold through all the way back to you of the Emerson provides and now if you click on any phoneme in the spectra is your browser will actually just take you directly to definition of the function so looks someone that's so look in the Go-there in might be very tempting use fixing promethium right ample we send an alert and we should have sent the law so maybe we can just double-check with the Pacific Command before we do but now at all I understand why this might be tempted think maybe this is the part of the code is that you know really well and perhaps you still want many cans of worms those sitting in the other file that is the legacy spaghetti code that pretty company the There's about in my code I fix the problem a year on the test in the past so from solve rate there are 2 problems with that the 1st problem imagine how this could look to the next person working this code maybe they have to come fix a completely different about grade if if that's may have probably look at this and think well I thought I knew what this method is supposed to be based on the name but now reading the source but I'm not so sure anymore really what why why would this method the colander no incoming missiles what what does that mean like a guess probably that's probably because of some very complicated reasons and understand yet so I want to bring things so I just work around the problem somewhere else instead and with that history has repeated itself when we have seen the full lifecycle of how the spaghetti code breezes form so that's from number 1 from to his I wouldn't actually fix the problem and not sure we have prevented the TV station from broadcasting a false alert but if you go a few frames off the stack you see that the system is also supposed notified of cell phone providers to send them and SMS and portion of cation so we start from there sure we can add another conditional rounded but I think the better thing to do is probably get to the bottom of this and effective of from there remember always said about freezing time earlier this is what the polls on exceptions but and that's but if you enable a refresher page will freeze everything as there is happening giving you a chance to go of announced that can capture any evidence you might wanna and interrogate the parties involved so similar to the spectra is an error message clicking through the cost I can write would only directly to the function of mission and and however because we are frozen time the more we can be and you can probably see it entirely variable there and because were frozen in time you can use the consul to basically tried people getting the value that might be in scope and time at that point in time so here we can see at the problem use the employees called wave is drill centered false but his exercises and defined so they generally believed this to be a real missile threat so how can is exercises and you find areas of the Bulls up and to find out whether we go up 1 level and I looks like the promised the coworker forgot to pass the optional silicon fixed up pretty easily and after rain test everything is green and so like a good to go but it's not good enough well we can actually go up 1 level further than that's if we go 1 more frame will see that this is really a bargain supervisory like why are don't you separate options for instrument is excites we should br just fix a supervisor so isn't go off-script in past 2 conflicting things in the critical moment like this with that we have and eliminate some unnecessary code and entangle some of the spaghetti for future readers so we fix of part we learn to read error messages we learned to understand the actress we learned to freeze time when exceptions are happening and that that the severity go up and down the stack to find a problem moles of poly though we to and we learn that debugging is not just about fixing immediate problem need to dig through the different layers you find out to find a real cost and sometimes I mean doing some refactoring to some refactoring upstream to prevent similar errors from ever happening again all so on and and and was quite a lot of again so it could be deliberate let me telling a story this I want to go back to 2003
on January 16 2003 the Columbia station really come home after spending 15 days on mission orbit
sadly they never made it on the orbiter this and it this integrated completely drained re-entry killing all 7 crew members on board so what happened here I it if you are able to freeze time in this a few critical minutes you will notice that there is some a pretty big hole on the left wing so that's why this and this and a great because it overheated when I when it was on during re-entry but this is only half of the story the critical reasons why the critical questions why is there a hole on the left wing of an orbiter in the 1st place well unfortunately the ability to free Simon help year from the events that led to the failure was actually happened actually happened much earlier intensive draining the Longchamp uniform broke off hitting the left ring hitting left-wing at very high speed leaving a hole behind and these new problems where the cross happening much early frame then the eventual failure is very common in both the real world and in software in the how incident we knew that this surprising tentative from a drill that or on the other hand so we know to look for the problem somewhere in between those 2 points in time as we explain the spectra is this league a you moment in time snapshot of the explosion which is represented on the right hand side here but in this case instead of looking just just looking at the very last moment but we need to look at the whole timeline of mission to figure this out now we know that would then have a hole in the space shuttle before launched at which had and we know that there was already home before the re-entry so the answer must lie somewhere in between these 2 points in time instead of going up and down the stack and we need a way to go back and forth in time in this case and unfortunately traveling time traveling is actually quite difficult but what we can do is freeze time in some of the key moments in the timeline and inspect them individually this is slumbered points to you can add 4 points to the goal by using the
by the statement which some of you have probably already family with I wanna brown encounter 1 of these diverse domains it will Paulse execution giving a chance to inspect everything in we're currently pulse and the time just before the launch status check just like when we were calls on exception you can navigate up and down the stack and inspecting the variables that are in scope but there's 1 additional thing in here you can go forward and playing in a very precisely controlled manner step over about and let you go off on time 1 and time and despite the pretty rude name of it is usually pretty good because try to keep you in the current stack frame so you won't feel the from this oriented so click and I will advanced time once they minimum time so you can't function in this case it will perform as their shack a different team in the Mission Control retirement at about the so far so good as we learned sometimes we need to go deeper than that and so here would cost right before we pull the fight the flight director for and go and and go organization but whatever we don't wanna just take their word for it What if we want to double check make doing the job correct that's where the Step Into button comes in handy instead just calling the function going over the next line it brings it into the implementation of the function western side everything works exactly the same way of thinking going forward once in a timely and keep going deeper everyone and in this case happy with 1 see what I have seen here so as I don't need to micromanage them any longer on in which case you can use those that out but which for Canadians I thought had read of but naming aside the it does what you would expect if you it will go keep going forward in time and so you have returned after information back to produce that kind so and we use what was the pioneer so if you think interest the rest of the teams in just like the several function again and I will be back to them will back the back will be put back in the previous stack so and finally where that inspecting the current time frame the recent button will events time until the next breakpoint of you of 1 so at this point a rally thinking yes
so few invincible I can be like anything else so can't wait to try those Member up well before a let you often go the idea of a few warnings for you remember I run it at the beginning when I said the body experience in Anbar can sometimes be less than amazing well I'm gonna tell you what the problems are wide x is and what you can do about them so the 1st this and
they're usually a lot of things in the cost that in America so this is my belief is screenshot from skylight them so part of the Brown what part part of the reason is that Amber is doing a lot of like work for you like managing run loop or so so by the time you're a hold the hope that implemented is called there are already a million things in the stack and if nothing else is that this makes everything feel but overwhelmed the other part is that you will often be going through a lot of Member abstractions in a number of that is intended to make your life the user when they're working properly such as this underscore CA so if you try to step into this what do you end up inside the amber of super wrapper function as call instead of where you probably wanted witches from the the implementation is inherited from superclass right so Of course of it if you keep step in from like this this was not magic so as you keep stepping you will eventually end up in the place you wanted but you would have to 1st understand how you got here in the 1st place in like the longer you're looking at so would be nice if you don't have to do that to solve this problem you can use the framework like moths and feature the user with the easiest way to do this just right click on any frame to you don't want to see and you can like like off-script and as you can see it go away from so it's hidden from you in the cost I can right-hand side but want for only now when you try to step into work you end up in the directly inside the server class implementation instead of going through the this stuff underscore super-ripe so essentially you can label any code that is part of amber and treat them sort of like native code and the browser don't really need to look at the implementation because you so generally you can assessing that the work if you don't want to like authoring and 1 by 1 alternatively you can also I'm going to the developer to settings and black box entire vendor Duchess file and with that 7 years everything in Europe from Member other dependencies where they come from CAM or other sources will be hidden away from the sector is from that source from the cost I can write the you can see that in in this is all we have left this code we have written in our application and that even that inside of 1 screen it's worth of space so that's pretty and a word of caution though a lot of time ignoring the whole mentor file might end up highland too much stuff that you might actually want to see in particular you might want to look at and implementation of some errands or sometimes if you have a Paulson exception turn on an exception happens inside the black box code like maybe an EMBA on here it isn't pulsed correctly so it probably takes some tweaking to find the the settings that work best for your fatigue black box and the vendor file is certainly a pretty good starting point in OK on to the 2nd problem with the body member of this is essentially the same kind of problem as we encounter in the Colombia shuttle from where the real costs and a weirdo will cost and its effect is very very far apart as we saw earlier sometime like boxing our help so that the Antony if you can see that but you can see at the
bottom of the bottom frame is basically the model an application round and like layers even including code to under seal Aliza's inductive so that's pretty neat but sometimes the browser could never figured out for you for example you might have loaded some data in Europe parent drought and now you didn't notice that we have about in Europe the adapter so like it's not until way later when you try to access the data in Europe in a child rather do you notice that there's an error or maybe there's not even error there's of blank screen of nothing as far as the browser's concerned those are completely separated events so that it would be pretty hard for the browser to untie them together for you and arguably this promise not really unique to Amber and that is certainly is very common in Member of because of the way we tend to do the and the way we tend to do things a member in this case you basically have to remember tricks we learn from the Columbia Special example and visibly dropped in break points and spread stretchy times to investigate the situation in summary could you should try to ask yourself what that I expect the code to you and I can I find point in time where it was still behaving correctly and on from there you can use the when did start diverging from your expectation and that from there you can use you can use the tools that we we'd learned here too narrow and and find would cost what your problem finally I will use remaining time by which I mean the 1st 5 minutes of this separate to show you an assortment of tips and tricks that may help you manage and I'm going to go through these very quickly so don't feel better you can fall on you know as we watched this part when you when you're working out when you run into problems so Madrid some water and the ego so the wrong grid points so however and
finally isn't the worst thing is new but you know you can also at them directly from the developer tools with all editing and saving and reloading you just click on the line number and then the to remove it just click it again now you can't even turn it into a commission point by right clicking on it and select Ediborah point and for example you can turn this into a conditional breakpoint only trigger when the status is not 200 so when you have an error from the server you attribute is required otherwise it would just go through and for comparison this is the equivalent code that you would have written in your goal for the unseen effect in final you can also Cédric point and that triggers whenever you ever tried to do any Ajax requests or you can scope more nearly by matching sir neural also in this case I matches to we artisans reductive and so it triggered the requirement and abstract along the user profile CSO continuation so that's the requirement of a function
you want to fast-forward to men of it you can just keep pressing on step over but we also just defray click on line and so it continued adhering to just do exactly that sometimes you may have the opposite problem where you have a debugger statement in the for loop that history going too many times because you be going through the bigger you can right click and select Never pulse here or alternatively you can take on the received and you can sorry and click and hold on reason but in an impressive playbook that which will ignore points and go although it again some we got
functions so you might have a lot of
Council lot statements in Europe their previous over dividing but maybe you don't want to ship them to production where there was spend customers consul so you know that provide you don't function from the slash about package and the nice thing about them is they are strict in the production notes so you won't have to worry about the the noise of the produce but also they will increase the file size of afterward it will slow down you have a reading any Inst expensive inspection inside the message although along those lines we also use the a search function that is pretty useful for verifying some assumptions that you might have made in your code which can often help you catch bugs before to become a problem if nothing else it is a pretty good way to communicate to your readers that you expect certain things to be true all the time time they also spread from the production build so you can sprinkle them in pre liberally without worrying about performance or file size except finally and complaints and dividing them with a new and did you know that there is also a debugger statement and using had a box that would bring the and the jobs are of the order so you can just like a real debugger what's so from there you can you can access to your block grams or of your contact objects circus nuts for in separately you probably already know about number inspectors but know that entire seated bellybutton click on it and will send object choose the consul in the dollar the global variables so you can play around with it and that by the way well you hear from I see a function in the consolation right click and show is that the issue function of national bring you directly to sort but this is pretty handy if you have something like that actions hash where you're trying to figure out where the functions are coming from and also by the way you have soft maps and you can do Comanche see your foot Perlik entropion windows and you start having a file name and it would open up the the file you want like you can do for example Comanche and type of routs sludge application and would generally during
in and in over in the Elements panel similar to Inspector every time you select an element it will go to the dollar 0 or global variables so you can also play around it and the Council Union and also recommend to trigger of things like covers data-focused it would or which are generally quite tricky to reproduce when you're debugging and consequently can on use 1 hand to cover and type in the same time so this will come in handy but in finally last thing you can to cite an element and so the breakpoint on it so that every time that element is updated in a way that will put you in a jar as a report this is pretty handy for debugging rendering problem where embers adding or removing news so actually I didn't expect and you know where they come from you what triggered it so yeah you can hear so we use this to set breakpoints so you will have the opportunity to investigate that in that and this man talk and I
hope that no matter where you are in your debugging journey that you will feel more empowered in some way after talk enough because melting and I think the body is 1 of the most important programming skills you can learn and that is not often talked about enough so once you have mastered by your own code that you can start peeling away the black box by stepping into adequate into the source code book of libraries that depend on to understand how the work and from there fixing bugs science and import was to these libraries or even itself is only a small but what and that's how I personally started contributing to open-source and maybe 1 day can be used to so that's it thank you very much this fact
then defending this is you need
to know in the
Offene Menge
App <Programm>
Punkt
Gemeinsamer Speicher
Open Source
Gruppenkeim
Snake <Bildverarbeitung>
Abgeschlossene Menge
Biprodukt
Skalarfeld
Quick-Sort
Internetworking
Eins
Videokonferenz
Binder <Informatik>
Hilfesystem
Stellenring
Momentenproblem
Browser
Gesetz <Physik>
Service provider
Homepage
Gradient
Deskriptive Statistik
Statistische Analyse
Computersicherheit
Gerade
Regulator <Mathematik>
Verschiebungsoperator
Softwaretest
Sichtenkonzept
Kategorie <Mathematik>
Wurm <Informatik>
Ausnahmebehandlung
Bitrate
Arbeitsplatzcomputer
Lemma <Logik>
Rechter Winkel
Zellularer Automat
Ablöseblase
Programmierumgebung
Fehlermeldung
Lesen <Datenverarbeitung>
Spielkonsole
Mathematisierung
Systemzusammenbruch
Polygon
Open Source
Service provider
Quellcode
Erwartungswert
Bildschirmmaske
Weg <Topologie>
Reelle Zahl
Datennetz
Programmbibliothek
Verband <Mathematik>
Normalvektor
Default
Indexberechnung
Elektronische Publikation
Kommandosprache
Wort <Informatik>
Eigentliche Abbildung
Resultante
Bit
Punkt
Konfiguration <Informatik>
Computer
Inzidenzalgebra
Eins
Übergang
Datenmanagement
Prozess <Informatik>
Kommandosprache
Minimum
Figurierte Zahl
Lineares Funktional
Element <Gruppentheorie>
Systemaufruf
Quellcode
Konfiguration <Informatik>
Verkettung <Informatik>
Dateiformat
Kategorie <Mathematik>
Information
Refactoring
Message-Passing
Ebene
Telekommunikation
Web Site
Rahmenproblem
Ausnahmebehandlung
Wellenlehre
Gruppenoperation
Gefrieren
Zahlenbereich
Nichtlinearer Operator
ROM <Informatik>
Code
Task
Datensatz
Software
Arbeitsplatzcomputer
Softwareentwickler
Ereignishorizont
Touchscreen
Trennungsaxiom
Fehlermeldung
Einfache Genauigkeit
Physikalisches System
Quick-Sort
Flächeninhalt
Mereologie
Ruhmasse
Verkehrsinformation
Stab
Caching
Punkt
Freeware
Momentenproblem
Rahmenproblem
VHDSL
Orbit <Mathematik>
Inzidenzalgebra
Ereignishorizont
Rahmenproblem
Unterring
Kommandosprache
Reelle Zahl
Rechter Winkel
Software
Kommandosprache
Uniforme Struktur
Arbeitsplatzcomputer
Hilfesystem
Stellenring
Punkt
Ausnahmebehandlung
Rahmenproblem
Selbst organisierendes System
Spielkonsole
Familie <Mathematik>
Implementierung
Bildschirmfenster
ROM <Informatik>
Wurm <Informatik>
Systemprogrammierung
Quellcode
Physikalisches System
Variable
Domain-Name
Digital Object Identifier
Softwaretest
Puls <Technik>
Prozess <Informatik>
Datennetz
Computersicherheit
Gerade
Physikalischer Effekt
Lineares Funktional
Fehlermeldung
Befehl <Informatik>
Synchronisierung
Prozess <Informatik>
Element <Gruppentheorie>
Systemaufruf
Strömungsrichtung
Ausnahmebehandlung
Hochdruck
Systemaufruf
Ereignishorizont
Konstruktor <Informatik>
Sinusfunktion
Orbit <Mathematik>
COM
Rechter Winkel
Phasenumwandlung
Ruhmasse
Wort <Informatik>
Information
Simulation
Chipkarte
Offene Menge
Krümmung
Punkt
Statistische Schlussweise
Browser
Kartesische Koordinaten
Maschinensprache
Extrempunkt
Raum-Zeit
Minimum
Computersicherheit
Kontrollstruktur
Schwarzer Strahler
Lineares Funktional
Synchronisierung
Abstraktionsebene
Element <Gruppentheorie>
Systemaufruf
Debugging
Ausnahmebehandlung
Quellcode
Digitalfilter
Framework <Informatik>
Funktion <Mathematik>
Menge
Einheit <Mathematik>
Rechter Winkel
Server
Fehlermeldung
Rahmenproblem
Wasserdampftafel
Spielkonsole
Klasse <Mathematik>
Zahlenbereich
Implementierung
Unrundheit
E-Mail
ROM <Informatik>
Wrapper <Programmierung>
Code
Framework <Informatik>
Wurm <Informatik>
Open Source
Loop
Quellcode
Informationsmodellierung
Informationsüberlastung
Datennetz
Wrapper <Programmierung>
Vererbungshierarchie
Skript <Programm>
Softwareentwickler
Ganze Funktion
Touchscreen
Soundverarbeitung
Autorisierung
Drucksondierung
Videospiel
Fehlermeldung
Vererbungshierarchie
Datenmodell
Objektklasse
Elektronische Publikation
Hochdruck
Gerade
Quick-Sort
Endogene Variable
Keller <Informatik>
Datensatz
Mereologie
Wort <Informatik>
Mereologie
Punkt
Puls <Technik>
Softwaretest
Trennschärfe <Statistik>
Computersicherheit
Analytische Fortsetzung
Gerade
Benutzerprofil
Kartesische Koordinaten
Lineares Funktional
Befehl <Informatik>
Synchronisierung
Abstraktionsebene
Element <Gruppentheorie>
Debugging
Gesetz <Physik>
Gesetz <Mathematik>
Spannweite <Stochastik>
Gruppenkeim
Rechter Winkel
COM
Server
Simulation
Fehlermeldung
Ausnahmebehandlung
Kontrollstruktur
Spielkonsole
Kreisring
Zahlenbereich
Nichtlinearer Operator
E-Mail
ROM <Informatik>
Code
Wiederherstellung <Informatik>
Wurm <Informatik>
Service provider
Physikalisches System
Quellcode
Loop
Open Source
Datennetz
Skript <Programm>
Softwareentwickler
Ereignishorizont
Normalvektor
URL
Fehlermeldung
Datenmodell
Paarvergleich
Gerade
Keller <Informatik>
Schlussregel
Debugging
Stab
Term
Quader
Spielkonsole
App <Programm>
Gruppenoperation
Geräusch
Zahlenbereich
Kartesische Koordinaten
E-Mail
ROM <Informatik>
Template
Code
Open Source
Quellcode
Komponente <Software>
Variable
Prozess <Informatik>
Reelle Zahl
Datennetz
Bildschirmfenster
Datentyp
Computersicherheit
Spielkonsole
Gerade
Lineares Funktional
Befehl <Informatik>
Default
Element <Gruppentheorie>
Datenmodell
Farbverwaltungssystem
Routing
p-Block
Objektklasse
Elektronische Publikation
Biprodukt
Variable
Menge
Quick-Sort
Programmfehler
Mapping <Computergraphik>
Objekt <Kategorie>
Funktion <Mathematik>
Verschlingung
Rechter Winkel
Debugging
Ordnung <Mathematik>
Element <Mathematik>
Spielkonsole
Gewichtete Summe
Element <Mathematik>
ROM <Informatik>
Code
Datensichtgerät
Überlagerung <Mathematik>
Quellcode
Variable
Wärmeausdehnung
Adressraum
Datennetz
Momentenproblem
Datentyp
Fokalpunkt
Programmbibliothek
Computersicherheit
Optimierung
Radius
Metropolitan area network
Gruppe <Mathematik>
Open Source
Default
Element <Gruppentheorie>
Mathematisierung
Übergang
Vorzeichen <Mathematik>
Quellcode
Unabhängige Menge
Programmfehler
Gesetz <Physik>
Endogene Variable
Gruppenkeim
Verschlingung
Gerade Zahl
Attributierte Grammatik
Sigma-Algebra
Innerer Punkt
Verkehrsinformation
Mittelwert
Datentyp
COM
Binder <Informatik>
Quadratzahl
p-Block

Metadaten

Formale Metadaten

Titel Prying Open the Black Box
Serientitel EmberConf 2018
Autor Chan, Godfrey
Lizenz CC-Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen 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 und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben.
DOI 10.5446/35696
Herausgeber Confreaks, LLC
Erscheinungsjahr 2018
Sprache Englisch
Produzent Confreaks, LLC
Produktionsjahr 2018

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract When your code doesn't work the way you expect, it could be a frustrating exercise to figure out what exactly went wrong. In this session, we will walk through the process of debugging an Ember app. Along the way, we will learn about some of the tools and techniques that could help shed light on the behavior of our code. Finally, we will also take a brief tour into the Ember codebase to look for clues. Upon completing this orientation, you will be well-equipped to pry open the mysterious black box the next time your app misbehaves!

Ähnliche Filme

Loading...
Feedback