Pull to refresh
1
0

Руководитель разработки

Send message

WinUI 3 — Новая эра разработки под Windows

Reading time4 min
Views64K

В этой статье:

- WinUI 3 - это не просто новая версия библиотеки пользовательских компонентов. Это изменит разработку ПО под Windows и не только.
- Как менялась разработка графических интерфейсов?
- Эволюция системных API пошла не по плану....
- В чём провал Universal Windows Platform?
- Что такое .NET, и почему за ним будущее?

Читать далее
Total votes 43: ↑37 and ↓6+46
Comments166

Самые зрелищные игры для тех, кто не любит играть

Reading time10 min
Views59K


Не всем нравится играть в компьютерные игры. Представьте — вы общаетесь с идеальным новым партнёром, разделяющим многие ваши предпочтения и интересы, но на вопрос о том, что ему нравится, шутеры или RPG, он отвечает: «Ой, я на самом деле не особо играю в игры, но мне нравится Candy Crush, это считается?»

Прежде чем вы скажете «понятно, пока» и удалитесь на пенсию в окружении кошек, вспомните, что за некоторыми играми для PC так же интересно наблюдать, как и играть, особенно если зритель не игрок. Возможно, они даже поспособствуют тому, что ваша вторая половинка попробует окунуться в мир гейминга. И вот вы уже совместно организуете рейды и спорите, какая из частей Fallout лучше… или же останетесь в одиночестве. Но рискнуть всё равно стоит.

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

В этой статье мы представим отсортированный по категориям список лучших игр, за которыми будет интересно наблюдать. Вероятно, вы заметите, что в списке часто встречаются хорроры; они определённо интересны для просмотра, а поскольку в большинстве подобных игр у игроков нет оружия, просмотр оказывается невероятно напряжённым.
Total votes 38: ↑36 and ↓2+48
Comments78

SmartTraits или добавляем «множественное» наследование в C#

Reading time13 min
Views8K


Один из наших клиентов, приверженец технологий php, жаловался что с переходом на C# и стек .Net лишился одной из своих любимых возможностей – использовать в своих скриптах traits и что он хотел бы добавления подобной функциональности в продукт разрабатываемый для его компании.

В один прекрасный момент, мы решили сделать ему подарок и реализовали proof of concept схожей функциональности для C#.

На удивление, всё случилось довольно быстро и интересно. Кому любопытно что из этого получилось и как можно попробовать, добро пожаловать под кат.
Читать дальше →
Total votes 17: ↑15 and ↓2+20
Comments31

Реализуем кооперативную многозадачность на C#

Reading time6 min
Views8.9K


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

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

Как сделать волоконно-оптическую светодиодную лампу

Reading time4 min
Views46K

Ранее я уже делал подобные проекты, но в этот раз я хотел сделать что-то попроще, то, что будет легким в изготовлении, и то, что смогли бы сделать многие из вас. "Механические" части лампы печатаются на 3D-принтере, электронная часть довольно проста, а пластиковое оптическое волокно притягивает взгляд. Сейчас я расскажу, как легко и просто изготовить такую светодиодную лампу.

Приятного чтения!
Total votes 47: ↑46 and ↓1+59
Comments20

Что такое Windows PowerShell и с чем его едят? Часть 6: Решение практических задач

Reading time7 min
Views21K


В предыдущих статьях мы разобрались с основами среды и достаточно подробно изучили язык программирования Microsoft PowerShell. Завершая цикл, мы рассмотрим работу с процессами и службами, реестром и журналами событий в распределенной среде, а также разберем некоторые способы администрирования операционной системы, настройки стороннего ПО и просмотра сведений об установленном оборудовании. Для этого в PowerShell активно применяются объекты различных типов, изучению которых были посвящены четвертая и пятая части цикла.
Читать дальше →
Total votes 22: ↑20 and ↓2+36
Comments4

Многопоточность на низком уровне

Reading time14 min
Views39K

Очень часто при обсуждении многопоточности на платформе .NET говорят о таких вещах, как детали реализации механизма async/await, Task Asynchronous Pattern, deadlock, а также разбирают System.Threading. Все эти вещи можно назвать высокоуровневыми (относительно темы хабрапоста). Но что же происходит на уровне железа и ядра системы (в нашем случае — Windows Kernel)?


