Comiesięczna aktualizacja tworzenia stron internetowych 8⁄2018: Koszt JavaScript, etyka w Open Source i QUIC

Opublikowany: 2022-03-10
Szybkie podsumowanie ↬ Co wydarzyło się w branży internetowej w ciągu ostatnich czterech tygodni? Aby być na bieżąco, Anselm podsumowuje najnowsze techniki, aktualizacje przeglądarki i gorące tematy na jednej poręcznej liście lektur.

Budowanie technologii i oprogramowania stało się bardzo odpowiedzialną pracą. Ludzie ufają tworzonym przez nas produktom i mogą mieć również znaczący wpływ na ich życie. Biorąc to pod uwagę, musimy nie tylko myśleć o rozwiązaniach integracyjnych, ale także wstać i opowiadać się za etyką, niezawodnością i bezpieczeństwem. To stanowisko, które daje nam władzę.

Eric Meyer opublikował artykuł omawiający problemy, jakie niesie ze sobą sieć oparta wyłącznie na protokole HTTPS. W nim ujawnia, że ​​kraje rozwijające się bardzo cierpią z powodu tego rozwoju, ponieważ często mają złe połączenia internetowe, a ze względu na szyfrowanie mają teraz więcej błędów na stronach internetowych niż wcześniej . Ben Werdmuller włączył się i opublikował artykuł „Stop building for San Francisco”, w którym zwraca uwagę na jeden z największych problemów, z jakimi mamy do czynienia jako programiści: używamy uprzywilejowanego sprzętu i infrastruktury. Tworzymy doświadczenia, korzystając z najnowszych iPhone'ów, Macbooków z gigabitowymi lub szybkimi połączeniami 4G, ale nigdy nie bierzemy pod uwagę, że większość ludzi, których budujemy, używa urządzeń i infrastruktur, które nie są tak dobrze wyposażone. Zwiększanie bezpieczeństwa sieci to świetny pomysł, bez wątpienia, ale powinniśmy również pamiętać o konsekwencjach, jakie najnowsze technologie i nasze decyzje projektowe mogą mieć dla innych.

Aktualności

  • TypeScript 3.0 został wydany z kilkoma wygodnymi funkcjami językowymi i poprawkami.
  • Wdrożone w Chrome od dłuższego czasu wskazówki dla klientów to niesamowita funkcja. Aby poprawić prywatność, w Chrome 67 zmieniono funkcjonalność Wskazówek dla klientów dotyczących responsywnych obrazów. Colin Bendell wyjaśnia różnice i wyjaśnia, dlaczego Wskazówki dla klientów są tak przydatne dla wydajności.
  • Deweloperzy często pytali o funkcję inteligentnego zapobiegania śledzeniu (ITP) w Safari oraz o to, jak debugować strony internetowe z włączoną tą funkcją. Teraz zespół WebKit udostępnia tryb debugowania ITP, który zapewnia znacznie większą elastyczność i narzędzia do śledzenia problemów.
  • Od października większość przeglądarek całkowicie nie ufa certyfikatom TLS firmy Symantec i tym samym zablokuje dostęp do stron, które nadal z nich korzystają. Zaktualizuj swój certyfikat, jeśli jeszcze tego nie zrobiłeś.
  • Najnowsza wersja przeglądarki Chrome (68) wprowadza nowe powiadomienie „niezabezpieczone” podczas odwiedzania stron HTTP. Pamiętaj o tym i odpowiednio uaktualnij swoje witryny. Nowością w Chrome 68 jest także nowy interfejs API cyklu życia strony, wspaniały nowy interfejs API do obsługi zdarzeń na stronie, a także interfejs API obsługi płatności. Pamięć podręczna HTTP jest teraz ignorowana podczas żądania aktualizacji do Service Workera, dzięki czemu Chrome jest zgodny ze specyfikacją i innymi przeglądarkami. Poza tym wartości cursor grab i grabbing są teraz w nowej wersji bez prefiksu — w końcu.
Więcej po skoku! Kontynuuj czytanie poniżej ↓

Ogólny

  • Jeśli tworzysz dla Open Source, musisz zdecydować, której licencji powinien używać Twój projekt. Teraz jest nowa opcja, licencja Just World. Jest przeznaczony dla programistów, którzy „ogólnie zgadzają się z zasadami oprogramowania open source, ale czują się niekomfortowo, gdy ich oprogramowanie jest wykorzystywane w ramach wysiłków na rzecz niszczenia życia, naszego środowiska i naszej przyszłości”.
  • Maszyny do głębokiego uczenia są obecnie ważnym tematem, ale niektórzy ludzie badają jeszcze lepsze algorytmy, które z łatwością przewyższają maszyny do głębokiego uczenia się w grach wideo.
  • Tekst Drew DeVault „Prosty, poprawny, szybki: w tej kolejności” to świetne przypomnienie, aby ustalić proste priorytety w rozwoju sieci i oprogramowania.
  • Jonathan Fulton napisał przydatne źródło zatytułowane „Podstawowe koncepcje architektury, które chciałbym znać, gdy zaczynałem jako programista stron internetowych”, który jest świetną architekturą internetową 101 i podstawą dla nowicjuszy w naszej branży.

UI/UX

  • Ethics for Design to projekt, w ramach którego dwunastu projektantów i badaczy z ośmiu europejskich miast dyskutuje o, czasem szkodliwym, wpływie projektowania na nasze społeczeństwa oraz o tym, co projektanci mogą zrobić, aby działać dla dobra wszystkich, a nie tylko nielicznych.

Obróbka

  • Prashant Palikhe napisał długą historię o sztuce debugowania za pomocą narzędzi programistycznych Chrome, które mogę gorąco polecić, ponieważ jest to bardzo kompletne odniesienie do poznania narzędzi programistycznych przeglądarki. Jeśli używasz innej przeglądarki, nie stanowi to dużego problemu, ponieważ większość narzędzi jest dość podobna.
  • WebP to format obrazu z kilkoma fajnymi funkcjami i prawdopodobnie jednym z najbardziej znanych nowych formatów poza popularnymi formatami JPEG/PNG. Jednak tworzenie obrazów WebP może nadal być wyzwaniem, więc Jeremy Wagner napisał przewodnik, jak konwertować obrazy do WebP.
  • Douglas Creager wprowadza nowe rejestrowanie błędów sieciowych, które pozwala instruować programy użytkownika, aby zbierały ten sam zestaw informacji, który pojawiałby się w dziennikach serwera.
  • Wielu z nas jest uzależnionych od narzędzi komunikacyjnych, takich jak Slack. Ludzie z Wildbit postanowili wyłączyć Slacka na tydzień – co miało znaczący wpływ na ich działanie. Ciekawe studium przypadku o tym, jak czujemy się zbyt komfortowo z przydatnym narzędziem i nie używamy go już tak, jak powinniśmy. Od czasu do czasu ważne jest zresetowanie naszych umysłów.
  • Dennis Reimann opublikował pierwszą stabilną wersję UIEngine, środowiska pracy do programowania opartego na interfejsie użytkownika.

Bezpieczeństwo

  • Nowy Observer jest w pobliżu: ReportingObserver API informuje, kiedy Twoja witryna korzysta z przestarzałego interfejsu API lub gdy interweniuje przeglądarka. Do tej pory jest dostępny w Chrome 69. Możesz go łatwo użyć do wysyłania błędów, które wcześniej były dostępne tylko w konsoli, do swojego zaplecza lub usługi obsługi błędów.

Wydajność sieciowa

  • Czy pamiętasz QUIC (szybkie połączenia internetowe UDP)? Protokół opracowany przez Google, którego używają wewnętrznie i który całkiem dobrze się nadaje do większego użytku? Podczas gdy IETF obecnie standaryzuje format pod koniec roku, inżynierowie Cloudflare dzielą się teraz swoimi doświadczeniami z testowania.
Żądanie HTTP przez QUIC
Uzgadnianie QUIC zajmuje tylko jedną podróż w obie strony między klientem a serwerem, podczas gdy protokoły TCP i TLS zwykle wymagają dwóch. (Źródło obrazu)
## HTML i SVG
  • Kiedy masz zawartość generowaną przez użytkowników, często nie wiesz, czy masz tylko jeden element, czy listę elementów do wyświetlenia. W Colloq chcieliśmy zrobić semantykę poprawnie i zbudowaliśmy system, który pozwala nam wyprowadzać tag p , gdy tylko jeden element znajduje się w kontenerze, w przeciwnym razie lista ol / ul z różnymi elementami listy.

Dostępność

  • Dave Rupert dzieli się A11Y Nutrition Cards, projektem, który próbuje przetrawić i uprościć oczekiwania dotyczące dostępności, jeśli chodzi o tworzenie komponentów.
  • Pomijanie łączy to dość powszechne funkcje ułatwień dostępu. Hampus Sethfors napisał teraz artykuł o tym, dlaczego wiele linków jest nadal uszkodzonych i jak je poprawnie naprawić.

JavaScript

  • Rok po wprowadzeniu progresywnej aplikacji internetowej Zack Argyle z zespołu inżynierów Pinteresta spogląda wstecz. Ważne jest, aby zauważyć, dlaczego zdecydowali się zbudować PWA: „Nasze mobilne wrażenia z sieci dla osób w środowiskach o niskiej przepustowości i ograniczonych planach transmisji danych nie były dobre”. Ale rezultaty dla nich są niesamowite.
  • Philip Walton wprowadza nowy interfejs API cyklu życia strony, który pomaga nam łatwiej określać stany stron w przeglądarce za pomocą zdarzeń, takich jak obecność strony w tle (niewidoczna), aktywna, zamrożona lub nawet zamknięta.
  • Ups, wszyscy wiecie, że eval() w JavaScript jest złe, prawda? Dlatego zwykle zabraniamy jego używania w politykach bezpieczeństwa treści. Ale Remy Sharp przypomina nam, że istnieje linia kodu, która jest równie szkodliwa dla bezpieczeństwa.
  • Addy Osmani zbadał koszt JavaScript w 2018 r. i teraz udostępnia dowody na to, że każdy bajt JavaScript jest nadal najdroższym zasobem, jaki możemy wysłać na telefony komórkowe, ponieważ może znacznie opóźnić interaktywność. Jest to problem szczególnie w przypadku niezbyt wydajnych telefonów, które są szeroko stosowane poza branżą technologiczną.
  • Hidde de Vries wyjaśnia, w jaki sposób możemy udostępnić tytuły stron w aplikacji JavaScript Single Page Application.
Koszt JavaScript w 2018 roku
Jaki jest rzeczywisty koszt JavaScript? Jeden z wniosków z badania Addy Osmani: tani telefon 2018 zajmuje 32 sekundy dłużej niż iPhone 8, aby przetworzyć JavaScript dla CNN.com. (Źródło obrazu)

CSS

  • Max Bock zbadał kilka technik CSS Grid, aby zbudować układy przyszłości za pomocą stosunkowo prostego kodu.
  • Sara Soueidan wyjaśnia, w jaki sposób możemy zbudować inkluzywne przełączniki dwustanowe za pomocą nowoczesnego kodu HTML i CSS.
  • Jen Simmons dzieli się typowymi błędami CSS Grid i pokazuje, jak je rozwiązać.
  • Ethan Marcotte wyjaśnia wciąż stosunkowo nową jednostkę fr , której używamy głównie w siatkach CSS.

Życie zawodowe

  • Paris Marx napisał o tym, dlaczego uważa, że ​​cyfrowi nomadzi nie są przyszłością. Twierdzi, że niezależność lokalizacyjna jest możliwa tylko dzięki infrastrukturze komunikacyjnej zbudowanej ze środków publicznych i że nie jest sprawiedliwe ich nadużywanie.
  • W tym tygodniu dowiedziałem się, jak przydatne może być nieszablonowe myślenie i jak praca zdalna i rozwijanie swojego hobby może pomóc w rozwiązywaniu problemów technicznych.
  • To nie pierwszy raz, kiedy firma testuje 4-dniowy tydzień pracy. Wspaniale jest jednak zobaczyć, w jaki sposób koncepcja może zostać pomyślnie ustanowiona i z korzyścią zarówno dla pracowników, jak i wykonanej pracy.

Wykraczając poza…

  • Tobias van Schneider napisał o tym, dlaczego studio Sagmeister-Walsh odnosi takie sukcesy, pozostając małymi i dlaczego marzenie o wielkich rzeczach, ale pozostawanie małym jest tak ważne dla kreatywnego myślenia.
  • Ben Werdmuller dzieli się swoimi przemyśleniami na temat tego, jak różne stało się założenie firmy, na przykład w San Francisco. To historia, w której 117 000 dolarów uważa się za „niski dochód” w San Francisco i jak ogranicza to pomysły.
  • Jeremy Nagel każe nam myśleć o skutkach naszego kodu open-source: jako programiści wierzymy, że bezpłatne udostępnienie naszego kodu jest niesamowitym posunięciem, ale zapominamy, że udostępniamy go również złym graczom — górnikom, firmy przyczyniające się do zanieczyszczenia, do tych, którzy wykorzystują ludzi do wzbogacenia się, jednocześnie źle ich traktując, do tych, którzy oszukują cię pośrednio. Nie chodzi o to, że nie możesz nic z tym zrobić; musisz być świadomy tych problemów i zastosować lepszą licencję lub dodać dedykowaną deklarację do swojego kodu.
  • Indie mają duży problem z odpadami plastikowymi. Od kilku miesięcy niektórzy rybacy nie ignorują już problemu z plastikiem, ale zamiast tego zbierają wszystkie odpady w swoich sieciach i przynoszą je z powrotem na brzeg, gdzie są używane do budowy dróg. Świetny pomysł na efektywne wykorzystanie śmieci.