Как стать автором
Обновить
-7
0
Алексей @Alekseyz

Пользователь

Отправить сообщение

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

Уровень сложностиСложный
Время на прочтение7 мин
Количество просмотров16K

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

Читать далее
Всего голосов 16: ↑15 и ↓1+16
Комментарии8

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

Уровень сложностиСложный
Время на прочтение12 мин
Количество просмотров59K

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

Читать далее
Всего голосов 17: ↑16 и ↓1+16
Комментарии8

А работают ли игровые механики?

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров8.5K

Этот вопрос мне задают постоянно. 

Привет, Хабр! Меня зовут Тагир Хайрутдинов, я старший аналитик данных в Альфа-Банке. За прошлый год я посетил примерно 10 профильных конференций и прочих мероприятий. Когда на мероприятиях я рассказываю людям о том, что такое геймификация и какое влияние она оказывает на бизнес на примере проектов Альфы, то самый частый вопрос от маркетологов, овнеров, аналитиков и прочих — «А это реально работает?»

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

Читать далее
Всего голосов 25: ↑22 и ↓3+20
Комментарии16

Как устроено индексирование баз данных

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров102K

Индексирование баз данных — это техника, повышающая скорость и эффективность запросов к базе данных. Она создаёт отдельную структуру данных, сопоставляющую значения в одном или нескольких столбцах таблицы с соответствующими местоположениями на физическом накопителе, что позволяет базе данных быстро находить строки по конкретному запросу без необходимости сканирования всей таблицы. Применяются разные типы индексов, однако они занимают пространство и должны обновляться при изменении данных. Важно тщательно продумывать стратегию индексирования базы данных и регулярно её оптимизировать.
Читать дальше →
Всего голосов 53: ↑51 и ↓2+64
Комментарии9

Когда использовать микросервисы: отвечают Сэм Ньюмен и Мартин Фаулер

Время на прочтение5 мин
Количество просмотров11K
image

Что бывает, когда два легендарных теоретика микросервисов, Мартин Фаулер и Сэм Ньюмен, встречаются, чтобы побеседовать о стратегии разработки под такую парадигму? За минимальное время можно составить впечатление о самых свежих представлениях на тему микросервисов. Ниже мы обсудим взгляды на разработку приложений, которые изложил Сэм Ньюмен, когда Мартин Фаулер задал, казалось бы, простой вопрос: «Когда следует использовать микросервисы?»
Читать дальше →
Всего голосов 16: ↑15 и ↓1+22
Комментарии8

Планирование потоков в Windows. Часть 1 из 4

Время на прочтение11 мин
Количество просмотров27K

Ниже представлена не простая расшифровка доклада с семинара CLRium, а переработанная версия для книги .NET Platform Architecture. Той её части, что относится к потокам.



Потоки и планирование потоков


Что такое поток? Давайте дадим краткое определение. По своей сути поток это:


  • Средство параллельного относительно других потоков исполнения кода;
  • Имеющего общий доступ ко всем ресурсам процесса.

Очень часто часто слышишь такое мнение, что потоки в .NET — они какие-то абсолютно свои. И наши .NET потоки являются чем-то более облегчённым чем есть в Windows. Но на самом деле потоки в .NET являются самыми обычными потоками Windows (хоть Windows thread id и скрыто так, что сложно достать). И если Вас удивляет, почему я буду рассказывать не-.NET вещи в хабе .NET, скажу вам так: если нет понимания этого уровня, можно забыть о хорошем понимании того, как и почему именно так работает код. Почему мы должны ставить volatile, использовать Interlocked и SpinWait. Дальше обычного lock дело не уйдёт. И очень даже зря.


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


Задача процессора — просто исполнять код. Поэтому с точки зрения процессора есть только один поток: последовательное исполнение команд. А задача операционной системы каким-либо образом менять поток т.о. чтобы эмулировать несколько потоков.

Всего голосов 19: ↑19 и ↓0+19
Комментарии20

Особенности строк в .NET

Время на прочтение10 мин
Количество просмотров107K
Строковый тип данных является одним из самых важных в любом языке программировании. Вряд ли можно написать полезную программу не задействовав этот тип данных. При этом многие разработчики не знают некоторых нюансов связанных с этим типом. Поэтому давайте рассмотрим кое-какие особенности этого типа в .NET.

Итак, начнем с представления строк в памяти


В.NET строки располагаются согласно правилу BSTR (Basic string or binary string). Данный способ представления строковых данных используется в COM (слово basic от языка программирования VisualBasic, в котором он первоначально использовался). Как известно в C/C++ для представления строк используется PWSZ, что расшифровывается как Pointer to Wide-character String, Zero-terminated. При таком расположении в памяти в конце строки находится null-терминированный символ, по которому мы можем определить конец строки. Длина строки в PWSZ ограничена лишь объемом свободной памяти.
Читать дальше →
Всего голосов 83: ↑78 и ↓5+73
Комментарии34

Типовое использование RabbitMQ

Время на прочтение4 мин
Количество просмотров38K

Алексей Барабанов, IT-директор «Хлебница» и спикер курса «RabbitMQ для админов и разработчиков», подготовил конспект о типовых архитектурных паттернах RabbitMQ. Из него вы узнаете, как настроить пайплайны обработки и реализовать очереди повторных попыток (в том числе, через механизм dead letter exchange). 

Читать далее
Всего голосов 35: ↑33 и ↓2+37
Комментарии4

С чего айтишнику можно начать 2023 год?

Время на прочтение5 мин
Количество просмотров17K

Отдохните после 2022 года! На этом можно завершить статью.

Но если вы из тех людей, кому хочется заняться чем-то и в праздники, то эта статья для вас. В статье я написал, чем бы сам хотел заняться до выхода к рабочей рутине.

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

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

Читать далее
Всего голосов 9: ↑6 и ↓3+7
Комментарии21

Документирование ASP .Net Core Web API с помощью OpenAPI/Swagger. Библиотека Swashbuckle

Время на прочтение12 мин
Количество просмотров27K

Привет, я backend-разработчик IT-компании SimbirSoft Дмитрий. В этой статье расскажу, зачем нужно документировать Web API, какие существуют подходы и покажу, как создать документацию для ASP.NET Core Web API с использованием OpenAPI/Swagger.

Материал будет полезен начинающим backend-разработчикам, которые знакомятся с Web API, а также специалистам уровня Middle, интересующимся актуальными стандартами для оформления документации.

Читать далее
Всего голосов 11: ↑10 и ↓1+9
Комментарии8

Мы разработали 44 устройства за 6 лет, продаем их по всему миру, только этого мало

Время на прочтение38 мин
Количество просмотров76K

История эмиграции, блеск и нищета стартапов, техническое порно, непрерывная разработка, гидроакустика, нарциссизм, рефлексия, open-source и много фото.

Это все под катом.

Начать погружение
Всего голосов 331: ↑330 и ↓1+408
Комментарии194

Провайдеры и MTU/MSS/PMTU

Время на прочтение2 мин
Количество просмотров27K

Значит нужен мне второй канал связи, да этак мегабит 300 в секунду. В моём городе немного провайдеров, по этому выбрать не дали и пришлось подключаться к WiFire (он же NetByNet, MegaFon и так далее). Подключился, потестил, 300 мегабит, балдеж. Решил я значит почитать что нового на своем любимом Хабре и опа: он не открывается, но охотно пингуется.

Читать далее
Всего голосов 17: ↑13 и ↓4+10
Комментарии5

Настройка WireGuard на Mikrotik

Время на прочтение5 мин
Количество просмотров169K

Если не касаться wiki и официального сайта, и объяснять как можно проще, то это VPN туннелирование через UDP.

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

Хотите узнать как?
Всего голосов 21: ↑21 и ↓0+21
Комментарии27

Как запускать RabbitMQ в Docker

Время на прочтение8 мин
Количество просмотров90K

Алексей Барабанов, IT-директор «Хлебница» и спикер курса «RabbitMQ для админов и разработчиков», подготовил конспект, который поможет научиться запускать и настраивать RabbitMQ в Docker. Вы поймёте, как конфигурировать параметры запуска, а также узнаете о возможностях управления через веб-интерфейс.

Читать далее
Всего голосов 32: ↑30 и ↓2+30
Комментарии12

Enum в C# и некоторые его особенности

Время на прочтение7 мин
Количество просмотров28K

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

Читать продолжение в источнике...
Всего голосов 15: ↑7 и ↓80
Комментарии31

Теорема Гёделя о неполноте за 20 минут

Время на прочтение8 мин
Количество просмотров203K


Теореме Гёделя о неполноте, одной из самых известных теорем математической логики, повезло и не повезло одновременно. В этом она похожа на специальную теорию относительности Эйнштейна. С одной стороны, почти все о них что-то слышали. С другой — в народной интерпретации теория Эйнштейна, как известно, «говорит, что всё в мире относительно». А теорема Гёделя о неполноте (далее просто ТГН), в примерно столь же вольной фолк-формулировке, «доказывает, что есть вещи, непостижимые для человеческого разума». И вот одни пытаются приспособить её в качестве аргумента против материализма, а другие, напротив, доказывают с её помощью, что бога нет. Забавно не только то, что обе стороны не могут оказаться правыми одновременно, но и то, что ни те, ни другие не удосуживаются разобраться, что же, собственно, эта теорема утверждает.

Итак, что же? Ниже я попытаюсь «на пальцах» рассказать об этом. Изложение моё будет, разумеется нестрогим и интуитивным, но я попрошу математиков не судить меня строго. Возможно, что для нематематиков (к которым, вообще-то, отношусь и я), в рассказанном ниже будет что-то новое и полезное.

Математическая логика — наука действительно довольно сложная, а главное — не очень привычная. Она требует аккуратных и строгих манёвров, при которых важно не перепутать реально доказанное с тем, что «и так понятно». Тем не менее, я надеюсь, что для понимания следующего ниже «наброска доказательства ТГН» читателю понадобится только знание школьной математики/информатики, навыки логического мышления и 15-20 минут времени.

Читать дальше →
Всего голосов 64: ↑62 и ↓2+60
Комментарии138

Как россиянину открыть счет в банках Казахстана в 2024 году?

Время на прочтение9 мин
Количество просмотров156K

Сегодня немного про банки Казахстана.

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

Преимущества Казахстана, как юрисдикции это широкое распространение русского языка, сходить в банк Казахстана = сходить в банк РФ. Также в Казахстане работает карта МИР российской платежной системы, можно расплачиваться и снимать наличные с карт многих российских банков. Карты Казахстанских банков все еще можно пополнять из РФ через свифт, денежные переводы и переводом на банк партнер.

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

При открытии счета в банках Армении очень часто требуют документы, связанные с проживанием: договор аренды, соцкарту, прописку, трудовой договор в РА, ВНЖ.

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

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

Процесс оформления выглядит примерно так:

Читать далее
Всего голосов 16: ↑10 и ↓6+5
Комментарии13

Обхода блокировок много не бывает на роутерах Keenetic

Время на прочтение23 мин
Количество просмотров171K

С помощью действий, описанных в этой статье, Вы сможете подключить все устройства домашней сети (телефоны, смарт-тв, компьютеры и ноутбуки и другие "домашние" устройства) к данному обходу блокировок, а также подключаться к Вашему роутеру не из дома и пользоваться его обходом блокировок для доступа к любимым сайтам и приложениям. Кроме того, из обеих этих сетей (домашней и через подключение к роутеру), из любого браузера можно будет пользоваться onion-сайтами.

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

Читать далее
Всего голосов 31: ↑27 и ↓4+33
Комментарии85

«Джеймс Уэбб»: 35 лет от задумки до первого снимка

Время на прочтение42 мин
Количество просмотров28K
25 декабря 2021 года ракета «Ариан-5» взмыла со стартовой площадки ELA-3 космодрома Куру в Гвианском космическом центре. Через 25 минут двухступенчатая ракета отправила полезную нагрузку по заданной траектории в глубокий космос. Через несколько минут от второй ступени ракеты отделился и начал самостоятельный полёт космический телескоп «Джеймс Уэбб». Всего через полчаса после того, как обсерватория покинула Землю, она развернула солнечные панели.

За следующие полгода телескоп прибыл в точку Лагранжа L2, охладил свои системы и прошёл долгий процесс калибровки. 12 июля 2022 года НАСА показало первые снимки и опубликовало научные данные обсерватории.

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


Полномасштабная модель телескопа, которую Northrop Grumman построила в 2005 году и демонстрировала в различных городах США
Читать дальше →
Всего голосов 141: ↑141 и ↓0+141
Комментарии11

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

Время на прочтение12 мин
Количество просмотров93K
У меня для вас просто отличный пример того, как люди могут жестоко заблуждаться относительно имплантов.

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


Слева видно три импланта, ставших виновниками гнойного расплавления нервной и костной тканей

Чтобы вы не питали иллюзий, сразу отмечу основные вещи:

  • У них есть срок службы. Обычно он составляет 20–25 лет, после чего нужно будет сделать «капремонт». Собственно, поэтому в цену хорошего импланта входит поддержка производителем 25 лет, иначе есть шансы не обнаружить комплектующие и вырывать его, а потом ставить новый. Так себе удовольствие.
  • Искусственные зубы нужно чистить. Да, они искусственные, но вот бактерии на них прилетают вполне себе живые.
  • Не стоит пропускать ТО: это та же самая полугодовая гигиена, что для живых зубов, но другими инструментами (без металла).
  • Требования к домашней чистке у имплантированных зубов выше, чем у «родных»: нужны ирригатор, ёршики и нить.

Разумеется, мы время от времени встречаем пациентов, забывших про «ТО рта», но этого случая не было бы в обучающих, если бы всё пошло как обычно. Так что осторожнее: ниже будут кровь и разные органы на фото, особенно в той части, где «пошло не по плану».
Читать дальше →
Всего голосов 64: ↑58 и ↓6+74
Комментарии78

Информация

В рейтинге
6 257-й
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность