Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 8677|Odpowiedź: 0

Dlaczego nie możesz się obyć bez Stackoverflow?

[Skopiuj link]
Opublikowano 04.10.2016 09:30:55 | | | |
Jako programista, jeśli nie słyszałeś o Stackoverflow, lepiej się nad tym zastanów. Jedna z książek programistycznych, które programiści powinni przeczytać najbardziej (właściwie wystarczy zostawić tę książkę na książki programistyczne!). ):

(Strona główna Jun mocno wstawiła, powyższe zdjęcie to parodia, niektórzy internauci wcześniej tego nie rozumieli, zwłaszcza że to mówili)
Dla tych programistów, którzy jeszcze nie czytali książki, czas ją kupić. Jeśli nadal się wahasz, zajrzyj do tego artykułu, aby zobaczyć, dlaczego nie możesz się obyć bez StackOverflow.
Mądrość zadawania pytań
Gdy zadajesz pytanie techniczne, to, czy otrzymasz użyteczną odpowiedź, często zależy od tego, jak zadasz i jak się do tego dostosujesz. —— Eric S. Raymond
Czasami jasny opis problemu, zwłaszcza technicznego, nie jest tak prosty, jak się wydaje. Zadawanie pytań zawsze było nauką, ale niestety wiele osób tego nie zdaje sobie sprawy lub nie zwraca na to wystarczającej uwagi. Albo niektórzy pytający w ogóle nie proszą o pomoc. Znajdziemy więc wszelkiego rodzaju pytania, na które ludzie nie potrafią odpowiedzieć lub nie chcą odpowiedzieć:
Problem z regex w Javie?
Czym jest czas reakcji na SLA?
Jaka jest różnica między klasami ATL a ogólnym dziedziczeniem klas?
Aby uniknąć zamknięcia lub modyfikacji powyższego problemu, wrzuć tutaj zdjęcie, żeby doświadczyć tego cholernego problemu:

Wiele z tych pytań znajdziesz w nierozwiązanych pytaniach na SegmentFault, więc wiele osób ewidentnie nie ma mądrości ani nastawienia, by je zadawać. Raymond i Rick Moen napisali klasyczny esej o tym, jak zadawać pytania, The Smart Way (http://www.catb.org/~esr/faqs/smart-questions.html#translations), który został przetłumaczony na różne języki, szeroko rozpowszechniony i można go znaleźć w chińskim wydaniu tutaj. Stackoverflow i Segmentfalut również mają sugestie dotyczące zadawania pytań:
Centrum pomocy > Pytanie
Jak zapytać
Jak zadać dobre pytanie?
Jakie pytania są mile widziane
Na Stackoverflow jest zbyt wiele klasycznych pytań, a my możemy nauczyć się zadawać pytania i komunikować się z osobami odpowiadającymi. Kiedy przyzwyczaisz się do czytania pytań na stackoverflow, nieświadomie je naśladujesz podczas zadawania pytań, unikając tym samym bezmyślnych pytań. Oto niektóre z najważniejszych pytań, na które warto zwrócić uwagę podczas zadawania pytań:
Zadaj pytanie, na które wyszukiwarka nie ma satysfakcjonującej odpowiedzi (Google ma co najmniej cztery strony).
Zadawaj pytania, na które sam nie potrafisz odpowiedzieć i których próbowałeś wiele
Staraj się opisać problem jak najjaśniej: dobra typografia, kod, polecenia błędów, obrazki itd
Spraw, by Twoje pytania były pomocne dla innych
Powinna być jednoznaczna odpowiedź na to pytanie i nie powinno być zbyt dużej subiektywności
Różne schematy
Często mamy nadzieję znaleźć rozwiązanie, ale na Stackoverflow często pojawiają się nieoczekiwane korzyści. Możesz zobaczyć różne rozwiązania problemu, w tym nawet porównania tych rozwiązań.
Załóżmy teraz, że chcesz wiedzieć, jak wywołać zewnętrzne polecenie w Pythonie, takie jak ls -l, aby wydrukować artykuł w katalogu. Wyszukaj w Google polecenie system wywołań w Pythonie, a pierwsze pytanie dotyczy powiązanego pytania na stackoverflow: Wywołanie zewnętrznego polecenia w Pythonie. (http://stackoverflow.com/questio ... l-command-in-python) (wyświetlą się problemy techniczne w Google, zasadniczo problemy związane ze stackoverflow).
Następnie pod tym pytaniem ktoś podsumowuje kilka sposobów wywoływania zewnętrznych poleceń:
os.system()
os.popen()
subprocess.popen()
subprocess.call()
subprocess.run()
Każda metoda jest również wprowadzana, możesz wybrać taką, która pasuje do twojego scenariusza zastosowania. Innym przykładem jest pytanie: Jak sprawdzić, czy plik istnieje za pomocą Pythona? (http://stackoverflow.com/questio ... exists-using-python), który opisuje różne metody w Pythonie do sprawdzania obecności pliku.
Wykorzystanie narzędzi
Istnieje wiele potężnych narzędzi, które mogą pomóc nam lepiej analizować problemy, możesz znać narzędzie do debugowania gdb, moduł monitorowania timeit w Pythonie, ale nie znasz narzędzi, których nie znasz. Często, gdy poznajemy narzędzie, mamy wrażenie, że spotykamy się zbyt późno. Jednak narzędzia, które lubisz, zawsze są bardzo trudne do zdobycia.
Na Stackoverflow mogą znaleźć się dobre narzędzia w każdym pytaniu, odpowiedzi czy komentarzu, a zawsze będziesz mieć szansę znaleźć te najlepsze, które zostały za liniami.
Oto lista kilku świetnych narzędzi, które znalazłem:
Truss/Strace: śledzi wywołania systemowe i sygnały odebrane podczas wykonywania procesu, STRACE może śledzić wywołania systemowe generowane przez proces, w tym parametry, wartości zwrotne i czas wykonywania. (Z pytania: Dlaczego czytanie linii ze stdin jest znacznie wolniejsze w C++ niż w Pythonie?)
vprof: Narzędzie wizualne analizujące cechy programów w Pythonie, takie jak czas działania, zużycie pamięci itp. (Z pytania: Jak można profilować Pythona?)
Regex 101: Internetowy asystent wyrażeń regularnych, który pomoże Ci zrozumieć znaczenie wyrażeń regularnych, debugować wyrażenia regularne i prowadzić proste eksperymenty. (Z numeru: Nauka wyrażeń regularnych)
Oto prosty przykład Regex 101:

Proces myślenia
Często, gdy napotykamy problem, nie mamy jak zacząć i nie wiemy, w którą stronę myśleć. Ale dzięki stackoverflow łatwo możemy znaleźć konkretne rozwiązanie, a czasem nawet wiedzieć, co inni myślą w obliczu tego problemu.
Załóżmy, że chcesz użyć dekoratora, aby wykonać zadanie, dodając przed i po ciągu ciągu zwrotnym przez funkcję say poniżej, i rozważasz definiowanie powiedzenia w ten sposób.
@makebold
@makeitalic
Def say():
return"Hello"
Każde połączenie z powrotem na Hello. Ale jak zaimplementować makebold i makeitalic to problem. Na Stackoverflow są duże byki, które od razu podają odpowiedź i podają link do dokumentacji dekoratorów. Ale są też Daniels, którzy szczegółowo opowiedzą o swoim procesie myślenia i zrozumieniu dekoratorów, dzięki czemu można było głęboko zrozumieć mechanizm dekoratora.
W odpowiedzi na powyższe pytanie istnieje odpowiedź, która otrzymała ponad 3 000 polubień i informuje, jak krok po kroku rozwiązać problem. Przede wszystkim opowiedz nam, jakie są cechy funkcji w Pythonie:
Funkcje są obiektami
Funkcję można przypisać zmiennej
Funkcję można zdefiniować w innej funkcji
Jedna funkcja może zwracać inną funkcję
Możesz przekazać funkcje jako parametry
Następnie zacznij tłumaczyć, czym jest dekorator: to w rzeczywistości kapsułka, która pozwala nam wykonywać inny kod przed i po wykonaniu oryginalnej funkcji bez jej modyfikacji. Prosty prototyp dekoratora jest realizowany ręcznie, po czym wprowadza się składnię dekoratora w Pythonie. Na koniec wymieniono zaawansowane zastosowania dekoratorów, w tym przekazywanie parametrów dekoratorom. Przeczytaj całą odpowiedź, na pewno będziesz lepiej rozumieć dekoratora i znać proces myślenia o jego zrozumieniu projektanta. W ten sposób, podążając tą ścieżką myślenia, możesz sam wywnioskować, jak korzystać z dekoratorów.
Możliwe martwe punkty
Gdy nie masz żadnych pytań, możesz od czasu do czasu odwiedzić stackoverflow, przejrzeć pytania z większą liczbą głosów i zobaczyć, na co inni odpowiedzieli. W tej ogromnej bazie wiedzy najprawdopodobniej znajdziesz niektóre ze swoich poznawczych słabości i zauważysz treści, na które nigdy wcześniej nie zwracałeś uwagi.
Znalazłem kilka ciekawych pytań, takich jak:
Drukować w terminalu kolorami w Pythonie?
Czym jest metaklasa w Pythonie?
Jaki jest Twój najbardziej produktywny skrót z Vim?
Przygotowałem tutaj listę wysokiej jakości pytań z Pythona, do których często się odwołuję.
Żałuję, że spotkaliśmy się za późno
Jak znaleźć StackOverflow, dwie sugestie:
Opisz problem precyzyjnie po angielsku
Wyszukaj to w Google
Dopóki nie jesteś pierwszą osobą, która napotkała problem techniczny, prawdopodobnie znajdziesz ten sam lub podobny problem na StackOverflow. Spotkaj się wkrótce, zakochaj się w Stackoverflow wcześnie, a przekonasz się, że życie jest bardzo wygodne.





Poprzedni:VPN z połączeniem wsadowym Windows modyfikuje tabelę routingu
Następny:node.js interfejs modułowy
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com