Как стать автором
Обновить
8
0
Андрей @exLH

Пользователь

Отправить сообщение

Чеклист фронтенд-разработчика

Время на прочтение12 мин
Количество просмотров70K
Глеб Летушов, редактор-фрилансер, адаптировал для блога Нетологии чеклист с Github от David Dias. Этот чеклист уже переводили, но так как на Хабре его нет, мы решили, что он пригодится. В чеклисте собран полный список элементов, которые необходимо проверить перед запуском и публикацией сайта.



Список основан на многолетнем опыте фронтенд-разработчиков, а дополнения собраны из общедоступных источников.
Читать дальше →
Всего голосов 30: ↑24 и ↓6+18
Комментарии21

Настройка окружения SELinux на примере LAMP-сервера

Время на прочтение8 мин
Количество просмотров24K

Это третья статья из цикла


И сегодня она попала в поток «Администрирование». Сегодня мы не будем писать модули или настраивать RBAC, а пойдем по пути наименьшего сопротивления и просто захарденим обычный LAMP-сервер при помощи готовой политики, включив необходимые настройки.

Если кто забыл, за аббривиатурой LAMP скрывается Linux, Apache, Mysql, PHP, т.е. это большая часть всех VDS, которые покупают люди для хранения своих личных блогов. Надеюсь, что этот поможет всем им стать немного безопаснее :)
Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Комментарии10

Подводные камни Bash

Время на прочтение32 мин
Количество просмотров94K


В этой статье мы поговорим об ошибках, совершаемых программистами на Bash. Во всех приведённых примерах есть какие-то изъяны. Вам удастся избежать многих из нижеописанных ошибок, если вы всегда будете использовать кавычки и никогда не будете использовать разбиение на слова (wordsplitting)! Разбиение на слова — это ущербная легаси-практика, унаследованная из оболочки Bourne. Она применяется по умолчанию, если вы не заключаете подстановки (expansions) в кавычки. В общем, подавляющее большинство подводных камней так или иначе связаны с подстановкой без кавычек, что приводит к разбиению на слова и глоббингу (globbing) получившегося результата.


Читать дальше →
Всего голосов 143: ↑141 и ↓2+139
Комментарии63

NVMe over Fabric, Fibre Channel и другие

Время на прочтение5 мин
Количество просмотров11K
image Про грядущую смерть Fibre Channel говорят разве что чуть меньше, чем про смерть ленточных накопителей. Еще когда скорость была ограничена 4 Гбит, уже тогда на смену FC прочили новомодный iSCSI (пусть вменяемый бюджет только на 1 Гбит вариант, но 10 где-то уже совсем рядом). Время шло, а 10Гбит ethernet оставался слишком дорогим удовольствием и к тому же не мог обеспечить низкую латентность. ISCSI в качестве протокола общения серверов с дисковыми системами хоть и получил значительное распространение, но полностью вытеснить FC так и не смог.

Прошедшие годы показали, что инфраструктура Fibre Channel продолжает активно развиваться, скорость интерфейсов растет и говорить о грядущей кончине явно преждевременно. А еще весной этого (2016) года был анонсирован стандарт Gen 6, удвоивший максимальную скорость с 16GFC до 32GFC. Помимо традиционного увеличения производительности, технология получила и ряд других новшеств.

Стандарт позволяет объединить 4 линии FC в один канал 128GFC для соединения коммутаторов друг с другом через высокоскоростной ISL линк. Коррекция ошибок (Forward Error Correction, FEC) уже была доступна в продуктах FC пятого поколения в виде опции, но в Gen 6 ее поддержка стала обязательной. На столь высоких скоростях не только вероятность возникновения ошибок возрастает (BER для Gen 6 составляет 10-6), но и еще больше возрастает влияние ошибок на производительность из-за необходимости перепосылки кадров. FEC позволяет принимающей стороне исправлять ошибки без необходимости делать повторные запросы на перепосылку кадра. Как следствие, мы получаем более «ровную» скорость передачи данных. Не обошли вниманием и энергоэффективность — для снижения энергопотребления медные порты могут полностью отключаться, а оптические снижать мощность до 60%.
Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии7

