Как стать автором
Обновить
7
0
Максим Захаров @maksim-zakharov

Team lead Angular

Отправить сообщение

Создание микросервисной архитектуры с использованием single-spa (миграция существующего проекта)

Время на прочтение14 мин
Количество просмотров20K
image

Это первая статья по в данной теме, всего их планируется 3:

  1. * Создание root application из вашего существующего проекта, добавление в него 3 микро-приложения (vue, react, angular)
  2. Общение между микро-приложениями
  3. Работа с git (deploy, обновления)

Оглавление


  1. Общая часть
  2. Зачем это нужно
  3. Создание root контейнера (определение см. ниже) из вашего монолита
  4. Создаем микро-приложение VUE (vue-app)
  5.  Создаем микро-приложение REACT (react-app)
  6.  Создаем микро-приложение ANGULAR (angular-app)

1. Общая часть


Задача этой статьи: добавить возможность использовать существующий монолитный проект как root контейнер для микросервисной архитектуры.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии12

Customer Development для стартапов или что можно понять из разговора с 500 клиентами

Время на прочтение5 мин
Количество просмотров15K


Помните, как в военных фильмах у военачальников был «красный» телефон? На крайний случай, когда ситуация выходит из-под контроля и ничего не остается, как приказать: «соедините меня с главнокомандующим!»

Нечто подобное существует и для основателей стартапов, когда основные показатели по выручке и конверсиям расходятся с вашими планами как в море корабли. Что делать, куда бежать, за что хвататься? Можно «забуриться» в метрики, проанализировать места «утечки по всей воронке», от лидов до постоянных клиентов. Можно посоветоваться с экспертами, протестировать заголовки, лид-форму, кнопки и прочие конверсионные элементы на сайте.

А можно схватиться за «красный» телефон. Только вместо президента — ваши клиенты. Так поступил основатель SaaS-компании Groove Алекс Тернбулл. Для оптимизации продукта он решил просто поговорить с клиентами сервиса. Потому что никакая аналитика с тоннами цифр не поможет понять пользовательский опыт лучше, чем о нем расскажут сами пользователи.

Алекс провел более 100 часов в общении с подписчиками. И вот чему он научился.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии7

Web scraping при помощи Node.js

Время на прочтение10 мин
Количество просмотров144K

Это первая статья в цикле про создание и использование скриптов для веб-скрейпинга при помощи Node.js.


  1. Web scraping при помощи Node.js
  2. Web scraping на Node.js и проблемные сайты
  3. Web scraping на Node.js и защита от ботов
  4. Web scraping обновляющихся данных при помощи Node.js

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


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


Цель этой статьи – показать весь процесс создания и использования такого скрипта от постановки задачи и до получения конечного результата. В качестве примера я рассмотрю реальную задачу вроде тех, какие часто можно найти, например, на биржах фриланса, ну, а в качестве инструмента для веб-скрейпинга будем использовать Node.js.

Читать дальше →
Всего голосов 23: ↑17 и ↓6+11
Комментарии44

Пол Грэм: Как найти идею для стартапа (часть первая)

Время на прочтение5 мин
Количество просмотров187K

Недавно вышла статья Пола Грэма о поиске идеи для стартапа. Грем — сам по себе культовая личность Кремниевой долины и уже только поэтому достоин внимания. Но на мой взгляд, эта статья одна из лучших в своем роде. Да, о Customer Development и Lean Startup сейчас не пишет разве что ленивый, но она отличается глубокой внутренней философией Грема и обобщает его богатый опыт в качестве основателя YCombinator, общающегося с тысячами стартаперов в год.
Статья очень длинная, поэтому я взял на себя смелость разбить ее на 5 частей, дабы никого не утомить. Поехали:


Лучший способ найти идею для стартапа — не думать о ней. Найдите проблему, и лучше — если она есть у вас самого.
Читать дальше →
Всего голосов 66: ↑60 и ↓6+54
Комментарии32

Микрофронтенды: о чем это мы?

Время на прочтение10 мин
Количество просмотров68K
Все эти годы вы, frontend-разработчик, писали монолиты, хотя и понимали, что это дурная привычка. Вы делили свой код на компоненты, использовали require или import и определяли npm-пакеты в package.json или плодили гит-репозитории в вашем проекте, но все равно писали монолит.
Пришло время изменить положение.
Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии18

