Преобразовывайте свои журналы прямо во время запроса, настраивайте уведомления с Loki.
Архитектор, консультант
О переезде с Redis на Redis-cluster
Приходя в продукт, который развивается больше десятка лет, совершенно не удивительно встретить в нем устаревшие технологии. Но что если через полгода вы должны держать нагрузку в 10 раз выше, а цена падений увеличится в сотни раз? В этом случае вам необходим крутой Highload Engineer. Но за неимением горничной такового, решать проблему доверили мне. В первой части статьи я расскажу, как мы переезжали с Redis на Redis-cluster, а во второй части дам советы, как начать пользоваться кластером и на что обратить внимание при эксплуатации.
Безопасность REST API от А до ПИ
Введение
Умение реализовать грамотное REST API — полезный навык в наше время, т.к. все больше сервисов предоставляют свои возможности с помощью API. Но разработка REST API не ограничивается реализацией HTTP запросов в определенном стиле и формированием ответов в соответствии со спецификацией. Задача обеспечения безопасности REST API не так очевидна, как, например, обеспечение безопасности баз данных, но ее необходимость не менее важна.
В настоящее время многие онлайн системы с помощью API передают приватные данные пользователей, такие как медицинские или финансовые. Текущая же ситуация с безопасностью в веб-приложениях весьма печальна: по данным Comnews порядка 70% содержат критические уязвимости. Поэтому всем, кто участвует в проектировании, реализации и тестировании онлайн систем, важно иметь общую картину по существующим угрозам и способам обеспечения безопасности как всей системы, так и используемого REST API.
В статье я попытался обобщить информацию о существующих уязвимостях REST API, чтобы у читателей сложилась общая картина. На схемах представлена современная архитектура клиент-сервер и обобщенный REST API запрос с потенциальными угрозами безопасности. Далее я подробнее расскажу об этих угрозах, и как технически реализовать защиту от них.

Практическое руководство по разработке бэкенд-сервиса на Python

TL;DR: Вот репка на GitHub с приложением, а кто любит (настоящие) лонгриды — прошу под кат.
Языковая механика escape analysis
Прелюдия
Это вторая из четырех статей в серии, которая даст представление о механике и дизайне указателей, стеков, куч, escape analysis и семантики значения/указателя в Go. Этот пост посвящен кучам и escape analysis.
Оглавление цикла статей:
- Language Mechanics On Stacks And Pointers (перевод)
- Language Mechanics On Escape Analysis
- Language Mechanics On Memory Profiling (перевод)
- Design Philosophy On Data And Semantics
Вступление
В первом посте из этой серии я рассказал основы механики указателя на примере, в котором значение распределяется по стеку между горутинами. Я не показывал вам, что происходит, когда вы разделяете значение в стеке. Чтобы понять это, вам нужно узнать о другой области памяти, где могут находиться значения: о «куче». С этим знанием вы можете начать изучать «escape analysis».
История эволюции интерфейсов в Java

Интерфейс в Java сильно эволюционировал за прошедшие годы. Давайте рассмотрим, какие изменения произошли в процессе его развития.
Настраиваем простой VPN с WireGuard и Raspberry Pi в качестве сервера
Оборудование
- Raspberry Pi 3 с модулем LTE и публичным IP-адресом. Здесь будет VPN-сервер (далее в тексте он называется edgewalker)
- Телефон на Android, который должен использовать VPN для всех коммуникаций
- Ноутбук Linux, который должен использовать VPN только внутри сети
Каждое устройство, которое подключается к VPN, должно иметь возможность подключаться ко всем другим устройствам. Например, телефон должен иметь возможность подключаться к веб-серверу на ноутбуке, если оба устройства являются частью сети VPN. Если настройка получится достаточно простой, то можно подумать о подключении к VPN и десктопа (по Ethernet).
10 признаков того, что хороший программист из вас не получится

Очень часто на Reddit или Quora я вижу вопросы вида «Как понять, смогу ли я стать успешным программистом?» (На самом деле, эта статья является расширенным продолжением моего недавнего ответа на Quora.) Когда кто-то задумывается о смене карьеры или интересуется разработкой и хочет знать, что для этого требуется, неизбежно возникает этот самый вопрос.
Вообще, я думаю, что это главный барьер в умах людей, которые не получали фундаментального образования по программированию. Думать, что программист из вас так себе, совершенно естественно, и это мешает вам взяться за новое дело. Это как мечтать стать актером, но сомневаться, что вы вообще умеете играть.
Будучи преподавателем на курсе «Full-stack Web-development», я работал со многими программистами-новичками. Хорошая новость в том, что мне редко встречались студенты, которые вообще не могли научиться программировать. Я считаю, что умение программировать — такой же базовый навык, как умение читать, писать и считать. Это под силу любому, так как это одна из способностей человека, но этому действительно надо учиться.
За два года преподавания, я наблюдал мучения студентов в процессе обучения и видел у них несколько схожих проблем. Если вы взглянете на их список и почувствуете, что это все про вас, можете быть уверены — хороший программист из вас точно не получится и, возможно, вам стоит заняться чем-то другим. Однако, если вы останетесь верны своей цели стать разработчиком, вы сможете преодолеть все препятствия.
Этот список поможет вам понять, сможете ли вы стать хорошим программистом, а также что делать, если вы решите это изменить.
Практические советы, примеры и туннели SSH

Практические примеры SSH, которые выведут на новый уровень ваши навыки удалённого системного администратора. Команды и советы помогут не только использовать
SSH
, но и более грамотно перемещаться по сети.Знание нескольких трюков
ssh
полезно любому системному администратору, сетевому инженеру или специалисту по безопасности.Как AWS «варит» свои эластичные сервисы. Масштабирование серверов и базы данных

Облако AWS это мегасуперсложная система, которая эволюционно развивается с 2006 года. Часть этого развития застал Василий Пантюхин — архитектор Amazon Web Services. Как архитектор он видит изнутри не только конечный результат, но и сложности, которые преодолевает AWS. Чем больше понимания работы системы, тем больше доверия. Поэтому Василий поделится секретами облачных сервисов AWS. Под катом устройство физических серверов AWS, эластичная масштабируемость БД, кастомная база данных Amazon и методы повышения производительности виртуальных машин с одновременным уменьшением их цены. Знание архитектурных подходов Amazon поможет эффективнее использовать сервисы AWS и, возможно, даст новые идеи по построению собственных решений.
Инструменты для запуска и разработки Java приложений, компиляция, выполнение на JVM
Ни для кого не секрет, что на данный момент Java — один из самых популярных языков программирования в мире. Дата официального выпуска Java — 23 мая 1995 года.
Эта статья посвящена основам основ: в ней изложены базовые особенности языка, которые придутся кстати начинающим “джавистам”, а опытные Java-разработчики смогут освежить свои знания.
* Статья подготовлена на основе доклада Евгения Фраймана — Java разработчика компании IntexSoft.
В статье присутствуют ссылки на внешние материалы.

Первая в России большая ламповая встреча Scala-комьюнити — как это было
28 сентября Tinkoff вместе со Scala-сообществом России провели масштабную, но очень уютную встречу разработчиков, тестировщиков и всех неравнодушных к Scala. В статье я поделюсь впечатлениями, как все прошло.
Сначала — пара слов о том, для чего мы активно включаемся в такие мероприятия. Просто мы любим Scala, используем этот язык и очень хотим, чтобы сообщество развивалось и пополнялось интересными людьми.

Мы ушли от стандартного формата конференций и собрали ламповую встречу для близких по духу людей. Мы нашли самый уютный лофт в сердце Москвы — Deworkacy в «Красном Октябре» — и пригласили по-настоящему звездный состав спикеров.
Нам важно, чтобы конференция походила на встречу старых друзей, но при этом была на высоком уровне по содержательной части докладов и воркшопов. В итоге около 400 участников собрались послушать спикеров, поучаствовать в жарких дискуссиях и потусить на афтерпати.
Вопросы к спикерам и интерес к затронутым темам показали, что мы попали в самую цель и смогли угадать желания scala-сообщества.
Небольшой видео-пруф, передающий настроение: youtu.be/ThmyLu7kOFk
Ссылки на видео докладов, фотоотчет и описание докладов под катом. Погнали!
Курс лекций «Основы цифровой обработки сигналов»
Часто ко мне обращаются люди с вопросами по задачам из области цифровой обработки сигналов (ЦОС). Я подробно рассказываю нюансы, подсказываю нужные источники информации. Но всем слушателям, как показало время, не хватает практических задач и примеров в процессе познания этой области. В связи с этим я решил написать краткий интерактивный курс по цифровой обработке сигналов и выложить его в открытый доступ.
Большая часть обучающего материала для наглядного и интерактивного представления реализована с использованием Jupyter Notebook. Предполагается, что читатель имеет базовые знания из области высшей математики, а также немного владеет языком программирования Python.