QoS в системах хранения Dell Compellent

Время на прочтение4 мин
Количество просмотров1.6K
Типичная проблема, которая может произойти с практически любой системой хранения — «проседание» производительности при аномальной активности на одном из логических дисков. Как следствие, из-за одного «соседа», страдают все потребители ресурсов и падение производительности может привести к весьма печальным последствиям. Всплески активности могут быть обусловлены как полезной (с прикладной точки зрения) периодической нагрузкой (например генерация отчетов), так и случайной ошибкой, допущенной разработчиками на тестовом хранилище. Для небольших инфраструктур, где СХД внедрялась по принципу одна система — одна задача, это конечно не так страшно. Однако сейчас речь как правило идет о консолидации самых различных сервисов. Активное применение виртуализации только усиливает этот тренд. Решение этой проблеме есть и уже много лет известно — управление уровнем сервиса (QoS), с помощью которого можно устанавливать приоритеты для разных типов нагрузки. Всего несколько лет назад технология была доступна как правило только для «больших» СХД в виде отдельного продукта (лицензии), то сейчас уже все больше и больше систем хранения получают возможность управлять QoS даже в системах начального уровня и зачастую «даром». Вот и для систем Dell Compellent с выходом Storage Center OS версии 7 также появилась возможность управлять настройками QoS. Обновление до SC OS 7 пока доступно только для СХД серии SC9000, но уже скоро можно будет использовать новую версию и на других системах линейки Compellent.
image
Читать дальше →
Рейтинг0
Комментарии0

Как мы боролись с парсерами

Время на прочтение16 мин
Количество просмотров36K
image
Ключевые моменты:
* Реализация скрипта для проверки PTR посетителей;
* Конфигурирование nginx в IfIsEvil-style с ветвлениями map;
* Имена location в переменных map;
* Управление ветвлением через try_files /nonexist $map_var.

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

Читать дальше →
Всего голосов 39: ↑24 и ↓15+9
Комментарии59

Крутой шаринг страниц в соцсети с помощью Open Graph

Время на прочтение2 мин
Количество просмотров92K
Решил собрать в одной статье короткий рецепт приготовления страницы, которая круто шарится во все основные соцсети. Тем, кто вообще не в теме, придётся сначала прочитать про Open Graph protocol.
Читать дальше →
Всего голосов 18: ↑13 и ↓5+8
Комментарии5

Новый лидер в price-performance среди СХД?

Время на прочтение4 мин
Количество просмотров3.1K
Если вы интересуетесь системами хранения данных, то сайт Storage Performance Council (SPC) вам наверняка знаком. Многие производители, в соответствии с принятыми методиками, проводят тесты своих систем и публикуют их результаты. Конечно, как в любых других синтетических тестах, можно критиковать и методику, и точность опубликованных ценовых характеристик, но на текущий момент это, пожалуй, наиболее объективный открытый источник данных о производительности СХД.

Недавно опубликованные результаты тестов системы DataCore SANsymphony-V 10 демонстрируют серьезный прорыв программно-определяемых СХД (Software Defined Storage).

Речь идет даже не об абсолютных значениях интегральной производительности — протестированная система оказалась позади первой десятки победителей с результатом порядка 450тыс IOPs, хотя и это далеко не самый плохой результат. Прорыв случился в таком важном показателе, как стоимость одной операции ввода-вывода ($/IOPs) — производитель сумел достичь величины в 0.08$/IOPs (8 центов(!) за IOPs). Это действительно великолепный результат, учитывая, что ближайший конкурент (Infortrend EonStor DS 3024B) демонстрирует результат в 3 раза худший — только 0.24$/IOPs. Для большинства же классических систем хранения, результат оказывается еще в несколько раз больше.

Кроме того, при 100% нагрузке время отклика составило 0.32мс, что тоже является замечательным показателем — для многих All Flash СХД вполне приемлемым считается результат меньше 1мс.

Низкая стоимость IOPs достигнута, разумеется, за счет того, что система имеет весьма демократичную цену — весь комплект из железа и лицензий стоит 38400$ (с учетом не очень большого дисконта). Детально стоимость решения расписна в самом отчете и любой желающий может с ней ознакомиться.

Что же, пришла пора новых технологий и уже нужно выводить из обслуживания все старые СХД, заменяя их на SDS?

Да, на первый взгляд, получить схожий результат конкурентам будет очень сложно (если вообще возможно в рамках имеющихся технологий). Дело в том, что SANsymphony-V это программное решение, которое работает внутри сервера и, как следствие, ему не требуется никакая коммутация (FC/Ethernet) со всеми связанными задержками. Кроме того, в версии 10 реализована технология многопоточного параллельного доступа (parallel I/O) к данным и здесь современные многоядерные процессоры дают заметное преимущество. (Почему многопоточный доступ становится актуальным можно прочитать здесь)

Но давайте более внимательно посмотрим на конфигурацию системы, которая участвовала в тестах. Это всего один сервер Lenovo x3650M5 с двумя процессорами Intel Xeon E5-2695v3 и 544GB оперативной памяти (из которой чуть меньше 409GB было выделено для работы SANsymphony-V). Для размещения данных использовались 16 SSD и 8 HDD общим объемом 10TB. Реальный полезный объем составил 2.9ТБ (29% от общей “сырой” емкости).
image
Читать дальше →
Всего голосов 4: ↑2 и ↓20
Комментарии17

Параллельные алгоритмы для обработки BigData: подводные камни и непростые решения

Время на прочтение9 мин
Количество просмотров20K
Эта публикация написана по материалам выступления AlexSerbul на осенней конференции BigData Conference.

Большие данные — тема модная и востребованная. Но многих по-прежнему отпугивает избыток теоретических рассуждений и некоторый недостаток практических рекомендаций. В этом посте я хочу отчасти заполнить этот пробел и рассказать об использовании параллельных алгоритмов для обработки больших данных на примере кластеризации товарного каталога из 10 млн позиций.
Читать дальше →
Всего голосов 28: ↑25 и ↓3+22
Комментарии35

350+ полезных ресурсов, книг и инструментов для работы с Docker

Время на прочтение14 мин
Количество просмотров101K
Мы уже ни раз приводили полезные руководства и подборки источников для разработчиков. На этот раз мы решили продолжить тему контейнеров, которую мы затрагивали ранее, и рассказать о подборке тематических ресурсов на GitHub.

Читать дальше →
Всего голосов 34: ↑31 и ↓3+28
Комментарии8

Коллекция практических советов и заметок по вёрстке

Время на прочтение32 мин
Количество просмотров177K

CSS Refresher


Это большая коллекция практических советов и заметок по вёрстке. Своеобразная памятка для тех, кто каждодневно использует CSS. Освещаются самые разные темы, от деталей поведения плавающих элементов до использования SVG и спрайтов. Проект постоянно обновляется, активное сообщество github также принимает в нем участие, там добавляются интересные замечания, о которых, возможно, вы и не слышали.

От переводчика


Приветствую всех, меня зовут Максим Иванов, и сегодня я подготовил для вас перевод заметок разработчика из Сан-Франциско Васанта Кришнамурти (Vasanth Krishnamoorthy) «CSS Refresher». Web-программирование одна из самых быстро развивающихся отраслей в наше время. Казалось бы, возьми какой-нибудь видеокурс на tuts+ и освой html-верстку, однако, как говорил разработчик Opera Software Вадим Макеев, выступая на конференции CodeFest, они все равно это делают плохо. Но давайте посмотрим, может мы итак все это знаем.

Содержание


  1. Позиционирование (position)
  2. Отображение элемента в документе (display)
  3. Плавающие элементы (float)
  4. CSS селекторы
  5. Эффективные селекторы
  6. Переотрисовка и перерасчет
  7. CSS3 свойства
  8. CSS3 медиа-запросы
  9. Адаптивный web-дизайн
  10. CSS3 переходы
  11. CSS3 анимации
  12. Масштабируемая векторная графика (SVG)
  13. CSS спрайты
  14. Вертикальное выравнивание
  15. Известные проблемы

Читать дальше →
Всего голосов 40: ↑37 и ↓3+34
Комментарии33

400 потрясающих бесплатных сервисов

Время на прочтение16 мин
Количество просмотров718K

Рад представить дополнение оригинального списка из 300 потрясающих бесплатных сервисов. Автор оригинальной статьи Ali Mese добавил ещё +100 новых сервисов, которые помогут найти все — от источников вдохновения и редакторов фотографий до создания опросов и бесплатных иконок.

И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные веб-сайты

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly: Конструктор веб-сайтов.
  • Layers: Создание сайтов на WordPress (new).
  • Bootstrap Zero: Самая большая коллекция бесплатных шаблонов Bootstrap (new).
  • Landing Harbor:  Продвижение мобильного приложения c помощью бесплатного лендинга (new).
Читать дальше →
Всего голосов 108: ↑89 и ↓19+70
Комментарии38

Вёрстка писем: 60 полезных ресурсов, руководств и исследований

Время на прочтение3 мин
Количество просмотров111K


В нашем блоге на Хабре мы часто пишем о создании почтовых рассылок — верстке HTML и CSS, работе с plain-text сообщениями и описываем интересные эксперименты. Сегодня мы представляем вашему вниманию список из 60 полезных ресурсов, туториалов и исследований о работе с email.
Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии4

NetApp становится еще эффективнее с inline dedupe

Время на прочтение4 мин
Количество просмотров3.7K
Несколько дней назад стала доступна версия Data ONTAP 8.3.2RC1. “RC” означает Release Candidate, а следовательно, в соответствии с принятыми в NetApp правилами именования версий, этот релиз уже прошел все внутренние тесты и может использоваться заказчиками не только для оценки новых возможностей, но и для продуктива, включая системы, на которых работают бизнес-критичные задачи. Поддержка вендора полностью распространяется на системы, работающие на “RC” версиях Data ONTAP.

Продавцы NetApp (да, это и мы тоже ;) не устают напоминать (и делают это совершенно правильно), что высокая утилизация дисковых ресурсов в системах NetApp достигается за счет использования программных средств оптимизации — дедупликации и компрессии.

image
Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии9

Адаптивные email-письма и media queries: Проблемы и решения

Время на прочтение8 мин
Количество просмотров25K


В нашем блоге мы неоднократно затрагивали тему создания адаптивных почтовых рассылок. В наши дни почти половина всех писем просматривается со смартфонов и планшетов, а значит, необходимо позаботиться о том, чтобы письмо хорошо выглядело на устройствах с разным форм-фактором. Именно для этого в вёрстке и начали использовать медиазапросов (media queries). Однако существует целый ряд препятствий для широкого применения технологии. Сегодня мы по-дробнее взглянем на проблемы при использовании media queries и их возможные решения.
Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии1

19 советов по повседневной работе с Git

Время на прочтение14 мин
Количество просмотров285K


Если вы регулярно используете Git, то вам могут быть полезны практические советы из этой статьи. Если вы в этом пока новичок, то для начала вам лучше ознакомиться с Git Cheat Sheet. Скажем так, данная статья предназначена для тех, у кого есть опыт использования Git от трёх месяцев. Осторожно: траффик, большие картинки!

