Search
Write a publication
Pull to refresh
8
0
Send message

Оптимизация .NET приложений: большой результат маленьких правок

Reading time19 min
Views21K

0852_NETAppsPerf_MinChangesMajorRes_ru/image1.png


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

Читать дальше →

Radxa ROCK 3A: конкурент Raspberry Pi со слотом M.2 для NVMe SSD

Reading time3 min
Views15K

На днях полку одноплатников прибыло: китайская компания выпустила модель Radxa ROCK 3A размером с кредитку. Основа одноплатника — четырехъядерный Rockchip RK3568 ARM Cortex-A55 c частотой работы ядра 2 ГГц. Графика здесь — Mali-G52. Кроме того, есть слот для накопителей M.2 для NVMe SSD.

По словам разработчиков, девайс может на равных конкурировать с последними версиями Raspberry Pi. Подробности о нем — под катом.
Читать дальше →

Спектрометр своими руками за 5 долларов и немного OpenCV

Reading time6 min
Views27K

В освоении физики лабораторные эксперименты проясняют понятия гораздо лучше лекций. Но из-за пандемии у автора статьи, переводом которой мы делимся к старту флагманского курса о Data Science, уже больше года не было лабораторных занятий; при этом большинство экспериментов последнего курса физики требуют сложных, дорогих приборов. Но автору бросились в глаза эксперименты со спектроскопом, и он решил из подручных материалов сделать свой, недорогой цифровой спектрометр, а для анализа вывода прибора написал программу на Python.

Читать далее

Ontol: подборка видео-лекций и каналов для продвинутых программистов

Reading time4 min
Views16K
image

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

В перерывах между полетами на реактивном ранце и переводами материалов Y Combinator, я делаю проект «Ontol» — такое место в сети, где максимальная концентрация полезного, апгрейдящего мировоззрение материала (ценного на горизонте 10+ лет, например, такого), которым можно делиться бесплатно в 1 клик. (канал в телеграм: t.me/ontol)

Вот мои предыдущие бесплатные образовательные подборки:


Повышаем качество кода с Dart Code Metrics

Reading time8 min
Views7.8K

Dart Code Metrics — это инструмент статического анализа кода, который позволяет собирать метрики по коду и предоставляет дополнительные правила для анализатора. Основная задача — помогать разработчикам следить за качеством кода и улучшать его. В этой статье мы хотим поделиться возможностями инструмента с сообществом. Он помог нам в Wrike решить часть проблем на фронтенде, и, надеемся, поможет и вам.

Читать далее

Бесплатные сервисы для разработчиков — огромный список

Reading time8 min
Views61K

Бесплатное хранилище артефактов PackageCloud

Удивительно, но в интернете сотни сервисов, которыми разработчик может пользоваться совершенно бесплатно. «Бесконечное» время (пока компания не обанкротится или не изменит условия), без рекламы, пробного периода и других подводных камней.

Недавно мы обсуждали эту тему в статье «Боль разработчика: “Никогда не давайте пользователям бесплатный тариф”». Речь шла о том, что на самом деле бесплатный план вовсе не бесплатен — приходится тратить массу времени и усилий на поддержку этих тарифов.

Но для некоторых бесплатный тариф — единственный способ завлечь новых клиентов. Это просто замечательно с точки зрения самих пользователей. Ведь перед нами десятки бесплатных хостингов, API, CMS, CDN, сервисов обработки данных, поисковых движков, репозиториев, инструментов проверки кода и других. Бесплатный тариф идеален для опенсорс-разработчиков, любительских и некоммерческих проектов, маленьких стартапов. Ни за что не надо платить.
Читать дальше →

Meshname – DNS судного дня

Reading time4 min
Views13K

Параноики есть в каждом сообществе. Например, туристы порой превращаются в выживальщиков, постоянно готовящихся к БП – «Большому Происшествию», когда от их готовности будет зависеть жизнь родных, человечества в целом, и сохранность себя родимого. Нельзя однозначно заявить плохо это или хорошо, потому что не секрет, что БП застанет и тех, у кого не запасено 50 килограммов гречки, бензин и оружие. Среди опытных ай-тишников также развита профессиональная деформация личности, которая нередко подразумевает паранойю: тяжело спать спокойно, когда понимаешь технологии изнутри и хрупкость их бытия!

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

Читать далее

Что недоговаривают Тинькофф Инвестиции. Вытаскиваем все данные по портфелю через API в большую таблицу Excel

Reading time11 min
Views246K

Разбираемся, как на самом деле считаются суммы и проценты в клиентском приложении.

Собираем все данные по портфелю и по всем операциям через Tinkoff API.

Строим огромную Excel таблицу со всеми данными.

Узнаём, сколько комиссий и налогов с нас уже содрали и что нам останется при выводе.

Пытаемся понять, что нам с этим делать.

Read more

Mele Quieter 2 – миниатюрный бесшумный десктоп с процессором Intel Celeron J4125

Reading time1 min
Views21K

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

На днях анонсирована новинка — миниатюрный десктоп без кулера с размером корпуса, как у пачки сигарет (ну, почти). Такой девайс можно без труда отключать по завершении рабочего дня, класть в карман или рюкзак и смело идти домой. Главное — не потерять малыша по пути.
Читать дальше →

Одноплатник Odyssey X86J4125800Е поддерживает Windows, Linux и совместим с Arduino и «малинкой»

Reading time2 min
Views14K

Среди одноплатников пополнение — появилась модель Odyssey X86J4125800 с четырехъядерным процессором Intel Celeron J4125 и довольно внушительным количеством разного рода модулей, разъемов и коннекторов.

Основа, как говорилось выше — 10-ваттный процессор Intel Celeron J4125 с базовой частотой работы ядра 2 ГГц и максимально возможной 2,7 ГГц. Графика, что логично, интегрирована, это Intel UHD 600. Сама плата, даром что не самая производительная в мире, предоставляет неплохие возможности для разработчиков.
Читать дальше →

Коммиты — это снимки, а не различия

Reading time14 min
Views49K

Git имеет репутацию запутывающего инструмента. Пользователи натыкаются на терминологию и формулировки, которые вводят в заблуждение. Это более всего проявляется в "перезаписывающих" историю командах, таких как git cherry-pick или git rebase. По моему опыту, первопричина путаницы — интерпретация коммитов как различий, которые можно перетасовать. Однако коммиты это не различия, а снимки! Я считаю, что Git станет понятным, если поднять занавес и посмотреть, как он хранит данные репозитория. Изучив модель хранения данных мы посмотрим, как новый взгляд помогает понять команды, такие как git cherry-pick и git rebase.

Читать далее

Почему, зачем и когда нужно использовать ValueTask

Reading time14 min
Views71K

Этот перевод появился благодаря хорошему комментарию 0x1000000.

image


В .NET Framework 4 появилось пространство System.Threading.Tasks, а с ним и класс Task. Этот тип и порождённый от него Task<TResult> долго дожидались, пока их признают стандартами в .NET в роли ключевых аспектов модели асинхронного программирования, которая была представлена в C# 5 с его операторами async/await. В этой статье я расскажу о новых типах ValueTask/ValueTask<TResult>, разработанных для улучшения производительности асинхронных методов в случаях, когда издержки на выделение памяти нужно принимать во внимание.

Читать дальше →

Sketch + Node.js: генерируем иконки для множества платформ и брендов. Часть 2

Reading time16 min
Views4.9K


Это вторая часть статьи о создании инструмента, способного экспортировать все помещённые в Sketch-файл иконки: в разных форматах, для разных платформ, с возможностью A/B-тестирования каждой из иконок.

Первую часть вы можете прочесть по ссылке.



В прошлый раз мы подготовили Sketch-файлы, содержащие все иконки в нужных стилях и с правильными названиями. Пришёл черёд написания кода.

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

Pine64 представили одноплатник Quartz64 с процессором RK3566

Reading time2 min
Views8.3K

Хорошие одноплатные ПК появляются не так часто, и, похоже, сейчас как раз такая ситуация. Компания Pine64 представила одноплатник размером 5.2″ x 3.1″. Он работает на основе процессора Rockchip RK3566 ARM Cortex-A55 с частотой работы ядра 1,8 ГГц. Он поддерживает вплоть до 8 ГБ ОЗУ и 128 ГБ ПЗУ eMC.

Кроме того, у одноплатника куча всяких портов, разъемов и коннекторов. При этом система, по словам разработчиков, является базовой, так что цена ее должна быть ниже $60, по которой продается продвинутая плата RockPro64.
Читать дальше →

Должен ли out-параметр быть проинициализирован до возврата из метода?

Reading time15 min
Views19K

0800_OutParamsCs_ru/image1.png


Наверняка каждый, кто писал на C#, сталкивался с использованием out-параметров. Кажется, что с ними всё предельно просто и понятно. Но так ли это на самом деле? Для затравки предлагаю начать с задачки для самопроверки.

Читать дальше →

Короткая шпаргалка по блокировкам при чтении и изменении данных в зависимости от уровня изоляции транзакции в MSSQL

Reading time3 min
Views39K
Read Uncommitted

  • если в одной транзакции поменять данные — селект этих данных (в другой транзакции или без транзакции) не будут ждать окончания первой транзакции и вернут записанные данные незакомиченных транзакций
  • если в одной транзакции считать данные — апдейты этих данных в другой транзакции не будут ждать окончания первой транзакции
  • шаред локи не используются. Что аналогично установке NOLOCK хинта во все селекты в Read Commited
  • эксклюзивные локировки устанавливаются в процессе выполнения стейтмента и снимаются по окончанию транзакции


Read Committed + read_committed_snapshot off

(alter database xxx set read_committed_snapshot off)

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


Дальше

Chuwi выпустила крохотный ПК с 6 ГБ ОЗУ и четырехъядерным процессором

Reading time2 min
Views60K

Летом китайская компания Chuwi выпустила миниатюрный ПК, который помещается на ладони, но при этом способен служить медиацентром или офисным ПК с ОС Windows или Linux. Конечно, его можно использовать и для решения других задач.

Сейчас этот ПК усилили, снизив при этом цену. Размеры компьютера, который называется Chuwi LarkBox Pro, не изменились — 2.4″ x 2.4″ x 1.7″. О характеристиках и возможностях — под катом.

Авторизация и аутентификация на NodeJs и Socket.io и проблемы вокруг

Reading time5 min
Views13K

На текущий момент я работаю в компании Мегафон тим лидом фронта. С начала этого года мы в команде Мегафона разрабатываем собственную платформу Интернета вещей. И так как, в таком процессе нагрузка на бек-энд разработчиков стала колоссальная, а фронт не так активно задействован, внутри отдела было принято решение отдать всю веб-часть в руки моей команды. Очевидно, что мы взяли NodeJs, и занялись построением серверной архитектуры и тд.

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

Читать далее

Портирование WPF приложений на netcore 3.0

Reading time6 min
Views11K

Ожидаемый релиз netcore 3.0 позволяет запускать wpf на netcore. Процедура перевода для одного несложного проекта занимает один-два дня. Каждый последующий — много быстрее.





Читать дальше →

Поиск замены депозита в облигациях с учетом того, что с 1 января 2021 года все выплаты облагаются налогами

Level of difficultyMedium
Reading time4 min
Views39K

Полгода назад, летом 2020 года я написал скрипт поиска ликвидных облигаций на Мосбирже (статья в закладках у 194 человек, рейтинг +45). Скрипт нужен для поиска облигаций, которые можно купить прямо сейчас с доходностью гораздо выше банковского вклада.

Сейчас, в начале 2021 года модифицировал прошлогодний скрипт, потому что проценты по вкладам так и остаются на очень низких уровнях, а с началом 2021 года ещё и изменения в налоговом кодексе РФ подоспели. 

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

Облигации как замена вклада в 2021 году

Information

Rating
Does not participate
Location
Россия
Registered
Activity