Pull to refresh
-1
0
Юрий Коломиец @jurikolo

Ну а я вот архитектор

Send message

Двадцать бабушек – уже рубль. Как GraalVM Native Image позволяет экономить джавистам и девопсам деньги на облако

Reading time14 min
Views5.8K

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

Мы поговорим об экономии на облаках в мире победившего Кубернетиса, обсудим перформанс современного приложения, и какие ништяки Native Image помогут нам во всём этом.

Mad skills bonus: вы сможете писать на Java приложения для командной строки так, что они не будут тормозить по сравнению со скриптами на Bash. Но вначале небольшая телега вместо вступления.

Читать далее
Total votes 21: ↑17 and ↓4+19
Comments21

Как подружить Алису и HomeBridge

Reading time3 min
Views18K
image

UPD 06.08.2019: Свершилось, появилась возможность попросить саму Алису включить свет. Проект есть на гитхабе. Проверил на своем homebridge, все работает. Дальнейшую поддержку своего навыка считаю не целесообразной.

Давно хотел в дополнение к умному дому голосового ассистента понимающего и говорящего на русском языке. В итоге решил рискнуть и взять сырую новую колонку Яндекс.Станция с молодой, но уже многим полюбившейся Алисой. Первое впечатление было отличным, но когда я наслушался анекдотов и набеседовался вдоволь я начал познавать практическую сторону колонки. Больше всего меня интересовал вопрос взаимодействия Алисы с умным домом.
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments28

Tracert vs Traceroute

Reading time5 min
Views261K
В чем отличие маршрута пакета от его пути?
Стандартный механизм маршрутизации пакетов в интернете — per hop behavior — то есть каждый узел в сети принимает решение куда ему отправить пакет на основе информации, полученной от протоколов динамической маршрутизации и статически указанных администраторами маршрутов.

Маршрут — это интерфейс, в который нам надо послать пакет для достижения какого то узла назначения и адрес следующего маршрутизатора (next-hop):
R1#sh ip rou | i 40.  
	 40.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
O        40.0.0.0/31 [110/3] via 20.0.0.0, 00:01:54, FastEthernet0/0
O        40.1.1.1/32 [110/4] via 20.0.0.0, 00:00:05, FastEthernet0/0

Что такое путь? Путь — это список узлов, через которые прошел (пройдет) пакет:
 1  10.0.0.1  16.616 ms  16.270 ms  15.929 ms
 2  20.0.0.0  15.678 ms  15.157 ms  15.071 ms
 3  30.0.0.1  26.423 ms  26.081 ms  26.744 ms
 4  40.0.0.0  48.979 ms  48.674 ms  48.384 ms
 5  100.0.0.2  58.707 ms  58.773 ms  58.536 ms

Путь пакета можно посмотреть с помощью утилит tracert в OC Windows и traceroute в GNU/Linux и Unix-подобных системах. (другие команды, типа tracepath мы не рассматриваем).
Многие считают что этих утилит один и тот же принцип работы, но это не так. Давайте разберемся.
Читать дальше →
Total votes 83: ↑78 and ↓5+73
Comments63

Атака на пользователей Linux или как собрать ботнет руками админов

Reading time2 min
Views45K
Для чистоты эксперимента предлагаю перейти по ссылке и выполнить по указанной инструкции «установку полезных пакетов». Инструкция для владельцев Ubuntu.

По ссылке всего лишь «демонстрация» данного вида атаки, но в любом случае данные действия лучше производить на полигоне виртуалке.

Ниже описание того, что случилось, в том случае, если вы не поленились произвести указанные выше действия.
Читать дальше →
Total votes 68: ↑56 and ↓12+44
Comments111

Полный перевод Unix-коанов на русский язык

Reading time16 min
Views75K


Представляю на ваш суд ещё один перевод коанов о Мастере Фу на русский язык. В данный сборник вошли все коаны, на данный момент опубликованные на сайте Эрика Реймонда. Надо сказать, что сам Эрик личность весьма неординарная, но упоминания в данной статье стоящая. Помимо холиваров в списках рассылки всевозможных проектов за его авторством также несколько серьёзных трудов о Unix — в том числе и о сообществе, без которого экосистема современных открытых проектов не была бы возможной (полный список книг). Идея перевести коаны в очередной раз пришла мне в голову во время чтения одного из таких трудов, а именно «The Art of Unix Programming», поскольку многое из скрытого смысла коанов становится ясно только после прочтения очередной главы оттуда.

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

Итак
Total votes 126: ↑123 and ↓3+120
Comments65

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

HackedSim. Звонок с любого номера — вымысел или реальность?

Reading time11 min
Views299K
imageНа прошлой неделе на Хабре появилась статья про HackerSIM с интригующим названием и многообещающем содержанием. Суть статьи сводилась к следующему: за существенную сумму, на порядок превышающую стоимость обычной sim-карты, некие ребята предоставляют Вам свою sim-карту, которая позволяет «безопасно звонить с любого номера из любой страны с любым голосом на выбранные номера» (в кавычках потому, что здесь цитируется агрегация тезисов из ранее упомянутой статьи). Посмотрев комментарии, выяснилось, что к данной теме проявляется живой интерес, но ни у кого нет точного понимания, как это работает и работает ли вообще.

