Pull to refresh
12
0
Артур @dikkini

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

Send message

HAProxy исполнилось 1.6

Reading time11 min
Views28K
HAProxy Logo
Приветствую категорически.
Спешу сообщить радостную новость о том, что после полутора лет (а не четырёх) на свет появилась стабильная версия HAProxy 1.6 с интереснейшим функционалом.

Напомню, что это сверхбыстрое решение, гарантирующее отказоустойчивость и обеспечивающее балансировку и проксирование TCP и HTTP запросов.
Что умеет
Множество алгоритмов балансировки запросов
Маршрутизация и фильтрация запросов по многим критериям
SSL терминирование, с SNI/NPN/ALPN и OCSP stapling в комплекте
Манипуляции с HTTP заголовками и поддержка ACL
Мониторинг серверов бекенда HTTP и TCP проверками
Простота интеграции с VRRP (keepalived)
Сжатие (gzip,deflate)
Поддержка syslog, гибкий формат логов
Практически неограниченное количество серверов, ферм, сервисов
Безопасность (ни одного взлома за 13 лет)
Поддержка IPv6 и UNIX сокетов
… и множество других возможностей


Любезно прошу о всех найденных неточностях и ошибках писать в ЛС — оперативно исправлю.

В этой статье я поделюсь, чем примечателен выход версии под номером 1.6, на какие нововведения стоит обратить внимание и кратко опишу как эти новшества попробовать. Примеры в статье присутствуют для ознакомления, а их применение не освобождает от необходимости обратиться к странице постоянно обновляемой документации.
Читать дальше →
Total votes 36: ↑35 and ↓1+34
Comments25

Установка и настройка rTorrent в Debian

Reading time6 min
Views64K
Torrent file iconDebian logorTorrent — еще один из самых популярных torrent клинтов в мире Unix-подобных операционных систем (о Transmission я уже написал несколько ранее). При создании этого клиента, по заявлению автора, во главе угла стояли «высокая производительность и хороший код», а использование mmap для отображения файлов в память позволяет добиться на широкополосных каналах трехкратного преимущества перед официальным клиентом. Еще одной характерной чертой rTorrent является наличие множества различных web-интерфейсов «на все вкусы» для удаленного управления. Именно об установке и настройке всего этого я и хочу рассказать на этот раз.
Читать дальше →
Total votes 71: ↑57 and ↓14+43
Comments35

Парсим RSS LostFilm'a с помощью grep и передаем на закачку через wget

Reading time4 min
Views21K
RSS
Однажды мне надоело вручную просматривать LostFilm на наличие новых вышедших серий и я решил автоматизировать этот процесс. Дело в том, что многие BitTorrent клиенты имеют в своих настройках так называемые папки слежения (wach directory). Как только в этой папке появляется новый torrent файл BitTorrent клиент сразу же начинает его загрузку. Обычной практикой, к примеру, является создание такой папки и открытие к ней доступа на запись по FTP. Теперь, все что нам требуется, это автоматизировать скачивание torrent файла по выходу нового эпизода в указанную папку для их дальнейшей автоматической загрузки. Как сделать именно это я сейчас и покажу.
Читать дальше →
Total votes 61: ↑53 and ↓8+45
Comments75

Типичные ошибки бэкапа и как их избежать. Часть вторая

Reading time4 min
Views17K
В прошлой статье мы начали обзор типичных ошибок при работе с резервными копиями. Продолжая эту тему, предлагаем остановиться на других проблемах бэкапа и рассмотреть способы их решения. Одни ошибки возникают из-за старых привычек, в то время как другие обусловлены неправильным пониманием самой концепции резервного копирования. Продолжим:

Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments10

GitLab Flow

Reading time15 min
Views106K

Это перевод достаточно важной статьи про GitLab Flow, альтернативе Git flow и GitHub flow. Статья была написана в 2014, так что скриншоты успели устареть. Тем не менее сама статья более чем актуальна:




