Pull to refresh
27
0
Михаил Мельник @mike114

User

Send message

Новые операционные системы 2021 и 2022 года

Reading time7 min
Views62K


В конце 2021 года мир увидел прекрасную операционную систему Essence с рядом функций, которых по умолчанию нет в популярных ОС, таких как Windows, MacOS или Ubuntu. Например, векторный UI и группировка окон по вкладкам (табам), как на скриншоте вверху. Действительно, очень удобно. Даже странно, почему никто из «больших» ещё не реализовал.

Essence — не единственная система, созданная с нуля одним человеком или небольшим коллективом. Есть такие феномены и в России.
Читать дальше →

Начала Docker для юнги

Reading time7 min
Views45K

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

Окунуться

Реальный Windows. Пишем realtime под окошками

Reading time11 min
Views16K

В этом тексте я делюсь трюками, с помощью которых удалось заставить Windows стать чем-то похожим на операционную систему реального времени.

Читать далее

Введение в мониторинг серверов с помощью Prometheus и Grafana

Reading time4 min
Views97K

Мониторинг нужен всем: и серверам крупных технологических компаний и домашним Raspberry PI. Мониторинг позволяет узнать, когда сервер выходит из строя, когда заканчивается дисковое пространство и даже когда подходит время апгрейда.

В этой статье рассмотрим настройку базового мониторинга с помощью Prometheus, Node Exporter и Grafana.

Читать далее

Среды запуска контейнеров (container runtimes) Часть 1: Введение в среды запуска контейнеров

Reading time6 min
Views15K
От переводчика:
Это перевод статьи Container runtimes Part 1: An Introduction to Container runtimes.
Автор оригинальной публикации: Ian Lewis.


Один из терминов, который вы часто слышите, имея дело с контейнерами — «container runtime» (далее «runtime» переводится как «среда запуска» — прим. переводчика). «Среда запуска контейнеров» может иметь различные значения для разных людей, так что нет ничего удивительного в том, что это такой сбивающий с толку и смутно понятный термин, даже в самом сообществе пользователей и разработчиков Docker.

Этот пост — первый в серии, которая состоит из 4 частей:

  1. Часть 1: Введение в среды запуска контейнеров: почему они так сбивают с толку?
  2. Часть 2: Глубокое погружение в низкоуровневые среды запуска (eng)
  3. Часть 3: Глубокое погружение в высокоуровневые среды запуска
  4. Часть 4: Среды запуска в Kubernetes и CRI

Этот пост объяснит что такое среды запуска контейнеров и откуда столько недопонимания. После этого я углублюсь в различные типы сред запуска контейнеров, что они делают и как они отличаются друг от друга.


(На картинке игра слов: Не уверен относится ли это к средам запуска Kubernetes контейнера, низкоуровневой среде запуска контейнера или продолжительности фильма — примечание переводчика)
Читать дальше →

Just-in-Time Kubernetes: Руководство начинающим для понимания основных концепций Kubernetes

Reading time11 min
Views34K

Итак, вы хотите освоить Kubernetes. Это такой технологический хайп, о котором, кажется, говорят все. Я затрудняюсь сказать, сколько рекрутеров обращались ко мне с предложением поработать с Kubernetes. Kubernetes — это определенно круто!

Читать далее

Публикуем проект с помощью Gradle и Sonatype в Maven Central без рук

Reading time5 min
Views11K

Это такое приятное чувство, когда ты закончил какую-то задачу. А особенно когда твой проект уже готов к релизу. Остался лишь последний шаг.

Публикация проекта в Maven Central, имеено об этом я расскажу в этой статье. Как настроить Gradle, чтобы потом без труда настроить CI.

Читать далее ->

Как понять, что перед вами плохой разработчик

Reading time12 min
Views181K

Мало просто сменить свою сферу работы на IT, желательно еще и стать хорошим разработчиком. Бывший тимлид и консультант Александр Усков рассказывает, как понять, что перед вами плохой разработчик и что с ним вообще можно делать

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

Читать далее

Как подключиться к базе данных с помощью CSS

Reading time6 min
Views33K

К старту курса по Fullstack-разработке на Python делимся материалом о том, как при помощи современных возможностей CSS и JS — ворклетов и API Houdini — подключиться к базе данных и выполнять запросы к ней. За подробностями приглашаем под кат.

Читать далее

Рецепты Nginx: авторизация через auth0

Reading time3 min
Views9.2K

Для приготовления авторизации через auth0 нам понадобится сам nginx и его плагины encrypted-session, headers-more, auth_request, set-misc, echo, json, evaluate и jwt. Можно также воспользоваться готовым образом.

Для начала

Детройт: как мировая моторная столица дошла до банкротства

Reading time19 min
Views72K
Слева район Highland Park, территория штата Мичиган, справа – территория Детройта. Источник: Johnny Miller

Мировая моторная столица (Motown), родина американского среднего класса, арсенал демократии — как только не называли Детройт на пике могущества в 1950-е гг., когда его население достигло 1,85 млн человек. Сегодня же оно едва дотягивает до 640 тыс. и продолжает сокращаться. Что произошло? Однозначного ответа нет, но причин одновременно несколько. Здесь и расовое противостояние, ошибки городского планирования, большая политика, ослабление конкурентоспособности американских автоконцернов, их бегство из-за роста социальной нагрузки после победы профсоюзов. Да и много ещё чего, что в комплексе привело в 2013 г. к крупнейшему в истории США муниципальному банкротству.

Но обо всём по порядку.
Читать дальше →

Анимация фотографии. Раскрытие рта

Reading time2 min
Views4.4K

В настоящее время существуют программы,позволяющие анимировать статические фотографии. Прежде всего, речь идёт об анимации лица и создании определённой мимики. Теоретически задача решается достаточно просто. Берём 3Д модель черепа и добавляем к ней основные лицевые мускулы. Фотография рассматривается как текстура, помещаем текстуру на 3Д модель и и проводим эксперименты с сокращениями определённых групп мышц. При реализации данной схемы возникает большое количество проблем. Одна из основных -- изменение текстуры при сокращении заданных мышц. Известны и удачные решения этой задачи, реализованные, в приложениях, ссылки на которые можно найти в Интернете. При этом существенно используются нейронные сети либо анимация осуществляется по определенным шаблонам. В данной статье рассматривается простейший случай, когда надо открыть рот на фотографии, сделанной анфас. Оказывается, что в этой ситуации достаточно обычной квадратичной интерполяции. Ссылка на ролик, где реализована данная схема помещена в конец статьи.

Читать далее

Разбираемся в особенностях строения мозга врановых

Reading time4 min
Views25K

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

Проблема заключалась в следующем: поскольку исследования психики базировались в первую очередь на матчасти хомосапиенсов (по очевидным причинам), во вторую на приматах (как близких родственниках), а в третью – на млекопитающих в целом, долгое время самоочевидной вещью считался тот факт, что за ВНД отвечает неокортекс. Нет неокортекса – нет ВНД. А поскольку неокортекс отсутствует у птиц как явление, вопрос птичьего интеллекта закрыли, толком не открыв. Архитектура ЦП не позволяет. Точка.

Читать далее

Как работать с Minikube: рекомендации и полезные советы

Reading time5 min
Views31K

Kube Earth by Anarki3000

Minikube — популярное решение для запуска локального кластера Kubernetes на macOS, Linux и Windows. Несмотря на большой набор функций и кроссплатформенную поддержку, Minikube всё же отличается от полнофункционального кластера Kubernetes.

Часто это сбивает с толку разработчиков и новых пользователей Kubernetes, которым нужно протестировать приложение в локальной среде. Команда Kubernetes aaS VK Cloud Solutions перевела статью о том, как наладить беспроблемную работу с Minikube.
Читать дальше →

Может ли «плохая» осанка на самом деле быть для нас лучше?

Reading time5 min
Views39K


Моему другу 33 года. Он руководитель своей IT-фирмы, у него несколько квартир, очень состоятельный человек. И при этом у него уже который год болит спина. Он это активно не лечит, слишком много других занятий, но пассивно сделал, казалось бы, уже всё, что можно. Купил себе крутейший стул, начал меньше сидеть, занимается спортом. А главное — когда сидит, представляет собой прямо-таки образец прямой спины, точно как на фото выше. И он сидит так столько, сколько я его знаю, еще со времен вуза, подает всем пример. А спина все болит.


При этом мне стыдно, потому что я сижу как попало. Чаще всего закинув ноги на стол, или свесившись в одну сторону, или даже опершись головой о чашку на столе. По 16 часов в день. Ему больно на меня смотреть. А спина не болит, вообще.


Полез проверять, есть ли в этом подвох.

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

Мартышкин труд. Штукатурим комнату в доме под снос

Reading time3 min
Views6.8K

Предположим, вы устраиваетесь на новую работу, заполняете кучу бумажек. Один из вопросов в короткой незатейливой анкете звучит примерно так: «Вы бы согласились за хорошие деньги отштукатурить комнату в доме под снос?» Некоторые ответят на этот вопрос утвердительно: «Почему бы и нет? За работу заплатят, а что будет дальше — меня не касается». Другие ни за что не согласятся выполнять бесполезную работу, так называемый «мартышкин труд». В крайнем случае — за неприлично большие деньги. Разработчики некоторых программных систем вынуждены отвечать на этот вопрос утвердительно.

Читать далее

Основатель Signal: «Первые впечатления от web3»

Reading time15 min
Views81K

Несмотря на то, что я считаю себя криптографом, меня не особенно привлекает слово "крипто". Не думаю, что я уже староват, но я гораздо чаще кликаю на мемы в духе "Интернет всё помнит" о том, как "крипто" раньше означало "криптография", чем на последние новости об NFT.

Но учитывая всё то внимание, которое в последнее время уделяется тому, что сейчас называют web3, я решил более тщательно изучить всё происходящее в этой сфере, чтобы точно ничего не упустить...

Читать далее

Как работает аллергия и что такое «прививка от аллергии»

Reading time8 min
Views24K
image

Аллергия — это ошибка нашей иммунной системы, избыточная реакция на какой-то внешний фактор, который такой реакции вообще-то не требует. Некоторые виды такой реакции связаны с неправильными антителами среди иммуноглобулинов Е. Аллергия — один из видов такой реакции.

Работает это, сильно упрощая, следующим образом:

  1. В организм попадает какой-то инородный белковый агент, например, кусок пищи.
  2. Подсистема защиты организма от паразитов (как раз IgE) распознаёт его как что-то похожее по химическому следу на ленточного червя.
  3. Реакция ведёт к высвобождению большого количества медиаторов воспаления, среди которых главный в процессе — гистамин.
  4. Гистамин делает две вещи: поднимает тревогу для других подсистем иммунитета и расширяет сосуды, заодно уменьшая клетки их эндотелия, чтобы образовались просветы в сосуде для доставки «‎сил быстрого реагирования»‎ из кровотока к месту проникновения.

Всё это очень похоже на взрыв химической бомбы внутри организма. В зависимости от того в каком органе началась вечеринка, дальше это проявляется конъюнктивитами (если экзогенный белок прошёл через слизистую глаза), кожными реакциями, проблемами с ЖКТ или с дыханием.

Но прежде чем мы перейдём к лечению, придётся узнать, кто такие антигены и тучные клетки.
Читать дальше →

Масштабируем Jetpack Compose Navigation

Reading time6 min
Views8.8K

В одном из моих личных проектов я решил использовать Jetpack Compose в качестве основной технологии. Это означало, что моё приложение будет иметь одну Activity, а вся навигация будет выполняться с помощью Compose. Когда я начал планировать проект, библиотеки Compose Navigation ещё не было, как не было и способа внедрить ViewModel в Composable без использования компонентов Activity, Fragment или View. 

Но примерно за полгода до публикации этой статьи появилась библиотека Jetpack Compose Navigation, и Dagger-Hilt стал поддерживать Compose. Сегодня я расскажу о моём пути: поделюсь видением проблемы масштабируемости навигации на примерах Google и предложу её возможное решение.

Читать далее

Заговор против IE6

Reading time8 min
Views42K

У невероятного роста Youtube есть одно последствие, радостное и грустное одновременно - множество историй потеряются под слоями новой краски. Именно поэтому я хочу рассказать одну из них - историю того, как 10 лет назад маленькая команда веб-разработчиков задумала убить IE6 с помощью Youtube и даже не получила за это по шапке.

Я не могу вспомнить то конкретное событие, из-за которого наша команда разработки начала строить планы убийства браузера за обедом в столовой Youtube. Возможно, в тот раз я случайно отправил в релиз CSS-стиль, где был указан селектор атрибута на нестандартном HTML-элементе. Любой здравомыслящий веб-разработчик предположил бы, что если браузер не может распознать элемент - он молча пропустит данное описание. Но со старыми версиями IE дело обстояло не так. В определенных условиях это приводило либо к внутренней рекурсии и падению браузера (если повезет), или даже к синему экрану смерти (если не повезет).

А может быть, в сотый раз кто-то из наших разработчиков использовал тег <img> без указания атрибута src. От новичков никто не требовал быть в курсе, что в старых версиях IE вместо пустого аттрибута src подставляется корневой путь ("/"). Это внезапно превращает тег <img> в <iframe>, загружая главную страницу и все связанные с ней ресурсы, что может привести к бесконечной рекурсии. Когда пустой тег <img> случайно просачивался на главную страницу - вся команда в экстренном режиме искала его, пока сервера не расплавились под нагрузкой.

В общем, не вдаваясь в подробности - это была настоящая жесть, и она была связана с IE6. Этот браузер сильно отравлял жизнь всей нашей команде разработки. По меньшей мере 1-2 недели из каждого мажорного релиза отводились на то, чтобы заставить новый UI работать под IE6. Несмотря на всю эту боль, нас заставляли поддерживать его ради пользователей, которые не могут обновиться или работают в компаниях, где обновление запрещено политиками безопасности. Пользователи IE6 на тот момент составляли примерно 18% от общего числа. Все понимали, что просто так прекратить его поддержку нельзя, но когда мы сидели в той столовой после нескольких бессонных ночей, на сопереживание тем несчастным пользователям просто не оставалось сил. Мы начали коллективно фантазировать о том, как отомстить IE6. Одна идея сразу привлекла всеобщее внимание: а что, если мы просто пригрозим прекратить поддержку? Как отреагируют пользователи? Они поднимут бунт против Youtube, начнут присылать нам письма с угрозами расправы (как это уже случалось раньше)? Или вдруг станут апологетами новых браузеров? Мы мечтали о том, как офисные работники по всему миру внезапно начнут придумывать причины, по которым обновление браузеров жизненно необходимо для бизнеса, а бабушки и дедушки возьмут своих технически прошаренных внуков в заложники, чтобы те "починили им ютубы". То, что началось как сеанс групповой психотерапии, стало превращаться в конкретный план действий, для реализации которого у нас были уникальные условия.

Читать далее

Information

Rating
Does not participate
Location
New South Wales, Австралия
Date of birth
Registered
Activity