Author Archives: Martin Maly

Statický web s HTTPS

Některé své weby hostuju na platformě Amazon S3. Buckety umožňují nastavit možnost „website“, kdy posílají definovanou stránku (index.html), a to bohatě stačí pro spoustu webů, které buď backend nepotřebují, nebo jej řeší jinak. Jediné, co mě mrzelo, bylo to, že S3 neumí website přes HTTPS.

Řešení existuje, a jmenuje se CloudFront. Je to CDN od Amazonu, která si bere soubory z S3 a šíří je po světě. CloudFront už umí nastavit HTTPS, a Amazon má dokonce i nástroj na správu certifikátů.

Praktický postup (především pro Michala Bláhu, který se mě na to ptal): Mám web www.ide80.com, hostovaný právě na S3, a chtěl bych jej na HTTPS.

Krok 1: Pomocí AWS Certificate Manageru si vygeneruju certifikát. Nejdřív si ale v horním menu přepnu region na „N. Virginia“

Potom dám Request a Certificate a vyplním doménu:

Potvrdím, znovu potvrdím, a za pár okamžiků přijde mail s potvrzovacím odkazem. Kliknu, dám Approve, a mám certifikát hotový.

Krok 2: nastavím CloudFront. Ve správci CloudFront nastavím Create Distribution, a z možností Web / RTMP vyberu Web a tam kliknu na Get Started.

Ve formuláři vyplním v sekci Origin položku Origin Domain Name – stačí kliknout a vybrat S3 bucket. Ve Viewer Protocol Policy si později nastavím „Redirect HTTP to HTTPS“, zatím nechám povolené oba protokoly, než ověřím, že HTTPS funguje bez problémů. V Distribution Settings do položky Alternate Domain Names zadám „www.ide80.com“ a hned pod tím zvolím „Custom SSL Certificate“ a vyberu ten odpovídající. Ještě o kousek níž do kolonky „Default Root Object“ napíšu „index.html“. Všechno ostatní nechám jak bylo, a kliknu na Create.

Krok 3: vrátím se na seznam CloudFront distributions, vyberu tu svoji, a v náhledu detailů hledám Domain Name – má tvar hchkrdtn125487.cloudfront.net. To je moje magická hodnota, na kterou nastavím CNAME pro mou doménu.

Pak už jen nechám probublat změny, zhruba 20 minut mi to trvalo, a vše funguje.

To je vše, přátelé…

Z deníku Vuejskaře

Tak se to prostě stalo, že jsem rovnýma nohama skočil do Vue.js. Do Reactu ne. Důvod je prostý: licenční podmínky, které má React, v sobě obsahují klauzuli o tom, že vám může Facebook licenci kdykoli odepřít, pokud byste mu konkurovali. Což se možná nestane, ale spousta klientů, respektive jejich právníků, na to slyší, takže React nedoporučí. Víc zde: http://react-etc.net/entry/your-license-to-use-react-js-can-be-revoked-if-you-compete-with-facebook

Vue není špatný. Dělám s ním tři týdny a říkal jsem si, že by bodlo nějaké zlepšení schopností. Tak jsme koupili knihu Majesty of Vuejs2. Říkal jsem si: Ha, jsou tam pokročilejší témata, to bude fajn, třeba se něco naučím… a nenaučil, helejte. Ta pokročilá témata pokrývala oblasti, které jsem si předtím už prošel sám. Občas jsem si říkal: Hele, proč to tady řeší takhle, když já to řešil jinak – a o kus dál poznámka: „Toto je jen ukázka, bylo by lepší to řešit v praxi pak jinak…“ a za tím popsané to moje řešení.

Webpack je opravdové dobro. Dělal jsem s ním už loni, a bylo to fajn. Fajn to ale není, když chcete zbundlovat nějaký moloch z éry před pěti lety, třeba CKEditor. Ten sice má novou verzi 5, která se nebrání, ale ta je v čerstvé betě, takže bych ji spíš jako nenasazoval než nasazoval.

Problém u Vue je nedostatek dobrých komponent. Někdy by ani nemusely být dobré, stačilo by, kdyby byly funkční. Za mnohé třeba komponenta s Bootstrapem, která spíš jako nefungovala než fungovala, vyhazovala spoustu chyb, a při pohledu na issue tracker si člověk říkal, že to lepší nebude. Nebo vuex-sync, který má synchronizovat router s vuexem. Podle návodu vložíte, a už se tam sypou chyby. Nakonec jsem si musel udělat vlastní verzi, zakomentovat kus kódu, oželet nějaké funkce, ktré nechci, a už to šlape.

Nakonec se ukázalo několik užitečných komponent a pluginů. Zaprvé: vuex. Zadruhé: vue-router. Zatřetí: vue-resource. Stavím to nad „sklady“, z nichž si komponenty berou data. Na getterech je navěšené zjišťování, jestli je sklad načtený, a pokud ne, tak AJAXem donačítá. Dtto při změně.

Asi půl hodiny jsem si lámal hlavu s parametrickým getterem, jako že třeba topic[12345]. Buď vrátit celé pole, nebo… Ale ono je to přitom tak jednoduché: Getter vrátí funkci, a já ho volám jako topic(12345).

Pokračování příště…

Buffer flush 01/2014

Člověku se čas od času nashromáždí spousta odkazů, které je dobré vypustit, utřídit, předat lidu… Tady máte lednovou várku.

Continue Reading

Promises a průvodci webem

Jen si tu odložím dvě věci. Zaprvé – už dlouho se chci podívat na promises (futures, defers, říkejte tomu jak chcete, správně je Promises). Teď se objevil tutoriál pro promises, který shrnuje různé přístupy různých knihoven, popisuje jak je používat a to hlavní: ukazuje, jak promises použít i v čistém JS (samozřejmě jen v těch nejnovějších prohlížečích).

A v souvislosti s ASM80 mě napadlo udělat takový jednoduchý tutorial. Líbí se mi styl, který se teď šíří, kdy průvodce vypadá tak, že po displeji lítá šipka s popiskem mezi jednotlivými zajímavými místy aplikace a ukazuje, kde co je. Našel jsem na to rovnou dvě knihovny: trip.js a tourist.js.

 

Emulujeme a optimalizujeme…

Takový podotek k předchozím článkům. Jako po hodech následují vrhy, tak po vývoji následuje ladění.

Continue Reading

Emulujeme osmibit JavaScriptem, díl druhý

V prvním dílu jsem psal o emulování procesoru. Procesor je hezká věc, ale moc neoslní. Co takhle emulátor celého počítače?

Continue Reading

Emulujeme osmibit JavaScriptem

Napsat emulátor osmibitového procesoru v JavaScriptu není nijak obtížné. Vždyť co to je osmibitový procesor, že? 🙂

Continue Reading

Ukazatel nahrávání snadno a rychle

Hledal jsem nějaký způsob, jak ukázat, že se aplikace nahrává, prosím čekejte… Pokud možno s minimem námahy, tedy instantní řešení. A našel jsem knihovnu Pace. Stačí vložit do stránky skript a CSS, a o nic se už nemusíte starat – Pace si sám zjistí, že se něco nahrává, zobrazí ukazatel (k dispozici je několik různých stylů) a včas ho zase odstraní. Dokonce se postará o AJAXová volání a zobrazí animaci. Knihovna má slušné možnosti úprav, viz dokumentace.

Online assembler pro osmibity

Jo, možná to je bláznivý nápad, ale mě baví. Představte si webové IDE, které obsahuje editor a assembler pro staré osmibity (8080, Z80, 6502 a možná i další). K tomu časem i emulátor… Už jsem o tom psal, tak teď přináším čerstvé zprávy z fronty…

Continue Reading

Mozilla Persona, dříve BrowserID – další OpenID?

Docela mě zaujala možnost využít Mozilla Persona pro řešení uživatelských účtů, ale pak jsem to zase zavrhl.

Continue Reading

banner

Copyright © 2017. Powered by WordPress & Romangie Theme.

banner