Несколько недель назад в блоге «.NET Blog» появилась статья «Что такое .NET, и почему вы должны выбрать его?». В нем был представлен высокоуровневый обзор платформы, кратко описаны различные компоненты и архитектурные решения, а также обещаны более подробные посты по затронутым темам. Этот пост является первым таким продолжением, в котором подробно рассматривается история создания, архитектурные решения и детали реализации async/await в C# и .NET.
Пользователь
Как на самом деле работает Async/Await в C# (Часть 1)
Несколько недель назад в блоге «.NET Blog» появилась статья «Что такое .NET, и почему вы должны выбрать его?». В нем был представлен высокоуровневый обзор платформы, кратко описаны различные компоненты и архитектурные решения, а также обещаны более подробные посты по затронутым темам. Этот пост является первым таким продолжением, в котором подробно рассматривается история создания, архитектурные решения и детали реализации async/await в C# и .NET.
А работают ли игровые механики?
Этот вопрос мне задают постоянно.
Привет, Хабр! Меня зовут Тагир Хайрутдинов, я старший аналитик данных в Альфа-Банке. За прошлый год я посетил примерно 10 профильных конференций и прочих мероприятий. Когда на мероприятиях я рассказываю людям о том, что такое геймификация и какое влияние она оказывает на бизнес на примере проектов Альфы, то самый частый вопрос от маркетологов, овнеров, аналитиков и прочих — «А это реально работает?»
Да, геймификация действительно работает. Об этом и пойдет сегодня речь — я расскажу, что такое геймификация, какой эффект от неё получает бизнес и как мы используем игровые механики в Альфе. Делать я это буду на примере игры «Симулятор мошенника», в которой мы предлагали клиентам в форме игры проверить своё умение распознавать мошенников. Статья будет больше интересна аналитикам, продакт овнерам, маркетологам.
Как устроено индексирование баз данных
Индексирование баз данных — это техника, повышающая скорость и эффективность запросов к базе данных. Она создаёт отдельную структуру данных, сопоставляющую значения в одном или нескольких столбцах таблицы с соответствующими местоположениями на физическом накопителе, что позволяет базе данных быстро находить строки по конкретному запросу без необходимости сканирования всей таблицы. Применяются разные типы индексов, однако они занимают пространство и должны обновляться при изменении данных. Важно тщательно продумывать стратегию индексирования базы данных и регулярно её оптимизировать.
Когда использовать микросервисы: отвечают Сэм Ньюмен и Мартин Фаулер
Что бывает, когда два легендарных теоретика микросервисов, Мартин Фаулер и Сэм Ньюмен, встречаются, чтобы побеседовать о стратегии разработки под такую парадигму? За минимальное время можно составить впечатление о самых свежих представлениях на тему микросервисов. Ниже мы обсудим взгляды на разработку приложений, которые изложил Сэм Ньюмен, когда Мартин Фаулер задал, казалось бы, простой вопрос: «Когда следует использовать микросервисы?»
Планирование потоков в Windows. Часть 1 из 4
Ниже представлена не простая расшифровка доклада с семинара CLRium, а переработанная версия для книги .NET Platform Architecture. Той её части, что относится к потокам.
Потоки и планирование потоков
Что такое поток? Давайте дадим краткое определение. По своей сути поток это:
- Средство параллельного относительно других потоков исполнения кода;
- Имеющего общий доступ ко всем ресурсам процесса.
Очень часто часто слышишь такое мнение, что потоки в .NET — они какие-то абсолютно свои. И наши .NET потоки являются чем-то более облегчённым чем есть в Windows. Но на самом деле потоки в .NET являются самыми обычными потоками Windows (хоть Windows thread id и скрыто так, что сложно достать). И если Вас удивляет, почему я буду рассказывать не-.NET вещи в хабе .NET, скажу вам так: если нет понимания этого уровня, можно забыть о хорошем понимании того, как и почему именно так работает код. Почему мы должны ставить volatile, использовать Interlocked и SpinWait. Дальше обычного lock
дело не уйдёт. И очень даже зря.
Давайте посмотрим из чего они состоят и как они рождаются. По сути поток — это средство эмуляции параллельного исполнения относительно других потоков. Почему эмуляция? Потому, что поток как бы странно и смело это ни звучало — это чисто программная вещь, которая идёт из операционной системы. А операционная система создаёт этот слой эмуляции для нас. Процессор при этом о потоках ничего не знает вообще.
Задача процессора — просто исполнять код. Поэтому с точки зрения процессора есть только один поток: последовательное исполнение команд. А задача операционной системы каким-либо образом менять поток т.о. чтобы эмулировать несколько потоков.
Особенности строк в .NET
Итак, начнем с представления строк в памяти
В.NET строки располагаются согласно правилу BSTR (Basic string or binary string). Данный способ представления строковых данных используется в COM (слово basic от языка программирования VisualBasic, в котором он первоначально использовался). Как известно в C/C++ для представления строк используется PWSZ, что расшифровывается как Pointer to Wide-character String, Zero-terminated. При таком расположении в памяти в конце строки находится null-терминированный символ, по которому мы можем определить конец строки. Длина строки в PWSZ ограничена лишь объемом свободной памяти.
Типовое использование RabbitMQ
Алексей Барабанов, IT-директор «Хлебница» и спикер курса «RabbitMQ для админов и разработчиков», подготовил конспект о типовых архитектурных паттернах RabbitMQ. Из него вы узнаете, как настроить пайплайны обработки и реализовать очереди повторных попыток (в том числе, через механизм dead letter exchange).
С чего айтишнику можно начать 2023 год?
Отдохните после 2022 года! На этом можно завершить статью.
Но если вы из тех людей, кому хочется заняться чем-то и в праздники, то эта статья для вас. В статье я написал, чем бы сам хотел заняться до выхода к рабочей рутине.
Пишите в комментариях, что вы уже успел поделать безумного и вероятно не самого полезного, но интересного.
Все ссылки в статье не являются рекламой, лишь моей субъективной рекомендацией, всегда можно поискать альтернативы ресурсов, которые подходят под ваши цели.
Документирование ASP .Net Core Web API с помощью OpenAPI/Swagger. Библиотека Swashbuckle
Привет, я backend-разработчик IT-компании SimbirSoft Дмитрий. В этой статье расскажу, зачем нужно документировать Web API, какие существуют подходы и покажу, как создать документацию для ASP.NET Core Web API с использованием OpenAPI/Swagger.
Материал будет полезен начинающим backend-разработчикам, которые знакомятся с Web API, а также специалистам уровня Middle, интересующимся актуальными стандартами для оформления документации.
Мы разработали 44 устройства за 6 лет, продаем их по всему миру, только этого мало
История эмиграции, блеск и нищета стартапов, техническое порно, непрерывная разработка, гидроакустика, нарциссизм, рефлексия, open-source и много фото.
Это все под катом.
Провайдеры и MTU/MSS/PMTU
Значит нужен мне второй канал связи, да этак мегабит 300 в секунду. В моём городе немного провайдеров, по этому выбрать не дали и пришлось подключаться к WiFire (он же NetByNet, MegaFon и так далее). Подключился, потестил, 300 мегабит, балдеж. Решил я значит почитать что нового на своем любимом Хабре и опа: он не открывается, но охотно пингуется.
Настройка WireGuard на Mikrotik
Если не касаться wiki и официального сайта, и объяснять как можно проще, то это VPN туннелирование через UDP.
Это возможность быстро, максимально просто и надёжно, с хорошим уровнем безопасности соединить две точки между собой.
Как запускать RabbitMQ в Docker
Алексей Барабанов, IT-директор «Хлебница» и спикер курса «RabbitMQ для админов и разработчиков», подготовил конспект, который поможет научиться запускать и настраивать RabbitMQ в Docker. Вы поймёте, как конфигурировать параметры запуска, а также узнаете о возможностях управления через веб-интерфейс.
Enum в C# и некоторые его особенности
В своей непродолжительной карьере c# разработчика я успел поверхностно погрузиться во многие аспекты этого, без преувеличения, прекрасного языка. Наиболее любопытной из них для меня является такая, с первого взгляда, простая вещь, как перечисления или же Enum, о коей я попытаюсь рассказать в этой статье.
Теорема Гёделя о неполноте за 20 минут
Теореме Гёделя о неполноте, одной из самых известных теорем математической логики, повезло и не повезло одновременно. В этом она похожа на специальную теорию относительности Эйнштейна. С одной стороны, почти все о них что-то слышали. С другой — в народной интерпретации теория Эйнштейна, как известно, «говорит, что всё в мире относительно». А теорема Гёделя о неполноте (далее просто ТГН), в примерно столь же вольной фолк-формулировке, «доказывает, что есть вещи, непостижимые для человеческого разума». И вот одни пытаются приспособить её в качестве аргумента против материализма, а другие, напротив, доказывают с её помощью, что бога нет. Забавно не только то, что обе стороны не могут оказаться правыми одновременно, но и то, что ни те, ни другие не удосуживаются разобраться, что же, собственно, эта теорема утверждает.
Итак, что же? Ниже я попытаюсь «на пальцах» рассказать об этом. Изложение моё будет, разумеется нестрогим и интуитивным, но я попрошу математиков не судить меня строго. Возможно, что для нематематиков (к которым, вообще-то, отношусь и я), в рассказанном ниже будет что-то новое и полезное.
Математическая логика — наука действительно довольно сложная, а главное — не очень привычная. Она требует аккуратных и строгих манёвров, при которых важно не перепутать реально доказанное с тем, что «и так понятно». Тем не менее, я надеюсь, что для понимания следующего ниже «наброска доказательства ТГН» читателю понадобится только знание школьной математики/информатики, навыки логического мышления и 15-20 минут времени.
Как россиянину открыть счет в банках Казахстана в 2024 году?
Сегодня немного про банки Казахстана.
С каждым месяцем 2023 года ужесточаются требования банков из постсоветских республик, которые стали необыкновенно популярны среди россиян из-за широких возможностей пополнения в том числе рублем.
Преимущества Казахстана, как юрисдикции это широкое распространение русского языка, сходить в банк Казахстана = сходить в банк РФ. Также в Казахстане работает карта МИР российской платежной системы, можно расплачиваться и снимать наличные с карт многих российских банков. Карты Казахстанских банков все еще можно пополнять из РФ через свифт, денежные переводы и переводом на банк партнер.
Самым серьезным преимуществом является минимум требований для подачи заявки на открытии счета.
При открытии счета в банках Армении очень часто требуют документы, связанные с проживанием: договор аренды, соцкарту, прописку, трудовой договор в РА, ВНЖ.
При открытии счета в Банках Грузии, наличие адреса проживания в Грузии улучшает вероятность открытия счета и соответственно усложняет для тех кто не оттуда + существует немало случаев отказа особенно для россиян, работающих на госкомпании и банки под санкциями.
Банки Казахстана же по-прежнему открывают счета россиянам, предъявляя минимальные требования и запрашивая всего несколько документов.
Процесс оформления выглядит примерно так:
Обхода блокировок много не бывает на роутерах Keenetic
С помощью действий, описанных в этой статье, Вы сможете подключить все устройства домашней сети (телефоны, смарт-тв, компьютеры и ноутбуки и другие "домашние" устройства) к данному обходу блокировок, а также подключаться к Вашему роутеру не из дома и пользоваться его обходом блокировок для доступа к любимым сайтам и приложениям. Кроме того, из обеих этих сетей (домашней и через подключение к роутеру), из любого браузера можно будет пользоваться onion-сайтами.
В данной статье будет описана работа телеграм-бота, написанного на python. С его помощью будет возможна установка данного обхода с небольшими предварительными настройками, а также работа со списками блокировок.
«Джеймс Уэбб»: 35 лет от задумки до первого снимка
За следующие полгода телескоп прибыл в точку Лагранжа L2, охладил свои системы и прошёл долгий процесс калибровки. 12 июля 2022 года НАСА показало первые снимки и опубликовало научные данные обсерватории.
Этому событию предшествовали долгие этапы планирования, разработки и реализации, многочисленные сдвиги сроков запуска и серьёзные намерения отменить проект полностью. О самой идее подобного телескопа задумались ещё в конце восьмидесятых, но реальностью она стала лишь 35 лет спустя.
Полномасштабная модель телескопа, которую Northrop Grumman построила в 2005 году и демонстрировала в различных городах США
Как импланты через 20 лет могут развалить вам всю челюсть, включая оставшиеся здоровые зубы
Незнание пары простых вещей стоило пациентке трёх миллионов рублей по дофевральским реалиям, тотального удаления оставшихся «родных» зубов и полутора лет лечения.
Слева видно три импланта, ставших виновниками гнойного расплавления нервной и костной тканей
Чтобы вы не питали иллюзий, сразу отмечу основные вещи:
- У них есть срок службы. Обычно он составляет 20–25 лет, после чего нужно будет сделать «капремонт». Собственно, поэтому в цену хорошего импланта входит поддержка производителем 25 лет, иначе есть шансы не обнаружить комплектующие и вырывать его, а потом ставить новый. Так себе удовольствие.
- Искусственные зубы нужно чистить. Да, они искусственные, но вот бактерии на них прилетают вполне себе живые.
- Не стоит пропускать ТО: это та же самая полугодовая гигиена, что для живых зубов, но другими инструментами (без металла).
- Требования к домашней чистке у имплантированных зубов выше, чем у «родных»: нужны ирригатор, ёршики и нить.
Разумеется, мы время от времени встречаем пациентов, забывших про «ТО рта», но этого случая не было бы в обучающих, если бы всё пошло как обычно. Так что осторожнее: ниже будут кровь и разные органы на фото, особенно в той части, где «пошло не по плану».
Информация
- В рейтинге
- 6 257-й
- Откуда
- Москва, Москва и Московская обл., Россия
- Зарегистрирован
- Активность