హోమ్ అభివృద్ధి వేగవంతమైన ప్రతిస్పందన: డేటాబేస్ డీబగ్గింగ్ మరియు ప్రొఫైలింగ్ రెస్క్యూ

వేగవంతమైన ప్రతిస్పందన: డేటాబేస్ డీబగ్గింగ్ మరియు ప్రొఫైలింగ్ రెస్క్యూ

Anonim

టెకోపీడియా సిబ్బంది, మార్చి 15, 2017

టేకావే: హోస్ట్ ఎరిక్ కవనాగ్ డేటాబేస్ డీబగ్గింగ్ మరియు ప్రొఫైలింగ్ గురించి డాక్టర్ రాబిన్ బ్లూర్, డెజ్ బ్లాంచ్ఫీల్డ్ మరియు ఐడిఇఆర్ఎ యొక్క బెర్ట్ స్కాల్జోతో చర్చించారు.

మీరు ప్రస్తుతం లాగిన్ కాలేదు. దయచేసి వీడియోను చూడటానికి లాగిన్ అవ్వండి లేదా సైన్ అప్ చేయండి.

ఎరిక్ కవనాగ్: సరే, లేడీస్ అండ్ జెంటిల్మెన్, ఇది బుధవారం 4:00 తూర్పు సమయం, మరియు వాస్తవానికి దీని అర్థం.

రాబిన్ బ్లూర్: ఎరిక్, మీ మాట వినలేరు.

ఎరిక్ కవనాగ్: నేను రోజుల క్రితం అక్కడ ఉన్నాను, కాబట్టి మీరు ఒంటరిగా లేరు. కానీ ఈ రోజు అంశం నిజంగా ఆసక్తికరమైన విషయం. ఇది మీ కంపెనీ నేపథ్యంలో జరుగుతోందని మీరు నిర్ధారించుకోవాలనుకునే రకం, మీరు దీన్ని చేస్తున్న వ్యక్తి తప్ప, ఈ సందర్భంలో మీరు దీన్ని సరిగ్గా చేస్తున్నారని నిర్ధారించుకోవాలి. ఎందుకంటే మేము డీబగ్గింగ్ గురించి మాట్లాడుతున్నాము. ఎవ్వరూ దోషాలను ఇష్టపడరు, సాఫ్ట్‌వేర్ పనిచేయడం ఆగిపోయినప్పుడు ఎవరూ ఇష్టపడరు - ప్రజలు కలత చెందుతారు, వినియోగదారులు స్నేహపూర్వకంగా ఉంటారు. అది మంచిది కాదు. కాబట్టి, మేము "రాపిడ్ రెస్పాన్స్: డేటాబేస్ డీబగ్గింగ్ మరియు ప్రొఫైలింగ్ టు ది రెస్క్యూ" గురించి మాట్లాడబోతున్నాం.

మీ గురించి నిజంగా ఒక స్థానం ఉంది, నన్ను ట్విట్టర్‌లో నొక్కండి, @eric_kavanagh.

ఈ సంవత్సరం వేడిగా ఉంది. మరియు డీబగ్గింగ్ వేడిగా ఉంటుంది, ఏమైనప్పటికీ. ఇది నిజంగా ఈ సమస్యలలో ఒకటిగా ఉండబోతోంది, ఈ విషయం వద్ద మనం ఎంత మంచివారైనా సరే, ఎల్లప్పుడూ సమస్యలు ఉండబోతున్నాయి, కాబట్టి మీరు ఆ సమస్యలను త్వరగా పరిష్కరించగల చోటికి ఎలా చేరుకుంటారు? ఆదర్శవంతంగా, మీకు గొప్ప ప్రోగ్రామర్లు, గొప్ప వాతావరణాలు ఉన్నాయి, ఇక్కడ చాలా తప్పు జరగదు, కాని పాత సామెత ప్రకారం, “ప్రమాదాలు ఉత్తమమైన కుటుంబాలలో జరుగుతాయి.” మరియు సంస్థలకు కూడా ఇది వర్తిస్తుంది. కాబట్టి, ఈ విషయం జరుగుతుంది, ఇది జరగబోతోంది, దానితో వ్యవహరించడానికి మరియు ఆ సమస్యలను పరిష్కరించడానికి మీ పరిష్కారం ఏమిటి?

మేము డాక్టర్ రాబిన్ బ్లూర్ నుండి వింటాము, అప్పుడు మా స్వంత డెజ్ బ్లాంచ్ఫీల్డ్ కింద నుండి, మరియు మా మంచి స్నేహితుడు బెర్ట్ స్కాల్జో, IDERA నుండి. వాస్తవానికి, నేను రాబిన్ బ్లూర్‌కు కీలను అప్పగించబోతున్నాను, దాన్ని తీసివేయండి. నేల మీదే.

రాబిన్ బ్లూర్: సరే. ఇది ఆసక్తికరమైన అంశం. డీబ్ డీబగ్గింగ్ గురించి వాస్తవ పద్ధతులు మరియు యుద్ధ కథల గురించి డెజ్ వెళ్ళబోతున్నాడని నేను అనుకున్నాను, నేను నేపథ్య చర్చ చేయాలనుకుంటున్నాను, తద్వారా ఏమి జరుగుతుందో పూర్తిగా గుండ్రంగా ఉన్న చిత్రాన్ని పొందాలి. నేను చాలా కాలం ఇలా చేసాను, నేను కోడర్‌గా ఉండేవాడిని, కాబట్టి ఇది ఇలా ఉంది మరియు ఓపెన్ సోర్స్ ఆలోచన గురించి లిరికల్ వాక్సింగ్ ప్రారంభించడానికి ఈ ప్రదర్శనతో నేను దాదాపుగా శోదించాను, కాని నేను దానిని వేరొకరికి వదిలివేస్తానని అనుకున్నాను.

ఇక్కడ ప్రసిద్ధ దోషాల జాబితా ఉంది, మరియు వీటిలో చాలావరకు ఎవరి అగ్ర జాబితాలోకి వస్తాయి, ప్రాథమికంగా, చివరి రెండు ఖర్చులు మినహా మిగిలినవి కనీసం million 100 మిలియన్లు. మొదటిది మార్స్ క్లైమేట్ ఆర్బిటర్, అంతరిక్షంలో కోల్పోయింది మరియు ఇది కోడింగ్ సమస్య కారణంగా ఉంది, ఇక్కడ ప్రజలు మెట్రిక్ యూనిట్లను (నవ్వుతూ) అడుగులు మరియు అంగుళాలతో గందరగోళపరిచారు. అరియాన్ ఫైవ్ ఫ్లైట్ 501 లో ఉంచిన ఇంజిన్ మరియు రాకెట్ ప్రయోగించినప్పుడు నడుస్తున్న కంప్యూటర్ల మధ్య అసమతుల్యత ఉంది. బహుళ కంప్యూటర్ వైఫల్యాలు, పేలే రాకెట్, హెడ్‌లైన్ వార్తలు. 1982 లో సోవియట్ గ్యాస్ పైప్‌లైన్, గ్రహం చరిత్రలో అతిపెద్ద పేలుడు అని చెప్పబడింది; అది ఉందో లేదో నాకు తెలియదు. రష్యన్లు కొన్ని ఆటోమేటెడ్ కంట్రోల్ సాఫ్ట్‌వేర్‌ను దొంగిలించారు, మరియు వారు అలా చేయబోతున్నారని CIA గ్రహించి దానిలో దోషాలను ఉంచారు మరియు సోవియట్‌లు దీనిని పరీక్షించకుండా అమలు చేశారు. కాబట్టి, వినోదభరితంగా భావించి పైప్‌లైన్‌ను పేల్చివేశారు.

మోరిస్ వార్మ్ ఒక కోడింగ్ ప్రయోగం, ఇది అకస్మాత్తుగా ప్రతి ఒక్కరినీ చుట్టుముట్టిన ఒక క్రూరమైన పురుగుగా మారింది- ఇది స్పష్టంగా million 100 మిలియన్ల విలువైన నష్టాన్ని కలిగించింది; ఇది కోర్సు యొక్క అంచనా. ఇంటెల్ ఒక గణిత చిప్‌తో ఒక ప్రసిద్ధ లోపం చేసింది - 1993 లో పెంటియమ్ చిప్‌పై గణిత సూచన - దీనికి million 100 మిలియన్లు ఖర్చవుతుంది. ఆపిల్ యొక్క మ్యాప్స్ ప్రోగ్రామ్ ఆపిల్ ఇప్పటివరకు చేసిన ఏదైనా చెత్త మరియు వినాశకరమైన ప్రయోగం. దీన్ని ఉపయోగించటానికి ప్రయత్నించిన వ్యక్తులు, నా ఉద్దేశ్యం, ఎవరో 101 వెంట నడుపుతున్నారు, మరియు వారు శాన్ఫ్రాన్సిస్కో బే మధ్యలో ఉన్నారని ఆపిల్ మ్యాప్ చెప్పినట్లు కనుగొన్నారు. కాబట్టి, ప్రజలు ఆపిల్ మ్యాప్స్ అనువర్తనాన్ని ఐలోస్ట్ అని సూచించడం ప్రారంభించారు. 1990 లో మా పొడవైన అంతరాయం - అలాంటి వాటి ధరల కోణం నుండి ఇది చాలా ఆసక్తికరంగా ఉంది - AT&T సుమారు తొమ్మిది గంటలు ముగిసింది మరియు దీనికి సుదూర కాల్‌లకు 60 మిలియన్ డాలర్లు ఖర్చు అయ్యాయి.

నేను UK భీమా సంస్థలో ఉన్నాను, మరియు డేటాబేస్, వారు డేటాబేస్ యొక్క క్రొత్త సంస్కరణను అమలు చేసారు మరియు ఇది డేటాను తుడిచివేయడం ప్రారంభించింది. మరియు నేను చాలా బాగా గుర్తుంచుకున్నాను, ఎందుకంటే ఆ తరువాత డేటాబేస్ ఎంపికలో పాల్గొనడానికి నన్ను పిలిచారు. మరియు వారు డేటాబేస్ యొక్క క్రొత్త సంస్కరణను తీసుకున్నారని చాలా ఆసక్తికరంగా ఉంది మరియు డేటాబేస్ యొక్క క్రొత్త సంస్కరణల కోసం వారు చేసిన పరీక్షల బ్యాటరీ ఉంది, అది అన్ని పరీక్షలలో ఉత్తీర్ణత సాధించింది. ఇది డేటాను తుడిచిపెట్టడానికి నిజంగా అస్పష్టమైన మార్గాన్ని కనుగొంది.

కాబట్టి, ఏమైనప్పటికీ, అది అంతే. నేను ఇంపెడెన్స్ అసమతుల్యత మరియు SQL జారీ చేసిన దాని గురించి మాట్లాడాలని అనుకున్నాను. రిలేషనల్ డేటాబేస్లు పట్టికలలో డేటాను నిల్వ చేస్తాయి మరియు కోడర్లు ఆబ్జెక్ట్ స్ట్రక్చర్లలో డేటాను మానిప్యులేట్ చేస్తాయి, అవి పట్టికలకు బాగా మ్యాప్ చేయవు. మరియు ఆ కారణంగా, మీరు ఇంపెడెన్స్ అసమతుల్యత అని పిలుస్తారు, మరియు ఎవరైనా దానిని ఏదో ఒక విధంగా లేదా మరొక విధంగా పరిష్కరించుకోవాలి. వాస్తవానికి ఏమి జరుగుతుంది, ఎందుకంటే ఒక మోడల్, కోడర్ యొక్క మోడల్ మరియు డేటాబేస్ మరొక మోడల్, ప్రత్యేకంగా సమలేఖనం చేయబడవు. పరిశ్రమ కలిసి పనిచేసే విషయాలను నిర్మించినట్లయితే మీరు జరగని దోషాలు మీకు లభిస్తాయి, ఇది ఉల్లాసంగా ఉంటుందని నేను భావిస్తున్నాను. కాబట్టి, ప్రాథమికంగా, కోడర్‌ల వైపు, మీరు సోపానక్రమాలను పొందినప్పుడు అది రకాలు కావచ్చు, ఇది సెట్‌లను కలిగిస్తుంది, ఇది పేలవమైన API సామర్ధ్యం కావచ్చు, ఇది డేటాబేస్‌తో పరస్పర చర్యల పరంగా విషయాలను విసిరే చాలా విషయాలు కావచ్చు. కానీ నాకు చాలా ఆసక్తికరమైన విషయం, నిజంగా ఆసక్తికరంగా ఉంది; కోడర్‌లు మరియు డేటాబేస్ ఒకదానితో ఒకటి పనిచేసే విధంగా మీకు ఈ SQL అవరోధం ఉందని ఎల్లప్పుడూ నన్ను ఆశ్చర్యపరుస్తుంది. కాబట్టి, SQL కి డేటా గుర్తింపు ఉంది, ఇది మంచిది మరియు ఇది ఎంచుకోవడానికి, ప్రాజెక్ట్ చేయడానికి మరియు చేరడానికి DML ను కలిగి ఉంది, ఇది మంచిది. దానితో డేటాబేస్ నుండి డేటాను పొందే విషయంలో మీరు చాలా సామర్థ్యాన్ని విసిరివేయవచ్చు. కానీ పనులు చేయడానికి గణిత భాష చాలా తక్కువ. ఇది మరియు దానిలో కొంచెం ఉంది మరియు దీనికి చాలా తక్కువ సమయం ఆధారిత అంశాలు ఉన్నాయి. మరియు ఆ కారణంగా, SQL అసంపూర్ణమైనది, మీకు నచ్చితే, డేటాను పొందడం. కాబట్టి, డేటాబేస్ కుర్రాళ్ళు డేటాబేస్లో నివసించడానికి నిల్వ చేసిన విధానాలను నిర్మించారు మరియు అక్కడ నివసించిన నిల్వ విధానాలకు కారణం మీరు ఒక ప్రోగ్రామ్కు డేటాను ముందుకు వెనుకకు విసిరేయడం నిజంగా ఇష్టం లేదు.

కొన్ని కార్యాచరణలు చాలా డేటా నిర్దిష్టంగా ఉన్నాయి, కాబట్టి ఇది కేవలం రెఫరెన్షియల్ సమగ్రత మరియు క్యాస్కేడింగ్ తొలగింపులు మరియు అలాంటివి కాదు, డేటాబేస్ మీరు అకస్మాత్తుగా ఒక డేటాబేస్లో కార్యాచరణను పెడుతున్నారని జాగ్రత్త తీసుకుంటోంది, దీని అర్థం అనువర్తనం యొక్క కార్యాచరణను కోడర్ మరియు డేటాబేస్ మధ్య విభజించవచ్చు. మరియు అది కొన్ని రకాల ఫంక్షన్లను అమలు చేసే పనిని నిజంగా చాలా కష్టతరం చేసింది మరియు అందువల్ల మరింత లోపం సంభవించింది. కాబట్టి, ఇది డేటాబేస్ ఆట యొక్క ఒక వైపు, ఎందుకంటే మీరు ఉదాహరణకు చాలా అమలులో ఉన్నారని అర్థం, నేను రిలేషనల్ డేటాబేస్లలో పాలుపంచుకున్నాను, నిల్వ చేయబడిన విధానాలలో కూర్చున్న చాలా భయంకరమైన కోడ్ ఉంది. అనువర్తనాల్లో కూర్చున్న కోడ్ నుండి వేరుగా. మరియు ఇది చాలా విచిత్రమైన విషయం అనిపిస్తుంది, ఇది వివిధ పనులను చేయడంలో చాలా తెలివిగా ఉండాలి.

