Автор: Юрий Гагарин

Наситени философи или конкурентно програмиране на .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 […]

Опа, свърших го отново: отстраняване на разпространени грешки в JavaScript

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

Как да изпълним 70 задачи на ден: животът в системите за управление на задачите — добър живот

Систематично да водя задачи се опитвах, може би, 20-25 пъти. И всеки опит се проваляше, както сега разбирам, по две причини. Първо, за да отделим време за водене на задачи, е нужно да разберем — защо го правим. Започваш да водиш задачи, отделяш време за това, правиш по-малко задачи, всичко това започва да се натрупва — за името на какво? Всяка работа е трудна […]

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

През 20-ти век животът и работата на хората протичаха по план. На работа (опростявайки — може да си представим завод) хората имаха ясен план за седмицата, месеца, годината напред. Опростявайки: трябва да изработите 20 детайла. Никой няма да дойде и да каже, че сега трябва да изработите 37 детайла, а освен това, да напишете статия с размисли за […]

Как да стартираме Istio, използвайки Kubernetes в продукция. Част 1

Какво е Istio? Това е така наречената Service mesh, технология, която добавя слой на абстракция над мрежата. Ние прихващаме целия или част от трафика в клъстера и извършваме определен набор от операции с него. Кои точно? Например, правим интелигентен рутинг, или реализираме подхода circuit breaker, можем да организираме "canary deployment", частично пренасочвайки трафика към новата версия на услугата, а можем да ограничаваме […]

Istio и Kubernetes в продукция. Част 2. Tracing

В предишната статия разгледахме основните компоненти на Service Mesh Istio, запознахме се с системата и отговорихме на основните въпроси, които обикновено възникват в началото на работата с Istio. В тази част ще разгледаме как да организираме събирането на tracing информация през мрежата. Първото, което идва на ум на много разработчици и системни администратори, когато чуят думите Service […]

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