На конференции DotNext 2016 Moscow Гаэл Фретёр, основатель и главный инженер компании PostSharp, рассказал о том, как в .NET реализована многопоточность на уровне железа и взаимодействия с ядром операционной системы. Несмотря на то, что прошло уже пять лет, мы считаем, что никогда не поздно поделиться хардкорным докладом. Гаэл представил нам хорошую базу по работе процессора и атомнарным примитивам.



Вот репозиторий с примерами из доклада. А под катом — перевод доклада и видео. Далее повествование будет от лица спикера.

Total votes 31: ↑30 and ↓1+40
Comments16

Сброс пробега для RICOH SP 150SUw

Reading time7 min
Views17K
Я не верю в теорию заговора производителей (электроники) о сокращении ресурса изделия, просто выполняется поиск оптимального соотношения цены / качества для определенного сегмента рынка. Но есть один момент, от которого у меня дико подгорает чуть ниже живота. Это производители принтеров. Мало того, что цены на расходники такие, что оправдать их может только наличие в составе крови младенца, рожденного девственницей, но и повсеместное «чипирование» картриджей, перешедшее уже в не самые бюджетные лазерные агрегаты. Но реально «бомбануло» меня от следующего изделия: RICOH SP 150SUw. Данный девайс был приобретен по причине переезда из Подмосковья в Минск и необходимостью копирования / печати большого количества документов для получения разрешения на работу / проживание.

Выбор был основан на следующих требованиях: МФУ не дорогой, компактный, сетевая печать, наличие драйверов под Linux (Fedora / Mint / OpenSUSE). Герой статьи обладал всеми этими характеристиками, но один нюанс был не замечен. Кривой счетчик ресурса. Если интересно, как вылечить и

(Памятка для граммар-наци от человека с легкой степенью дисграфии)
Да, у меня есть проблемы с естественными языками. Я это осознаю. И предупреждаю / предполагаю, что в тексте допущено достаточно много орфографических и пунктуационных ошибок. Надеюсь, нет логических и технических. Это не желание возрождать «олбанию», просто так получается. Не могу позволить личного корректора, а написание статей мне не приносит прибыли, только отнимает время, но хочется поделиться идеями/мыслями с сообществом. На ошибки указывать не надо, не буду исправлять, так как к моменту исправления, с последующим вычитыванием, статья уже уйдет в глубины ленты Хабра и работа будет напрасной. Покорнейше прошу отнестись с пониманием, а если Вас передергивает от неправильно поставленной запятой, лучше не открывайте пост. Пожалейте свои и мои нервы, иначе —

добро пожаловать!
Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments40

Тариф «100к+», или как вельми зело огорчить спамера

Reading time12 min
Views65K

Уже не впервые сталкиваюсь, что читатели Хабра не все поголовно умеют правильно бороться со спамом. И я не про SpamAssasin, «Ктозвонил» и прочие приложения для фильтрации информационного мусора, а про несложную, но весьма доставляющую всем сторонам процесса подачу жалобы в ФАС.

Давайте расскажу, как буквально за 15 минут не отрываясь от любимого компьютера подключить спамеру задораздирающий тариф линейки «Административный»: «Административный 100к», «Административный 150к» и вплоть до «Административный 500к» – как повезет.
Читать дальше →
Total votes 207: ↑203 and ↓4+264
Comments259

Быстрое чтение CSV в C# (fast read CSV)

Reading time8 min
Views23K

Уже не первый год пользуюсь своим универсальным конвертером CSV файлов в БД SQL Server - ImportExportDataSql, который имеет ряд полезных функций, необходимых любому разработчику БД MSSQL, например: перенос данных с одной БД в другую через SQL скрипт, выгрузка структуры БД, загрузка/выгрузка файлов (с типом varbinary), объединение SQL выборок в один файл и др.

ImportExportDataSql бесплатный, портативный, без рекламы и оповещает об обновлениях.

Поставил себе цель, ускорить загрузку CSV в БД MSSQL быстрее, чем это делает стандартная утилита "bcp". В моем приложении используется стандартный способ чтения CSV файлов, через System.IO.StreamReader методом ReadLine, но я уверен, что стандартные способы не самые производительные.

Итак, сравним несколько библиотек, написанных на языке C#, которые читают CSV файлы и разбивают строку на массив строк (колонки). Результаты тестов будут складываться по нескольким параметрам: время выполнения, потребление оперативной памяти, средняя нагрузка CPU (%).

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

Читать далее
Total votes 6: ↑4 and ↓2+5
Comments6

Хабравыжимка #1: Софт скилы для разработчика

Reading time9 min
Views20K
Современный специалист подобен швейцарскому ножу — владения только одним навыком всегда будет недостаточно. Но если с хард-скилами более-менее понятно, для каждой специальности они известны, то с софт скилами всё не так очевидно. Но мы же на Хабре — тут пишут про всё, правда, в этом потоке контента несложно и запутаться. Поэтому, чтобы облегчить жизнь всем и составить представление о том, какие же «мягкие навыки» наиболее актуальны, я собрал подборку лучших постов про них. А помогли мне в этом руководитель Центра карьеры SkillFactory Юлия Пушкина и наш карьерный консультант Эльмира Салимова.


Приятного чтения!
Total votes 25: ↑17 and ↓8+13
Comments40

С пациентом не разговаривать! Рассказ

Reading time16 min
Views6K

Аудиокнига на Ютубе или на Акниге или в подкасте.

—  Спасибо.

Виктор кивнул и пошёл дальше по переходу.

— Но вам придётся доплатить, — сказал вслед попрошайка.

Виктор сделал ещё несколько шагов по инерции, пока до него не дошёл смысл сказанного. Он обернулся.

— Простите?

— Прощаю. Вы перевели мне сто пятьдесят рублей. Но с вас ещё двенадцать тысяч сто пятьдесят три.

Читать далее
Total votes 19: ↑17 and ↓2+23
Comments12

МК-61: история, эмуляция, устройство

Reading time21 min
Views41K

Расцвет эпохи программируемых калькуляторов в нашей стране пришёлся на середину 80-х годов. Потом на смену относительно сытым и благополучным временам пришла эпоха бандитского капитализма, когда стране стало не до выпуска своей высокотехнологичной продукции бытового назначения, вот уже сменились поколения, но ностальгия по тем временам, когда мы бессонными ночами пытались сократить код программы хотя бы на пару байтов, чтобы уместить задуманную функцию, выискивали всё новые и новые недокументированные возможности, придумывая способы, как их можно использовать на практике, сочиняли целые циклы рассказов в качестве фона для наших игровых программ, не даёт забыть свой МК-61 со 105 байтами программной памяти. Поэтому хочу написать заметку о том, что собой представляли и как работали эти самые программируемые калькуляторы. Даже если эта тема сегодня периодически и поднимается, то не настолько часто, чтобы приесться уважаемому читателю, так что надеюсь поведать что-то новое.

Читать дальше →
Total votes 55: ↑52 and ↓3+68
Comments158

Поиск, устранение и предупреждение утечек памяти в C# .NET: 8 лучших практик

Reading time11 min
Views33K

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

Умение обнаруживать, исправлять и предупреждать утечки памяти — очень важный навык. Здесь я перечислю 8 лучших практик, используемых мной и моими коллегами старшими .NET разработчиками, которые и вдохновили меня написать эту статью. Эти методы научат вас определять, когда в приложении возникает утечка памяти, находить и исправлять ее. Наконец, я включил в статью стратегии для мониторинга и отчета об утечках памяти в уже развернутых программах.

Утечки памяти в .NET
Total votes 16: ↑12 and ↓4+14
Comments11

Музыка фоном: помогают ли сконцентрироваться Моцарт, белый шум и тяжелый рок?

Reading time5 min
Views28K

За время пандемии работы у разработчиков Учи.ру только прибавилось: по данным SimilarWeb за апрель, платформа стала вторым по популярности образовательным сайтом в мире. А вот сконцентрироваться на ней из дома получается с переменным успехом. Мы проверили на себе самые разные лайфхаки и хотим поделиться результатами. Сегодня разбираемся с одним из самых многообещающих способов — музыкой.

Читать далее
Total votes 10: ↑6 and ↓4+7
Comments35

Ультимативный список инструментов для разработчиков и опытных пользователей для Windows

Reading time6 min
Views73K
Можете ли вы поверить, что с момента моего последнего списка инструментов прошло 6 лет? Инструменты изменились, многие из них доступны онлайн, но, честно говоря, для составления нового списка инструментов требуется ОЧЕНЬ МНОГО РАБОТЫ. Но я смог, вот список на 2020-2021 годы. Это инструменты в моей папке Utils. Я создал папку d:\dropbox\utils и добавил ее в свой PATH. Таким образом, он будет на всех моих компьютерах, и я могу мгновенно добраться до любого из них.

Это обновленный до версии 2020-21 мой список 2003, 2005, 2006, 2007, 2009, 2011 и 2014 годов, который в настоящее время включает все остальные мои списки. Я занимаюсь этим более 17 лет. Вау. Думаю, стоит тратить на это больше времени.

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

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

Эту статью написал наш коллега Скотт. Вот версия на английском. Ну а сам список под катом.

Читать дальше →
Total votes 50: ↑43 and ↓7+49
Comments164

Как готовить Cake, используя только Frosting

Reading time4 min
Views4K

Итак, Cake. Многие слышали, многие хотели попробовать, но откладывали. Конечно, если ты все время работал на TeamCity или на Jenkins и продолжаешь, то зачем переизобретать то, что уже отлично работает? Люби свою жизнь и радуйся. Но вот, допустим, в твоей любимой жизни появился новый проект, новый дедлайн, минимум сторипойнтов до релиза, а опыта с новым сборщиком нет? Мне в этом случае и пригодился Cake.

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

На что похож Cake? Наверное, любой разработчик, не погрязший в мире .Net, найдет свою аналогию: gradle, gulp, golang make. Make-системы не откровение в 2020 году. Это всегда было удобно, а значит — нужно и правильно. Мир .Net долгое время был обделен такими средствами. Фактически был и есть до сих пор MSBuild, но у него есть очень-очень много недостатков. Основной - кто вообще умеет им пользоваться из рядовых разработчиков? И какова целесообразность его освоения? Какие-то базовые и нужные всем вещи явно проще делать на билд-сервере. Наверное, кому-то он и удобен, но я уверен, что значимая часть коммьюнити предпочтет MSBuild'у освоить новый билд-сервер. Один раз написать конфиг и забыть как страшный сон.

А что если бы существовала make-система с DSL на C#, автокомплитом и прочими фишками типизированного языка? Да, я про Cake. В частности сейчас пойдет разговор про библиотеку Cake.Frosting, являющуюся одним из раннеров make-системы.

Подробней про доступные раннеры можно прочитать тут: Cake Runners

С Frosting все привычно — самодокументирующийся Api с которым почти сразу находишь общий язык. Методы расширения, загружаемые из Nuget — на любой случай жизни, структура проекта, похожая на смесь тестов или бенчмарков и хоста Asp. Все решения угадываются сразу, все как дома.

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

Правильно пишем командлеты на Powershell и заодно симулируем парадокс Монти Холла

Reading time11 min
Views7K
Хабр точно знаком с парадоксом, а вот с некоторыми фичами павершелла, вероятно, нет, поэтому тут больше про него.



Читать дальше →
Total votes 20: ↑19 and ↓1+30
Comments4

9 репозиториев, о которых должен знать каждый веб-разработчик

Reading time4 min
Views21K
В наши дни GitHub — это универсальное хранилище всего, что связано с веб-разработкой. Фреймворки, демоверсии, всевозможные коллекции — вероятно, нет ничего такого, что вы не могли бы найти на GitHub. Однако в этом огромном количестве и заключается проблема. Есть классные вещи, о которых вы, вероятно, никогда не услышите просто потому, что репозиториев много. Сегодня, специально к старту нового потока курса по веб-разработке мы делимся подбокой некоторых из самых популярных репозиториев GitHub, о которых вы должны знать, каждый из которых имеет по крайней мере ~30 000 звёзд.

Приятного чтения
Total votes 45: ↑23 and ↓22+6
Comments5

Объектно-ориентированный дизайн и как его использовать для проектирования систем

Reading time12 min
Views23K

В последние годы области проектирования и дизайна начали сближаться с разработкой. Проектирование соприкасается с дизайном, а дизайн — с версткой. В этом помогают, к примеру, дизайн-системы, storybook’и, созданные по правилам разработки интерфейсов, а также современные инструменты: Figma, Sketch, InVision Studio и другие.

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

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

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity