69 episodes

Tworzenie oprogramowania w szerokim horyzoncie. Podejmujemy tematy związane z dobrymi praktykami, metodykami oraz procesami, które towarzyszą na co dzień programistom.

Masz pomysł na temat odcinka? Może chcesz zostać sponsorem odcinka?

Wyślij e-mail na adres: kontakt@devenv.pl

DevEnv - O programowaniu bez kaca Adrian Piętka, Bartłomiej Michalski

    • Technology
    • 4.9 • 31 Ratings

Tworzenie oprogramowania w szerokim horyzoncie. Podejmujemy tematy związane z dobrymi praktykami, metodykami oraz procesami, które towarzyszą na co dzień programistom.

Masz pomysł na temat odcinka? Może chcesz zostać sponsorem odcinka?

Wyślij e-mail na adres: kontakt@devenv.pl

    #67 Czy mogę bezkarnie kopiować kod z Internetu?

    #67 Czy mogę bezkarnie kopiować kod z Internetu?

    Podczas tworzenia oraz rozwijania kodu często sięgamy po typowe narzędzia, oraz przeglądamy różne kody źródłowe rozwiązań. Czasem czegoś potrzebujemy i ląduje metodą Copy&Pastiego w naszym finalnym kodzie, który dostarczamy do swoich produktów lub oprogramowania klienta. Kto pierwszy choć raz nie skopiował czegoś ze StackOverflow niech pierwszy rzuci kamień 🙂

    Mamy taką możliwość, jednak czy z legalnego punktu widzenia mamy do tego prawo? Licencje w świecie oprogramowania to skomplikowana sprawa - ich mnogość, różnorodność oraz zawiłość słowna sprawia, że nawet nie chce nam się ich czytać.

    Dlatego w tym odcinku pytamy naszego gościa Łukasza Januszka o licencje w typowych przypadkach używania bibliotek oraz kodu zaczerpniętego z Internetu. Staramy się uzyskać odpowiedzi m.in. na pytania:

    ✅ Czy możemy skopiować kod ze StackOverflow?
    ✅ Czym jest licencja wirusująca?
    ✅ Jakie licencje są "bezpieczne" i kiedy?
    ✅ Co gdy nie ma pliku licencji?
    ✅ Co z kodem wygenerowanym przez AI?

    Jeżeli chcesz dowiedzieć się, w czym tkwią problemy i jakie szczegóły należy brać pod uwagę w kwestii legalności kodu, to zapraszam Cię serdecznie do przesłuchania tego odcinka.

    ---

    Najważniejsze linki:

    - Serwer Discord DevEnv - https://bit.ly/devenv-discord
    - Najnowsze materiały DevEnv - https://bit.ly/m/devenv
    - What are AI coding tool alternatives to GitHub Copilot - https://www.linkedin.com/posts/gergelyorosz_softwareengineering-copilot-github-activity-7054347290701930496-IWrH
    - Will you get in legal trouble for using GitHub Copilot for work? - https://www.vincit.com/blog/will-you-get-in-legal-trouble-for-using-github-copilot-for-work
    - StackOverflow Licensing - https://stackoverflow.com/help/licensing
    - Legally - https://www.npmjs.com/package/legally
    - License-Report - https://www.npmjs.com/package/license-report

    ---

    W tym odcinku rozmawialiśmy o:

    (00:32) Wstęp do tematu odcinka
    (01:10) Kilka słów na temat gościa odcinka Łukasza Januszka
    (02:00) Geneza problemu - StackOverflow, GitHub, AI
    (04:00) Kopiowanie kodu z StackOverflow
    (05:28) Czym jest licencja wirusująca?
    (09:40) Licencja wirusująca - kod vs biblioteka
    (11:35) Konsekwencje prawne
    (14:15) Jakie licencje są "bezpieczne" i kiedy?
    (19:04) Gdzie szukać pomocy czy mogę mieć problem z daną licencją?
    (21:34) Jak to jest, że na Linuxie może istnieć komercyjne oprogramowanie?
    (23:04) Co gdy nie ma pliku licencji?
    (25:38) Chat GPT odpowiada czy można korzystać z kodu, który wygenerował
    (29:20) Ograniczenia i zapisy w naszych umowach
    (30:25) Licencje narzędzi takich jak GitHub Copilot
    (32:36) 3 ważne punkty odnośnie własności kodu
    (34:00) Odpowiedzialność za złamanie licencji / praw autorskich
    (36:02) Typowe praktyki w rozwiązywaniu problemów za pomocą kodu
    (38:14) Podmiana licencji przez Copilota
    (39:23) 3 ważne rady na koniec
    (44:30) Zakończenie

    ---

    💡 Masz pomysł na temat? Chcesz, abyśmy porozmawiali na jakiś konkretny temat lub chciałbyś wziąć...

    • 45 min
    #66 REST API. Richardson Maturity Model.

    #66 REST API. Richardson Maturity Model.

    REST towarzyszy nam od ponad 20 lat. Stał się na tyle powszechnym standardem, że czasem zapominamy, czym tak naprawdę jest. Granice się zacierają, a dla większości programistów każde tworzone API to REST API.

    Rzeczywistość jest nieco inna, dlatego też dyskutujemy dzisiaj o definicji oraz panujących zasadach. Staramy się odpowiedzieć na pytania:

    ✅ Czym jest REST?
    ✅ Jakie 6 reguł definiuje REST?
    ✅ Czym są poziomy dojrzałości REST API?
    ✅ Ile ich jest i co konkretnie oznaczają?

    W tym odcinku opowiadamy czym jest REST i zdefiniowane poziomy dojrzałości Leonarda Richardsona. Jaki poziom naszym zdaniem jest wystarczający oraz czy kiedykolwiek implementowaliśmy wszystkie opisane poziomy?

    ---

    Najważniejsze linki:

    - Najnowsze materiały DevEnv - https://bit.ly/m/devenv
    - Serwer Discord DevEnv - https://bit.ly/devenv-discord
    - Mapa Myśli REST Poziomy Dojrzałości - https://devenv.pl/download/rest-poziomy-dojrzalosci.pdf

    ---

    W tym odcinku rozmawialiśmy o:

    (0:32) Wstęp do tematu odcinka
    (01:13) Czym jest REST?
    (03:13) 6 głównych reguł REST
    (03:17) Client-Server
    (03:50) Uniform Interface
    (04:25) Stateless
    (07:23) Cacheable
    (08:47) Layered System
    (11:38) Code-On-Demand
    (14:00) Model Dojrzałości Richardsona
    (14:55) Level 0
    (15:35) Level 1 - Resources
    (17:28) Level 2 - HTTP Verbs
    (20:23) Level 3 - Hypermedia Controls
    (24:45) Swagger
    (25:17) Podsumowanie

    • 26 min
    #65 Clean Code. Jak definiujemy czysty kod?

    #65 Clean Code. Jak definiujemy czysty kod?

    Clean Code, czyli Czysty Kod. To tytuł książki, którą często polecamy młodym programistom. Ponieważ, jednym z etapów rozwoju rzemiosła programisty, jest tworzenie prostego w zrozumieniu kodu.

    Sztuka ta nie jest łatwa, jednak istnieje kilkanaście różnych reguł i podpowiedzi, których stosowanie może pozwolić na uzyskanie "wystarczająco czystego kodu". Pytanie tylko, które z nich wybrać i kiedy stosować?

    ✅ Czym jest Clean Code?
    ✅ Jak definiować i jakie reguły można zastosować przy Clean Code?
    ✅ Czy Clean Code może być uniwersalny i identyczny dla wszystkich naszych projektów?
    ✅ Jakie zasady stosujemy w projektach i na co uważamy?

    W tym odcinku podpowiadamy jak my patrzymy na Clean Code. Kiedy i po co stosujemy pewne zasady oraz dlaczego SOLID nie zawsze jest wymagany.

    ---

    Najważniejsze linki:

    - Serwer Discord DevEnv - https://bit.ly/devenv-discord
    - YouTube DevEnv - https://bit.ly/devenv-yt
    - Mapa Myśli Clean Code - https://devenv.pl/download/clean-code.pdf

    ---

    W tym odcinku rozmawialiśmy o:

    (00:32) Wstęp do tematu odcinka
    (00:45) Serwer Discord DevEnv
    (01:18) Kontekst aplikacji jest ważny
    (02:30) Implementacje na przyszłość
    (03:10) AHA Programming
    (04:08) Ustalenie poziomu “kod wystarczająco dobry”
    (06:55) Wszyscy powinni rozumieć wymagania względem kodu
    (07:20) Reguły Clean Code, które można zastosować
    (08:37) Gotowe reguły dla narzędzia SCA
    (09:02) Wspólny standard nazewnictwa
    (12:00) Standardy na wielu poziomach
    (15:05) Unikamy komentarzy bez uzasadnienia
    (16:02) Kiedy komentarze są zasadne
    (18:03) Zasada Skauta
    (19:22) Magic Numbers & String
    (21:47) Zasada DRY - Don't Repeat Yourself
    (24:05) Zasady SOLID*
    (25:45) Dług techniczny, zasady, a konsekwencje
    (26:32) W Definition of Done - “Zawsze Testy”
    (27:15) Nauka na błędach jako sposób na poprawę swojego kodu
    (27:55) Odpowiedni poziom satysfakcji
    (29:00) Jak mierzyć Clean Code?
    (35:17) Zakończenie + Najważniejsze miejsca DevEnv

    ---

    💡 Masz pomysł na temat? Chcesz, abyśmy porozmawiali na jakiś konkretny temat lub chciałbyś wziąć udział w podcaście?

    Wyślij e-mail na adres: kontakt@devenv.pl

    • 36 min
    #64 Dlaczego warto uczyć innych? Co daje dzielenie się wiedzą?

    #64 Dlaczego warto uczyć innych? Co daje dzielenie się wiedzą?

    Praktycznie każdy dzień pracy programisty to możliwość zdobycia nowej umiejętności. Wiele z wykonywanych zdań wymaga od nas poznania czegoś nowego, eksperymentowania czy rozmowy z kolegą z zespołu. Czasem to my stajemy się źródłem wiedzy, mentorem czy ewangelistą jakiegoś rozwiązania.

    Pamiętam jak postawiono mnie przed nie lada wyzwaniem - stworzeniem szkółki dla młodych adeptów programowania. Musiałem nie tylko nauczyć innych pewnych aspektów, ale także dobrze poznać swoje braki wiedzy i je uzupełnić. Nauka kogoś to dla mnie najlepszy sposób na rozwój także swoich umiejętności.

    ✅ Jak zatem zacząć z przekazywaniem wiedzy?
    ✅ Kiedy wymiana wiedzy ma sens?
    ✅ Czy uczenie innych może być sposobem na wypalenie zawodowe?
    ✅ Czy każdy nadaje się do nauki innych?
    ✅ Jakie techniki wykorzystujemy, aby lepiej uczyć innych?

    W tym odcinku podpowiadamy jak zacząć, po co to robić i na co uważać. Niech ta forma przekazywania wiedzy, będzie źródłem inspiracji i zachętą do dzielenia się wiedzą.

    ---

    W tym odcinku rozmawialiśmy o:

    (00:32) Wstęp do tematu odcinka
    (02:00) Stand-up jako forma wymiany wiedzy
    (03:18) Muszą chcieć dwie strony
    (03:42) Kiedy wymiana wiedzy ma sens?
    (07:28) Hype na nowe rzeczy
    (09:34) Jaki jest cel wymiany wiedzy?
    (10:47) Stosunek korzyści do kosztu
    (12:32) Egoizm, a samorealizacja
    (14:02) Wymiana wiedzy, a wypalenie zawodowe
    (15:20) Inspiracja innych
    (16:25) Nie każdy musi dzielić się wiedzą
    (17:08) Dodatkowe korzyści
    (18:34) Czy każdy nadaje się do nauki innych?
    (20:07) Można zacząć działać "lokalnie"
    (23:07) Aby działać trzeba mieć na to czas
    (23:40) Bus Factor
    (25:20) Jak robić to dobrze? Technika Richarda Feynmana
    (28:04) Tłumaczenie za pomocą analogii
    (30:04) Różne techniki uczenia
    (31:50) Zakończenie

    ---

    💡 Masz pomysł na temat? Chcesz, abyśmy porozmawiali na jakiś konkretny temat lub chciałbyś wziąć udział w podcaście?

    Wyślij e-mail na adres: kontakt@devenv.pl

    • 32 min
    #63 Debugowanie aplikacji w chmurze

    #63 Debugowanie aplikacji w chmurze

    Chmura coraz częściej jest miejscem docelowym życia naszych aplikacji. Obsługujemy w niej wdrożenia testowe, stage i produkcyjne. Nie raz są to rozbudowane systemy składające się z wielu współpracujących ze sobą aplikacji.

    Byłem świadkiem sytuacji, gdzie aplikacja lokalnie działała bezbłędnie. Jednak po opublikowaniu nowej wersji użytkownikom, zaliczyliśmy wpadkę - przeglądarka użytkownika nie dostawała nawet odpowiedzi.

    Jak zatem radzić sobie z analizą błędów, które występują w takim środowisku?

    Czy wystarczy nam tzw. console.log na ekran i sprawa staje się prostsza?

    W tym odcinku poruszamy nasze doświadczenia i problemy, z jakimi spotkaliśmy się, pracując na co dzień z aplikacjami korzystającymi z usług chmurowych w każdej dostępnej postaci.

    ---

    W tym odcinku rozmawialiśmy o:

    (00:32) Wstęp do tematu odcinka
    (10:15) Unifikacja środowiska uruchomieniowego
    (03:30) Dlaczego podobne środowiska są ważne?
    (05:10) Końcowa infrastruktura też może być problemem
    (07:07) Aplikacja jest na końcu łańcucha wywołań
    (08:20) Debugowanie aplikacji w Docker
    (08:50) Chmura to nie zawsze Docker
    (09:28) Centralne logowanie i przeszukiwanie logów
    (10:30) Logi super, ale tu też musimy zadbać o porządek
    (11:57) Logi super, ale też mogą zakłócać działanie systemu
    (13:42) Wymagania i benefity narzędzi centralnego logowania
    (14:47) Monitoring oraz alerty
    (15:23) Reagowanie na nieprzewidziane - Sentry
    (16:50) Obsługa nieobsłużonych błędów
    (18:04) Narzędzia w chmurze wspomagające analizę problemów
    (19:40) Metryki techniczne
    (20:10) Testowanie na produkcji
    (21:00) Chmura uruchomiona lokalnie
    (21:36) Najpopularniejszy sposób debugowania wśród programistów
    (22:26) Odpowiedni dobór narzędzi do problemu
    (23:29) Szybkość rozwiązania błędu jest często najważniejsza
    (25:07) Podsumowanie

    ---

    💡 Masz pomysł na temat? Chcesz, abyśmy porozmawiali na jakiś konkretny temat lub chciałbyś wziąć udział w podcaście?

    Wyślij e-mail na adres: kontakt@devenv.pl

    • 26 min
    #62 Ulga IP Box dla programistów. Gość Aleksandra Borowska (PRAVNA.PL)

    #62 Ulga IP Box dla programistów. Gość Aleksandra Borowska (PRAVNA.PL)

    Podatek liniowy z IP Box to opcja podatkowa, na którą zastanawia coraz więcej programistów. Ryczałt 12% jest oczywiście atrakcyjny, ale masz niższą zdolność kredytową, nie opłaca Ci się auto w leasing i nie możesz odliczyć kosztów.

    Z IP Box masz wyższą zdolność kredytową, możesz rozliczyć się za 3 poprzednie lata, ale na pewno słyszałeś też o tym, że to sporo formalności i ryzyko kontroli z urzędu.

    Ile w tym prawdy? O korzyściach, mitach i o tym, ile można zyskać na IP Box rozmawiałem w podcaście z Aleksandrą Borowską — ekspertem ds. ulgi IP Box w Pravna Group.
    Jakie wątki poruszyliśmy?
    Jak IP Box wypada na tle innych form podatkowych?Ile można zyskać na IP Box?Jak wygląda proces ubiegania się o ulgę?Jakie dokumenty są nam potrzebne?Czy IP Box = dużo formalności?Czy trzeba obawiać się kontroli z US?Pravna uzyskała dla mnie IP Box’a, a także rozliczyła 3 poprzednie lata. I to jeszcze zanim wpadliśmy na pomysł, by stworzyć wspólny materiał.

    ---

    Chcesz zostać sponsorem kolejnego odcinka podcastu?

    Wyślij e-mail na adres: kontakt@devenv.pl

    • 38 min

