Мириады запущенных задач на C# |
Недавно на ресурсе Medium были опубликованы две статьи от одного и того же автора, затрагивающие функциональность C# async/await.
Основными выводами были:
Но главная проблема вышеприведенных публикаций — абсолютное непонимание модели кооперативной многозадачности в C# с вводом читателей в заблуждение. Сами же бенчмарки — бессмысленные, как мы увидим позже.
Далее в статье я попытаюсь раскрыть суть проблемы более подробно с примерами решения.
После небольшой правки кода исходных примеров, реализация бенчмарка на .NET оказывается быстрее варианта Go. Попутно решаем проблему переполнения стека у рекурсивных асинхронных методов.
NB: использоваться будут свежевыпущенный .NET Core 2.0 и Go 1.8.3.
Читать дальше ->
Метки: author szKarlen программирование go c# .net .net core |
Blockchain |
Метки: author vlsergey криптография информационная безопасность учебник защита информации мфти blockchain |
[Из песочницы] Edge ненавдит ваши атрибуты |
Сказ о том, как мы бездумно использовали на проекте бойлерплейт, с целым боекомплектом зависимостей, которыми никто не пользовался, как нам потом это акнулось, когда потребовалась поддержка Edge, и как мы героически починили то, что, по факту, сами и поломали. Нет, это слишком длинно.
Сказ о том, что все браузеры — атрибутофобы, а некоторые особенно.
|
Дайджест интересных материалов для мобильного разработчика #217 (14 августа— 20 августа) |
|
[Из песочницы] Один безопасный пароль на все случаи жизни |
Метки: author acyp информационная безопасность парольная защита пароль пароли безопасные пароли |
Планетарный ландшафт |
Метки: author AlexWIN32 разработка игр c++ api directx11 terrain render |
Настраиваем автоматическую сборку проекта в Gitlab CI |
Метки: author softaria системы сборки unity3d gitlab-ci docker ci webgl |
Как создавалась карта с голосами болельщиков для Олимпиады. Лекция в Яндексе |
Метки: author Leono яндекс api геоинформационные сервисы визуализация данных javascript блог компании яндекс карта олимпиада api яндекс.карт perl представление информации |
[Из песочницы] Об омолаживании вебсайта — критерии принятия решения |
Метки: author ommunist управление проектами управление медиа управление e-commerce принятие решений бизнес-процесс управление разработкой |
Генерация лабиринта алгоритмом Эллера в Unity |
Метки: author DyadichenkoGA unity3d c# .net unity. maze gamedev gamedevelopment algorithms игры юнити |
Игровая модель поведения на рынке двух конкурирующих фирм на Python |
# -*- coding: utf8 -*-
import numpy as np
import matplotlib.pyplot as plt
a=10
def f(q): Функция цены от объёма товара
return a*np.e**(-0.5*q**2)
def h(q): #Функция издержек от объёма товара
return np.sqrt(q)
plt.figure()
q= np.arange(0, 2.01, 0.1)#Массив значений аргумента
plt.title(r'$y=f(q)$') #Заголовок в формате TeX
plt.ylabel(r'$f(q)$') #Метка по оси y в формате TeX
plt.xlabel(r'$q$') #Метка по оси x в формате TeX
plt.grid(True) #Сетка
plt.plot(q,f(q)) #Построение графика
plt.figure()
plt.title(r'$y=h(q)$') #Заголовок в формате TeX
plt.ylabel(r'$h(q)$') #Метка по оси y в формате TeX
plt.xlabel(r'$q$') #Метка по оси x в формате TeX
plt.grid(True) #Сетка
plt.plot(q,h(q)) #Построение графика
plt.show() #Показать график
Метки: author Scorobey разработка под windows математика python оптимизация экономических систем стратегической игра математические модели в экономике |
Ломаем хаКс полностью. Читаем машинные коды как открытую книгу |
Метки: author OCTAGRAM реверс-инжиниринг разработка игр c++ haxe ida arm дизассемблер openfl |
Клонирование игры Lode Runner с первого ПК в СССР «БК-0010» плюс несколько слов о программировании игр в конце 80-х |
Метки: author Odin_KG разработка под windows разработка под os x разработка под linux разработка игр программирование lode runner astralax бк-0010 старые игры |
Параметрическое моделирование в САПР SolveSpace: «Неисповедимы пути Решателя» или «Червоточины Ньютона» |
На первый взгляд, задача применения размерных ограничений к чертежу кажется не сложнее упражнения из школьного учебника. Точно так же показалось и мне, когда я впервые узнал о ней. В то время я работал в компании, которая занималась разработкой программного комплекса для проектирования индивидуальных жилых домов с подготовкой проектной документации "под ключ". В этом проекте я занимался разработкой алгоритма генерации многоскатных крыш, а впоследствии и всего геометрического ядра на основе Булевых операций, поэтому за дальнейшей историей я следил издалека. В какой-то определенный момент, заказчику захотелось, чтобы проектировщики могли просто указать размеры комнат, углы эркеров и ширину дверных проемов, а программа автоматически рассчитала бы все остальные параметры внешнего и внутреннего устройства дома. Эта мысль возникла у заказчика спонтанно, и поэтому срочно нужно было сделать “точно так же, как в CATIA”. Наш тимлид подошел к решению задачи с энтузиазмом и начал разрабатывать прототип. Он решал сотни уравнений в MathCAD, весь кабинет был завален графиками частных решений для двух, трех, четырех точек… Его изначальное предположение о том, что задачу можно решить аналитически, потерпело фиаско: на дворе был 2005, а это значило, что в интернете невозможно было найти хоть какую-то информацию по данной теме. В результате, после двух месяцев напряженных исследований, данную функциональность пришлось исключить.
Метки: author FadeToBlack математика open source github cad/cam c++ cad сапр solver solvespace opensource |
[Из песочницы] Играючи BASH'им |
Метки: author vaniacer кодобред bash game scroller |
Реализация, аналог и адаптация для «чистого» JavaScript'а JQuery функций. Часть 1. JQuery(); и прилегающие к ней |
jQuery();
. Читать дальше ->
Метки: author yuri_spivak jquery javascript jqeury dom |
Почему во время apt-get upgrade запускается игра Dwarf Fortress? |
sudo apt-get upgrade
происходит то, чего он совсем не может ожидать: запуск игры «Dwarf Fortress». История оказалась поучительной…
Метки: author shurup системное администрирование настройка linux блог компании флант apt-get ubuntu bash истории из жизни |
ReactOS версус Windows XP SP3: эпическая битва в 3DMark |
Метки: author Jeditobe реверс-инжиниринг open source блог компании фонд reactos версус 3dmark reactos 3dmark2006 windows xp |
Операция виртуализация: сравнение облачного сервера и shared-хостинга |
Многие владельцы интернет-ресурсов размещают свои веб-приложения на виртуальных серверах или же задействуют shared-хостинг. В данной статье мы постараемся детально рассмотреть обе услуги, и на основе опыта службы поддержки клиентов CloudLITE выведем заключение: какой из этих услуг можно отдать свое предпочтение и при каких обстоятельствах. Все подробности читайте под катом!
|
Превращаем WordPress в гибкий framework для разработчика |
Метки: author ivan_zhuck разработка веб-сайтов wordpress разработка сайтов cms php |