Pull to refresh
4
0
Павел @AxeFizik

.NET developer

Send message

Оптимизация сборки мусора в высоконагруженном .NET сервисе

Reading time16 min
Views30K
Ежедневно в сервисе Pyrus работают десятки тысяч сотрудников из нескольких тысяч организаций по всему миру. Отзывчивость сервиса (скорость обработки запросов) мы считаем важным конкурентным преимуществом, так как она напрямую влияет на впечатление пользователей. Ключевой метрикой для нас является «процент медленных запросов». Изучая ее поведение, мы заметили, что раз в минуту на серверах приложений возникают паузы длиной около 1000 мс. В эти промежутки сервер не отвечает и возникает очередь из нескольких десятков запросов. О поиске причин и устранении узких мест, вызванных сборкой мусора в приложении, пойдет речь в этой статье.


Читать дальше →
Total votes 54: ↑54 and ↓0+54
Comments28

Опционы в стартапах: гайд для сотрудника

Level of difficultyEasy
Reading time18 min
Views3.5K

Представьте, что стартап ранней стадии предлагает вам 1,500 опционов. Сколько это в деньгах?

Как вообще работают опционы?

Я решил разобраться и поделиться с вами.

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

Читать далее
Total votes 16: ↑15 and ↓1+18
Comments1

Серьги из матрицы светодиодов

Reading time7 min
Views10K

Изначально я представлял LED Industrial Piercing [перевод на Хабре] как проект, специально рассчитанный на использование светодиодов 0201. В конечном итоге они оказались совершенно не нужны. Светодиоды 0201 слишком малы! Очевидно, я должен был двинуться глубже, поэтому целью нового проекта стало размещение как можно большего их количества на поверхности серёжки-гвоздика.

Читать далее
Total votes 68: ↑67 and ↓1+93
Comments21

Что почитать игровому программисту?

Level of difficultyEasy
Reading time6 min
Views27K

Объём специфичных знаний, которые требуются рядовому программисту игр, даже если он только начал свою карьеру, вызывает у меня «лёгкую» тоску. Это одна из причин, почему большая часть людей, которые «горят делать игры», отсеивается на этапе технических собеседований (обычно их больше одного). Это нормально и грустно. Добавьте сюда, что нефундаментальные знания, вроде инструментов, библиотек и движков, приходится обновлять где‑то раз в 5–7 лет. Не вижу тут, что игрострой сильно отличается от других областей разработки. Если бы лет 15 назад «добрый я» скинул на почту список книг, которые придется прочитать и осмыслить, армия собранных граблей не была бы столь большой и разнообразной, и без ручек половинной длины. Осторожно, в конце статьи будет супердлинная картинка (взята с github отсюда, с разрешения автора).

У программиста нет цели, только путь.
Total votes 60: ↑60 and ↓0+60
Comments36

Lopaka: Редактор графики для Ардуино, ESP32, FlipperZero

Level of difficultyMedium
Reading time6 min
Views6.4K

Привет, хабр! Хочу рассказать как я делал свой пет-прожект и чем всё закончилось.

Лопака — это редактор пиксельной графики и интерфейсов для проектов на Ардуине, ESP32 или STM. Мне было больно видеть как страдают эмбедед разработчики рисуя свои интерфейсы, и я решил упросить всем жизнь.

Читать далее
Total votes 37: ↑36 and ↓1+46
Comments12

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

Level of difficultyHard
Reading time13 min
Views12K

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

Disclaimer: Я не являюсь профессиональным переводчиком, перевод подготовлен скорее для себя и коллег. Я буду благодарен за любые исправления и помощь в переводе, статья очень интересная давайте сделаем её доступной на русском языке.

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

Почему любимая работа не даст вам того, чего вы на самом деле от нее ждете

Level of difficultyEasy
Reading time6 min
Views31K

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

Читать далее
Total votes 51: ↑33 and ↓18+24
Comments125

Как подключить платежную систему с Payments к Telegram

Reading time6 min
Views36K

Telegram-боты позволяют решать самые разные задачи. С помощью них можно автоматизировать рабочие процессы. В статье показываем, как разработать бота для приема платежей и развернуть его на облачном сервере.
Читать дальше →
Total votes 41: ↑40 and ↓1+51
Comments8

Чат в терминале на Rust

Level of difficultyEasy
Reading time36 min
Views6.1K

Всем привет! Эта статья — туториал по написанию небольшого чат сервиса (серверное и клиентское приложения) на Rust, используя функционал TCP сокетов из стандартной библиотеки Rust. Сам чат для пользователя будет выглядеть, как приложение в терминале. Полный код приложений есть в гитхабе.

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

Пишем приложение на Mi Band 7 с сервисной частью

Level of difficultyMedium
Reading time6 min
Views33K

Недавно я купил себе Mi band 7, по началу хотел купить 6-ую версию, пока не узнал, что на 7-ой обновилась операционная система и теперь она поддерживает установку приложений. Да, официально они об этом не заявили, но умельцы уже сделали множество приложений. Они ставят их как циферблаты, и это вполне обычные приложения. Но все эти приложения работают только локально на самом MiBand 7, не имея возможности взаимодействовать ни с телефоном, ни с интернетом. Я углубился в байткод приложения и документации по ZeppOS чтобы найти способ создавать приложения, взаимодействующие с интернетом, в этой статье я опишу свой путь. В итоге у меня получилось сделать запрос в интернет с часов и даже запустить мост для отладки приложений. 

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

Как получить онлайн магистратуру по CS от американского университета по цене кофе

Reading time9 min
Views36K


Поговорим о: 1) том как я попал в магистратуру по Computer Science от Georgia Tech пока жил и работал в Воронеже, 2) требованиях к поступлению, 3) стоимости, 4) моих впечатлениях от курсов, которые мне читают, 5) почему я все еще продолжаю учиться после того, как начал работать в FAANG и переехал в UK.

Читать дальше →
Total votes 41: ↑40 and ↓1+50
Comments21

Погодный информер на цветном e-paper дисплее

Reading time9 min
Views9.1K

Года три назад я купил на Ali цветной e- paper дисплей «Waveshare 4.2 inch e-paper module», руководствуясь в основном желанием попробовать новую технологию своими руками.Дисплей может отображать 3 цвета (белый, черный, красный) с разрешением 400 на 300 точек. Интерфейс подключения – SPI. Всего требуется подключить пять информационных сигналов: DIN, CLK, CS, BUSY, RESET.Плюс естественно GND и питание.

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

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

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

Конечно я знаю, что можно ровно то же самое посмотреть на экране смартфона :))

Дисплей был куплен, присоединен к ESP8266 и опробован в работе с помощью программы Loader.ino, которую предлагает Waveshare. При запуске esp8266 создает сайт, зайдя на который можно вывести изображение на дисплей.

Оказалось, что картинки выводятся весьма убого… Т.е. дисплей пригоден для вывода текстовой информации, но и не более того.

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

Основы Unity + Mirror

Reading time16 min
Views49K

UPD. Актуализировал на момент 26.11.2022.

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

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

«Вам здесь больше не рады...» Или что делать, если вы думаете, что работаете здесь, а начальник думает, что уже нет

Reading time7 min
Views74K

Представьте, что однажды Вы приходите на любимую работу, но начальник встречает Вас нервно, напряжен как струна, и, вызвав Вас к себе, объявляет Вам, что Вы уволены. Вам это объявление портит настроение, опускает самолюбие ниже плинтуса, Вы теряетесь, не знаете, как поступить, что говорить, и о чем начинать беспокоиться в первую очередь - чем оплачивать жилье, квартиру, ипотеку или отдавать долг Сашке и т. п. Попутно Вам начальник/кадровик подсовывает в руки пустой лист бумаги и ручку и говорит написать заявление. Туман в голове, дрожащими руками Вы начинаете выводить на белоснежном листе «генеральному директору ООО «Компания» Иванову И. И., заявление» ниже «прошу уволить меня по собственному желан…» СТОП. Какая-то ерунда получается. Может сказать чудаку начальнику, что у меня желания-то увольняться совсем нет, и зачем тогда писать это заявление, если я уже уволен? Если я уволен – отдайте трудовую книжку, зарплату и отпустите восвояси. Непонятно…

Поделившись своими сомнениями с кадровиком, Вы замечаете, что Инспектор по кадрам багровеет и рассказывает, что Ваши коллеги-соратники уже написали заявление и советует Вам сделать то же самое - это в Ваших же интересах – «иначеуволимпостатьеиотправимсволчьимбилетом».

Вам становится еще страшнее от ее уверенности, но у Вас уже просыпается любопытство, подбадриваемое логикой и верой в справедливость - «За что уволите, я ж ничего не нарушал(а)?». Инспектор, не ожидая такого поворота, багровеет еще больше и выбегает из кабинета. Немного погодя, у Вас уже разговор с начальником отдела кадров и Вашим начальником. Они участливо с Вами беседуют, но припоминают Вам Ваши старые грешки: опоздания, болезни без бюллетеня пусть даже с разрешения начальника (этожепрогул!) и убедительно описывают Вашу низкую квалификацию, не выполнение Вами поручений руководителя, невыполнение плана продаж/обзвонов и т. п. и повторно убеждают Вас, что заявление – лучший вариант. Вы послушно отправляетесь писать заявление на увольнение. Вроде все логично и ситуация знакома многим, но есть три момента, о которых обычно забываем(или не знаем) при оценке того, что Вам говорят. С тех пор, как у нас в стране отменили крепостное право многое изменилось и государство больше защищает работников, чем работодателей и при любых спорах действует презумпция невиновности работника. Именно работодатель обязан оправдываться и доказывать, что он все корректно сделал и оформил. Допустил малейшее нарушение - отмена увольнение и оплата всего времени с момента незаконного увольнения.

Читать далее
Total votes 123: ↑117 and ↓6+155
Comments148

Пишем ОС на Rust. Настройка среды. Бинарник для «голого» железа

Reading time7 min
Views17K

Настройка среды. "Голый" бинарник, или Исполняемый файл без main()


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


Оригинал блога разрабатывается на GitHub. Замечания к оригиналу оставляйте на странице Issues репозитория выше, а к переводу — в личке, комментариях или тут. Код, написанный в этой статье, содержится в ветке post-01.

Читать дальше →
Total votes 38: ↑36 and ↓2+47
Comments14

Пространственная осведомленность: что могут очки Hololens?

Reading time5 min
Views3.5K

Сегодня мы совершим прыжок в область Spatial Awareness с помощью очков Hololens от Microsoft и поговорим о развитии Windows Mixed Reality (WMR), а также о том, чего стоит ожидать от второго поколения.


Статья рассчитана на тех, кто занимается разработкой под Hololens с использованием среды Unity и Mixed Reality Toolkit (MRTK).


На всякий случай оставим здесь руководство по UWP от Microsoft.

Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments2

2. Математическое описание систем автоматического управления

Reading time10 min
Views37K

Публикую первую часть второй главы лекций по теории автоматического управления.
В данной статье рассматриваются:


2.1. Получение уравнений динамики системы. Статическая характеристика. Уравнение динамики САУ (САР) в отклонениях
2.2. Линеаризация уравнений динамики САУ (САР)
2.3. Классический способ решения уравнений динамики


Лекции по курсу «Управление Техническими Системами», читает Козлов Олег Степанович на кафедре «Ядерные реакторы и энергетические установки», факультета «Энергомашиностроения» МГТУ им. Н.Э. Баумана. За что ему огромная благодарность.


Данные лекции только готовятся к публикации в виде книги, а поскольку здесь есть специалисты по ТАУ, студенты и просто интересующиеся предметом, то любая критика приветствуется.


Первая часть: «Введение в теорию автоматического управления. Основные понятия теории управления техническим системами»



Читать дальше →
Total votes 6: ↑3 and ↓3+3
Comments9

Как научиться разработке на Python: новый видеокурс Яндекса

Reading time6 min
Views247K
Осенью прошлого года в московском офисе Яндекса прошла первая Школа бэкенд-разработки. Мы сняли занятия на видео и сегодня рады поделиться на Хабре полным видеокурсом Школы. Он позволит вам научиться промышленной разработке на Python. Авторы лекций — опытные разработчики в Яндексе. К каждому видео приложены ссылки на примеры и полезные материалы.

Для изучения курса нужно знать основы Python и понимать, как приложения развёртываются на серверах. Мы ждём, что вы умеете делать запросы к базам данных и знаете, как создаются веб‑приложения, — хотя бы на начальном уровне.
Читать дальше →
Total votes 70: ↑70 and ↓0+70
Comments41
1
23 ...

Information

Rating
Does not participate
Registered
Activity