Pull to refresh
9
0
Иван Садовой @greblin

User

Send message

Как работает интернет

Level of difficultyEasy
Reading time30 min
Views90K

Если вы полный ноль в интернет-технологиях, и хотите получить общее понимание Интернета, прочитав всего одну статью, то эта статья - для вас.

Здесь вы узнаете о 4 уровнях модели TCP/IP. О том, что такое MAC-адрес и IP-адрес, и зачем нам 2 типа цифровых адресов. Как работает DNS. Зачем нужны коммутаторы и роутеры. Как работает NAT. Как устанавливается защищённое соединение. Что такое инфраструктура открытых ключей, и зачем нужны TLS-сертификаты. Чем отличаются три версии протокола HTTP. Как происходит HTTP-аутентификация. И в конце будет несколько слов о VPN.

Читать далее
Total votes 106: ↑99 and ↓7+112
Comments61

Подробности катастрофы подводного аппарата «Титан», потрясшей весь мир

Level of difficultyEasy
Reading time24 min
Views16K

Здание института океанологии Вашингтонского университета в Сиэтле — яркое современное четырёхэтажное строение с большими стеклянными окнами, в которых отражается залив через дорогу.

Днём 7 июля 2016 года его медленно закрывали.

На входах замигали красные лампочки, и студенты и преподаватели стали выходить из здания под пасмурным небом. В конце концов внутри осталась лишь горстка людей, готовившихся высвободить одну из самых разрушительных сил в мире природы: сокрушительный вес океанской воды толщиной около 2,5 мили.

В помещении для испытаний под высоким давлением на потолке висела чёрная капсула в форме таблетки. Это была масштабная модель подводного аппарата под названием «Циклоп-2», разработанного местной компанией OceanGate, длиной около метра. Генеральный директор компании Стоктон Раш основал её в 2009 году как своего рода чартерную службу подводных лодок, предвидя растущую потребность в коммерческих и исследовательских походах на дно океана. Сначала Раш приобретал для экспедиций старые подводные лодки со стальным корпусом, но в 2013 году OceanGate приступила к проектированию нового, по словам компании, «революционного пилотируемого подводного аппарата». Среди новшеств подлодки был лёгкий корпус, изготовленный из углеродного волокна, который мог вместить больше пассажиров, чем сферические кабины, традиционно используемые в глубоководных погружениях. К 2016 году компания Rush мечтала опустить платных клиентов к самому знаменитому затонувшему кораблю — «Титанику», который находится на глубине 3800 метров под поверхностью Атлантического океана.

Читать далее
Total votes 37: ↑35 and ↓2+53
Comments38

Как я компьютер в Minecraft построил

Reading time11 min
Views18K

Решил я, значит, изучить, как работают компьютеры на самом низком уровне. Это тот уровень, где работают всякие железяки, транзисторы, логические элементы и так далее. Чтобы полностью закрепить материал, я решил построить простенькую ЭВМ на редстоуне в Minecraft. Эта статья о том, как работают ЭВМ на уровне логических элементов и о том, как я построил прототип такой ЭВМ в Minecraft. В конце я оставил ссылку на GitHub-репозиторий с проектом.

Читать далее
Total votes 67: ↑66 and ↓1+75
Comments28

Прокачиваем навыки в сфере ML — что изучать в 2024-м

Level of difficultyEasy
Reading time6 min
Views16K

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

Ритейл, банки, технологические предприятия, компании-разработчики и все те, кто собирает большие массивы неструктурированных данных, для запуска сложных моделей могут использовать вычислительные ресурсы облака. Например, строить нейросети с помощью ML-платформы или использовать объектное хранилище для обработки Big Data.

Но чтобы грамотно использовать инструменты для работы с AI- и ML-задачами, нужно приобрести необходимо знания и навыки. Поможет разобраться в машинном обучении и инструментах для работы с ML-моделями подборка новых и высокооцененных специализированных курсов, книг и других тематических материалов.

Читать далее
Total votes 18: ↑15 and ↓3+17
Comments0

