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

Все потоки

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

Нидерланды сделают все, чтобы оставить ASML в стране: миллиардные инвестиции и всесторонняя помощь

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

Привет, Хабр! Недавно мы опубликовали статью «ASML собирается уйти из Нидерландов. Производитель литографов целится на международный уровень». В ней говорилось о том, что производитель самых современных литографов в мире планирует перенести штаб-квартиру из Нидерландов из-за проблем с инфраструктурой и логистикой. Но теперь, кажется, все изменилось: чиновники решили помочь компании решить все эти проблемы. Подробности под катом!
Читать дальше →
Всего голосов 65: ↑59 и ↓6+53
Комментарии65

Делаем код-ревью правильно

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

В начале своей карьеры я как-то работал над одним заказом, создавая платформу сентимент-анализа для социальных сетей. В то время Twitter ещё был Twitter’ом. Наша команда состояла из семи человек, среди которых я был джуниором. Мы были молоды и полны энтузиазма. Наш девиз можно было описать как: «Мы гибкие, быстрые и всё ломаем!». Да, мы действительно гордились своей скоростью. Код-ревью? Я вас умоляю. Мы считали эту практику бюрократическим пережитком корпоративного мира.

И что вы думаете? Через несколько месяцев наша база кода стала подобна минному полю. Причём баги нас волновали меньше всего, хотя их была уйма. Реальная проблема заключалась в том, что никто не мог понять код, написанный другими. У нас во многих местах дублировалась логика, и в модулях использовались разные стили кода. Всё было очень печально.

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

Итак, в двух словах: если вы не проводите код-ревью, или делаете их «для галочки», то обрекаете себя на боль, пусть не сразу, но в конечном итоге однозначно. Это можно сравнить с возведением дома на фундаменте из песка. Какое-то время он, может, и простоит, но явно недолго. А в мире стартапов второго шанса у вас может уже не быть.
Читать дальше →
Всего голосов 74: ↑72 и ↓2+70
Комментарии25

Старикам тут не место: есть ли эйджизм в ИТ

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

Привет! Это Лена, ответственная за HR Tech в Альфа-Банке. Сегодня поговорим об эйджизме. Подумаем, как не бояться отказов по причине «ищем до 35».

Да, дискриминация по возрасту запрещена Трудовым кодексом, но отсеивать резюме всё ещё можно. Также поищем примеры, когда бумерам и зумерам хорошо работается вместе.

Читать далее
Всего голосов 97: ↑82 и ↓15+67
Комментарии179

Как программировали в 1969 году

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

Я провёл это интервью со своей матерью Марианной Эрнерфельд в декабре 2018 года. В посте приведён немного урезанный перевод. Полное интервью на шведском языке можно прочитать здесь.

Почему ты захотела стать программистом?


Я решила стать программистом в 1965-66 годах. Прочитав статью, где на иллюстрации была показана блок-схема, я подумала: «это моё». Когда я выпустилась из старшей школы в 1967 году, не было ни одного университета, обучающего программированию, но существовал полугодовой курс в Сольне [прим. пер.: Сольна — коммуна в Швеции], который превратился в годовой курс, и на него могли выдать студенческий заём. Поэтому я подала на него заявление.

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

Однако у SJ оказалось 700 кандидатов на 50 мест, поэтому они устроили суровый процесс отбора с различными тестами. И мне удалось пройти их! Мне нужна была зарплата, чтобы оплачивать собственное жильё, так что я приняла предложение.

Выяснилось, что руководство SJ было очень недовольно тем, что брошюры о стажёрской программе рассылали студентам и мужского, и женского пола! Хотя в программу приняли и не так много девушек, но их всё равно было приличное количество.
Читать дальше →
Всего голосов 65: ↑64 и ↓1+63
Комментарии28

Истории

Медная фотография

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

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

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

В детстве я замечал, как отполированная медная фольга, приклеенная к текстолиту, достаточно быстро темнела на солнечном свету, однако потемнение не происходило на необлучённых участках. Тогда я отметил, что какая-никакая фоточувствительность у меди имеется. Потом у меня долго витала идея получения фотографии на медной пластине. А ещё, мне очень хотелось понять, почему же такой фотографии нет повсеместно?
Читать дальше →
Всего голосов 140: ↑134 и ↓6+128
Комментарии37

Внутри S3. Доклад Яндекса

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

Привет, я Паша, разработчик в Yandex Infrastructure, и я катаю гусей. С 2019 года я развиваю S3-хранилище как для внутренних пользователей Яндекса, так и для клиентов Yandex Cloud. А «гусём» называется наш бэкенд S3 API: он написан на Go, а из словосочетания Go + S3 получился goose. Возможно, вы также слышали про GeeseFS — это наш высокопроизводительный FUSE-клиент для S3. C его помощью вы можете на своём ноутбуке или виртуалке подмонтировать папку, которая будет работать с бакетом S3. 

Для чего нам «гуси» и прочая орнитология? Яндексовая инсталляция хранилища S3 хранит миллиарды файлов. Это огромные объёмы данных, а также метаданных. Для хранения метаданных мы научились использовать умное шардирование, и теперь сами управляем распределением занятого места и нагрузкой между шардами баз.

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

Читать далее
Всего голосов 82: ↑81 и ↓1+80
Комментарии52

Территория Большого Взрыва. Как устроена Вселенная и что с ней не так?

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

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

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

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

Читать далее
Всего голосов 147: ↑143.5 и ↓3.5+140
Комментарии149

Ботинки, лень и роботы

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

Появившись в далёких восьмидесятых годах, фильм «Назад в будущее» до сих пор бередит сердца своих поклонников одной легендарной сценой, где Марти МакФлай легко надевает футуристичную обувь с автоматической затяжкой. С тех пор сформировалась целая армия поклонников такого решения, в которой кто-то просто с нетерпением ждёт наступления такого светлого будущего, а кто-то с инженерными знаниями пытается смастерить такое самостоятельно.
Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии28

Пасхалочки от строителей при развёртывании ЛВС, или зачем нужен технадзор

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

Когда поднимаешь сеть на только что отстроенном объекте, в идеальном мире строители уже подготовили для тебя помещения, протянули СКС, подвели питание и сделали всё что нужно. В реальности синхронизации между поднимающими сеть интеграторами и строителями не всегда придают должное значение. Что может пойти не так?

Расскажу вам об очень показательном кейсе такого рассинхрона. Я Сергей Шульгин, эксперт по сетевым технологиям ИТ-компании К2Тех. И этой историей я как бы намекаю, зачем в крупных проектах нужен технадзор и почему мудрые заказчики кровью вписывают его в договор с интеграторами.

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

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

Выгорание: рассматривая золу под макроскопом

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

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

Я начал свой путь как разработчик и был им 15 лет, а сейчас руководитель группы разработки. Прошёл всю дорогу от младшего до ведущего и шагнул дальше. Пока я гнал по карьерному треку, я полноценно выгорал два раза, а потом решил, что хватит это терпеть. И не выгорел третий. Как получилось? Об этом и будет эта статья.

Читать далее
Всего голосов 89: ↑86 и ↓3+83
Комментарии21

А в чем проблема работать с файлами?

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

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

Меня увлекла тема отказоустойчивости, а конкретно - отказоустойчивой работы с файлами. В этой статье я попытался соединить все полученные знания:

Кто участвует в процессе записи

Ошибки, которые могут произойти

Что от нас зависит, а что нет

И самое главное - как это этого защититься

Читать далее
Всего голосов 170: ↑169 и ↓1+168
Комментарии23

Как при помощи нейросети восстанавливали обугленные свитки из Помпеи (угадайте, с каким контентом внутри)

Время на прочтение13 мин
Количество просмотров20K
image
Результат одной из попыток физически развернуть обугленный свиток

С этими свитками из библиотеки в Геркулануме пошло не так абсолютно всё. Они на папирусе, который состоит из нескольких слоёв расплющенных и спрессованных тростниковых стеблей. Высушенный тростник легко воспламеняется. Температура пирокластических потоков, извергнутых Везувием, достигала 700 ᵒС, поэтому вот что вы видите на фото выше. Впрочем, манускриптам из Геркуланума ещё повезло: из-за высокой скорости движения и температуры газово-пепловых туч воздух из помещений, где они хранились, быстро вытеснился, и папирусы не сгорели, а обуглились.

Сверху у них — грязь селя. Дальше — выпавший из эруптивной колонны вулканический пепел. Получилась довольно прочная оболочка — это «запечатало» помещения, не дав воздуху и влаге окончательно добить бесценные рукописи, буквально законсервировав их почти на 2 000 лет.

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

Но сейчас удаётся восстановить часть контента с этих древних свитков. Кажется, нам достался самый популярный греческий контент — предметные инструкции, как радоваться жизни. Довольно прикладные.
Читать дальше →
Всего голосов 79: ↑78 и ↓1+77
Комментарии23

C++26 — прогресс и новинки от ISO C++

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

Работа в комитете по стандартизации языка C++ активно кипит. Недавно состоялось очередное заседание. Как один из участников, поделюсь сегодня с Хабром свежими новостями и описанием изменений, которые планируются в С++26.

До нового стандарта C++ остаётся чуть больше года, и вот некоторые новинки, которые попали в черновик стандарта за последние две встречи:

  • запрет возврата из функции ссылок на временное значение,
  • [[indeterminate]] и уменьшение количества Undefined Behavior,
  • диагностика при =delete;,
  • арифметика насыщения,
  • линейная алгебра (да-да! BLAS и немного LAPACK),
  • индексирование variadic-параметров и шаблонов ...[42],
  • вменяемый assert(...),
  • и другие приятные мелочи.

Помимо этого, вас ждут планы и прогресс комитета по большим фичам и многое другое.
Рассмотрим новинки на примерах
Всего голосов 66: ↑64 и ↓2+62
Комментарии118

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

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн

Zigbee шлюз для счетчиков Меркурий

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

Давно удивлялся, почему не смотря на распространенность счетчиков Меркурий и возможность съема с них показаний через RS-485, на рынке DIY устройств не было Zigbee шлюза для них. Этот пробел я решил восполнить самостоятельно.

Читать далее
Всего голосов 56: ↑54 и ↓2+52
Комментарии25

Актуально ли сегодня ООП?

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

Почти каждый день возникают дискуссии с критикой или восхвалением объектно-ориентированного программирования. «Java устарела!», «Java потрясающая!». В этой статье я проведу прагматичное исследование ООП на 2024 год.

Термин объектно-ориентированное программирование придумал Алан Кэй. Кэй был членом команды PARC, которая изобрела графический интерфейс пользователя, сделавший таким полезным современный Интернет, персональные компьютеры, планшеты и смартфоны. Ещё она изобрела некоторые из объектно-ориентированных языков, на которых мы сегодня реализуем эти GUI.

Если отсечь все эмоции, связанные с ООП, то что останется? По-прежнему ли ООП является эффективным инструментом разработки ПО, или оно превратилось в устаревшее увлечение? Профессионалам важно знать ответ на этот вопрос!
Читать дальше →
Всего голосов 105: ↑85 и ↓20+65
Комментарии179

Может ли во Вселенной не быть тёмной материи? 5 фактов, которые нельзя отрицать

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров19K
По имеющимся данным гравитационного линзирования можно реконструировать массу скопления галактик. Большая часть массы находится не внутри отдельных галактик, показанных здесь в виде пиков, а в межгалактической среде внутри скопления, где, по-видимому, находится тёмная материя

В прошлом году физик-теоретик Раджендра Гупта из Оттавского университета (Канада) опубликовал довольно необычное предположение о том, что возраст Вселенной, который в настоящее время принято оценивать в 13,8 млрд лет, определён ошибочно из-за игры света, скрывающей её истинную древность. Кроме того, его предположение избавляет нас от необходимости объяснять наличие скрытых сил и материи.

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

«Результаты исследования подтверждают, что наша предыдущая работа о возрасте Вселенной в 26,7 миллиарда лет позволила нам обнаружить, что для существования Вселенной не требуется тёмная материя», — говорит Гупта.

«В стандартной космологии считается, что ускоренное расширение Вселенной вызвано тёмной энергией, но на самом деле это происходит из-за ослабления сил природы по мере её расширения, а не из-за тёмной энергии».
Читать дальше →
Всего голосов 79: ↑71 и ↓8+63
Комментарии50

Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»?

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


Моддинг-сцена с разработкой и портированием кастомных прошивок для Android-устройств существует вот уже более 10 лет. В основном, энтузиасты пытаются проапгрейдить свои устройства путем портирования более свежих версий Android, чем предлагает производитель девайса. Чего уж говорить, если Galaxy S III, которому уже 12 лет стукнуло, получил неофициальный апгрейд до Android 14. Порой мне в голову приходят различные, весьма странные моддерские мысли: например, почему бы не портировать на старенький смартфон… ещё более старую версию Android, дабы посмотреть «что будет». Казалось бы «портировал и портировал», но в процессе работы я столкнулся с множеством интересных нюансов и особенностей работы Android, о которых хотел бы рассказать и вам — моим читателям! Сегодняшняя статья будет в классическом «научпоп»-стиле без кода, зато с подробными объяснениями одной из техник портирования Android-прошивок путем патчинга скриптов для конфигурации системы и подмены Board-specific библиотек, дабы система «увидела» всё необходимое железо! Интересно? Тогда жду вас под катом!
Читать дальше →
Всего голосов 85: ↑84 и ↓1+83
Комментарии32

TOTP без смартфона

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

Когда я решил избавиться от необходимости постоянно носить с собой смартфон, одной из проблем оказалась двухфакторная аутентификация (2FA, приложение Google Authenticator). Остаться без возможности авторизации на множестве сервисов было неприемлемо, нужна была альтернатива.

Беглый поиск вывел меня на утилиту oathtool: командная строка, POSIX, OSS — всё, как я люблю, проблема в принципе решена. Но, как и большинство CLI утилит, её удобно использовать в сочетании с другими утилитами, а для этого полезно написать скриптовую обвязку. Собственно этой обвязкой, а также опытом использования, я и решил поделиться.

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

YouTube Shorts из терминала. Как автоматизировать создание видео с помощью FFMPEG и Bash

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

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

Для продвижения игры я начал публиковать Shorts на YouTube, но это отнимало много времени и ресурсов. Будучи инженером, я стараюсь автоматизировать рутинные задачи, поэтому сделал решение, которое самостоятельно нарезает видео на 60-секундные фрагменты. Подробнее — под катом.
Читать дальше →
Всего голосов 49: ↑50 и ↓-1+51
Комментарии19

Как я уронил прод на полтора часа (и при чем тут soft delete и partial index)

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

В жизни любого разработчика наступает момент, когда он роняет прод. Представьте: полдень, в Skyeng час пик, тысячи запланированных онлайн-уроков, а наша платформа лежит… 

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

Читать далее
Всего голосов 172: ↑168 и ↓4+164
Комментарии174