yep działa znacznie lepiej
TIL: lazy loading przez samego html’a https://github.com/whatwg/html/pull/3752#issuecomment-585202516
Super! Nie moge się doczekać aż wszystkie te powolne strony będą i tak się wczytywać wolno bo ich twórcy mają w dupie ich użytkowników
Już mają
Yep - jakiekolwiek ulepszenia zostaną dodane do i tak już nieźle zoptymalizowanych standardów webowych, zawsze się znajdzie taki WP czy inny Onet które wszystko zjebią
TIL o atrybucie scroll-margin-top
, który pozwala na łatwe naprawienie problemu który pojawia się przy jednoczesnym używaniu kotwic na stronie i fixed headerów <3
TIL, że w Thunarze w okienku “właściwości” można łatwo wygenerować albo sprawdzić checksumę danego pliku
TIL:
TIL że npm scripts są potężniejsze niż mi się dotąd wydawało co może zmniejszyć liczbę layerów gdy się coś odpala przez npm run
TIL że w console.log
można używać stylowania:
console.log('%cNiebieski tekst', 'color: blue; font-size: 40px;');
yep używam produkcyjnie
TIL, że te dwa kody dają różne rezultaty:
let content = "";
event_source.on("click", async () => {
content += await fetchChunk();
});
let content = "";
event_source.on("click", async () => {
const chunk = await fetchChunk();
content += chunk;
});
Pierwszy z nich jest podatny na dziwne race condition - może brakować niektórych chunk
-ów w zmiennej content
.
Demo:
const Bluebird = require("bluebird");
function fetchChunk(timeout) {
return new Promise((resolve, reject) => {
setTimeout(() => resolve(`-${timeout}-`, timeout));
});
}
async function test() {
let content = "";
await Bluebird.map([10, 200, 50], async timeout => {
content += await fetchChunk(timeout);
});
console.log("test1:", content);
}
test();
async function test2() {
let content = "";
await Bluebird.map([10, 200, 50], async timeout => {
const chunk = await fetchChunk(timeout);
content += chunk;
});
console.log("test2:", content);
}
test2();
Output:
test1: -50-
test2: -10--200--50-
Najpewniej jest tak dlatego, że linijka content += await fetchChunk(timeout)
jest rozwinięta do content = content + await fetchChunk(timeout)
, co sprawia że wartość content
po prawej stronie znaku =
jest ładowana przed wywołaniem fetchChunk
, a cała prawa strona =
jest wpisywana do zmiennej content
po wykonaniu tej funkcji. W międzyczasie inne funkcje mogły coś zapisać do tej zmiennej i wtedy to zostaje stracone.
Metoda bez +=
jest w tym wypadku bardziej atomowa.
TIL: Proste api w którym możemy przetestować mockowany status code:
jest jeszcze jedno dosyć podobne, jeśli potrzebujemy zwizualizować błąd
alternatywa dla tych co preferują psy:
TIL: Auto wykonywanie kodu w formie podpowiedzi w konsoli Firefoxa Developer Edition, wcześniej już coś takiego można było zobaczyć Chrome:
Dodam od siebie, że alternatywnym rozwiązaniem jest trap
.
TIL, że właściwość order
, którą możemy wykorzystać przy flexboxie, nie zmienia kolejności zaznaczania elementów, tak jak to widać na załączonym obrazku:
Dzisiaj przypomniałem sobie o grze Bezier Method, która pomaga w nauce rysowania za pomocą krzywych Beziera - szczerze polecam :3
TIL o hq
- programie do wyciągania danych z html-a podobym do jq
:
$ curl -s https://coderobe.net | hq a data
<a href="https://keybase.io/coderobe">Keybase (coderobe)</a>
<a href="https://github.com/coderobe">Github (coderobe)</a>
<a href="https://twitter.com/coderobe">Twitter (coderobe)</a>