Search
Write a publication
Pull to refresh
19
0
Vladimir @mvs

Creator, founder, developer

Send message

Яндекс-функции рассылают почту

Reading time5 min
Views11K
Яндекс-функции

Сегодня мы создадим т.н. Яндекс-функцию (официальное название Yandex Cloud Functions), которая вступив в сговор с сервисом почтовых рассылок SendGrid будет слать «мыло» мирно спящим пользователям (шутка — я знаю, что все мы против спама).

А ещё я противник (но без фанатизма) традиционных серверов, и сторонник т.н. serverless (бессерверных) решений, поскольку не люблю (да и толком не умею) администрировать сервера, а ещё больше — платить за то время, когда они не нагружены. Другое дело — функции. Их кто-то обслуживает без меня, а я плачу только за вызовы. В начале октября 2019 г. Яндекс представил свои Yandex Cloud Functions — кажется первый в РФ serverless. И что особо приятно — для навыков Алисы они вообще бесплатны, поэтому с тех пор находятся в поле моего периферийного зрения. Но давайте уже приступим.
Читать дальше →

LDAP-«аутентификация» — это антипаттерн

Reading time7 min
Views94K

Сегодня в любой организации есть LDAP-каталог, наполненный пользователями этой организации. Если присмотреться, вы найдете одно или несколько приложений, которые используют этот же каталог для «аутентификации». И кавычки здесь неспроста, ведь LDAP — это протокол доступа к каталогам, спроектированный для чтения, записи и поиска в службе каталогов. Это не протокол аутентификации. Термин «LDAP-аутентификация», скорее, относится к той части протокола (операции bind), где определяется, кто вы такой, и какие права доступа имеете к информации каталога.
Читать дальше →

Прогрессивные веб-приложения в 2020

Reading time17 min
Views28K

На КДПВ — стикер, созданный командой браузера Samsung Internet


Больше 12 лет прошло с тех пор, как Стив Джобс впервые представил идею веб-приложений, «которые выглядят и ведут себя точно так же, как и нативные приложения». Больше 4 лет прошло с момента появления термина «PWA». Что из себя представляют прогрессивные веб-приложения в начале 2020 года? Что из того, что было добавлено в экосистему в 2019 году, вы могли упустить? Давайте выясним.

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

Использование Clickhouse в качестве замены ELK, Big Query и TimescaleDB

Reading time11 min
Views29K
Clickhouse — это колоночная система управления базами данных для онлайн обработки аналитических запросов (OLAP) с открытым исходным кодом, созданная Яндексом. Ее используют Яндекс, CloudFlare, VK.com, Badoo и другие сервисы по всему миру для хранения действительно больших объемов данных (вставка тысяч строк в секунду или петабайты данных, хранящихся на диске).

В обычной, «строковой» СУБД, примерами которых служат MySQL, Postgres, MS SQL Server, данные хранятся в таком порядке:



При этом значения, относящиеся к одной строке, физически хранятся рядом. В столбцовых СУБД значения из разных столбцов хранятся отдельно, а данные одного столбца – вместе:

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

Уязвимости real-time операционок

Reading time5 min
Views12K
В июле 2019 года в операционной системе реального времени VxWorks, на которой работают более 2 миллиардов устройств, найдены критические уязвимости. На Хабре про это не написали ни слова, хотя это важная новость в области промышленного программирования, RTOS и automotive.


Wind River VxWorks используется для ежедневной работы множества устройств интернета вещей, таких как веб-камеры, сетевые коммутаторы, роутеры, файрволлы, VOIP телефоны, принтеры и устройства видеосвязи, а также в светофорах.

Кроме того VxWorks используется в safety-critical системах, включая SCADA-системы, поезда, лифты, промышленные контроллеры, мониторы состояния пациентов, полетные Wi-Fi системы и даже марсоходы.

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

Согласно новому отчету Armis, совокупность уязвимостей называют URGENT/11, так как в данной группе 11 элементов, 6 из которых критически важны и уязвимы к разрушительным кибератакам.

От чего зависит позиция сайта на поисковой странице?

Reading time8 min
Views14K
Когда сайт уже запущен и продает товары или услуги, оценить его успешность можно: достаточно проанализировать позицию, которую он занимает в поисковой системе, продажи, рентабельность инвестиций в разработку сайта и т.д.