పనితీరు లోపాలు తరచుగా దోషాలుగా పరిగణించబడుతున్నందున నేను డేటాబేస్ పనితీరు గురించి కూడా మాట్లాడాలని అనుకున్నాను, కాని ప్రాథమికంగా మీరు CPU వద్ద, మెమరీ వద్ద, డిస్క్ వద్ద, నెట్‌వర్క్‌లో ఒక అడ్డంకిని కలిగి ఉంటారు మరియు లాకింగ్ కారణంగా మీరు పనితీరు సమస్యలను కలిగి ఉంటారు . కోడర్ నిజంగా పనితీరు గురించి ఆందోళన చెందాల్సిన అవసరం లేదు మరియు డేటాబేస్ వాస్తవానికి సహేతుకంగా బాగా పని చేస్తుంది. కోడర్ తెలుసుకోవలసిన అవసరం లేని విధంగా దీనిని రూపొందించాలి. అయినప్పటికీ, మీరు చెడ్డ డేటాబేస్ రూపకల్పనను పొందుతారు, మీకు చెడ్డ ప్రోగ్రామ్ డిజైన్ లభిస్తుంది, పనిభారం మిక్సింగ్‌లో మీకు సమ్మతి లభిస్తుంది, ఇది పనితీరు సమస్యలకు కూడా దారితీస్తుంది. మీరు లోడ్ బ్యాలెన్సింగ్ పొందుతారు, మీకు సామర్థ్య ప్రణాళిక, డేటా పెరుగుదల లభిస్తుంది - ఇది డేటాబేస్ ఆగిపోతుంది లేదా నెమ్మదిస్తుంది. ఇది ఒక ఆసక్తికరమైన విషయం, డేటాబేస్లు దాదాపుగా నిండినప్పుడు, అవి నెమ్మదిస్తాయి. మరియు మీరు ప్రతిరూపణ పరంగా మరియు ప్రతిరూపం చేయవలసిన అవసరం మరియు బ్యాకప్ మరియు రికవరీ చేయవలసిన అవసరాన్ని బట్టి డేటా పొరల సమస్యను కలిగి ఉండవచ్చు. ఏదేమైనా, ఇది సాధారణ అవలోకనం.

నేను చెప్పదలచిన ఏకైక విషయం ఏమిటంటే, డేటాబేస్ డీబగ్గింగ్ భారమైన మరియు చిన్నవిషయం కానిదిగా ఉంటుంది - మరియు నేను చాలా చేశాను కాబట్టి నేను చెప్తున్నాను - మరియు డీబగ్గింగ్ చేసే అన్ని పరిస్థితుల మాదిరిగానే నేను తరచుగా కనుగొంటాను ఎప్పుడూ అనుభవించినది, మీరు చూసిన మొదటి విషయం గందరగోళంగా ఉంది. మరియు మీరు గజిబిజి నుండి ఎలా వచ్చిందో తెలుసుకోవడానికి మీరు ప్రయత్నించాలి. మరియు తరచుగా మీరు డేటాబేస్ సమస్యను చూస్తున్నప్పుడు మీరు చూస్తున్నది అవినీతి డేటా మరియు మీరు "ఇది ఎలా జరిగింది?"

ఏదేమైనా, నేను డెజ్ వద్దకు వెళ్తాను, అతను నేను బయటకు వచ్చిన దానికంటే ఎక్కువ జ్ఞాన పదాలు చెప్పబోతున్నాను. మీకు బంతిని ఎలా పాస్ చేయాలో నాకు తెలియదు, డెజ్.

ఎరిక్ కవనాగ్: నేను దానిని పాస్ చేస్తాను, నిలబడండి, పట్టుకోండి.

స్వయంచాలక వాయిస్: పాల్గొనే పంక్తులు మ్యూట్ చేయబడ్డాయి.

ఎరిక్ కవనాగ్: సరే, ఒక సెకను వేలాడదీయండి, నేను డెజ్ బంతిని ఇస్తాను.

డెజ్ బ్లాంచ్ఫీల్డ్: ధన్యవాదాలు, ఎరిక్. అవును, డాక్టర్ రాబిన్ బ్లూర్, మీరు నిజంగా చాలా సరైనవారు: ఇది ఒక అంశం, మీరు శిక్షను క్షమించినట్లయితే జీవితకాల బగ్ బేర్, క్షమించండి నేను దానిపై నాకు సహాయం చేయలేకపోయాను. ఆశాజనక మీరు అక్కడ నా మొదటి స్క్రీన్‌ను చూడగలరని, ఎగువన ఉన్న ఫాంట్ సైజు సమస్యకు నా క్షమాపణలు. దోషాల అంశం నా అనుభవంలో చాలా సందర్భాల్లో పగటి ఉపన్యాసం. ఇది అంత విస్తృత మరియు విస్తృత అంశం, కాబట్టి నేను రెండు ముఖ్య రంగాలపై దృష్టి పెట్టబోతున్నాను, ప్రత్యేకంగా మనం చాలా బగ్‌గా భావించే భావన, కానీ ప్రోగ్రామింగ్ సమస్య. ఈ రోజుల్లో బగ్‌ను ప్రవేశపెట్టడం సాధారణంగా ఇంటిగ్రేటెడ్ డెవలప్‌మెంట్ ఎన్విరాన్‌మెంట్స్ చేత తీసుకోబడుతుందని నేను భావిస్తున్నాను, అయినప్పటికీ అవి దీర్ఘకాలిక దోషాలు కావచ్చు. కానీ తరచుగా ఇది ప్రొఫైలింగ్ కోడ్ యొక్క సందర్భం మరియు పనిచేసే కోడ్‌ను వ్రాయడం సాధ్యమవుతుంది, అది బగ్ అయి ఉండాలి. కాబట్టి, ఇక్కడ నా టైటిల్ స్లైడ్, వాస్తవానికి నేను చాలా ఎక్కువ రిజల్యూషన్ A3 లో దీని కాపీని కలిగి ఉన్నాను, కాని దురదృష్టవశాత్తు అది ఇంటి కదలికలో నాశనం అయింది. ఇది సిర్కా 1945 నుండి వచ్చిన ప్రోగ్రామింగ్ షీట్లో చేతితో రాసిన గమనిక, ఇక్కడ USA లోని హార్వర్డ్ విశ్వవిద్యాలయంలో కొంతమంది జానపదాలు, మార్క్ II అనే యంత్రాన్ని వారి రెండవ నిర్మాణం. వారు సాధారణ భాషలో ఏదో ఒక సమస్యను డీబగ్ చేస్తున్నారు, కాని వారు ఒక దోషాన్ని కనుగొనటానికి ప్రయత్నిస్తున్నారు, మరియు హార్డ్‌వేర్ మరియు సాఫ్ట్‌వేర్ ఇష్యూకు భిన్నంగా కొంచెం భిన్నంగా ఉందని తేలింది.

కాబట్టి, పట్టణ పురాణం ఏమిటంటే, సెప్టెంబర్ 9, 1945 లో హార్వర్డ్ విశ్వవిద్యాలయంలోని ఒక బృందం ఒక యంత్రాన్ని వేరుగా లాగుతోంది, వారు “రిలే డెబ్బై” అని పిలిచేదాన్ని చూశారు - ఆ రోజుల్లో ప్రోగ్రామింగ్ భౌతిక కోణంలో జరిగింది, మీరు కోడ్ గాయపడ్డారు ఒక బోర్డు చుట్టూ, మరియు మీరు యంత్రాన్ని ఎలా సమర్థవంతంగా ప్రోగ్రామ్ చేసారో - మరియు వారు ఈ రిలే సంఖ్య డెబ్బైలో ఏదో లోపం ఉందని వారు కనుగొన్నారు, మరియు ఇది "బగ్" అనే వాస్తవ పదం వచ్చింది ఎందుకంటే ఇది చాలా అక్షరాలా చిమ్మట - బహుశా అక్కడ ఒక చిమ్మట ఒక ప్రదేశం నుండి మరొక ప్రదేశానికి వెళ్లే రాగి తీగ ముక్కల మధ్య చీలిక. ఈ శీర్షికగా పురాణ గ్రేస్ హాప్పర్, నా టైటిల్ స్లైడ్ కోసం, “బగ్ కనుగొనబడిన మొదటి వాస్తవ కేసు” కోట్ కోట్.

రాబిన్ తన మొదటి స్లైడ్‌లో ఇంతకు ముందు హైలైట్ చేసినట్లుగా, బగ్ యొక్క భావన మానవులు కంప్యూట్ చేయడం, ప్యాచ్ వంటి భావనలు చేయడం మనం can హించేంతవరకు వెనుకకు వెళుతుంది. "ప్యాచ్" అనే పదం పంచ్ కార్డులోని రంధ్రం మీద టేప్ చేయబడిన వాస్తవమైన టేప్ నుండి వచ్చింది. కానీ దీని మొత్తం విషయం ఏమిటంటే, “డీబగ్గింగ్” అనే పదం భౌతిక యంత్రంలో బగ్‌ను కనుగొనే ఈ భావన నుండి వచ్చింది. అప్పటి నుండి, మేము ఆ పరిభాషను సమస్యలను పరిష్కరించడానికి ప్రయత్నిస్తున్నాము, కంపైల్ చేయని ప్రోగ్రామ్‌లో కోడింగ్ సమస్యలను అంతగా కాదు, కానీ బాగా అమలు చేయని ప్రోగ్రామ్‌గా. మరియు ప్రత్యేకంగా ప్రొఫైల్ చేయబడలేదు, ఎక్కడా వెళ్ళని ఎప్పటికీ అంతం లేని ఉచ్చులు వంటివి కనుగొనండి.

కానీ మనకు ఒక దృష్టాంతం కూడా ఉంది, నేను కొంచెం వివరంగా తెలుసుకునే ముందు కొన్ని ఫన్నీ స్లైడ్‌లను ఉంచాలని అనుకున్నాను. వెబ్‌లో ఎక్స్‌కెసిడి అని పిలువబడే క్లాసిక్ కార్టూన్ ఇక్కడ ఉంది మరియు కార్టూనిస్ట్‌కు ప్రపంచంలో కొన్ని అందమైన ఫన్నీ వీక్షణలు ఉన్నాయి. మరియు ఇది "లిటిల్ బాబీ టేబుల్స్" అని పిలువబడే పిల్లవాడి గురించి మరియు అతని తల్లిదండ్రులు ఈ యువకుడికి రాబర్ట్ అని పేరు పెట్టారు); టేబుల్ విద్యార్థులను వదలండి; - మరియు దీనిని "హాయ్, ఇది మీ కొడుకు పాఠశాల కొంత కంప్యూటర్ ఇబ్బంది కలిగి ఉంది" అని పిలుస్తారు మరియు తల్లిదండ్రులు "ఓ ప్రియమైన, అతను ఏదో విచ్ఛిన్నం చేశాడా?" అని సమాధానం ఇస్తాడు మరియు గురువు "సరే, ఒక విధంగా, ”మరియు గురువు అడుగుతుంది, “ మీరు నిజంగా మీ కొడుకుకు రాబర్ట్ అని పేరు పెట్టారా?); టేబుల్ విద్యార్థులను వదలండి; -? ”మరియు తల్లిదండ్రులు, “ ఓహ్, చిన్న బాబీ టేబుల్స్ మేము అతన్ని పిలుస్తాము ”అని అంటారు. ఏమైనప్పటికీ, వారు ఇప్పుడు సంవత్సరపు విద్యార్థి రికార్డులను కోల్పోయారని వారు చెబుతారు, మీరు సంతోషంగా ఉన్నారని నేను నమ్ముతున్నాను. మరియు ప్రతిస్పందన, “సరే, మీరు మీ డేటాబేస్ ఇన్పుట్లను శుభ్రపరచాలి మరియు శుభ్రపరచాలి.” మరియు కోడ్ లోని విషయాలను కనుగొనడంలో మనకు ఉన్న కొన్ని సమస్యల గురించి మాట్లాడటానికి నేను చాలాసార్లు ఉపయోగిస్తాను, తరచూ కోడ్ డేటాను చూడదు అలాగే.

ఇంకొక ఫన్నీ, ఇది నిజమో కాదో నాకు తెలియదు - ఇది ఒక స్పూఫ్ అని నేను అనుమానిస్తున్నాను - కాని మళ్ళీ, ఇది నా ఫన్నీ ఎముకను కూడా తాకుతుంది. ఎవరో తమ కారు ముందు భాగంలో ఉన్న లైసెన్స్ ప్లేట్‌ను మారుస్తున్నారు, ఇదే విధమైన స్టేట్‌మెంట్‌కు డేటాబేస్‌లు స్పీడ్ కెమెరాల్లో పడిపోతాయి మరియు కార్ల లైసెన్స్ ప్లేట్‌లను సంగ్రహిస్తాయి. ఏదైనా ప్రోగ్రామర్ వారి కోడ్‌ను అసలు మోటారు వాహనం ద్వారా hit హించగలడని నేను అనుమానించాను, కాని దానిని ఎప్పుడూ తక్కువ అంచనా వేయకండి - కోపంగా ఉన్న గీక్ యొక్క శక్తి.

(నవ్వులు)

కానీ ఇది నా ముఖ్య విషయానికి దారి తీస్తుంది, నేను ess హిస్తున్నాను, మరియు ఒకప్పుడు, మేము డీబగ్ మరియు ప్రొఫైల్ కోడ్‌ను కేవలం మనుషులుగా చేయగలము. కానీ ఆ సమయం గడిచిపోయిందని, మరియు నా అనుభవంలో, నా మొదటిది - మరియు ఇది నాకు భయంకరంగా ఉంటుంది, నాకు ఖచ్చితంగా తెలుసు; రాబిన్ దీని కోసం నన్ను సరదాగా చూసేందుకు మీకు స్వాగతం ఉంది - కాని చారిత్రాత్మకంగా నేను 14 సంవత్సరాల వయస్సులో పట్టణం చివరలో తిరుగుతూ, న్యూలోని “డేటా కామ్” అనే డేటా సెంటర్ తలుపు తట్టాను. ఆలస్యంగా బస్సును ఇంటికి తీసుకురావడం, ప్రతిరోజూ 25 కిలోమీటర్ల రాకపోకలు, ప్రింటర్లలో కాగితం ఉంచడం మరియు టేప్ డ్రైవ్‌లలో టేపులు వేయడం మరియు సాధారణ నిర్వాహకుడిగా ఉండటం ద్వారా నేను పాఠశాలలో పాకెట్ మనీ సంపాదించగలనా అని అడుగుతున్నాను. మరియు ఆసక్తికరంగా వారు నాకు ఉద్యోగం ఇచ్చారు. కానీ కాలక్రమేణా, నేను సిబ్బందిలోకి ప్రవేశించి ప్రోగ్రామర్‌లను కనుగొనగలిగాను మరియు నేను కోడింగ్‌ను ఇష్టపడుతున్నానని గ్రహించాను మరియు స్క్రిప్ట్‌లు మరియు బ్యాచ్ ఉద్యోగాలను అమలు చేసే ప్రక్రియ ద్వారా వెళ్ళాను, ఇది రోజు చివరిలో ఇప్పటికీ కోడ్. మీరు మినీ ప్రోగ్రామ్‌ల వలె కనిపించే స్క్రిప్ట్‌లు మరియు బ్యాచ్ ఉద్యోగాలను వ్రాయాలి, ఆపై 3270 టెర్మినల్ రైటింగ్ కోడ్‌లో చేతితో కూర్చోవడం మొత్తం ప్రక్రియ ద్వారా వెళ్ళాలి.

వాస్తవానికి, నా మొట్టమొదటి అనుభవం టెలిటైప్ టెర్మినల్‌లో ఉంది, వాస్తవానికి ఇది 132-కాలమ్ భౌతిక ప్రింటర్. ముఖ్యంగా, కాగితంతో స్క్రోల్ చేసిన చాలా పాత టైప్‌రైటర్ లాగా ఆలోచించండి, 'ఎందుకంటే వారికి CRT ట్యూబ్ లేదు. మరియు దానిపై కోడ్ డీబగ్గింగ్ చేయడం చాలా చిన్నవిషయం కాని సమస్య, కాబట్టి మీరు మీ కోడ్ మొత్తాన్ని చేతితో వ్రాసి, ఆపై టైపిస్ట్ లాగా వ్యవహరిస్తారు, లోపాలు దొంగతనంగా ఉండకుండా ఉండటానికి మీ వంతు కృషి చేస్తారు, ఎందుకంటే ఇది చెప్పడానికి చాలా నిరాశపరిచింది ఒక పంక్తి ఎడిటర్ ఒక నిర్దిష్ట పంక్తికి వెళ్లి, ఆపై పంక్తిని ముద్రించి, దాన్ని తిరిగి టైప్ చేయండి. కానీ ఒకప్పుడు, మేము కోడ్ ఎలా వ్రాసాము మరియు మేము డీబగ్ చేసాము, మరియు మేము చాలా మంచిగా ఉన్నాము. వాస్తవానికి, ఇది చాలా మంచి ప్రోగ్రామింగ్ పద్ధతులను కలిగి ఉండమని బలవంతం చేసింది, ఎందుకంటే దాన్ని పరిష్కరించడానికి ఇది నిజమైన ఇబ్బంది. కానీ ప్రయాణం అప్పుడు సాగింది - మరియు మనందరికీ ఇది బాగా తెలుసు - ఇది నా ప్రపంచంలో 3270 టెర్మినల్ అనుభవం నుండి, డిజిటల్ ఎక్విప్మెంట్ VT220 కి వెళ్ళింది, అక్కడ మీరు తెరపై విషయాలు చూడగలిగారు, కానీ మళ్ళీ, మీరు అదే పని చేస్తున్నారు మీరు కాగితపు టేప్ విధమైన ముద్రిత ఆకృతిని కేవలం CRT లో చేసారు, కానీ మీరు మరింత సులభంగా తొలగించగలిగారు మరియు మీకు ఆ “డిట్ డిట్ డిట్ డిట్” శబ్దం లేదు.

ఆపై మీకు తెలుసా, వైస్ టెర్మినల్స్ - వైస్ 150 లాగా, బహుశా కంప్యూటర్‌కి నా అభిమాన ఇంటర్‌ఫేస్ - ఆపై పిసి మరియు తరువాత మాక్, ఆపై ఈ రోజుల్లో వెబ్ ఆధారిత ఆధునిక జియుఐలు మరియు ఐడిలు. మరియు దాని ద్వారా అనేక రకాల ప్రోగ్రామ్‌లు, ఒకటి మరియు సమీకరించేవారు మరియు పైలట్ మరియు లోగో మరియు లిస్ప్ మరియు ఫోర్ట్రాన్ మరియు పాస్కల్ మరియు భాషలను ప్రోగ్రామింగ్ చేస్తారు. కానీ ఇవి మంచి కోడ్ రాయడానికి మిమ్మల్ని బలవంతం చేసిన భాషలు; చెడు పద్ధతుల నుండి బయటపడటానికి వారు మిమ్మల్ని అనుమతించలేదు. సి, సి ++, జావా, రూబీ, పైథాన్ - మరియు మేము ఆ ప్రోగ్రామింగ్ దశను మరింత పెంచుకుంటాము, మనకు ఎక్కువ స్క్రిప్ట్ లాంటిది లభిస్తుంది, స్ట్రక్చర్డ్ క్వరీ లాంగ్వేజ్ మరియు పిహెచ్‌పి వంటి భాషలకు దగ్గరగా మరియు దగ్గరగా, SQL ని ప్రారంభించడానికి ఉపయోగిస్తాము. మీకు చెప్పే విషయం ఏమిటంటే, నా నేపథ్యం నుండి వస్తున్నది, నేను చాలా విధాలుగా స్వీయ-నేర్పించాను మరియు నాకు నేర్చుకోవడంలో సహాయపడేవి, నాకు చాలా మంచి ప్రోగ్రామింగ్ అభ్యాసాలను నేర్పించాయి మరియు డిజైన్ మరియు ప్రక్రియల చుట్టూ చాలా మంచి అభ్యాసాలను నేర్పించాను. బగ్గీ కోడ్‌ను పరిచయం చేయండి.

ఈ రోజుల్లో ప్రోగ్రామింగ్ పద్ధతులు, ఉదాహరణకు, స్ట్రక్చర్డ్ క్వరీ లాంగ్వేజ్, SQL వంటివి, ఇది చాలా శక్తివంతమైన, సరళమైన ప్రశ్న భాష. కానీ మేము దానిని ప్రోగ్రామింగ్ లాంగ్వేజ్‌గా మార్చాము మరియు SQL ఎప్పుడూ ఆధునిక ప్రోగ్రామింగ్ లాంగ్వేజ్‌గా రూపొందించబడిందని నేను నిజంగా నమ్మను, కాని మేము దానిని అలా మార్చాము. మరియు ఇది మొత్తం సమస్యలను పరిచయం చేస్తుంది, 'మేము రెండు కోణాల నుండి ఆలోచించినప్పుడు కారణం: కోడింగ్ కోణం నుండి మరియు DBA దృక్కోణం నుండి. పేలవమైన ప్రోగ్రామింగ్ పద్ధతులు, కోడ్ రాయడంలో సోమరితనం ప్రయత్నాలు, అనుభవం లేకపోవడం, క్లాసిక్ పెంపుడు జంతువు వంటి వాటి కోసం దోషాలను పరిచయం చేయడం చాలా సులభం, ఉదాహరణకు SQL వ్యక్తులు గూగుల్‌లో దూకడం మరియు ఏదైనా వెతకడం మరియు వెబ్‌సైట్‌ను కనుగొనడం ఒక ఉదాహరణ వచ్చింది మరియు ఇప్పటికే ఉన్న కోడ్ యొక్క కాపీ మరియు పేస్ట్ చేయడం. ఆపై చెడ్డ కోడింగ్, దుర్వినియోగం మరియు దానిని ఉత్పత్తిలో ఉంచడం, ఎందుకంటే వారికి కావలసిన ఫలితాలను ఇవ్వడం జరుగుతుంది. మీకు ఇతర సవాళ్లు వచ్చాయి, ఉదాహరణకు, ఈ రోజుల్లో మనమందరం ఈ దిశగా పరుగెత్తుతున్నాము, మనం రేసును సున్నాకి పిలుస్తాము: ప్రతిదీ చాలా చౌకగా మరియు వేగంగా చేయడానికి ప్రయత్నిస్తున్నాము, మనకు తక్కువ ఉద్యోగం చేయని దృశ్యం ఉంది చెల్లించిన సిబ్బంది. మరియు నేను అస్పష్టమైన మార్గంలో కాదు, కానీ మేము ప్రతి పనికి నిపుణులను నియమించటం లేదు. ఒకప్పుడు కంప్యూటర్లతో ఏదైనా చేయాలంటే రాకెట్ సైన్స్; ఇది బ్యాంగ్ మరియు చాలా బిగ్గరగా ఉండే విషయాలలో పాల్గొంది, లేదా అంతరిక్షంలోకి వెళ్ళింది లేదా ఇంజనీర్లు భారీగా అర్హత కలిగిన పురుషులు మరియు మహిళలు డిగ్రీలు చేసిన మరియు కఠినమైన విద్యను కలిగి ఉన్నారు, వారు వెర్రి పనులు చేయకుండా ఉంచారు.

ఈ రోజుల్లో, అభివృద్ధి మరియు రూపకల్పన మరియు డేటాబేస్లో చాలా మంది జానపదాలు ఉన్నాయి, వీరికి సంవత్సరాల అనుభవం లేదు, తప్పనిసరిగా అదే శిక్షణ లేదా మద్దతు లేదు. కాబట్టి మీరు సాంప్రదాయ te త్సాహిక వర్సెస్ నిపుణుల దృశ్యంతో ముగుస్తుంది. మరియు ఒక ప్రసిద్ధ పంక్తి ఉంది, కోట్‌ను ఎవరు సృష్టించారో నాకు నిజంగా గుర్తులేదు, “ఈ పని చేయడానికి నిపుణుడిని నియమించడం ఖరీదైనదని మీరు అనుకుంటే, మీరు సమస్యను సృష్టించే ఇద్దరు te త్సాహికులను నియమించుకునే వరకు వేచి ఉండండి మరియు మీరు దానిని శుభ్రం చేయాలి. ”కాబట్టి SQL కి ఆ సమస్య ఉంది, మరియు ఇది నేర్చుకోవడం చాలా సులభం, ఉపయోగించడం చాలా సులభం. కానీ ఇది నా దృష్టిలో, ఖచ్చితమైన ప్రోగ్రామింగ్ భాష కాదు. ఎక్కడి నుంచైనా ఎంచుకున్న నక్షత్రం చేయడం మరియు మీరు PHP మరియు రూబీ లేదా పైథాన్ వంటి సౌకర్యవంతమైన ప్రోగ్రామింగ్ భాషలోకి లాగడం వంటి పనులు చేయడం చాలా సులభం, మరియు మీరు స్థానికంగా తెలిసిన ప్రోగ్రామింగ్ భాషను ఉపయోగించుకోండి. SQL లో మరింత క్లిష్టమైన ప్రశ్న చేయకుండా డేటా మానిప్యులేషన్. మరియు మేము దీన్ని చాలా చూస్తాము, ఆపై డేటాబేస్ ఎందుకు నెమ్మదిగా నడుస్తుందో ప్రజలు ఆశ్చర్యపోతారు; ఎందుకంటే ఒక మిలియన్ మంది ప్రజలు టికెట్ కొనుగోలు చేయడానికి ఆన్‌లైన్ టికెటింగ్ వ్యవస్థను ప్రయత్నిస్తున్నారు, ఇక్కడ అది ఎక్కడి నుంచైనా ఎంచుకున్న నక్షత్రం చేస్తుంది.

ఇప్పుడు, ఇది నిజంగా విపరీతమైన ఉదాహరణ, కానీ మీరు అన్నింటికీ పాయింట్ పొందుతారు. కాబట్టి, ఆ పాయింట్‌ను నిజంగా ఇంటికి గుద్దడానికి, ఇక్కడ నేను చాలా వరకు తీసుకువెళ్ళే ఉదాహరణ. నేను గణితానికి పెద్ద అభిమానిని, నేను గందరగోళ సిద్ధాంతాన్ని ప్రేమిస్తున్నాను, నేను మాండెల్బ్రోట్ సెట్లను ప్రేమిస్తున్నాను. కుడి వైపున మాండెల్ బ్రోట్ సెట్ యొక్క కూర్పు ఉంది, ఇది మనందరికీ తెలిసినదని నేను ఖచ్చితంగా అనుకుంటున్నాను. మరియు ఎడమ వైపున SQL యొక్క భాగం ఉంది, అది వాస్తవానికి దానిని అందిస్తుంది. ఇప్పుడు, నేను దీన్ని ఎక్కడో ఒక తెరపై ఉంచిన ప్రతిసారీ, “ఓహ్ మై గాడ్, ఎవరో మాండెల్ బ్రోట్ సిరీస్‌ను SQL తో అన్వయించారు, మీరు తీవ్రంగా ఉన్నారా? అది పిచ్చి! ”సరే, దాని మొత్తం విషయం ఏమిటంటే, నేను అక్కడ ఏమి వివరించాను, మరియు అవును, వాస్తవానికి మీరు ఇప్పుడు SQL లో ఏదైనా ప్రోగ్రామ్ చేయవచ్చు; ఇది చాలా భారీగా అభివృద్ధి చెందిన, శక్తివంతమైన, ఆధునిక ప్రోగ్రామింగ్ భాష. వాస్తవానికి ఇది ప్రశ్న భాష అయినప్పుడు, డేటాను పొందడానికి ఇది రూపొందించబడింది. కాబట్టి, ఇప్పుడు మనకు చాలా సంక్లిష్టమైన నిర్మాణాలు వచ్చాయి మరియు మనకు నిల్వ చేసిన విధానాలు వచ్చాయి, ప్రోగ్రామింగ్ పద్దతిని ఒక భాషకు వర్తింపజేయడం జరిగింది మరియు పేలవమైన ప్రోగ్రామింగ్ ప్రాక్టీస్, అనుభవం లేకపోవడం, కట్-అండ్-పేస్ట్ కోడ్, తక్కువ జీతం ఉన్న సిబ్బంది అధిక వేతనంతో పనిచేసే సిబ్బందిగా ఉండటానికి ప్రయత్నిస్తున్నారు, ప్రజలు తమకు తెలిసినట్లు నటిస్తున్నారు, కాని వారు ఉద్యోగంలో నేర్చుకోవాలి.

కోడ్ ప్రొఫైలింగ్ మరియు డీబగ్గింగ్ అని మేము సూచించే మొత్తం శ్రేణి, ఇది ప్రోగ్రామ్‌లను పని చేయకుండా ఆపే దోషాలను కనుగొనడం లేదు, కానీ వ్యవస్థను దెబ్బతీసే దోషాలు మరియు పేలవమైన నిర్మాణాత్మక కోడ్. మీరు ఇప్పుడు ఈ స్క్రీన్‌ను చూసినప్పుడు, అది ఒక రకమైన అందమైనది మరియు మీరు అనుకుంటున్నారు, “వావ్, ఎంత గొప్ప గ్రాఫిక్, నేను దీన్ని అమలు చేయాలనుకుంటున్నాను.” కానీ వ్యాపార లాజిక్ యొక్క కొంత భాగాన్ని నడుపుతున్నట్లు imagine హించుకోండి . ఇది చాలా చక్కగా కనిపిస్తుంది, కానీ ఇది గణితశాస్త్రపరంగా అన్వయించబడిన గందరగోళ సిద్ధాంతాన్ని మాట్లాడుతుంది, కానీ కొన్ని వ్యాపార తర్కంలో ఇది దేనికోసం ఉపయోగించవచ్చనే దాని గురించి మీరు ఆలోచించినప్పుడు, మీరు చిత్రాన్ని చాలా త్వరగా పొందుతారు. మరియు నిజంగా దానిని వివరించడానికి - మరియు క్షమించండి, రంగులు తారుమారయ్యాయి, ఇది నల్లని నేపథ్యం మరియు ఆకుపచ్చ వచనం ఆకుపచ్చ తెరగా ఉండాలి, కానీ మీరు ఇంకా చదవగలరు.

నేను నిజంగా వెర్రివాడిగా ఉండి, ఎటువంటి అనుభవం లేనట్లయితే మరియు ప్రోగ్రామింగ్ యొక్క వేరే నేపథ్యం నుండి వచ్చి, సి ++ యొక్క ఇష్టాలను SQL కి వర్తింపజేసాను, నా పాయింట్‌ను నిజంగా వివరించడానికి ముందు, మీరు చేయగలిగినదానికి ఒక ఉదాహరణను నేను చూశాను. నేను IDERA నుండి మా నేర్చుకున్న అతిథికి అప్పగిస్తాను. ఇది C ++ లాగా వ్రాయబడిన నిర్మాణాత్మక ప్రశ్న, కానీ ఇది SQL లో కోడ్ చేయబడింది. మరియు ఇది వాస్తవానికి అమలు చేస్తుంది, కానీ ఇది మూడు నుండి ఐదు నిమిషాల వ్యవధిలో అమలు చేస్తుంది. మరియు ఇది బహుళ డేటాబేస్ల నుండి ఒక పంక్తి డేటాను వెనక్కి లాగుతుంది, బహుళ కలుస్తుంది.

మళ్ళీ, దీని యొక్క మొత్తం విషయం ఏమిటంటే, మీకు సరైన సాధనాలు లేకపోతే, మీకు సరైన ప్లాట్‌ఫారమ్‌లు మరియు పరిసరాలు లేకపోతే ఈ వస్తువులను పట్టుకోగలుగుతారు, మరియు అవి ఉత్పత్తిలోకి వస్తాయి, ఆపై మీకు 100, 000 మంది ఉన్నారు ప్రతిరోజూ, గంట లేదా నిమిషం ఒక వ్యవస్థను కొట్టడం, అతి త్వరలో మీరు చెర్నోబిల్ అనుభవంతో ముగుస్తుంది, అక్కడ పెద్ద ఇనుము కరిగి గ్రహం యొక్క ప్రధాన భాగంలో పాతిపెట్టడం ప్రారంభమవుతుంది, ఎందుకంటే ఆ కోడ్ ముక్క ఎప్పుడూ ఉత్పత్తిలోకి రాకూడదు. మీ సిస్టమ్స్ మరియు మీ టూల్స్, నన్ను క్షమించండి, ఇది ఎక్కడైనా వెళ్ళే ముందు దాన్ని తీసుకోవాలి- పరీక్షా ప్రక్రియ ద్వారా కూడా, UAT మరియు సిస్టమ్స్ ఇంటిగ్రేషన్ ద్వారా కూడా, ఆ కోడ్ ముక్కను ఎంచుకొని హైలైట్ చేయాలి మరియు ఎవరైనా పక్కకు తీసుకురావాలి మరియు "చూడండి, ఇది నిజంగా చాలా అందమైన కోడ్, కానీ ఆ నిర్మాణాత్మక ప్రశ్నను సరిగ్గా నిర్మించడంలో మీకు సహాయపడటానికి DBA ని తీసుకుందాం, ఎందుకంటే స్పష్టంగా, ఇది చాలా దుష్టమైనది." మరియు URL అక్కడ ఉంది, మీరు వెళ్లి చూడవచ్చు - దీనిని సూచిస్తారు మీరు ఎప్పుడైనా వ్రాసిన చాలా క్లిష్టమైన SQL ప్రశ్న. 'నన్ను నమ్మండి, అది నిజంగా కంపైల్ చేస్తుంది, అది నడుస్తుంది. మరియు మీరు దానిని కత్తిరించి అతికించినట్లయితే మరియు డేటాబేస్ను అపహాస్యం చేస్తే, ఇది చూడటానికి చాలా విషయం; డేటాబేస్ చూడటానికి మీకు ఉపకరణాలు లభిస్తే, మూడు నుండి ఐదు నిమిషాల వ్యవధిలో ప్రయత్నించండి మరియు కరిగించండి, టెక్స్ట్ యొక్క ఒక లైన్ ఏమిటో తిరిగి కాల్ చేయండి.

కాబట్టి, సంగ్రహంగా చెప్పాలంటే, కోడింగ్‌లోని నా మొత్తం నేపథ్యం మీరు ప్రజలకు తుపాకీ ఇవ్వగలదని నాకు నేర్పించింది మరియు వారు జాగ్రత్తగా లేకపోతే వారు తమను తాము కాల్చుకుంటారు; భద్రతా విధానం ఎక్కడ ఉందో వారికి చూపించడమే ఉపాయం. మీ చేతివేళ్ల వద్ద సరైన సాధనాలు మరియు సరైన సాఫ్ట్‌వేర్‌తో, మీరు కోడింగ్ చేసిన తర్వాత, మీరు మీ కోడ్‌ను సమీక్షించవచ్చు, కోడ్‌ను ప్రొఫైల్ చేయడం ద్వారా మీరు సమస్యలను కనుగొనవచ్చు, పనితీరు సమస్యలు, మరియు నేను చెప్పినట్లుగా సమర్థవంతంగా అనుకోని దోషాలను కనుగొనవచ్చు. అంతకుముందు, ఒకప్పుడు, మీరు దీన్ని ఆకుపచ్చ తెరపై చూడవచ్చు. మీరు ఇక చేయలేరు; కొన్ని వందల వేల కోడ్‌లు ఉన్నాయి, పదివేల అనువర్తనాలు అమలు చేయబడ్డాయి, కొన్ని సందర్భాల్లో మిలియన్ల డేటాబేస్‌లు ఉన్నాయి మరియు సూపర్ మానవులు కూడా దీన్ని ఇకపై చేతితో చేయలేరు. మీ వేలికొనలకు మీకు సరైన సాఫ్ట్‌వేర్ మరియు సరైన సాధనాలు చాలా అవసరం మరియు మీకు ఆ సాధనాలను ఉపయోగించడం అవసరం, తద్వారా మీరు ఈ సమస్యలను కనుగొని, మీరు పాయింట్‌కు రాకముందే చాలా త్వరగా వాటిని పరిష్కరించవచ్చు, అయితే డాక్టర్. రాబిన్ బ్లూర్ హైలైట్ చేసారు, విషయాలు వినాశకరంగా మారతాయి మరియు విషయాలు పేల్చివేస్తాయి లేదా సాధారణంగా, అవి మీకు చాలా డాలర్లు మరియు చాలా సమయం మరియు కృషిని ఖర్చు చేయడం ప్రారంభిస్తాయి మరియు ధైర్యాన్ని మరియు వస్తువులను నాశనం చేస్తాయి, అవి ఎందుకు పని చేయలేవు అమలు చేయడానికి చాలా సమయం.

మరియు దానిని దృష్టిలో పెట్టుకుని, నేను మా అతిథికి అప్పగించబోతున్నాను మరియు వారు ఈ సమస్యను ఎలా పరిష్కరించారో వినడానికి నేను ఎదురుచూస్తున్నాను. మరియు ముఖ్యంగా డెమో నేను స్వీకరించబోతున్నానని అనుకుంటున్నాను. ఎరిక్, నేను తిరిగి వెళ్తాను.

ఎరిక్ కవనాగ్: సరే, బెర్ట్, దాన్ని తీసివేయండి.

బెర్ట్ స్కాల్జో: సరే, ధన్యవాదాలు. IDERA నుండి ఇక్కడ బెర్ట్ స్కాల్జో, నేను మా డేటాబేస్ సాధనాల కోసం ఉత్పత్తి నిర్వాహకుడిని. నేను డీబగ్గింగ్ గురించి మాట్లాడబోతున్నాను. రాబిన్ ఇంతకుముందు చెప్పిన అతి ముఖ్యమైన విషయాలలో ఒకటి నేను భావిస్తున్నాను - మరియు డీబగ్గింగ్ భారమైనది మరియు అల్పమైనది కాదు, మరియు మీరు డేటాబేస్ డీబగ్గింగ్కు వెళ్ళినప్పుడు ఇది మరింత భారమైన మరియు చిన్నవిషయం కాని క్రమం - కాబట్టి, ఒక ముఖ్యమైన కోట్.

అలాగే. నేను ప్రోగ్రామింగ్ చరిత్రతో ప్రారంభించాలనుకున్నాను, ఎందుకంటే డీబగ్గింగ్ చేయని వ్యక్తులను నేను చాలా సార్లు చూస్తాను, వారు డీబగ్గర్ను ఉపయోగించరు, వారు వాడుతున్న ఏ భాషతోనైనా ప్రోగ్రామ్ చేస్తారు మరియు చాలా సార్లు వారు నాకు చెబుతారు, “సరే, ఆ డీబగ్గర్ విషయాలు క్రొత్తవి, మరియు మేము ఇంకా వాటిని ఉపయోగించడం ప్రారంభించలేదు.” కాబట్టి నేను ఏమి చేస్తున్నానంటే నేను వారికి ఈ టైమ్‌లైన్ చార్ట్, పూర్వ చరిత్ర, వృద్ధాప్యం, మధ్య వయస్కులని చూపిస్తాను. ప్రోగ్రామింగ్ భాషల పరంగా మేము ఎక్కడ ఉన్నాము. అసెంబ్లీ కోడ్, మరియు లిస్ప్ మరియు ఫాక్ట్ మరియు కోబోల్‌తో 1951 లో ప్రారంభమైన చాలా పాత భాషలను కలిగి ఉన్నాము. అప్పుడు మేము తరువాతి సమూహంలోకి ప్రవేశిస్తాము, పాస్కల్స్ మరియు సిఎస్ మరియు తరువాత సమూహం, సి ++ లు, మరియు ఆ ప్రశ్న గుర్తు ఎక్కడ ఉందో చూడండి - ఆ ప్రశ్న గుర్తు 1978 నుండి 1980 వరకు ఉండవచ్చు. ఆ పరిధిలో ఎక్కడో మనకు ఉంది డీబగ్గర్లు మాకు అందుబాటులో ఉన్నాయి, మరియు "హే, నేను డీబగ్గర్ను ఉపయోగించడం లేదు, 'ఆ క్రొత్త విషయాలలో ఇది ఒకటి, ఎందుకంటే అప్పుడు మీరు ప్రోగ్రామింగ్ ప్రారంభించాలి, మీకు తెలుసా, 1950 లలో, ' కారణం అదే మీరు ఆ దావా నుండి తప్పించుకునే ఏకైక మార్గం.

ఇప్పుడు ఈ చార్ట్ గురించి ఫన్నీగా ఉన్న మరొక విషయం ఏమిటంటే, డెజ్ గ్రేస్ హాప్పర్ గురించి వ్యాఖ్యానించాడు, నాకు గ్రేస్ తెలుసు, కాబట్టి ఇది ఒక రకమైన ఫన్నీ. ఆపై నేను నవ్విన మరొక విషయం ఏమిటంటే అతను టెలిటైప్‌ల గురించి మాట్లాడాడు మరియు నేను అక్కడకు వెళుతున్నాను, “మనిషి, ఇది ఉత్పాదకతలో మనకు ఉన్న గొప్ప లీపు, మేము కార్డుల నుండి టెలిటైప్‌లకు వెళ్ళినప్పుడు, ఇది ఇప్పటివరకు అతిపెద్ద జంప్. ”కాబట్టి, నేను ఇంతకు ముందు ఎవ్వరూ వినని SNOBOL తో సహా ఇక్కడ ఉన్న అన్ని భాషలలో ప్రోగ్రామ్ చేసాను, ఇది ఒక CDC, కంట్రోల్ డేటా కార్పొరేషన్, కాబట్టి నేను ఈ పరిశ్రమకు కొంచెం పాతవాడిని .

డెజ్ బ్లాంచ్ఫీల్డ్: నేను చెప్పబోతున్నాను, మీరు అక్కడ మాకు భయంకరంగా ఉన్నారు.

బెర్ట్ స్కాల్జో: అవును, నేను మీకు చెప్తున్నాను, నేను తాత సింప్సన్ లాగా భావిస్తున్నాను. నేను డీబగ్గింగ్ వైపు చూస్తాను మరియు డీబగ్గింగ్ చేయడానికి వివిధ మార్గాలు ఉన్నాయి. సాంప్రదాయకంగా డీబగ్గర్లోకి ప్రవేశించడం మరియు కోడ్ ద్వారా అడుగు పెట్టడం వంటివి మనమందరం భావించే దాని గురించి మీరు మాట్లాడవచ్చు. కానీ, ప్రజలు వారి కోడ్‌ను వాయిద్యం చేస్తారు; అక్కడే మీరు మీ కోడ్‌లో స్టేట్‌మెంట్‌లను అంటుకుంటారు మరియు మీరు అవుట్‌పుట్ ఫైల్, ట్రేస్ ఫైల్ లేదా ఏదైనా ఉత్పత్తి చేయవచ్చు మరియు మీరు మీ కోడ్‌ను ఇన్స్ట్రుమెంట్ చేస్తారు. నేను దానిని డీబగ్గింగ్‌గా పరిగణిస్తాను, ఇది కొంచెం కష్టం, దీన్ని చేసే మార్గం, కానీ అది లెక్కించబడుతుంది. కానీ, మేము ప్రసిద్ధ ముద్రణ ప్రకటనను పొందాము: మీరు చూస్తారు మరియు ప్రజలు వాస్తవానికి ముద్రణ స్టేట్మెంట్లను ఉంచారు మరియు నేను నిజంగా ఒక సాధనాన్ని చూశాను - మరియు ఇది డేటాబేస్ సాధనం - డీబగ్గర్ను ఎలా ఉపయోగించాలో మీకు తెలియకపోతే, మీరు ఒక బటన్‌ను నొక్కండి మరియు అది మీ కోడ్‌లో మీ కోసం ప్రింట్ స్టేట్‌మెంట్‌లను అంటుకుంటుంది మరియు మీరు పూర్తి చేసిన తర్వాత మరొక బటన్‌ను నొక్కండి మరియు అది వాటిని తీసివేస్తుంది. ఎందుకంటే చాలా మంది డీబగ్ చేస్తారు.

మరియు మేము డీబగ్ చేయడానికి కారణం రెండు రెట్లు: మొదటగా, మన కోడ్ నిరుపయోగంగా ఉండే విషయాలను కనుగొనవలసి వచ్చింది. మరో మాటలో చెప్పాలంటే, సాధారణంగా దీని అర్థం లాజిక్ పొరపాటు లేదా మేము వ్యాపార అవసరాన్ని కోల్పోయాము, కానీ అది ఏమిటంటే, కోడ్ ప్రభావవంతంగా లేదు; ఇది మేము expected హించినట్లు చేయదు. ఇతర సమయం మేము వెళ్లి డీబగ్గింగ్ చేస్తాము, ఇది సామర్థ్యం కోసం మరియు అది ఒక లాజిక్ పొరపాటు కావచ్చు, కానీ అది ఏమిటంటే, నేను సరైన పని చేశాను, అది త్వరగా తిరిగి రాదు. ఇప్పుడు, నేను ఆ విషయాన్ని చెప్పాను ఎందుకంటే ఆ రెండవ దృష్టాంతంలో ప్రొఫైలర్ మంచిది మరియు మేము డీబగ్గర్లు మరియు ప్రొఫైలర్ల గురించి మాట్లాడబోతున్నాం. అదనంగా, రిమోట్ డీబగ్గింగ్ యొక్క ఈ భావన ఉంది; ఇది చాలా ముఖ్యం ఎందుకంటే మీరు మీ వ్యక్తిగత కంప్యూటర్‌లో కూర్చుని ఉంటే, మరియు మీరు డీబగ్గర్ను ఉపయోగిస్తున్నారు, అది డేటాబేస్ను తాకినప్పుడు, డేటాబేస్లో కోడ్ వాస్తవానికి అమలు చేయబడితే, మీరు రిమోట్ డీబగ్గింగ్ అని పిలుస్తారు. మీరు దానిని గ్రహించకపోవచ్చు, కానీ అదే జరుగుతోంది. ఆపై, ఈ డీబగ్గర్లతో బ్రేక్ పాయింట్లు, వాచ్ పాయింట్స్, స్టెప్ అండ్ స్టెప్ ఓవర్ మరియు కొన్ని ఇతర సాధారణ విషయాలు చాలా సాధారణం, నేను ఒక క్షణంలో స్క్రీన్ స్నాప్‌షాట్‌లో ఉన్నవారిని చూపించబోతున్నాను.

ఇప్పుడు, ప్రొఫైలింగ్: మీరు రెండు రకాలుగా ప్రొఫైలింగ్ చేయవచ్చు. కొంతమంది పనిభారం సంగ్రహించి, ప్రతిదాన్ని సంగ్రహించే చోట రీప్లే చేస్తారని, అది ప్రొఫైలింగ్‌గా పరిగణించబడుతుంది. నా అనుభవం మరింత ఉంది, ఇది నమూనా పూర్తి చేస్తే మంచిది. ప్రతి స్టేట్‌మెంట్‌ను పట్టుకోవటానికి ఎటువంటి కారణం లేదు, ఎందుకంటే కొన్ని స్టేట్‌మెంట్‌లు మీరు పట్టించుకోని విధంగా త్వరగా నడుస్తాయి, మీరు నిజంగా చూడటానికి ప్రయత్నిస్తున్నది బాగానే ఉంది, ఎందుకంటే ఇవి పదే పదే కనిపిస్తూనే ఉంటాయి, ఎందుకంటే అవి చాలా పొడవుగా నడుస్తాయి. కాబట్టి, కొన్నిసార్లు ప్రొఫైలింగ్ అంటే మొత్తం విషయం నడపడం కంటే నమూనా అని అర్ధం. మరియు సాధారణంగా, మీరు ఉపయోగించగల ఒక రకమైన అవుట్పుట్ మీకు లభిస్తుంది, ఇప్పుడు అది IDE అభివృద్ధి వాతావరణంలో దృశ్యమానంగా ఉంటుంది, ఇక్కడ ఇది వివిధ రకాలైన కోడ్ల పనితీరు యొక్క హిస్టోగ్రాం లాగా మీకు ఇవ్వవచ్చు, కానీ ఇది ఇంకా ఇది ట్రేస్ ఫైల్‌ను ఉత్పత్తి చేస్తుంది.

ప్రొఫైలర్లు మొదట 1979 లో కనిపించారు. కాబట్టి, అవి చాలా కాలం నుండి ఉన్నాయి. వనరుల వినియోగం లేదా పనితీరు సమస్యలను కనుగొనడంలో గొప్పది, మరో మాటలో చెప్పాలంటే అది సమర్థవంతమైన విషయం. సాధారణంగా, ఇది డీబగ్గర్ నుండి వేరు మరియు భిన్నమైనది, అయినప్పటికీ నేను ఒకే సమయంలో రెండింటినీ చేసే డీబగ్గర్లతో పనిచేశాను. ప్రొఫైలర్లు రెండు సాధనాలలో మరింత ఆసక్తికరంగా ఉన్నాయని నేను భావిస్తున్నాను, తగినంత మంది వ్యక్తులు డీబగ్ చేయలేదని నేను భావిస్తే, ఖచ్చితంగా తగినంత మంది వ్యక్తుల ప్రొఫైల్ లేదు, ఎందుకంటే పది మంది డీబగ్గర్లలో ఒకరు ప్రొఫైల్ చేస్తారు, అనిపిస్తుంది. మరియు ఇది సిగ్గుచేటు, ఎందుకంటే ప్రొఫైలింగ్ నిజంగా భారీ వ్యత్యాసాన్ని కలిగిస్తుంది. ఇప్పుడు, డేటాబేస్ భాషలు, మేము ఇంతకుముందు మాట్లాడినట్లుగా, మీకు SQL వచ్చింది - మరియు మేము రౌండ్ పెగ్‌ను ఇక్కడ చదరపు రంధ్రంలోకి బలవంతంగా లాగి ప్రోగ్రామింగ్ లాంగ్వేజ్‌గా మార్చమని బలవంతం చేసాము - మరియు ఒరాకిల్. ఇది PL / SQL - ఇది విధాన భాష SQL - మరియు SQL సర్వర్, ఇది లావాదేవీ- SQL, ఇది SQL-99, ఇది SQL / PSM - ఎందుకంటే, ఇది ప్రొసీజర్ స్టోరేడ్ మాడ్యూల్. పోస్ట్‌గ్రెస్ దీనికి ఇంకొక పేరును ఇస్తుంది, డిబి 2 ఇంకొక పేరు ఇన్ఫార్మిక్స్, అయితే ప్రతి ఒక్కరూ 3 జిఎల్-రకం నిర్మాణాలను బలవంతం చేసారు; మరో మాటలో చెప్పాలంటే, వేరియబుల్స్ డిక్లరేషన్ల వద్ద ఉచ్చులు మరియు SQL కి విదేశీ అయిన అన్ని ఇతర అంశాలు ఇప్పుడు ఆ భాషలలోని SQL లో భాగం. అందువల్ల, మీరు విజువల్ బేసిక్ ప్రోగ్రామ్ మాదిరిగానే PL / SQL లేదా ట్రాన్సాక్ట్- SQL ను డీబగ్ చేయగలగాలి.

ఇప్పుడు, డేటాబేస్ ఆబ్జెక్ట్స్, ఇది చాలా ముఖ్యం ఎందుకంటే ప్రజలు “సరే, నేను డేటాబేస్లో డీబగ్ చేయవలసిన విషయాలు ఏమిటి?” అని అంటారు. మరియు సమాధానం, అలాగే, మీరు డేటాబేస్లో కోడ్ గా నిల్వ చేయగలిగేది - నేను చేస్తున్నట్లయితే T-SQL, లేదా PL / SQL - మరియు నేను డేటాబేస్లో వస్తువులను నిల్వ చేస్తున్నాను, ఇది బహుశా నిల్వ చేయబడిన విధానం లేదా నిల్వ చేసిన ఫంక్షన్. కానీ ట్రిగ్గర్‌లు కూడా ఉన్నాయి: ట్రిగ్గర్ అనేది నిల్వ చేసిన విధానం లాంటిది, కానీ ఇది ఒక రకమైన సంఘటనపై కాల్పులు జరుపుతుంది. ఇప్పుడు, వారి ట్రిగ్గర్‌లలో కొంతమంది వ్యక్తులు ఒక లైన్ కోడ్‌ను ఉంచారు మరియు నిల్వ చేసిన విధానాన్ని పిలుస్తారు, తద్వారా వారు నిల్వ చేసిన కోడ్ మరియు విధానాలన్నింటినీ ఉంచుతారు, కానీ ఇది అదే భావన: ఇది ఇప్పటికీ ట్రిగ్గర్ మొత్తం విషయాన్ని ప్రారంభిస్తుంది. ఆపై ఒరాకిల్ వలె, వారు ప్యాకేజీ అని పిలుస్తారు, ఇది మీకు కావాలంటే లైబ్రరీ లాంటిది. మీరు 50 లేదా 100 నిల్వ చేసిన విధానాలను ఒక సమూహంగా ఉంచారు, దీనిని ప్యాకేజీ అని పిలుస్తారు, కాబట్టి ఇది ఒక లైబ్రరీ లాంటిది. కాబట్టి, ఇక్కడ డీబగ్గర్ పాత మార్గం; ఇది వాస్తవానికి మీ కోడ్‌లోని ఈ డీబగ్ స్టేట్‌మెంట్‌లన్నింటినీ మీ కోసం అంటుకునే సాధనం. కాబట్టి, మీరు డీబగ్ బ్లాక్‌ను చూసిన ప్రతిచోటా, తీసివేయవద్దు, ఆటో డీబగ్గర్ ప్రారంభం మరియు ట్రేస్, ఇవన్నీ ఏదో ఒక సాధనం ద్వారా చిక్కుకున్నాయి. మరియు దాని వెలుపల ఉన్న పంక్తులు, ఇది కోడ్ యొక్క మైనారిటీ, అలాగే, ఇది మాన్యువల్ కాని డీబగ్గింగ్ పద్ధతి.

నేను దీన్ని తీసుకురావడానికి కారణం, మీరు దీన్ని చేతితో చేయటానికి ప్రయత్నిస్తుంటే, మీరు నిజంగా ఈ కోడ్‌తో ఉన్నదానికంటే ఈ ప్రింట్ స్టేట్‌మెంట్‌లన్నింటిలో ఉంచడానికి ఎక్కువ డీబగ్గింగ్ కోడ్‌ను టైప్ చేయబోతున్నారు. కాబట్టి, ఇది పని చేసేటప్పుడు మరియు ఇది ఏమీ కంటే మెరుగైనది అయితే, డీబగ్ చేయడానికి ఇది చాలా కష్టమైన మార్గం, ప్రత్యేకించి, ఈ విషయం అమలు కావడానికి 10 గంటలు తీసుకుంటే, మరియు ఎక్కడ సమస్య ఉందో మూడవ వరుసలో ఉంటే? నేను ఇంటరాక్టివ్ డీబగ్గింగ్ సెషన్ చేస్తుంటే, నేను మూడు వ వరుసలో - ఐదు నిమిషాలు దానిలో తెలిసి ఉండేవాడిని - హే, ఇక్కడ ఒక సమస్య ఉంది, నేను నిష్క్రమించగలను. కానీ దీనితో, ఇది అమలు అయ్యే వరకు నేను వేచి ఉండాల్సి వచ్చింది, ఆపై ఈ ముద్రణ స్టేట్‌మెంట్‌లన్నింటినీ కలిగి ఉన్న కొన్ని ట్రేస్ ఫైల్‌ను నేను చూడవలసి ఉంది మరియు సూదిని ప్రయత్నించండి మరియు కనుగొనండి గడ్డివాము. మళ్ళీ, ఇది ఏమీ కంటే మంచిది, కానీ ఇది పని చేయడానికి ఉత్తమ మార్గం కాదు. ఇప్పుడు, ఆ ఫైల్ మునుపటి స్లైడ్ నుండి వచ్చినట్లుగా ఉంటుంది; మరో మాటలో చెప్పాలంటే, నేను ప్రోగ్రామ్‌ను అమలు చేసాను, మరియు ఈ ట్రేస్ ఫైల్‌లో ఇది కొంత ముద్రణ స్టేట్‌మెంట్‌లను కలిగి ఉంది మరియు నేను దీని ద్వారా సిప్హాన్ చేయలేకపోవచ్చు లేదా నేను కనుగొనవలసినది ఏమిటో కనుగొనగలను. కాబట్టి, మళ్ళీ, మీరు పని చేయాలనుకునే మార్గం ఇదేనని నాకు ఖచ్చితంగా తెలియదు.

ఇప్పుడు, ఇంటరాక్టివ్ డీబగ్గర్స్ - మరియు మీరు ప్రోగ్రామ్‌లు లేదా ఎక్లిప్స్ రాయడానికి విజువల్ స్టూడియో వంటివి ఉపయోగించినట్లయితే, మీకు డీబగ్గర్‌లు ఉన్నాయి మరియు మీరు వాటిని మీ ఇతర భాషలతో ఉపయోగించారు - వాటిని మీ డేటాబేస్‌తో ఇక్కడ ఉపయోగించాలని అనుకోలేదు. మా డిబి ఆర్టిసాన్ మరియు మా రాపిడ్ ఎస్క్యూల్ వంటి ఉపకరణాలు ఇక్కడ ఉన్నాయి, ఇది ఇక్కడ రాపిడ్ ఎస్క్యూల్, ఇది డీబగ్గర్ కలిగి ఉంది మరియు మీరు ఎడమ వైపున చూడవచ్చు, నాకు “నకిలీల కోసం తనిఖీ చేయండి” అని పిలువబడే నిల్వ విధానం ఉంది. సాధారణంగా, ఇది ఒకే సినిమా టైటిల్‌తో పట్టికలో బహుళ వరుసలు ఉన్నాయో లేదో చూద్దాం. కాబట్టి, డేటాబేస్ సినిమాల కోసం. మరియు మీరు కుడి వైపున చూడవచ్చు, ఎగువ మూడవది, నేను మధ్యలో నా సోర్స్ కోడ్‌ను పొందాను, నా వాచ్ వేరియబుల్స్ మరియు నా కాల్ స్టాక్ ట్రేలు అని పిలువబడే వాటిని నేను పొందాను, ఆపై దిగువన నేను ' మీకు కొన్ని అవుట్పుట్ సందేశాలు వచ్చాయి. మరియు ఇక్కడ ముఖ్యమైనది ఏమిటంటే, మీరు ఆ మొదటి ఎరుపు బాణాన్ని చూస్తే, నేను వేరియబుల్‌పై మౌస్ చేస్తే, ఆ సమయంలో ఆ వేరియబుల్‌లో ఏ విలువ ఉందో నేను చూడగలను, ఆ సమయంలో నేను కోడ్ ద్వారా అడుగు పెడుతున్నాను. మరియు అది నిజంగా ఉపయోగకరంగా ఉంది, ఆపై నేను కోడ్ ద్వారా ఒక సమయంలో ఒక పంక్తిని వేయగలను, నేను అమలు చేయమని చెప్పనవసరం లేదు, నేను ఒక పంక్తిని చెప్పగలను, ఏమి జరిగిందో చూద్దాం, మరొక పంక్తిని అడుగుతాను, ఏమి జరిగిందో చూద్దాం, మరియు నేను దీన్ని డేటాబేస్లో చేస్తున్నాను. నేను నా PC లో రాపిడ్ SQL లో కూర్చున్నాను మరియు నా డేటాబేస్ క్లౌడ్‌లో ఉన్నప్పటికీ, నేను ఇప్పటికీ ఆ రిమోట్ డీబగ్గింగ్ చేయగలను మరియు దానిని చూడగలను మరియు ఇక్కడ నుండి నియంత్రించగలను మరియు నేను ఏ ఇతర భాషతోనైనా డీబగ్గింగ్ చేయగలను.

ఇప్పుడు, అక్కడ ఉన్న తదుపరి బాణం - కుడి వైపున, ఆ DBMS అవుట్పుట్ వైపు, బాణం లాంటిది మీరు చూడవచ్చు, ఆ సమయంలో నా కర్సర్ అక్కడే ఉంది - కాబట్టి మరో మాటలో చెప్పాలంటే, నేను అడుగు పెట్టాను మరియు అక్కడ నేను ఉన్నాను ఆ క్షణం. కాబట్టి, “మళ్ళీ అడుగు పెట్టండి” అని నేను చెబితే, నేను ఆ తదుపరి పంక్తికి వెళ్ళబోతున్నాను. ఇప్పుడు దాని క్రింద మీరు ఎరుపు బిందువు చూస్తారు. సరే, అది ఒక బ్రేక్ పాయింట్, అది “హే, నేను ఈ పంక్తుల మీదుగా అడుగు పెట్టడం ఇష్టం లేదు.” నేను అన్నింటికీ దూకి, ఆ ఎర్ర బిందువు ఉన్న చోటికి చేరుకోవాలనుకుంటే, నేను రన్ బటన్‌ను నొక్కవచ్చు మరియు అది నడుస్తుంది ఇక్కడ నుండి చివరి వరకు, లేదా బ్రేక్ పాయింట్ వరకు, ఏదైనా బ్రేక్ పాయింట్స్ సెట్ చేయబడి ఉంటే, అది ఆగిపోతుంది మరియు నన్ను మళ్ళీ అడుగు పెట్టనివ్వండి. మరియు ఇవన్నీ ముఖ్యమైనవి మరియు శక్తివంతమైనవి, ఎందుకంటే నేను ఇవన్నీ చేస్తున్నప్పుడు, మధ్యలో మరియు దిగువన ఏమి జరుగుతోంది - కాని ముఖ్యంగా మధ్య - మారుతుంది - నా వేరియబుల్స్ నుండి విలువలను నేను చూడగలను, నేను నా కాల్ స్టాక్ ట్రేస్‌ని చూడగలను, మీకు తెలుసా, అందువల్ల నేను కోడ్ ద్వారా అడుగు పెడుతున్నప్పుడు ఆ సమాచారం అంతా అక్కడ ప్రదర్శించబడుతుంది, కాబట్టి నేను నిజంగా చూడగలను మరియు అనుభూతి చెందుతున్నాను మరియు ఏమి జరుగుతుందో మరియు కోడ్ వాస్తవానికి ఎలా ఉందో అర్థం చేసుకోవచ్చు. అమలు సమయంలో పని. మరియు సాధారణంగా నేను ఒక సమస్యను కనుగొనగలను, ఒకటి ఉంటే, లేదా నేను దానిని పట్టుకునేంత మంచివాడిని.

సరే, ఇప్పుడు నేను ప్రొఫైలర్ గురించి మాట్లాడబోతున్నాను మరియు ఈ సందర్భంలో, ఇది డీబగ్గర్ ద్వారా నేను చూడగలిగే ప్రొఫైలర్. కొన్నిసార్లు వారు విడివిడిగా ఉన్నారని మరియు కొన్నిసార్లు వారు కలిసి ఉండవచ్చని నేను చెప్పానని గుర్తుంచుకో? ఈ సందర్భంలో, మళ్ళీ, నేను రాపిడ్ SQL లో ఉన్నాను, మరియు ఎడమ వైపున, పంక్తి సంఖ్యల పక్కన ఒక మార్జిన్ ఉందని నేను చూడగలను. మరియు అది ఏమిటంటే, ఇది కోడ్ యొక్క ప్రతి పంక్తిని అమలు చేయడానికి తీసుకున్న సెకన్లు లేదా మైక్రోసెకన్ల సంఖ్య, మరియు నేను స్పష్టంగా చూడగలను, నా సమయాన్ని ఈ లూప్ కోసం గడుపుతాను, ఇక్కడ నేను టేబుల్ నుండి ప్రతిదీ ఎంచుకుంటున్నాను . అందువల్ల, ఆ లూప్ లోపల ఏమి జరుగుతుందో బహుశా నేను చూడవలసిన విషయం, మరియు నేను దానిని బాగా చేయగలిగితే, అది డివిడెండ్లను చెల్లిస్తుంది. 0.90 లేదా 0.86 వంటి పంక్తులలో పనిచేయడం ద్వారా నేను ఎటువంటి మెరుగుదలలను పొందబోతున్నాను; అక్కడ ఎక్కువ సమయం గడపలేదు. ఇప్పుడు, ఈ సందర్భంలో, మరియు మళ్ళీ, నేను రాపిడ్ SQL లో ఉన్నాను, నా డీబగ్గింగ్‌తో కలిపిన ప్రొఫైలింగ్ ఎలా చేయగలను అని మీరు చూస్తున్నారు. ఇప్పుడు, మంచిది ఏమిటంటే రాపిడ్ SQL కూడా దీన్ని ఇతర మార్గంలో చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. రాపిడ్ SQL మిమ్మల్ని చెప్పడానికి అనుమతిస్తుంది, “మీకు ఏమి తెలుసు? నేను డీబగ్గర్లో ఉండటానికి ఇష్టపడను, నేను దీన్ని అమలు చేయాలనుకుంటున్నాను, ఆపై ఒకే రకమైన సమాచారాన్ని గ్రాఫికల్ లేదా దృశ్యమానంగా చూడాలనుకుంటున్నాను. ”

నేను డీబగ్గర్లో లేనని మీరు చూడవచ్చు మరియు అది ప్రోగ్రామ్ను నడుపుతుంది మరియు అమలు పూర్తయిన తర్వాత, ఇది నాకు విషయాలు చెప్పడానికి చార్టులను ఇస్తుంది, అందువల్ల నాకు ఒక స్టేట్మెంట్ వచ్చింది అని నేను చూడగలను పై చార్ట్‌లో చాలా భాగం మరియు నేను చూస్తే, నేను ఆ గ్రిడ్‌లో దిగువ, పంక్తి 23 వైపు చూస్తాను, మళ్ళీ లూప్ ఉంది: అతను ఎక్కువ సమయం తీసుకుంటున్నాడు, వాస్తవానికి ముదురు ఎరుపు అన్ని పై చార్ట్‌ను నమిలిస్తుంది. కాబట్టి, ప్రొఫైలింగ్ చేయడానికి ఇది మరొక మార్గం. మేము మా సాధనంలో “కోడ్ అనలిస్ట్” అని పిలుస్తాము. కానీ ఇది ప్రాథమికంగా డీబగ్గర్ నుండి వేరు చేయబడిన ప్రొఫైలర్. కొంతమంది దీన్ని మొదటి విధంగా చేయాలనుకుంటున్నారు, కొంతమంది దీన్ని రెండవ విధంగా చేయాలనుకుంటున్నారు.

డీబగ్గింగ్ మరియు ప్రొఫైలింగ్ ఎందుకు చేయాలి? మేము ప్రపంచంలోని గొప్ప కోడ్‌ను వ్రాసి వేతన పెంపు పొందాలనుకుంటున్నాము కాబట్టి కాదు - అది మా కారణం కావచ్చు, కానీ అది నిజంగా మీరు చేసే కారణం కాదు - మీరు సరిగ్గా ఏదైనా చేస్తారని వ్యాపారానికి వాగ్దానం చేసారు, మీ ప్రోగ్రామ్ ప్రభావవంతంగా ఉంటుందని. దాని కోసం మీరు డీబగ్గర్ను ఉపయోగిస్తారు. అదనంగా, బిజినెస్ ఎండ్ యూజర్లు; వారు చాలా ఓపికగా లేరు: వారు కీని నొక్కడానికి ముందే ఫలితాలను కోరుకుంటారు. మేము వారి మనస్సును చదివి ప్రతిదీ తక్షణమే చేయాలి. మరో మాటలో చెప్పాలంటే, ఇది సమర్థవంతంగా ఉండాలి. కాబట్టి, మేము ప్రొఫైలర్ను ఉపయోగిస్తాము. ఇప్పుడు, ఈ సాధనాలు లేకుండా, మీరు విల్లు మరియు బాణంతో వ్యాపార సూట్‌లో ఉన్న వ్యక్తి అని నేను నిజంగా నమ్ముతున్నాను మరియు మీరు లక్ష్యాన్ని చేరుకుంటున్నారు మరియు మీరు కళ్ళకు కట్టినట్లు ఉన్నారు. ఎందుకంటే స్టాటిక్ కోడ్‌ను చూడటం ద్వారా ఒక ప్రోగ్రామ్ ఎలా అమలు చేస్తుందో మీరు ఎలా కనుగొనబోతున్నారు మరియు స్టాటిక్ కోడ్‌ను చూడటం ద్వారా, అది నిజంగా ఎక్కువ సమయం అమలులో ఎక్కడ పంక్తిని మీరు ఎలా గుర్తించబోతున్నారు? కోడ్ సమీక్ష ఈ విషయాలలో కొన్నింటిని కనుగొనవచ్చు లేదా చేయకపోవచ్చు, కానీ కోడ్ సమీక్ష ఇవన్నీ కనుగొనే హామీ లేదు. డీబగ్గర్ మరియు ప్రొఫైలర్ ఉపయోగించి మీరు ఆ దోషాలన్నింటినీ కనుగొనగలుగుతారు.

సరే, నేను ఇక్కడ నిజమైన శీఘ్ర ప్రదర్శన చేయబోతున్నాను. ఉత్పత్తిని నెట్టడం నా ఉద్దేశ్యం కాదు, డీబగ్గర్ ఎలా ఉంటుందో నేను మీకు చూపించాలనుకుంటున్నాను 'చాలా సార్లు ప్రజలు "నేను ఇంతకు ముందెన్నడూ చూడలేదు" అని చెప్తారు. మరియు ఇది స్క్రీన్ స్నాప్ స్లైడ్‌లలో చాలా అందంగా కనిపిస్తుంది, కానీ అది కదలికలో ఉన్నప్పుడు ఎలా ఉంటుంది? కాబట్టి, ఇక్కడ నా తెరపై నేను మా DB ఆర్టిసాన్ ఉత్పత్తిని నడుపుతున్నాను; మాకు అక్కడ డీబగ్గర్ కూడా ఉంది. DB శిల్పకారుడు DBA లకు ఎక్కువ, రాపిడ్ SQL డెవలపర్‌లకు ఎక్కువ, కానీ DB శిల్పకారుడిని ఉపయోగించే డెవలపర్‌లను నేను చూశాను మరియు రాపిడ్‌ను ఉపయోగించే DBA లను నేను చూశాను. కాబట్టి, ఉత్పత్తిపై చిక్కుకోకండి. మరియు ఇక్కడ, నాకు డీబగ్ చేసే ఎంపిక ఉంది, కానీ నేను డీబగ్ ప్రారంభించటానికి ముందు, నేను ఈ కోడ్‌ను సంగ్రహించబోతున్నాను, అందువల్ల నేను దానిని అమలు చేయడానికి ముందు కోడ్ ఎలా ఉంటుందో మీరు చూడగలరు. కాబట్టి, స్క్రీన్ స్నాప్‌షాట్‌లో ఉన్న ఖచ్చితమైన కోడ్ ఇక్కడ ఉంది, ఇది నకిలీల కోసం నా చెక్. నేను దీన్ని డీబగ్ చేయాలనుకుంటున్నాను, కాబట్టి నేను డీబగ్ నొక్కండి. ఇప్పుడు, దీనికి కొంత సమయం పడుతుంది మరియు మీరు “సరే, ఎందుకు కొంత సమయం తీసుకుంటున్నారు?” అని మీరు అంటున్నారు. రిమోట్ డీబగ్గింగ్‌ను గుర్తుంచుకోండి: డీబగ్గింగ్ వాస్తవానికి నా డేటాబేస్ సర్వర్‌లో జరుగుతోంది, నా PC లో కాదు. కాబట్టి, అది వెళ్లి అక్కడ ఒక సెషన్‌ను సృష్టించాలి, రిమోట్ డీబగ్గింగ్ విషయం సృష్టించాలి, నా సెషన్‌ను ఆ రిమోట్ డీబగ్గింగ్ సెషన్‌కు కట్టిపడేశాయి మరియు కమ్యూనికేషన్ ఛానెల్‌ని ఏర్పాటు చేయాలి.

కాబట్టి, ఇప్పుడు, ఇక్కడ నా బాణం ఉంది, ఇది పైభాగంలో ఉంది, మొదటి పంక్తి ద్వారా, నేను కోడ్‌లో ఉన్నాను. నేను అక్కడ మూడవ చిహ్నాన్ని నొక్కితే, అది ఒక అడుగు, ఆ బాణం ఇప్పుడే కదిలిందని మీరు చూస్తారు, మరియు నేను దానిని నొక్కితే, అది కదులుతూనే ఉంటుంది. ఇప్పుడు, నేను ఈ FOR లూప్‌లోకి వెళ్లాలనుకుంటే, సమస్య ఎక్కడ ఉందో నాకు తెలుసు కాబట్టి, నేను బ్రేక్‌పాయింట్‌ను సెట్ చేయవచ్చు. నేను దానిని సెట్ చేసాను. ఓహ్ షూట్, నా స్క్రీన్ క్యాప్చర్ కీలలో ఒకదాన్ని డీబగ్గర్ మాదిరిగానే కీకి మ్యాప్ చేసాను, అది గందరగోళానికి కారణమవుతుంది. సరే, నేను అక్కడ మానవీయంగా ఒక బ్రేక్‌పాయింట్‌ను సెట్ చేసాను, కాబట్టి ఇప్పుడు నేను అక్కడికి చేరుకునే వరకు ఒక అడుగు, దశ, దశ, అడుగు వేయడానికి బదులుగా, వాస్తవానికి “ముందుకు సాగండి మరియు ఈ పనిని అమలు చేయండి” అని చెప్పగలను మరియు అది ఆగిపోతుంది. ఇది బ్రేక్ పాయింట్ ఉన్న చోటికి నన్ను కదిలించిందని గమనించండి, కాబట్టి నేను ఇప్పుడు ఈ లూప్‌ను నడుపుతున్న సందర్భంలో ఉన్నాను, నా వేరియబుల్స్ అన్నీ దేనికి అమర్చబడిందో నేను చూడగలను, ఇది ఆశ్చర్యం కలిగించదు, 'నేను వాటిని అన్నింటినీ ప్రారంభించాను సున్నాకి. ఇప్పుడు, నేను ఈ లూప్‌లోకి అడుగు పెట్టగలను మరియు ఈ లూప్ లోపల ఏమి జరుగుతుందో చూడటం ప్రారంభించగలను.

కాబట్టి, ఇప్పుడు ఇది నా అద్దెల నుండి ఎంచుకున్న గణన చేయబోతోంది మరియు నేను ఆ వ్యక్తిపై మౌస్ చేసి చూడగలను, అతను రెండు, రెండు ఒకటి కంటే ఎక్కువ, కాబట్టి ఇది బహుశా ఈ కోడ్ యొక్క తదుపరి భాగాన్ని చేయబోతోంది. మరో మాటలో చెప్పాలంటే, అది ఏదో కనుగొంది. నేను ముందుకు వెళ్లి ఆ రన్ చేయనివ్వను. నేను ఇక్కడ ప్రతిదీ ద్వారా వెళ్ళడానికి ఇష్టపడను; డీబగ్గర్ పూర్తయినప్పుడు నేను మీకు చూపించదలచుకున్నది, ఇది సాధారణ ప్రోగ్రామ్ లాగానే ముగుస్తుంది. నాకు బ్రేక్‌పాయింట్ సెట్ వచ్చింది, కాబట్టి నేను రన్ అని చెప్పినప్పుడు, అది తదుపరి బ్రేక్‌పాయింట్‌కి తిరిగి వెళ్ళింది. నేను దానిని చివరి వరకు అమలు చేయనివ్వను, 'డీబగ్గర్ ప్రోగ్రామ్ యొక్క ప్రవర్తనను మార్చదు అని నేను మీరు చూడాలనుకుంటున్నాను: ఇది నడుస్తున్నప్పుడు, నేను రన్ చేయకపోతే ఖచ్చితమైన ఫలితాలను పొందాలి డీబగ్గర్ లోపల.

దానితో, నేను డెమోని తాత్కాలికంగా నిలిపివేసి, తిరిగి వెళ్తాను 'కారణం మనకు ప్రశ్నలు మరియు సమాధానాల కోసం సమయం ఉందని నిర్ధారించుకోవాలనుకుంటున్నాము. కాబట్టి, ప్రశ్నలు మరియు సమాధానాల కోసం నేను దానిని తెరుస్తాను.

ఎరిక్ కవనాగ్: సరే, రాబిన్, బహుశా మీ నుండి ఒక ప్రశ్న మరియు తరువాత డెజ్ నుండి ఒక జంట?

రాబిన్ బ్లూర్: అవును, ఖచ్చితంగా, నేను ఈ మనోహరమైనదాన్ని కనుగొన్నాను. నేను ఇలాంటి విషయాలతో పనిచేశాను, కాని నేను డేటాబేస్లో ఇలాంటి వాటితో ఎప్పుడూ పని చేయలేదు. ప్రజలు ప్రొఫైలర్‌ను దేనికోసం ఉపయోగిస్తారనే దాని గురించి మీరు నాకు కొంత ఆలోచన ఇవ్వగలరా? ఎందుకంటే ఇది ఇలా ఉంది, వారు చూస్తున్నారా - 'నేను అవి అని అనుకుంటాను - అవి పనితీరు సమస్యలను చూస్తున్నాయి, డేటాబేస్ సమయం తీసుకున్నప్పుడు మరియు కోడ్ సమయం తీసుకున్నప్పుడు తేడాను గుర్తించడంలో ఇది మీకు సహాయపడుతుందా?

బెర్ట్ స్కాల్జో: మీకు తెలుసా, ఇది అద్భుతమైన ప్రశ్న. నేను విజువల్ బేసిక్‌లో పని చేస్తున్నానని చెప్పండి, మరియు నేను, నా విజువల్ బేసిక్ లోపల నేను ఒక లావాదేవీ- SQL లేదా PL / SQL అని పిలుస్తాను. మైక్రోసాఫ్ట్ సాధనాలతో ఒరాకిల్ ఎల్లప్పుడూ బాగా ఆడదు కాబట్టి నాకు PL / SQL చేద్దాం. నేను నా విజువల్ బేసిక్ కోడ్‌ను ప్రొఫైల్ చేసి ఉండవచ్చు, మరియు అక్కడ ఉన్న ప్రొఫైల్ ఇలా చెప్పవచ్చు, “హే, నేను ఈ నిల్వ చేసిన విధానాన్ని పిలిచాను మరియు చాలా సమయం పట్టింది.” కానీ అప్పుడు నేను నిల్వ చేసిన విధానంలోకి వెళ్ళగలను మరియు నిల్వ చేసిన డేటాబేస్ ప్రొఫైల్‌ని చేయగలను విధానం మరియు చెప్పండి, “సరే, ఇక్కడ ఉన్న 100 స్టేట్‌మెంట్లలో, సమస్యకు కారణమయ్యే ఐదు ఇక్కడ ఉన్నాయి.” కాబట్టి, మీరు ఒక ట్యాగ్ టీమ్ చేయవలసి ఉంటుంది, ఇక్కడ మీరు బహుళ ప్రొఫైల్‌లను ఉపయోగించాల్సి ఉంటుంది.

మీ డేటాబేస్లో పనితీరు సమస్య ఉందని మీకు ఎప్పుడైనా తెలిస్తే, ఒక డేటాబేస్ ప్రొఫైల్ గడ్డివాములో సూదిని కనుగొనడంలో మీకు సహాయపడవచ్చు, దానిపై మీకు స్టేట్మెంట్ ఉన్న ప్రకటనలు వాస్తవానికి మీకు సమస్య ఉన్నవి. ప్రొఫైలింగ్‌తో మారిన మరో విషయం నేను మీకు చెప్తున్నాను: మీకు మిలియన్ సార్లు పిలువబడే కోడ్ ముక్క ఉంటే, కానీ అది ప్రతి మిలియన్ సార్లు మైక్రోసెకండ్ మాత్రమే తీసుకుంటుంది, కానీ అది మిలియన్ సార్లు పిలువబడుతుంది, ప్రొఫైలర్ ఏమి చూపిస్తుంది, ఈ విషయం చాలా యూనిట్ల సమయం వరకు నడిచింది. కాబట్టి కోడ్ చాలా సమర్థవంతంగా పనిచేస్తున్నప్పుడు, మీరు చూసి, “ఓహ్, మేము ఈ కోడ్ మార్గానికి చాలా తరచుగా ఈ కాల్ చేస్తున్నాము. మేము రికార్డును ప్రాసెస్ చేసే ప్రతిసారీ కాకుండా, లేదా ప్రతిసారీ కాకుండా ప్రతిసారీ మాత్రమే పిలవాలి. అందువల్ల మీరు చాలా తరచుగా పిలువబడే సమర్థవంతమైన కోడ్ ఉన్న చోట మీరు నిజంగా కనుగొనవచ్చు మరియు ఇది వాస్తవానికి పనితీరు సమస్య.

రాబిన్ బ్లూర్: అవును, అది అద్భుతమైనది. నేను దీన్ని ఎప్పుడూ చేయలేదు. మీరు డేటాబేస్ సమస్యలను కలిగి ఉన్నప్పుడు, నేను ఒక విధంగా లేదా మరొక విధంగా డేటాబేస్తో వ్యవహరించడం లేదా కోడ్తో వ్యవహరించడం వంటిది అని మీరు చూస్తారు; నేను ఇద్దరితో ఒకేసారి వ్యవహరించలేను. కానీ అక్కడ, మళ్ళీ, నేను చేయలేదు- మేము విధానాలను నిల్వ చేసిన అనువర్తనాలను నిర్మించడంలో నేను ఎప్పుడూ పాల్గొనలేదు, కాబట్టి నేను ఎప్పుడూ అడవిని నడపడానికి ఉపయోగించే సమస్యల్లోకి రాలేదని నేను ess హిస్తున్నాను, మీరు అనే ఆలోచన డేటాబేస్ మరియు ప్రోగ్రామ్ మధ్య కోడ్‌ను విభజించండి. అయితే, అన్నింటినీ చేయండి- నేను సమాధానం అవును అని uming హిస్తున్నాను, కానీ ఇది ఒక అభివృద్ధి బృంద కార్యకలాపంలో భాగం, మీరు ఒక విధంగా లేదా మరొక విధంగా ఉన్నప్పుడు విచ్ఛిన్నమైన దాన్ని పరిష్కరించడానికి ప్రయత్నిస్తున్నప్పుడు లేదా క్రొత్తదాన్ని తీసుకురావడానికి ప్రయత్నిస్తున్నప్పుడు కలిసి అప్లికేషన్. పర్యావరణంలో నేను ఆశించే అన్ని ఇతర భాగాలతో ఇవన్నీ సరిపోతాయా? నా టెస్ట్ ప్యాక్‌లన్నిటితో మరియు నేను చేస్తున్న ఇతర ప్రాజెక్టులతో మరియు నా ప్రాజెక్ట్ మేనేజ్‌మెంట్ స్టఫ్‌తో నేను దీన్ని క్లిప్ చేయగలనని నేను can హించగలనా, ఈ క్లిప్‌లన్నీ ఎలా కలిసి ఉంటాయి?

బెర్ట్ స్కాల్జో: అవును, ఇది మీ ప్రోగ్రామింగ్ లేదా అభివృద్ధి ప్రయత్నాలు చేయడానికి ఏదైనా నిర్మాణాత్మక ప్రక్రియలో భాగం అవుతుంది. మరియు ఇది హాస్యాస్పదంగా ఉంది, గత వారం నేను వెబ్ అప్లికేషన్‌ను నిర్మిస్తున్న కస్టమర్‌ను కలిగి ఉన్నాను, మరియు వారి డేటాబేస్ చిన్నది, చారిత్రాత్మకంగా ఉంది, కాబట్టి వారు చాలా మంచి ప్రోగ్రామర్లు కానందున వారిని ఎప్పుడూ బాధపెట్టలేదు. బాగా, వారి డేటాబేస్ సంవత్సరాలుగా పెరిగింది మరియు ఇప్పుడు వెబ్ పేజీలో 20 సెకన్లు పడుతుంది, “నన్ను లాగిన్ చేసి చూడటానికి నాకు కొంత డేటా ఇవ్వండి” మరియు స్క్రీన్ వాస్తవానికి వచ్చినప్పుడు, ఇప్పుడు అది పనితీరు సమస్య. మరియు సమస్య వారి జావాలో లేదా ఇతర ప్రదేశాలలో లేదని వారికి తెలుసు. కానీ వారు వేలాది నిల్వ చేసిన విధానాలను కలిగి ఉన్నారు మరియు అందువల్ల ఈ వెబ్ పేజీ రావడానికి 20 సెకన్లు ఎందుకు తీసుకుంటుందో తెలుసుకోవడానికి వారు నిల్వ చేసిన విధానాలను ప్రొఫైల్ చేయడం ప్రారంభించాల్సి వచ్చింది. మరియు వారు ఎంచుకున్న స్టేట్మెంట్లలో ఒకదానిలో కార్టెసియన్ చేరాలని మేము కనుగొన్నాము మరియు అది తెలియదు.

రాబిన్ బ్లూర్: వావ్.

బెర్ట్ స్కాల్జో: కానీ ఎవరో ఒక సారి నాతో, “సరే, వారు కార్టెసియన్ చేరడం ఎలా మరియు తెలియదు?” మరియు ఇది నిజంగా భయంకరంగా అనిపిస్తుంది; కొన్నిసార్లు SQL తో చాలా సౌకర్యంగా లేని ప్రోగ్రామర్ నాకు కార్టెసియన్ చేరడం వంటివి చేస్తారు, కాని అప్పుడు నాకు మొదటి రికార్డును మాత్రమే తిరిగి ఇవ్వండి, కాబట్టి నాకు ఏదో లభించిందని నాకు తెలుసు, మరియు నాకు మొదటిది మాత్రమే అవసరం. అందువల్ల, వారు కేవలం ఒక బిలియన్ రికార్డులను తిరిగి తెచ్చారని లేదా వారు ఒక బిలియన్ రికార్డుల ద్వారా చూస్తారని వారు గ్రహించలేరు, 'వారు ఆసక్తి ఉన్నదాన్ని పొందారు.

రాబిన్ బ్లూర్: వావ్, నాకు తెలుసు, దానిని బాగా పిలుస్తారు, దేజ్ గురించి ఏమి జరుగుతుందో, ప్రజల పరంగా వారు ఖచ్చితంగా నైపుణ్యం కలిగి ఉండరు, మీకు తెలుసు. మీరు ప్రోగ్రామర్ అయితే, ఏదైనా ఆదేశాన్ని జారీ చేయడం యొక్క చిక్కులు ఏమిటో మీరు తెలుసుకోవాలి. నా ఉద్దేశ్యం, నిజంగా, ఆ స్థాయి మూర్ఖత్వానికి ఎటువంటి అవసరం లేదు. దీనికి సంబంధించి మీరు ఒక విధంగా లేదా మరొక విధంగా భాషా అజ్ఞేయవాది అని నేను uming హిస్తున్నాను, ఎందుకంటే ఇవన్నీ డేటాబేస్ వైపు దృష్టి సారించాయి. నేను సరిగ్గా ఉన్నాను? మీరు కోడింగ్ వైపు ఉపయోగిస్తున్నది అదేనా?

బెర్ట్ స్కాల్జో: ఖచ్చితంగా, మీరు దీన్ని ఫోర్ట్రాన్ లేదా సి లేదా సి ++ లో చేయవచ్చు. వాస్తవానికి, కొన్ని యునిక్స్‌లలో మీరు వారి స్క్రిప్టింగ్ భాషల కోసం కూడా చేయవచ్చు; అవి వాస్తవానికి ఒకే సాధనాలను అందిస్తాయి. ఆపై మీరు క్షమించకుండా చెప్పినదానికి నేను ఒక సెకను వెనక్కి వెళ్లాలనుకుంటున్నాను. నేను ప్రోగ్రామర్‌లకు ఒక విరామం ఇవ్వబోతున్నాను, 'ఎందుకంటే ప్రోగ్రామర్‌లను బస్సు కింద విసిరేయడం నాకు ఇష్టం లేదు. కానీ సమస్య నిజంగా విద్యా వాతావరణం ఎందుకంటే మీరు ప్రోగ్రామర్‌గా ఎలా ఉండాలో తెలుసుకోవడానికి వెళ్ళినప్పుడు, మీకు రికార్డ్-ఎ-ఎ-టైమ్ ఆలోచన నేర్పుతారు. మీకు సెట్ థింకింగ్ నేర్పించబడలేదు, అదే స్ట్రక్చర్డ్ క్వరీ లాంగ్వేజ్, లేదా SQL సెట్స్‌తో పనిచేస్తుంది; అందుకే మాకు యూనియన్, ఖండన మరియు మైనస్ ఆపరేటర్ ఉన్నాయి. సెట్ల పరంగా ఎప్పుడూ ఆలోచించని వ్యక్తికి, నిష్క్రమించడానికి, రికార్డ్-ఎ-ఎ-టైమ్ ప్రాసెసింగ్‌ను వదిలివేసి, సెట్‌లతో పనిచేయడానికి ఇది చాలా కష్టం.

రాబిన్ బ్లూర్: అవును, నేను మీతో ఉన్నాను. నా ఉద్దేశ్యం, నేను ఇప్పుడు పొందాను, అది విద్యా సమస్య; ఇది పూర్తిగా విద్యా సమస్య అని నేను అనుకుంటున్నాను, ప్రోగ్రామర్లు విధానపరంగా ఆలోచించడం సహజమని నేను భావిస్తున్నాను. మరియు SQL విధానపరమైనది కాదు, ఇది డిక్లేరేటివ్. మీరు నిజంగా ఇలా చెబుతున్నారు, "ఇది నాకు కావాలి మరియు మీరు దీన్ని ఎలా చేయాలో నేను పట్టించుకోను" మీకు తెలుసా? ప్రోగ్రామింగ్ భాషలతో మీరు తరచూ మీ స్లీవ్‌లను చుట్టుముట్టారు మరియు మీరు లూప్ చేసేటప్పుడు గణనలను కూడా నిర్వహించే సూక్ష్మచిత్రంలోకి దిగుతారు. నేను చేతికి ఇస్తాను

బెర్ట్ స్కాల్జో: లేదు . సరే, కొనసాగించండి.

అవును, నేను చెప్పబోతున్నాను, మీరు ఒక ప్రొఫైలర్ పట్టుకోవడం మంచిదని మరొక ఉదాహరణను తీసుకువచ్చారని, ఈ రికార్డ్-ఎ-ఎ-టైమ్ ప్రాసెసింగ్‌తో రకమైనది కొనసాగుతుంది. కొన్నిసార్లు, రికార్డ్-ఎట్-ఎ-లాజిక్ వద్ద మంచి ప్రోగ్రామర్, SQL ప్రోగ్రామ్ ఎలా చేయాలో గుర్తించలేరు. సరే, అతను రెండు ఉచ్చులు తయారు చేస్తాడని మరియు ప్రాథమికంగా చేరాలని అనుకుందాం, కాని అతను దానిని క్లయింట్ వైపు చేస్తాడు. అందువల్ల, అతను చేరడానికి అదే ప్రభావాన్ని చేస్తున్నాడు, కానీ అతను దానిని స్వయంగా చేస్తున్నాడు, మరియు ఒక ప్రొఫైల్ దానిని పట్టుకుంటుంది, ఎందుకంటే డేటాబేస్ సర్వర్ మీ కోసం దీన్ని చేయనివ్వడం కంటే మీరు మానవీయంగా చేరడానికి ఎక్కువ సమయం గడపవచ్చు.

రాబిన్ బ్లూర్: అవును, అది విపత్తు అవుతుంది. నా ఉద్దేశ్యం, మీరు చుట్టూ కొట్టడం. త్రాషింగ్ ఎల్లప్పుడూ చెడ్డది.

ఏదేమైనా, నేను డెజ్కు వెళ్తాను; అతనికి కొన్ని ఆసక్తికరమైన ప్రశ్నలు వచ్చాయని నేను ఖచ్చితంగా అనుకుంటున్నాను.

డెజ్ బ్లాంచ్ఫీల్డ్: ధన్యవాదాలు, అవును, నేను చేస్తాను. నేను బస్సు కింద విసిరే ప్రోగ్రామర్లలో మీతో చేరబోతున్నాను. నా జీవితంలో, నేను కోడర్‌గా నా జీవితంలో చాలా సంవత్సరాలు గడిపాను, ప్రతి స్థాయిలో, మీకు తెలుసా, మీరు చెప్పినట్లుగానే, యునిక్స్ మెషీన్ యొక్క కమాండ్ లైన్‌లో కూర్చుని, కొన్ని సందర్భాల్లో, నేను కూడా పాల్గొన్నాను ఒక హార్డ్‌వేర్ ప్లాట్‌ఫామ్ నుండి మరొకదానికి యునిక్స్ యొక్క రెండు వేర్వేరు పోర్టులలో. మరియు అక్కడ మాకు ఉన్న సవాళ్లను మీరు can హించవచ్చు. వాస్తవికత ఏమిటంటే, ప్రపంచంలోని ప్రతి కోడర్ మరియు స్క్రిప్టర్ కోసం జైలు నుండి బయటపడండి. ఇది రాకెట్ సైన్స్, చాలా అక్షరాలా, ప్రతిసారీ నిజంగా గట్టిగా రాయడం, అన్ని సమయం, రాకెట్ సైన్స్. మరియు డెన్నిస్ రిట్చీ మరియు బ్రియాన్ కెర్నాహన్ వంటి వ్యక్తుల యొక్క ప్రసిద్ధ కథలు స్వతంత్రంగా కొన్ని కోడ్‌పై పనిచేస్తూ, ఆపై ఒక కాఫీపై కోడ్ రివ్యూ చాట్ వరకు తిరగడం మరియు వారు సరిగ్గా అదే ప్రోగ్రామ్‌లో, అదే ప్రోగ్రామ్‌లో వ్రాసినట్లు తెలుసుకోవడం, సరిగ్గా అదే విధంగా. మరియు వారు దీనిని సి లో చేసారు. కాని ప్రోగ్రామింగ్ యొక్క స్వచ్ఛమైన స్థాయి చాలా అరుదుగా ఉంది.

వాస్తవం ఏమిటంటే, రోజువారీగా, రోజులో 24 గంటలు, వారంలో ఏడు రోజులు మాత్రమే ఉన్నాయి, మరియు మేము కేవలం పనిని పూర్తి చేసుకోవాలి. అందువల్ల, సాంప్రదాయ ప్రోగ్రామర్లు, DBA లు మరియు కోడర్లు, మరియు స్క్రిప్టర్లు, మరియు సిసాడ్మిన్, మరియు నెట్‌వర్క్ నిర్వాహకులు మరియు భద్రతా సిబ్బంది మరియు ఈ రోజుల్లో పౌరుల డేటా వైపు అన్నింటికీ వచ్చినప్పుడు; మేము విన్నాము, ప్రతి ఒక్కరూ తమ పనిని చేయడానికి ప్రయత్నిస్తున్నారు. అందువల్ల ఈ మొత్తం విషయం నుండి గొప్ప టేకావే నేను మీ డెమోని ప్రేమిస్తున్నాను మరియు మీరు మమ్మల్ని అక్కడ వదిలిపెట్టిన టేకావేను నేను ఇష్టపడ్డాను, కొద్దిసేపటి క్రితం, రాబిన్‌తో మాట్లాడటం దీనికి ప్రత్యేకమైనది - బహుశా అంతగా లేదు ఒక సముచితం - కానీ కోడ్ మరియు SQL మరియు డేటాబేస్‌లను ఫిక్సింగ్ చేసేంతవరకు ఇది వర్తించే విస్తృత స్థలం. కానీ మీరు షెల్ స్క్రిప్ట్ వద్ద దూర్చు మరియు కొన్ని సమస్యలను కనుగొనగలరని మీరు చెప్పడం వినడానికి నేను నిజంగా సంతోషిస్తున్నాను, ఎందుకంటే మీకు తెలుసా, నేటి రోజు మరియు వయస్సులో మేము ఎల్లప్పుడూ అన్నింటికీ అతి తక్కువ ఖర్చుతో పని చేస్తున్నాము.

మీరు ఎక్కడో $ 6 చొక్కా కొనడానికి కారణం, ఎవరో ఒక వ్యవస్థను చౌకగా నిర్మించి, వాస్తవానికి తయారు చేసి, రవాణా చేయడానికి మరియు లాజిస్టిక్‌గా డెలివరీ చేయడానికి మరియు అమ్మడానికి మరియు రిటైల్ చేయడానికి మరియు ఆ $ 6 చొక్కా పొందడానికి ఆన్‌లైన్ చెల్లింపులు తీసుకోండి. సంపూర్ణ మార్గంలో కోడ్ రాయడానికి మీకు సంవత్సరానికి, 000 400, 000 చెల్లించబడుతుంటే అది జరగదు; ఇది మొత్తం అభివృద్ధి. కాబట్టి, ఆ సమయంలో, మాకు మరింత అంతర్దృష్టిని ఇవ్వడానికి నేను నిజంగా మిమ్మల్ని ప్రేమిస్తున్న ప్రశ్నలలో ఒకదాన్ని నేను ess హిస్తున్నాను, ఈ రకమైన సాధనాలను ప్రొఫైల్‌కు ఉపయోగిస్తున్న మీరు ప్రస్తుతం చూస్తున్న వ్యక్తుల యొక్క వెడల్పు మరియు చేరుకోవడం ఏమిటి? కోడ్ మరియు పనితీరు సమస్యల కోసం వెతుకుతున్నారా? ప్రారంభంలో, చారిత్రాత్మకంగా, వారు ఎక్కడ నుండి వచ్చారు? అవి పెద్ద ఇంజనీరింగ్ గృహాలుగా ఉన్నాయా? ఆపై, ముందుకు వెళుతున్నప్పుడు, కోడర్లను ప్రయత్నించడానికి మరియు సహాయం చేయడానికి ఎక్కువ కంపెనీలు ఈ సాధనాన్ని లేదా ఈ సాధనాలను అమలు చేస్తున్నాయని నేను అనుకుంటున్నాను, ఉద్యోగం పూర్తి చేయడానికి ఎవరు పనులు పూర్తి చేస్తున్నారో వారికి తెలుసు మరియు తలుపు నుండి బయటపడాలా? మరియు కొన్నిసార్లు మనకు జైలు నుండి బయటపడటానికి కార్డు అవసరమా? చారిత్రాత్మకంగా మనకు ఎక్కువ ఇంజనీరింగ్ దృష్టి మరియు అభివృద్ధి ఉందని నేను అనుకుంటున్నాను? ఇప్పుడు, రాబిన్ చెప్పినట్లుగా, అకాడెమిక్ విధానం, మరియు అది స్వయం-బోధన, లేదా కట్-అండ్-పేస్ట్ కోడ్, లేదా వస్తువులను నిర్మించాలా? మరియు ఇప్పుడు ఉత్పత్తిని తీసుకుంటున్న వ్యక్తులతో ఇది సరిపోతుందా?

బెర్ట్ స్కాల్జో: అవును, ఖచ్చితంగా. మరియు నేను మీకు చాలా నిర్దిష్టమైన ఉదాహరణ ఇస్తాను, మేము పనిని పూర్తి చేయాలనుకుంటున్నాము, 'వ్యాపార వ్యక్తులు పరిపూర్ణతను కోరుకోరు. ఇది కంప్యూటరైజ్డ్ చెస్ గేమ్ లాగా ఉంటుంది: చెస్ ఆట సరైన సమాధానం కోసం చూడదు; ఇది సహేతుకమైన సమయం లో సరిపోయే సమాధానం కోసం చూస్తుంది, కాబట్టి మేము ఎలా ప్రోగ్రామ్ చేస్తాము. కానీ నేను ఇప్పుడు కనుగొన్నది ఏమిటంటే, చాలా మంది ప్రజలు తమ యూనిట్ పరీక్షలో భాగంగా ప్రొఫైలర్ కావాలని చెప్పే బదులు - నేను దీన్ని ఎలా చేస్తాను, 'కారణం నేను సమయం వృధాగా చూడలేను - ఏమి జరుగుతోంది ఇప్పుడు అది అదృష్టవశాత్తూ ఉంటే, కొన్నిసార్లు, ఇంటిగ్రేషన్ టెస్టింగ్ లేదా స్ట్రెస్ టెస్టింగ్ సమయంలో జరుగుతుంది. కానీ చాలా సార్లు ఇది పెరుగుదల యొక్క భాగం, ఇక్కడ ఏదో ఉత్పత్తిలోకి వెళ్లింది, అది కొంతకాలం నడిచింది, బహుశా సంవత్సరాలు కూడా పరిగెత్తింది, మరియు ఇప్పుడు అది బాగా నడవలేదు మరియు ఇప్పుడు మేము దానిని ప్రొఫైల్ చేస్తాము. మరియు అది ఇప్పుడు సర్వసాధారణమైన దృశ్యంగా ఉంది.

డెజ్ బ్లాంచ్‌ఫీల్డ్: అవును, మరియు “సాంకేతిక debt ణం ” అనే పదం బహుశా మీకు బాగా తెలిసినది అని నేను అనుకుంటున్నాను; నాకు రాబిన్ తెలుసు మరియు నేను ఖచ్చితంగా ఉన్నాను. ఈ రోజుల్లో, ముఖ్యంగా అభివృద్ధి చెందడానికి మరియు వ్యవస్థను నిర్మించటానికి చురుకైన విధానాలలో, సాంకేతిక debt ణం యొక్క భావన ఇప్పుడు చాలా నిజమైన విషయం అని నేను అనుకుంటున్నాను, మరియు వాస్తవానికి మేము దీనిని ప్రాజెక్టులలో లెక్కించాము. నాకు తెలుసు, నా ఉద్దేశ్యం, మీడియా లెన్స్ మరియు ఇతరులు వంటి మా స్వంత ప్రాజెక్టులను మేము పొందాము, ఇక్కడ మాకు రోజూ కోడింగ్ జరుగుతోంది మరియు బ్లూర్ గ్రూప్‌లోని వివిధ విషయాలు ఉన్నాయి. మరియు మనం దేనినైనా నిర్మిస్తున్నప్పుడల్లా, మనం రకమైనది, నేను దాన్ని చూస్తాను మరియు ఎల్లప్పుడూ దీన్ని పరిష్కరించడానికి నాకు ఏమి ఖర్చవుతుందనే కోణం నుండి చూస్తాను, దీనికి విరుద్ధంగా నేను దీన్ని పొందగలను మరియు దాన్ని అక్కడకు తీసుకువెళ్ళవచ్చు, ఆపై ఈ విషయం విచ్ఛిన్నమవుతుందో లేదో చూడండి. మరియు ఈ సాంకేతిక రుణాన్ని వారసత్వంగా పొందండి, నేను తరువాత తిరిగి సర్కిల్ చేయవలసి ఉంటుందని నాకు తెలుసు.

మరియు నా ఉద్దేశ్యం, నేను గత ఏడు రోజులలో చేశాను: నేను కొన్ని సాధనాలు మరియు స్క్రిప్ట్‌లను వ్రాసాను, నేను పైథాన్ భాష యొక్క కొన్ని ముక్కలు వ్రాసాను మరియు నేను దానిని మొంగో బ్యాక్ ఎండ్‌కు మోహరించాను ఖచ్చితంగా ఇది బాగుంది మరియు శుభ్రంగా మరియు సురక్షితంగా ఉంది, కానీ ఇది నాకు అవసరమైన ప్రశ్నను పొందుతుంది, పని చేయడానికి, పెద్ద పజిల్‌ని పొందడానికి నాకు ఆ ఫంక్షన్ అవసరమని తెలుసుకోవడం; అక్కడే నా నిజమైన నొప్పి ఉంది. కాబట్టి మీరు ఈ సాంకేతిక రుణాన్ని ఎదుర్కొంటారు, మరియు ఇది ఇప్పుడు అప్పుడప్పుడు జరిగే విషయం కాదని నేను భావిస్తున్నాను, ఇది ఇప్పుడు అభివృద్ధి చెందుతున్న DNA లో భాగం అని నేను అనుకుంటున్నాను. ప్రజలు కేవలం - అస్పష్టంగా కాదు - వారు సాంకేతిక రుణాన్ని సాధారణ మోడస్ ఒపెరాండి రకం ఇష్యూ అని అంగీకరిస్తారు మరియు వారు దానిని భరించాలి. ఇక్కడ మీరు సాంకేతిక రుణాన్ని పొందుతారు. డెమోలో మీరు మాకు చూపించిన దాని గురించి గొప్ప విషయం ఏమిటంటే మీరు అక్షరాలా ప్రొఫైల్ చేయవచ్చు మరియు ఏదో అమలు చేయడానికి ఎంత సమయం పడుతుందో చూడవచ్చు. మరియు అది బహుశా నా అభిమాన విషయాలలో ఒకటి. నా ఉద్దేశ్యం, నేను నిజంగా ప్రొఫైలింగ్ సాధనాలను నిర్మించాను - మా కోడ్‌ను అమలు చేయడానికి మేము సెడ్ మరియు లెక్స్ మరియు ఓర్క్‌లో సాధనాలను నిర్మించాము మరియు ఉచ్చులు ఎక్కడ ఉన్నాయో చూద్దాం, ఇలాంటి సాధనాలు లభించే ముందు - మరియు మీరు వెళ్ళడానికి కోడ్‌ను నిర్మించినప్పుడు మరియు మీ స్వంత కోడ్‌ను సమీక్షించండి, మీ స్వంత కోడ్‌ను సమీక్షించకపోవడం మీకు చాలా మంచిది. కానీ ఇప్పుడు అలా కాదు. దీన్ని దృష్టిలో ఉంచుకుని, మరేదానికన్నా ఎక్కువగా తీసుకునే నిర్దిష్ట మార్కెట్ విభాగం ఉందా? మాస్ లాగా చూడటం

బెర్ట్ స్కాల్జో: ఓహ్, నేను పొందాను- నేను మీ కోసం ఒక సారూప్యతను గీయబోతున్నాను మరియు ప్రోగ్రామర్లు కానివారు దీన్ని అన్ని సమయాలలో చేస్తారని మీకు చూపిస్తారు. 'నేను ఎప్పుడైనా డీబగ్గర్ మరియు ప్రొఫైలింగ్ క్లాస్ లేదా సెషన్‌ను బోధిస్తున్నట్లయితే, నేను ప్రజలను అడుగుతాను, "సరే, ఇక్కడ ఎంత మంది మైక్రోసాఫ్ట్ వర్డ్‌లోకి వెళతారు మరియు ఉద్దేశపూర్వకంగా స్పెల్ చెకర్‌ను ఎప్పుడూ ఉపయోగించరు?" మరియు ఎవరూ తమ చేతిని పైకి లేపరు, ఎందుకంటే పత్రాలు రాయడం కోసం, మేము ఇంగ్లీష్ తప్పులు చేయగలమని మనందరికీ తెలుసు, కాబట్టి ప్రతి ఒక్కరూ స్పెల్ చెకర్‌ను ఉపయోగిస్తారు. మరియు నేను, “సరే, మీరు మీ IDE లో విజువల్ బేసిక్ వంటి వచనాన్ని వ్రాస్తున్నప్పుడు ఎలా వస్తారు, మీరు డీబగ్గర్ ఉపయోగించడం లేదు? ఇది అదే, ఇది స్పెల్ చెకర్ లాంటిది. ”

డెజ్ బ్లాంచ్ఫీల్డ్: అవును, వాస్తవానికి, ఇది గొప్ప సారూప్యత. నేను నిజంగా ఆలోచించలేదు, నేను ఉపయోగించే కొన్ని సాధనాలతో నేను నిజంగా ఇలాంటిదే చేస్తానని అంగీకరించాలి. వాస్తవానికి, ఒకటి, ODF, ఎక్లిప్స్ తో నాకు ఇష్టమైనది కేవలం అక్కడ కట్ చేసి పేస్ట్ చేసి, వెంటనే హైలైట్ చేసే విషయాల కోసం వెతకండి మరియు నేను కొన్ని క్లాస్ కాల్‌లో అక్షర దోషం చేశానని గ్రహించాను. మరియు, కానీ ఈ విధమైన సాధనంతో ఇప్పుడు ఆసక్తికరంగా ఉంది, మీరు తిరిగి రావడానికి మరియు తరువాత చూడటానికి వ్యతిరేకంగా నిజ సమయంలో దీన్ని చేయవచ్చు, ఇది ముందస్తుగా పట్టుకోవడం మంచిది. కానీ అవును, ఇది వర్డ్ ప్రాసెసర్‌లో వచనాన్ని ఉంచే గొప్ప సారూప్యత, 'ఇది ఆసక్తికరమైన మేల్కొలుపు కాల్‌కి కారణం, మీరు కొన్ని అక్షరదోషాలు లేదా వ్యాకరణ లోపం కూడా చేశారని గ్రహించండి, సరియైనదా?

బెర్ట్ స్కాల్జో: సరిగ్గా.

డెజ్ బ్లాంచ్‌ఫీల్డ్: కాబట్టి, మీరు మా ప్రశ్న & జవాబుకు విసిరేముందు, మా హాజరైనవారికి, నా నుండి వచ్చిన చివరి ప్రశ్న, నేను from హించిన దాని నుండి ఇప్పుడు మీరు ఎక్కువ చూస్తున్నారా? మీరు దీన్ని చేయటానికి ఒక విధమైన సిఫారసు ఇవ్వబోతున్నట్లయితే - ఇది అలంకారికమని నేను uming హిస్తున్నాను - మీరు అభివృద్ధి చెందకముందే, మీరు ముందుగానే వచ్చి మీరు అభివృద్ధి చెందుతున్నప్పుడు దీనిని అమలు చేయాలా? లేదా మీరు ప్రధానంగా భవనం పొందడం, కదిలించడం, ఏదైనా నిర్మించడం, ఆపై లోపలికి వచ్చి తరువాత ప్రొఫైల్ చేయడం వంటివి ఉన్నాయా? ఇది ప్రారంభంలోనే ఉండి, మీ కోడ్ శుభ్రంగా ముందంజలో ఉందని నిర్ధారించుకోండి. లేదా వారు తమ పోస్ట్-డిప్లాయ్ యొక్క ఈ భాగాన్ని పరిగణనలోకి తీసుకోవలసిన సందర్భమా?

బెర్ట్ స్కాల్జో: ఆదర్శవంతంగా, వారు ముందస్తుగా చేస్తారు, కాని ప్రతిఒక్కరూ హస్టిల్, హల్‌చల్ ప్రపంచంలో ఉన్నందున వారు ఇప్పుడే పనిని పూర్తి చేసుకుంటారు, వారు పరిష్కరించలేని పనితీరు సమస్యలో పరుగెత్తే వరకు వారు దీన్ని చేయరు. వర్చువల్ మెషీన్‌కు మరిన్ని CPU లు మరియు మెమరీని జోడించడం.

డెజ్ బ్లాంచ్ఫీల్డ్: అవును. కాబట్టి, వాస్తవానికి మీరు ఆసక్తికరంగా ఏదైనా ప్రస్తావించారు, నేను త్వరగా చేయగలిగితే? మీరు ఎక్కడి నుండైనా దీన్ని అమలు చేయవచ్చని మరియు వెనుక చివర డేటాబేస్‌తో మాట్లాడవచ్చని మీరు ముందు పేర్కొన్నారు. కాబట్టి ఇది మనం ఇప్పుడు మాట్లాడే బిమోడల్ కాన్సెప్ట్‌తో సౌకర్యవంతంగా ఉంటుంది, ఆన్-ఆవరణ / ఆఫ్-ఆవరణ మేఘం, విషయాల రూపాన్ని బట్టి, రోజు చివరిలో, అది వెనుక చివరతో మాట్లాడి చూడగలిగితే కోడ్, ఇది నిజంగా పట్టించుకోదు, లేదా?

బెర్ట్ స్కాల్జో: సరిగ్గా, అవును, మీరు దీన్ని క్లౌడ్‌లో అమలు చేయవచ్చు.

డెజ్ బ్లాంచ్ఫీల్డ్: అద్భుతమైనది, 'మా కొత్త ధైర్య ప్రపంచం ఎక్కడికి వెళుతుందో నేను భావిస్తున్నాను. కాబట్టి, ఎరిక్. నేను ఇప్పుడు మీ వద్దకు తిరిగి విసిరేస్తాను మరియు మాకు ఇక్కడ కొన్ని ప్రశ్నలు వచ్చాయని చూద్దాం మరియు మేము గంట గడిచినప్పటికీ మా హాజరైనవారు మాతోనే ఉండాలని నేను కోరుకుంటున్నాను.

ఎరిక్ కవనాగ్: అవును, అక్కడ కొంతమంది ఉన్నారు, నేను త్వరగా వ్యాఖ్యానిస్తాను: బెర్ట్, స్పెల్ చెక్ ఉపయోగించటానికి మీరు ఇచ్చే సారూప్యత స్పష్టంగా తెలివైనదని నేను అనుకుంటున్నాను. ఇది చాలా స్పష్టంగా, ఒక బ్లాగ్ లేదా రెండింటికి యోగ్యమైనది, ఎందుకంటే మీరు ఏమి చేస్తున్నారో, మరియు అది ఎంత విలువైనది అనే సందర్భాన్ని రూపొందించడానికి ఇది మంచి మార్గం, మరియు డీబగ్గర్ను ఉపయోగించడానికి ఇది నిజంగా ఉత్తమ సాధనగా ఎలా ఉండాలి రోజూ, సరియైనదా? మీరు దాన్ని విసిరినప్పుడు మీరు కొన్ని తలలు వణుకుతున్నారని నేను పందెం వేస్తున్నాను, సరియైనదా?

బెర్ట్ స్కాల్జో: ఖచ్చితంగా, 'నేను వారికి చెప్పేది కారణం, “నేను నా పత్రాలపై స్పెల్ చెక్ ఎందుకు నడుపుతున్నాను? తెలివితక్కువ స్పెల్లింగ్ తప్పులతో నేను ఇబ్బంది పడకూడదనుకుంటున్నాను. ”సరే, వారు తెలివితక్కువ కోడింగ్ తప్పులతో ఇబ్బంది పడటం ఇష్టం లేదు!

ఎరిక్ కవనాగ్: కుడి. అవును నిజమే. బాగా, చేసారో, మేము ఇక్కడ ఒక గంట ఐదు నిమిషాలు కాల్చాము, మీ సమయం మరియు శ్రద్ధ కోసం మీ అందరికీ పెద్ద ధన్యవాదాలు. మేము ఈ వెబ్ చాట్‌లన్నింటినీ ఆర్కైవ్ చేస్తాము, ఎప్పుడైనా తిరిగి వచ్చి వాటిని తనిఖీ చేయడానికి సంకోచించకండి. ఆ లింక్‌లను కనుగొనడానికి ఉత్తమమైన ప్రదేశం బహుశా techopedia.com, కాబట్టి మేము దీన్ని ఇక్కడే ఈ జాబితాకు చేర్చుతాము.

మరియు దానితో, మేము మీకు వీడ్కోలు చెప్పబోతున్నాం, చేసారో. మరోసారి, గొప్ప ఉద్యోగం, బెర్ట్, IDERA నుండి మా స్నేహితులకు ధన్యవాదాలు. మేము మీతో తదుపరిసారి మాట్లాడుతాము, వచ్చే వారం మీతో మాట్లాడతాము. జాగ్రత్త! వీడ్కోలు.

వేగవంతమైన ప్రతిస్పందన: డేటాబేస్ డీబగ్గింగ్ మరియు ప్రొఫైలింగ్ రెస్క్యూ