Pull to refresh
0
0
Ivan Terentev @MuF_AsA

C#/Php Developer

Send message

Как написать свой клиент для YouTube, не привлекая внимания санитаров

Level of difficultyEasy
Reading time3 min
Views9.7K

Привет, Хабр! Когда‑то давно я наткнулся на ролик, где парень писал консольный клиент для YouTube. Идея была просто потрясающей!

Написать свой минималистичный и быстрый клиент, который не будет надоедать
лентами рекомендаций, рекламой, комментариями и т. д. Но вот беда, автор, не найдя возможности использовать YouTube API, решил спарсить одну из фронтенд обёрток над YouTube.

Стоит ли говорить о том, что такое решение сильно теряет в производительности и абсолютно нежизнеспособно на какой‑либо длительный период времени?

Читать далее
Total votes 13: ↑13 and ↓0+17
Comments46

Как Яндекс тонет под Комбайном ботов

Level of difficultyMedium
Reading time3 min
Views23K

Кто генерирует клики ботов? Зачем генерируют прямые заходы и ложные заявки? Каким софтом? Сколько таких кликов во всём объеме трафика? Как эти клики отделить? Обо всем этом, и даже больше, пойдет речь в сегодняшней статье.

Я, Григорий Мельников, автор онлайн сервиса по выявлению ботов KillBot, продолжаю цикл из 5-ти статей посвященных качеству трафика в РСЯ. Это вторая статья из цикла. Первую можно прочитать здесь: Деградация трафика в РСЯ: с каждым годом всё хуже и хуже.

Читать далее
Total votes 36: ↑26 and ↓10+22
Comments39

Что учесть если используешь SignalR и захочешь масштабировать .Net-приложение?

Level of difficultyEasy
Reading time4 min
Views3.3K

Все мы любим «магию», которую дает нам такой инструмент как SignalR и с удовольствием внедряем это в проекты.

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

Однако и тут есть пара подводных камней, с которым я с командой столкнулся на продакшне...

Читать далее
Total votes 10: ↑9 and ↓1+13
Comments13

Как потреблять API с ограничением по RPS в .NET приложениях

Level of difficultyEasy
Reading time11 min
Views7.9K


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

Интернет яростно сопротивлялся предоставить мне инструкцию к написанию такого кода, закидывая туториалами по настройке ограничения RPS на сервере, а не клиенте.

Но теперь на Хабре есть эта статья, которая научит отправлять запросы из HttpClient так, чтобы не получать 429 Too Many Requests.
Читать дальше →
Total votes 44: ↑43 and ↓1+62
Comments10

Новый Monq 8.0 – российский all-in-one мониторинг на low и no-code автоматизации: обзор возможностей и «невозможностей»

Reading time14 min
Views10K

Привет, Хабр! 

Последние несколько лет мы активно строили зонтичный мониторинг и здорово в этом преуспели. Теперь у нас новая задача – построить лучший комплексный мониторинг на рынке РФ. С версией 8.0 Monq становится all-in-one мониторингом, который покроет максимум мониторинговых задач в крупных компаниях. Это самый крупный релиз за последнее время. Рассказываем, какими теперь возможностями обладает платформа.

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

Читать далее
Total votes 16: ↑14 and ↓2+15
Comments29

На каких бесплатных инструментах строить Observability и зонтичный мониторинг: ELK vs Graylog vs Grafana Loki vs Monq

Reading time15 min
Views37K

Сами по себе логи, трейсы, метрики - это очень узкие артефакты состояния нашего объекта наблюдения и обслуживания. Для понимания общей картины нужен взгляд сверху, сбор всех важных сигналов в одну систему и работа с большими данными в ней. Зонтичный подход близок по своим целям к RED и Golden Signals, но по своей сути является противоположным по принципу работы с данными. В Golden Signals мы отслеживаем Latency, Traffic, Errors отдельных сервисов и по ним можем быстро, но очень поверхностно определить их состояние. В случае зонтичного мониторинга или AIOps мы собираем данные о всех логах, событиях систем мониторинга метрик и трейсов, далее выстраиваем там топологию сервиса и определяем алгоритмически состояние здоровья, основываясь на сотнях и тысячах событий, метрик и трейсов. И два подхода, кстати, друг друга не исключают. В этой статье я постараюсь сравнить четыре бесплатных инструмента, которые могли бы дать такую зонтичную картину: ELK, Graylog, Grafana Loki и Monq.

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments7

