Хабр
  • Работа с API HeadHunter при помощи python

    Разбираемся на практике с API HeadHunter при помощи python.

    Появилась задача анализа вакансий на рынке труда, и осуществлять ее надо базе HeadHunter. Необходимо получить все вакансии определенной компании по всем городам России. Ознакомившись с документацией по API на github (https://github.com/hhru/api), приступаем к работе.

    Читать далее
  • 6 практических инструментов управления знаниями

    В современной практике отечественных компаний инициативы управления знаниями сталкиваются со сложностями, связанными с воплощением теории управления знаниями в конкретные инструменты. Меня зовут Иван Анненков, я ведущий аналитик в Usetech, и в этой статье я рассмотрю ряд конкретных предложений, а именно:

    Читать далее
  • Постгрессо №4 (41)

    ИТ-инфраструктура — это как водопровод, без неё жизнь уже почти невозможна. И в эти безрадостные дни мы продолжаем выпускать Postgresso.



    PostgreSQL 14.3

    Вышла версия 14.3 (release notes), и обновлены предыдущие ветки: 13.7, 12.11, 11.16, и 10.21 (объявлено, что ветвь PostgreSQL 10 не будет обновляться с 10-го ноября 2022-го).

    В версии много исправлений, отметим два. Александр Лахин из Postgres Professional обратил внимание на лазейку:

    В случае, когда привилегированный пользователь работает с объектами другого пользователя, команды REINDEX, CREATE INDEX, REFRESH MATERIALIZED VIEW и CLUSTER отрабатывали недостаточно безопасно. Это же относится и к autovacuum, и pg_amcheck. Они активировали релевантную защиту (заключали процессы в песочницу операций, ограниченных соображениями безопасности — «security restricted operation» sandbox) или слишком поздно, или вообще не активировали её. Если у атакующего были привилегии создавать не временные объекты хотя бы в одной схеме, он мог запустить под суперпользователем зловредные SQL-функции.

    Похожая проблема, но с конструкциями DECLARE CURSOR… WITH HOLD и вызовом отложенных триггеров в выражениях индексов и запросов матпредставлений была замечена и ликвидирована ещё в PostgreSQL 12. Новый баг поправлен во всех версиях PostgreSQL от 10 до 14.
    Читать дальше →
  • Как работать с Makefile-проектами в среде CLion

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

    Читать дальше →
  • Страх источник тупости

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

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

    Вот представим всемирно известного боксёра. И вот если его побьёт школьник на улице, он начнёт думать, неужели все его старания на тренировках прошли зря, что даже школьники могут побить его!? Тоже самое и с умными людьми, чем больше у них ума, тем больше мы от них ожидаем и тем им стыднее быть невежами. Отчасти это навязано и обществом, где говорят: “сначала ты работаешь на зачётку, а потом зачётка работает на тебя”. Да и мы больше доверяем умным людям. И вот тут, если вы умный, вы можете попасть в ловушку. Ведь если мы такие умные, как мы можем ошибаться?

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

    Читать далее
  • Нестандартное оформление кнопок, текстовых полей и других элементов управления Flutter


    Иногда при внедрении интерфейса недостаточно тех возможностей кастомизации, которые предоставляет Flutter. Подтверждением этому является большое количество вопросов на Stackoverflow, типа, как добавить тень или градиент к какому-нибудь элементу управления (кнопке, текстовому полю и т.д.). Как правило, ответы сводятся к тому, что надо либо использовать элементы управления из сторонних библиотек, либо обернуть элемент управления в Container c необходимым декорированием, либо создать собственный элемент управления. Однако, эти подходы имеют ограничения или требуют много кода. Особенно добавляет работы настройка различного декорирования элементов управления для различных их состояний и анимирование переходов между этими состояниями. В статье я расскажу, как расширить возможности кастомизации этих элементов без создания новых виджетов и без сторонних библиотек.

    Читать дальше →
  • Заказная разработка. Часть первая — идеальная

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

    И сразу 3 важных отступления:

    Читать далее
  • Chrome на Android сломал чужие MitM-сертификаты, но это можно исправить


    Прозрачность сертификатов (CT) — отличный проект компании Google, который сейчас фактически стал стандартом де-факто в интернете. Серверы CT показывают все выпущенные EV-сертификаты в открытых и общедоступных источниках.

    Всё работает отлично до тех пор, пока не сломается.

    В частности, в последнее время браузер Chrome создал ряд проблем под Android, фактически заблокировав работу сторонних приложений, таких как снифферы, MitM-прокси и средства разработки. Эти программы устанавливают в систему собственные доверенные сертификаты для перехвата и разбора трафика.
    Читать дальше →
  • [Перевод] Как «машинные учёные» выводят законы физики из необработанных данных

    Исследователи говорят, что мы в шаге от «физики GoPro», когда камера сможет указывать на событие, а алгоритм — определять лежащее в его основе физическое уравнение. Подробностями делимся к старту нашего флагманского курса по Data Science.

    Читать далее
  • Опыты с генератором Tesla. Засвечиваем вакуумную люминофорную лампочку через диэлектрическую колбу

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

    Николу Тесла чтят многие фанаты по всему миру. В США даже собираются ежегодные слёты его поклонников, где демонстрируются различные высоковольтные импульсные аппараты.

    А один известный в креативных, и не только, кругах бизнесмен выбрал название "Тесла" в качестве бренда своего электромобиля.

    В СССР для технологических целей вакуумной промышленности выпускался ручной генератор "Тесла", который травм человеку нанести не может, но жалить может изрядно.

    В частности, при его помощи можно делать показанный на видео достаточно необычный опыт с макетом вакуумной лампы. Необычность опыта состоит в том, что люминофор, на который ещё и нанесено алюминиевое покрытие находится в вакууме лучше, чем 1Е-5 Торр (в лампе два активированных титановых геттера), т.е. привычного любителям опытов с генераторами Тесла газового разряда тут наблюдаться не может в тех масштабах, что бы обеспечить такое заметное свечение "фосфора". И, всё таки, люминофор светится очень ярко!

    Читать и смотреть видео далее >>
  • Go в браузер. Создание веб-приложений с использованием Web Assembly на Go

    Технология WebAssembly появилась относительно недавно (в 2015 году) и позиционировалась как альтернатива JavaScript для выполнения в среде браузера с максимально достижимой производительностью. Приложение на WebAssembly может использовать все возможности, доступные в "песочнице" браузера для JS (доступ к Document Object Model, дополнительным классам HTML5), но при этом может быть изначально написано на других технологиях разработки и скомпилировано в формат байт-кода WASM, предоставляя свои интерфейсы сценариям на JavaScript.

    Наиболее известным набором инструментов для компиляции в wasm32 является emscripten, с его помощью можно скомпилировать приложение, написанное на C/C++ или на любом языке, имеющим frontend-компилятор для LLVM. При этом компилятор подменяет вызовы OpenGL и POSIX на соответствующие аналоги в браузере, что например используется при компиляции библиотеки skia для браузера (canvaskit) из исходного кода на C++, а также портирование существующих библиотек (например, ffmpeg или opencv). Но некоторые языки программирования поддерживают wasm32 как одну из целевых платформ, среди которых можно выделить Kotlin (Native) и Go. В этой статье мы обсудим общие вопросы о запуске приложений Go в среде браузера и использование библиотеки Vecty для создания веб-приложений на основе переиспользуемых компонентов.

    Читать далее
  • [Перевод] Разбираемся с декораторами в Python

    Декораторы – это обертка вокруг функций (или классов) в Python, которая меняет способ работы этой функции. Декоратор абстрагирует свой собственный функционал. Нотация декоратора в целом наименее инвазивна. Разработчик может писать свой код так, как ему хочется, и использовать декораторы только для расширения функциональности. Все это звучит крайне абстрактно, поэтому давайте обратимся к примерам.

    Читать далее
  • Дайджест недели от Apple Pro Weekly News (09.05 – 15.05.22)

    iPod заканчивает свою историю, объём хранилища iCloud удвоят, порт USB-C в 2023 году, Тим Кук выступил в университете Галлодет, одним способом оплаты в App Store меньше и ещё несколько других интересных событий из мира Apple в этом дайджесте

    Перейти к новостям
  • О чём расскажут на Mobius 2022 Spring: декларативный UI, глубокие ссылки и многое другое

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

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

    И сейчас, когда большинство тем докладов уже известно, расскажем Хабру, о чём именно они будут.

    Читать далее
  • Security Week 2220: уязвимость в офисных устройствах Zyxel
    Компания Zyxel на прошлой неделе закрыла критическую уязвимость в трех офисных брандмауэрах серий Zywall ATP и USG FLEX. Проблему обнаружила компания Rapid7, которая выложила технический отчет с видео, демонстрирующим эксплуатацию дыры. Уязвимость получила идентификатор CVE-2022-30525 и рейтинг опасности в 9,8 балла из 10 по шкале CvSS.



    Причина такого высокого рейтинга — возможность удаленного выполнения команд без авторизации на устройстве, которое по своей природе должно быть доступно извне. Подверженные устройства Zyxel рекламируются как готовое решение для защиты небольшого подразделения крупной организации, обеспечивают (в зависимости от модели) работу VPN-шлюза, фильтрацию доступа к веб-сайтам и даже сканирование электронной почты. Скорее всего, баг связан с функцией zero-touch provisioning для быстрого внедрения новых устройств.
    Читать дальше →
  • Как показаны дата-центры в кино и как они выглядят в жизни? 6 примеров из фильмов и сериалов

    Привет, Хабр! Чтобы этот понедельник прошел веселее, предлагаем прочитать наш мини-обзор на ЦОДы в кино. Собрали в подборку шесть эпизодов и комментируем, что показано точно, а что — совсем нет.

    Кстати, если захотите пополнить наш список фильмов и сериалов, оставляйте идеи и заявки в комментариях. Очень ждем!
    Читать дальше →
  • Пережить распродажу на Ozon: хайлоад, сковородки и 38 инфарктов

    Мы нечасто задумываемся о том, как работает тот или иной сервис и какой объём работ скрывается за тем, чтобы товар или услуга прибыли к нам вовремя. Взять, например, «чёрную пятницу» и День холостяка в e-com — дни самых больших распродаж. Казалось бы, что там такого? Со стороны может выглядеть, что главное — прогреть аудиторию предложениями разной степени заманчивости и запастись товарами на складах. Конечно, это не так. На деле нескольким дням распродаж предшествует год активной подготовки: от прогнозирования нагрузки и закупки железок до перестройки архитектуры. О том, на что мы обращали внимание и как готовились к высокому сезону, читайте под катом. 

    Читать далее
  • Локальный или облачный сервер: плюсы каждого выбора


    Еще 20 лет назад, когда только запустили первое облако LaaS, многим казалось, что облачный и локальный сервер – это как небо и земля. Спустя время опросы показывают, что пользователи перестали замечать разницу между двумя средами. А выбор сервера по большей части зависит от потребностей конкретного бизнеса. Кто-то сразу останавливается на одном из вариантов, а кому-то приходиться пройти немалый путь, чтобы найти свое. Хочу, чтобы у Вас сразу сформировалось четкое представление о двух средах, поэтому прошу под кат.
    Читать дальше →
  • [Перевод] 55+ перспективных технологий IoT, которые вы должны иметь на своем радаре (обновление 2022 года)

    Коротко:

    IoT Analytics определила 58 технологий, которые должны быть на слуху у тех, кто работает над проектами IoT: 21 в области программного обеспечения IoT, 21 в области аппаратного обеспечения IoT и 16 в области подключения IoT.

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

    Читать далее
  • Асинхронный код синхронно: как устроено юнит-тестирование в СберМаркете

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

    Я выступал с этим докладом на iOS Meetup | СберМаркет Tech, здесь его сжатая версия.

    Читать далее