Как стать автором
Обновить
0
0
Silverstorm @Silverstorm

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

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

Load Balancers для систем оркестрации

Время на прочтение6 мин
Количество просмотров28K
К Load Balancers в системах оркестрации (Kubernetes, Nomad и других) предъявляется больше требований, чем просто балансировка нагрузки. Во-первых, Load Balancer должен уметь читать каталог со списком сервисов, на которые необходимо перенаправлять трафик (или, как вариант, давать возможность сервисам регистрироваться на включение их в трафик). Во-вторых, делать это динамически, т.к. системы оркестрации в любой момент могут увеличить или уменьшить количество реплик сервисов, или переместить их на другие адреса в сети. И, в-третьих, делать это без остановки трафика.

В сегодняшнем сообщении я опишу работу с двумя Load Balancers — Traefik и HAProxy. Эти Load Balancers имеют возможность работать с внушительным списком средств оркестрации. В примерах будет описана работа с системой оркестрации Nomad.
Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии12

Nomad: проблемы и решения

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

Первый сервис в Nomad я запустил в сентябре 2016 года. На данный момент пользуюсь как программист и занимаюсь поддержкой как администратор двух Nomad кластеров — один "домашний" для своих личных проектов (6 микро-виртуалок в Hetzner Cloud и ArubaCloud в 5 разных датацентрах Европы) и второй рабочий (порядка 40 приватных виртуальных и физических серверов в двух датацентрах).


За прошедшее время накопился довольно большой опыт работы с Nomad окружением, в статье опишу встреченные проблемы Nomad и как с ними можно справиться.



Ямальский кочевник делает Continous Delivery инстанса вашего ПО © National Geographic Россия

Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии6

qJerry: пиши меньше, делай больше. Теперь на PHP.

Время на прочтение3 мин
Количество просмотров884
Как-то незаметно на Хабре прошло появление в свет интересной, на мой взгляд, библиотеки.

О библиотеке qJerry


qJerry — это библиотека для работы с XML-документами, написанная на языке PHP. Основная миссия qJerry — сделать работу с XML комфортнее, чем позволяют стандартные средства PHP, такие как расширение DOM.
Читать дальше →
Всего голосов 38: ↑34 и ↓4+30
Комментарии19

И ещё немного о input file

Время на прочтение2 мин
Количество просмотров1.9K
Вопрос о стилизации <input type=«file» /> настолько стар, что наверное только ленивый не пробовал собственную реализацию этого, несомненно, важного в web дизайне элемента.
Однако, в большинстве своём, решения очень не однозначны и зачастую предлагают примерно следующие варианты:
  • Наложить файл инпут поверх картинки и сделать его прозрачным.
  • Использовать flash.
При этом, в первом случае, чтобы всё работало относительно одинаково во всех браузерах, предлагается «спорные области» — те что в одном браузере являются активными для нажатия, а в другом неактивными — закрыть, например, наложив сверху <div></div>. Стоит ещё добавить, что тут же используется значительное количество css со всяческими отрицательными отступами и float`ами.
А во втором случае мы имеем ряд не удобств связанные с активацией flash элементов (например в IE), а лично у меня (и думаю у всех, кто в ФФ использует Add Block Plus дополнение) кнопочка block совсем не красит флешевый инпут файл.

Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии22

Коллекции иконок? Легко! Тысячи иконок в сетах.

Время на прочтение2 мин
Количество просмотров39K
В продолжении поста "Ресурсы по поиску качественных иконок" представляю свою коллекцию сайтов, на которых вы найдёте очень(!) много качественных наборов иконок. Все сайты проверены руками, следовательно открываются и скачиваются легко.
Читать дальше →
Всего голосов 159: ↑135.5 и ↓23.5+112
Комментарии36

Десять советов как написать (чуть) менее ужасное резюме

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

«Цель: получить работу в IBM»
— пишет какой-то идиот-соискатель в Amazon.com.




ВНИМАНИЕ: это мое собственное, *персональное*, мнение, не Google, не Amazon или кого-либо еще. Я думаю вы обнаружите, что большинство рекрутеров, оценивающих анкеты в технических компаниях — особенно в технических компаниях, которые производят собственное программное обеспечение сами, такие как Yahoo!, Ebay, Amazon.com, Microsoft или Google — в целом, согласятся со многим из перечисленного. Но опытные рекрутеры расходятся во мнениях касательно многих мелких деталей, и, в конце-концов, это всего лишь мое собственное мнение. Эти советы не гарантируют получения Вами сколь-нибудь лучших результатов. Возможно, у вас будет другой опыт. Не используйте эти советы в ванной или стоя в луже. Не стучите по стеклу, это раздражает советы. Советы не кормить! И т.д.

Читать дальше →
Всего голосов 104: ↑82.5 и ↓21.5+61
Комментарии101

Концепт coworking центра

Время на прочтение2 мин
Количество просмотров1.1K
Смотрим на результаты голосования. Видим что требуют люди, пункты–победители: «Да, в коллективе можно перенять чужой опыт и поделиться своим» плюс «Офис в «зеленой» части города».
Отсюда цели всей это затеи — объединить фрилансеров для живого общения в приятном месте. Притом, поскольку это фрилансеры, должно быть максимум свободы.

А значит,
Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии70

Индексация прав в многопользовательских сервисах.

Время на прочтение7 мин
Количество просмотров754
Этот текст посвящен тому, как ускорить выборку закрытых данных в многопользовательских проектах.
Некоторые вещи рассмотренные вначале могут быть уже хорошо вам известны, но учитывая, что вопросы о разграничении прав доступа задаются регулярно, я счел нужным рассмотреть их подробнее.
Для гуру ценным там может быть разве что обоснования, чем именно нехорош этот метод. Если для вас это и так понятно, перейдите сразу к пункту «двоичные маски», там и содержится самое основное.
Многие сервисы позволяют пользователю размещать в сети различные данные, при этом самому размещающему, как правило, требуется ограничивать круг лиц, которые могут просматривать, комментировать его записи или изображения. Для этих целей разработчики создают различные системы контроля прав.
Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии12

Препарируем News2.ru

Время на прочтение6 мин
Количество просмотров1.1K
Объяснять важность социальных сетей уже никому не приходится. Направить посетителей на ваш сайт/блог, получить большое количество естественных ссылок или запустить вирусную рекламную кампанию – в этом вам не обойтись без социальных сетей. В данном конкретном случае я рассмотрю социальный сайт новостей – news2.ru.

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

Так как же вывести вашу новость на первую страницу news2.ru? Если вы просто зарегистрируетесь на сервисе, и повесите свою новость, ваши шансы будут весьма призрачными. Эффективной само и просто рекламой могут заниматься только топ-пользователи из первой тридцатки (в лучшем случае сотни). Для начала вам придётся попотеть, набирая авторитет, оставляя просто интересные для сообщества новости. Как это сделать?
Читайте далее
Всего голосов 22: ↑12 и ↓10+2
Комментарии10

Did You Know 2.0

Время на прочтение1 мин
Количество просмотров641

Посмотреть на YouTube

Презентация Did You Know/Shift Happens созданая Karl Fisch и ребятами из XPLANE одна из тех, которые заставляют сидеть перед монитором и смотреть не отрываясь. 8 минут общеизвестных фактов завёрнутых в великолепную визуализацию срывают крышу даже американской домохозяйке.
Прямо сейчас на наших глазах происходит революция, которую мало кто замечает. В будущем об этом будут писать в учебниках истории.
Лично я когда устаю от бесконечных разговоров про web 2.0 и социальные сети и монетизацию, просто включаю этот ролик и снова перехожу на светлую сторону силы. :))
Всего голосов 12: ↑11 и ↓1+10
Комментарии7

Продолжаем твикать Висту

Время на прочтение1 мин
Количество просмотров1.3K
В качестве продолжения топика товарища M_org об оптимизации Висты. Еще три крайне важных для меня пункта, которые визуально заметно улучшили производительность.

1. Отключение System Restore (восстановление системы). Вещь конечно хорошая, но как и в случае с файрволом, лучше пользоваться сторонними программами, а встроенную отключить — она ест очень много ресурсов.
Правый клик по ярлыку «Компьютер» → Свойства → Дополнительные параметры системы → закладка «Защита системы» → убираем все галки.

2. Отключение мониторинга производительности. В Висте (равно как и в предыдущих 2000/ХР) есть встроенный механизм журналирования всевозможных параметров системы, который тратит ресурсы, а используется очень маленьким процентом пользователей. К сожалению, стандартными средствами его не отключить, но у MS есть специальная утилитка для этого. Результат после отключения заметен невооруженным взглядом.
Качаем утилиту, устанавливаем, запускаем. Выбираем поочередно каждый счетчик в списке «Extensible Performance Counters» и убираем галку «Performance Counters Enabled». Перезагружаемся.

3. Повышение приоритета активных процессов над фоновыми. В реестре есть важный ключ, который определяет насколько активным приложениям выделяется процессорного времени больше, чем фоновым. По умолчанию он равен 2, я бы советовал поставить 6, хотя можно и поиграться. Результат существенен.
regedit → HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\PriorityControl → увеличиваем значение ключа Win32PrioritySeparation.

Да, и кстати, UAC отключается намного проще и без мсконфига: Панель управления → Учетные записи → Отключить контроль учетных записей

P.S. Пора заводить отдельный блог для хабратвиков :)
Всего голосов 36: ↑29 и ↓7+22
Комментарии84

Какие вопросы задавать клиентам перед дизайном их сайта?

Время на прочтение3 мин
Количество просмотров28K
Перевод свеженького поста «Questions to ask clients before designing their website» Брайана Хоффа, автора блога «The Design Cubicle».

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

Чем больше у вас будет информации, тем плавней пойдет проект, что, в свою очередь, задаст тон для дальнейшего взаимодействия между дизайнером и клиентом.

Некоторые из нижеприведенных вопросов могут быть применены не только для веб-дизайна, так что я разделил их на группы, чтобы клиенту было понятней.
Читать дальше →
Всего голосов 65: ↑54 и ↓11+43
Комментарии70

Почти настоящая многопоточность средствами php 5

Время на прочтение5 мин
Количество просмотров32K
В очередной раз читал про многопоточность в php точнее полное её отсутствие и всевозможные костыли в виде не блокируемых сокетов. Вот как раз там наткнулся на интересную статью в которой описывался очень простой и эффективный способ распараллеливания потоков. На основе этого материала написал небольшой класс что бы облегчить себе работу в будущем.
Читать дальше →
Всего голосов 73: ↑52 и ↓21+31
Комментарии59

Список полезных инструментов для CSS разработчика

Время на прочтение8 мин
Количество просмотров71K
Это не попытка создать список всех существующих инструментов для CSS разработки. Только некоторые, наиболее полезные были отобраны и размещены в соответствующих категориях.


Чтобы инструмент был по-настоящему полезен, у него должна быть хорошая документация и дружелюбный интерфейс. К сожалению, некоторые инструменты в списке не полностью попадают под данные критерии. Если кто-то знает лучшие альтернативы с более дружелюбным интерфейсом и большей функциональностью, пишите в комментариях.
Читать дальше →
Всего голосов 179: ↑170 и ↓9+161
Комментарии65

Три редкоиспользуемые оси в XPath

Время на прочтение2 мин
Количество просмотров78K
Основная мощь языка XPath заключается в осях, позволяющих добраться до любого элемента в исходном документе. Рассмотрим применение таких редкоиспользуемых осей, как ancestor, descendant и self.

ancestor


Задача: получить атрибут id элемента-«прадеда» foo.

Обычно в таких случаях начинают рисовать лестницы:

../../../@id

Такая запись плоха тем, что малопонятна без знания исходного xml. Автор рекомендует в подобных случаях использовать более информативное выражение:

ancestor::foo[1]/@id

Эта запись не только даёт представление об искомом элементе, но и продолжает работать даже в том случае, когда текущий элемент изменил своё положение в дереве.
Читать дальше →
Всего голосов 63: ↑61 и ↓2+59
Комментарии16

Оптимизация MySQL запросов

Время на прочтение4 мин
Количество просмотров124K
В повседневной работе приходится сталкиваться с довольно однотипными ошибками при написании запросов.

В этой статье хотелось бы привести примеры того, как НЕ надо писать запросы.
Читать дальше →
Всего голосов 143: ↑132 и ↓11+121
Комментарии142

MySQL Performance real life Tips and Tricks. To be continued.

Время на прочтение6 мин
Количество просмотров8K
По заявкам трудящихся решил написать еще одну статью, посвященную оптимизации запросов в MySQL.

В прошлой статье habrahabr.ru/blogs/mysql/38907 рассматривались вопросы оптимизации LIMIT, GROUP BY, COUNT.

В данной статье я немного вернусь к вышеописанному и опишу пару примеров, с которыми столкнулся на проекте недавно, после этого приведу еще пару небольших примеров относительно того что такое хорошо и что такое плохо в MySQL.
Читать дальше →
Всего голосов 86: ↑81 и ↓5+76
Комментарии65

Полнотекстовый поиск и его возможности

Время на прочтение6 мин
Количество просмотров196K
Многие СУБД поддерживают методы полнотекстового поиска (Fulltext search), которые позволяют очень быстро находить нужную информацию в больших объемах текста.

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

В статье рассказывается как работать с полнотекстовым поиском на примере БД MySQL, а так же приведу примеры «нестандартного» использования данного механизма.

Читать дальше →
Всего голосов 81: ↑77 и ↓4+73
Комментарии36

10 jQuery скриптов для улучшения интерфейса

Время на прочтение3 мин
Количество просмотров11K
С рассветом WEB 2.0 получили развитие и javascript фрэймворки, позволяющие вебмастеру делать динамические элементы сайта гораздо быстрее и проще. Одним из таких фреймворков является jQuery, получивший огромную популярность за свою простоту и невероятно малый вес. Итак, представляю вашему вниманию 10 наиболее полезных скриптов jQuery для улучшения интерфейса вашего сайта.
Читать дальше →
Всего голосов 136: ↑125.5 и ↓10.5+115
Комментарии34

MySQL Performance real life Tips and Tricks. Part 3-rd.

Время на прочтение14 мин
Количество просмотров23K
Решил продолжить цикл заметок по данной тематике. В данной статье особое место хотел уделить профайлингу MySQL запросов. Описать средства, которые предоставляются MySQL для профайлинга, и что нужно делать для определения узких мест запроса.

Также, после опубликования первых двух статей я получил пару отзывов и вопросов, связанных с проектированием БД / расстановкой индексов / составлением запросов. На многие вопросы старался отвечать. С некоторыми из них поделюсь и в этой статье.

Читать дальше →
Всего голосов 58: ↑55 и ↓3+52
Комментарии40
1

Информация

В рейтинге
Не участвует
Откуда
Польша
Зарегистрирован
Активность