Pull to refresh
9
9
Петр Трипольский @tripolskypetr

Frontend разработчик

Send message

Вредоносный код навсегда сохранили в блокчейне

Reading time4 min
Views43K


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

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

История YOLO – самой известной архитектуры компьютерного зрения

Reading time20 min
Views11K

YOLO расшифровывается как You Only Look Once. Это широко известная архитектура компьютерного зрения, которая знаменита в том числе своим огромным количеством версий: первая из них вышла в 2016 году и решала только задачу детекции объектов на изображении, а последняя – одиннадцатая – появилась в сентябре этого года и уже представляет из себя целую фундаментальную модель, которую можно использовать для классификации, трекинга объектов на видео, задач pose estimation и тд. Все это – в реальном времени.

Да, за 8 лет своего существования YOLO стала своеобразным трансформером во вселенной компьютерного зрения: ее любят и используют повсеместно.

Эта статья – полноценная техно-история YOLO. Мы расскажем, что представляет из себя задача детекции, как работала самая первая YOLO и как ее дорабатывали во всех последующих версиях.

Читать далее

Как писать чистый код — советы для разработчиков с примерами

Level of difficultyEasy
Reading time16 min
Views16K

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

Теперь представьте, что вы пишете беспорядочный код – это не менее запутанно, если не хуже!

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

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

Читать далее

Разница между AddTransient, AddScoped и AddSingleton в ASP.NET Core

Reading time5 min
Views75K

Понимание жизненного цикла внедряемых зависимостей в приложениях ASP.Net Core очень важно. Как мы знаем, внедрение зависимостей (DI - Dependency Injection) - это метод достижения слабой связанности между объектами и их коллабораторами, или зависимостями. Чаще всего классы объявляют свои зависимости через конструктор, в рамках реализации принципа явных зависимостей (Explicit Dependencies Principle). Этот подход известен как «constructor injection».

Чтобы реализовать внедрение зависимостей, нам нужно настроить DI-контейнер с классами, которые участвуют во внедрении зависимостей. DI-контейнер должен решать, возвращать ли новый инстанс сервиса или предоставить уже существующий. Мы выполняем это действие с помощью метода ConfigureServices в классе startup.

Читать далее

Что такое Shared UI, как он нам помог и причём тут микросервисы

Reading time4 min
Views15K

Всем привет! Меня зовут Дима, я frontend-разработчик в Альфа-Банке. Сегодня я расскажу про Shared UI, что это такое и как мы пришли к созданию такого сервиса в интернет-банке, что это такое, как мы вообще придумали такой сервис.

Читать далее

How to Create a Half Circle Progress Bar

Reading time5 min
Views3.4K

I bet you all had situations when a designer made a cool-looking UI and you just thought “cool, but how to implement this”. The same happened to me when a saw this progress bar in Figma.

Good thing is that in Flutter it’s pretty easy to create custom views and they will look awesome on every platform, but sometimes you just need to remember all these things that you have learned in geometric, and math classes. Yeah, we don’t always change the button’s color as someone thinks :)

Read more

Универсальная функция JS по определению хитбоксов у HTML блоков

Level of difficultyMedium
Reading time6 min
Views3.7K

HitBox — это чаще всего невидимая область или группа областей, которая помогает обнаруживать коснулся ли объект другого объекта, у которого тоже есть свой хитбокс.

В HTML страницах изначально нет понятие хитбокса у блоков, поэтому в этом посте мы сами получим и обработаем их с помощью JS.

Читать далее

Под капотом у Mobx. Пишем свою реактивную библиотеку с нуля

Reading time23 min
Views17K

Первое мое знакомство с Mobx началось с удивления. Я не понимал всю магию библиотеки и задавал себе вопрос: “А как это возможно?”. Кажется, в ней используются какие-то подкапотные возможности JS или Mobx вообще написан на другом языке. 

И вот, потратив 3 месяца в исходниках, я развеял для себя магию. Mobx все таки написан на JS и даже имеет множественные ограничения, которые нужно соблюдать, чтобы ваш браузер не взорвался.

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

Читать далее

Зачем писать свой React Data Grid в 2019

Reading time9 min
Views12K

Привет, Хабр! Я участвую в разработке ECM системы. И в небольшом цикле статей хочу поделится нашим опытом и историей разработки своего React Data Grid (далее просто грид), а именно:


  • почему мы отказались от готовых компонент
  • с какими проблемами и задачами мы столкнули при разработке своего грида
  • какой профит дает разработка своего грида

Предыстория


У нашей системы есть веб-приложение, в котором пользователи работают со списками документов, результатами поисков, справочниками. Причем, списки могут быть как маленькие (10 сотрудников), так и очень большие (50 000 контрагентов). Для отображения этих списков мы разработали свой грид:


image

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

Information

Rating
673-rd
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Frontend Developer
From 3,000 $
JavaScript
TypeScript
React
Angular
NestJS
MobX
Adaptive layout
CSS-IN-JS
SOLID
Qt