Нет, вам не нужен Express в вашем REST API на Node.js

Время на прочтение3 мин
Количество просмотров29K
image

Об альтернативах Express, где и почему стоит отказаться от Express'a и небольшие замеры в переводе под катом

Читать дальше →
Всего голосов 25: ↑18 и ↓7+11
Комментарии11

Декларативный шопинг в интернете с помощью Payment Request API и Angular

Время на прочтение5 мин
Количество просмотров5.2K
Как давно вы платили на веб-сайте в один клик с помощью Google Pay, Apple Pay или заранее заданной в браузере картой?

У меня такое получается редко.

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

Это не очень удобно. Особенно когда знаешь об альтернативе: в последние пару лет стандарт Payment Request API позволяет легко решать эту проблему в современных браузерах.

Давайте разберемся, почему его не используют, и попробуем упростить работу с ним.


Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии4

Как стать тимлидом фронтендеров и как жить после этого — расшифровка эфира

Время на прочтение15 мин
Количество просмотров12K
15 июня в нашем инстаграм-аккаунте прошел прямой эфир с Ильей, руководителем фронтенд-разработки в Яндекс.Деньги. Выкладываем запись эфира и расшифровку.



Меня зовут Илья, я работаю в компании Яндекс.Деньги и руковожу фронтендом. До этого был бэкенд-разработчиком, писал на C#, около 5 лет назад перешел во фронтенд. Чуть больше года руковожу. Вот такой путь развития. Еще активно участвую в Burning Lead – это сообщество для ведущих разработчиков, тимлидов, людей, которые так или иначе пересекаются с задачами управления; надеюсь, ребята из сообщества слушают стрим.
Всего голосов 41: ↑39 и ↓2+37
Комментарии4

Пишем интеграционные тесты на фронтэнд и ускоряем релизы

Время на прочтение18 мин
Количество просмотров19K
Всем привет! Меня зовут Вова, я фронтэндер в Тинькофф. Наша команда отвечает за два продукта для юридических лиц. О размерах продукта я могу сказать цифрами: полный регресс каждого из продуктов двумя тестировщиками проходит от трех дней (без влияния внешних факторов).

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

  • Распил приложения на более мелкие продукты со своими релизными циклами.
  • Покрытие продукта тестами в соответствии с тестовой пирамидой.

Последний пункт и стал темой моей статьи.

image
Читать дальше →
Всего голосов 33: ↑33 и ↓0+33
Комментарии10

Разработка торговых роботов: история проекта StockSharp

Время на прочтение4 мин
Количество просмотров21K
В нашем блоге мы много пишем о технологиях, связанных с фондовым рынком (например, соответствующих протоколах передачи данных — раз, два, три). Существует огромное количество биржевого софта, процесс создания которого довольно интересен. Ранее мы рассказывали о разработке торгового терминала SmartX, а сегодня представляем вам историю разработчиков проекта по созданию торговых роботов StockSharp.



В этой статье мы расскажем о нашем продукте StockSharp, который создаем уже долгие годы. Зачем мы это делаем, кому он нужен, какие преимущества и какие перспективы. Статья разбита на отдельные разделы, но читать лучше по порядку.
Читать дальше →
Всего голосов 14: ↑10 и ↓4+6
Комментарии1

Высокопроизводительный код на платформе .NET

Время на прочтение16 мин
Количество просмотров34K
Здравствуйте, дорогие читатели!

Не так давно мы занялись проработкой книги "Writing High-Performance .NET code", которая до сих пор не переведена на русский язык, хотя ей и скоро год.



Нас, конечно, не удивило, что такую книгу уже растаскивают на цитаты, однако выяснилось, что уважаемый автор Бен Уотсон даже выложил на сайте «Codeproject» целую статью, написанную по мотивам одной из глав. К сожалению, объем этого материала слишком велик для хабропубликации, однако мы решили все-таки перевести первую часть статьи, чтобы вы могли оценить материал книги. Приглашаем к прочтению и к участию в опросе. Кроме того, если все-таки целесообразно перевести и вторую часть — пишите в комментариях, постараемся учесть ваши пожелания.
Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии12

Удаленное управление роботом Lego Mindstorms по JMX и IP Video

Время на прочтение7 мин
Количество просмотров19K
Основной модуль конструктора Lego Mindstorms EV3 может работать с прошивкой leJOS, позволяющей запускать Java-приложения. Специально для этого Oracle выпустил и поддерживает отдельную версию полноценной Java SE.

Нормальная JVM позволила мне использовать встроенный в нее протокол Java Management Extensions (JMX), чтобы реализовать удаленное управление роботом-манипулятором. Для объединения управляющих элементов, показаний датчиков и картинок с установленных на роботе IP-камер используется мнемосхема, сделанная на платформе AggreGate.


Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии6

Уязвимость в Xamarin для Android: подменяем dll и едим бесплатно

Время на прочтение2 мин
Количество просмотров28K

Введение


Эта история началась еще прошлым летом: мы с друзьями ночью зашли в заведение быстрого питания, которое только-только внедрило мобильное скидочное приложение. Приложение было установлено, бесплатная еда получена, трафик сохранен в .pcap-файл, и, естественно, было желание покопаться в нем, узнать, как оно работает. Программа оказалась написана на C# с использованием мультиплатформенного фреймворка для разработки мобильных приложений Xamarin; в то время apktool не мог правильно собрать измененный apk и завершался с ошибкой. Долгое время я пользовался этим приложением, накапливал баллы, тратил их, иногда натыкаясь на посты о накрутках на форумах, однако, аккаунты накрутчиков довольно быстро банили.

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

image
Измененное название чрезвычайно похоже на настоящее название заведения
Читать дальше →
Всего голосов 41: ↑33 и ↓8+25
Комментарии18

Как я однажды взломал онлайн-казино

Время на прочтение7 мин
Количество просмотров127K
Вдохновившись рассказом Chikey о том, как он вновь «сломал интернет» Егор прекрати уже ломать все подряд, займись делом каким-нибудь, решил поведать об одной истории с довольно известным за рекой онлайн-казино. Имя этой «организации» не называю, т.к. процентов на 50 уверен, что или совсем не пофиксили, или сделали кривее, чем было до этого.

История очень похожа на взлом Егора, за исключением того, что это не совсем рэйс, вернее, совсем не race condition в чистом его виде. Как оно будет полностью не знаю, я больше практик, чем теоретик. Назовем его «conditional race condition» — хоть и масло масляное, но суть отражает верно.

Как-то вечером, домашние уснули, по ящику одна муть, наши опять проигрывают делать было особенно нечего, на опенсорс решил на сегодня забить, захотелось чего-нибудь сломать. А что ломать (когда Егор уже все сломал), как не банк какой-нибудь или казино (эго, необходимость иногда почувствовать себя крутым парнем, все дела в общем). Это было одно из первых онлайн-казино, которое мне тогда приглянулось в поиске.

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

Завел себе аккаунт, и поехали…
Читать дальше →
Всего голосов 132: ↑110 и ↓22+88
Комментарии72

Уязвимость «ВКонтакте» позволяла получить прямые ссылки на приватные фотографии

Время на прочтение8 мин
Количество просмотров314K


tl;dr
Была обнаружена уязвимость в закладках ВК, которая позволяла получать прямые ссылки на приватные фотографии из личных сообщений, альбомов любого пользователя/группы. Был написан скрипт, который перебирал фотографии пользователя за определенный период и затем, через эту уязвимость получал прямые ссылки на изображения. Если коротко, то: можно было за 1 минуту получить все ваши вчерашние фотографии, за 7 минут — все фото, загруженные на прошлой неделе, за 20 минут — прошлый месяц, за 2 часа — прошлый год. Уязвимость на данный момент исправлена. Администрация ВКонтакте выплатила вознаграждение в 10к голосов.

История началась с того, как мне в личку во «Вконтакте» кинули изображение. Обычно, если вещь важная, я её загружаю в облако, но в моём случае в этом не было необходимости, и я решил воспользоваться функцией закладок «Вконтакте».
Читать дальше →
Всего голосов 154: ↑150 и ↓4+146
Комментарии58

Отправляем SMS из .Net приложения на C#

Время на прочтение7 мин
Количество просмотров61K

Все что нам понадобится для отправки SMS это 3G USB модем, SIM карта, Visual Studio и немного времени. Моей целью не является описать все возможные настройки COM порта или формата PDU. Я хотел бы предоставить вам готовое решение, которое можно использовать в качестве сниппета в своих проектах.
В качестве примера рассмотрим 2 консольных приложения. Почему консольных? Да потому, что в них нет ничего лишнего и проще разобрать код. Почему два? Потому, что есть два распространенных варианта отправки сообщений. Самый простой вариант – это отправка сообщений в текстовом режиме. Минусом этого варианта является то, что он не поддерживает отправку кириллицы. Плюсом то, что возможна отправка 160-ти символов. Второй вариант, более сложный, позволяет отправлять текст длиной до 70-ти символов в формате Unicode.
Читать дальше →
Всего голосов 24: ↑20 и ↓4+16
Комментарии22

Microsoft запустила новую мобильную ОС — MS-DOS Mobile

Время на прочтение1 мин
Количество просмотров65K


Воистину история движется по спирали. На рынке мобильных ОС появился новый игрок. Сегодня компания Microsoft анонсировала новую мобильную операционную систему для смартфонов Lumia — MS-DOS Mobile.

В MS-DOS Mobile есть несколько предустановленных программ, а дизайн прост и лаконичен. Промо-видео новой ОС и ссылка на установку под катом
Читать дальше →
Всего голосов 70: ↑51 и ↓19+32
Комментарии29

С сегодняшнего дня компания Intel управляется компьютером

Время на прочтение3 мин
Количество просмотров48K


Компания Intel сообщает о завершении подготовительного этапа масштабного эксперимента, начатого более 3 лет назад. Суть эксперимента заключается во внедрении элементов искусственного разума в процедуры управления компанией. С сегодняшнего дня одним из топ-менеджеров Intel является компьютер, точнее, целый дата-центр, специально созданный для этих нужд. Вот уж, воистину, слава роботам! Именно этот дата-центр, который сейчас заполняется серверами, вы видите на КДПВ. Предполагается, что система выйдет на полную мощность к началу следующего года.
Читать дальше →
Всего голосов 82: ↑65 и ↓17+48
Комментарии27

Программируем квадрокоптер на Arduino (часть 1)

Время на прочтение18 мин
Количество просмотров357K


Здравствуйте, хаброжители!
В этой серии статей мы с вами приоткроем крышку квадрокоптера чуть больше, чем этого требует хобби, а также напишем, настроим и запустим в воздух собственную программу для полетного контроллера, которым будет являться обычная плата Arduino Mega 2560.

У нас впереди:
  1. Базовые понятия (для начинающих коптероводов).
  2. PID-регуляторы с интерактивной web-демонстрацией работы на виртуальном квадрокоптере.
  3. Собственно программа для Arduino и настроечная программа на Qt.
  4. Опасные тесты квадрокоптера на веревке. Первые полёты.
  5. Крушение и потеря в поле. Автоматический поиск с воздуха средствами Qt и OpenCV.
  6. Окончательные успешные тесты. Подведение итогов. Куда дальше?

Материал объемный, но постараюсь уложиться в 2-3 статьи.
Сегодня нас ожидает: спойлер с видео, как наш квадрокоптер полетел; базовые понятия; PID-регуляторы и практика подбора их коэффициентов.
Читать дальше →
Всего голосов 107: ↑106 и ↓1+105
Комментарии96

Квадрокоптер своими руками: Часть I

Время на прочтение4 мин
Количество просмотров343K
ВНИМАНИЕ, статья устарела, но её всё еще можно использовать в ознакомительных целях
Как и обещал, как только полечу — напишу полноценный пост по поводу сборки своего летающего агрегата. Наверняка многие давно посмотрели как «обычный» офисный сотрудник собирает это за 2 часа, сразу отмечу что я не «обычный» офисный работник, поэтому летчик из меня пока не очень, но важно что квадрокоптер летает и адекватно реагирует на управление. Первое и самое главное — если решили собирать, не экономьте и не думайте что вы умнее тех кто уже летает, так же учтите, что теория несколько расходится с практикой.
Есть большое число прошивок, готовых контроллеров, вариантов датчиков, моторов и т.д. и т.п. — выбрать есть из чего, но в статье остановлюсь только на одном варианте, основанном на Arduino Mega, прошивке MegaPirate и относительно дешевых датчиках.
много интересного читаем тут
Всего голосов 140: ↑135 и ↓5+130
Комментарии85

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность