Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 8677|Vastaus: 0

Miksi et voi olla ilman Stackoverflow'ta?

[Kopioi linkki]
Julkaistu 4.10.2016 9.30.55 | | | |
Ohjelmoijana, jos et ole kuullut Stackoverflowsta, kannattaa miettiä asiaa. Yksi ohjelmointikirjoista, joita ohjelmoijat tarvitsevat eniten lukea (itse asiassa riittää, että tämä jätetään ohjelmointikirjoille!). ):

(Etusivu, jonka Jun vahvasti lisäsi, yllä oleva kuva on parodia, jotkut nettikäyttäjät eivät ymmärtäneet tätä aiemmin, varsinkaan sanoakseen sen)
Niille ohjelmoijille, jotka eivät ole vielä lukeneet kirjaa, on aika ostaa sellainen. Jos olet vielä epävarma, tutustu tähän artikkeliin ja ymmärrät, miksi et voi olla ilman StackOverflow'ta.
Kysymysten esittämisen viisaus
Kun kysyt teknisen kysymyksen, saat hyödyllisen vastauksen usein siitä, miten kysyt ja miten seuraat. —— Eric S. Raymond
Joskus ongelman, erityisesti teknisen, selkeä kuvaus ei ole niin yksinkertainen kuin miltä se vaikuttaa. Kysymysten esittäminen on aina ollut tiedettä, mutta valitettavasti moni ei tajua sitä tai kiinnitä siihen tarpeeksi huomiota. Tai jotkut kysyjät eivät pyydä apua lainkaan. Siksi löydämme kaikenlaisia kysymyksiä, joihin ihmiset eivät pysty vastaamaan tai joita he eivät halua vastata:
Java regex -ongelma?
Mikä on SLA:n vasteaika?
Mikä on ero ATL-luokkien ja yleisen kurssiperiytymisen välillä?
Jotta yllä mainittu ongelma ei suljeta tai muuttuisi, laita kuva tähän ja kokeile tämän paskaongelman:

Näitä kysymyksiä löytyy paljon SegmentFaultin vastaamattomista kysymyksistä, joten monilla ihmisillä ei selvästi ole viisautta tai asennetta kysyä kysymyksiä. Raymond ja Rick Moen kirjoittivat klassisen esseen kysymysten esittämisestä nimeltä The Smart Way (http://www.catb.org/~esr/faqs/smart-questions.html#translations), joka on käännetty useille kielille ja laajasti levitetty ja löytyy kiinalaisena painoksesta täältä. Stackoverflow'lla ja Segmentfalutilla on myös ehdotuksia kysymysten esittämiseen:
Ohjekeskus > Kysy
Kuinka kysyä
Miten kysyn hyvän kysymyksen?
Millaisia kysymyksiä otetaan vastaan
Stackoverflow'ssa on liikaa klassisia kysymyksiä, ja voimme oppia esittämään kysymyksiä ja kommunikoimaan vastaajien kanssa. Kun totut lukemaan kysymyksiä Stackoverflowssa, alat tiedostamatta matkia niitä kysymyksiä esittäessäsi, jolloin vältät aivottomia kysymyksiä. Tässä on joitakin tärkeimpiä kysymyksiä, joihin kannattaa kiinnittää huomiota kysymyksiä esittäessä:
Kysy kysymys, johon hakukoneella ei ole tyydyttävää vastausta (Google on vähintään neljä sivua vanha).
Kysy kysymyksiä, joita et pysty ratkaisemaan itse ja joita olet yrittänyt paljon
Yritä kuvata ongelma mahdollisimman selkeästi: hyvä typografia, koodi, virhekehotteet, kuvat jne
Tee kysymyksistäsi hyödyllisiä muille
Kysymykseen pitäisi olla selkeä vastaus, eikä subjektiivisuutta pitäisi olla liikaa
Eri järjestelmät
Monesti toivomme löytävämme ratkaisun, mutta Stackoverflowssa tulee usein odottamattomia hyötyjä. Saatat nähdä erilaisia ratkaisuja ongelmaan, mukaan lukien jopa vertailuja niiden välillä.
Oletetaan, että nyt haluat tietää, miten kutsua ulkoinen komento Pythonissa, kuten ls -l, tulostaaksesi artikkelin hakemiston alle. Googlaa python-kutsujärjestelmäkomento, ja ensimmäinen on liittyvä kysymys stackoverflow-aiheesta: Ulkoisen komennon kutsuminen Pythonissa. (http://stackoverflow.com/questio ... l-command-in-python) (Google teknisiä ongelmia, käytännössä stackoverflow-ongelmia näytetään).
Tämän kysymyksen alla joku tiivistää useita tapoja kutsua ulkoisia komentoja:
os.system()
os.popen()
subprocess.popen()
subprocess.call()
subprocess.run()
Ja jokainen menetelmä esitellään myös, voit valita menetelmän, joka sopii sovellustilanteeseesi. Toinen esimerkki on kysymys: Kuinka tarkistaa, onko tiedosto olemassa Pythonilla? (http://stackoverflow.com/questio ... exists-using-python), joka kuvaa erilaisia menetelmiä Pythonissa tiedoston läsnäolon tarkistamiseksi.
Työkalujen käyttö
On olemassa monia tehokkaita työkaluja, jotka voivat auttaa meitä tutkimaan ongelmia paremmin, saatat tuntea gdb-virheenkorjaustyökalun, saatat tuntea Pythonin timeit-seurantamoduulin, mutta et tiedä työkaluja, joita et tunne. Monesti, kun tunnemme työkalun ensimmäistä kertaa, tuntuu kuin tapaamme liian myöhään. Kuitenkin työkalut, joista pidät, ovat aina niin vaikeita löytää.
Stackoverflow'ssa jokaisessa kysymyksen vastauksessa tai kommentissa voi olla hyviä työkaluja, ja sinulla on aina mahdollisuus löytää parhaat työkalut, jotka ovat jääneet linjojen taakse.
Tässä on lista joistakin loistavista työkaluista, joita löysin:
Truss/Strace: Seuraa järjestelmäkutsuja ja vastaanotettuja signaaleja prosessin aikana, Strace voi seurata prosessin tuottamia järjestelmäkutsuja, mukaan lukien parametrit, palautusarvot ja suoritusajan. (Kysymyksestä: Miksi rivien lukeminen stdinistä on paljon hitaampaa C++:ssa kuin Pythonissa?)
vprof: Visuaalinen työkalu, joka analysoi Python-ohjelmien ominaisuuksia, kuten ajonaikaa, muistin käyttöä jne. (Kysymyksestä: Miten voit profiloida Pythonia?)
Regex 101: Verkossa toimiva säännöllisen lausekkeen avustaja, joka voi auttaa sinua ymmärtämään säännöllisten lausekkeiden merkitystä, debugittamaan säännöllisiä lausekkeita ja tekemään yksinkertaisia kokeita. (Numerosta: Säännöllisten lausekkeiden oppiminen)
Tässä on yksinkertainen esimerkki Regex 101:stä:

Ajatteluprosessi
Monesti, kun kohtaamme ongelman, meillä ei ole keinoa aloittaa emmekä tiedä, mihin suuntaan ajatella. Mutta stackoverflow'n avulla voimme helposti löytää tarkan ratkaisun ja joskus jopa tietää, mitä muut ajattelevat kohdatessaan tämän ongelman.
Oletetaan, että haluat käyttää koristelijaa tehtävän suorittamiseen lisäämällä ennen ja jälkeen alla olevan say-funktion palauttaman merkkijonon, ja harkitset esimerkiksi määrittelyä näin.
@makebold
@makeitalic
def say():
paluu"Hei"
Jokainen soitto vastaa Hello. Mutta makeboldin ja makeitalicin toteuttaminen on ongelma. Stackoverflow'ssa on isoja härkiä, jotka kertovat vastauksen suoraan ja heittävät linkin sisustajien dokumentaatioon. Mutta on myös Daniels, joka kertoo yksityiskohtaisesti ajatteluprosessistaan ja ymmärryksestään sisustajista, jotta voit syvällisesti ymmärtää sisustajamekanismin.
Vastauksena yllä olevaan kysymykseen on vastaus, joka on saanut yli 3 000 tykkäystä ja kertoo, miten ongelma ratkaistaan askel askeleelta. Kerro ensiksi, mitkä ovat pythonin funktioiden ominaisuudet:
Funktiot ovat objekteja
Funktio voidaan liittää muuttujalle
Funktio voidaan määritellä toisessa funktiossa
Yksi funktio voi palauttaa toisen funktion
Voit välittää funktioita parametreina
Sitten ala selittää, mitä sisustaja on: se on itse asiassa kapselaattori, jonka avulla voimme suorittaa muuta koodia ennen ja jälkeen alkuperäisen toiminnon ilman muutoksia. Yksinkertainen sisustusprototyyppi toteutetaan käsin, minkä jälkeen Pythonissa otetaan käyttöön sisustussyntaksi. Lopuksi on lueteltu joitakin koristelijoiden edistyneitä käyttötarkoituksia, kuten parametrien siirtäminen sisustajille. Lue koko vastaus, saat varmasti syvemmän ymmärryksen sisustajasta ja tunnet hänen ajatteluprosessinsa. Näin seuraamalla tätä ajatuspolkua voit itse päätellä, miten käyttää sisustajia.
Mahdolliset sokeat pisteet
Kun sinulla ei ole kysymyksiä, voit myös käydä Stackoverflow'ssa silloin tällöin, selata kysymyksiä, joissa on enemmän ääniä, ja katsoa, mihin muut ovat vastanneet. Tässä laajassa tietopohjassa löydät todennäköisesti joitakin kognitiivisia sokeita pisteitä ja sisältöä, johon et ole koskaan kiinnittänyt huomiota.
Löysin mielenkiintoisia kysymyksiä, kuten:
Tulostaa terminaalissa väreillä Pythonilla?
Mikä on metaluokka Pythonissa?
Mikä on tuottavin pikareittisi Vimin kanssa?
Olen koonnut listan laadukkaista Python-kysymyksistä täällä usein käytettäväksi.
Kadun, että tapasimme liian myöhään
Miten siis löytää StackOverflow, kaksi ehdotusta:
Kuvaile ongelma tarkasti englanniksi
Googlaa se
Kunhan et ole ensimmäinen, joka kohtaa teknisen ongelman, löydät todennäköisesti saman tai samankaltaisen ongelman StackOverflowsta. Tapaa pian, rakastu Stackoverflow'hun varhain, ja huomaat, että elämä on niin mukavaa.





Edellinen:Windowsin eräyhteys VPN muuttaa reititystaulukkoa
Seuraava:node.js modulaarinen liitäntä
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com