Ветвление и слияние веток в git устроено гораздо проще, чем в более ранних системах контроля версий, таких как SVN. Поэтому есть много способов организации командной работы над кодом, и большинство из них достаточно хороши. По крайней мере, они дают много преимуществ по сравнению с тем, что было до git. Но сам по себе git — не серебряная пуля, и во многих командах организация рабочего процесса с git имеет ряд проблем:


  • Не описан точным образом весь рабочий процесс,
  • Вносится ненужная сложность,
  • Нет связи с трекером задач (issue tracker).

Мы хотим представить вам GitLab flow — чётко определённый набор практик, решающий эти проблемы. Он объединяет в одну систему:



Читать дальше →
Total votes 29: ↑29 and ↓0+29
Comments21

Удачная модель ветвления для Git

Reading time10 min
Views979K
Перевод статьи Vincent Driessen: A successful Git branching model

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



В качестве инструмента управления версиями всего исходного кода она использует Git.

Читать дальше →
Total votes 180: ↑171 and ↓9+162
Comments105

Основы компьютерных сетей. Тема №3. Протоколы нижних уровней (транспортного, сетевого и канального)

Reading time26 min
Views341K

Приветствую всех читателей. Пришло наконец время поговорить о протоколах, находящихся на нижних уровнях. В этой статье будут разобраны протоколы канального, сетевого и транспортного уровней. Присаживайтесь поудобнее и читайте на здоровье.
Читать дальше →
Total votes 46: ↑42 and ↓4+38
Comments10

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов

Reading time6 min
Views63K
Процесс настройки и управления VPN на Linux-сервере обычно занимает немало времени. И если настроить можно один раз и забыть, то управлять пользователями VPN периодически приходится и хорошо бы, чтобы это мог делать и рядовой сотрудник компании без прав доступа к серверу и SSH вообще. Часто используется сценарий, когда с помощью VPN организуется доступ во внутреннюю сеть облака для подключения виртуальных серверов к корпоративной сети компании. Даже для себя быстро поднять VPN бывает полезно.

В этой статье мы буквально за несколько минут настроим OpenVPN сервер с возможностью простого управления VPN–серверами, пользователями и организациями и запустим все это в InfoboxCloud. Это облако присутствует в регионах Москва и Амстердам, благодаря чему можно использовать VPN как для корпоративных целей, так и для того, чтобы представиться жителем Нидерландов в сети (например для использования сервисов, которые не доступны на территории вашей страны).

На сервере мы будем использовать проект Pritunl, который представляет собой панель управления, автоматизирующую управление конфигурациями OpenVPN. Исходные тексты pritunl открыты и доступны на гитхабе. Бесплатной версии более чем достаточно для использования. Платная позволяет отправлять данные для доступа по email или настраивать автоматическую отказоустойчивость сервиса (что для InfoboxCloud не очень важно, т.к. само облако работает в отказоустойчивом кластере) и управлять балансировкой нагрузки между несколькими серверами.
Читать дальше →
Total votes 25: ↑18 and ↓7+11
Comments15

Справочник по синхронизаторам java.util.concurrent.*

Reading time14 min
Views270K
Целью данной публикации не является полный анализ синхронизаторов из пакета java.util.concurrent. Пишу её, прежде всего, как справочник, который облегчит вхождение в тему и покажет возможности практического применения классов для синхронизации потоков (далее поток = thread).

В java.util.concurrent много различных классов, которые по функционалу можно поделить на группы: Concurrent Collections, Executors, Atomics и т.д. Одной из этих групп будет Synchronizers (синхронизаторы).



Синхронизаторы – вспомогательные утилиты для синхронизации потоков, которые дают возможность разработчику регулировать и/или ограничивать работу потоков и предоставляют более высокий уровень абстракции, чем основные примитивы языка (мониторы).
Читать дальше
Total votes 45: ↑41 and ↓4+37
Comments15

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

Reading time14 min
Views102K
Мы уже ни раз приводили полезные руководства и подборки источников для разработчиков. На этот раз мы решили продолжить тему контейнеров, которую мы затрагивали ранее, и рассказать о подборке тематических ресурсов на GitHub.

Читать дальше →
Total votes 34: ↑31 and ↓3+28
Comments8

Java и время: часть первая

Reading time40 min
Views236K
Восемь лет назад я принимал участие в проектировании и разработке сервиса, который был должен обслуживать запросы пользователей со всех уголков земного шара и координировать их действия. Работая над проектом я понял, что очень часто многие важные аспекты работы со временем просто игнорируются. Иногда это действительно не очень критично: если сервис локален и им пользуются только на определенной территории, либо пользователи естественным образом разделены на почти не взаимодействующие между собой географические кластеры. Однако же, если сервис объединяет пользователей по всему миру, то без четкого понимания принципов работы со временем уже не обойтись. Представим сервис, в котором общие события (совещания например) начинаются в какое-то строго определенное время, а пользователи рассчитывают на это. Какое время им показывать, в какой момент их беспокоить уведомлениями, что такое день рождения и когда можно поздравить человека — в статье я попробую это осмыслить.



Статья не претендует на глубину и/или академичность. Это попытка систематизировать опыт и обратить внимание разработчиков на не очень очевидные аспекты.

Читать дальше →
Total votes 41: ↑41 and ↓0+41
Comments11

Что делать, если программировать становится скучно

Reading time10 min
Views51K
imageСлучалось ли c вами, долго работая в одной компании над одним и тем же проектом, начинаешь задумываться о смене обстановки, используемых технологий и самого проекта. Раньше я был уверен, что из этой ситуации один выход — найти новую работу. Эта статья, перевод которой мы публикуем, поменяла мое мнение. В ней описывается подход, благодаря которому можно сделать работу программиста нескучной и помогающей ему расти и развиваться. Мы, сервис для организации приема платежей PayOnline, предлагаем вам ознакомиться с этой методикой и поделиться ею со своим работодателем, в случае, если вы испытываете подобные, описанные автором проблемы. Ниже идет, непосредственно, перевод.

В мою бытность разработчиком я никогда не задерживался на одной и той же работе более двух лет. В моем случае каждая новая работа была для меня хорошим ходом с точки зрения карьерного роста. И даже несмотря на то, что высокая “текучка” — обычное дело в нашей профессиональной сфере, я не могу сказать, что мои предыдущие работодатели спокойно относились к моему уходу. Некоторые из них упорно пытались сделать так чтобы я остался, но работа становилась для меня настолько скучной, что оставаться я уже не мог. Сразу поясню: мне посчастливилось жить в таких местах, где работы для программистов было больше чем самих программистов. Я понимаю, что вариант со сменой работы доступен не всем.
Читать дальше →
Total votes 57: ↑45 and ↓12+33
Comments56

Как создать круглую Progress Button

Reading time9 min
Views45K
Урок по реализации круглой кнопки загрузки (далее progress button) by Colin Garven. Будем использовать, описанную by Jake Archibald, технику анимации SVG линий для того, чтобы анимировать progress button и показать пользователю состояния «success and fail».

image
Читать дальше →
Total votes 34: ↑21 and ↓13+8
Comments8

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

Reading time16 min
Views718K

Рад представить дополнение оригинального списка из 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).
Читать дальше →
Total votes 108: ↑89 and ↓19+70
Comments38

Удаленная отладка Node.js приложений и кода на WebKit браузерах

Reading time2 min
Views21K
В статье пойдет речь о Must Have тулзе для удаленной отладки Node.js приложений либо кода на WebKit браузерах node-inspector.

