Pytania oznaczone «internals»

2018
Jak faktycznie działa foreach PHP?

Pozwólcie, że poprzedzę to stwierdzeniem, że wiem, co to foreachjest, robi i jak z niego korzystać. To pytanie dotyczy tego, jak działa pod maską, i nie chcę żadnych odpowiedzi w stylu „w ten sposób zapętlasz tablicę za pomocą foreach”. Przez długi czas zakładałem, że foreachdziała z samą...

616
W jaki sposób bcrypt może mieć wbudowane sole?

Artykuł Cody Hale „Jak bezpiecznie przechowywać hasło” twierdzi, że: bcrypt ma wbudowane sole, aby zapobiec atakom na tęczowy stół. Cytuje ten artykuł , który mówi, że w implementacji OpenBSD bcrypt: OpenBSD generuje 128-bitową sól bcrypt ze strumienia klucza arcfour (arc4random (3)),...

374
Kiedy del jest przydatny w Pythonie?

Naprawdę nie mogę wymyślić żadnego powodu, dla którego python potrzebuje delsłowa kluczowego (a większość języków wydaje się nie mieć podobnego słowa kluczowego). Na przykład zamiast usuwać zmienną, można ją po prostu przypisać None. Podczas usuwania ze słownika delmożna dodać metodę. Czy jest...

250
Po co używać metody publicznej w klasie wewnętrznej?

W jednym z naszych projektów jest dużo kodu, który wygląda następująco: internal static class Extensions { public static string AddFoo(this string s) { if (s == null) { return "Foo"; } return $({s}Foo); } } Czy jest jakiś wyraźny powód, aby to zrobić inaczej niż „łatwiej jest upublicznić...

244
Co to jest globalna blokada tłumacza (GIL) w CPython?

Co to jest globalna blokada tłumacza i dlaczego stanowi problem? Podczas usuwania GIL z Pythona powstało wiele hałasu i chciałbym zrozumieć, dlaczego jest to takie ważne. Nigdy sam nie napisałem kompilatora ani tłumacza, więc nie bądź oszczędny w szczegółach, prawdopodobnie potrzebuję ich do...

170
Jak działa debugger?

Ciągle się zastanawiam, jak działa debugger? W szczególności ten, który można „dołączyć” do już działającego pliku wykonywalnego. Rozumiem, że kompilator tłumaczy kod na język maszynowy, ale skąd debugger „wie”, do czego jest