Kategoria: Blog

Nowa metoda zarządzania pamięcią od Facebooka

Jeden z członków zespołu deweloperskiego serwisu społecznościowego Facebook, Roman Guścin, zaproponował w wiadomości do programistów zestaw poprawek do jądra Linux, skierowanych na poprawę pracy z pamięcią poprzez wdrożenie nowego kontrolera zarządzania — slab (slab memory controller). Przydział slab to mechanizm zarządzania pamięcią, zaprojektowany w celu efektywniejszego przydzielania pamięci i likwidacji znacznej fragmentacji. Podstawą […]

Oszczędzamy kilka groszy przy dużych ilościach w PostgreSQL

Kontynuując temat zapisu dużych strumieni danych poruszony w poprzednim artykule o partycjonowaniu, rozważymy metody, którymi można zmniejszyć „fizyczny” rozmiar przechowywanych danych w PostgreSQL oraz ich wpływ na wydajność serwera. Mowa będzie o ustawieniach TOAST i wyrównywaniu danych. „Średnio” te metody pozwolą zaoszczędzić niezbyt dużo zasobów, ale — kompletnie bez modyfikacji kodu aplikacji. Jednakże, […]

Piszemy w PostgreSQL na podświetlonym: 1 host, 1 dzień, 1TB

Niedawno opowiedziałem, jak za pomocą typowych receptur zwiększyć wydajność zapytań SQL „do odczytu” z bazy PostgreSQL. Dziś mowa będzie o tym, jak można efektywniej zapisywać dane w bazie bez użycia jakichkolwiek „pokoi” w konfiguracji — po prostu poprzez prawidłową organizację przepływów danych. #1. Sekcjonowanie Artykuł na temat tego, jak i dlaczego warto organizować aplikacyjne sekcjonowanie „w teorii” […]

Wydanie serwerowej platformy JavaScript Node.js 14.0

Nastąpił wydanie Node.js 14.0, platformy do uruchamiania aplikacji sieciowych w języku JavaScript. Node.js 14.0 należy do gałęzi z długoterminowym wsparciem, ale ten status zostanie nadany dopiero w październiku, po zakończeniu stabilizacji. Wsparcie dla Node.js 14.0 będzie świadczone do kwietnia 2023 roku. Utrzymanie wcześniejszej gałęzi LTS Node.js 12.0 potrwa do kwietnia 2022 roku, a przedostatniej gałęzi LTS 10.0 […]

W RubyGems zidentyfikowano 724 złośliwe pakiety

Firma ReversingLabs opublikowała wyniki analizy zastosowania typosquattingu w repozytorium RubyGems. Zwykle typosquatting stosowane jest do rozprzestrzeniania złośliwych pakietów, które mają na celu, aby nieostrożny programista popełnił literówkę podczas wyszukiwania lub nie dostrzegł różnicy. W trakcie badania zidentyfikowano ponad 700 pakietów, których nazwy są podobne do popularnych pakietów i różnią się jedynie nieznacznymi detalami, na przykład zamianą podobnych liter lub użyciem […]

Dostępny rebuilderd do niezależnej weryfikacji Arch Linux za pomocą powtarzalnych kompilacji

Wprowadzono narzędzie rebuilderd, które umożliwia niezależne sprawdzanie binarnych pakietów dystrybucji poprzez wdrażanie ciągłego procesu kompilacji, porównującego pobrane pakiety z pakietami uzyskanymi w wyniku rekonfiguracji na lokalnym systemie. Narzędzie jest napisane w języku Rust i jest udostępniane na licencji GPLv3. Obecnie rebuilderd oferuje tylko eksperymentalne wsparcie weryfikacji pakietów z Arch Linux, ale wkrótce […]

Przewodnik po CI/CD w GitLab dla (prawie) absolutnych nowicjuszy

Albo jak zdobyć piękne badge'e dla swojego projektu w jeden wieczór niewymagającego kodowania. Pewnie każdy programista, który ma przynajmniej jeden projekt typu pet, w pewnym momencie zaczyna czuć potrzebę stworzenia pięknych badge'y ze statusami, pokryciem kodu, wersjami pakietów w nuget… I ten bodziec skłonił mnie do napisania tego artykułu. W trakcie przygotowań do jego napisania ja […]

Trzy lata w Ameryce Łacińskiej: jak wyjechałem za marzeniem i wróciłem po totalnej „resetowaniu”

Cześć, Habr, nazywam się Sasza. Po 10 latach pracy jako inżynier w Moskwie postanowiłem radykalnie zmienić życie — kupiłem bilet w jedną stronę i wyjechałem do Ameryki Łacińskiej. Nie wiedziałem, co mnie czeka, ale muszę przyznać, że to była jedna z najlepszych decyzji w moim życiu. Dziś chcę opowiedzieć, z czym się zmierzyłem przez trzy lata w […]

W FreeBSD usunięto zdalnie wykorzystane luki w zabezpieczeniach w ipfw

W filtrze pakietów ipfw usunięto dwie luki w kodzie do analizy opcji TCP, spowodowane nieprawidłową weryfikacją danych w przetwarzanych pakietach sieciowych. Pierwsza luka (CVE-2019-5614) przy przetwarzaniu w pewien sposób sformatowanych pakietów TCP może prowadzić do dostępu do pamięci poza przydzielonym buforem mbuf, a druga (CVE-2019-15874) do odwołania się do już zwolnionych obszarów pamięci (use-after-free). Analiza przydatności wykrytych problemów dla […]

Opublikowano OpenSSL 1.1.1g z poprawką luki związanej z TLS 1.3

Dostępna jest poprawkowa wersja biblioteki kryptograficznej OpenSSL 1.1.1g, w której usunięto lukę (CVE-2020-1967), prowadzącą do odmowy usługi przy próbie negocjacji połączenia TLS 1.3 z kontrolowanym przez przestępcę serwerem lub klientem. Lukom przypisano wysoki poziom zagrożenia. Problem występuje tylko w aplikacjach korzystających z funkcji SSL_check_chain(), co prowadzi do awarii procesu przy nieprawidłowym użyciu rozszerzenia TLS „signature_algorithms_cert”. Szczególnie przy […]

Wydanie systemu inicjalizacji GNU Shepherd 0.8

Dostępny jest menedżer usług GNU Shepherd 0.8 (dawniej dmd), rozwijany przez programistów dystrybucji GNU Guix System jako alternatywa dla systemu inicjalizacji SysV-init. Demony i narzędzia Shepherd są napisane w języku Guile (jedna z implementacji języka Scheme), który jest również wykorzystywany do definiowania ustawień i parametrów uruchamiania usług. Shepherd jest już stosowany w dystrybucji GuixSD GNU/Linux i […]

Wydano PyTorch 1.5.0

PyTorch — popularny framework do uczenia maszynowego — zaktualizował się do wersji 1.5.0. Ta wersja zawiera kilka dużych dodatków oraz ulepszeń API, w tym stabilizację C++ API, które wcześniej uznawano za eksperymentalne. Teraz użytkownicy mogą łatwo przenosić swoje modele z Python API na C++ API. Stabilizowany jest również pakiet torch.distributed.rpc, który oferuje szerokie możliwości w rozproszonym […]

Kup niezawodny hosting stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron z ochroną DDoS, serwery VPS VDS - ProHoster