Но как быть, если сайт только создан и продаж еще нет? Можно ли спрогнозировать, на какую позицию на поисковой странице можно рассчитывать при введении запроса?

Наша цель – создать инструмент для количественного анализа нового сайта, проведения сравнения с другими сайтами и оценки шансов на попадание в топ поисковой системы.
Мы провели эксперимент – взяли 18 новых сайтов, созданных студентами 4-го курса, и протестировали их на предмет наличия параметров, влияющих на позицию сайта внутри поисковой системы.

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

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

«Мы ежемесячно оцениваем одну и ту же «исследовательскую» выборку из 160 запросов. Мы постарались сделать ее сбалансированной по тематикам и частотам запросов. Это не вполне получилось, и, наверное, было бы лучше, если бы она была немного больше. Но важнее другое: выборка не меняется с марта 2015 года, и по ней мы можем отследить изменения в ранжировании, накапливавшиеся от месяца к месяцу».
Читать дальше →

Так ли хорош PocketBook?

Reading time14 min
Views70K

Или сказ о том, какие глюки нас поджидают




Меня восхищает компания PocketBook. Это лидер рынка на постсоветском пространстве, в области электронных книг, данную компанию знают все. Много было лестных постов тут о продукции данной компании. Нам дают красивую рекламу, хвалебные оды. Давайте нормально поковыряемся в железе и софте, и попробуем восстановить старенькую книжку Pocketbook 515 и посмотрим в душу изделиям данной компании. Ну и оценим, насколько же они реально хороши или плохи. Без прикрас.
Читать дальше →

Строгие правила для нового приложения на Angular

Reading time8 min
Views11K

Как создать и настроить Angular проект с нуля


Статья была обновлена 29 Февраля 2020 чтобы следовать лучшим практикам.


Короткое вступление


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

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

Preload в php 7.4: Composer и выбор файлов для предзагрузки

Reading time9 min
Views12K
Мы в Badoo активно занимаемся переходом на PHP 7.4 и с большим энтузиазмом ждём возможности использовать новую функцию preload. Не так давно мы рассказывали о наших экспериментах с ней.

Судя по всему, сообщество взбудоражено не меньше, чем мы. Разработчики фреймворков активно обсуждают возможности внедрения прелоада (а некоторые уже сделали его поддержку). Теперь дошла очередь и до менеджера зависимостей Composer. 



Italo Baeza написал статью, в которой высказал своё мнение о том, как Composer должен работать с прелоадом. Я решил поделиться переводом этого текста, а заодно и переводом другой его статьи — о том, что ответили на предложение сами разработчики Composer, а также о новом инструменте, который облегчает работу с прелоадом.
Читать дальше →

5 вещей, которые я бы хотел знать, когда начинал использовать Angular

Reading time14 min
Views41K

Современный Angular — это мощный фреймворк с множеством возможностей, вместе с которыми приходят и сложные, на первый взгляд, концепции и механизмы. Особенно это заметно тем, кто только начал работу как во фронтэнде в принципе, так и с Angular в частности.


С этой же проблемой столкнулся и я, когда примерно два года назад пришел в Тинькофф на позицию Junior Frontend Developer и погрузился в мир Angular. Поэтому предлагаю вам короткий рассказ о пяти вещах, понимание которых очень облегчило бы мою работу на первых порах.


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

PHP-Watcher: инструмент, который упрощает разработку долгоживущих приложений

Reading time3 min
Views7.7K


Мы любим PHP за простоту: ты пишешь код, обновляешь страницу в браузере и сразу видишь изменения. Но если дело доходит до консольных команд, которые могут быть долгоживущими процессами, — например, если мы пишем асинхронный HTTP-сервер для загрузки файлов, — разработка может оказаться весьма болезненной.

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

Это как Nodemon, но на PHP

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

Data Mesh: как работать с данными без монолита

Reading time6 min
Views16K

Привет, Хабр! Мы в Dodo Pizza Engineering очень любим данные (а кто их сейчас не любит?). Сейчас будет история о том, как накопить все данные мира Dodo Pizza и дать любому сотруднику компании удобный доступ к этому массиву данных. Задача под звёздочкой: сохранить нервы команды Data Engineering.


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

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

Parcel — мой любимый сборщик проектов

Reading time7 min
Views24K
Сегодня мы поговорим о сборщиках проектов (о бандлерах), об инструментах, которые облегчают жизнь разработчиков. Суть работы бандлеров заключается в том, что они берут JavaScript-код, содержащийся во множестве файлов, и упаковывают его в один или несколько файлов, определённым образом упорядочивая и подготавливая к работе в браузерах. Более того, благодаря различным подключаемым модулям (плагинам) и загрузчикам, код можно минифицировать, можно упаковывать, помимо кода, и другие ресурсы (вроде CSS-файлов и изображений). Бандлеры позволяют использовать препроцессоры, умеют разделять код на фрагменты, загружающиеся тогда, когда в них возникнет необходимость. Но их возможности этим не ограничиваются. Фактически, речь идёт о том, что они помогают организовывать процесс разработки.

image

Существует множество бандлеров. Например — Browserify и webpack. Хотя эти сборщики проектов представляют собой замечательные инструменты, лично я обнаружил, что их сложно настраивать. С чего начать настройку? Этот вопрос особенно актуален для новичков, для тех, кого может немного испугать такое понятие, как «конфигурационный файл».

Именно поэтому я, как правило, пользуюсь сборщиком проектов Parcel. Я наткнулся на этот бандлер случайно, когда смотрел одно учебное видео на YouTube. Там давались советы по ускорению разработки. Показанная в этом видео рабочая среда была сильно завязана на Parcel. После этого я решил, что и мне стоит попробовать этот бандлер.
Читать дальше →

Нетривиальная расстановка элементов на flexbox без media-запросов

Reading time7 min
Views27K
Казалось бы, какой пост может быть о CSS Flexbox в 2019 году? Верстальщики уже несколько лет активно используют данную технологию, и все тайны должны быть разгаданы.

Однако, недавно у меня возникло стойкое ощущение, что нужно поделиться одним нетривиальным и, на мой взгляд, полезным приёмом, связанным с flexbox. Написать пост побудил тот факт, что ни один знакомый (из учеников, верстальщиков и просто людей, близких к web), не смог решить задачку, связанную с flexbox, хотя на это нужно всего 4-6 строк.
Читать дальше →

Новинки от Pacsafe для города: рюкзаки Intasafe X и Intasafe X Slim

Reading time3 min
Views7.1K


Любимому ноутбуку — надежный рюкзак. Такой, чтобы и с мягкой подкладкой, и местом под зарядки, переходники и донглы. Сегодня мы расскажем сразу о двух таких рюкзаках для ноутбуков с диагональю 15 дюймов: Pacsafe Intasafe X и Pacsafe Intasafe X Slim. Бонус: защита от краж.
Читать дальше →

Почему вам стоит разгонять оперативную память (это легко!)

Reading time5 min
Views195K


Любая программа на ПК использует для работы оперативную память, RAM. Ваша RAM работает на определённой скорости, заданной производителем, но несколько минут копания в BIOS могут вывести её за пределы стандартных спецификаций.

Да, скорость работы памяти имеет значение


Каждая запускаемая вами программа загружается в память с вашего SSD или жёсткого диска, скорость работы которых гораздо ниже, чем у памяти. После загрузки программа обычно остаётся в памяти некоторое время, и CPU получает к ней доступ по необходимости.

Улучшение скорости работы памяти может напрямую улучшить эффективность работы CPU в определённых ситуациях, хотя существует и точка насыщения, после которой CPU уже не в состоянии использовать память достаточно быстро. В повседневных задачах несколько дополнительных наносекунд не принесут вам особой пользы, но если вы занимаетесь обработкой больших массивов чисел, вам может помочь любое небольшое увеличение эффективности.
Читать дальше →

FAQ про облачную [электронную] подпись

Reading time4 min
Views18K
Наша площадка стала первым федеральным оператором электронных торгов, внедрившим новую технологию облачной электронной подписи. Если обычная ЭП вызывала кучу вопросов, то эта услуга, с одной стороны, пока ещё больше непонятна бизнесу, а с другой — всё стало сильно проще.



— Что это такое?

