Search
Write a publication
Pull to refresh
5
0.1

Разработчик

Send message

Подборка бесплатных ресурсов для обучения тестировщика

Level of difficultyEasy
Reading time2 min
Views89K

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

Все материалы использовал или использую сам.

Читать далее

Паттерны реактивности в современном JavaScript

Level of difficultyHard
Reading time12 min
Views15K



"Реактивность" — это то, как системы реагируют на обновление данных. Существуют разные типы реактивности, но в рамках этой статьи, реактивность — это когда мы что-то делаем в ответ на изменение данных.


Паттерны реактивности являются ключевыми для веб-разработки


Мы работаем с большим количеством JS на сайтах и в веб-приложениях, поскольку браузер — это полностью асинхронная среда. Мы должны реагировать на действия пользователя, взаимодействовать с сервером, отправлять отчеты, мониторить производительность и т.д. Это включает в себя обновление UI, сетевые запросы, изменения навигации и URL в браузере, что делает каскадное обновление данных ключевым аспектом веб-разработки.


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


Изучение паттернов приводит к уменьшению количества кода и повышению производительности веб-приложений, независимо от используемого фреймворка.

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

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

Ad-hoc-полиморфизм и паттерн type class в C#

Level of difficultyMedium
Reading time8 min
Views18K


Эта статья объясняет, что такое ad-hoc-полиморфизм, какие проблемы он решает и как вообще его реализовать, используя паттерн type class на языке программирования C#.
Читать дальше →

Лучшая фантастика последних трех лет по версии Goodreads

Reading time5 min
Views170K

GoodrGoodreads — пожалуй, главный книжный сайт англоязычного интернета. Недавно он составил список самых популярных фантастических книг за 2020-2023 годы, опираясь на мнение пользователей. К сожалению, на русский язык переведено далеко не все, однако даже те книги, которые уже можно прочитать в переводе, составляют внушительный список. Вот он.

Читать далее

Как построить систему, способную выдерживать нагрузку в 5 млн rps

Level of difficultyMedium
Reading time12 min
Views57K

Всем привет! 

Меня зовут Владимир Олохтонов, я руковожу командой разработки в отделе Message Bus, который является частью платформы Ozon. Мы занимаемся разработкой самых разных систем вокруг Kafka, etcd и Vault. В этой статье я расскажу о том, как мы строили линейно масштабируемую gRPC-прокси перед Kafka, способную обслуживать миллионы запросов в секунду, используя Go.

Читать далее

5 вещей, которые предприниматели, инвесторы и рекрутеры должны знать о CTO

Level of difficultyEasy
Reading time6 min
Views4.4K

Я занимаю должность СТО уже около десяти лет.

К настоящему времени у меня сложилась довольно четкое понимание того, кто такой CTO, что делает CTO успешным, а что - нет.

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

Читать далее

Книга «ASP.NET Core в действии» в правильном переводе команды DotNetRu

Reading time4 min
Views29K

Полтора года назад мы рассказывали про опыт совместной работы нашего сообщества DotNetRu с издательством ДМК Пресс над переводом книги Конрада Кокосы «Управление памятью в .NET для профессионалов». Напомним суть: издатель делал первоначальный перевод, а ребята из сообщества в качестве экспертов доводили текст до ума, пока кровь из глаз не превратилась в слезы счастья. В итоге книга была успешно напечатана и выпущена в продажу, а эксперимент признан успешным.

И сегодня мы рады представить вам наш следующий совместный проект: книга Эндрю Лока «ASP.NET Core в действии» в правильном переводе DotNetRu. В продолжении поста — впечатления о процессе перевода от непосредственных участников и промокод на скидку от издательства.

Читать далее

Книга «Управление памятью в .NET для профессионалов» в правильном переводе команды DotNetRu

Reading time5 min
Views18K
Совсем недавно в издательстве ДМК-пресс на русском языке вышла замечательная книга Конрада Кокосы «Управление памятью в .NET для профессионалов».

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

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


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