Костюм, Тень, Стена и еще 5 узнаваемых личностей в IT

Reading time10 min
Views5.3K

На работе вам, как правило, встречаются три типа личности: тип А, тип В и тип IT. Последние сильно отличаются от остальных. Мы выделили восемь классических типов личности, которые вы найдете практически в любом достаточно крупном IT-отделе. Некоторые из них это Костюмы, которые были отправлены в IT против своей воли, или Акулы продаж, которые с удовольствием продадут лед эскимосам, как только закончат продавать песок саудитам. В общем, под катом путеводитель по флоре и фауне IT-отдела.

Читать далее
Total votes 13: ↑5 and ↓8+3
Comments10

Как заставить своего тимлида работать

Level of difficultyEasy
Reading time6 min
Views23K

Привет, Хабр! В этой статье я хочу поделиться ситуацией из своего опыта работы, связанной с появлением в команде тимлида, который, к сожалению, не смог завоевать авторитет, зато получил псевдоним "Терплид".

Читать далее
Total votes 49: ↑30 and ↓19+17
Comments58

SOLID и DRY в Go

Level of difficultyEasy
Reading time5 min
Views7.4K

Привет, Хабр!

Все знают, что SOLID и DRY делают код более чистым, гибким и, что немаловажно, понятным для других разрабов. Каждый компонент выполняет свою функцию и вместе они создают гармонию.

В этой статье рассмотрим как эти принципы применяются в golang.

Читать далее
Total votes 12: ↑7 and ↓5+4
Comments8

Сравниваем форматы сериализации на Go: скорость и удобство

Reading time6 min
Views9.3K

Дмитрий Королёв, бэкенд-разработчик в Авито, разобрал на примерах, чем отличаются друг от друга форматы сериализации данных, и как выбрать самый удобный.

Читать далее
Total votes 9: ↑8 and ↓1+8
Comments9

Есть ли будущее у архитекторов и на кого их можно заменить?

Reading time15 min
Views13K

Последние двадцать лет привели к серьезной трансформации технологического ландшафта и работы архитекторов, которые за ним должны следить. Архитекторы работают с технологиями и людьми. Компьютерные технологии за последние десятилетия значительно изменились и продолжают это делать. Люди меняются не так быстро. Однако, для работы с людьми выделяются новые роли: продакт-менеджеры, прожект-менеджеры, тимлиды. Роль и влияние архитекторов не так велико, как раньше, они становятся прерогативой больших компаний.

В статье попробуем разобраться действительно ли роль архитектора незаменима, для чего она нужна, как возникла и работает в реальном мире?

Читать далее
Total votes 20: ↑10 and ↓10+3
Comments24

Почему самые маленькие чёрные дыры искривляют пространство сильнее всего

Level of difficultyMedium
Reading time8 min
Views20K
Симуляция внешнего вида чёрной дыры и окружающего её аккреционного диска, выполненная в 1979 году Ж.-П. Люмине

Идею о существовании в космосе настолько массивного тела, что даже свет не может его покинуть, вкратце изложил английский астроном и священник Джон Мичелл в письме, опубликованном в ноябре 1784 года. Упрощённые расчёты Мичелла предполагали, что у такого тела может быть плотность, сравнимая с солнечной, после чего он сделал вывод, что оно образуется, когда диаметр звезды превышает диаметр Солнца в 500 раз, а скорость убегания с её поверхности превышает скорость света в вакууме. Мичелл назвал эти тела тёмными звёздами. Он правильно отметил, что такие сверхмассивные, но не излучающие тела можно будет обнаружить по их гравитационному воздействию на близлежащие видимые тела. Первоначально учёные того времени были воодушевлены предложением о том, что гигантские, но невидимые «тёмные звёзды» могут скрываться на виду, но энтузиазм поутих, когда в начале XIX века стала очевидной волновая природа света, поскольку если бы свет был волной, а не частицей, то было бы непонятно, как гравитация влияет на убегающие световые волны.
Читать дальше →
Total votes 43: ↑41 and ↓2+59
Comments108

Как воспитать в своей семье юного инженера и не разориться?

Level of difficultyEasy
Reading time8 min
Views20K

Говорят, собственный пример – это самое лучшее обучение для ребёнка. Рассказываю, как я проверил справедливость этого высказывания на себе, с нуля погрузился в робототехнику и в итоге у меня даже получилось сконструировать нечто стоящее. А ещё в процессе я поднаторел в вопросах экономии средств на покупке довольно дорогостоящих деталей для такого вида хобби.

Короче, слушайте
Total votes 52: ↑50 and ↓2+60
Comments32

Сколько стоит содержать виртуальную девушку? Создаем подругу, записывающую кружочки в Telegram, с помощью 4 нейросетей

Level of difficultyMedium
Reading time18 min
Views51K

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

Поговорим о технической стороне. Как повторить этот шедевр и можно ли обойтись без сервисов OpenAI, которые сложно оплатить в России? И главное — сколько придется инвестировать в виртуальную подругу.
Читать дальше →
Total votes 96: ↑91 and ↓5+111
Comments65

Grafana и автотесты: учимся измерять работу тестов

Reading time8 min
Views17K
Управление — трудоёмкая работа, которая усложняется при отсутствии подходящего инструмента. Легко упустить из виду постоянно меняющиеся компоненты и сложно быть в курсе событий: что-то обязательно проходит незамеченным.

Grafana позволяет собрать на одном экране разную информацию:
  • результаты тестов в режиме реального времени,
  • срезы по окружениям, браузерам и чему угодно ещё,
  • скорость выполнения тестов,
  • покрытие тестами страниц и действий на них,
  • результаты релизов.

Этот список можно продолжать и вводить новые метрики для задач тестирования. Расположение метрик на одном экране позволяет получать прозрачные отчёты о тестировании, которые понятны и инженерам, и руководителям. Главное в этом деле — научиться измерять и правильно подсвечивать проблемы. Тогда управлять тестированием станет проще.

На примерах наших тестов покажу, как Grafana помогает в анализе результатов автотестирования, чтобы точнее понимать, что происходит.

image
Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments8

ChatGPT написал Android-приложение

Reading time11 min
Views84K

Вчера чат-бот с искусственным интеллектом ChatGPT написал за меня Android-приложение! Это очень примитивное приложение, но оно компилируется, запускается и работает. Но как он это сделал? С первой попытки или пришлось долго сидеть и мучить его?

Сейчас расскажу!

Читать далее
Total votes 87: ↑84 and ↓3+100
Comments243

Честные модули внутри PHP: теперь они существуют

Reading time15 min
Views9.1K

Низкий порог входа и строгость языка программирования — вещи обычно несовместимые. Потому что ты либо, как Rust, бьёшь по рукам borrow checker’ом — либо, как PHP, позволяешь не задумываться о типах и быстро прототипировать. 

На самом деле, если писать код грамотно, это становится неважным и язык перестаёт иметь значение. Архитектура важнее языка, и хороший код на PHP ничем не отличается от аналогичного кода на любом другом ООП-языке. Другое дело, что возможность «любой домохозяйке» писать на PHP сопровождается и риском наворотить полное неподдерживаемое безобразие. Поэтому нам нужны тайпхинты, линтеры, статические анализаторы и подобные инструменты. 

Но в PHP есть и ещё один изъян: в нём любой класс, функция или константа — глобальны. Можно создать класс из любого места в коде, и нет способа скрыть его или сделать деталью реализации где-то в отдельной папке. Иными словами, в PHP нет того, что в других языках называется модулями.

Наша новая open-source разработка называется Modulite и внедряет в PHP модули. Это сквозная технология: мы внедряемся в IDE, в PHPStan, в KPHP, в CI, в Composer — и делаем так, будто бы модули нативно есть в языке PHP.

Читать далее
Total votes 46: ↑43 and ↓3+55
Comments10

6 Устойчивость систем автоматического регулирования. Теоремы Ляпунова. Критерий устойчивости Гурвица

Reading time9 min
Views28K

Продолжаем лекции по управлению в технических системах предыдущие части:

1. Введение в теорию автоматического управления.2. Математическое описание систем автоматического управления 2.1 — 2.32.3 — 2.82.9 — 2.13.

3. ЧАСТОТНЫЕ ХАРАКТЕРИСТИКИ ЗВЕНЬЕВ И СИСТЕМ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ РЕГУЛИРОВАНИЯ. 3.1. Амплитудно-фазовая частотная характеристика: годограф, АФЧХ, ЛАХ, ФЧХ3.2. Типовые звенья систем автоматического управления регулирования. Классификация типовых звеньев. Простейшие типовые звенья3.3. Апериодическое звено 1–го порядка инерционное звено. На примере входной камеры ядерного реактора3.4. Апериодическое звено 2-го порядка3.5. Колебательное звено3.6. Инерционно-дифференцирующее звено3.7. Форсирующее звено.  3.8. Инерционно-интегрирующее звено (интегрирующее звено с замедлением)3.9. Изодромное звено (изодром)3.10 Минимально-фазовые и не минимально-фазовые звенья3.11 Математическая модель кинетики нейтронов в «точечном» реакторе «нулевой» мощности.

4. Структурные преобразования систем автоматического регулирования.

5. Передаточные функции и уравнения динамики замкнутых систем автоматического регулирования (САР).

Теперь перейдем к устойчивости!

Читать далее
Total votes 22: ↑22 and ↓0+22
Comments10

Архитектура — зеркало корпоративных ценностей

Reading time19 min
Views3.4K

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

Для IT компаний архитектура — базис, на котором выстраиваются все продукты и подходы. Но, у архитектуры тоже должна быть основа. Интересно, что будет, если мы будем выстраивать её из ценностей? Не тех, которые плакатами развешаны на кухне, а тех, которые живут «в курилке», на которых сформировалась компания и коллектив.

Читать далее
Total votes 10: ↑9 and ↓1+11
Comments3

Domain Driven Design: модели вместо требований

Reading time6 min
Views8K

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

Решение — подход DDD, Domain Driven Design, было предложено Эриком Эвансом в 2003. Но прежде, чем о нем говорить, необходимо немного углубиться в историю развития разработки софта как такового.

Читать далее →
Total votes 9: ↑6 and ↓3+4
Comments36

Ищем значение числа Пи, используя генератор случайных значений

Reading time2 min
Views20K

Представьте, что у вас есть функция random(), которая генерируют случайным образом значения в промежутке [0;1]

Вычислите значение числа \pi

Это задачка с реального собеседования, будем разбираться!

Читать далее
Total votes 57: ↑45 and ↓12+47
Comments42

Вы неправильно пишете животных

Reading time5 min
Views381K
Животные – это платформы с очень ограниченной памятью, вычислительными способностями и возможностями модификаций. Разработчикам энимал-сцены приходится выдавать практически гениальные низкоуровневые алгоритмы. Правда, большое количество хардкода вызывает характерные проблемы с отсутствием проверки в экзотических условиях. Та же фильтрация входных данных делается очень и очень криво.


Уязвимость рекурсивных алгоритмов навигации муравья: спираль смерти

Не знаю, кто писал большую часть птиц, но я хочу обратить внимание на особенность, позволяющую провести инъекцию произвольного яйца в гнездо. Дело в том, что птица проверяет только расположение и количество яиц, но не их хэши. В 20% случаев кукушка, эксплуатирующая этот баг, может внести яйцо с сохранением контрольной суммы, чего вполне достаточно для повышения прав в гнезде.

Но пойдём далее. Я не знаю, кто разрабатывал архитектуру ящериц, но они бегают в одном процессе, а дышат в другом. При этом платформа не поддерживает многозадачность, поэтому костыль с максимальной длиной бега в 4-6 секунд просто эпичен.
Читать дальше →
Total votes 442: ↑438 and ↓4+434
Comments352
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

Backend Developer, Software Architect
Lead
From 380,000 ₽
Golang
High-loaded systems
Designing application architecture
Kubernetes
PHP
MySQL
MongoDB