Раньше была бумажная подпись на документе. Она не очень удобна, не очень безопасна и требует физического наличия бумаги. Потом появилась флешка с сертификатом и обвесом вокруг (вплоть до антивируса). Её сначала назвали ЭЦП — электронная цифровая подпись. Потом она стала просто ЭП. Теперь эту флешку положили в облако, и она стала ОЭП.

— Как работает ОЭП?

Предположим, вы подаёте свое предложение на тендер. Раньше, чтобы подписать документ, надо было поставить плагин для браузера, который умел связываться с софтом на локальном компьютере пользователя. Этот софт обращался к софту на флешке, софт на флешке выдавал ключ, этим ключом подписывалась транзакция и передавалась в готовом виде в плагин в браузер. Теперь мы вынимаем из этой цепочки флешку: софт обращается в облачное хранилище по шифрованному туннелю.
Читать дальше →

Первое рабочее место или как начать разработку API на Node.js

Reading time12 min
Views20K

Введение


В данной статье хотел бы поделиться своими эмоциями и приобретенными навыками в разработке первого REST API на Node.js с использованием TypeScript, как говорится, с нуля. История достаточно банальная: «Закончил университет, получил диплом. Куда же пойти работать?» Как можно было догадаться меня проблема не обошла стороной, пусть думать особо и не пришлось. Позвал к себе на стажировку разработчик (выпускник той же специальности). Полагаю, что это достаточно распространенная практика и существует множество подобных историй. Я, недолго думая, решил попробовать свои силы и пошел…

image

День первый. Знакомство с Node.js


Пришёл я на back-end разработку. В данной IT-компании используют платформу Node.js, с которой я абсолютно не был знаком. Я немного убежал вперед, забыв рассказать читателю, что никогда и ничего не разрабатывал на JavaScript (за исключением пары скриптов с копированным кодом). Алгоритм работы и архитектуру веб-приложений в целом я понимал, так как разрабатывал CRUD на Java, Python и Clojure, но этого было недостаточно. Поэтому первый день я полностью посвятил изучению Node.js, очень помог этот скринкаст.

Параллельно изучая веб-фреймворк Express, менеджер пакетов npm, а также такие файлы как package.json и tsconfig.json, голова просто шла кругом от количества информации. Очередной урок, что усвоение всего материала одновременно задача близкая к невозможной. К концу дня я все же справился с настройкой окружения и смог запустить express веб-сервер! Но радоваться было рано, потому что уходил домой с полным ощущением непонимания. Чувство, что я утопал в огромном мире JS не покидало меня ни на минуту, поэтому необходима была перезагрузка.

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

Maltego ближе к телу. Часть 2

Reading time4 min
Views22K
Здравствуйте, дорогие друзья. Вот, наконец-то, и добрался я до написания второй статьи, посвященной Maltego. Кто не читал первую – обязательно прочитайте вот тут. В ней я писал, что же такое Maltego в целом, а в этой статье я расскажу, с чем его едят. Картинок будет очень много.

Данная статья не совсем туториал по работе. Я, конечно, постараюсь показать максимум неочевидных вещей, с которыми столкнулся в процессе работы по первости, но лучший способ познать какой-либо фреймворк – это просто начать им пользоваться и нарабатывать опыт.
Читать дальше →

Рецепты TeamCity. Доклад Яндекс.Такси

Reading time8 min
Views9.3K
Меня зовут Эдуард Мацуков, я делаю Таксометр — приложение для водителей Яндекс.Такси. Занимаюсь инфраструктурой и всем, что с ней связано. Какое-то время назад я выступил с докладом — рассказал об опыте дружбы TeamCity с нашим проектом и с разработчиками в целом. Отдельная часть доклада посвящена тому, при чем здесь Kotlin.


— Практически каждый день ко мне лично и к нашим разработчикам приходят с вопросами. А где достать сборку? А где взять такую-то ветку? А почему что-то упало? Где в моем коде проблема? Почему что-то работает неправильно? Для этого у нас в проекте есть много самописной инфраструктуры, плагинов, различных хаков и трюков, которые мы используем. С одной стороны — чтобы облегчить жизнь разработчика, с другой — чтобы реализовать конкретные бизнес-задачи.

Information

Rating
Does not participate
Date of birth
Registered
Activity