Энергия, тепло и вода: часть вторая
Решаемые задачи:
- Защита от протечек
+ Удалённое управление
+ Знать состояние ввода воды (перекрыто или открыто) - Знать давление и температуру теплоносителя в контуре отопления
- Знать давление в системе водоснабжения
Мониторинг по-прежнему в едином интерфейсе отображения (Zabbix), оповещение — через единый механизм alert-инга. А вот управление — это что-то новое. Об этом — далее.
1. Защита от протечек
Да это же избитая тема, девайсов — пруд пруди! Всё работает из коробки!
Так я было и подумал и снова ошибся. Готовых решений действительно много, но найти комплексное решение с возможностью удалённого управления и мониторинга, но при этом не используя чьё-то «облако»/чей-то личный кабинет, — оказалось почти невыполнимой задачей. Ну ок, снова колхозим, попробуем решить задачу без паяльника и коддинга.
Итого, мне нужны:
- шаровый кран с электроприводом
- датчик протечек
- некий контроллер с интерфейсом мониторинга и управления
- силовое реле
Чего мне не хватает в Java после работы с Kotlin/Scala

Осторожный переезд в Нидерланды с женой и ипотекой. Часть 2: подготовка документов и переезд

Оффер этот был из Нидерландов. Работодателям в этой стране относительно просто пригласить работника из-за рубежа (не из Евросоюза), поэтому бюрократической волокиты немного, а сам процесс оформления занимает всего несколько месяцев.
Но всегда можно самому себе создать сложности. Что я и сделал, чем затянул свой переезд еще на месяц. Если интересно почитать о хлопотах (нет, не сильно приятных) связанных с переездом IT семьи в Западную Европу — добро пожаловать под кат.
Смотрим торенты на смарт ТВ без смс и регистрации
Решил поделиться одним из способов, как можно посмотреть Ваш любимый фильм/сериал, в хорошем качестве, не посещая всякие стремные сайты, которые так хотят чтобы вы поиграли в казино.
Сразу оговорюсь, я ни в коем случае не призываю Вас использовать пиратский контент. Пиратство это зло. Всегда покупайте лицензионный контент.
Ну, а для тех кто хочет посмотреть торрент, не защищенный авторским правом, на своём смарт телевизоре, не дожидаясь скачивания, ниже интересный способ.
Что почитать и посмотреть из свежей фантастики: Марс, киборги и восставший AI

За окном весенняя пятница, и очень хочется отвлечься от кодинга, тестирования и прочих рабочих дел. Мы собрали для вас подборку понравившихся фантастических книг и фильмов, которые вышли примерно за последний год.
Где покупать радиодетали и компоненты? Часть I: Россия
а) которые заточены под любителей DIY и делают свои собственные крутые продукты: конструкторы, модули, обучающие курсы и т.д.;
б) для профи, с широкой номенклатурой электронных компонентов.
Продолжение: Часть II: зарубежные магазины

Как усилить защищенность веб-приложений при помощи HTTP заголовков

Это третья часть серии по веб-безопасности: вторая часть была «Web Security: введение в HTTP», первая "Как работают браузеры — введение в безопасность веб-приложений".
Как мы видели в предыдущих частях этой серии, серверы могут отправлять заголовки HTTP, чтобы предоставить клиенту дополнительные метаданные в ответе, помимо отправки содержимого, запрошенного клиентом. Затем клиентам разрешается указывать, каким образом следует читать, кэшировать или защищать определенный ресурс.
В настоящее время браузеры внедрили очень широкий спектр заголовков, связанных с безопасностью, чтобы злоумышленникам было труднее использовать уязвимости. В этой статье мы попытаемся обсудить каждый из них, объясняя, как они используются, какие атаки они предотвращают, и немного истории по каждому заголовку.
Information
- Rating
- 3,769-th
- Location
- Россия
- Date of birth
- Registered
- Activity