Для отладки кода в браузере, впринципе удаленная отладка и не нужна, не считая мобильных устройств, где она фактически не возможна потому что крайне не удобна. Совсем другое дело с серверным JavaScript. Node.js имеет несколько отладчиков, восновном продвигают ndb Node Debugger — консольная утилита для дебага Node.js приложений. Подходит только для фанатов консоли либо для мазохистов. Работать не удобно, отлаживать долго, по сравнению с отладкой кода в том же FireBug.

Что же умеет node-inspector:
1. Удаленная отладка
2. Отладка в графическом интерфейсе WebKit-debugger (На клиент ничего не нужно ставить — у вас все уже есть)
3. Редактирование runtime-кода!
4. Использует WebSockets, и никакого polling'а!
5. Удаленное профилирование блоков кода c использованием v8-profiler
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments12

50 лучших инструментов для разработки CSS и JavaScript

Reading time3 min
Views73K
Веб-разработчику постоянно необходимо быть в курсе появления новых библиотек и инструментов. Я нашёл и выбрал несколько лучших инструментов для разработки как CSS, так и JavaScript. Это не просто копипаста – это выборка, основанная как на рекомендациях, так и на личном опыте использования.

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

Лучшие инструменты для CSS и JavaScript


1) Fileicone

Сборник 100%-CSS файловых иконок. Может пригодиться для дизайна страниц.

image

2) Marx

Элегантное обнуление CSS безо всякого JavaScript.

image
Читать дальше →
Total votes 54: ↑36 and ↓18+18
Comments17

Node.js в бою (создание кластера)

Reading time9 min
Views71K
Когда вы используете приложения на node.js в продакшене, вам приходится задумываться о стабильности, производительности, безопасности и удобстве поддержки. Данная статья описывает мои мысли о лучших практиках использования node.js в бою.

К окончанию данного руководства вы получите систему из 3 серверов: балансировщик (lb) и 2 сервера приложений (app1 и app2). Балансировщик будет следить за доступностью серверов и распределять между ними траффик. Серверы приложений будут использовать комбинацию systemd и кластеризации node.js для балансировки траффика между несколькими процессами ноды на сервере. Вы сможете выкатывать код с помощью одной команды со своей машины, и при этом не будет перерывов в обслуживании или необработанных запросов.
Все это можно представить в виде схемы:


Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments17

Реализация сортировки в V8 от Google

Reading time6 min
Views39K
image
Привет, Хабр.

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

И в этот момент под моим пристальным взглядом оказалась незаметная строчка «native code», которая так или иначе появляется перед глазами любого JS разработчика в консоли Chrome или Node.js:

[].sort.toString();
"function sort() { [native code] }"

Итак, кому интересно, какая реализация сортировки скрывается в V8 за надписью [native code] — добро пожаловать под кат.
Читать дальше →
Total votes 58: ↑57 and ↓1+56
Comments8

Чему мы научились, разрабатывая backend

Reading time3 min
Views33K
imageРазработка Parallels Access потребовала создания геораспределенного сервиса, позволяющего безопасно устанавливать связь между компьютерами и мобильными клиентами пользователей в различных точках земного шара. Команда, которая над ним трудится, хочет поделиться полученным опытом в форме цитат, чтобы облегчить участь тем, кто только планирует создание своего клиент/серверного продукта, и погрузить в ностальгию профессионалов, имеющих за спиной дюжину успешных проектов:
Читать дальше →
Total votes 73: ↑68 and ↓5+63
Comments37

10 главных ошибок масштабирования систем

Reading time7 min
Views52K
Мартин Л. Эббот и Майкл Т. Фишер, авторы книги «Искусство масштабируемости», перечисляют наиболее распространенные архитектурные, организационные и технологические проблемы масштабировании в product-группах. Список был сформирован на основе их опыта, а также в ходе коммуникаций с клиентами и лег в основу первой книги.

Архитектурные ошибки



Читать дальше →
Total votes 53: ↑45 and ↓8+37
Comments33

Information

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