Habr.com

Syndicate content Хабр
Updated: 1 hour 58 min ago

[Перевод] Как я потерял работу программиста в 65 лет

Mon, 09/20/2021 - 18:03

Ведь я профессионал в IT. Как такое могло произойти?

65 лет, по идее, это год «выхода на пенсию». Для меня этот год стал годом «окончания» всего. В этой статье я решил рассказать о своем двухлетнем пути без работы. Ну и как теперь я работаю неполный день.

Дисклеймер. Эта статья -- перевод текста разработчика из США. Думаю, разница в том, что в странах СНГ подобные проблемы начинаются еще раньше. В дополнение к переводу предлагаю обсудить проблемы поиска работы среди возрастных соискателей в нашей стране. Об этом в конце статьи.

Читать далее

Удалённое управление питанием и перезагрузкой компьютера, при помощи внешнего девайса

Mon, 09/20/2021 - 18:00

Каждый пользователь компьютера сталкивался хотя бы раз в своей жизни с такой ситуацией: ты ушёл к себе на работу, почти доехал до неё и вдруг вспомнил,- что забыл взять со своего личного компьютера какую-то очень важную вещь.

Ехать обратно — опоздаешь на работу. А ведь ситуация может развиваться и гораздо более драматично: допустим, человек поехал куда-то далеко за рубеж, в отпуск, и там ему приходит важный звонок, по результатам которого ему необходимо передать своему визави,- определённые документы. А документы остались дома! А дом находится за границей!

Или вот ещё такая беда: ваш персональный компьютер является мощной графической станцией, на которой установлено множество тяжёлых программ для работы с графикой, программными продуктами. А вы перемещаетесь по городу, имея в руках всего лишь «тонкий» клиент, в виде ноутбука…

Из этого описания становится понятно, что «тонкий» клиент не обладает соответствующей производительностью, для запуска множества высокопрофессиональных программ и проектов. Да и если даже он у вас достаточно мощный, — это в принципе неудобно, каждый раз синхронизировать проекты с «тонким» клиентом. Как быть в описанных выше ситуациях — мы и поговорим в этой статье. Читать дальше →

Собеседование наоборот: Usetech и Weigandt Consulting отвечают на вопросы о работе

Mon, 09/20/2021 - 17:05

По следам Java-недели на Хабр Карьере было так много вопросов от участников, что они не уместились в полтора часа нашего итогового круглого стола с компаниями. Поэтому мы решили выпустить их в формате статьи здесь на Хабре и попросили компании ответить на те вопросы, которые показались им самыми интересными. Отозвались ребята из Weigandt Consulting и Usetech, и сегодня мы делимся их комментариями о работе джавистов, найме джунов и старте карьеры в Java-разработке, мнением о технологиях и карьерными советами.

Читать далее

Код без багов и сломанное авто: как мы нетривиально проверяли Заправки 2ГИС

Mon, 09/20/2021 - 17:05

Скрипт отрабатывает нормально: даёт выбрать заправочную станцию из списка, затем выбрать колонку — узнать, какое топливо на ней, и инициировать пролив бензина либо по литражу, либо по сумме. Но сработает ли всё на реальной колонке — пока не знает никто. Это нам и предстоит проверить: закрываем ноутбуки и стартуем из нового офиса разработки 2ГИС в центре Питера.

Читать далее

Python микросервисы с Kafka без боли

Mon, 09/20/2021 - 16:00

В этой статье я бы хотел поделиться способом написания асинхронных микросервисов на Python, в основе которых библиотека Faust. А в качестве брокера сообщений Kafka. Ну и немного мониторинга с Prometheus и Grafana.

Читать далее

От DoS до RCE: о неуловимом векторе атак

Mon, 09/20/2021 - 15:37

Привет читателям блога компании DeteAct!

Меня зовут Омар Ганиев, многие меня знают по нику «Beched».

(D)DoS -- это не только "тупая" атака, которая отключает сайты, но и инструмент для проведения куда более хитроумных взломов, про которые я расскажу.

Узнать!

Что не так с сорсмапами и как с ними не связываться?

Mon, 09/20/2021 - 15:31

