Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Производительность выгрузки большого количества данных из Mongo в ASP.NET Core Web Api

Время на прочтение5 мин
Количество просмотров6.3K

Возникла необходимость выгрузки большого количества данных на клиент из базы MongoDB. Данные представляют собой json, с информацией о машине, полученный от GPS трекера. Эти данные поступают с интервалом в 0.5 секунды. За сутки для одной машины получается примерно 172 000 записей.


Серверный код написан на ASP.NET CORE 2.0 с использованием стандартного драйвера MongoDB.Driver 2.4.4. В процессе тестирования сервиса выяснилось значительное потребление памяти процессом Web Api приложения — порядка 700 Мб, при выполнении одного запроса. При выполнении нескольких запросов параллельно объем памяти процесса может быть больше 1 Гб. Поскольку предполагается использование сервиса в контейнере на самом дешевом дроплете с оперативной памятью в 0.7 Гб, то большое потребление оперативной памяти привело к необходимости оптимизировать процесс выгрузки данных.

Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии22

Стоит ли свое хобби развить в стартап?

Время на прочтение4 мин
Количество просмотров9.3K
image

Много лет назад я увлекся программированием и начал писать для себя приложение (плагин для AutoCAD). И вот прошли годы и встает вопрос — развить свое хобби в стартап или оставить его и дальше как хобби? Рассуждения на тему под катом
Читать дальше →
Всего голосов 18: ↑14 и ↓4+10
Комментарии35

Присвоение имён: руководство для программиста

Время на прочтение4 мин
Количество просмотров16K
Перевод Naming 101: Programmer’s Guide on How to Name Things.

Присвоение имён — одна из главных трудностей в разработке. Невозможно подсчитать, сколько времени мы тратим на обдумывание имён и на попытки разобраться в коде с плохими именами. И не важно, объекты это, методы, классы или что-то другое. Считается доказанным фактом, что мы тратим больше времени на чтение кода, а не на его написание, поэтому хорошие правила присвоения имён в будущем облегчат вам жизнь.

Хорошие имена делают код лучше и чище. Они помогают интуитивно определять, за что отвечает каждая часть кода. В будущем другим разработчикам будет легче читать ваш код, да и вам самим тоже.

Ниже объясним важность хороших правил присвоения имён и поделимся полезными советами.
Читать дальше →
Всего голосов 25: ↑18 и ↓7+11
Комментарии5

Сборка мусора и время жизни объектов

Время на прочтение4 мин
Количество просмотров16K
Казалось бы, простой вопрос: может ли среда CLR вызвать финализатор объекта, когда экземплярный метод не завершил свое исполнение?

Другими словами, возможно ли в следующем случае увидеть «Finalizing instance.» до «Finished doing something.»?

internal class GcIsWeird
{
    ~GcIsWeird()
    {
        Console.WriteLine("Finalizing instance.");
    }

    public int data = 42;

    public void DoSomething()
    {
        Console.WriteLine("Doing something. The answer is ... " + data);
        // Some other code...
        Console.WriteLine("Finished doing something.");
    }
}

Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии24

Пишем свой маппер для .NET Standard 2.0

Время на прочтение6 мин
Количество просмотров11K

В сегодняшней заметке я хотел бы поведать вам о коротком приключении по написанию своего маппера для .NET Standard 2.0. Ссылка на github и результаты benchmark'ов прилагаются.

Читать дальше →
Всего голосов 28: ↑23 и ↓5+18
Комментарии19

TLS 1.2 и новый ГОСТ

Время на прочтение4 мин
Количество просмотров30K


Вниманию читателей предлагается краткий обзор разрабатываемого проекта рекомендаций по стандартизации, определяющего использование российских криптографических алгоритмов в протоколе TLS 1.2 (далее просто проект рекомендаций).

Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии14

Создаём собственный блокчейн на Ethereum

Время на прочтение11 мин
Количество просмотров64K

Как создать приватный блокчейн Ethereum с нуля?


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

Инструкция включает в себя следующее:

  • Создание приватного блокчейна Ethereum с помощью geth.
  • Создание кошелька MetaMask для работы с приватным блокчейном.
  • Перевод средств между несколькими аккаунтами.
  • Создание, развёртывание и вызов смарт-контракта в приватном блокчейне с помощью remix.
  • Создание обозревателя блоков Ethereum поверх приватного блокчейна.
Читать дальше →
Всего голосов 28: ↑25 и ↓3+22
Комментарии5

Экосистема блокчейн-проектов

Время на прочтение10 мин
Количество просмотров19K

Как я писал в своей статье об ICO, технологии блокчейна, криптовалюты и распродажи токенов сейчас на пике популярности. Я работаю в венчурной отрасли уже более пяти лет и до сих пор не сталкивался с технологиями, которые бы с такой головокружительной скоростью развивались, порождая новые компании и проекты. Не так давно фаундеры и венчурные инвесторы имели дело преимущественно с централизованными биржами, частными блокчейн-решениями, кошельками и некоторыми другими стартап-идеями, которые доминировали на рынке в период с 2012 по 2016 год.

Однако, как я уже говорил несколько месяцев назад, растущая популярность Ethereum с его полным по Тьюрингу сценарным языком и возможностью для разработчиков прописывать состояние в каждом блоке, создала условия для разработки умных контрактов. Это привело к тому, что все больше команд берется за децентрализованные проекты в погоне за главным преимуществом, которое дает блокчейн — возможностью выработать единую истину, с которой все согласны, без помощи посредников или центральной власти.

Сейчас на рынке появляется много интересных наработок, которые совершенствуют как функционал существующих блокчейн-решений, так и пользовательский опыт. Но учитывая, с какой частотой выходят новые новые проекты, мне становится все сложнее отслеживать каждый из них и разбираться, какое место он занимает в экосистеме. Кроме того, риск не увидеть за деревьями леса повышается, если у нас нет исчерпывающего представления о том, как выглядит этот самый лес. Такие рассуждения подтолкнули меня составить список всех децентрализованных блокчейн-проектов, которые я отслеживаю, включая также и те, информацию о которых я сумел найти сам или по наводке от друзей, хорошо знакомых с экосистемой. Данная карта экосистемы представляет итог этой работы.
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии1

Блокчейн: как он работает, и почему эта технология изменит мир

Время на прочтение13 мин
Количество просмотров189K
image

Портал Spectrum, который освещает новости в мире технологий, опубликовал материал о блокчейн. В этой статье рассказано, какие есть подводные камни в работе технологии и почему её нельзя использовать повсеместно. Мы подготовили русскоязычную адаптацию этой статьи.
Читать дальше →
Всего голосов 33: ↑21 и ↓12+9
Комментарии21

Облачный дайджест: о технологиях, SSL-сертификатах и работе IaaS-провайдера

Время на прочтение8 мин
Количество просмотров3.5K
Сегодня мы подготовили для вас подборку свежих материалов из нашего блога. В них мы говорим о развитии IaaS, развенчиваем мифы об облачных технологиях и обсуждаем тонкости работы с виртуальной инфраструктурой.

Помимо этого мы делимся собственным опытом развития IaaS-провайдера 1cloud.

Другие наши дайджесты:


Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии0

REST в реальном мире и практика гипермедиа

Время на прочтение27 мин
Количество просмотров26K
Как правильно построить архитектуру приложения, с учетом специфики REST? Было ли с вами такое, что словом «REST» называют любое HTTP API без разбору — и как донести истинное значение этого термина? Как показать, что преимущества REST проявляются в больших долгосрочных проектах, но для небольшой утилиты лучше взять что-то попроще? Эти и другие животрепещущие вопросы освещает Дилан Битти (Dylan Beattie) в докладе «Real world REST and Hands-On Hypermedia».

Дилан — системный архитектор и разрабточик, за жизнь успевший поучаствовать во множестве проектов, от небольших вебсайтов до огромных распределенных систем; от легаси с двадцатилетней историей до самых новейших разработок. Сейчас он работает архитектором в Spotlight и занимается решением сложных задач в современных распределенных системах. Создание правильных, красивых и эффективных HTTP API является частью его работы, и он действительно знает в них толк.

Вы сможете встретиться с Диланом вживую на конференции DotNext Moscow 2017, куда он приедет с новым докладом «Life, liberty and the pursuit of APIness: the secret to happy code». Напоминаем, что вы можете купить билеты по вкусной цене вплоть до 31 октября включительно.

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



Комментарии к статье приветствуются и действительно важны — мы постараемся задать ваши лучшие вопросы напрямую Дилану на DotNext Moscow 2017.



Всего голосов 33: ↑33 и ↓0+33
Комментарии15

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность