Метод генерации столбцов для решения задач математической оптимизации большой размерности
Часто, чтобы математическая модель была применима в реальном секторе, необходимо использовать очень много ограничений и большое количество переменных. Задачи, возникающие в бизнесе в реальных условиях, требуют использования моделей с большим количеством ограничений и большим количеством переменных. Временами задача в лоб может и не решиться, поэтому были придуманы различные трюки. Один из них — метод генерации столбцов.
Верните клавишу Scroll Lock
Технический прогресс не всегда прогресс. Ещё на первых компьютерах IBM была клавиша Scroll Lock. Главное её предназначение в текстовых редакторах такое: сделать возможным прокручивание документа, не меняя при этом положения курсора.
Сегодня предполагается, что для прокрутки вы будете использовать мышь — кликните на полосы прокрутки или воспользуетесь колёсиком. Это, конечно, дело привычки, но, наверное, многие согласятся (особенно, те, кто привык проводить время в консоли), что при работе с текстом удобнее обходиться без мыши.
Этот «iPhone» работает на Windows. Что может китайский айфон на винде в 2023?
А вы помните, каким предметом статуса был первый iPhone в своё время? Люди брали ради него кредиты, покупали «серые» аппараты без гарантии, просили друзей купить им яблочный смартфон из США. Конечно, далеко не каждый мог себе позволить оригинальный iPhone в то время, поэтому предприимчивые китайцы начали делать самые разнообразные подделки, которые затем попадали и в СНГ. Айфоны с телевизорами, с 3-симками, с QWERTY-клавиатурами: чего только не придумывал китайский сумрачный гений. Но особенно выделился сегодняшний представитель: это полноценный смартфон на Windows Mobile! Только вдумайтесь: китайцы сделали реплику iPhone на настоящей винде одним из основных конкурентов iOS тех лет!
Сегодня мы с вами попробуем «отреставрировать» девайс, заменим АКБ, заценим «iOS» и посмотрим, на что годится такой коммуникатор в наше время
Жизнь после «Шаттла»: NASP и Hyper-X
Создание многоразового орбитального корабля «Спейс Шаттл» стало триумфом американской авиапромышленности. Но эксплуатация уникальной системы скорее разочаровывала, а катастрофа «Челленджера» сделала необходимость скорой замены «челнока» очевидной. Американцы не стали размениваться по мелочам, а замахнулись сразу на одноступенчатый носитель. Три проекта, бросивших вызов формуле Циолковского, дошли до отработки агрегатов и экспериментальных прототипов. Поговорим о первом из них.
«Становление в качестве менеджера далось мне необычайно трудно. Я трижды брался за это дело и бросал, пока, наконец, мне не удалось утвердиться. И всё дело было в том, что я совершал множество ошибок. С тех пор, когда настало время растить собственную команду и обучать других управлять её частью, я видел, как многие люди в разной степени тоже испытывают трудности — зачастую аналогичные моим.
Ниже я дам небольшую, старательно собранную подборку собственных ошибок и стратегий, которые помогли их преодолеть»
Ошибки, которые совершают молодые менеджеры
Аккумуляторы «Крона»: нюансы и подвохи
Девятивольтовые батарейки, которые в России принято называть «Крона», довольно дорогие: солевые стоят от 60 рублей, щелочные от 130 рублей. В продаже появилось много аккумуляторов в формате «Кроны», позволяющих хорошо сэкономить там, где часто приходится менять такие батарейки. Но есть нюансы.
Консолидация баз данных: этапы, методы и примеры
Сейчас во всём мире объёмы данных растут с невероятной скоростью, и чтобы эффективно использовать их потенциал, требуется правильное хранение и управление информацией. Одним из наиболее эффективных способов решения этой проблемы является консолидация баз данных. Но что это такое и как её правильно реализовать? В этой статье мы разберёмся, какую пользу может принести консолидация баз данных и как её провести на практике.
Ускоряем приложение: никаких фреймворков — только математика
Представьте, что вам нужно ускорить работу огромной легаси-системы с 50 микросервисами, нагрузка на которую выросла в 2000 раз. При этом она обрабатывает затратные по времени операции, которые зависят друг от друга в плане данных.
Первыми на ум приходят стандартные подходы к оптимизации, например, внедрить кэширование или улучшить работу с базой. Но мы поговорим про более необычный, математический способ — алгоритм сетевого планирования. Он помогает составлять технологические карты и находить узкие места в процессах с высокой степенью параллелизма.
На уходящей неделе мы мастерили домашний NAS-сервер, оживляли веб-камеру 1999 года, чинили сломанную Ubuntu и выясняли, зачем Microsoft переписывает код ядра Windows на языке Rust.
Лучшие публикации недели (1-7 мая)
Очерки о китайцах — 3
Сегодня мы продолжим обсуждение особенностей наших восточных друзей и попытаемся понять, почему всё работает так, как изображено на картинке китайской художницы Ян Лю из книги «East meets West».
Людские пробки в метро у эскалаторов. Как с ними бороться?
Каждый ездивший в московском метро в час пик наблюдал картину, когда перед эскалатором собралась большая толпа, а сам эскалатор заполнен едва ли на половину. Это повторяется в метро Москвы повсеместно многие годы подряд. Разберёмся с причиной такого поведения людей.
Долгоиграющие приложения на PHP
Мы часто сталкиваемся с задачами, которые требуют работы нашего кода дольше, чем длится простой HTTP-запрос. Это могут быть как выгрузки данных для интеграции с партнёрами, так и просто приложения, которые должны реагировать на события в системе в момент их появления. Конечно, можно использовать другие языки программирования, но это увеличит стек и усложнит систему.
Разбираем с техлидом в «Авито» Александром Пряхиным, как готовить демонов на PHP — от А до Я, и почему это актуально
Укрощение имён: как нейминг помогает оптимизировать код
Что такое имя? Имя — это ярлык, дескриптор, указатель в вашей памяти. Это краткое изложение сложной идеи. Оно позволяет ссылаться на «экономику» или «догфудинг» в середине предложения, избегая развёрнутого на три абзаца объяснения термина.
Если представить, что разработка программного обеспечения — это просто распределение данных по ячейкам и их маркировка, то становится понятно, почему именование объектов является одной из двух сложных задач в информатике. Объём рабочей памяти мозга ограничен, и хорошее имя позволяет использовать его максимально эффективно. Хорошее имя — всегда лаконичное, вызывающее ассоциации и подходящее по контексту. Оно снижает когнитивную нагрузку и лучше отпечатывается в сознании. Плохое имя — это неясное, вводящее в заблуждение, расплывчатое или явно содержащее недостоверную информацию.
Разработчик Джозеф Гласс делится правилами эффективного нейминга и разбирает их на практических примерах
«Это история о том, как мы обнаружили баг в приложении для Android и упорно пытались доказать, что это баг Google, а потом ещё упорнее пытались заставить компанию его устранить»
Эй, Google, это твой баг!