Здравствуйте, меня зовут Дмитрий Карловский и у меня… посттравматическое стрессовое расстройство после генерации сорсмапов. И сегодня, с вашей помощью, мы будем это лечить путём максимально глубокого погружения в травмирующие события.



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

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

Code Completion. Часть 3: где взять данные для обучения?

Mon, 09/20/2021 - 15:27

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

Машине, как и человеку, для обучения нужны данные. Мы используем подход «обучение с учителем». Он предполагает, что мы показываем алгоритму примеры задач, для которых нам заранее известно правильное решение. Алгоритм извлекает из этих примеров закономерности и учится принимать правильные решения даже в тех ситуациях, которых он раньше не видел.

Результат обучения критическим образом зависит от качества и объема этих примеров. И именно здесь у нас возникают трудности.

С одной стороны, собирать базу на основе кода наших пользователей нельзя: результат вашего труда остается только у вас, на серверы JetBrains он не попадает.

С другой стороны, из доступных репозиториев с открытым кодом полноценный датасет собрать не получается. Делая так, мы обучали бы алгоритм работать только с готовым (рабочим) кодом.

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

А потому что они «готовые»

Осенняя распродажа

Mon, 09/20/2021 - 14:45


Привет, Хаброжители! Стартовала осенняя распродажа от издательства «Питер».
Читать дальше →

SaltStack — Темная лошадка систем управления конфигурациями

Mon, 09/20/2021 - 14:38

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

Это мое личное мнение основанное на десятке лет работы с различными системами конфигураций и двухлетнего периода миграции 200+ ролей с Ansible на SaltStack.

Сотни статей уже было написано про сравнение таких систем как Puppet, Chef, Ansible и SaltStack. У каждой из них есть своя ниша и серебряной пули не существует. Эта статья не ставит целью сделать очередное сравнение, которое устареет через ~6 месяцев. Мне скорее хочется показать вам несколько фундаментальных отличий между этими системами.

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

Читать далее

Концепция контроллеров компонента в Angular: часть вторая

Mon, 09/20/2021 - 14:24

Несколько месяцев назад я написал статью «Как мы делаем базовые компоненты в Taiga UI более гибкими: концепция контроллеров компонента в Angular». Я рассказал о том, как мы добавляем гибкости и избавляемся от дублирования кода с помощью DI. Пришло время продолжить статью.

Сегодня посмотрим на более хитрые трюки с такими директивами-контроллерами и попробуем сделать метаконтроллер, который, в свою очередь, состоит из других контроллеров. Все это будет происходить в рамках безграничных возможностей Dependency Injection в Angular.

Давайте посмотрим

MEV: DeFi transaction ordering for profit and fun

Mon, 09/20/2021 - 14:15

Эта статья про один из новых, серьезных вызовов для DeFi проектов - MEV. Его аналоги в предыдущей финансовой реальности, волнуют лишь малое число узких специалистов, имещих закрытый, приоритетный доступ к серверам бирж. В DeFi доступ к "финансовым API" есть у любого пользователя. На обычных биржах это высокоскростные линии связи, привилегированный доступ за большие деньги, специализированный софт. В DeFi доступ алгоритмически одинаков для любого, у кого есть хотя бы 1 wei, спецификация API полностью открыта и всем можно свободно пользоваться. Так что теперь, в блокчейн-мире, те же вопросы ордеринга касаются всех пользователей, а огромное число возможных видов финансовых инструментов в виде смарт-контрактов дают множество возможностей эксплоитинга на разных уровнях.

Предлагаю познакомиться с MEV поближе.

Читать далее

Как мы искали связь между Mēris и Glupteba, а получили контроль над 45 тысячами устройств MikroTik

Mon, 09/20/2021 - 14:09
Неделю назад стало известно о рекордной DDoS-атаке на компанию Яндекс с впечатляющим значением в 21,8 млн RPS. Сотрудники Яндекса совместно с компанией Qrator Labs рассказали,
что инструментом проведения атаки был ботнет Mēris, состоящий из сетевых устройств компании Mikrotik. При этом они отметили, что изучить образец бота у них не было возможности, но утверждение, что Mēris – это «вернувшийcя Mirai», не совсем точно из-за различия в сетевых уровнях атаки (L7 и L3).



