Сегодня мы посмотрим, как маленькие оптимизации в нужных местах приложения могут неплохо повысить его производительность. Убрали создание лишнего итератора в одном месте, избавились от упаковки в другом, а в итоге получается результат, несоизмеримый с правками.
User
Radxa ROCK 3A: конкурент Raspberry Pi со слотом M.2 для NVMe SSD

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

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

Недавно на HackerNews обсуждали видео и каналы, где можно поучиться продвинутому программированию. Под катом — подборка из 30 полезняшек.
В перерывах между полетами на реактивном ранце и переводами материалов Y Combinator, я делаю проект «Ontol» — такое место в сети, где максимальная концентрация полезного, апгрейдящего мировоззрение материала (ценного на горизонте 10+ лет, например, такого), которым можно делиться бесплатно в 1 клик. (канал в телеграм: t.me/ontol)
Вот мои предыдущие бесплатные образовательные подборки:
- 75 лекций на русском от Y Combinator (из 172)
- Подборка 143 переводов эссе Пола Грэма (из 184)
- Все статьи Тима Урбана (Wait But Why) на русском [46 из 99]
- 450 бесплатных курсов от Лиги Плюща
- Онтол от DeepMind: самые полезные материалы по искусственному интеллекту от мирового лидера
- Лучшее в мире видео-объяснение нейронных сетей, глубокого обучения, градиентного спуска и обратного распространения
- 70 офигенных видеокурсов от мировых звёзд
Повышаем качество кода с Dart Code Metrics

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

Бесплатное хранилище артефактов PackageCloud
Удивительно, но в интернете сотни сервисов, которыми разработчик может пользоваться совершенно бесплатно. «Бесконечное» время (пока компания не обанкротится или не изменит условия), без рекламы, пробного периода и других подводных камней.
Недавно мы обсуждали эту тему в статье «Боль разработчика: “Никогда не давайте пользователям бесплатный тариф”». Речь шла о том, что на самом деле бесплатный план вовсе не бесплатен — приходится тратить массу времени и усилий на поддержку этих тарифов.
Но для некоторых бесплатный тариф — единственный способ завлечь новых клиентов. Это просто замечательно с точки зрения самих пользователей. Ведь перед нами десятки бесплатных хостингов, API, CMS, CDN, сервисов обработки данных, поисковых движков, репозиториев, инструментов проверки кода и других. Бесплатный тариф идеален для опенсорс-разработчиков, любительских и некоммерческих проектов, маленьких стартапов. Ни за что не надо платить.
Meshname – DNS судного дня

Параноики есть в каждом сообществе. Например, туристы порой превращаются в выживальщиков, постоянно готовящихся к БП – «Большому Происшествию», когда от их готовности будет зависеть жизнь родных, человечества в целом, и сохранность себя родимого. Нельзя однозначно заявить плохо это или хорошо, потому что не секрет, что БП застанет и тех, у кого не запасено 50 килограммов гречки, бензин и оружие. Среди опытных ай-тишников также развита профессиональная деформация личности, которая нередко подразумевает паранойю: тяжело спать спокойно, когда понимаешь технологии изнутри и хрупкость их бытия!
Эта статья посвящена альтернативной доменной системе, рассчитанной на случай глобальной сегментации интернета, катаклизмов, или возможных искусственных ограничений коммуникации. Не спешите с пренебрежительной ухмылкой. По аналогии с запасами выживальщика, эта информация не требует больших затрат, а в нужный момент сможет выручить!
Что недоговаривают Тинькофф Инвестиции. Вытаскиваем все данные по портфелю через API в большую таблицу Excel
• Разбираемся, как на самом деле считаются суммы и проценты в клиентском приложении.
• Собираем все данные по портфелю и по всем операциям через Tinkoff API.
• Строим огромную Excel таблицу со всеми данными.
• Узнаём, сколько комиссий и налогов с нас уже содрали и что нам останется при выводе.
• Пытаемся понять, что нам с этим делать.
Mele Quieter 2 – миниатюрный бесшумный десктоп с процессором Intel Celeron J4125

Многим компаниям и обычным пользователям не нужны стационарные десктопные ПК, не всегда подходят и ноутбуки. В некоторых случаях требуется что-то совсем небольшое. И такие системы тоже есть, их немало.
На днях анонсирована новинка — миниатюрный десктоп без кулера с размером корпуса, как у пачки сигарет (ну, почти). Такой девайс можно без труда отключать по завершении рабочего дня, класть в карман или рюкзак и смело идти домой. Главное — не потерять малыша по пути.
Одноплатник Odyssey X86J4125800Е поддерживает Windows, Linux и совместим с Arduino и «малинкой»

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

Git имеет репутацию запутывающего инструмента. Пользователи натыкаются на терминологию и формулировки, которые вводят в заблуждение. Это более всего проявляется в "перезаписывающих" историю командах, таких как git cherry-pick или git rebase. По моему опыту, первопричина путаницы — интерпретация коммитов как различий, которые можно перетасовать. Однако коммиты — это не различия, а снимки! Я считаю, что Git станет понятным, если поднять занавес и посмотреть, как он хранит данные репозитория. Изучив модель хранения данных мы посмотрим, как новый взгляд помогает понять команды, такие как git cherry-pick и git rebase.
Почему, зачем и когда нужно использовать ValueTask
Этот перевод появился благодаря хорошему комментарию 0x1000000. В .NET Framework 4 появилось пространство System.Threading.Tasks, а с ним и класс Task. Этот тип и порождённый от него Task<TResult> долго дожидались, пока их признают стандартами в .NET в роли ключевых аспектов модели асинхронного программирования, которая была представлена в C# 5 с его операторами async/await. В этой статье я расскажу о новых типах ValueTask/ValueTask<TResult>, разработанных для улучшения производительности асинхронных методов в случаях, когда издержки на выделение памяти нужно принимать во внимание.
Sketch + Node.js: генерируем иконки для множества платформ и брендов. Часть 2

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

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

Хорошие одноплатные ПК появляются не так часто, и, похоже, сейчас как раз такая ситуация. Компания Pine64 представила одноплатник размером 5.2″ x 3.1″. Он работает на основе процессора Rockchip RK3566 ARM Cortex-A55 с частотой работы ядра 1,8 ГГц. Он поддерживает вплоть до 8 ГБ ОЗУ и 128 ГБ ПЗУ eMC.
Кроме того, у одноплатника куча всяких портов, разъемов и коннекторов. При этом система, по словам разработчиков, является базовой, так что цена ее должна быть ниже $60, по которой продается продвинутая плата RockPro64.
Должен ли out-параметр быть проинициализирован до возврата из метода?
Наверняка каждый, кто писал на C#, сталкивался с использованием out-параметров. Кажется, что с ними всё предельно просто и понятно. Но так ли это на самом деле? Для затравки предлагаю начать с задачки для самопроверки.
Короткая шпаргалка по блокировкам при чтении и изменении данных в зависимости от уровня изоляции транзакции в MSSQL
- если в одной транзакции поменять данные — селект этих данных (в другой транзакции или без транзакции) не будут ждать окончания первой транзакции и вернут записанные данные незакомиченных транзакций
- если в одной транзакции считать данные — апдейты этих данных в другой транзакции не будут ждать окончания первой транзакции
- шаред локи не используются. Что аналогично установке NOLOCK хинта во все селекты в Read Commited
- эксклюзивные локировки устанавливаются в процессе выполнения стейтмента и снимаются по окончанию транзакции
(alter database xxx set read_committed_snapshot off)
- если в одной транзакции поменять данные — селект этих данных (в другой транзакции или без транзакции) будут ждать окончания первой транзакции. Селект с NOLOCK хинтом вернёт изменённые, но не закомиченные данные.
- если в одной транзакции считать данные — апдейты этих данных в другой транзакции не будут ждать окончания первой транзакции
- шаред локировки устанавливаются в процессе работы стейтмента и снимаются по окончанию стейтмента
- эксклюзивные локировки устанавливаются в процессе выполнения стейтмента и снимаются по окончанию транзакции
Chuwi выпустила крохотный ПК с 6 ГБ ОЗУ и четырехъядерным процессором

Летом китайская компания Chuwi выпустила миниатюрный ПК, который помещается на ладони, но при этом способен служить медиацентром или офисным ПК с ОС Windows или Linux. Конечно, его можно использовать и для решения других задач.
Сейчас этот ПК усилили, снизив при этом цену. Размеры компьютера, который называется Chuwi LarkBox Pro, не изменились — 2.4″ x 2.4″ x 1.7″. О характеристиках и возможностях — под катом.
Авторизация и аутентификация на NodeJs и Socket.io и проблемы вокруг

На текущий момент я работаю в компании Мегафон тим лидом фронта. С начала этого года мы в команде Мегафона разрабатываем собственную платформу Интернета вещей. И так как, в таком процессе нагрузка на бек-энд разработчиков стала колоссальная, а фронт не так активно задействован, внутри отдела было принято решение отдать всю веб-часть в руки моей команды. Очевидно, что мы взяли NodeJs, и занялись построением серверной архитектуры и тд.
Для корректного доступа до собранных с устройств данных, естественно, нужна была авторизация, что бы понимать, кто и что может получить/сделать.
Портирование WPF приложений на netcore 3.0
Ожидаемый релиз netcore 3.0 позволяет запускать wpf на netcore. Процедура перевода для одного несложного проекта занимает один-два дня. Каждый последующий — много быстрее.

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

Полгода назад, летом 2020 года я написал скрипт поиска ликвидных облигаций на Мосбирже (статья в закладках у 194 человек, рейтинг +45). Скрипт нужен для поиска облигаций, которые можно купить прямо сейчас с доходностью гораздо выше банковского вклада.
Сейчас, в начале 2021 года модифицировал прошлогодний скрипт, потому что проценты по вкладам так и остаются на очень низких уровнях, а с началом 2021 года ещё и изменения в налоговом кодексе РФ подоспели.
Переписал код, убрав неактуальные данные о налоговых льготах, которые сейчас уже не работают и добавил возможность создавать облигационные лесенки. Под лесенкой имеется ввиду получение дохода как можно в большом числе месяцев, за счёт подбора облигаций с разными месяцами выплат.
Information
- Rating
- Does not participate
- Location
- Россия
- Registered
- Activity