Customer Reviews

4.9 out of 5
31 Ratings

31 Ratings

bdolewski ,

W nawiązaniu do odcinka 61

Jednym z lepszych sposób zabezpieczeń lordem znikającymi (kluczowymi) zależnościami jest robienie ich forków. Zawsze to daje jakiś ekstra bufor czasu na przełączenie się jak mamy kaszanę z zależnością.

just another cool programmer ,

Jeden z moich ulubionych podcastów programistycznych

Gratuluję świetnego i merytorycznego podcastu! Bardzo przyjemnie słucha mi się takiej lekkiej formy o poważnych i istotnych tematach z obszaru IT.

Xylaz ,

pojęcia

Ogólnie ciekawe ale niestety kolega myli biohacking z brainhackingiem :) biohacking to zabawa na poziomie dna np. w hackowanie opatentowanych roślin, albo tworzenie luminiscentnych myszy :)

Top Podcasts In Technology

Lex Fridman
TOK FM - Sylwia Czubkowska, Joanna Sosnowska
Bartosz Paszcza
Vox Media Podcast Network
Pucek & Kuźniar • by Voice House
Wojtek Pietrusiewicz

You Might Also Like

Marcin Iwuć
Dariusz Rosiak
Ośrodek Studiów Wschodnich
Marek Jankowski
Tomasz Rożek
Radio Naukowe - Karolina Głowacka