Немного подумав с коллегами, мы решили рассказать, как данная услуга осуществима в реальной жизни.
Читать дальше →
Total votes 55: ↑48 and ↓7+41
Comments37

Как быстро и бесплатно получить доступ к windows на osx или linux

Reading time2 min
Views48K
Среди разработчиков нередка ситуация, когда основной рабочий компьютер это mac или linux, но время от времени нужен доступ к windows: запустить специфичную программу, проверить верстку в internet explorer, поставить триальную версию corel draw для конвертации в .svg.

“Классический” способ решения этой задачи — установить одну из популярных виртуальных машин, скачать 90-дневную триал версию windows и установить ее в виртуальноый машине. Но у этого способа есть один большой минус — о необходимости деражать под рукой такую виртуальную машину разработчик обычно вспоминает в тот момент когда “о, тут нужна винда!”. А ставится windows не то чтобы очень быстро. И 90-дневный триал, что характерно, имеет обыкновение заканчиваться в самый неподходящий момент. Даже с rearm. Недавно Microsoft пошла на встречу разработчикам и сделала интересный сервис, позволяющий очень быстро и бесплатно получить доступ к нужной версии windows.
Подробности - под катом
Total votes 61: ↑43 and ↓18+25
Comments26

Справочник по Java Collections Framework

Reading time6 min
Views743K
Данная публикация не является полным разбором или анализом (не покрывает пакет java.util.concurrent). Это, скорее, справочник, который поможет начинающим разработчикам понять ключевые отличия одних коллекций от других, а более опытным разработчикам просто освежить материал в памяти.

Что такое Java Collections Framework?


Java Collection Framework — иерархия интерфейсов и их реализаций, которая является частью JDK и позволяет разработчику пользоваться большим количесвом структур данных из «коробки».

Базовые понятия


На вершине иерархии в Java Collection Framework располагаются 2 интерфейса: Collection и Map. Эти интерфейсы разделяют все коллекции, входящие во фреймворк на две части по типу хранения данных: простые последовательные наборы элементов и наборы пар «ключ — значение» (словари).

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

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

Reading time11 min
Views1.6M


Автор оригинальной статьи Ali Mese добавил ещё 100 новых бесплатных сервисов. Все 400 потрясающих сервисов доступны здесь. И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные Веб-Сайты + Логотипы + Хостинг + Выставление Счета

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly.com Domain: Конструктор веб-сайтов.
  • Logaster: Онлайн генератор логотипов и элементов фирменного стиля (new).
  • Withoomph: Мгновенное создание логотипов (англ.).
  • Hipster Logo Generator: Генератор хипстерских логотипов.
  • Squarespace Free Logo: Можно скачать бесплатную версию в маленьком разрешении.
  • Invoice to me: Бесплатный генератор счета.
  • Free Invoice Generator: Альтернативный бесплатный генератор счета.
  • Slimvoice: Невероятно простой счет.

Читать дальше →
Total votes 341: ↑325 and ↓16+309
Comments107

Чистим домашний интернет от очень назойливой рекламы (Ad's blocker для OpenWRT)

Reading time2 min
Views121K


Дело было вечером, делать было нечего... © С. В. Михалков
Навеяно публикацией «Как я bind`ом вирусы искал…», а конкретно этой веткой комментариев. Надеюсь, не поздно размещаю.

Сидел я и думал, телевизор Samsung, WinPhone, (а впоследствии может кофеварка и пылесос) показывают суперназойливую рекламу, надо с этим чтото делать, и раз в WinPhone и телевизор(кофеварку, пылесос) плагина AdBlock нету, то он должен быть там где ходит их трафик, на роутере.
Читать дальше →
Total votes 42: ↑41 and ↓1+40
Comments49

Пусть роится Docker по всему кластеру на Raspberry Pi

Reading time5 min
Views46K


От переводчика: Ссылка на эту статью была опубликована в последней официальной рассылке Docker. Думаю, я не один интересуюсь одновременно и Raspberry Pi и Docker (Swarm), поэтому предлагаю вашему вниманию перевод,

В этом посте мы расскажем насколько легко можно установить Swarm на ваших Raspberry Pi и настроить на них Swarm кластер с помощью Docker Machine.
Читать дальше →
Total votes 19: ↑16 and ↓3+13
Comments8

Как жить с Docker, или почему лучше с ним, чем без него?

Reading time5 min
Views77K


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

Итак, возможно вы прошли docker tutorial, докер кажется простым и полезным, но вы пока не знаете, как он может вам помочь с вашими проектами.

Обычно с деплоем возникает три проблемы:
  1. Как мне доставить код на сервера?
  2. Как мне запустить код на серверах?
  3. Как мне обеспечить одинаковость окружения, в котором запускается и работает мой код?


Как с этим поможет Docker под катом.
Читать дальше →
Total votes 48: ↑42 and ↓6+36
Comments41

Контроллер для домашней пивоварни Mega Brewery. Part I

Reading time3 min
Views73K
image Я домашний пивовар.
Начинаю «разработку» контроллера для своего минипивзавода.

Т.к. я нифига не программист, обратился к русскому Arduino сообществу.
С момента желания сделать умный термометр для пивоварения, прошло много времени и возникло новое желание — построить автоматизированную домашнюю пивоварню. Для ее автоматизации необходим блок управления. Решено было отказаться от использования покупных PID контроллеров, для управления ТЭНом, т.к. имеется Arduino, к ней SSR реле — 2шт., дисплей 4 на 20 строк и к нему Serial Board для передачи инфы по одному проводу, не считая землю и питание.
Читать дальше →
Total votes 128: ↑123 and ↓5+118
Comments271

Архитектурный дизайн мобильных приложений

Reading time9 min
Views98K
Признак плохого дизайна №1:
Наличие объекта-«бога» с именем, содержащим «Manager», «Processor» или «API»


Ведущий iOS-разработчик Redmadrobot Егор BepTep Тафланиди — о том, как добиться стройного архитектурного дизайна мобильного приложения, используя классические шаблоны проектирования и логическое разделение исходного кода на модули.

Читать дальше →
Total votes 43: ↑33 and ↓10+23
Comments26

Impact Mapping на практике

Reading time9 min
Views105K


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

Иногда заказчики писали свои цели в официальных документах к проекту. Иногда мне казалось, что я и так понимаю цели заказчика — они абсолютно очевидны. К чему уточнять очевидное? Разницу я почувствовал, когда начал применять Impact Mapping в работе.

Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments13

Криптографические решения. От облачной подписи к доверенной среде

Reading time10 min
Views21K
Данная статья является продолжением статьи «Криптографические решения. От криптопровайдеров до браузерных плагинов» и охватывает криптографические решения:

  • облачная подпись
  • отдельные браузеры с российской криптографией
  • отдельные почтовые клиенты с российской криптографией
  • российская криптография в фреймворках, платформах, интерпретаторах
  • настольные криптографические приложения
  • средства формирования доверенной среды

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

Сборка пакетов библиотек для rpm-based дистрибутивов Linux

Reading time6 min
Views37K
Во многих наших проектах используются open-source библиотеки. Когда разработка ведется под одну конкретную платформу, нет смысла собирать одни и те же библиотеки из исходников каждый раз, когда к проекту подключается новый разработчик. Кроме того, установка библиотек а-ля make && sudo make install считается плохим тоном, поскольку система засоряется «бесхозными» файлами, о которых нет информации в базе данных менеджера пакетов RPM.

В качестве решения предлагается из скомпилированных библиотек собирать RPM-пакеты и хранить их в едином репозитории, доступном для всех разработчиков. Ниже приводится инструкция и некоторые советы по сборке пакетов.
Читать дальше →
Total votes 28: ↑22 and ↓6+16
Comments17

Особенности переустановки предустановленной Windows 8

Reading time8 min
Views542K
… или как создать себе проблему, а затем героически её преодолеть.

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

Итого, имеем ультрабук с Windows 8, рабочим разделом восстановления и отсутствием каких-либо дисков в комплекте поставки (этот момент важен). Бук в качестве стартового ПО имеет UEFI, что в принципе для использования с Windows 8 логично, и даже было бы удобно, если бы не одно но — ключ для установки системы зашит в таблицу данных ACPI, в поддтаблицу MSDM. На тот момент я ещё этого не знал, да и не думал, что мне это понадобится.

Читать дальше →
Total votes 112: ↑106 and ↓6+100
Comments142

Шпаргалка по управлению сервисами CentOS 7 с systemd

Reading time7 min
Views337K
Systemd – менеджер системы и сервисов в операционной системе Linux. При разработке eго стремились спроектировать обратно совместимым со скриптами инициализации SysV init и предоставить полезные функции, такие, как параллельный запуск системных сервисов во время загрузки, активацию демонов по требованию, поддержку снепшотов состояния системы и логику управления сервисами, основанную на зависимостях. В CentOS 7 systemd заменяет Upstart как систему инициализации по умолчанию.

В этой статье мы рассмотрим процесс управления сервисами в systemd для пользователя CentOS 7. Эти знания будут полезны и в других дистрибутивах, ведь systemd уже давно используется в Fedora и планируется в Ubuntu 14.10 и Debian 8. Хорошо это или нет — оставим за кадром.

CentOS 7 Systemd Infobox

В процессе чтения статьи вы можете попробовать systemd на классических VPS и облачных VPS от Infobox. Мы стремимся своевременно добавлять поддержку современных ОС, чтобы вы могли использовать последние технологии для более эффективной работы. Сама идея написания статьи родилась после очередного вопроса пользователей об использовании сервисов в CentOS 7.
Читать дальше →
Total votes 66: ↑61 and ↓5+56
Comments10
1

Information

Rating
Does not participate
Date of birth
Registered
Activity

Specialization

Solutions Architect
Middle