Arek Waczyk - Wpisy, ktre warto poczyta

Minify – Sympatyczne narzdzie dla Web-Designerw

Czwartek, 21 lutego 2013 godzina 8:45 Programowanie
Minify – Sympatyczne narzdzie dla Web-Designerw

W wielu projektach WWW dochodzi do momentu, e pliki tekstowe takie jak PHP, JS czy arkusze stylów CSS zaczynaj przybiera spore rozmiary. Generalnie w niczym to nie przeszkadza, ale co si dzieje kiedy witryna posiada kilkadziesit zapyta w cigu sekundy, a do wczytania jest kilka lub kilkadziesit takich plików. Z pomoc przychodz wówczas rónorakie techniki i narzdzia do optymalizacji. Dzi omówi prosty skrypt o nazwie Minify.

Dlaczego warto optymalizowa

Najwiksze witryny na wiecie w cigu sekundy musz odpowiedzie nawet na kilka tysicy zapyta. Myl teraz o popularnej Wikipedii, której to serwery pracuj nieustannie na do wysokich obrotach, ale przy tym nie koniecznie szczególnie si mcz. Czy moecie sobie wyobrazi ich dziaanie gdyby nagle odci ich od moliwoci „cachowania” zapyta do baz danych oraz kompresowania zwracanej treci w locie? Z dowiadczenia wiem, e nawet najtsze serwery i cza odmówiyby posuszestwa.

Jednake w tym wpisie nie bd omawia techniki, takiej jak na przykad owe buforowanie wyników zapyta bazodanowych, czy pakowania zwracanej treci po stornie serwera. Zwróc jednak uwag na bardzo proste i praktyczne narzdzie, które z pewnoci mio zaskoczy projektantów stron WWW, którzy jeszcze z podobnych narzdzi nie korzystali.

Minify to kompresor rónorakiego kodu. Obsuguje pliki CSS oraz JS. Do plików PHP istniej oczywicie podobne rozwizania, ale w tym wpisie skupi si na optymalizacji arkusza stylów.

Skrypt dostpny jest online pod tym linkiem: Minify CSS Compresor

Jak to dziaa?

Zasada dziaania jest oczywicie banalna. Zaómy zatem, e mamy swój kod CSS na przykad ja posu si takim wstukanym na szybko nic nie robicym arkuszem.

body{
	font-family: Arial;
	font-size: 12pt;
	color: #ffffff;
	margin: 0;
}

.main{
	font-size: 12pt;
	color: #ff0000;
}

.container{
	font-size: 12pt;
	color: #ff0000;
}

.super-container{
	font-size: 12pt;
	color: #ff0000;
}

.submain{
	color: #ff0000;
	margin: 0;
}

.mycalss{
	overflow: hidden;
}

.newstyleclass{
	font-family: Georgia;
	margin: 15px;
	overflow: hidden;
}

W powyszym przykadzie trzy klasy (main, container i super-container) maj identyczn zawarto. W trakcie pisania duych arkuszy stylów to si przytrafia i moe atwo zosta przeoczone. I tutaj z pomoc przychodzi kompresor, który po wczeniu funkcji „Regroup selectors: Merge selectors with the same properties”, czyli zczanie selektorów klas z identycznymi wasnociami, wyapie kade takie powtórzenie i scali je do kupy. Dodatkowo mona aktywowa funkcj kompresowania kolorów oraz wielu innych waciwoci. Poniszy przykad zosta zoptymalizowany w trybie „Standard” polegajcym na zachowaniu równowagi pomidzy czytelnoci, a objtoci.

body {
font-family:Arial;
font-size:12pt;
color:#fff;
margin:0;
}

.submain {
color:red;
margin:0;
}

.mycalss {
overflow:hidden;
}

.newstyleclass {
font-family:Georgia;
overflow:hidden;
margin:15px;
}

.main,.container,.super-container {
font-size:12pt;
color:red;
}

Przyjrzyjmy si teraz jak bdzie wyglda kod w trybie „High”, który zmniejsza czytelno kodu, ale proporcjonalnie do objtoci caego pliku. Dodatkowo aktywowaem równie funkcj, która usuwa rednik w ostatniej waciwoci selektora.

body{font-family:Arial;font-size:12pt;color:#fff;margin:0}
.submain{color:red;margin:0}
.mycalss{overflow:hidden}
.newstyleclass{font-family:Georgia;overflow:hidden;margin:15px}
.main,.container,.super-container{font-size:12pt;color:red}

A co jeli chcemy upchn wszystko w jedn linijk, gdy zupenie nie zaley nam na jakiejkolwiek czytelnoci kodu? Nie ma problemu – tryb „Higest” zrobi to szybko i precyzyjnie. Oto nasz kod po zastosowaniu najwikszej kompresji.

body{font-family:Arial;font-size:12pt;color:#fff;margin:0}.submain{color:red;margin:0}.mycalss{overflow:hidden}.newstyleclass{font-family:Georgia;overflow:hidden;margin:15px}.main,.container,.super-container{font-size:12pt;color:red}

Oczywicie w przypadku tak maej objtoci pliku wszystko jest widoczne, ale wyobracie sobie odczyt arkusza liczcego sobie kilkaset linijek po przetworzeniu do takiego stopnia, gdzie praktycznie usuwane s znaki nowej linii.

Podsumowanie i wnioski

Po zastosowaniu zabiegu kompresji udao si zmniejszy objto pliku CSS prawie o poow. Skrypt po kadym cyklu informuje o tym, ile zawartoci udao si odci od arkusza. Narzdzie moe by wietnym uzupenieniem w przypadku kiedy zaley nam na optymalnym dziaaniu serwisu cieszcego si du popularnoci, ale równie pozwoli zachowa porzdek w kodzie co czyni je praktycznym dla kadego.

Podstawow wad moe by moliwo grupowania do kupy tylko tych selektorów, które posiadaj identyczne wszystkie waciwoci, a nie na przykad wybieranie z poszczególnych selektorów pojedynczych wasnoci, które si powtarzaj.

Jednake skrypt daje moliwo wprowadzania wasnego szablonu przetwarzania co czyni go jeszcze bardziej konfigurowalnym, a jego uyteczno sprawia, e bez wzgldu na wspomnian wad jest on godny uwagi.

Komentarze oraz dyskusja na temat wpisu

Rangle pisze: Pitek, 24 czerwca 2016 godzina 23:15

Thank you so much for this aricelt, it saved me time!

Gregorycow pisze: Wtorek, 1 maja 2018 godzina 14:07

<a href=https://goo.gl/j2vPXb>Energy Slim</a> – это эксклюзивная революционная линейка продуктов для похудения.

Justinapoda pisze: Pitek, 18 maja 2018 godzina 3:26


Nicely put. Regards!

Justinapoda pisze: Wtorek, 22 maja 2018 godzina 20:36


Nicely put. Cheers.

medanrer pisze: roda, 11 lipca 2018 godzina 5:23

Поняв, как работает принцип осознанного сновиденияи изучив способы управления сознанием, Вы сможете получить незабываемый опыт. Рационализировать и разукрасить бытие поможет современное решение - прибор для осознанных снов. Данное устройство доступно для заказа на нашем сайте по самой оптимальной цене.

Как часто бывали с Вами случаи, когда Вы не могли до конца осознать, во сне Вы находитесь или в реальности? А сколько раз вам снились кошмары? Помимо этого, многие люди впадают в состояние паралича во время сна - при этом Вам кажется, что Вы не можете двигаться. А теперь представьте, что всего этого можно избежать и превратить неприятные сновидения, например, в увлекательные путешествия во сне. Заказав на нашем сайте прибор "DreamTrainer", Вы навсегда забудете о кошмарных сновидениях.

Метод осознанных сновиденийпозволяет полностью управлять развитием событий во сне - Вы сами можете выбирать сюжет своего сновидения, став практически разработчиком виртуальной реальности. Во сне Вы сможете воплотить любые свои фантазии, разобраться со своим внутренним миром, избавиться от многих проблем - приборы для осознанных сновидений станут для Вас незаменимыми помощниками.

Благодаря инновационной методике контроля состояния, Вы сможете достаточно быстро добиться нужного результата. Специальное устройство, в котором установлен акселерометр и светодиоды, устанавливается на одной из дужек очков и реагирует на малейшее изменение положения туловища или кивок головы. Таким образом, обращая внимание на изменения индикаторов, Вы сможете контролировать свое состояние. Приучая свой мозг контролировать состояние реальности в дневное время, вы, со временем, сможете перейти к осознанным сновидениям и полностью раскрыть их потенциал.

<a href=https://claps.me/catalog/pribory-dlya-osoznannykh-snov/dreamtrainer-proverka-osoznannosti/>Прибор осознанного сна</a> является результатом многих исследований, направленных на изучение возможного влияния человека на развитие событий во сне. Было выяснено, что дело здесь не в силе воле или окружающих факторах, а именно в умении осознавать состояние реальности. Осознанные сновидения доступны!

Тренировки не займут у Вас много времени, справиться с ними может любой желающий. Уже вскоре вы научитесь распознавать реальность на подсознательном уровне и переходить к состоянию управляемого сна. Те преимущества, которые вы получите, в тысячи, если не миллионы раз выше по сравнению с доступной стоимостью прибора. Оцените преимущества осознанных сновидений, заказав на нашем сайте прибор "DreamTrainer".

viagra tablets australia pisze: Niedziela, 31 marca 2019 godzina 12:42


I'm not sure where you are getting your information, however great topic. I must spend a while studying much more or figuring out more. Thanks for magnificent info I was in search of this information for my mission.

Single women want sex in your city (165 girls want to meet for sex in your city): https://adulttdatingsites.blogspot.de?r=39 pisze: Niedziela, 6 padziernika 2019 godzina 11:33

Sex Adult Dating – Casual online personals for flirty individuals - 393 beautiful women want sex in your city right now: https://adulttdatingsites.blogspot.it?l=90

How to earn on investments in Cryptocurrency from $ 8824 per day: https://links.wtf/FQjM pisze: Poniedziaek, 18 listopada 2019 godzina 19:14

Forex + Bitcoin = $ 1153 per week: https://vae.me/0Pdr

Just how would you utilize $81388 to make more money: https://get-3-btc-per-day.blogspot.hk?r=61 pisze: Czwartek, 21 listopada 2019 godzina 11:15

What's the most convenient way to gain $68281 a month: https://make-2-btc-per-day.blogspot.it?v=74

How to make $ 7781 per week: https://earn-4btc-per-day.blogspot.co.nz?w=00 pisze: Czwartek, 21 listopada 2019 godzina 15:58

Exactly how to Make $8971 FAST, Fast Cash, The Busy Budgeter: https://make-2-btc-per-day.blogspot.jp?u=48

How would certainly you utilize $53278 to make more loan: https://vv-bs-f.blogspot.fr?uk=15 pisze: Czwartek, 21 listopada 2019 godzina 20:57

What's the simplest method to earn $74621 a month: https://hh-o-lp.blogspot.sk?zl=47

ТОП №1 ЗАРАБОТОК В ИНТЕРНЕТЕ от 8235 rubley в сутки: http://acexozbus.tk/nv07 pisze: Poniedziaek, 25 listopada 2019 godzina 11:33

Заработок в интернете от 7689 rub. в день: https://links.wtf/Nmvb

Haroldsix pisze: Niedziela, 8 grudnia 2019 godzina 16:21

74 Legit Ways To Make Money And Passive Income Online - How To Make Money Online $7418 per week: https://q2-get-2-bitcoin-162.blogspot.ch?d=45

Easy way to earn money online in UK up to a $5786 per week: https://q2-earn-6000usd-per-week-162.blogspot.it?y=11 pisze: Niedziela, 8 grudnia 2019 godzina 16:26

TOP # 1 EARNINGS ONLINE from $5431 per week: https://q2-get-9-bitcoin-162.blogspot.jp?n=76

Easy way to earn money online in IT up to a $8853 per day: https://q1-get-4000usd-per-week-162.blogspot.kr?m=67 pisze: Niedziela, 8 grudnia 2019 godzina 18:09

Fast and Big money on the Internet from $9666 per week: https://q1-earn-5000usd-per-week-162.blogspot.jp?o=73

Very Fastest Way To Earn Money On The Internet From $8312 per week: https://q1-earn-5000usd-per-week-162.blogspot.pt?v=07 pisze: Poniedziaek, 9 grudnia 2019 godzina 1:57

Not a standard way to make money online from $6111 per week: https://q1-get-7-bitcoin-162.blogspot.in?i=91

Haroldsix pisze: Poniedziaek, 9 grudnia 2019 godzina 2:28

How to Earn from Mobile Phone in 2020 | Earn Money Online $8878 per week: https://q1-get-3000usd-per-week-162.blogspot.co.at?o=31

Make $7519 per day: https://q2-get-6-bitcoin-162.blogspot.be?j=32 pisze: Poniedziaek, 9 grudnia 2019 godzina 11:21

How to receive $9661 per week: https://q1-earn-2000usd-per-week-162.blogspot.gr?n=66

Haroldsix pisze: Poniedziaek, 9 grudnia 2019 godzina 12:43

How to receive $5754 per week: https://q2-get-10-bitcoin-162.blogspot.ru?c=70

How to make money on the Internet from scratch from $6858 per week: https://q1-get-9-bitcoin-162.blogspot.hk?b=72 pisze: Poniedziaek, 9 grudnia 2019 godzina 19:38

63 WEBSITES TO MAKE $8735 per day IN 2020: https://q2-get-1000usd-per-week-162.blogspot.hk?w=07

Haroldsix pisze: Poniedziaek, 9 grudnia 2019 godzina 20:48

BEST EARNINGS FOR ALL FROM $8916 per week: https://q1-get-5000usd-per-week-162.blogspot.in?l=68

EASY SCHEME EARNINGS ON THE INTERNET from $9715 per day: https://q1-get-2000usd-per-week-162.blogspot.co.nz?f=68 pisze: Wtorek, 10 grudnia 2019 godzina 0:24

TOP # 1 EARNINGS ONLINE from $8256 per day: https://q2-get-8-bitcoin-162.blogspot.cz?m=43

Not a standard way to make money online from $5382 per day: https://q1-earn-1000usd-per-week-162.blogspot.ro?t=89 pisze: Wtorek, 10 grudnia 2019 godzina 8:29

Earn $8328 per day: https://q1-get-3-bitcoin-162.blogspot.se?h=48

Fast and Big money on the Internet from $5181 per week: https://q2-earn-7000usd-per-week-162.blogspot.com?p=18 pisze: Wtorek, 10 grudnia 2019 godzina 14:30

How earn online newbie from $8375 per day: https://q2-get-9-bitcoin-162.blogspot.cz?r=58

Verified earnings on the Internet from $6482 per day: https://q3-get-1-bitcoin-162.blogspot.hu?q=63 pisze: Wtorek, 10 grudnia 2019 godzina 15:12

69 Ways to Make Money Online From $8536 per week: https://q1-get-1-bitcoin-162.blogspot.ru?e=89

READY SCHEME EARNINGS ON THE INTERNET WITH MINIMUM INVESTMENTS from $5984 per week: https://q2-earn-4000usd-per-week-162.blogspot.tw?k=87 pisze: roda, 11 grudnia 2019 godzina 7:53

The Most Fastest Way To Earn Money On The Internet From $6811 per week: https://q1-earn-2000usd-per-week-162.blogspot.hk?g=67

How earn online newbie from $7325 per week: https://q2-get-2000usd-per-week-162.blogspot.hk?p=13 pisze: roda, 11 grudnia 2019 godzina 9:20

How to earn $7861 per day: https://q1-get-8-bitcoin-162.blogspot.gr?z=21

Very Fastest Way To Earn Money On The Internet From $7648 per day: https://q2-get-5-bitcoin-162.blogspot.cz?j=91 pisze: roda, 11 grudnia 2019 godzina 14:04

EARN $616 EVERY 60 MINUTES - MAKE MONEY ONLINE NOW: https://q1-get-4000usd-per-week-162.blogspot.sg?r=95

Adult Dating - Sеx Dating Site: https://huit.re/bestsexygirls2335 pisze: roda, 25 grudnia 2019 godzina 22:32

The bеst girls for sex in уour tоwn USА: https://vae.me/HIuP

Sex dаting оnlinе with phоtо. Is frеe: https://1borsa.com/sexdating88375 pisze: roda, 25 grudnia 2019 godzina 23:53

Adult dаting amеrican guys online: https://links.wtf/L3Z8

Sеxу girls fоr the night in уоur tоwn Сanadа: https://bogazicitente.com/bestsexygirls450715 pisze: Czwartek, 26 grudnia 2019 godzina 2:15

Dаting sitе for seх with girls from Frаnсe: https://frama.link/bestsexygirls638510

Napisz swj komentarz

Twoje zdanie na ten temat rwnie mnie interesuje. Podawanie adresu e-mail nie jest wymagane.