Содержание:
  1. Параметры для удобного просмотра лога
  2. Вывод актуальных изменений в файл
  3. Просмотр изменений в определённых строках файла
  4. Просмотр ещё не влитых в родительскую ветку изменений
  5. Извлечение файла из другой ветки
  6. Пара слов о ребейзе
  7. Сохранение структуры ветки после локального мержа
  8. Исправление последнего коммита вместо создания нового
  9. Три состояния в Git и переключение между ними
  10. Мягкая отмена коммитов
  11. Просмотр диффов для всего проекта (а не по одному файлу за раз) с помощью сторонних инструментов
  12. Игнорирование пробелов
  13. Добавление определённых изменений из файла
  14. Поиск и удаление старых веток
  15. Откладывание изменений определённых файлов
  16. Хорошие примечания к коммиту
  17. Автодополнения команд Git
  18. Создание алиасов для часто используемых команд
  19. Быстрый поиск плохого коммита

Читать дальше →
Всего голосов 152: ↑149 и ↓3+146
Комментарии62

Что почитать, чтобы писать нормально

Время на прочтение5 мин
Количество просмотров12K
damn-hard-writing

В прошлых выпусках мы рассказывали почему бренды должны делать контент, а не втупую пропагандировать свои продукты. Теперь поговорим о том, как писать о продукте. Сегодня мы поделимся полезными ссылками, чтобы вы никогда не писали как амёба.
Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Комментарии2

Масштабное исследование сбоев Flash накопителей (обзор статьи)

Время на прочтение8 мин
Количество просмотров26K
Не так давно было опубликовано интереснейшее исследование «A Large-Scale Study of Flash Memory Failures in the Field” за авторством Qiang Wu и Sanjev Kumar из Facebook, а также Justin Meza и Onur Mutlu из Университета Карнеги-Меллон. Ниже основные выводы из статьи с небольшими комментариями.

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

Авторами была собрана обширная статистика за четыре года эксплуатации флэш-накопителей в дата-центрах Facebook.

Как многие наверняка знают, Facebook долгое время была лучшим (и основным) клиентом компании Fusuion-IO (сейчас куплена SANdisk), которая одной из первых начала выпускать PCI-e флэш-накопители.
image

В результате проведенного анализа собранных данных, был сделан ряд интересных выводов:
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии14

How-to: адаптивные письма в Gmail

Время на прочтение6 мин
Количество просмотров26K


В нашем блоге мы часто пишем о создании адаптивных почтовых рассылок (раз, два, три) и вообще уделяем большое внимание email-верстке. Сегодня речь пойдет о способе создания адаптивных писем для почтового клиента Gmail, известного своей довольно скудной поддержкой различных возможностей для верстки. Данную технику в 2014 году описал Джастин Ку (Justin Khoo), позднее метод был дополнен статьей Марка Роббинса в блоге Email Code Geek. Мы представляем вашему вниманию адаптированный перевод основных моментов двух публикаций.
Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии3

Короткие заметки: связка Redmine + StatusCake

Время на прочтение3 мин
Количество просмотров7K
У нас используется система управления проектами и задачами Redmine . На нее у нас завязан и Zabbix и другие системы мониторинга. И вот как то появилась идея интегрировать ее со StatusCake для удобства контроля всех задач в одной системе.

Есть такая система онлайн мониторинга StatusCake. Она позволяет строить достаточно сложные проверки для сайтов, проверяет их доступность, скорость доступа, строит разные красивые графики.
Но нас интересует не этот функционал, как любая система мониторинга она имеет механизм оповещения о проблемах. Способы оповещения достаточно разнообразны. Есть интеграция с разными сервисами, в частности с twitter (зачем??? что бы публиковать когда падает сервер). Но вот интеграции с Redmine там нет. Но зато есть возможность использовать webhook. Чем мы и воспользовались. Ниже под катом, что у нас получилось.
Читать дальше →
Всего голосов 14: ↑10 и ↓4+6
Комментарии2
1

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность