С++20 на подходе! Встреча в Рапперсвил-Йона

В начале июня в городе Рапперсвил-Йона завершилась встреча международной рабочей группы WG21 по стандартизации C++.

Вот что вас ждёт под катом:

  • Контракты и друзья
  • Концепты (без друзей)
  • __has_cpp_attribute(unlikely)
  • bit_cast<my_stuff>(some_array)
  • contains, shift_left, shift_right, ispow2, ceil2… и старые алгоритмы под новым соусом
  • atomic_ref
  • Что нового можно писать в шаблонах и чем это полезно
  • constexpr virtual foo()
  • Parallelism 2, Reflection и Executors TS

Так же будет бонус: мини секция для экспертов:

  • user-declared virtual destructor не влияет на тривиальность типа
  • Куда можно будет засунуть восклицательный знак и чем это может быть полезно
  • constexpr std::regex mail_regex(R»((?:(?:[^<>()[].,;:s@»]+(?:.[^<>()[].,;:s@»]+)*)|».+»)@(?:(?:[^<>()[].,;:s@»]+.)+[^<>()[].,;:s@»]{2,}))»)

Добро пожаловать под кат
С++20 на подходе! Встреча в Рапперсвил-Йона
Source: geektimes

[Перевод] Разработка собственного фреймворка и профессиональный рост JS-программиста

Вы когда-нибудь задавались вопросом о том, как работают фреймворки? Автор материала, перевод которого мы сегодня публикуем, говорит, что когда он, много лет назад, после изучения jQuery, наткнулся на Angular.js, то, что он увидел, показалось ему очень сложным и непонятным. Потом появился Vue.js, и разбираясь с этим фреймворком, он вдохновился на написание собственной системы двусторонней привязки данных. Подобные эксперименты способствуют профессиональному росту программиста. Эта статья предназначена для тех, кто хочет расширить собственные знания в сфере технологий, на которых основаны современные JS-фреймворки. В частности, речь здесь пойдёт о том, как написать ядро собственного фреймворка, поддерживающего пользовательские атрибуты HTML-элементов, реактивность и двустороннюю привязку данных.

image
Читать дальше →
[Перевод] Разработка собственного фреймворка и профессиональный рост JS-программиста
Source: geektimes

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

Это такой здоровенный волчок-ротор, стоящий в разрыве электрической цепи на входе в дата-центр. Он постоянно крутится. Если отключают питание, то он по инерции обеспечивает беспрерывность питания до запуска дизеля. Питание без переключения снова восстанавливается. У нас там выработались подшипники, и мы решили их немного поменять.

Современная практика такова, что здания строятся с учётом того, что там будет резерв в части энергоснабжения, в нашем случае это ДДИБП. Здание подземного дата-центра у нас уже было, и поэтому замена проходила очень увлекательно.

Вот, например, задача на знание физики.

Здесь на вал посажена соединительная муфта. Она прилегает к валу настолько плотно, что снять его нет никакой возможности.

Мы позвали специального мужика с чёрным поясом по сварке, задача которого была ОЧЕНЬ БЫСТРО разогреть эту муфту. Было важно, чтобы муфта нагрелась как можно сильнее, при этом вал оставался холодным, и поэтому для лучшего контроля мы наблюдали за этим процессом через тепловизор. Параллельно тепловым работам между валом и муфтой прикладывалось усилие гидравлическим 10-тонным прессом, и в какой-то момент у нас получилось «сдернуть» и впоследствии снять эту муфту. Обратно ставить муфту было гораздо проще. Мы постепенно её разогрели до 200 °С и надели на вал.

В общем, лучше я расскажу сначала про работу людей, обслуживающих эти ваши хрупкие процессоры в дата-центрах.
Читать дальше →
Как мы обслуживали дизель-динамический источник бесперебойного питания
Source: geektimes

«Не хуже, чем в Хогвартсе» — будущие студенты говорят об ИТ

Фото: Олимпиада НТИ

На улице только и разговоров, что о футболе и поступлении в ВУЗы. И нам стало особенно интересно, как представляют мир IT бывшие школьники, которые сейчас идут учиться на программистов. Мы нашли нескольких случайных ребят и немного с ними поболтали. Почитайте и напишите им то, что сказали бы себе восемнадцатилетним.
Читать дальше →
«Не хуже, чем в Хогвартсе» — будущие студенты говорят об ИТ
Source: geektimes

Дверь, которая с нами здоровается по именам и открывает только сотрудникам отдела

У нас была пара дней промежутка между большими проектами, и мы решили поиздеваться над дверью руководителя подразделения. Just for fun. Потому что дроны нас в лицо уже узнают — чем дверь-то хуже?

На момент старта IT-проекта у нас уже была накладная панель, напечатанная на 3D-принтере. За два дня из железа, готовых библиотек и какой-то матери мы сделали прототип устройства, которое учитывает сотрудников или позволяет проверять, что человек прошёл через турникет именно по своему пропуску.

Никаких денег. Мы использовали только опенсорс.

Вы можете повторить это минут за 15–20 с нашим скриптом.
Читать дальше →
Дверь, которая с нами здоровается по именам и открывает только сотрудникам отдела
Source: geektimes

[Перевод] Kubernetes: жизнь пода

Прим. перев.: эта небольшая (но ёмкая!) статья, написанная Michael Hausenblas из команды OpenShift в Red Hat, настолько пришлась нам «по душе», что практически сразу же после её обнаружения была добавлена в нашу внутреннюю базу знаний по Kubernetes. А поскольку представленная в ней информация явно будет полезной и для более широкого русскоязычного ИТ-сообщества, с удовольствием выкладываем её перевод.

Как вы могли догадаться, заголовок этой публикации — отсылка к мультфильму Pixar 1998-го года «A Bug’s Life» (в российском прокате он назывался «Приключения Флика» или «Жизнь насекомого» — прим. перев.), и действительно: между муравьём-рабочим и подом в Kubernetes есть много схожего. Мы внимательно посмотрим на полный жизненный цикл пода с практической точки зрения — в частности, на способы, которыми вы можете повлиять на поведение при старте и завершении работы, а также на правильные подходы к проверке состояния приложения. Читать дальше →
[Перевод] Kubernetes: жизнь пода
Source: geektimes

Безразмерный воздушный шар. Утилитарная магия анализа размерностей

На написание этой небольшой заметки меня натолкнула недавно опубликованная на Хабре статья Динамика вертикального полёта летательного аппарата легче воздуха. Захотелось написать комментарий, но он быстро перерос во что-то большее и, как кажется, более полезное.

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

Можно сделать так, чтобы модель и расчёты стали универсально полезными не для какого-то конкретного шара, а для широкого круга задач. Можно обеспечить оптимальную точность вычислений при численном интегрировании дифференциального уравнения. Можно избавиться от необходимости вручную задавать пределы интегрирования и шаг при расчёте в широком диапазоне параметров. Наконец, можно многое рассказать о динамике полёта нашего шара и без численного решения. И для всего этого служит один давний приём, верный и надёжный, когда-то обязательный при любых расчётах на ЭВМ и до их появления, а сейчас факультативный и часто относимый к магии и искусству – приведение уравнений к безразмерному виду и собственным масштабам. Воспользуюсь задачей о воздухоплавании, как примером и покажу, насколько более осмысленным и изящным становится анализ задачи, при использовании этой техники. А потом объясню почему это может быть важным для программистов, и отчего эта статья попала в хаб «Функциональное программирование».
Читать дальше →
Безразмерный воздушный шар. Утилитарная магия анализа размерностей
Source: geektimes

Использование FPC-библиотеки «InternetTools» в Delphi

На самом деле, статья несколько шире – она описывает способ, позволяющий прозрачно задействовать и многие другие библиотеки (причём не только из мира Free Pascal), а InternetTools выбрана из-за своего замечательного свойства – это тот случай, когда (как ни удивительно) отсутствует Delphi-вариант с такими же широкими возможностями и удобством использования.

Эта библиотека предназначена для извлечения информации (парсинга) из веб-документов (XML и HTML), позволяя использовать для указания нужных данных как языки запросов высокого уровня, такие как XPath и XQuery, так и, в качестве одного из вариантов, предоставляя прямой доступ к элементам дерева, построенного по документу.
Читать дальше →
Использование FPC-библиотеки «InternetTools» в Delphi
Source: geektimes

Яндекс начал индексировать Google Документы с паролями

Только что стало известно что Яндекс начал индексировать Google Документы в числе которых есть и документы с паролями, личными данными и т.д.

image

Ссылка на поисковый запрос

Рекомендуется всем проверить настройки доступа своих Google Документов.

Читать дальше →
Яндекс начал индексировать Google Документы с паролями
Source: geektimes

Нейронки за 5 минут

Давайте я за 5-10 минут чтения и понимания коротенькой статьи добавлю вам в резюме строчки «машинное обучение» и «нейронные сети»? Тем, кто далек от программирования, я развею все мифы о сложности ИИ и покажу, что большая часть всех проектов на машинном обучении строится на предельно простых принципах. Поехали — у нас всего пять минут.

Рассмотрим самый базовый пример нейронных сетей — перцептроны; я сам только после этого примера полностью осознал, как работают нейронные сети, так что, если я не накосячу, и вы сможете понять. Помните: никакой магии здесь нет, простая математика уровня пятого класса средней школы.
Читать дальше →
Нейронки за 5 минут
Source: geektimes