window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(function () { var w = window if (w.LeadBooster) { console.warn('LeadBooster już istnieje') } else { w.LeadBooster = { q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: function (n) { this.q.push({ t: 't', n: n }) }, } } })() TheCodestReview #4 - cotygodniowy sok z inżynierii oprogramowania - The Codest
The Codest
  • O nas
  • Nasze Usługi
    • Software Development
      • Frontend Development
      • Backend Development
    • Zespoły IT
      • Programiści frontendowi
      • Backend Dev
      • Inżynierowie danych
      • Inżynierowie rozwiązań chmurowych
      • Inżynierowie QA
      • Inne
    • Konsultacje IT
      • Audyt i doradztwo
  • Branże
    • Fintech i bankowość
    • E-commerce
    • Adtech
    • Healthtech
    • Produkcja
    • Logistyka
    • Motoryzacja
    • IOT
  • Wartość dla
    • CEO
    • CTO
    • Delivery Managera
  • Nasz zespół
  • Case Studies
  • Nasze Know How
    • Blog
    • Meetups
    • Webinary
    • Raporty
Kariera Skontaktuj się z nami
  • O nas
  • Nasze Usługi
    • Software Development
      • Frontend Development
      • Backend Development
    • Zespoły IT
      • Programiści frontendowi
      • Backend Dev
      • Inżynierowie danych
      • Inżynierowie rozwiązań chmurowych
      • Inżynierowie QA
      • Inne
    • Konsultacje IT
      • Audyt i doradztwo
  • Wartość dla
    • CEO
    • CTO
    • Delivery Managera
  • Nasz zespół
  • Case Studies
  • Nasze Know How
    • Blog
    • Meetups
    • Webinary
    • Raporty
Kariera Skontaktuj się z nami
Strzałka w tył WSTECZ
2020-11-18
Software Development

TheCodestReview #4 - cotygodniowy sok z inżynierii oprogramowania

The Codest

Kamil Ferens

Dyrektor ds. rozwoju

Mówi się, że czas leci szybko, gdy dobrze się bawisz. Dla mnie osobiście zabawa jest szczególnie ważna w codziennej pracy nad startupem i rozwojem biznesu. Sprawia, że cieszę się sobą bez względu na to, jak wiele moich wewnętrznych zasobów energii pochłaniają cotygodniowe obowiązki.

(W następnym odcinku będę kontynuował temat humoru w miejscu pracy, aby rozwinąć go nieco bardziej, tylko dlatego, że mogę. "Dlaczego tak poważnie?").

Mówiąc o czasie, minęły 2 tygodnie od mojej ostatniej publikacji, więc najwyższy czas na 4 odcinek naszego #TheCodestReview seria.

Lista tematów poruszanych w tym tygodniu:

  1. Podłączenie do React
  2. Wszystko, co kiedykolwiek chciałeś wiedzieć o buforowaniu widoków w Railsach
  3. Kierownik ds. inżynierii jako główny rekruter

Komentarz na temat buforowania widoku dostarczony przez naszego programistę fullstack i podcast kierownika inżynierii skomentowany przez moją skromną osobę.

Jako powszechnie znany mistrz aplikacji Paint oraz wielbiciel GIF-ów i memów, które są jak czekoladki Merci - mówią więcej niż 1000 słów, postanowiłem, że od teraz będę dodawał tutaj ich smaczek. I zgadnijcie co?

Darth Sidious Myślisz, że możesz mnie powstrzymać GIF z Darthsidious GIFs

Ostatnim razem zdecydowaliśmy się poświęcić trochę uwagi StimulusReflex, który przyciąga uwagę społeczności Ruby jako nowy dzieciak na bloku, będący alternatywą dla korzystania z nowoczesnego Javascript frameworków w projektach Rails, aby uniknąć przesady.

Zobacz: StimulusReflex aka ReactiveRails

Aby była to walka na równych warunkach, chciałem pozwolić React odegrać się na Stimulusie. Ponieważ jestem również dobrze znanym człowiekiem honoru, zawsze robię to, co mówię i dotrzymuję obietnic, oto on:

W następnym odcinku mam przyjemność ogłosić, że będziemy mieli gościnny wpis inżyniera React z Vinted.com. Dla tych z Was, którzy nigdy nie słyszeli o Vinted (małe szanse, ale wciąż możliwe), Vinted to rynek mody pochodzący z Wilna na Litwie, który osiągnął wycenę jednorożca w 2019 roku. Platforma zbudowana jest na solidnym fundamencie Ruby on Rails wspieranym przez React w części frontendowej.

Na marginesie: moja żona absolutnie uwielbia Vinted i prawie całkowicie przestała używać OLX jako głównego miejsca docelowego do porządkowania naszej garderoby i sprzedaży używanych ubrań (była prawdziwą zagorzałą fanką) =. ROBICIE TO DOBRZE!

Mam zaszczyt powitać pierwszego gościa w naszej serii:

Meryl Streep Tak GIF z GIF-y Merylstreep

Ugnė Kryževičiūtė - inżynier React z Vinted

Podłączenie do React przez LadyBug Podcast

Czytając tytuł ostatniego podcastu LadyBug ("Getting Hooked On React"), spodziewałem się, że będzie on dotyczył głównie haków React. A jednak, choć nie zagłębiał się on głęboko w Hooks, podcast stanowił doskonałe wprowadzenie do podstaw biblioteki React dla JavaScript.

Ali i Emma z podcastu LadyBug omawiają tajniki React - od ogólnego układu biblioteki i jej zalet po ożywione dyskusje na temat komponentów, obsługi danych lub cyklu życia React, a wszystko to przedstawione ze szczyptą osobistego doświadczenia. Warto posłuchać każdego programisty front-end, który nie miał jeszcze okazji wypróbować cudów React.

Moje pierwsze spotkanie z React miało miejsce około trzy lata temu, kiedy rozpocząłem swoją podróż jako programista. Chociaż Ali i Emma sugerują, że React może początkowo wydawać się mylący, z własnego doświadczenia uważam, że jest stosunkowo łatwy do rozpoczęcia i prawdopodobnie najłatwiejszy do zaawansowania w porównaniu z innymi frameworkami front-endowymi. Wszędzie dostępnych jest mnóstwo samouczków, artykułów, bibliotek open-source i innego rodzaju materiałów edukacyjnych. Należy jednak pamiętać o aktywnym rozwoju React podczas przeglądania takich zasobów. Ten odcinek podcastu LadyBug nie jest wyjątkiem - niektóre aspekty i metody, o których mowa, są już od jakiegoś czasu przestarzałe. Najlepiej więc zastosować się do rad samej Emmy i zapoznać się z najnowszą dokumentacją.

React bardzo ewoluował i dojrzał, dzięki czemu kod pisanie jest jeszcze łatwiejsze dzięki Hooks, które pozwalają używać metod stanu i cyklu życia bez pisania komponentów klas. Ale dla początkujących - jak trafnie zauważa Ali - różnorodność sposobów pisania React (takich jak komponenty klasowe / funkcjonalne / haki) dodaje dodatkowej złożoności, ponieważ czasami może być trudno zwizualizować, co się dzieje. Ponadto, konieczność destylacji tego, czego potrzebujesz i znalezienie odpowiednich informacji dotyczących implementacji kodu może być wyzwaniem.

Jako jedną z głównych zalet React Ali wskazuje fakt, że jest on oparty na komponentach, co umożliwia modularyzację kodu i ułatwia współpracę z innymi programistami. Poza tym, możliwość korzystania z JSX jest świetną pomocą wizualną podczas pracy z interfejsem użytkownika w kodzie JavaScript - nie musisz mieć oddzielnych plików HTML!

Ali i Emma również ładnie podsumowują elastyczność, jaką daje posiadanie systemu komponentów. Doskonałym przykładem z praktyki jest moja firma Vinted, która doświadczyła szybkiego wzrostu w odniesieniu do produkt jak również zespoły deweloperskie pracując nad nim przez ostatnie kilka lat. React przyniósł ogromne korzyści - umożliwił nam pisanie znacznie czystszego kodu, korzystanie z komponentów interfejsu użytkownika wielokrotnego użytku i ułatwił testowanie naszego kodu.

Ogólnie rzecz biorąc, ten odcinek podcastu LadyBug zapewnia żywą i czarującą dyskusję na temat głównych aspektów React. Polecam go każdemu, kto rozpoczyna swoją podróż z React. Pełen zabawnych przykładów i analogii do prawdziwego życia, odcinek płynnie "przyciąga" uwagę każdego słuchacza, w tym moją.

Buforowanie widoku w Railsach Jonathan Miles z Honeybadger

Widoki w Railsach niestety z czasem stają się coraz wolniejsze. Dzieje się tak, ponieważ ilość obiektów przechowywanych w bazie danych rośnie. Powoduje to dłuższe czasy zapytań i oczywiście dłuższe przetwarzanie, jeśli robisz coś z każdym z obiektów. Kiedy tak się dzieje, nie jesteś bez szans, ponieważ istnieje buforowanie widoków Rails.

Dzięki temu można zaoszczędzić sporo czasu, ładując ciężkie dane z bazy danych z pamięci podręcznej (ładowanie pojedynczego zapisanego pliku html zamiast odpytywania bazy danych i przetwarzania obiektów). Można to również uczynić mniej kosztownym w przypadku różnych części i obiektów - oczywiście jeśli obiekty nie zmieniają się zbyt często. Można również spróbować przechowywać buforowane obiekty w oddzielnych partialach - i zaoszczędzić np. 19 z 20 renderowanych postów (być może z dużą ilością pól).

Domyślnie buforowanie Railsów używa file_store i przechowuje buforowane dane w folderach. Nie usuwa jednak starych wpisów w pamięci podręcznej (które mogły wygasnąć dawno temu). Może to prowadzić do przepełnienia ilości plików lub nawet wyczerpania wolnego miejsca na serwerze. Inną metodą jest memory_store, która również ma pewne wady (ponieważ pamięć podręczna jest przechowywana na jednym serwerze). Może również przekroczyć ilość pamięci RAM przechowywanej na serwerze (lub brak pamięci podręcznej, jeśli będzie ona cały czas usuwana). Dlatego najlepszym mechanizmem buforowania na dużą skalę jest metoda Memcached/Redis. Daje to możliwość korzystania z oddzielnej maszyny przechowującej pamięć podręczną, która może być używana przez wszystkie serwery. Dzięki temu nie będzie problemu z brakiem cache lub kończącym się miejscem na dysku na serwerze.

Pamięć podręczna w Railsach jest przechowywana na podstawie identyfikatora - który może być podany od razu jako ciąg znaków lub wygenerowany automatycznie po przekazaniu obiektu do funkcji pamięci podręcznej. W przypadku obiektów jest to najczęściej atrybut updated_at. Można również podać klucz statyczny z parametrów obiektu.

Inną metodą buforowania jest użycie Javascript do aktualizacji pola, które jest zmieniane raz dziennie. W ten sposób można mieć aktualną datę wyświetlaną przez cały czas, bez odświeżania strony internetowej - co może być dość duże lub powolne.

Kierownik ds. inżynierii jako główny rekruter przez Mentoring Club

Aby nie zepsuć zbyt wiele, dyskusja panelowa obejmująca temat roli kierownika inżynierii w procesie rekrutacji jest bardzo cenna dla wszystkich, którzy zastanawiają się, kiedy jest odpowiedni czas, aby lider technologiczny wkroczył w cykl rozmów kwalifikacyjnych. Na CodestW pewnym sensie praktykujemy to, co głoszą paneliści i nasze CTO jest pierwszym punktem kontaktu z aplikującymi do nas inżynierami, natomiast na kolejnym etapie rozmowy kwalifikacyjne przeprowadzane są przez zespół menedżerów, z którymi potencjalni nowi pracownicy będą ściśle współpracować. Kilka praktycznych rad, które możesz zastosować od razu, aby ulepszyć swoją grę rekrutacyjną jako kierownik ds. inżynierii:

  1. Przeanalizuj swój proces i upewnij się, że dołączyłeś do niego tak wcześnie, jak to możliwe, najlepiej będąc pierwszym punktem kontaktowym dla kandydatów, ponieważ pierwsze wrażenie odgrywa kluczową rolę w tym, jak Twoja firma jest postrzegana przez największe talenty.

  2. Skontaktuj się z wysoce skutecznymi menedżerami ds. rekrutacji w swojej organizacji (być może z tymi, którzy zatrudnili Cię w przeszłości) i zapytaj, czy mógłbyś obserwować niektóre z ich planowanych rozmów kwalifikacyjnych, sprawdzić ich techniki, zapytać o wskazówki. Obserwuj i ucz się. Przystępuj do każdej rozmowy z prawdziwą ciekawością wobec kandydatów.

  3. Szukaj potencjału i zatrudniaj pracowników z potencjałem i zdolnością do szybkiego rozwoju.

  4. Omów ogłoszenia o pracę ze wszystkimi inżynierami i zapytaj, czy chcieliby ubiegać się o tę pracę. Jeśli nie, zapytaj, co jest do bani i zastosuj ich opinie w ogłoszeniu o pracę w wersji 2.0, które zamierzasz opublikować na portalach z ofertami pracy. 

  5. Postrzegaj pierwszą rozmowę kwalifikacyjną jako okazję do nawiązania świetnych relacji z potencjalnymi przyszłymi współpracownikami.

Zachęcam do obejrzenia całego panelu wideo, ale jeśli jesteś fanem podcastów i lubisz ich słuchać podczas jazdy samochodem, ćwiczeń lub zmywania naczyń, tutaj masz również Spotify link. 

Wielkie dzięki za przeczytanie i jeśli dotarłeś tak daleko, doceniam twój czas, a wszelkie opinie (czy to fajne, czy mnie niszczące) są więcej niż mile widziane. LinkedIn lub do mojego e-mail. 

Kolejny odcinek już wkrótce! 

Yippie IWill See You Soon Tańczący GIF z Yippieiwillseeyousoon GIFs

Czytaj więcej:

TheCodestReview #3 - cotygodniowy sok z inżynierii oprogramowania

TheCodestReview #2 - cotygodniowy sok z inżynierii oprogramowania

TheCodestReview #1 - cotygodniowy sok z inżynierii oprogramowania

Powiązane artykuły

Software Development

Tworzenie przyszłościowych aplikacji internetowych: spostrzeżenia zespołu ekspertów The Codest

Odkryj, w jaki sposób The Codest wyróżnia się w tworzeniu skalowalnych, interaktywnych aplikacji internetowych przy użyciu najnowocześniejszych technologii, zapewniając płynne doświadczenia użytkowników na wszystkich platformach. Dowiedz się, w jaki sposób nasza wiedza napędza transformację cyfrową i biznes...

THEECODEST
Software Development

10 najlepszych firm tworzących oprogramowanie na Łotwie

Dowiedz się więcej o najlepszych łotewskich firmach programistycznych i ich innowacyjnych rozwiązaniach w naszym najnowszym artykule. Odkryj, w jaki sposób ci liderzy technologiczni mogą pomóc w rozwoju Twojej firmy.

thecodest
Rozwiązania dla przedsiębiorstw i scaleupów

Podstawy tworzenia oprogramowania Java: Przewodnik po skutecznym outsourcingu

Zapoznaj się z tym niezbędnym przewodnikiem na temat skutecznego tworzenia oprogramowania Java outsourcing, aby zwiększyć wydajność, uzyskać dostęp do wiedzy specjalistycznej i osiągnąć sukces projektu z The Codest.

thecodest
Software Development

Kompletny przewodnik po outsourcingu w Polsce

Wzrost liczby outsourcing w Polsce jest napędzany przez postęp gospodarczy, edukacyjny i technologiczny, sprzyjający rozwojowi IT i przyjazny klimat dla biznesu.

TheCodest
Rozwiązania dla przedsiębiorstw i scaleupów

Kompletny przewodnik po narzędziach i technikach audytu IT

Audyty IT zapewniają bezpieczne, wydajne i zgodne z przepisami systemy. Dowiedz się więcej o ich znaczeniu, czytając cały artykuł.

The Codest
Jakub Jakubowicz CTO & Współzałożyciel

Subskrybuj naszą bazę wiedzy i bądź na bieżąco!

    O nas

    The Codest - Międzynarodowa firma programistyczna z centrami technologicznymi w Polsce.

    Wielka Brytania - siedziba główna

    • Office 303B, 182-184 High Street North E6 2JA
      Londyn, Anglia

    Polska - lokalne centra technologiczne

    • Fabryczna Office Park, Aleja
      Pokoju 18, 31-564 Kraków
    • Brain Embassy, Konstruktorska
      11, 02-673 Warszawa, Polska

      The Codest

    • Strona główna
    • O nas
    • Nasze Usługi
    • Case Studies
    • Nasze Know How
    • Kariera
    • Słownik

      Nasze Usługi

    • Konsultacje IT
    • Software Development
    • Backend Development
    • Frontend Development
    • Zespoły IT
    • Backend Dev
    • Inżynierowie rozwiązań chmurowych
    • Inżynierowie danych
    • Inne
    • Inżynierowie QA

      Raporty

    • Fakty i mity na temat współpracy z zewnętrznym partnerem programistycznym
    • Z USA do Europy: Dlaczego amerykańskie startupy decydują się na relokację do Europy?
    • Porównanie centrów rozwoju Tech Offshore: Tech Offshore Europa (Polska), ASEAN (Filipiny), Eurazja (Turcja)
    • Jakie są największe wyzwania CTO i CIO?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Warunki korzystania z witryny

    Copyright © 2025 by The Codest. Wszelkie prawa zastrzeżone.

    pl_PLPolish
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench arArabic it_ITItalian jaJapanese ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek pl_PLPolish