Pull to refresh
12
0
Александр Протасеня @Bartez

Senior Full Stack .NET Developer (C#)

Send message

Привычка быть SOLIDным разработчиком

Level of difficultyMedium
Reading time20 min
Views2K

Привет, Хабр! Меня зовут Грант, я уже 5 лет занимаюсь backend-разработкой в SimbirSoft, а с 2021 года возглавляю Backend-отдел компании в Краснодаре. В последние несколько лет неоднократно замечаю, что на входном интервью соискатели часто путают принципы разработки. Поэтому в этой статье решил разобрать, как проще их понимать, какие связи между ними прослеживаются, стоит ли учить все или что-то можно пропустить. А еще попробую раскрыть некоторые особенности, какие секреты скрывают популярные принципы разработки.

Погрузиться 👀
Total votes 8: ↑5 and ↓3+2
Comments2

Медленная сборка кода с .NET Roslyn: как найти и устранить причину

Level of difficultyHard
Reading time12 min
Views3.2K

.NET разработчики знают, что такое ждать сборки кода. Работать при этом невозможно: пока не увидишь, как обновится приложение, — не перейдешь к следующему шагу. А переключиться на другую задачу за это время не успеешь. Получается, если в день переписать код 5 раз, можно потерять полчаса при сборке, а то и больше.

Теперь на примере платформы автоматизации маркетинга Mindbox. Основное программное решение — это монолит на C#: несколько миллионов строк, 50 проектов, над которыми одновременно работают десятки команд. Даже сэкономленная при сборке минута выливается в кучу продуктивных человеко-часов. Поэтому, когда речь зашла о переходе всей компании на MacBook в будущем, мы решили выяснить, как это отразится на производительности.

Читать далее
Total votes 32: ↑35 and ↓-3+38
Comments25

Welcome book: что мы включили в документ

Level of difficultyEasy
Reading time3 min
Views433

Недавно мы писали на сайте о том, как проходит процесс адаптации в нашей компании. В одном из пунктов этого процесса есть знакомство с Welcome book.  Хотим рассказать, зачем нужен этот документ и что мы включили в него. 

Welcome book - это документ, представленный чаще всего в электронном виде, в котором собрана вся информация, которая понадобится новому сотруднику в начале своего пути в компании. Он отвечает на важные вопросы, которые могут появиться у новичка. Качественный Welcome book помогает быстрее влиться в рабочий процесс, стать полноценным участником команды и почувствовать свою ценность для компании.

Скорее всего, в большинстве компаний этот документ имеет примерно одно и то же наполнение. Мы расскажем, какие блоки входят именно в наш  Welcome book.

Читать далее
Total votes 5: ↑3 and ↓2+1
Comments0

5 полезных JS-библиотек для анимации, которые могут пригодиться в работе

Reading time4 min
Views2.4K

Привет, Хабр! Сегодня поговорим о фронтенде, а точнее, о способах улучшения веб-приложения. В этом могут помочь JS-библиотеки для анимации. В подборке их пять, но если вы знаете и другие, причём те, что применяете в работе сами, расскажите о них в комментариях.

Читать далее
Total votes 4: ↑5 and ↓-1+6
Comments3

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

Level of difficultyMedium
Reading time14 min
Views2.7K

Микросервисы и контейнеры для их развертывания сейчас являются стандартом в крупных компаниях. Для разработчиков и DevOps-инженеров это удобный подход: он дает больше возможностей и ускоряет процессы.

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

Меня зовут Саша Рахманный, я разработчик в команде информационной безопасности в Lamoda Tech. В этой статье я сравню разные базовые образы для .NET с точки зрения безопасности их компонентов и быстродействия. 

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

Читать далее
Total votes 31: ↑32.5 and ↓-1.5+34
Comments6

Познание и применение: учимся жизни через World of Warcraft

Reading time6 min
Views4.1K

В юности, с 14 до 17 лет я очень увлекался World of Warcraft [WoW].

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

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

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

RSS отлично себя чувствует

Level of difficultyMedium
Reading time6 min
Views12K


RSS и Atom — простые и понятные форматы для публикации контента. Кто-то считает, что золотое время RSS осталось в прошлом, но это не так. На самом деле этап хайпа остался в прошлом, а сейчас синдикация вышла на плато продуктивного использования в своих нишах. Например, подкасты (MP3 по RSS) живут и процветают.

Но корпорациям использовать RSS не выгодно. Например, компания Google удалила RSS откуда могла и позакрывала сервисы. Но это не помогло. RSS отлично себя чувствует. Хабр и многие другие сайты получают существенную часть трафика со своих фидов.
Читать дальше →
Total votes 78: ↑90 and ↓-12+102
Comments76

Desert Racer: Первая игра, разработанная исключительно на CSS с возможностью управления свайпом

Level of difficultyMedium
Reading time11 min
Views9.5K

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

Идеален ли CSS для этой задачи? На данный момент, возможно, нет. Однако CSS начинает заменять некоторые функции обработчиков событий JavaScript. Я надеюсь, что эта статья внесет вклад в продвижение к этой цели. В конце концов, как творческому человеку, мне нравится использовать неподходящие инструменты для создания чего-то, что считается невозможным — это вызов, который я не могу игнорировать. У меня было предчувствие, что это должно работать, и оно оправдалось.

Эта статья предложит вам интерактивный и, надеюсь, вдохновляющий опыт. Приятного прочтения! (По крайней мере, вы можете прокрутить вниз, чтобы посмотреть крутые GIF-анимации)

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

Мини-ПК GEEKOM A7: что это за девайс и на что он способен?

Reading time3 min
Views6.3K

Производители электроники каждую неделю выпускают интересные девайсы, включая миниатюрные компьютеры. Об одном из них сегодня и расскажем. Дело в том, что это устройство, способное стать «рабочей лошадкой» как для решения чисто офисных задач, так и для разработки. Базируется оно на процессоре AMD Ryzen 9 7940HS, поддерживает до 64 Гб ОЗУ и 2 Тб SSD. Подробности — традиционно под катом.

Читать далее
Total votes 20: ↑15 and ↓5+10
Comments1

Рассказ о моей системе личной продуктивности (и о софте, который я создал, чтобы её практиковать)

Reading time16 min
Views9.4K

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

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

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

Рассказываю о своем воркфлоу, который объединяет оба эти компонента и о продукте, который для него использую.

Читать далее
Total votes 14: ↑13 and ↓1+12
Comments14

Где продать стартап?

Level of difficultyEasy
Reading time3 min
Views2K

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

Читать далее
Total votes 8: ↑7 and ↓1+6
Comments5

Графические нейросети. Лицензии и правила использования

Level of difficultyEasy
Reading time2 min
Views1.7K

Ровно 10 месяцев назад я выпустила сравнительный обзор нескольких популярных нейронок. В нём затронула тему лицензирования контента. С тех пор многое изменилось, и я решила выкатить обновление инфы по части прав и условий использования сервисов:

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

«Вояджер-1» всё же может ожить: что происходит с наиболее удалённым от Земли космическим зондом?

Reading time4 min
Views7.8K

С конца 2023 года у «Вояджера-1» очень серьёзные проблемы. Он до сих пор отправляет сигналы на Землю, но это какая-то цифровая бессмыслица вместо нормальной телеметрии. Продолжительное время представители NASA говорили о том, что связь с зондом, возможно, потеряна навсегда, но теперь появилась небольшая надежда. Подробности — под катом.

Читать далее
Total votes 27: ↑24 and ↓3+21
Comments18

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

Reading time54 min
Views14K

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

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

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

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

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

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

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

Читать далее
Total votes 39: ↑24 and ↓15+9
Comments28

Самый простой и подробный гайд по конкурентным коллекциям в C#

Level of difficultyEasy
Reading time18 min
Views16K


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

Конкурентные коллекции в C# предлагают встроенные механизмы для обработки конкурентного доступа, что делает их мощным инструментом в программировании с конкурентным доступом.

В рамках статьи я попробую объяснить System.Collections.Concurrent настолько, насколько это возможно, включая примеры и сценарии использования. Также будет затронута тема сравнения с неизменяемыми (immutable) и замороженными (frozen) коллекциями.
Читать дальше →
Total votes 64: ↑62 and ↓2+60
Comments26

Как я чтение всего контента на RSS переводил

Level of difficultyEasy
Reading time13 min
Views5.5K

TL;DR В статье рассказывается о том, как мне удалось перевести чтение лент в ВКонтакте**, Telegram, Facebook*, Instagram**, Reddit и почтовых рассылок в единый сервис InoReader. Причем почти без написания своих велосипедов.

Подписаться на RSS
Total votes 41: ↑40.5 and ↓0.5+40
Comments32

CSS для печати на бумаге

Reading time10 min
Views9.2K

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

В этой статье я объясню основы CSS, управляющие внешним видом веб-страниц при печати, и дам пару советов, которые могут вам помочь в этом.

Читать далее
Total votes 30: ↑29 and ↓1+28
Comments17

Как увеличить шрифт так, чтобы контейнер не поехал? Адаптация UI/UX для людей с проблемами зрения в XML и Compose

Level of difficultyEasy
Reading time12 min
Views1.8K

Я — Денис, Android-разработчик в «Лайв Тайпинге». В этой статье я продолжу рассказывать о современных подходах разработки адаптивного UI /UX для людей с ограниченными возможностями, разных национальностей и особенностями развития. В этой статьей я расскажу про разработку интерфейсов в XML и Compose для варьирующего размера шрифта. А также покажу почему атрибут contentDescription так важен.

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

Система иконок на React

Level of difficultyEasy
Reading time3 min
Views6.6K

Очень часто при разработке React-приложения нам приходится работать с большим количеством иконок в проекте. Наверное, каждый разработчик стремится максимально упростить и автоматизировать подобные рутинные задачи. Есть несколько способов работы с иконками в веб-приложениях, но я хочу поделиться с вами именно тем, который кажется мне наиболее удобным. Данная статья поможет frontend-разработчику сделать работу с иконками комфортнее, используя их в качестве React-компонентов.

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

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity