Как стать автором
Обновить
1
0
Рожик @rozhik

Пользователь

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

Продвинутые дженерики в TypeScript. Доклад Яндекса

Время на прочтение 14 мин
Количество просмотров 16K
Дженерики, или параметризованные типы, позволяют писать более гибкие функции и интерфейсы. Чтобы зайти дальше, чем параметризация одним типом, нужно понять лишь несколько общих принципов составления дженериков — и TypeScript раскроется перед вами, как шкатулка с секретом. AlexandrNikolaichev объяснил, как не бояться вкладывать дженерики друг в друга и использовать автоматический вывод типов в ваших проектах.

— Всем привет, меня зовут Александр Николаичев. Я работаю в Yandex.Cloud фронтенд-разработчиком, занимаюсь внутренней инфраструктурой Яндекса. Сегодня расскажу об очень полезной вещи, без которой сложно представить современное приложение, особенно большого масштаба.
Читать дальше →
Всего голосов 9: ↑7 и ↓2 +5
Комментарии 1

Первые шаги в BI-аналитике. Роль Data Engineering

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

Добрый день, уважаемые читатели! Материал носит теоретический характер и адресован исключительно начинающим аналитикам, которые впервые столкнулись с BI-аналитикой.

Что традиционно понимается под этим понятием? Если говорить простым языком, то это комплексная система (как и, например, бюджетирование) по сбору, обработке и анализу данных, представляющая конечные результаты в виде графиков, диаграмм, таблиц.

Это требует слаженной работы сразу нескольких специалистов. Дата-инженер отвечает за хранилища и ETL/ELT-процессы, аналитик данных помогает в заполнении базы данных, аналитик BI разрабатывает управленческие панели, бизнес-аналитик упрощает коммуникации с заказчиками отчетов. Но такой вариант возможен, только если фирма готова оплачивать работу команды. В большинстве случаев небольшие компании для минимизации затрат делают ставку на одного человека, который зачастую вообще не обладает широким кругозором в области BI, а имеет лишь шапочное знакомство с платформой для отчетов.

В таком случае происходит следующее: сбор, обработка и анализ данных происходит силами единственного инструмента – самой BI-платформой. При этом данные предварительно никак не очищаются, не проходят компоновки.  Забор информации идет из первичных источников без участия промежуточного хранилища. Результаты такого подхода можно легко лицезреть на тематических форумах. Если постараться обобщить все вопросы касательно BI-инструментов, то в топ-3 попадут, наверное, следующие: как загрузить в систему плохо структурированные данные, как по ним рассчитать требуемые метрики, что делать, если отчет работает очень медленно. Что удивительно, на этих форумах вы практически не найдете обсуждений ETL-инструментов, описания опыта применения хранилищ данных, лучших практик программирования и запросов SQL. Более того, я неоднократно сталкивался с тем, что опытные BI-аналитики не очень лестно отзывались о применении R/Python/Scala, мотивируя это тем, что все проблемы можно решить только силами BI-платформы. Вместе с тем всем понятно, что грамотный дата инжиниринг позволяет закрывать массу проблем при построении BI-отчетности.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 1

6 Современных шаблонов проектирования архитектуры в области ПО

Время на прочтение 7 мин
Количество просмотров 25K
Привет, Хабр! Представляю вашему вниманию перевод статьи "Modern-Day Architecture Design Patterns for Software Professionals" автора Tanmay Deshpande.

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

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

Вот список шаблонов, которые я буду обсуждать в этой статье:

  1. Circuit Breaker
  2. Command and Query Responsibility Segregation (CQRS)
  3. Event Sourcing
  4. Sidecar
  5. Backend-for-Frontend
  6. Strangler

Итак, давайте начнем.
Читать дальше →
Всего голосов 11: ↑8 и ↓3 +5
Комментарии 2

Представляем Quarkly – инструмент для react-разработчиков и дизайнеров, который поможет оптимизировать вашу разработку

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

Всем привет! Идеологически Quarkly – это проект, который призван упростить жизнь веб-разработчикам и веб-дизайнерам. В этом посте я коротко расскажу, за счет чего это возможно.


Прежде всего, давайте посмотрим, как выглядит типичный цикл разработки веб-приложения в 2020 году? Есть команда. В этой команде есть дизайнер и разработчик. Первый создает дизайн-спецификацию в Figma. Второй, на основе дизайн-спецификации, создает компоненты, переносит тему. Результат своей работы программист показывает дизайнеру в Storybook. Дизайнер его проверяет и утверждает проект, если всё хорошо. Далее он начинает создавать макеты, а разработчик верстает их при помощи компонентов из спецификации.



Всего голосов 24: ↑19 и ↓5 +14
Комментарии 27

Как в 2020 году разработчику найти удаленную работу: статистика, инструменты + советы инженера

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


По статистике Stack Overflow, активно ищут работу немногим более 17% разработчиков. При этом, помимо зарплаты, в пятерку важных факторов при смене места входит и запрос на улучшения work/life balance. Традиционно многие люди видят в удаленной работе возможность улучшить этот баланс, больше времени проводить с родными и контролировать график.



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

Я изучил текущую статистику по рынку труда для разработчиков, материалы, которые публикуют рекрутеры и инженеры, которые сами проводят собеседования, а также поговорил с Александром Жилиным, Go/Python разработчиком из Питера, который недавно сумел найти работу с помощью специализированного чат-бота. В итоге я составил материал с актуальными советами по поиску удаленной работы в 2020 году.
Читать дальше →
Всего голосов 34: ↑31 и ↓3 +28
Комментарии 13

Книга «Golang для профи: работа с сетью, многопоточность, структуры данных и машинное обучение с Go»

Время на прочтение 14 мин
Количество просмотров 16K
image Привет, Хаброжители!

Вам уже знакомы основы языка Go? В таком случае эта книга для вас. Михалис Цукалос продемонстрирует возможности языка, даст понятные и простые объяснения, приведет примеры и предложит эффективные паттерны программирования. Изучая нюансы Go, вы освоите типы и структуры данных языка, а также работу с пакетами, конкурентность, сетевое программирование, устройство компиляторов, оптимизацию и многое другое. Закрепить новые знания помогут материалы и упражнения в конце каждой главы. Уникальным материалом станет глава о машинном обучении на языке Go, в которой вы пройдёте от основополагающих статистических приемов до регрессии и кластеризации. Вы изучите классификацию, нейронные сети и приёмы выявления аномалий. Из прикладных разделов вы узнаете: как использовать Go с Docker и Kubernetes, Git, WebAssembly, JSON и др.
Читать дальше →
Всего голосов 11: ↑9 и ↓2 +7
Комментарии 9

Docker и все, все, все

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

TL;DR: обзорная статья-руководство по сравнению сред для запуска приложений в контейнерах. Будут рассмотрены возможности Docker и других схожих систем.


Читать дальше →
Всего голосов 28: ↑26 и ↓2 +24
Комментарии 11

Как ухаживать за мозгом

Время на прочтение 12 мин
Количество просмотров 87K
Эх, люблю свои мозги! Каждый день забочусь о них, как о самом важном. В этой статье мой опыт поддержания здоровья мозга переплетён с последними результатами научных исследований. Под катом рассказ, как сделать так, чтобы мозг работал эффективно и сохранял ясный ум (завтра и через 30 лет), был готов принимать решения, концентрироваться на задачах и при этом не старел.


Читать дальше →
Всего голосов 78: ↑66 и ↓12 +54
Комментарии 116

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

Время на прочтение 9 мин
Количество просмотров 31K
В этом году, так вышло, я два раза находился в поиске работы. Мне довелось испытать приключение в виде полностью удалённого устройства на работу, полностью удалённой адаптации и такого же удалённого расставания с коллегами. У меня накопился опыт наблюдения за этим интересным и важным процессом, и я спешу поделиться им с вами.

Мой бэкграунд: Москва, frontend senior, большой опыт и высокие притязания по зарплате (примерно 10-15% верхних предложений рынка).

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

10 open source альтернатив Google Photos

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

Вам кажется, что вы тонете в цифровых фотографиях? Такое ощущение, что телефон сам по себе заполняется вашими селфи и снимками, а вот выбор лучших кадров и систематизация фотографий никогда не происходит без вашего вмешательства. Для упорядочивания созданных вами воспоминаний требуется время, но ведь со структурированными фотоальбомами так приятно иметь дело. В операционной системе вашего телефона наверняка имеется сервис для хранения и сортировки фотографий, однако существует добрая доля проблем конфиденциальности вокруг сознательного предоставления копий фотографий вашей жизни, друзей, детей и отдыха корпорациям (ещё и бесплатно). К счастью, существует большой выбор альтернатив с открытым исходным кодом, в которых вы сами выбираете, кто может просматривать ваши фотографии, а также инструменты с открытым кодом, которые помогут вам найти и улучшить самые лучшие из ваших любимых фото.
Читать дальше →
Всего голосов 20: ↑6 и ↓14 -8
Комментарии 19

Запускаем Apache Spark на Kubernetes

Время на прочтение 22 мин
Количество просмотров 14K
Дорогие читатели, доброго дня. Сегодня поговорим немного про Apache Spark и его перспективы развития.



В современном мире Big Data Apache Spark является де факто стандартом при разработке задач пакетной обработки данных. Помимо этого, он также используется для создания стриминговых приложений, работающих в концепции micro batch, обрабатывающих и отгружающих данные маленькими порциями (Spark Structured Streaming). И традиционно он являлся частью общего стека Hadoop, используя в качестве менеджера ресурсов YARN (или, в некоторых случаях, Apache Mesos). К 2020 году его использование в традиционном виде для большинства компаний находится под большим вопросом в виду отсутствия приличных дистрибутивов Hadoop — развитие HDP и CDH остановлено, CDH недостаточно проработан и имеет высокую стоимость, а остальные поставщики Hadoop либо прекратили своё существование, либо имеют туманное будущее. Поэтому всё больший интерес у сообщества и крупных компаний вызывает запуск Apache Spark с помощью Kubernetes — став стандартом в оркестрации контейнеров и управлении ресурсами в приватных и публичных облаках, он решает проблему с неудобным планированием ресурсов задач Spark на YARN и предоставляет стабильно развивающуюся платформу с множеством коммерческих и открытых дистрибутивов для компаний всех размеров и мастей. К тому же на волне популярности большинство уже успело обзавестись парой-тройкой своих инсталляций и нарастить экспертизу в его использовании, что упрощает переезд.

Начиная с версии 2.3.0 Apache Spark обзавёлся официальной поддержкой запуска задач в кластере Kubernetes и сегодня, мы поговорим о текущей зрелости данного подхода, различных вариантах его использования и подводных камнях, с которыми предстоит столкнуться при внедрении.
Читать дальше →
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 5

Как стать платформенным инженером или куда развиваться в DevOps-направлении?

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


Поговорили о том, кому и почему в ближайшем будущем понадобятся навыки создания инфраструктурной платформы с помощью Kubernetes, с преподавателем Юрием Игнатовым, ведущим инженером Express 42.

Откуда берется спрос на платформенных инженеров?


В последнее время все больше компаний осознают необходимость в создании внутренней инфраструктурной платформы, которая была бы единой средой для разработки, подготовки релизов, выпуска и эксплуатации цифровых продуктов компании. Такая платформа содержит в себе системы и сервисы для управления вычислительными и сетевыми ресурсами, систему непрерывной интеграции, хранилище артефактов поставки, системы мониторинга и прочих сервисов, которые используют ваши команды разработки. Движение в сторону построения внутренних платформ и формирования платформенных команд началось несколько лет назад. Подтверждения тому можно найти в отчетах State of DevOps от организации DORA, публикациях от Gartner и книгах, вроде Team Topologies.
Читать дальше →
Всего голосов 11: ↑7 и ↓4 +3
Комментарии 0

Антипаттерны событийно-ориентированной архитектуры

Время на прочтение 9 мин
Количество просмотров 11K
И снова здравствуйте! В преддверии старта курса «Архитектор ПО» подготовили перевод еще одного интересного материала.




Последние несколько лет наблюдается рост популярности микросервисной архитектуры. Есть много ресурсов, которые учат правильно ее реализовывать, однако достаточно часто люди говорят о ней, как о серебряной пуле. Против использования микросервисов есть множество аргументов, но самый весомый из них заключается в том, что этот тип архитектуры таит в себе неопределенную сложность, уровень которой зависит от того, как вы управляете отношениями между вашими сервисами и командами. Вы можете найти много литературы, которая расскажет почему (возможно) в вашем случае микросервисы окажутся не лучшим выбором.
Читать дальше →
Всего голосов 23: ↑21 и ↓2 +19
Комментарии 2

Диагностируем проблемы в микросервисной архитектуре на Node.js с помощью OpenTracing и Jaeger

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


Всем привет! В современном мире крайне важна возможность масштабировать приложение по щелчку пальцев, ведь нагрузка на приложение может сильно отличаться в разное время. Наплыв клиентов, которые решили воспользоваться вашим сервисом, может принести как большую прибыль так и убытки. Разбиение приложения на отдельные сервисы решает проблемы с масштабированием, всегда можно добавить инстансов нагруженных сервисов. Это несомненно поможет справиться с нагрузкой и сервис не упадет от нахлынувших на него клиентов. Но микросервисы вместе с неоспоримой пользой, вносят и более сложную структуру приложения, а так же запутанность в их взаимосвязях. Что если даже успешно масштабировав свой сервис, проблемы продолжаются? Время ответа растет и ошибок становится все больше? Как понять, где именно проблема? Ведь каждый запрос к API может порождать за собой цепочку вызовов разных микросервисов, получение данных из нескольких БД и сторонних API. Может это проблема с сетью, или API вашего партнера не справляется с нагрузкой, а может это кеш виноват? В этой статье я постараюсь рассказать, как ответить на эти вопросы и быстро найти точку отказа. Добро пожаловать под кат.

Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Комментарии 3

Чистый код для TypeScript — Часть 3

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

Заключительная часть статей, посвященных тому, как можно использовать принципы чистого кода в TypeScript(ps. Все эти принципы относятся не только к языку TypeScript).


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

Что такое SAP?

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


Что такое SAP? И с какого лешего она стоит $163 миллиарда?

Каждый год компании тратят $41 млрд на софт для планирования корпоративных ресурсов, известный под аббревиатурой ERP. Сегодня практически в каждом крупном бизнесе внедрена та или иная ERP-система. Но большинство маленьких компаний обычно не покупают ERP-системы, а большинство разработчиков, вероятно, и не видели их в деле. Так что у тех из нас, кто не использовал ERP, возникает вопрос… в чём прикол? Как компания вроде SAP умудряется продавать ERP на $25 млрд в год?

И как получилось, что 77% мировой торговли, в том числе 78% поставок продуктов питания, проходит через программы SAP?
Читать дальше →
Всего голосов 21: ↑17 и ↓4 +13
Комментарии 80

70 вопросов по JavaScript для подготовки к собеседованию

Время на прочтение 43 мин
Количество просмотров 855K
Доброго времени суток, друзья!

Надеюсь, эта статья будет полезна как начинающим разработчикам, так и опытным.

В вопросах, которые показались мне сложнее прочих, приведены ссылки на дополнительную литературу.

Буду признателен за развернутые комментарии. Все замечания будут учтены при редактировании статьи.

Итак, поехали.
Читать дальше →
Всего голосов 46: ↑43 и ↓3 +40
Комментарии 135

Чем на самом деле должен заниматься менеджер продукта

Время на прочтение 8 мин
Количество просмотров 23K
Ярополк Раш из Wargaming рассказал, кого на самом деле ищут работодатели, чем продакт-менеджер отличается от продюсера и по какому фреймворку он работает.

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

image

Ярополк Раш на конференции ProductSense

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

Чистая архитектура с Typescript: DDD и слоистая архитектура

Время на прочтение 7 мин
Количество просмотров 20K
Привет, Хабр! В последнее время уделяю много внимание архитектуре и решил поделиться с сообществом переводом статьи Clean Architecture with Typescript: DDD, Onion автора André Bazaglia.

Введение


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

Целью данной статьи является не детальное покрытие сложных тем по DDD и Слоистой архитектуре, а пример реализации этих двух подходов в Typescript. Используемый проект является базовым и может быть доработан и расширен, например с использованием подхода CQRS.
Читать дальше →
Всего голосов 13: ↑11 и ↓2 +9
Комментарии 8

Как создать и развернуть Full-Stack React-приложение

Время на прочтение 8 мин
Количество просмотров 14K
Привет, Хабр! Представляю вашем вниманию перевод статьи «How to Build and Deploy a Full-Stack React-App» автора Frank Zickert.

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

Хотите стать full-stack разработчиком? Full-stack приложение дополняет интерактивный веб-интерфейс React сервером и базой данных. Но такое приложение требует гораздо больше настроек, чем простое одностраничное приложение.
Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 0
1

Информация

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