Как тимлиду оценить «КПД разработки». 4 работающих способа — без хрустального шара и гадания на кофейной гуще

Level of difficultyEasy
Reading time6 min
Views4.6K

Привет, Хабр! Я Аня Анциферова, продакт «Цифрового вагона». Я уже рассказывала о том, зачем ПГК пошли в разработку и какие продукты мы делаем. Несмотря на то, что сейчас у ПГК существует «дочка» — ПГК Диджитал, и там трудится порядка 400 человек, мы — не ИТ-гигант. А это значит, что каждый проект, за который мы беремся, и даже каждую фичу, которую дорабатываем, мы должны оценить на предмет эффективности. И доказать, почему разработка оправдана и целесообразна. Сегодня расскажу о том, как такую базовую оценку может провести тимлид.

Читать далее
Total votes 10: ↑8 and ↓2+12
Comments0

Автоматизированная торговля акциями с использованием глубокого обучения с подкреплением

Level of difficultyMedium
Reading time7 min
Views11K

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

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

Читать далее
Total votes 18: ↑15 and ↓3+17
Comments12

Что такое semantic-release и как с ним работать

Level of difficultyMedium
Reading time7 min
Views3.3K

Привет! Я — Алексей Бондаренко, работаю в команде Платформа Банки.ру. Сегодня хочу рассказать о semantic-release и его практическом применении на примере упрощения разработки и внедрения библиотеки в проект. 

Читать далее
Total votes 13: ↑11 and ↓2+15
Comments5

Правда ли, что в Европе везде отсталые сервисы, медленные платежи и плохие онлайн-услуги?

Level of difficultyEasy
Reading time36 min
Views141K

На Хабре неоднократно в комментариях звучало мнение, что Россия впереди планеты всей по онлайн‑сервисам. Мол, у нас и госуслуги, и финтех, и такси, и доставки — все на высочайшем уровне, а в остальных странах, а особенно в отсталой Европе бедные бюргеры до сих пор стоят в многочасовых очередях, заполняют вручную тонны бумажек и ждут в очередях на кассах чтобы сделать банковский перевод, а курьер не привезет им ночью смузи в течении получаса после заказа. Давайте разбираться, так это или нет.

Читать далее
Total votes 246: ↑208 and ↓38+209
Comments1131

Как прорешать тысячу задач на Leetcode за триста дней

Reading time4 min
Views26K
Привет, меня зовут Мэнси Эгэрвэл, я контент-менеджер в компании Favtutor. Недавно я добралась до отметки в тысячу решенных задач на Leetcode, и подумала, что хорошо бы поделиться своим опытом с другими.

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



Однако, если взглянуть на статистику за 2022 год, то там не обнаружится почти ничего. Как можно видеть, произошли серьезные перемены!



Ниже вы найдете несколько уроков, которые я вынесла для себя, и ошибок, которых следует избегать, чтобы не тратить зря время и силы.
Читать дальше →
Total votes 14: ↑11 and ↓3+13
Comments15

Как правильно замерить скорость работы кода в .NET

Reading time5 min
Views6.7K

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

Читать далее
Total votes 15: ↑12 and ↓3+10
Comments2

Делаем код-ревью правильно

Level of difficultyMedium
Reading time12 min
Views21K

В начале своей карьеры я как-то работал над одним заказом, создавая платформу сентимент-анализа для социальных сетей. В то время Twitter ещё был Twitter’ом. Наша команда состояла из семи человек, среди которых я был джуниором. Мы были молоды и полны энтузиазма. Наш девиз можно было описать как: «Мы гибкие, быстрые и всё ломаем!». Да, мы действительно гордились своей скоростью. Код-ревью? Я вас умоляю. Мы считали эту практику бюрократическим пережитком корпоративного мира.

И что вы думаете? Через несколько месяцев наша база кода стала подобна минному полю. Причём баги нас волновали меньше всего, хотя их была уйма. Реальная проблема заключалась в том, что никто не мог понять код, написанный другими. У нас во многих местах дублировалась логика, и в модулях использовались разные стили кода. Всё было очень печально.

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

Итак, в двух словах: если вы не проводите код-ревью, или делаете их «для галочки», то обрекаете себя на боль, пусть не сразу, но в конечном итоге однозначно. Это можно сравнить с возведением дома на фундаменте из песка. Какое-то время он, может, и простоит, но явно недолго. А в мире стартапов второго шанса у вас может уже не быть.
Читать дальше →
Total votes 50: ↑48 and ↓2+70
Comments26

Как я уронил прод на полтора часа (и при чем тут soft delete и partial index)

Reading time7 min
Views39K

В жизни любого разработчика наступает момент, когда он роняет прод. Представьте: полдень, в Skyeng час пик, тысячи запланированных онлайн-уроков, а наша платформа лежит… 

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

Читать далее
Total votes 146: ↑142 and ↓4+165
Comments174

Шаблонный сервис C#

Reading time5 min
Views5.5K

Всем привет, я разработчик из компании Bimeister и я хочу рассказать о шаблонном C# сервисе, который мы создали, чтобы унифицировать наши приложения и сократить время работы разработчиков над базовой настройкой приложения.

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

Для решения этой задачи Microsoft создала возможность делать свои шаблоны приложений для .net. Он представляет из себя обычный проект на C#, который можно упаковать в nuget пакет.

Перво-наперво необходимо определиться с архитектурой приложения, какой подход, какие паттерны будем использовать. Для вдохновения мы смотрели на пример от Microsoft https://github.com/dotnet/eShop.

Читать далее
Total votes 11: ↑10 and ↓1+10
Comments7

С 500 мс до нуля, или история о том, как я написал Node.js C++ addon и ускорил скидочный сервис в 500 раз

Level of difficultyMedium
Reading time18 min
Views19K

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

Читать далее
Total votes 38: ↑37 and ↓1+42
Comments37

Вы за это заплатите! Цена Чистой Архитектуры. Часть 1

Level of difficultyMedium
Reading time11 min
Views24K

Всем привет, меня зовут Артемий, я работаю старшим Android-разработчиком в команде пользовательского профиля в RuStore. Мой опыт в индустрии уже 8 лет. За это время я успел поработать в разных проектах и компаниях. У меня был опыт работы в проекте, в котором было свыше 300 модулей и больше 60 Android-разработчиков. Такие условия заставляют задуматься о масштабируемости на принципиально ином уровне.

Сегодня я расскажу о способах обеспечения масштабируемости проекта и как этому может навредить неправильное восприятие Чистой Архитектуры (далее — ЧА). Предупреждаю сразу, это лонгрид в двух частях!

Читать далее
Total votes 58: ↑55 and ↓3+58
Comments65

Моя коллекция 50+ вопросов для собеса C#

Reading time54 min
Views19K

Привет, Хабр!

Представляю 50+ вопросов для подготовки к собеседованию C#, грейд — джуниор/мидл.

Вопросы разные: есть сложные/простые, с детальным объяснением и с ответом в пару предложений.
Anyway, должно быть полезно, поскольку я выбрал самые частотные вопросы

Вообще по поводу собеседований на C#/.Net разработчика, на Хабре статей хватает, вот две, где освещаются вопросы с собесов: тут и здесь.
Но в этих статьях не хватает детального разбора вопросов, что я и решил исправить.

Вообще, по моим и не только наблюдениям C# сейчас бурно развивается, в прошлом 2023 году TIOBE даже назвали C# языком года, что придаёт некоторую уверенность в завтрашнем дне для шарписта.

Так что пока кто-то всё ждёт конец света сингулярность (ну же, ещё чуть-чуть), другая часть несмотря ни на что готовится, проходит тернистый путь от тестового задания до оффера и вливается в C#-разработку, с чем я их искренее поздравляю.

В общем, уверен эта статья будет полезна для подготовки, не будем уже тянуть, поехали!

Читать далее
Total votes 35: ↑20 and ↓15+9
Comments30

Нейросети для программистов: уже что-то умеют или еще пока совсем джуны?

Level of difficultyEasy
Reading time8 min
Views10K

Я Григорий Тумаков, CTO в Моризо Диджитал. Эта статья — про то, как мы в компании решили протестировать нейросети для рабочих задач.

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

Disclaimer: это не полноценный обзор, а скорее эксперимент. Не судите строго 🙂

Читать далее
Total votes 9: ↑8 and ↓1+7
Comments11
1
23 ...

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Date of birth
Registered
Activity