Чуть более 10 лет назад, когда я служил не очень большим, но и не очень маленьким начальником в федеральном министерстве, мне предложили пройти российско-китайскую программу в Китайской академии руководящих кадров Пудун (CELAP) в Шанхае. Я думал, что это будет очередная командировка с ритуальными поклонами. Оказалось — нет. Совсем.Если говорить ИТ метафорами, нам дали доступ в бэкенд системы управления Китаем. Представьте себе, что вы — инженер, и вас внезапно пригласили заглянуть внутрь исх…
Автор фото — мой отец.Я встречал много людей, которым не нравится их работа. И когда я их спрашиваю, чем бы они занимались вместо неё, около 75% из них отвечают что-то вроде: «Хммм, не знаю. Я бы хотел открыть свою небольшую кофейню!» Если в тот день я в хорошем настроении, я задаю им встречный вопрос: «Тогда где бы ты брал кофейные зерна?»Если они не знают что ответить, то я задаю ещё пару наводящих вопросов:Какие кофейные кружки лучше всего?Сколько стоит эспрессо-машина La Marzocco?Вы бы сам…
История Фила Катца — это классическая IT-драма: блестящий взлёт, жёсткая конкуренция, суды, огромный успех и, в конечном итоге, личная трагедия.Действующие лица на стартеТом Хендерсон, деловой и целеустремленный, предприниматель создал ARC - очень популярная программа-архиватор для эпохи BBS (доинтернетных досок объявлений). Она умела сжимать и собирать файлы в один архив. Распространялась как условно-бесплатная (shareware). Её формат был стандартом де-факто.Фил Катц - молодой, невероятно талан…
Мы можем не замечать странностей мира, в котором живёмИтак, начнёмЕсли бы передо мной была бы поставлена задача сделать какую-то симуляцию, то первым делом на ум приходит всем известная игра «Жизнь» математика Джона Конвея.Есть какое-то пространство, заполненное примитивными элементами, которые меняют своё состояние одномоментно по очень простым законам. Такая механика называется «клеточный автомат».«Жизнь» — это клеточный автомат с очень простыми законами.Что-то стабильно, что-то двигается... …
Бывает полезно проводить валидацию данных из формы ввода и на фронте и на бэке, например чтобы не гонять лишний запрос с заведомо "плохими" данными. Отсюда появляется задача написания двух одинаковых валидаторов для фронта и бэка.Если фронт и бэк написан на одном языке (привет js+node), то мы можем напрямую использовать один код валидатора и там, и там.В остальных случаях (js+php, java, python, go, dotnet) есть проблема. Во-первых, придётся два раза писать примерно одно и то же на двух …
Можно ли подключить сетевой диск к железному серверу за минуту, при этом не выключая его, сохраняя отказоустойчивость и не привлекая инженеров?Я Беляков Алексей — Go-разработчик в Cloud.ru, в статье расскажу, как нам удалось это сделать. Сначала поделюсь кейсами, которые натолкнули на создание такой фичи, затем расскажу, как мы реализовали ее интеграцию со стороны сервиса Bare Metal, а в конце покажу, как всего за минуту можно расширить дисковое пространство физического сервера.Когда локальных …
Привет, Хабр! Меня зовут Александр Митин. Я Java разработчик в компании ИТ-холдинг Т1 с 15 летним опытом, из которых последние 5 лет работаю в финтехе. Мой любимый стек — Java Spring. Я хочу рассказать такое AsyncAPI, как работать со спецификациями, какие есть инструменты и поделюсь нашим опытом перехода на подход API First в наших системах.Синхронное взаимодействиеПрежде чем говорить про AsyncAPI, рассмотрим стандартную схему синхронного взаимодействия.В традиционной модели синхронного взаимо…
Привет! Я — Александр Дудукало, автор базового курса по JavaScript. В прошлой статье мы разобрали работу с объектами в JavaScript, а сегодня поговорим о циклах. Представьте, что нужно написать «Привет» ста друзьям подряд. Руки быстро устанут набирать одно и то же сообщение, а вот компьютер легко справится с таким заданием. Для этого существуют циклы — они позволяют выполнять повторяющиеся действия автоматически.Если вы уже имеете опыт в программировании, то, скорее всего, статья для вас покажет…
Привет! Меня зовут Дмитрий, я руководитель фронтенд-разработки в компании Интелси.Сегодня хочу рассказать о принципе открытости/закрытости (Open-Closed Principle) — втором из пяти принципов SOLID, сформулированных Робертом Мартином в книге Agile Software Development: Principles, Patterns, and Practices. Его суть звучит так:«Программные сущности (классы, модули, функции и т. п.) должны быть открыты для расширения, но закрыты для изменения» (Software entities (classes, modules, functions, etc.) s…