Автор: Yuri Gagarin

Сытые философы или конкурентное программирование на .NET

Давайте посмотрим как устроено конкурентное и параллельное программирование в .Net, на примере проблемы обедающих философов. План такой, от синхронизации потоков/процессов, до модели акторов (в следующих частях). Статья может быть полезна для первого знакомства или для того, чтобы освежить свои знания. Зачем вообще уметь это? Транзисторы достигают своего минимального размера, закон Мура упирается в ограничение скорости […]

О предвзятости искусственного интеллекта

tl;dr: Машинное обучение ищет закономерности в данных. Но искусственный интеллект может быть «предвзят» — то есть, находить неверные паттерны. К примеру, система обнаружения рака кожи по фотографии может обращать особое внимание на снимки, сделанные во врачебном кабинете. Машинное обучение не умеет понимать: его алгоритмы лишь выявляют закономерности в числах, и если данные не репрезентативны, таким будет […]

Праздник или выходной?

Приближается Первое Мая, уважаемые хабробвчане. Не так давно я прояснил для себя, как важно продолжать задавать себе простые вопросы, даже если кажется, что ответ нам уже известен. Итак, что мы празднуем? Для правильного понимания, нам потребуется хотя бы издалека взглянуть на историю вопроса. Даже для поверхностного, но правильного понимания нужно найти первоисточник. Не хотел бы […]

100GbE: роскошь или насущная необходимость?

IEEE P802.3ba, стандарт для передачи данных по 100-гигабитным каналам Ethernet (100GbE), разрабатывался в период с 2007 по 2010 год [3], но получил широкое распространение только в 2018 [5]. Почему именно в 2018, а не раньше? И почему сразу в массовом порядке? На то есть как минимум пять причин… Разрабатывался IEEE P802.3ba, в первую очередь, для […]

Netramesh – легковесное service mesh решение

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

Релиз Tutanota 3.50.1

Был а опубликована новая версия почтового клиента Tutanota. Изменения включают в себя переработаный поиск и интеграцию с Let’s Encrypt для собственных доменов, а также 100% русский перевод. Tutanota использует сквозное шифрование, поэтому поиск может быть осуществлён только локально. Для этого клиент строит полнотекстовый индекс. Индекс хранится локально в зашифрованном виде. Новый переработанный поиск должен значительно […]

Debian 9.9

Доступно очередное обновление текущего стабильного выпуска операционной системы Debian 9 «Stretch» под номером 9.9. В обновлении внесены изменения более чем в 100 различных программ, в том числе ядро Linux обновлено до версии 4.9.168, обновлены пакеты postfix, postgresql, mariadb. Устранены ошибки в rsync, ruby, systemd, unzip, gpac, jquery и многих других пакетах. Обновлена non-free прошивка Bluetooth […]

Oops, I did it again: отладка распространенных ошибок в JavaScript

Порой написание кода JavaScript дается сложно, а иногда и просто пугает, что знакомо многим разработчикам. В процессе работы неизбежно возникают ошибки, причем некоторые из них повторяются частенько. В статье, рассчитанной на начинающих разработчиков, рассказывается об этих ошибках и способах их решения. Для наглядности названия функций, свойств и объектов взяты из популярной песни. Все это помогает […]

Как выполнить 70 задач за день: жизнь в таск-трекерах — хорошая жизнь

Систематически вести задачи я пытался, наверное, раз 20-25. И каждая попытка срывалась, как теперь я понимаю, по двум причинам. Во-первых, для того, чтобы выделять время ведению задач, нужно понять — зачем это делается. Ты начинаешь вести задачи, тратить на это время, делаешь меньше задач, все это начинает копиться — во имя чего? Любую работу сложно […]

«Как перестать гореть», или о проблемах входящего потока информации современного человека

В 20-м веке жизнь и работа людей шли по плану. На работе (упрощая — можно представить завод) у людей имелся четкий план на неделю, на месяц, на год вперед. Упрощая: тебе надо выпилить 20 деталей. Никто не придет и не скажет, что деталей теперь надо выпилить 37, а кроме того, написать статью с размышлениями о […]

Как запустить Istio, используя Kubernetes в production. Часть 1

Что такое Istio? Это так называемый Service mesh, технология, которая добавляет уровень абстракции над сетью. Мы перехватываем весь или часть трафика в кластере и производим определенный набор операций с ним. Какой именно? Например, делаем умный роутинг, или реализуем подход circuit breaker, можем организовывать «canary deployment», частично переключая трафик на новую версию сервиса, а можем ограничивать […]

Istio и Kubernetes в production. Часть 2. Tracing

В прошлой статье мы рассмотрели базовые компоненты Service Mesh Istio, познакомились с системой и ответили на основные вопросы, которые обычно возникают в начале работы с Istio. В этой части мы посмотрим на то, как организовать сбор tracing информации по сети. Первое, что приходит в голову многим разработчикам и системным администраторам, когда они слышат слова Service […]

Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster