Search
Write a publication
Pull to refresh
4
0.2
Send message

Как в Канаде инженеры меняли крупнейший в мире авиадвигатель при температуре в -40 °C

Reading time5 min
Views64K

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

Читать далее

Как организовать безопасное хранение секретов в Docker: лучшие практики

Level of difficultyMedium
Reading time6 min
Views18K

Хей, Хабр! Секреты — это такая щекотливая тема, из‑за которой у безопасников начинаются нервные подёргивания глаза. Вроде бы «просто пароль» или «просто токен», но в 2025 году мы уже знаем, что просто в безопасности — это верная дорога к утечкам и ночным обкаткам плана B. В этой статье поговорим, как правильно хранить секреты в Docker‑контейнерах и окрестностях, а заодно разберёмся, чем могут помочь Docker Secrets, HashiCorp Vault и компания.

Читать далее

Cовмещаем Haproxy, Vless, WebSocket, VPN и сайт на одном порту

Level of difficultyHard
Reading time13 min
Views23K

Cовмещаем Vless, WebSocket, VPN и сайт на одном порту средствами Haproxy, создаем альтернативу VPN на основе WebSocket.

Читать далее

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

Level of difficultyEasy
Reading time6 min
Views44K

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

Читать далее

ChatGPT и молодое поколение

Level of difficultyEasy
Reading time8 min
Views31K

Интересный пост увидел на реддите про то, как молодое поколение использует ChatGPT для бездумного решения домашних заданий заданий

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

Давайте обсуждать, ждет ли нас «Идиократия»

Читать далее

Senior. Туда и обратно: что я сначала не понимал в своей карьере, а потом как понял

Reading time14 min
Views54K
За шесть лет в IT, и в команде Machine Learning Technologу Research «Лаборатории Касперского» в частности, я прошел путь от стажера до Data Science Team Lead. Шел честно :) И на каждой ступени проходил через разные нюансы, о которых и хочу рассказать в этой статье. Полагаю, мой опыт будет полезен как начинающим коллегам, чтобы увидеть для себя недостающие аспекты профессионального роста, так и более опытным специалистам, чтобы отрефлексировать свой опыт и задуматься о том, что помогло им в карьере. Кстати, было бы здорово послушать и о ваших аспектах роста в комментариях :)


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

Собрал в одном большом гайде всё, что хотел бы знать, когда изучал язык C

Reading time27 min
Views54K

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

Своим постом автор Jenny Jam* пытается заполнить этот пробел. Он рассуждает, когда C — идеальный выбор, а когда лучше обратиться к другим языкам. Описывает, как настроить среду разработки и выбрать инструменты, разобраться в версиях, особенностях сборки и тонкостях работы с библиотеками.

Цель статьи — упорядочить представление о языке C и его экосистеме, и, конечно, дать практические советы, которые пригодятся в реальных проектах.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис

Читать далее

Руководство по разработке эмулятора NES (перевод)

Level of difficultyMedium
Reading time53 min
Views3K

Перевод статьи по эмуляции Nes. Но я считаю что данная информация подойдёт и для любой другой эмуляции консолей/приставок (зная определённую эмуляцию, проще реализовать какую-то другую).

Материал документа где-то устарел, но по большей части актуален по сей день.

ознакомиться

Как перевести деньги с карты на карту между Россией и Казахстаном в 2025 году: Советы и лучшие способы

Level of difficultyEasy
Reading time4 min
Views82K

Между Россией и Казахстаном существует высокая активность денежных переводов, обусловленная тесными экономическими и культурными связями. В последние три года на фоне геополитических изменений и финансовых ограничений отправка средств между странами стала сложнее, но осталась возможной благодаря различным инструментам, доступным пользователям. Рассмотрим основные способы перевода денег, их экономические преимущества, недостатки и связанные с ними затраты.

Читать далее

Развитие строительных технологий в Civilization VI

Level of difficultyEasy
Reading time10 min
Views16K

Всем внимание! Новая партия начинается!

Давайте рассмотрим, насколько хорошо дерево технологий передает развитие строительных технологий? Чтобы ответить на этот вопрос, мы изучим дерево технологий Civilization VI и найдем там основные технологии связанные со строительством. Давайте же посмотрим, что удалось найти!

Приятного чтения!

Читать далее

Укрощение кислорода и подводные камни терраформирования

Reading time12 min
Views16K

Терраформирование — одна из самых долговечных (но не самых древних) идей в научной фантастике. Не подвергается сомнению, что скалистые планеты у других звёзд обживаемы, при условии, что на них есть гидросфера и атмосфера, и залог колонизации этих миров — приближение их биохимических, геохимических и климатических характеристик к земным. Более того, в фантастике рубежа XIX и XX веков, вдохновлённой мечтами об обитаемости Марса (Уэллс и Берроуз) не подвергается сомнению, что марсиане свободно дышали бы на Земле без средств жизнеобеспечения, а на своей планете даже искусственно поднимали бы уровень кислорода при помощи специальных атмосферных фабрик. Один из самых зрелищных эпизодов терраформирования Марса в кинофантастике — это финал фильма «Вспомнить всё» (1990). Но уже в книге «Голубая точка» Карла Сагана, оригинал которой вышел в 1996 году, терраформирование Венеры описывается как экологическая катастрофа, поскольку резкое и даже поступательное насыщение любой планеты газообразным кислородом и водяным паром приведёт к фундаментальной перестройке условий на поверхности планеты и, возможно, в её глубинах. С накоплением данных об экзопланетах (в основном эта информация собрана космическими телескопами Kepler, TESS и Cheops) требуется уточнить, каковы приемлемые рамки увлажнения и оксигенации экзопланеты, чтобы на ней могла существовать жизнь. В этой статье будет рассмотрено, сколько кислорода действительно нужно для жизни, каковы риски дефицита или избытка кислорода в атмосфере, а также какие факты об этом уже известны из изучения экзопланет.    

Читать далее

Негостеприимные красные карлики. Об ультрафиолетовой зоне обитаемости

Reading time9 min
Views6K

Одна из самых больших дискуссий в моём блоге на Хабре развернулась под статьёй «Укрощение кислорода и подводные камни терраформирования», опубликованной в апреле 2023 года (+69, 15k просмотров, 237 комментариев). В этой статье я затрагивал, в том числе, и тему «кислородной катастрофы», то есть, крайней губительности кислорода для первых анаэробных организмов. Об эволюционном смысле кислородной катастрофы подробно рассказывает знаменитый популяризатор науки Сергей Ястребов в статье «Кислородная революция и Земля-снежок», вышедшей в 2016 году в журнале «Химия и жизнь». Тема кислородной катастрофы на Хабре исследована слабо (но затрагивается в ещё одной чрезвычайно удачной статье «Мы уникальны. И, вероятно, одиноки», которую уважаемый @Barrayar опубликовал в блоге компании VK), поэтому заинтересовавшихся ею отсылаю, прежде всего, к статье господина Ястребова. Но здесь я затрону смежный вопрос, всерьёз интересующий современных астробиологов: а как быть с тем, что первая жизнь на Земле образовалась в практически бескислородный период, при отсутствии озонового слоя? Модели, описывающие роль ультрафиолета на ранних этапах биологической эволюции, сегодня даже заставляют выделять специфическую «ультрафиолетовую зону обитаемости» и присматриваться к доле ультрафиолетового излучения в спектре звёзд M и K (красных и оранжевых карликов). О соотношении убийственной и живительной роли звёздного ультрафиолета поговорим под катом.   

Читать далее

Суперкомпьютер Эльбрус-3

Level of difficultyMedium
Reading time16 min
Views15K

История Эльбрус-3

В период с 1984 по 1985 год, когда завершалась разработка первых процессоров «Эльбрус-2», команда Эльбруса под руководством Бориса Арташесовича Бабаяна приступила к предварительным работам над машинами следующего поколения. В 1985 году ИТМиВТ получил государственный заказ на проектирование и создание машины с теоретической максимальной производительностью в 10 ГФлопс. Основные требования к «Эльбрусу-3» оставались такими же, как и к «Эльбрусу-1» и «Эльбрусу-2». Особое внимание уделялось высокой производительности как в научных, так и в универсальных вычислениях, надёжности и совместимости программного обеспечения с ранними моделями «Эльбруса».

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

Планировщик мог учитывать в лучшем случае до 32 инструкции наперёд (общее количество буферных станций, содержащих инструкции и операнды или адреса операндов в каждом функциональном блоке). Часто этого было недостаточно, особенно в случае передачи условного управления (ветвления кода). Более того, динамическое планирование существенно затрудняло отладку. Невозможно было статически определить точный порядок исполнения инструкций. Вариативность в планировании одного исполнения к другому также влияли на показатели производительности. Бабаян отмечает, что ему было крайне трудно демонстрировать работу системы приёмной комиссии по причине того, что не удавалось добиться повторяемости результатов измерения производительности. По этим причинам было решено использовать конвейерные функциональные блоки и сосредоточиться на статическом планировании исполнения команд.

Читать далее

Героические цивилизации — пишу гибрид двух легендарных игр

Reading time6 min
Views4.3K

Всем привет! Я решил написать компьютерную игру и хочу в этой статье поделиться задумкой, тем, чего уже удалось добиться и пригласить желающих присоединиться. Идея - соединить две любимые стратегии: Цивилизацию и Героев меча и магии в единый концепт, чтобы объединить плюсы обоих игр и получить много новых игровых механик.

Читать, куда уже продвинулась игра

Почему во Вселенной материи больше, чем антиматерии?

Level of difficultyEasy
Reading time7 min
Views7.8K


Существование антиматерии было предсказано уравнением физика Поля Дирака, описывающим движение электронов в 1928 году. Сначала было неясно, является ли это просто математической причудой или описанием реальной частицы. Но в 1932 году Карл Андерсон, изучая космические лучи, падающие на Землю из космоса, открыл антивещественного партнёра электрона — позитрон. В течение следующих нескольких десятилетий физики обнаружили, что у всех частиц материи есть партнёры-двойники из антиматерии.

Считается, что частицы антиматерии и материи представляют собой зеркальные копии друг друга. Антивещество можно рассматривать как вещество с обратным зарядом, чётностью и временем (по крайней мере, теоретически). Антиматерия возникает в таких природных процессах, как столкновения космических лучей и некоторые виды радиоактивного распада, и очень малую часть из таких античастиц удалось успешно соединить в экспериментах в антиатомы. Макроскопического количества антивещества учёные ещё никогда не получали (привет Дэну Брауну).
Читать дальше →

Деплоймент нескольких ASP.Net Core-приложений на VPS сервере и настройка доступа к ним по доменному имени 3-го уровня

Level of difficultyEasy
Reading time3 min
Views3.1K

Деплоймент нескольких ASP.Net Core-приложений на VPS сервере с Ubuntu и настройка доступа к ним по доменному имени 3-го уровня.

Читать далее

Оптимизация запросов SQL Server V/S PostgreSQL: есть куда расти?

Level of difficultyHard
Reading time15 min
Views9.1K

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

Здесь я привожу четыре случая, когда SQL Server позволяет строить планы запросов значительно более оптимальные, нежели это доступно PostgreSQL используя как более широкое пространство возможных планов, так и более совершенные методы оценок эффективности планов. Эти примеры: использование тредов, расширенная статистика, кэширование промежуточных результатов запроса и внутренняя параметризация. Примеры независимы и все кроме первого содержат скрипт воспроизведения - можно сразу листать на ту часть, которая выглядит интереснее.

Полагаю, знание о таких кейсах может быть полезным. Как минимум уменьшит количество стресса при миграции на PostgreSQL и возможно заинтересует кого-то настолько, чтобы начать свой проект в open-source сообществе разработчиков СУБД.

Читать далее

RP2040. Асинхронный вывод в UART по прерываниям

Level of difficultyMedium
Reading time5 min
Views6.1K

Это статься для «ардуинщиков» на платформе RP2040. В ней расскажу, как программировать асинхронный вывод в UART на C с помощью прерываний. А также затрону тему почему я выбрал для себя PR2040 и мигрировал на него с платформы STM32.

Читать далее

Фундаментальная математика — теория всего в IT и не только. Теория типов и формализация в Coq

Reading time38 min
Views15K

У нас есть 3 "теории всего" - научная картина мира (все сводится к законам физики), информатика (все сводится к битам) и фундамент математики (все сводится к логике). Именно фундамент математики представляет особый интерес, так как он является фундаментом для двух других фундаментов и имеет глубокий философский смысл. Последние 2 года я сильно им увлекся и проделал довольно большую работу по углубленному изучению теории типов (Calculus of Constructions), и готов поделиться результатами, а также рассказать о девяти направлениях, где можно применить это на практике. Очень многое получилось лучше, чем я планировал. Изначально перспективы были не очень понятными, и поэтому я не рассказывал друзьям и коллегам про мою работу в этом направлении и называл это «Секретный Проект». Но теперь, когда многое прояснилось и получилось, можно поделиться успехом. Собственно, в этой статье я расскажу вам не только про сам фундамент математики, а еще его связь с ежедневной работой программиста, а также с Computer Science/Data Science и AI/ML. Я вам нарисую большую и красивую картину, на которой все понятно и логически следует из маленького набора правил выведений типов (11 штук) и аксиом теории множеств (9 штук).

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

Читать далее

Как типы делают сложные задачи простыми

Level of difficultyMedium
Reading time20 min
Views20K

Последнюю пару лет мой мозг программиста всё больше увлекался типами, принципами функционального программирования и Typescript. По большей мере на это повлияло огромное количество времени, потраченное мной на кодовую базу Heartbeat — фулстек-приложения из трёхсот тысяч строк на Typescript, включающего в себя веб-приложение React, мобильное приложение React Native и сервер Node.js. Мой опыт работы с этой кодовой базой показал мне, что чем больше я полагаюсь на систему типов, тем больше пользы из этого извлекаю.

Написание кода в кодовой базе, полностью сделавшей упор на типы, похоже на жульничество. Часто я могу реализовать 80% новой фичи, ни разу не запустив код. Я начинаю работать над крупным рефакторингом, требующим нарушить допущение, принятое во всём коде, но вскоре выясняю, что благодаря системе типов изменения оказываются тривиальными. Простые фичи практически кодируют себя сами, потому что опечатки мгновенно отлавливаются, а половина моего кода пишется автодополнением. На вопросы от команды техподдержки о тонкостях работы какой-то фичи можно ответить при помощи Ctrl+F в коде, даже если письменной документации почти нет. Целые категории багов, с которыми мне приходилось бороться, попросту исчезли.

Я начал называть стиль кодинга, позволяющий реализовать подобное, Type Driven Development. В статье я приведу разрозненные мысли и ссылки на ресурсы, сильно повлиявшие на то, как я понимаю type driven development.
Читать дальше →

Information

Rating
3,571-st
Registered
Activity