Search
Write a publication
Pull to refresh
2
0

JS developer/DevOps

Send message

Модуль nginx для борьбы с DDoS

Reading time6 min
Views67K
Многие сталкивались с таким явлением как DDoS атака методом HTTP флуда. Нет, это не очередной туториал по настройке nginx, хочу представить свой модуль, работающий как быстрый фильтр между ботами и бэкэндом во время L7 DDoS атаки и позволяющий отсеивать мусорные запросы.
Читать дальше →

<input placeholder="нажми чтобы написать">

Reading time3 min
Views23K
В силу моего параноидального отношения к сайтам а также из проф соображений, я использую firefox + noscript. Когда я впервые захожу на некоторые сайты, у меня выключен js и кликая на поле, для поиска где красуется надпись «search here» — получаю облом. При том что у меня современный браузер, который без проблем поддерживает атрибут placeholder. Как правило везде стоит вот такой ужас: <input value="Поиск по сайту" onfocus="if (this.value == 'Поиск по сайту') this.value == ''" onblur="if (this.value == '') this.value == 'Поиск по сайту'"> (эхо конца 90-ых).
дальше - больше

Ожидание нескольких событий в nodejs

Reading time6 min
Views14K
Наверное, каждый, кто начинает изучать nodejs, испытывает трудности с переходом на событийно-ориентированное программирование. Все просто, пока мы можем выполнять действия последовательно: начинать следующее, дождавшись завершающего события от предыдущего. Но что делать, если таких действий много и они продолжительны во времени? А если мы не можем продолжать, пока не дождемся завершения каждого из них?

Почитать рассуждения новичка

Опыт спасения кластера Cassandra

Reading time4 min
Views7.7K
Мне довелось спасать ушедший в небытие кластер Cassandra. Это был интересный опыт, которым я бы хотел поделиться, ведь в штатной ситуации большинство баз данных работает одинаково, а вот уровень стресса при падении может отличаться очень сильно.

Читать дальше →

Масштабируем до сотен миллионов запросов: что работает, а что нет

Reading time1 min
Views2.8K
Прекрасная тридцатиминутная история (на английском) от Джеймса Голика — CTO американской бдсм-соцсети выдерживающей 180 000 000 реквестов в месяц, при среднем времени отдачи ~200 мс, имея шесть серверов. В двух словах — смотрите тэги.

Самый короткий аплоадер картинок!

Reading time1 min
Views18K


В этой статье раскрыто, как можно сделать очень простой аплоадер, с кодом только на клиенте, используя API хостинга картинок. Если вас интересует более продвинутый аплоадер с такими штуками, как ресайз, кроп, рисование и т.п. — читайте статью How to develop a HTML5 Image Uploader. Содержимое статьи примечательно использованием FormData() и Cross-Domain XHR.
Читать дальше →

Linux под нагрузкой. Высокопроизводительный шейпер

Reading time5 min
Views13K
В прошлой заметке мы рассматривали некоторые аспекты тюнинга роутера под Linux, предназначенного для работы в условиях высоких нагрузок: Linux под нагрузкой. Маршрутизатор, NAT-сервер Теперь же речь пойдет о шейперах.
Читать дальше →

Настройка и оптимизация MySQL сервера

Reading time9 min
Views317K
В этой статье будут описаны различные настройки MySQL, преимущественно те, которые влияют на производительность. Для удобства все переменные разделены по разделам (базовые настройки, ограничения, настройки потоки, кэширование запросов, тайминги, буферы, InnoDB). Сначала уточним имена некоторых переменных, которые изменились в версии 4 MySQL, а в сети продолжают встречаться и старые и новые варианты имен, что вызывает вопросы.
Читать дальше →

Большие потоки трафика и Linux: прерывания, маршрутизатор и NAT-сервер

Reading time6 min
Views62K
Написано по следам публикации Большие потоки трафика и управление прерываниями в Linux

В нашей городской сети более 30 тысяч абонентов. Суммарный объем внешних каналов — более 3 гигабит. А советы, данные в упомянутой статье, мы проходили еще несколько лет назад. Таким образом, я хочу шире раскрыть тему и поделиться с читателями своими наработками в рамках затрагиваемого вопроса.

В заметке описываются нюансы настройки/тюнинга маршрутизатора и NAT-сервера под управлением Linux, а также приведены некоторые уточнения по поводу распределения прерываний.

Читать дальше →

Как правильно говорить с «трудным» клиентом

Reading time3 min
Views64K
Многим из нас время от времени попадаются «привередливые», «неадекватные» и «трудные» заказчики, партнёры, начальники, подчинённые и т.д. В этом посте я расскажу:
  • Как добиться своего в конфликтных ситуациях
  • Как вести разговор, не вызывая негативной реакции собеседника
  • Как держать конфликтную ситуацию под контролем
  • Как не допустить развития конфликта и как его устранить
Читать дальше →

Information

Rating
Does not participate
Registered
Activity