habrahabr.ru

    Лучшие публикации за сутки

  • IP-KVM через QEMU


    Устранение неисправностей при загрузке операционной системы на серверах без KVM — непростое занятие. Создаем себе KVM-over-IP через образ восстановления и виртуальную машину.

    В случае возникновения проблем с операционной системой на удаленном сервере, администратор загружает образ восстановления и проводит необходимые работы. Такой способ отлично работает, когда причина сбоя известна, а образ восстановления и установленная на сервере операционная система из одного семейства. Если причина сбоя еще не известна, необходимо понаблюдать за ходом загрузки операционной системы.
    Читать дальше → Read more »
  • Проекты, которые не взлетели
    Cloud4Y уже рассказывал про интересные проекты, разработанные в СССР. Продолжая тему, вспомним о том, какие ещё проекты имели неплохие перспективы, но по ряду причин не получили широкого признания или вообще были положены под сукно.

    АЗС
    Читать дальше → Read more »
  • [Перевод] Хранилища в Kubernetes: OpenEBS vs Rook (Ceph) vs Rancher Longhorn vs StorageOS vs Robin vs Portworx vs Linstor


    Обновление!. В комментах один из читателей предложил попробовать Linstor (возможно, он сам над ним работает), так что я добавил раздел об этом решении. Еще я написал пост о том, как его установить, потому что процесс сильно отличается от остальных.


    Если честно, я сдался и отказался от Kubernetes (во всяком случае, пока). Буду использовать Heroku. Почему? Из-за хранения! Кто бы мог подумать, что я буду больше возиться с хранилищами, чем с самим Kubernetes. Я использую Hetzner Cloud, потому что это недорого и производительность хорошая, и с самого начала я развертывал кластеры с помощью Rancher. Я не пробовал управляемые сервисы Kubernetes от Google/Amazon/Microsoft/DigitalOcean и проч., проч., потому что всему хотел научиться сам. А еще я экономный.

    Читать дальше → Read more »
  • Google приводит аргументы для оправдания трекинга пользователей — компанию упрекают в неискренности и манипуляциях
    22 августа 2019 года директор по разработке браузера Chrome Джастин Шух (Justin Schuh) опубликовал программную статью «Создавая более конфиденциальный веб». В ней:

    1. Объявлено об инициативе по разработке ряда открытых стандартов для «фундаментального улучшения конфиденциальности в вебе» — Privacy Sandbox.
    2. Декларируются принципы Google по отношению к конфиденциальности пользователей. Некоторые из них отличаются от подходов, которые реализуют разработчики Firefox и Safari. Например, Google выдвигает неожиданный аргумент, что блокировка куков вредит конфиденциальности.

    По мнению некоторых комментаторов, аргументы Google «смешны и необоснованны», а сама инициатива в каком-то смысле неискренна и даже опасна. Исследователи в области безопасности Джонатан Майер (Jonathan Mayer) и Арвинд Нараянан (Arvind Narayanan) разбирают по пунктам «оправдания Google для отслеживания пользователей».
    Читать дальше → Read more »
  • Apple Music для разработчика

    Вводные слова


    Как бы ни ругали Apple за закрытость платформы и самой экосистемы, некоторые их решения являются исключением. На рынке много стриминговых сервисов, но предоставляющих полноценный SDK для стриминга в сторонних продуктах крайне мало, для российского рынка список официально доступных SDK ограничивается Deezer и Apple Music. Конечно, когда на наш рынок придёт Spotify, на один доступный SDK станет больше, но пока есть два игрока и только один из них имеет широкую пользовательскую базу.


    Так получилось, что я имел опыт работы с Deezer SDK под Android и прямо сейчас активно работаю с SDK Apple Music (MusicKit) под iOS. И главное отличие от опыта с Deezer состоит в том, что MusicKit — это верхушка айсберга, она же публично доступный API. В отличие от Deezer, где повторить большую часть функциональности официального приложения — это просто длительный процесс, повторить функциональность даже веб-страницы Apple Music, используя только публичный API, невозможно. Даже если Apple использует MusicKit в своих решениях, то кроме него она использует ещё массу недокументированных API запросов и приватных API, которые простым смертным использовать запрещено.


    В статье я расскажу про работу с MusicKit с точки зрения разработчика в контексте реализации достаточно "простых задач": поискать в каталоге, показать картинки в результатах поиска, получить песни, рекомендации и даже проиграть какую-то музыку. Забегая вперёд скажу, что многое из рассказанного будет справедливо и для работы с Apple Music в Android и Javascript.


    Если понадобится, готов дать детальные ответы с кодом на вопросы в комментариях.

    Читать дальше → Read more »
  • Быстрая локализация проблем производительности Microsoft SQL Server в Quest Foglight


    В прошлой статье об инструменте для мониторинга Foglight for Databases мы рассказывали о возможностях контроля из единого интерфейса SQL Server, Oracle, PostgreSQL, MySQL, SAP ASE, DB2, Cassandra и MongoDB. Сегодня разберём подходы к быстрому выявлению причин нештатной работы Microsoft SQL Server:

    • Поиск источника блокировки;
    • Сравнение настроек БД «было-стало» с привязкой к метрикам производительности;
    • Поиск изменений в структуре БД, из-за которых снизилась производительность.

    Подробности под катом.
    Читать дальше → Read more »
  • PHP-Дайджест № 163 (12 – 26 августа 2019)

    Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.4.0 beta 4, о судьбе P++, видео, подкасты, анонсы митапов и конференций, порция полезных инструментов, и многое другое.

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


    Читать дальше → Read more »
  • CRISPR дает возможность избавить человека от боли


    В течение нескольких лет CRISPR верой и правдой служит генетикам, которые при помощи этой технологии смогли достичь новых высот в редактировании генома животных и изучении ДНК человека. Сейчас ученые разрабатывают новую технологию, которая, по всей видимости, сможет отключать боль у тех, кто в этом нуждается.

    Люди, которые не чувствуют боли, встречаются очень редко, о них было известно задолго до наступления XXI века. Как выяснилось, у них есть определенная мутация, которая блокирует ген, отвечающий за боль. В частности, такой ген отсутствовал у бродячего артиста из Пакистана — мальчика, выступавшего на улицах с удивительными номерами. Он вонзал ножи в свои ладони и ходил по раскаленным углям без малейших признаков боли.
    Читать дальше → Read more »
  • Дайджест свежих материалов из мира фронтенда за последнюю неделю №377 (19 — 25 августа 2019)
    Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.


    Читать дальше → Read more »
  • [Из песочницы] Синтаксический разбор предложения русского языка
    В данной статье описывается процесс синтаксического анализа предложения русского языка с использованием контекстно-свободной грамматики и алгоритма LR-анализа.

    Обработка естественного языка — общее направление искусственного интеллекта и математической лингвистики. Оно изучает проблемы компьютерного анализа и синтеза естественных языков.

    В общем, процесс анализа предложения естественного языка выглядит следующим образом: (1) разбиение предложения на синтаксические единицы — слова и словосочетания; (2) определение грамматических параметров каждой единицы; (3) определение синтаксической связи между единицами. На выходе — абстрактное дерево разбора.
    Читать дальше → Read more »
  • В очередной раз о НОД, алгоритме Евклида и немного об истории алгоритмов вообще. Конечно, с примерами на Swift
    Алгоритмы – одна из центральных тем в программировании, они повсюду (особенно на собеседованиях, ха-ха).

    image
    (Разве можно обойтись в таком посте без «баяна»?)

    Одним из самых известных является так называемый алгоритм Евклида – пожалуй, самый распространенный способ нахождения наибольшего общего делителя (НОД) двух целых неотрицательных чисел. С него также зачастую любят начинать изучение (и обучение) соответствующих разделов математики и информатики. Читать дальше → Read more »
  • Спринтец. Две недели продуктивной работы

    Привет.


    Если ты программист — все человеческое тебе не чуждо.


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


    Я хочу пригласить тебя к диалогу о повышении личной эффективности программистов.

    Читать дальше → Read more »
  • Дайджест интересных материалов для мобильного разработчика #312 (19 — 25 августа)
    В нашей еженедельной подборке PWA в Google Play, запись нажатий, декларативный UI, изменения логотипа и нумерации версий Android, история создателя FBReader, отслеживание рук и многое другое!

    Читать дальше → Read more »
  • После киберпанка: что нужно знать про актуальные жанры современной фантастики
    С произведениями в жанре киберпанк знаком каждый — новые книги, кино и сериалы об антиутопическом мире технологий будущего появляются каждый год. Однако киберпанк — не единственный жанр современной фантастики. Расскажем о направлениях в искусстве, которые предлагают ему самые разные альтернативы и заставляют авторов-фантастов обращаться к самым неожиданным темам — от традиций народов Африки до «культуры шопинга».

    Читать дальше → Read more »
  • Анализ механизмов локализации интерфейса приложений в Splunk

    В данной статье мы рассмотрим основной механизм локализации интерфейса приложений Splunk (в т.ч. стандартных элементов приложения Search) — gettext internationalization and localization (i18n).
    Читать дальше → Read more »
  • [Из песочницы] Ассемблерные вставки… в C#?
    Итак, эта история началась с совпадения трёх факторов. Я:

    1. в основном писал на C#;
    2. лишь примерно представлял, как он устроен и работает;
    3. заинтересовался ассемблером.

    Эта, на первый взгляд, невинная смесь породила странную идею: а можно ли как-то совместить эти языки? Добавить в C# возможность делать ассемблерные вставки, примерно как в C++.

    Если вам интересно, к каким последствиям это привело, — добро пожаловать под кат.


    Читать дальше → Read more »
  • [Перевод] Браузерная ленивая загрузка изображений (атрибут loading)


    Поддержка встроенной ленивой загрузки изображений и iframe пришла в веб!
    Начиная с Chrome 76 версии, вы можете использовать новый атрибут loading для ленивой загрузки ресурсов без необходимости писать для этого дополнительный код или использовать стороннюю JavaScript-библиотеку. Давайте рассмотрим детали.
    Читать дальше → Read more »
  • ASIC-майнер second hand: риски, проверка и переклеенный хэшрейт
    Сегодня в сети нередко можно встретить кейсы по майнингу BTC и альткоинов с рассказами о выгодном использовании подержанных ASIC-майнеров. С ростом курса интерес к майнингу возвращается, а криптозима оставила огромное количество бэушных устройств на вторичном рынке. Например, в Китае, где стоимость электроэнергии не позволяла рассчитывать даже на минимальную доходность криптоэмисси в начале года, на вторичном рынке появились тысячи недорогих устройств.



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

    Некоторые криптопредприниматели считают, что при равной производительности бэушный ASIC, благодаря низкой стоимости окупается быстрее. В ряде конкретных случаев это действительно так. При этом появляются сообщения о проблемах с охлаждением, внезапном выходе из строя и снижении хешрейта. Под катом о преимуществах и рисках использования подержанного оборудования для майнинга.
    Читать дальше → Read more »
  • Гайд по голосовому UX: ситуации, паттерны, инструменты (и немного моральной поддержки)
    UX и UI-дизайнеры всё ещё со скепсисом смотрят в сторону голосовых интерфейсов. Одним кажется, что это маркетинговый хайп, который скоро сойдёт на нет. Другие не пользуются голосовыми ассистентами и поэтому уверены, что голос — это неудобно и неестественно. Но пока они сомневались, сложилась самостоятельная профессиональная сфера — со своими секретами, паттернами и механиками (и даже рынком труда). Вместе с UX-архитектором Just AI Екатериной Юлиной разбираемся, как подступиться к голосовым технологиям и что в своем мышлении должен изменить UX-дизайнер традиционных интерфейсов, берясь за голосовые.



    Читать дальше → Read more »
  • Встроенные средства контроля ресурсов используемой оперативной памяти в приложении

    Встроенные средства контроля ресурсов используемой оперативной памяти в приложении



    Описывается достаточно простое в реализации программное средство контроля используемых ресурсов оперативной памяти в процессе выполнения приложения. Основу реализации составляет перехват и регистрация запросов на выделение, освобождение и повторное использование ресурсов памяти, направляемых приложением операционной системе через вызовы malloc(), calloc(), realloc(), free(). Все запросы памяти регистрируются в специальном журнале и по завершении приложения накопленная информация выводится в форме отчета на консоль или записывается в текстовый файл. Анализ отчета позволяет выявлять случаи неэффективного использования оперативной памяти в приложении. К таковым относятся “утечки” (memory leaks), когда запрошенные ресурсы памяти не освобождаются и не востребуются приложением, фрагментация, когда размеры освобожденных и доступных для повторного использования непрерывных участков памяти оказываются недостаточными для удовлетворения новых запросов, что приводит к выделению дополнительных ресурсов.

    Встраиваемое средство контроля оперативной памяти может находиться во включенном или выключенном состояниях (на регистрацию запросов памяти), а возможности программного переключения состояний позволяют управлять и оптимизировать объем получаемых для данных по выделенным ресурсам памяти.
    Читать публикацию Read more »