
69 episodes

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?
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ąć... -
#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 -
#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 -
#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 -
#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 -
#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
Customer Reviews
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ą.
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.
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 :)