Как стать автором
Обновить

Все потоки

Сначала показывать
Период
Уровень сложности

地形图非线性保密处理算法, или что не так с картами Китая на спутниковых снимках

Время на прочтение8 мин
Количество просмотров19K

Китай — это не просто другая страна. Это другой мир. Необязательно ехать туда, чтобы убедиться в этом. Иногда достаточно зайти в интернет. Например, использовать Google Maps или другие сервисы, чтобы открыть карту Китая. И тогда можно заметить, что расположение объектов (дорог, рек, достопримечательностей и многого другого) на карте и на спутниковых снимках, мягко говоря, не совпадает.

В этой статье хотелось бы рассказать, почему происходит такая путаница и что из этого следует.
Читать дальше →
Всего голосов 83: ↑81 и ↓2+104
Комментарии36

Новости

Compiler Explorer — уникальный проект для исследования компилируемого кода

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров2.8K
Этот пост посвящён замечательному инструменту, полезному для каждого, кто интересуется компиляторами или архитектурой компьютеров. Это Compiler Explorer, который я в дальнейшем будут называть CE.

CE — потрясающий инструмент. Если вы с ним не знакомы, то прервите чтение и перейдите на веб-сайт CE, где вы увидите примерно такой экран:

Предупреждение: вы забираетесь в «кроличью нору», на которую можете потратить несколько часов своего времени.


В основе CE лежит очень простая идея. Достаточно ввести исходный код в левую панель, и сайт мгновенно покажет вам на правой панели скомпилированный результат (обычно на языке ассемблера).

CE поддерживает 69 языков, более двух тысяч компиляторов и широкий спектр архитектур, включая x86, arm, risc-v, avr, mips, vax, tensa, 68k, PowerPC, SPARC и даже древний 6502.

То есть теперь для просмотра результата работы компилятора достаточно открыть godbolt.org и скопировать туда блок кода.

Это само по себе удивительно, но у CE есть гораздо больше возможностей. Это инструмент, который должны знать все интересующиеся компиляторами и архитектурами компьютеров. В статье мы сможем лишь поверхностно рассмотреть функции CE. Вам стоит самим перейти на сайт CE и попробовать всё самостоятельно.
Читать дальше →
Всего голосов 33: ↑32 и ↓1+45
Комментарии4

Ода хейта C++

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров5.4K

Я люблю С++. Это мой основной язык разработки на работе и в домашнем проекте. Я люблю его за скорость, за гибкость и близость к железу. Используя его, я понимаю "что происходит внутри". Я учился на нем программировать, и когда я пишу программы я "думаю на С++".

Я работаю в геймдеве, где С++ все еще популярен и ценится за все эти качества. Так же я много работал с C#, Lua, Python, немного JS и PHP. В общем, есть с чем сравнить.

Однако, у меня есть изрядная доля ненависти к С++. Я вижу в нем кучу проблем, которые не решаются годами. Я вижу как другие страдают от этих проблем.

В этой статье я хочу излить душу, за что я ненавижу С++. Мне от этого станет легче, возможно кому-то еще. Не стесняйтесь писать свой хейт (или защиту), устроим групповой сеанс терапии (или холивар)

Дисклеймер: Не стоит относиться слишком серьезно к этому тексту. Он наполнен душевной болью, и направлен лишь на релаксацию и сброс напряжения

Читать далее
Всего голосов 54: ↑43 и ↓11+44
Комментарии61

Сумасшествие «Артемиды» или почему она обречена на провал

Время на прочтение24 мин
Количество просмотров3.9K

Более полувека назад, 7 декабря 1972 года, с космодрома на мысе Канаверал стартовала ракета, уносящая к Луне трех астронавтов и луноход. После трехдневного полета двое из них спустились на поверхность Луны в хрупком посадочном модуле. В течение трех дней астронавты исследовали лунный ландшафт, собирали образцы пород и испытывали луноход. Затем они вернулись на орбиту, где их ждал третий член экипажа. Вместе они отправились обратно на Землю, приводнившись в южной части Тихого океана 19 декабря 1972 года. Эта миссия, получившая название «Аполлон-17», стала последним на сегодняшний день случаем, когда человек покидал пределы низкой околоземной орбиты.

NASA планирует вернуть американских астронавтов на Луну в конце 2026 года в рамках миссии «Артемида-3». Подобно «Аполлон-17», два астронавта проведут около недели на лунной поверхности, собирая образцы и делая памятные селфи. Однако, в отличие от исторической миссии, «Артемида-3» будет осуществлена без лунохода.

