Мировую экономику лихорадит, бизнес активно “режет косты” – и с учетом пандемии, новых штаммов вируса, геополитики, с ростом цен на энергоносители ИТ-расходы тоже должны были "потесниться". Так ли это? Посмотрим, что говорят сотни западных и российских компаний.
Новости
Весёлая консоль
Сегодня 1 апреля и ежегодно в этот день разные Интернет-ресурсы публикуют вымышленные курьёзные "новости" а также просто всякие несерьёзные статьи. Вот и я решил в сей пятничный день немного приобщиться к этому весёлому многообразию. Сегодня мы обратимся к разным забавным, хотя и бесполезным программам, работающим в консоли эмулятора терминала. Видимо — ввиду несколько неформального начала UNIX (как известно, Кен Томпсон написал игру Space Travel для компьютера PDP-7) — различные "бестолковые" программки писались буквально с первых дней существования операционных систем. Что ж, давайте последуем за героем замечательных комиксов Дэниеля Стори и разнообразим жизнь в "скучной" консоли.
Парадокс Ферми – вовсе не парадокс, а вопрос; в чём он состоит, и как его решать (часть 4)
Водные и океанические миры
Кадр из фильма «Водный мир», ставшего переломным в карьере Кевина Костнера
Ещё две гипотезы, объясняющие отсутствие в нашей Галактике наблюдаемой активности разумных инопланетян, хотя и технически являются отдельными, но, по сути, приводят нас к одному и тому же выводу. Кроме того, обе они имеют дело с одним и тем же веществом – универсальным растворителем и ключевым ингредиентом жизни (насколько нам известно): водой.
Несмотря на схожесть названий, гипотезы описывают принципиально разные типы планет. Гипотеза изобилия водных миров утверждает, что в Галактике могут преобладать миры с гораздо большим отношением массы воды к массе планеты, чем это наблюдается у нас на Земле. Гипотеза изобилия океанических миров же говорит, что, скорее всего, большинство миров находятся за пределами т.н. обитаемой зоны, и представляют собой покрытые льдом планеты, под коркой которого, тем не менее, существуют жидкие океаны.
Теневые стеки для пользовательского пространства
Стек вызовов (call stack) является излюбленной целью злоумышленников, пытающихся скомпрометировать запущенный процесс; если злоумышленник найдет способ перезаписать адрес возврата в стеке, то он сможет перенаправить управление на код по своему выбору, что приведет к ситуации, которую лучше всего можно описать фразой "game over". Именно поэтому для защиты стека прикладывается очень много усилий. Одним из самых многообещающих методов является “теневой стек” (shadow stack); как следствие, множество различных процессоров должным образом поддерживают теневые стеки. С поддержкой защиты программ пользовательского пространства (user-space) с помощью теневых стеков дела обстоят не так хорошо; в настоящий момент она является предметом обсуждения в сообществе разработчиков ядра, но добавить эту функцию сложнее, чем может показаться на первый взгляд. Среди прочего, подобные патчи существуют уже достаточно долго, чтобы у них самих появились собственные проблемы с обратной совместимостью.
Zynq 7000. Прикручиваем Wi-Fi модуль RTL8822CS с использованием SDIO через EMIO
Наконец-то пришла пора продолжить изучение возможностей платы Zynq QMTech и SoC XC7Z020. Следующая интересная задача, которую я для себя придумал в качестве обучающей - оснастить плату Wi-Fi модулем Realtek RTL8822CS и, если Wi-Fi модуль будет не нужен, а нужна будет ещё одна флешка - вторым портом для SD-карточки. Если интересны подробности того, как я это всё реализовал - добро пожаловать под кат.
Как проверить данные во фрейме Pandas с помощью Pandera
В науке о данных важно тестировать не только функции, но и данные, чтобы убедиться, что они работают так, как вы ожидали. Материалом о простой библиотеке Pandera для валидации фреймов данных Pandas делимся к старту флагманского курса по Data Science.
Использование Gatling. Разбираемся в тестировании HTTP
Всем привет! Это команда тестирования производительности Тинькофф, и мы продолжаем цикл статей о Gatling.
В предыдущей статье мы рассмотрели базовые возможности инструмента Gatling, узнали, как быстро создать шаблон gatling-проекта, и познакомились с новыми функциями библиотеки gatling-picatinny. Сегодня расскажем, как при помощи этих инструментов создать проект для тестирования HTTP-протокола.
Разглядывая JTAG: идентификация
Каждый электронщик, работающий (или отдыхающий) с цифровыми микросхемами рано или поздно обязательно сталкивается с протоколом JTAG. Значительное количество материалов о данном протоколе содержит три раздела:
1. Обширный экскурс в историю и рассказ о том, как стенд с летающими щупами и рентгеновская установка легко могут быть заменены отладчиком на 2-3 порядка дешевле их.
2. Достаточно сжатое описание протокола JTAG (с картинкой его конечного автомата).
3. Рассказ о том, что фирменный отладчик, а также программное обеспечение компании <COMPANY NAME> позволят почти без усилий протестировать почти любое устройство почти любой сложности и конфигурации.
Проблема второго раздела подобных материалов в том, что в протоколе JTAG можно выделить более одного уровня абстракции. И за один раз, причём без практических примеров, осознать JTAG целиком может быть весьма непросто. В отсутствие же целостного понимания, для инженера, использующего JTAG, данный протокол будет представлять чёрный ящик, который либо работает (и всё хорошо), либо не работает (и непонятно, что делать). Представляется, что, исключив из рассмотрения историю JTAG и рекламу бренда, а также разделив задачу на отдельные составляющие, возможно осознать JTAG полностью, обретя способность устранять проблемы в работе данного протокола на любом уровне. И первым шагом к такому пониманию будет чтение идентификационного номера микросхемы.
Агрегация
По материалам статьи Craig Freedman: Aggregation
Агрегация относится к таким операциям, когда больший набор строк свёртывается в меньший. Типичные агрегатные функции - COUNT, MIN, MAX, SUM и AVG. SQL Server поддерживает также и другие агрегаты, типа STDEV и VAR.
Я собираюсь посвятить этой теме несколько статей. В этой статье, я сосредоточусь на "Скалярных Агрегатах". Скалярные агрегаты - запросы с агрегатными функциями в списке оператора SELECT и без предложения GROUP BY. Скалярные агрегаты всегда возвращают одну строку.
«Чтобы сразу как надо, не переделывая». Зачем мы учили дизайнеров проводить исследования, и к чему это привело
- в чем состоят плюсы и минусы каждого варианта;
- какие подводные камни ждут вас при смене модели;
- что делать, чтобы с минимальными потерями вырулить к новой «точке стабильности».
Установка и настройка transmission-daemon Ubuntu server 20.04
Инструкция по настройке transmission-daemon под управлением Ubuntu Server 20.04
Поддержка Arduino в ReactOS
Вадим Галянт написал драйвер usbser.sys для ReactOS, и теперь (барабанная дробь) появилась возможность программировать платы Arduino в ReactOS. И да, на реальном железе, не в Virtual Box.
Ну как.. теоретическая возможность на самом деле.
Для программирования скетча Arduino и загрузки прошивки в плату надо было решить три проблемы.
Ростов-на-Дону: IT-компании, сообщества и мероприятия в 2021 году
Привет, меня зовут Вадим и я всё ещё занимаюсь развитием ИТ-сообщества в Ростове. В 2021 у нас было много интересного — исследование ит-сообщества на 1500 человек, 70 митапов и самая большая на юге конференция с 1200 участниками и 50 спикерами со всей страны. Прошлые посты были посвящены городам — Ростову и Таганрогу. В этот раз хочу больше рассказать о мероприятиях и том, как встречается Ростовское ИТ-сообщество.
Static Reverse engineering для web
Львиная доля всех статей, которые посвящены вопросу обратной разработки посвящены темам анализа низкоуровневого представления приложений и работы прошивок устройств. Только ли в этих областях можно применять подходы, которые использует обратная разработка? Попробуем разобраться на примере веб-приложения. Причем для разбора приложения мы даже не будем его запускать.
Пошаговое руководство, как создать собственный Kubernetes оператор
В статье разберет базовые понятия, которые нужны для создания оператора (CRD - Custom Resource Definition, контроллеры) и покажем на практике как можно написать собственный оператор с использованием инструмента Operator SDK без единой строчки кода.
Как улучшить любой патент на изобретение в IT, на примере Яндекса
«За всю историю человечества было выдано 50 млн. патентов.
Задача — сделать 1 млрд. новых изобретений». @MagisterLudi
Каждый землянин, даже совсем не научно-технический революционер или патентный военный, прочитавший эту информацию о прибыльной методике изобретательства, сможет при желании написать рационализаторское предложение или патент, за которые ему заплатят на работе или в своём бизнесе. И, самое удивительное, что категорически только тот, кто именно практически ежедневно занимается какой-то достаточно узкой областью ИТ, может улучшить и изобрести новое, а не «аналитик» вообще, доцент или чиновник. Мир меняется, и то, что раньше изобреталось и патентовалось, как просто научное, теперь должно быть максимально практичным, как конкретное «техническое решение».
Блокчейн в корпоративной архитектуре: дань моде или необходимость?
Привет! Меня зовут Денис Васин, я технический директор Waves Enterprise, и мы занимаемся блокчейн-проектами для бизнеса. Благодаря метавселенным, технология недавно снова оказалась на волне популярности. Множество крупных компаний, начиная с Meta, объявили, что планируют создавать подобные проекты с поддержкой распределенных реестров и NFT-токенов. Можно утверждать, что блокчейн в целом постепенно выходит на плато продуктивности — самое время трезво оценить его и понять, когда он вообще нужен. Постараюсь сделать это далее в посте.
Нарративная математика
Приложения для игрового вычисления сюжетов и историй.
Следующий технологический уклад: роботизированный рой и интеллектуальное облако
Мир, пусть криво и косо, окольными путями, но всё же идёт по пути развития, прогресса, в том числе в сфере производительных сил. Что даст продвижение науки и техники вперёд, какие возможности предоставит индустриализация на новом технологическом фундаменте с применением передовых цифровых технологий? Очевидно, что произойдёт переход на более высокий уровень автоматизации, коренное изменение системы управления всеми технологическими процессами.
Инструкция: Как построить процесс доставки приложения в Kubernetes, используя gitlab ci и gitlab runner
Привет, Хабр! Меня зовут Егор Комаров, я тестировщик в команде #CloudMTS.
Сегодня я расскажу, как настроить процесс развертывания и обновления микросервисного приложения от разработчика до облака в две команды.
Когда в приложении появляется новый функционал (например, изменился ответ от сервера), запускается ряд стандартных действий:
- получить фичу от разработчика;
- сбилдить контейнер с новым приложением;
- загрузить контейнер в репозиторий;
- изменить и применить манифест кубера.
Эти рутинные действия можно автоматизировать через функционал gitlab ci.