Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 8677|Atsakyti: 0

Kodėl negalite išsiversti be "Stackoverflow"?

[Kopijuoti nuorodą]
Paskelbta 2016-10-04 09:30:55 | | | |
Kaip programuotojas, jei nesate girdėję apie "Stackoverflow", geriau pagalvokite apie tai. Viena iš programavimo knygų, kurią programuotojams reikia skaityti labiausiai (tiesą sakant, pakanka palikti šią programavimo knygoms!). ):

(Pagrindinis puslapis Jun stipriai įterptas, aukščiau esantis paveikslėlis yra apgaulingas paveikslėlis, kai kurie internautai anksčiau to nesuprato, ypač sakyti)
Tiems programuotojams, kurie dar neskaitė knygos, laikas ją įsigyti. Jei vis dar esate ant tvoros, peržiūrėkite šį straipsnį, kad sužinotumėte, kodėl negalite išsiversti be "StackOverflow".
Išmintis užduoti klausimus
Kai užduodate techninį klausimą, ar gausite naudingą atsakymą, dažnai priklauso nuo to, kaip klausiate ir kaip elgiatės. - Erikas S. Raymondas
Kartais aiškus problemos, ypač techninės, aprašymas nėra toks paprastas, kaip atrodo. Klausimų uždavimas visada buvo mokslas, bet, deja, daugelis žmonių to nesuvokia arba neskiria tam pakankamai dėmesio. Arba kai kurie klausėjai visai neprašo pagalbos. Taigi rasime įvairiausių klausimų, į kuriuos žmonės negali atsakyti arba nenori atsakyti:
Java regex problema?
Kas yra SLA atsakymo laikas?
Kuo skiriasi ATL klasės ir bendrosios klasės paveldėjimas?
Siekiant išvengti pirmiau minėtos problemos uždarymo ar modifikavimo, įdėkite paveikslėlį čia patirti šią šūdą problemą:

Daugybę šių klausimų galite rasti neatsakytuose "SegmentFault" klausimuose, todėl daugelis žmonių akivaizdžiai neturi išminties ar požiūrio užduoti klausimus. Raymondas ir Rickas Moenai parašė klasikinį esė apie tai, kaip užduoti klausimus "Išmanusis kelias" (http://www.catb.org/~esr/faqs/smart-questions.html#translations), kuris buvo išverstas į įvairias kalbas ir yra plačiai platinamas ir kurį galima rasti kinų kalba čia. "Stackoverflow" ir "Segmentfalut" taip pat turi pasiūlymų, kaip užduoti klausimus:
Pagalbos centras > klausimas
Kaip paklausti
Kaip užduoti gerą klausimą?
Kokie klausimai laukiami
"Stackoverflow" yra per daug klasikinių klausimų, todėl galime išmokti užduoti klausimus ir bendrauti su atsakymais. Kai įprasite skaityti klausimus stackoverflow, užduodami klausimus nesąmoningai imituosite juos, taip išvengdami klausimų be smegenų. Štai keletas svarbiausių klausimų, į kuriuos reikia atkreipti dėmesį užduodant klausimus:
Užduokite klausimą, į kurį paieškos sistema neturi patenkinamo atsakymo ("Google" yra mažiausiai keturių puslapių senumo).
Užduokite klausimus, kurių negalite išspręsti patys ir daug išbandėte
Stenkitės kuo aiškiau apibūdinti problemą: gera tipografija, kodas, klaidų raginimai, paveikslėliai ir kt
Padarykite savo klausimus naudingus kitiems
Turėtų būti aiškus atsakymas į klausimą ir neturėtų būti per daug subjektyvumo
Skirtingos schemos
Daug kartų tikimės rasti sprendimą, tačiau "Stackoverflow" dažnai būna netikėtų laimėjimų. Galite pamatyti skirtingus problemos sprendimus, įskaitant net tų sprendimų palyginimus.
Tarkime, kad dabar norite sužinoti, kaip iškviesti išorinę komandą Python, pvz., ls -l, kad atspausdintumėte straipsnį kataloge. "Google" python skambučių sistemos komanda, o pirmasis yra susijęs klausimas apie stackoverflow: išorinės komandos iškvietimas Python. (http://stackoverflow.com/questio ... l-command-in-python) (Google techninės problemos, iš esmės bus rodomos su stackoverflow susijusios problemos).
Tada pagal šį klausimą kažkas apibendrina kelis būdus, kaip iškviesti išorines komandas:
os.system()
os.popen()
subprocess.popen()
subprocess.call()
subprocess.run()
Taip pat pristatomas kiekvienas metodas, galite pasirinkti metodą, atitinkantį jūsų taikymo scenarijų. Kitas pavyzdys yra klausimas: kaip patikrinti, ar failas egzistuoja naudojant Python? (http://stackoverflow.com/questio ... exists-using-python), kuriame aprašomi skirtingi Python metodai, skirti patikrinti, ar nėra failo.
Įrankių naudojimas
Yra daug galingų įrankių, kurie gali padėti mums geriau ištirti problemas, galbūt žinote gdb derinimo įrankį, galbūt žinote python timeit stebėjimo modulį, bet nežinote įrankių, kurių nežinote. Daug kartų, kai pirmą kartą pažįstame įrankį, jaučiamės, kad susitiksime per vėlai. Tačiau jums patinkančių įrankių visada taip sunku rasti.
"Stackoverflow" kiekviename klausime ar komentare gali būti gerų įrankių, ir visada turėsite galimybę rasti geriausius, kurie liko už eilučių.
Štai keletas puikių įrankių, kuriuos radau, sąrašas:
TRUSS/STRACE: seka sistemos skambučius ir gautus signalus Kai procesas vykdomas, STRACE gali sekti proceso sugeneruotus sistemos skambučius, įskaitant parametrus, grąžinimo reikšmes ir vykdymo laiką. (Iš klausimo: Kodėl C++ eilučių skaitymas iš stdin yra daug lėtesnis nei Python?)
vprof: vaizdinis įrankis, analizuojantis Python programų charakteristikas, tokias kaip vykdymo laikas, atminties naudojimas ir kt. (Iš klausimo: Kaip galite profiliuoti Python?)
Regex 101: internetinis reguliariųjų reiškinių asistentas, kuris gali padėti suprasti reguliariųjų reiškinių reikšmę, derinti reguliariąsias išraiškas ir atlikti paprastus eksperimentus. (Iš numerio: Reguliariųjų posakių mokymasis)
Štai paprastas Regex 101 pavyzdys:

Mąstymo procesas
Daug kartų, kai susiduriame su problema, neturime galimybės pradėti ir nežinome, kuria kryptimi mąstyti. Tačiau naudodami "stackoverflow" galime lengvai sužinoti konkretų sprendimą, o kartais net žinoti, ką galvoja kiti, susidūrę su šia problema.
Tarkime, kad norite naudoti dekoratorių, kad atliktumėte užduotį, pridėdami prieš ir po eilutės, kurią grąžina toliau pateikta funkcija say, ir galvojate apie tokį tarimo apibrėžimą.
@makebold
@makeitalic
def pasakyti ():
grįžti"Sveiki"
Kiekvienas skambutis atsako "Labas". Bet kaip įgyvendinti makebold ir makeitalic yra problema. "Stackoverflow" yra didelių bulių, kurie tiesiogiai pasakys jums atsakymą ir pateiks nuorodą į dekoratorių dokumentus. Tačiau yra ir Danielių, kurie išsamiai papasakos apie savo mąstymo procesą ir supratimą apie dekoratorius, kad galėtumėte giliai suprasti dekoratoriaus mechanizmą.
Atsakant į aukščiau pateiktą klausimą, yra atsakymas, kuris sulaukė daugiau nei 3 000 patiktukų, nurodantis, kaip žingsnis po žingsnio išspręsti problemą. Pirmiausia papasakokite, kokios yra python funkcijų savybės:
Funkcijos yra objektai
Funkciją galima priskirti kintamajam
Funkciją galima apibrėžti kitoje funkcijoje
Viena funkcija gali grąžinti kitą funkciją
Galite perduoti funkcijas kaip parametrus
Tada pradėkite aiškinti, kas yra dekoratorius: iš tikrųjų tai yra inkapsuliatorius, leidžiantis vykdyti kitą kodą prieš ir po pradinės funkcijos vykdymo jos nekeičiant. Paprastas dekoratoriaus prototipas įgyvendinamas rankomis, o po to įdiegiama dekoratoriaus sintaksė Python. Galiausiai išvardyti kai kurie išplėstiniai dekoratorių naudojimo būdai, įskaitant parametrų perdavimą dekoratoriams. Perskaitykite visą atsakymą, tikrai turėsite gilesnį supratimą apie dekoratorių ir žinosite mąstymo procesą, kaip suprasti dekoratorių. Tokiu būdu, eidami šiuo minties keliu, jūs patys galite nuspręsti, kaip naudotis dekoratoriais.
Galimos aklosios zonos
Kai neturite klausimų, taip pat retkarčiais galite apsilankyti stackoverflow, naršyti kai kuriuos klausimus su daugiau balsų ir pamatyti, ką atsakė kiti. Šioje didžiulėje žinių bazėje greičiausiai rasite keletą savo kognityvinių aklųjų zonų ir atrasite turinį, į kurį niekada nekreipėte dėmesio.
Radau keletą įdomių klausimų, tokių kaip:
Spausdinti terminale su spalvomis naudojant Python?
Kas yra metaklasė Python?
Koks yra jūsų produktyviausias spartusis kelias su Vim?
Čia sudariau aukštos kokybės Python klausimų sąrašą, kad galėčiau dažnai naudotis.
Apgailestauju, kad susitikome per vėlai
Taigi, kaip rasti "StackOverflow", du pasiūlymai:
Tiksliai apibūdinkite problemą anglų kalba
"Google"
Kol nesate pirmas asmuo, susidūręs su technine problema, tikriausiai rasite tą pačią ar panašią problemą "StackOverflow". Netrukus susitikite, anksti įsimylėkite Stackoverflow ir pamatysite, kad gyvenimas yra toks patogus.





Ankstesnis:"Windows" paketinio ryšio VPN keičia maršruto parinkimo lentelę
Kitą:node.js modulinė sąsaja
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com