Несмотря на внешнюю схожесть с «Аполлон-17», «Артемида-3» значительно отличается по сложности и стоимости. В то время как «Аполлон-17» была запущена одной ракетой и стоила $3,3 миллиарда (в пересчете на 2023 год), «Артемида-3» потребует десятка запусков тяжелых ракет и обойдется в астрономическую сумму, которую NASA отказывается раскрывать. По оценкам экспертов, стоимость миссии может достигать 7-10 миллиардов долларов.

Сложность «Артемиды-3» поражает: одноразовый посадочный модуль станет самым тяжелым космическим аппаратом в истории, а научный результат миссии – небольшая коробка с лунными образцами – будет меньше, чем у «Аполлона-17». Более того, вся программа зависит от технологий, которые еще предстоит разработать и протестировать в течение ближайших полутора лет.

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

Читать далее
Всего голосов 33: ↑29 и ↓4+34
Комментарии17

Истории

Карсон Гросс, создатель HTMX

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров3.1K


Карсон Гросс (Carson Gross) — профессор информатики из Монтаны, который неожиданно стал одним из самых ярких персонажей в индустрии веб-программирования последних лет. Он автор языка HyperScript и популярной библиотеки для фронтенда HTMX, позволяющей создавать сложные интерактивные сайты средствами HTML. Красивая альтернатива клиентскому рендерингу на JavaScript решает сразу несколько проблем современного веба, связанных с избыточной сложностью разработки и поддержки, производительностью и ожирением сайтов.

Создавать сайты очень просто, тот же Хабр написал один программист, а не команда из сотен разработчиков и девопсов, как сейчас принято нанимать в интернет-компании.

Многие веб-разработчики нашего времени выросли со знанием только одностраничных приложений SPA и фреймворков для них. Они начали свои карьеры с приложений на React.js, которые общаются с сервером Node через JSON API. Это настоящая трагедия, считает Гросс. Интерактивные приложения можно делать совершенно иначе.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+31
Комментарии3

Новые процессоры, апдейт TimescaleDB, кешбэк за S3 и многое другое: что мы обновили в апреле

Время на прочтение5 мин
Количество просмотров1.7K

Привет! С вами снова Саша, технический писатель в Selectel. В этом дайджесте рассказываю, как обновились наши продукты в апреле, раскрываю подробности новых акций и напоминаю о квизе для новичков и профи в IT.
Читать дальше →
Всего голосов 21: ↑21 и ↓0+24
Комментарии0

ИТ-ландшафт производства на 17 тысяч человек

Время на прочтение14 мин
Количество просмотров2.3K
image

Привет, Хабр! Меня зовут Алексей, и я отвечаю за то, чтобы айти на нашем заводе в Выксе работало. Локальные нужды обслуживает моя команда больше сотни человек, нам помогают команды общих сервисов для группы компаний.

У нас всё как у всех, но есть своя заводская атмосфера.

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

Мы росли с обычных «кондовых» контроллеров до четырёх уровней ИТ-систем. Мы обвешивали всё мониторингом (сейчас несколько тысяч точек под постоянным слежением), и да, конечно, у нас были инциденты высокой степени критичности. Много. От первой — высшей — у меня случается нервный тик, от второй — шевелятся волосы на голове, про третью мы узнаём из почты на следующий день.

Пример высокой критичности — экскаваторщик лёгким движением джойстика порвал 9 телефонных сотен и 8 сборок оптических кабелей. Это был тот год, когда про аварию мы узнавали по стационарному телефону, но он молчал. Зашёл коллега, сообщил:

— Бери куртку, пойдём бить экскаваторщика.

Мужик парализовал работу целого цеха. Связь с диспетчером завода была потеряна, а это как выйти в открытый космос и потерять связь с МКС. И началась веселуха — в ход пошли все запасы ПРППМ и витой пары. Только к вечеру на времянках восстановили связь, к ночи заварили оптику.

Заходите, расскажу, что у нас как у всех, а что со своей спецификой.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+21
Комментарии4

Читайте отзывы о компаниях, прежде чем принять оффер

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров2.9K

Случается, что после выхода на работу ожидание после собеседования с компанией не совпадает с реальностью: карьерного роста нет, задачи одни и те же, до менеджмента не достучаться, так еще и обещанную квартальную премию не выплатили. Знаем, потому что проходили через это сами, а еще постоянно читаем и пишем отзывы на компании на Хабр Карьере

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

Читать далее
Всего голосов 12: ↑10 и ↓2+18
Комментарии1

Двоичный поиск против вероятностного

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров2.9K

Внутри Dolt, первой в мире базе данных SQL с полнофункциональными возможностями контроля версий, таится много интересной computer science. Недавно я писал о системе хранения Dolt, в ней есть очень тонкая особенность — применение вероятностного поиска на больших выборках 64-битных целых чисел.

В любом учебном плане по Computer Science есть курс алгоритмов. Моим был CS 102, и одним из пунктов, который объяснялся в нём досконально, было то, что поиск — это, по сути, задача O(log2(N)) при условии, если данные отсортированы. За свою карьеру я многократно встречался с этим в том или ином виде — если сортируешь информацию и сохраняешь её, то стоит ожидать, что для поиска потребуется время O(log2(N)). В общем случае мы соглашаемся на время поиска O(log2(N)), потому что оказывается, что можно перебрать большой объём данных с логарифмическим коэффициентом масштабирования. Эта система работает, потому что мы уже почти автоматически сортируем всё заранее.

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

Будет ли эта статья историей о необязательной оптимизации? Да, будет. В этом конкретном случае поиск будет занимать гораздо меньше времени, чем чтение с диска. Мы говорим о величинах менее чем 0,1% от суммарного времени. Будет ли эта статья историей о преждевременной оптимизации? Нет, не будет. Это бы подразумевало, что мы не осознаём, что время тратится не на то. Эта статья — история о заманчивости алгоритма константного времени.

Читать далее
Всего голосов 13: ↑13 и ↓0+18
Комментарии10

Как мне взбрело в голову свой Notion-like редактор написать

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров1.9K

Мне в голову пришла идея пет-проекта, который изначально никак не был связан с текстовым редактором. Однако, в процессе работы все дошло до того, что пользователям нужно где-то набирать текст. Я люблю Notion и пишу там много и часто, поэтому решил сделать похожий (но сильно упрощенный) редактор в своём проекте. Не столько из нужды, сколько из любопытства, ведь я никогда не занимался ничем подобным и мало что знал о том, как писать текстовые редакторы.

В статье хочу рассказать про атрибут contenteditable у HTML-элементов, про сопутствующие проблемы при его использовании, про кастомное форматирование и про работу с выделенными участками текста.

Читать далее
Всего голосов 14: ↑14 и ↓0+17
Комментарии9

Фантастически быстрый деплой веб-приложения

Уровень сложностиПростой
Время на прочтение18 мин
Количество просмотров2.4K
image

Привет, Хабр! Сегодня поговорим об одном интересном микро-фреймворке для Python — Flask. Мы создадим свое собственное веб-приложение и изучим расширения flask, а после задеплоим его на сервер, чтобы иметь доступ из внешнего мира.

Flask всегда мне нравился, ибо он был минималистичный, быстрый, лёгкий для изучения, и в то же время легко расширялся до полноценного проекта.

Мы затронем все моменты, я объясняю каждую строчку кода. Мы будем создавать не просто какой то статичный сайт — а открытую публичную стену, с регистрацией и авторизацией. Каждый может туда зайти, авторизоваться и оставлять посты на общедоступной стене.

А самое главное — безболезненный, быстрый и легкий деплой будущего приложения.
Читать дальше →
Всего голосов 14: ↑11 и ↓3+16
Комментарии2

Google Search: от идеи до доминирования в Интернете

Время на прочтение11 мин
Количество просмотров782

Прямо сейчас я пишу эту статью в одном из реально удобных сервисов Google Docs. Да и каждый из нас по много раз в день контактирует с каким-то сервисом Google: просматривает почту на Gmail, смотрит ролики на YouTube, ищет информацию в Chrome, пользуется смартфоном на Android и так далее. В общем, Google вряд ли нуждается в представлении.

Но есть у компании и провальные проекты вроде Google Glass. Еще на нее сыплются многочисленные иски от недовольных пользователей, а правительства выписывают многомиллионные штрафы за монополизацию. Тем не менее этот гигант стоит крепко и падать не собирается. Например, недавно Google включился со своим Gemini в нейросетевую гонку с OpenAI.

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

Читать далее
Всего голосов 9: ↑9 и ↓0+14
Комментарии2

Фабрика для std::variant: как объединить compile-time и run-time, чтобы получить выигрыш от обоих

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров1K


Привет, Хабр! Меня зовут Михаил Полукаров, я занимаюсь разработкой Desktop-версии пользовательского приложения для совместной работы сотрудников с любого устройства VK Teams

Если вы тоже работали с большими проектами, где активно применяются объектно-ориентированные паттерны проектирования, то наверняка знаете о быстро нарастающей лавине кода. Такой код сложно писать, изучать и тем более поддерживать. Сегодня я расскажу, как удалось избежать таких сложностей. Поделюсь, как можно использовать современный С++, чтобы совместить compile-time и run-time исполнение, не потеряв при этом в производительности и выразительности кода.
Читать дальше →
Всего голосов 7: ↑7 и ↓0+13
Комментарии0

Ближайшие события

Заставляем машинное обучение делать «брррр» через понимание базовых принципов компьютерных систем

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров1.2K

Итак, вы хотите улучшить эффективность работы своей модели глубокого обучения. Как подойти к такой задаче? Народ в таких случаях часто набрасывается на «сборную солянку» из всяких хитрых приёмов, которые, вроде бы, кому‑то когда‑то помогли, или хватает что‑то, встреченное в каком‑нибудь твите, вроде «Используйте операции, изменяющие исходные данные! Задайте значение None для градиентов! Устанавливайте PyTorch 1.10.0, но ни в коем случае не 1.10.1!».

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

Читать далее
Всего голосов 5: ↑5 и ↓0+13
Комментарии2

Генеративный ИИ в Android и эффективность фоновой работы приложения — важное с Google I/O 2024

Время на прочтение15 мин
Количество просмотров724

Всем привет! Меня зовут Тимур, я Android-разработчик в KTS

Состоялась конференция Google I/O, и наша команда решила выпустить обзор докладов. В этой статье — про интеграцию передового генеративного ИИ в Android-приложения, который предлагает идеальные ответы или даже делает сводку по вашей аудио записи. Также спецы из Google дали практические советы по оптимизации фоновой работы приложения для увеличения времени работы от аккумулятора.

Читать далее
Всего голосов 11: ↑11 и ↓0+12
Комментарии5

Весенняя распродажа в издательстве «Питер»

Время на прочтение1 мин
Количество просмотров2.5K
image

Добрый день, Хаброжители!

Стартовала майская распродажа от издательства «Питер».
Читать дальше →
Всего голосов 9: ↑8 и ↓1+12
Комментарии2

Что делать если отключат Figma? Есть ли альтернативы?

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров3.8K

Существуют ли альтернативы Figma? Обзор основных конкурентов. Есть ли те, которые способны потеснить дизайн-гегемона с первого места?

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии15

РТ МИС снова сокращает. Теперь премии

Время на прочтение3 мин
Количество просмотров3.5K

В декабре 2023 года мы писали о внезапных «сокращениях» в компании РТ МИС — разработчике единой медицинской информационной системы. Тогда причиной расставания с частью сотрудников менеджмент называл сокращение планируемой прибыли компании на 2024 год. О качестве работы сотрудников в 2023 году речи не шло.

В марте 2024 года гендиректор Александр Мартыненко в интервью Cnews утверждал, что команда в 2023 году продуктивно поработала. Были разработаны и запущены несколько новых модулей, 15 регионов достигли требуемого уровня цифровой зрелости в рейтинге Минздрава, были запущены интеграции с Госуслугами во многих регионах, обеспечена возможность удалённой записи к врачу. Он рассказывал и о больших планах на 2024 год. Среди прочего были упомянуты стратегические цели: повышение качества и надёжности продукта ЕЦП. МИС и повышение уровня удовлетворённости заказчиков. О планах по развитию команды и повышению лояльности сотрудников не было сказано.

Читать далее
Всего голосов 23: ↑16 и ↓7+12
Комментарии20

Криминальный электромобиль из Тольятти, а также крышесносная ИИ-ассистентка от OpenAI

Время на прочтение8 мин
Количество просмотров3.3K

Почти все самые важные и интересные финансовые новости в России и мире за неделю: Яндекс стал на две трети российским, банк Юникредит подготовили к ощипыванию, Ревущий котенок вернул мемность в акции, исход ИИ-безопасников из OpenAI, а также приговор разработчику Open Source кода для крипто-миксера Tornado Cash.

Читать далее
Всего голосов 18: ↑13 и ↓5+12
Комментарии7

Apache Superset 2024. Лучшие практики

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров637

Привет, Хабр! Меня зовут Антон, я работаю аналитиком в отделе бизнес-аналитики и анализа доходности в ОТП Банке. В нашей новой статье мы погрузимся в мир Apache Superset 2024 и откроем вам лучшие практики и продвинутые методы работы с этим мощным инструментом. После прочтения вы научитесь мастерски кастомизировать Pivot-таблицы, создавать уникальные цветовые палитры для дашбордов, эффективно настраивать систему алертов и использовать удобные CSS/HTML-шпаргалки для ускорения работы. Эти знания помогут значительно повысить эффективность использования Apache Superset, делая вашу аналитическую работу не только производительной, но и визуально привлекательной. Итак, поехали.

Читать далее
Всего голосов 9: ↑9 и ↓0+11
Комментарии1