Мы уверены, что данные обстоятельства привлекли внимание многих специалистов
по информационной безопасности в попытках изучения внутреннего устройства ботнета Mēris
и природы его возникновения. Мы в Solar JSOC CERT не стали исключением и пришли к выводу, что, возможно, Mēris начал зарождаться еще в 2018 году с помощью вредоносного семейства Glupteba, которое до сих пор является «поставщиком» устройств для Mēris. Так же нам удалось получить контроль над 45 тысячами устройств MikroTik.
Читать дальше →

Мой MikroTik – моя цифровая крепость (часть 4)

Mon, 09/20/2021 - 14:00

Статья является продолжением первой, второй и третьей частей, посвящённых организации практической безопасности сетей, построенных на оборудовании MikroTik. Ранее были рассмотрены общие рекомендации, безопасность уровней L1, L2 и L3, реализация централизованного логирования. Настало время поговорить про развёртывание IDS и её интеграцию в инфраструктуру RouterOS. Читать дальше →

Сборка образа Windows Server 2019 с обновлениями c помощью packer и ansible в Yandex Cloud

Mon, 09/20/2021 - 13:12

Зачем собирать образ с помощью Packer?


  1. Время создания инстанса из готового образа значительно меньше, чем время, которое нужно затратить с нуля на подготовку виртуальной машины к работе. Это достаточно критичный момент, так как порой очень важно ввести в работу новый инстанс нужного типа за кратчайшее время для того, чтобы начать пускать на него трафик.
  2. Помимо того что образ виртуальной машины для DEV, TEST, Staging окружений, он всегда будет соответствовать по набору ПО и его настройкам тому серверу, который используется в production. Важность этого момента трудно недооценить — крайне желательно, чтобы деплой нового кода на продакшн привел к тому, чтобы сайт продолжал корректную работу с новой функциональностью, а не упал из-за какой-то ошибки, связанной с недостающим модулем или отсутствующим ПО.
  3. Автоматизация сборки production- и development-окружений экономит время системного администратора. В глазах работодателя это также должно быть несомненным плюсом, так как это означает, что за то же время администратор сможет выполнить больший объем работы.
  4. Время для тестирования набора ПО, его версий, его настроек. Когда мы подготавливаем новый образ заранее, у нас есть возможность (и, что самое главное, время!) для того, чтобы спокойно и вдумчиво проанализировать различные ошибки, которые возникли при сборке образа, и исправить их. Также есть время для тестирования работы приложения на собранном образе и внесения каких-то настроек для оптимизации приложений. В случае же, если мы настраиваем инстанс, который нужно было ввести в работу еще вчера, все возникающие ошибки, как правило, исправляются по факту их возникновения уже на работающей системе — конечно же, это не совсем правильный подход.
Читать дальше →

Протезы рук. Краткий осмотр ситуации с ними на текущий момент

Mon, 09/20/2021 - 12:57

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

Есть несколько видов протезов, под разные типы ампутаций руки. Для начала, разберёмся с видами ампутации.

Читать далее

Опыт работы с Apache Kafka: интервью с inDriver

Mon, 09/20/2021 - 12:42

DevOps-инженеры компании inDriver Радик Сейфуллин и Александр Плотников распилили старое монолитное приложение и создают новое, а Евгений Бутырин, технический редактор Слёрма, пообщался с ребятами об этом: опыте с Kafka, проблемах, решениях и обучении. 

Читать интервью

[Перевод] Как уловки древних полководцев воскресают в современной математике

Mon, 09/20/2021 - 12:10

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

Читать далее

KODI: собираем удобный и функциональный медиацентр для дома. Часть 8. Telegram-бот для qBittorrent

Mon, 09/20/2021 - 12:00

Наделяем наш медиацентр еще одной возможностью - управление торрент-клиентом и его загрузками из мессенджера Telegram через чат-бота. Теперь вы не будете ограничены лишь локальной домашней сетью. Управлять загрузками на домашнем сервере из любой точки мира? Легко!

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

Чему я научился делая игры на LibGDX

Mon, 09/20/2021 - 11:39

Привет, Хабр!

Who's online

There are currently 1 user and 1 guest online.