TIL: Today I Learned

yep :innocent: działa znacznie lepiej

1 Like

TIL: lazy loading przez samego html’a :fire: https://github.com/whatwg/html/pull/3752#issuecomment-585202516

2 Likes

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 :heart_eyes:

Już mają :man_shrugging: :frowning_face:

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

1 Like

TIL, że w Thunarze w okienku “właściwości” można łatwo wygenerować albo sprawdzić checksumę danego pliku :blush:

1 Like

TIL:

1 Like

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

3 Likes

TIL że w console.log można używać stylowania:
console.log('%cNiebieski tekst', 'color: blue; font-size: 40px;');

5 Likes

yep używam produkcyjnie

1 Like

TIL: W nowym FF dev można sobie suwaczkami zmieniać składowe fontu:

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:

https://httpstat.us

1 Like

jest jeszcze jedno dosyć podobne, jeśli potrzebujemy zwizualizować błąd :wink:

5 Likes

alternatywa dla tych co preferują psy:

4 Likes

TIL: Auto wykonywanie kodu w formie podpowiedzi w konsoli Firefoxa Developer Edition, wcześniej już coś takiego można było zobaczyć Chrome:

1 Like

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:

flexbox-order.png

3 Likes

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>
1 Like