-
2021-02-01
Dataclasses mýma očima aneb Zvu vás na Pyvo
V České republice funguje silná komunita fanoušků jazyka Python, který v naší plzeňské pobočce používáme dennodenně. Ta se pravidelné schází na programátorských srazích zvaných Pyvo, kde přátelé jazyka přednášejí o zajímavých tématech, vyměňují si zkušenosti z vývoje a samozřejmě… pijí pivo.
#pyvo #dataclasses -
<hr>
-
2020-11-12
Proč a jak jsme si vylepšili Gitlab?
Až se budete někdy přehrabovat v rozšířeních pro Gitlab, dívejte se pozorně, narazíte tam totiž na naši stopu. Po přechodu ze Stashe nám v Gitlabu chybělo pár funkcionalit. Tak jsme udělali extension do prohlížeče, který je tam přidal. Chcete vědět jak a proč? Tak čtěte dále. Chcete spíš praktickou ukázku? Vyzkoušejte si rozšíření rovnou tady.
#gitlab #browser-extension -
<hr>
-
2020-05-18
Mikrofrontendy pod lupou
Mikroslužby způsobily ve světě softwaru velký rozruch. Jedna firma za druhou opouští monolitickou architekturu a dělí produkt na menší celky, i za cenu zvýšené komplexity. Mikrofrontendy s tímto trendem úzce souvisí, v praxi však ještě nejsou zcela běžné. My jsme nicméně před nějakou dobou dospěli do bodu, kdy dávalo smysl mikrofrontendy použít. V článku si proto ukážeme, k jakému řešení jsme dospěli.
#frontend #web #architektura #microservices -
<hr>
-
2020-04-22
Jak spam robot prostřednictvím Heureky zaplnil e-mailovými notifikacemi schránky našich uživatelů – Postmortem tak trochu jinak
V únoru začal na Heurece neznámý spammer hromadně přidávat recenze na produkty z formuláře na produktovém detailu. Jednalo se o text s odkazem na falešnou stránku, kde bylo plno reklam. Největší problém způsobily e-mailové notifikace, které uživatelům ohlašují novou recenzi na jimi sledované produkty. Bylo jich tolik, že zahltily e-mailové schránky našich uživatelů, e-mailové fronty na serverech a dokonce to došlo tak daleko, že nás poskytovatelé e-mailových služeb začali rate-limitovat, což způsobilo nemalé komplikace.
#security #postmortem -
<hr>
-
2019-11-25
CSS v Heurece aneb Jak jsme se naučili nedělat si starosti a mít rádi kaskádu
V Heurece máme CSS rádi. Pokud ne všichni, tak alespoň ti, co s ním běžně přijdou do styku. CSS je totiž — stejně jako HTML — deklarativní a jednoduchý jazyk a s HTML sdílí i podobně laxní validátor, který přijme ledacos a taktně přeskočí, co nezná. Na rozdíl od HTML, které asi většinu z nás ze spánku nebudí, však CSS v lidech vyvolává mnohem silnější emoce. Vlastní zkušenost mi říká, že častým viníkem je takzvaná kaskáda. A jelikož se o zkrocení kaskády pokoušíme i v Heurece, ukážeme si, jak může vypadat jeden z možných přístupů.
#frontend #css #web -
<hr>
-
2019-11-13
Jak jsem hacknul DevFest
Na úvod musím říct, že se letos DevFest rozhodně povedl. Kluci a holky z GuG i všichni ostatní udělali hromadu práce, když tuhle konferenci připravovali a bylo to opravdu znát. Až na zlobivou Wi-Fi (což je, přiznejme si, problém většiny konferencí) šlo vše velmi hladce. Program byl našlapaný a většina přednášek opravdu zajímavých. Venue a kostýmy pořadatelů skvěle dokreslovali postapo atmosféru, v jejímž duchu se letos akce konala. Doufám, že následující řádky nevyzní nijak negativně, protože já jsem si letošní DevFest opravdu užil.
#konference #security #hack #devfest -
<hr>
-
2019-10-24
Je dobré vědět, která mikroslužba pracuje s nejcitlivějšími daty
V Heurece smýšlíme hodně produktově a naše týmy jsou postavené kolem jednotlivých produktových oblastí. Abychom se ale nehonili jen za vylepšováním nákupního procesu a leštěním „favorite“ tlačítka, zavedli jsme po vzoru Spotify modelu koncept tzv. technických skupin, nebo chcete-li guild.
#backend #web #security -
<hr>
-
2019-08-05
#MěnímeHeureku - chystáme mezinárodní #OnePlatform
Poslední dva roky máme na vývoji Heureky hodně napilno. Zkoušíme různé technologie v rámci nové architektury, měníme způsob řízení produktové i technologické inovace,… A to vše zapadá do toho, jak vymýšlíme nové varianty spolupráce nás všech ve firmě. Postupně se nám to daří a nyní je před námi velký úkol: Povýšit Heureku na mezinárodní laťku.
#MěnímeHeureku #OnePlatform #microservices #architektura #backend #okr -
<hr>
-
2019-07-15
Jak na JavaScript: podpora prohlížečů
Základem webové služby je HTML. To je závěr předchozího článku a předpoklad, na kterém stavíme, když službu s pomocí JavaScriptu zlepšujeme. Jak ovšem zajistit, aby se JavaScript spustil jen tehdy, kdy máme jistotu, že to hostitelské prostředí — typicky prohlížeč — snese? A jak stanovit hranici, která uživatele jasně rozdělí na dva tábory: s JavaScriptem a bez?
#frontend #web #jaknajavascript #javascript -
<hr>
-
2019-06-17
Jak na JavaScript: princip postupného vylepšení
Od svého zrodu prošel JavaScript, spolu s celým internetem, obrovským vývojem a z neškodně působícího jazyka se stal moloch, na jehož bedrech spočívá nemalá tíha webů, které dnes používáme. Ostatně stačí provést malý pokus. JavaScript v prohlížeči na chvíli vypneme a záhy zjistíme, že se nám web před očima rozpadá rychleji než důvěra v dobré úmysly Facebooku.
#frontend #web #jaknajavascript #javascript -
<hr>
-
2019-04-30
Jak Fialoví vymýšleli Dášenku, aneb nové párování nabídek
Již hrozně dlouhou dobu jsme ve fialovém týmu věděli, že nás jednoho dne čeká neuvěřitelně zábavný projekt. Před zhruba 2 lety pro něj vznikly podklady, takže jediné co mu stálo v cestě byly priority. Hrozně rádi bychom se teď pochlubili, že projekt se stal prioritou a teď bychom vám o něm chtěli něco říct!
#ml #backend #architektura -
<hr>
-
2018-10-31
Jak jsme psali hračku na WebExpo
Možná jsme se potkali na letošním WebExpu a možná ne. Ať už to bylo jakkoliv, na našem stánku jste si mohli zahrát rychlou programátorskou mini-soutěž o věcné ceny. Kromě samotných řešení, která byla občas opravdu kuriozní, je však zajímavé zmínit i způsob, jakým jsme vaše řešení vyhodnocovali.
#webexpo #webexpo2018 #docker #python #flask -
<hr>
-
2018-09-07
Implementace Firebase Crashlytics a Analytics pro iOS s rozlišením debug a produkčního prostředí
Když píšeme Heureku pro iOS, rozlišujeme prostředí, ve kterém aplikace běží na vývojové (aka development, někdo tomu říká debug) a produkční pomocí proměnné v aplikaci, která je nastavovaná na základě build konfigurace [Debug/Release]. Podle toho upravujeme chování aplikace když vyvíjíme. Například tak, že používáme vývojové API namísto produkčního, zobrazujeme si napříč appkou různé pomocné informace, nebo tlačítka, která nám různě při vývoji usnadňují práci. To není nic revolučního a domnívám se, že je to běžná praxe.
#ios #crashlytics #firebase #analytics #debug -
<hr>
-
2017-08-21
Kancelářský drážní rozhlas z buildserveru
-
<hr>
-
2016-11-15
Ikony bez kompromisů
I přes svou malou velikost představují ikony na webu zajímavý problém. Jeden přístup střídá další — každý o trochu lepší než ten předchozí, každý nějakým způsobem nedokonalý. Poslední systém, kterému se delší dobu daří držet na vrcholu, je takzvaný SVG sprite, který vznikne tak, že jednotlivé ikony vložíme do elementů
#frontend #web #developmentsymbol
v rámci jednoho SVG souboru. Důvodem pro použití symbolů je to, že se nevykreslí v místě definice, ale až tehdy, kdy je skutečně použijeme. Pokud takový sprite nechceme vytvářet ručně, lze použít některé z mnoha dostupných řešení, jako je grunt-svgstore nebo gulp-svg-sprite.