Вдали от Webpack, или Как мы в Dodo микрофронтенды на Vite переводили

Level of difficultyMedium
Reading time11 min
Views11K

С первой частью рассказа о микрофронтендах в Dodo можно ознакомиться тут

Мы спокойно сидели и пилили новый проект на нашем устоявшемся стеке (React + TypeScript + Webpack + SingleSPA + SystemJS + Jest). Пока одним прекрасным утром не пришел наш техлид и такой: «Чуваки, а давайте затащим Vitest!».

Читать далее

Переезжаем на ClickHouse: 3 года спустя

Reading time19 min
Views23K
Три года назад Виктор Тарнавский и Алексей Миловидов из Яндекса на сцене HighLoad++ рассказывали, какой ClickHouse хороший, и как он не тормозит. А на соседней сцене был Александр Зайцев с докладом о переезде на ClickHouse с другой аналитической СУБД и с выводом, что ClickHouse, конечно, хороший, но не очень удобный. Когда в 2016 году компания LifeStreet, в которой тогда работал Александр, переводила мультипетабайтовую аналитическую систему на ClickHouse, это была увлекательная «дорога из желтого кирпича», полная неведомых опасностей — ClickHouse тогда напоминал минное поле.

Три года спустя ClickHouse стал гораздо лучше — за это время Александр основал компанию Altinity, которая не только помогает переезжать на ClickHouse десяткам проектов, но и совершенствует сам продукт вместе с коллегами из Яндекса. Сейчас ClickHouse все еще не беззаботная прогулка, но уже и не минное поле.

Александр занимается распределенными системами с 2003 года, разрабатывал крупные проекты на MySQL, Oracle и Vertica. На прошедшей HighLoad++ 2019 Александр, один из пионеров использования ClickHouse, рассказал, что сейчас из себя представляет эта СУБД. Мы узнаем про основные особенности ClickHouse: чем он отличается от других систем и в каких случаях его эффективнее использовать. На примерах рассмотрим свежие и проверенные проектами практики по построению систем на ClickHouse.


Грабли WebRTC: как мы допиливали чужой велосипед

Reading time5 min
Views14K

В пике на нашей образовательной платформе проходит до 4 тысяч уроков в час. Основной инструмент общения преподавателя и студента — видеосвязь, потому что для обучения важно видеть и слышать друг друга. В самом начале мы использовали Skype, но его нельзя было интегрировать в платформу и логировать уроки. Потом мы перешли на SaaS-решения, но это оказалось очень дорого. Мы начали искать альтернативы и 2016 году отказались от покупных решений в пользу WebRTC и Janus. Теперь дорабатываем видеоконференции под образовательную платформу силами собственной команды. Да, пришлось копнуть глубже и потоптаться по граблям чужой технологии.
Рассказываем, как мы выкручивались и улучшали видеосвязь, чтобы она не попадала в топ жалоб от клиентов.

Читать далее

Зачем мы создали свою собственную систему видеосвязи с блэкджеком и фичами

Reading time7 min
Views4.8K

2020 оказался годом удаленки. Уже в марте я был вынужден перевести всю команду на полностью дистанционный формат работы и все процессы пришлось настраивать заново.

Отдельной болью для нас стали видеозвонки. И началось: «Ой, а давайте в Скайпе, Дискорде, Телеграме, Зуме». А потом то девайсы программное обеспечение криво поддерживают, то технические сбои, то аккаунты вне доступа, то обновление софта и еще вагон проблем. Уходила куча времени, чтобы просто связаться и провести совещание.

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

Читать далее

Как мы сделали Смарт Видео Агент на WebRTC для улучшения техподдержки телеком-операторов

Reading time9 min
Views2K

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

Читать далее ...

От Skype до WebRTC: как мы организовали видеосвязь через веб

Reading time7 min
Views19K


Видеосвязь — основной способ общения преподавателя и студента на платформе Vimbox. Мы давно отказались от Skype, перепробовали несколько сторонних решений и в итоге остановились на связке WebRTC — Janus-gateway. Некоторое время нас все устраивало, но все же некоторые негативные моменты продолжали вылезать. В итоге было создано отдельное направление по видео.


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

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

Свой мессенджер Matrix-synapse в связке с Jitsi-meet. Часть 3

Reading time8 min
Views22K

Всем Приветь. Как вы уже обратили внимание, порядок публикации нарушен. Изначально планировалось выпустить эту статью в качестве 3 части цикла, однако она стала второй. Это объясняется тем, что поднять один новый сервер для Matrix дешевле, чем несколько для высоконагруженного сервиса Jitsi-meet. Без паники - все будет. А пока займемся Matrix.

Ну давай гляну, что ты там понаписал...

Свой сервер видеоконференций Jitsi. Часть 1 (Обновлено)

Reading time14 min
Views60K
Это первая статья, в которой я расскажу, как поднять свой собственный сервер видеоконференций Jitsi-meet. Я планирую выпустить три статьи на эту тему:

  1. Свой сервер видеоконференций Jitsi.
    Jitsi и все необходимые службы работают на одном сервере + сервис Jibri (для записи видеоконференций на отдельном сервере).
  2. Свой высоконагруженный сервис видеоконференций Jitsi.
    Jitsi и все необходимые зависимые службы работают на разных серверах для получения высокой производительности.
  3. Свой мессенджер Matrix-synapse в связке с Jitsi-meet.
    Настройка Matrix на своем сервере и объединение с Jitsi для видеозвонков.

В данной статье я расскажу, как поднять собственный сервер видеоконференций jitsi-meet. Для нормального функционирования мне пришлось собирать информацию по крупицам, общаться с разработчиками данной утилиты, перечитать всю документацию и облазить кучу форумов. Тут я собрал все в один мануал на русском.
Читать дальше →

Как неуловимый «эйнштейн» помог решить давнюю математическую задачу

Level of difficultyMedium
Reading time7 min
Views12K


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

В менее поэтичных терминах, «эйнштейн» — это «апериодическая моноплитка», фигура, которая покрывает плоскость или бесконечную двумерную плоскую поверхность неповторяющимся образом. (Термин «эйнштейн» происходит от немецкого «ein stein» или «один камень», в более свободной трактовке — «одна плитка» или «одна фигура»). Ваши обычные обои или кафельный пол представляют собою часть бесконечного узора, который периодически повторяется; при смещении или «переносе» узор может быть точно наложен сам на себя. Апериодическая плитка не обладает такой «трансляционной симметрией», и математики давно ищут единственную фигуру, которая могла бы покрыть плоскость такой плиткой. Эта задача известна под названием «проблемы Эйнштейна».
Читать дальше →

Как на самом деле работает Async/Await в C# (Часть 1)

Level of difficultyHard
Reading time12 min
Views66K

Несколько недель назад в блоге «.NET Blog» появилась статья «Что такое .NET, и почему вы должны выбрать его?». В нем был представлен высокоуровневый обзор платформы, кратко описаны различные компоненты и архитектурные решения, а также обещаны более подробные посты по затронутым темам. Этот пост является первым таким продолжением, в котором подробно рассматривается история создания, архитектурные решения и детали реализации async/await в C# и .NET.

Читать далее

Торговые роботы на Python

Reading time5 min
Views55K

Привет! На связи команда Тинькофф Инвестиций. В этой статье рассказываем про Tinkoff Invest API, объясняем, как написать робота на Python, и разбираем плюсы этого языка в сравнении с другими. А вместо заключения ловите гайд по созданию робота на примере работы победителя нашего конкурса Tinkoff Invest Robot Contest.

Читать далее

Information

Rating
5,008-th
Location
Россия
Registered
Activity

Specialization

Specialist
C#
ASP.NET MVC
Microsoft SQL Server
Entity Framework
SQL
.NET
OOP
PostgreSQL
REST
RabbitMQ