Pull to refresh
62
0
Роман Комаров @kizu

User

Send message

Tower Defence (Portable)

Reading time 1 min
Views 703
image

В хабратопике inlanger рассказал о веселой игре «Tower Defence в стиле Starcraft2».

Мне подобные игры нравятся (Xeno Tactics на флешке уже пару лет живёт), а порубать злобных терранов дают только в интернете. В итоге за 30 минут на Delphi был написан «эмулятор» сайта Starcraft2.pro. Сам эмулятор простой как тяпка. Встроенный http сервер, EmbedIE с настройкой прокси сервера на этот самый http сервер.

Скачать: Лоадер + Игра + Исходники лоадера (21,8 Мб)
Скачать v2: Лоадер + Игра + Исходники лоадера (22.4 Мб)
Скачать v2 (обновление): Лоадер + Исходники лоадера (0.66 Мб)

UPD: в файлике data\config_0.txt лежат настройки уровня.
UPD: Сделал обновление.
Total votes 26: ↑24 and ↓2 +22
Comments 14

Общие советы по составлению оптимальных регулярных выражений

Reading time 3 min
Views 2.1K
Регулярные выражения — неотъемлемая часть любого инструмента обработки данных.
Логично, что в различных вариациях поддерживается различный синтаксис и различный функционал.
Не смотря на это принципы работы самих регулярных выражений, машины регулярных выражений и базовые установки оптимизации практически едины.
Где-то на просторах сети видел совершенно глупое заявление, что “регулярные выражения не приспособлены для решения нерегулярных данных” или нечто похожее. Полнейшая ерунда.
Читать дальше →
Total votes 29: ↑29 and ↓0 +29
Comments 26

Удивительная Курта

Reading time 3 min
Views 6.9K
Curta

Возможно, ни один калькулятор любого типа не вызывал столько дискуссий, сколько Курта. Хотя об этом невероятном устройстве и его создателе может быть написана целая книга, в этой статье приведена лишь небольшая часть информации.
Читать дальше →
Total votes 81: ↑79 and ↓2 +77
Comments 86

Свободный и бесплатный софт

Reading time 12 min
Views 18K
Я знаю, подобный топик уже был, но я думаю этот будет более полным. Свобода… Зачем платить, если можно оценивать чужой энтузиазм и иногда, когда чувства переполняют, жать кнопочку Donate.

далее список программ
Total votes 80: ↑71 and ↓9 +62
Comments 241

Launchy 2.0: НЛО прилетело и опубликовало эту кнопку здесь

Reading time 1 min
Views 1.6K
Launchy 2.0 внешний вид
Тихо и незаметно обновилась довольно примечательная Win32 утилита, экономящая время любого, чья ведущая верхняя конечность чаще находится в районе клавиатуры нежели мыши (субъективно).
Читать дальше →
Total votes 38: ↑33 and ↓5 +28
Comments 54

Бекап важной информации с помощью Rar+nnCron

Reading time 2 min
Views 2.1K
Уже давно пользуюсь весьма интересной, простой, и удобной программой для архивации важных данных, которая не дала ни одного сбоя за 2 с половиной года работы!
Называется эта программа nnCron, для xUSSR регистрация бесплатная. Работает nnCron в связке с winrar и выполняет несколько простых операций, благодарая которым у меня хранится архив важных мне папок в течении полугода. Естественно пришлось пожертвовать кусочком дискового пространства, но информация дороже.
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Comments 7

От данных — к информации

Reading time 7 min
Views 1.6K
В последнее время в специализированной прессе все чаще появляется «загадочная» аббревиатура ILM – Information Lifecycle Management. Ведущие разработчики один за другим предлагают решения для той или иной части ILM, красиво расписывая общую схему хранения данных в реорганизованном соответствующим образом датацентре. Однако ясного понимания, что же такое ILM, у российских заказчиков, на наш взгляд, пока не сложилось.

Первое, что стоит отметить: ILM – не панацея, не технология, не решение и не руководство к действию. Это концепция, отражающая современный взгляд на корпоративные данные; набор практик управления, нацеленных на достижение оптимального соотношения ценности информации для бизнеса и стоимости инфраструктуры её хранения.

ILM, согласно SNIA (Storage Networking Industry Association, www.snia.org), это политики, процессы, практики, сервисы и инструменты, используемые для того, чтобы соотнести ценность информации с точки зрения бизнеса с наиболее подходящей и эффективной по стоимости инфраструктурой, начиная с момента создания информации и заканчивая ее размещением. Информация сопоставляется с бизнес-требованиями через политики управления и уровни предоставления сервиса, связанные с приложениями, данными и метаданными.

Говоря проще, это концепция автоматического размещения данных в инфраструктуре датацентра на основании требований бизнеса к параметрам защищенности, доступности информации и с учетом ее ценности для бизнеса, актуальности и минимизации расходов на хранение. Какие же проблемы хранения помогает решить ILM?

Не захлебнуться в океане данных

Ни для кого не секрет, что объем корпоративной информации с каждым годом увеличивается, и очень серьезно. В соответствии с отчетами IDC рост объемов хранимых и обрабатываемых данных составляет более 70% в год. В среднестатистической современной компании три тысячи сотрудников ежедневно передают по электронной почте терабайт данных. Всего в мире, по подсчётам Gartner, в 2005 году отправлялось 36 миллиардов электронных сообщений в день — в три раза больше, чем в 2001-м. В некоторых специфичных отраслях, например в медицине, наблюдается экспоненциальный рост информационных объёмов.

Ситуация осложняется требованиями нормативных актов и внутрикорпоративныхстандартов, предписывающих длительное хранение некоторых видов информации — иногда в течение 5--10 лет. А это значит, что компания, имеющая корпоративные данные скромного объема в 1 Тбайт и показывающая рост этих объёмов 60% в год (не самый большой по современным меркам), через 10 лет будет хранить уже 110 Тбайт информации. Увеличение более чем в 100 раз!

Проблема взрывного роста объемов данных тесно связана с другой проблемой: постоянно усложняются процессы управления распределенной инфраструктурой датацентров. Современный центр обработки данных состоит из тысяч взаимодействующих компонентов – серверов, элементов систем хранения (логических единиц, дисков, контроллеров, управляющих серверов, ленточных накопителей и т. д.), элементов сетей хранения и локальных сетей (маршрутизаторов, хост-контроллеров, адаптеров и пр.). Для управления сложной инфраструктурой применяются специальные инструменты, причём для каждого вида инфраструктурных элементов — свои. И чем больше в датацентре разнородных компонентов, тем больше инструментов управления вы вынуждены использовать. Что ещё больше увеличивает сложность системы.

Кроме того, использование специализированных инструментов управления инфраструктурой не решает основной задачи – управлять лавинообразно растущим потоком данных. Компании продолжают хранить информацию в дорогих высокопроизводительных системах и, несмотря на снижение стоимости оборудования, с каждым годом расходуют всё больше средств на её хранение. Процесс резервного копирования становится всё сложнее и требует больше и больше времени. При этом существующие инструменты управления не автоматизируют в достаточной степени процессы размещения информации – администраторы фактически вручную выделяют место для ее хранения, задают привязку к необходимым серверам, создают расписание резервного копирования, определяют источники и места назначения.

Сложившуюся ситуацию в области хранения данных можно охарактеризовать следующим образом: объем данных катастрофически растет, а имеющиеся инструменты управления не в силах с этим справиться.

Нужны ли бизнесу все сохраняемые в системах данные?

Возвращаясь к примеру компании, за 10 лет увеличившей объём корпоративной информации в 100 раз, зададимся вопросом: так ли необходимы её бизнесу эти 110 Тбайт данных, размещенных в оперативных хранилищах?

Очевидно, что нет. С течением времени меняется как ценность данных, так и требования к их доступности и защищенности. Так, ценность финансовой транзакции максимальна в течение первого месяца и впоследствии неуклонно снижается. Кроме того, финансовая запись в ERP-системе компании и, скажем, личное письмо сотрудника имеют разную ценность для бизнеса уже в момент создания.

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

Анализ, проведенный Enterprise Storage Group, показывает, каким образом ценность информации для бизнеса изменяется с течением времени в зависимости от ее типа.



Мы можем сделать важный вывод: разные классы информации имеют разную ценность для бизнеса, и эта ценность меняется с течением времени.

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

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

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

Вперед и вверх!

Описывая текущую ситуацию с хранением данных, мы намеренно не акцентировали внимания на различии между данными и информацией. Точно так же эти различия не учитываются в сложившейся сегодня практике организации процессов и инфраструктуры хранения. Однако именно этот аспект – один из важнейших в концепции ILM: данные ≠ информация

Данные – это просто набор байтов, способ отражения бизнес-информации в инфраструктуре хранения. С такой точки зрения все они представляют одинаковую ценность, поскольку их семантика не определена, а значение здесь имеют такие параметры, как надежность хранения, защищенность и доступность. Именно этими характеристиками оперируют современные системы хранения данных и инструменты управления инфраструктурой.

Информация – это данные, представляющие определенный смысл для бизнеса. Аналогичные по структуре данные, одинаково размещенные в системе хранения, могут иметь совершенно разный смысл и, следовательно, разную ценность для компании. Например, личное письмо сотрудника, посланное по электронной почте, и письмо того же сотрудника, содержащее конфиденциальные сведения о клиенте.

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

Для этого процесса вводятся понятия целевых показателей уровня сервиса (Service Level Objectives — SLO) и «политик» (Policies), на основе которых будет осуществляться управление хранением информации. SLO определяет, какие показатели ключевых характеристик (надежности, доступности и др.) должны обеспечиваться инфраструктурой хранения для данного класса информации. «Политики» определяют необходимые действия с конкретными классами информации при возникновении определенных условий (например, при окончании срока жизни информации). Основой для формирования SLO и политик являются бизнес-требования и бизнес-процессы компании, а также различные нормативные акты.

Таким образом, подход к хранению данных в датацентре становится информационно-центричным.



Создаваемая информация классифицируется, с ней связываются определенные SLO, на основании которых интегрированный в инфраструктуру механизм управления размещает эту информацию согласно заданным политикам. Это значит, что информация, требующая высокой доступности, попадет в высокопроизводительные системы хранения, а та, что не является критически важной для бизнеса, разместится в недорогих хранилищах.

При этом механизмы работы приложений с данными не меняются, но инструменты управления постоянно отслеживают ценность информации, ее состояние и перемещают ее в адекватные системы хранения согласно политикам и SLO. На определенном этапе жизненного цикла информация может стать ссылочной, устареть или повторно использоваться. Тогда механизм управления в первом случае передаст ее в архив, во втором – просто удалит, а в третьем – заново классифицирует и свяжет с другим SLO.

Таким образом, датацентр, построенный согласно ILM, обеспечивает следующие основные преимущества:

  • снижение стоимости хранения информации (за счет своевременного переноса данных в недорогие системы хранения и уничтожения устаревшей информации);
    строгое соблюдение нормативных актов, регламентирующих хранение данных, путем автоматического применения политик;
    достижение соответствия характеристик хранения (надежности, защищенности, доступности и др.) различным классам информации;
    исключение дублирования информации (за счет управления ссылочными данными).

    И при этом информация всегда предоставляется в нужном месте, в нужное время и по оптимальной цене.
Total votes 25: ↑22 and ↓3 +19
Comments 41

О, Боже, где же валидность?

Reading time 1 min
Views 1.3K
Разгорелась тут дискуссия на тему валидности. Вернее, суть там была в том, что развитие ИТ на (и не надо вот тут возмущенных вздохов!), на Украине, говорю я, позади планеты всей. Но про это как-то быстро забыли, и вопрос повернулся в другую плоскость.

Валидность или не валидность? Вот в чем вопрос.

К чему это фанатическое стремление к валидному коду? Каковы его практические плюсы, кроме того, что это в принципе стандарт?

Вот «Хабра» не валидна, например. И что, давайте дружно перестанем тут тусоваться. Она ж не валидна!

Короче, о пользователях надо думать, а не об имидже. Будет пользователь доволен — будет имидж.

Update
Спасибо всем, кто отметился в комментариях. Вразумительные объяснения только на пользу. Мне :)

Правда, я не имел ввиду, что невалидная «Хабра» — это плохо. Но это уже другая история.

Update2
Своего рода продолжение дискуссии novikov.habrahabr.ru/blog/5404.html.
Total votes 10: ↑8 and ↓2 +6
Comments 36

Коротко об дизайн-макетах, удобных XHTML-верстальщику

Reading time 2 min
Views 1.4K
Заказчик прислал 14-мегабайтный PSD-файл, содержащий макет всего одной вебстраницы. Открыв его, обнаружил изрядный бардак в структуре: куча из скрытых слоёв, групп, поименованных абы как, каких-то продублированных несколько раз одинаковых слоёв и т.п. С грехом пополам разобрался, что к чему, сверстал. А потом выяснилось, что кое-что было забыто (я просто не смог увидеть это «кое-что»).

А ведь есть хорошие правила подготовки макетов перед отправкой их верстале. Я, пожалуй, запишу их сейчас, и по необходимости буду ссылаться на эту запись всякий раз, когда понадобится.

UPD: Хабралюди, не превращайте, пожалуйста, комментарии в арену для священных войн.

Читать дальше →
Total votes 39: ↑34 and ↓5 +29
Comments 89

CSScomb 3.0: красивый код одной командой

Reading time 5 min
Views 48K
На этой неделе вышла новая версия CSScomb — инструмента, который делает CSS-код красивым. О том, как «расчёску» используют в Яндексе, недавно писал Beyondtheclouds. Я же расскажу, что нового появилось в третьей версии и что делать, если базовой функциональности не хватает. Например, как написать свой плагин или даже постпроцессор.
Читать дальше →
Total votes 52: ↑51 and ↓1 +50
Comments 20

Образовательные и обучающие ресурсы для веб-разработчиков и веб-дизайнеров

Reading time 15 min
Views 143K
Данным постом мы открываем рубрику «Переводы» в нашем блоге. Почему мы решили открыть такую рубрику? Дело в том, что сотни специалистов, работающих в Mail.Ru Group, для решения стоящих перед ними задач ежедневно прочитывают множество интересных статей и постов на форумах. Некоторые из них кажутся нам интересными, и мы считаем своим долгом перевести их на русский и поделиться этими ценными знаниями с Хабражителями.

Пользуясь случаем, хотим сообщить новость: сегодня состоялось открытие Технопарка — нашего образовательного проекта, о котором мы уже не раз писали на Хабре (например, тут, тут и тут). Теперь у технопарковцев есть свое собственное помещение. Изначально Технопарк задуман как место, где талантливые студенты МГТУ им. Баумана могут получить дополнительное образование в сфере веб-разработки, дизайна и программирования, а также окунуться в работу над реальными проектами высокой сложности. В общем, у Технопарка сегодня знаменательный день, и поэтому первый выпуск в рубрике «Переводы» мы решили посвятить образовательным ресурсам для веб-разработчиков и веб-дизайнеров. Ведь пока такие Технопарки не распространились по всей стране, разработчикам зачастую приходится заниматься исключительно самообразованием.

Читать дальше →
Total votes 91: ↑83 and ↓8 +75
Comments 18

Чек-лист вёрстки. Что можно отдавать клиенту, а что надо переделывать

Reading time 20 min
Views 313K
Идеальная вёрсткаВы PM. Как узнать – готова ли вёрстка к реальному использованию?
Вы заказчик. Как убедиться, что работа выполнена качественно?
Как оценить качество вёрстки?

Когда я стал тим-лидом, а позже PM, передо мной стала задача проверять вёрстку наших проектов. Нужно было выработать формальные, легкопроверяемые критерии, соответствие кода которым, должно было давать некую гарантию, что не будет факапов и ни клиент, ни программеры не сказажут потом “WTF?”.

Клиенту неважно насколько красив ваш код, но ему важен результат. Качественный код нужен фирме, т.к. он надёжней и в будущем его будет легче поддерживать.

Требования должны были быть такие, что соблюсти их легче, создавая качественную вёрстку, а не говнокод. Я составлял такой чек-лист в течении полутора лет. За последние полгода в него не добавилось ничего. Значит самое главное учтено.

Итак что же это за список?

Краткая версия теперь доступна на html5checklist.com (github), где можно вносить pull-request'ы.

История обновлений:
  • 2015/08/11: Актуализировал рекомендации по оптимизации скорости загрузки. Добавил требование поддержки Retina. Дополнил «19. Мелочи» требованием что изображения должны масштабироваться в зависимости от размера окна.
  • 2015/08/10: актуализирован список исключений для CSSLint
  • 2015/07/29: актуализирован пункт №13 «плохо»/«хорошо»
  • 2015/04/08: добавлено требование использования препроцессоров и рекомендация использования систем сборки
  • 2013/04/25: добавлены анализаторами качества кода: CSSLint и JSHint, указан сайт подбора css font stack (спасибо @fliptheweb), мелкие уточнения (работу интерактивных элементов страницы, что не пропадает фон на высоких разрешениях, не должно быть пустых презентационных блоков, при проверках контента — пробовать удалять заголовки, менять местами блоки)
  • 2013/04/24: добавил пункт об минимизации каскада (БЭМ-техники, MCSS, SMACSS), необходимости вписывания в экран моб. устройства, заменил ссылку на проверочный текст отображения стандартного html на код с normalize.css, поправил пример где в рекомендации встречался длинный каскад, упомянул про Opera на Presto и новый уровень семантики — в именах классов BEM.
  • 2012/04/12: отсортировал пункты проверки в порядке важности, выделил главные, дополнил статью подробностями
  • 2011/12/07: дополнил согласно доклада на WSD Минск'2011.
  • 2011/07/19: добавлено про повышение надёжности вёрстки благодаря html5-тэгам, про необходимость favicon/apple-touch-icon, отсутствие багов при ресайзе textarea
  • 2011/06/15: добавил пояснения какие ошибки валидации допустимы, рассказал про отсутствие официальной кнопки «HTML5 Valid» и про официальное лого HTML5 на сайте.


Далее с примерами - как проверить html, даже если вы ничего не понимаете в вёрстке.
Total votes 335: ↑318 and ↓17 +301
Comments 244

Анализ применения SVG в качестве background-image

Reading time 2 min
Views 46K

В последнее время все чаще появляются статьи, в которых авторы рекомендуют использовать SVG для backgroud-image. Действительно, применение SVG приносит большую пользу. Во всех прочитанных статьях очень вскользь упоминалось про производительность отрисовки SVG, что это более затратная операция, так как браузеру необходимо каждый раз заново отрисовывать растр.

И вот в один прекрасный день, открыв одно веб-приложение, я заметил, что мой браузер безумно «пожирает» память — одна вкладка «ела» около 600 МиБ. На МacBook с ретиной дела обстояли еще хуже. С этого момента началось расследование, куда же течет память. Кому интересно, добро пожаловать под кат.
Читать дальше →
Total votes 47: ↑45 and ↓2 +43
Comments 29

Hayaku — пишем CSS быстрее

Reading time 3 min
Views 40K
Hayaku это сборник полезных скриптов, помогающих при быстрой веб-разработке.

Hayaku предоставляет способ быстрого способ написания и поддержки CSS кода в редакторе. К сожалению, он пока доступен лишь для Sublime Text 2, поддержка других редакторов ожидается позднее.
Читать дальше →
Total votes 61: ↑57 and ↓4 +53
Comments 58

Yate: Яндекс.Почта перешла на новый шаблонизатор

Reading time 5 min
Views 63K
imageНекоторое время назад мы писали, что в Яндекс.Почте появился новый интерфейс, в котором используется шаблонизация данных в браузере. Немногие крупные сервисы отваживались на это, но мы и сейчас считаем такое решение наиболее удачным. Оно не только ускорило работу интерфейса, но и позволяет экономить трафик пользователя и эффективнее расходовать процессорное время серверов.

Тогда в качестве шаблонизатора мы использовали XSL, а данные передавали в формате XML. Переведя проект на новый интерфейс, мы начали искать другие способы ускорения работы интерфейса Яндекс.Почты.

Недавно мы перевели всю Почту на JS-шаблонизатор и JSON-данные.
И вот как это проходило
Total votes 173: ↑159 and ↓14 +145
Comments 185

Памятка пользователям ssh

Reading time 13 min
Views 1.5M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →
Total votes 360: ↑352 and ↓8 +344
Comments 148

Как сделать группу инпутов удобной

Reading time 2 min
Views 47K
Когда я работал над сервисом заметок jotsky.com, еще до работы в Островке, надо было сделать ввод телефонного номера из двух инпутов. Примерно такой:



Я сделал навигацию с помощью стрелочек. Сделал, чтобы по мере заполнения фокус переключался к следующем инпуту. А вот сделать правильную вставку из буфера обмена у меня никак не получалось.
Читать дальше →
Total votes 175: ↑162 and ↓13 +149
Comments 98

Yet another cool story about bash prompt

Reading time 10 min
Views 37K
Я программист. По крайней мере так написано в трудовой книжке. Почти всё своё рабочее время я провожу в консоли и текстовом редакторе. Мне очень нравится bash. Почти год я жил в zsh, прислушавшись к советам своих многочисленных коллег и знакомых, но в итоге я вернулся в bash и ни капельки об этом не жалею.



Zsh красив, приятен, чертовски функционален, но, признаюсь честно, я не смог совладать со всеми его многочисленными настройками. Я хочу работать, а не бороться со своим рабочим окружением. Простой пример: пару раз из-за автодополнения zsh я удалял все директории и файлы в текущей директории — zsh просто ставил пробел между автодополненной директорией и введённой мною звёзочкой (я хотел удалить всё в выбранной папке). Помните тот эпичный баг с пробелом и удалении директории /usr? У меня было то же самое. Спасибо гиту, выручил в который раз.

Впрочем, дело не в zsh — будь я чуточку умнее, я бы с ним обязательно справился бы, и всё было бы хорошо, но мы, суровые программисты, будем использовать bash и vim, а гламурные zsh и textmate оставим хипстерам и прочим модникам ;)

Я не напишу ничего оригинального и универсального решения я не приведу, но мне всегда нравилось читать конфиги и описания других людей, а если к ним были приложены интересные картинки, так я вообще перечитывал эти статьи несколько раз. Надеюсь, вам тоже будет интересно.
Читать дальше →
Total votes 175: ↑166 and ↓9 +157
Comments 143

Маньячная минимизация (в погоне за байтом)

Reading time 8 min
Views 8K
Hello World,

Этот топик о том, каким образом можно предварительно зарефакторить код так, чтобы улучшить его минимизацию. Недавно я перед релизом минимизировал библиотеку Helios Kernel (о которой написал позавчера). Исходник библиотеки весит 28112 байт, в нём щедрые комментарии, и поэтому он с пол пинка ужимается YUI компрессором до 7083 байт. Не то что бы мне показалось, что 7 килобайт — слишком жирно. Но просто, посмотрев своими глазами на минимизированный код, я смог увидеть кучу мест, где можно было бы сэкономить ещё:



Посмотрим, что можно сделать с кодом, чтобы превратить 7083 байт в 4009 3937.
Читать дальше →
Total votes 171: ↑154 and ↓17 +137
Comments 121

CSS хаки

Reading time 4 min
Views 126K
Браузеры и стандарты. Вечная погоня. Из-за несоответствий стандартам, из-за разных способов рендеринга страниц большая часть времени веб-дизайнера уходит на то, чтобы загладить эти несоответствия (использовать хаки). В итоге, вместо эффективной работы, дизайнер вступает в противоестественные отношения с браузерами, теряя драгоценное время.
Читать дальше →
Total votes 290: ↑242 and ↓48 +194
Comments 147

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity