• Замена диска с сохранением правильной нумерации в CEPH

    Предполагается, что в результате этого метода мы сохраняем последовательность, в которой диски выводятся командой ceph osd tree. Если они там по порядку, то это удобнее читается и считается, при необходимости.

    Лирическое отступление по теме. Официальный метод замены диска в ceph предполагает удаление всех логических сущностей, связанных с этим диском из кластера с дальнейшим их пере-созднием. В результате чего свеже-созданный osd (при некотором стечении обстоятельств) может сменить свой номер (номер в имени сущности, это который osd.Цифра) и местоположение в crush-мапе и естественно будет выводиться в другом мечте в команде ceph osd tree и других. Сменится его порядковый номер.

    Идея этого метода заключается в том, что никакие логические сущности мы менять не будем, а просто подсунем новый диск на «старое» место в кластере. Для этого на этом новом диске надо (вос)создать правильные структуры данных: всяческие id, симлинки, ключики.
    Читать дальше →
  • Схема отложенного консенсуса как способ увеличения масштабируемости

    Был один спор, который я вел и сам с собой и с коллегами, с которыми мы строим свою блокчейновую платформу, относительно того что такое, зачем нужен и как работает в общем механизм достижения консенсуса в блокчейновых сетях. И в процессе этих споров родилась схема механизма консенсуса, которая несколько отличается от существующих решений и способна подойти для обеспечения устойчивой работы с высоким показателем пропускной способности для сети, где размер каждой транзакции радикально отличается от обычных нескольких сотен байт, например для конфиденциальных транзакций, чей размер раз в 20 больше, чем обычной. На ваш суд я и предоставляю краткое её описание и хотел бы выслушать все возможные аргументы “за и против” подобной схемы.
    Читать дальше →
  • Немного об иконках css и svg

    Прилетела задача:
    Нужно допилить тему для сайта и там под это дело вставить аж целый css-класс, который будет отображать иконку в кнопке.

    Но есть парочка «Но»…

    1. Иконочных шрифтов нет.
    2. Подгружать внешние файлы нельзя.
    3. С помощью js/canvas/html рисовать нельзя.
    4. Иконка должна быть масштабируемая.

    Что делать? Как быть?
    Читать дальше →
  • Как вернуть трафик, если сайт попал под санкции «Баден-Баден»

    Внезапное снижение позиций страниц, оптимизированных для поисковиков – работа алгоритма Яндекса. Почему робот недоволен контентом и как выйти из-под фильтра, рассмотрим в статье.

    Читать дальше →
  • Ротация каналов связи

    Доброго дня!
    Недавно столкнулся с задачей ротации каналов связи, суть в том, что есть основной канал связи, есть резервный. Реальная задача, из реальной жизни, а так навеяло студенческими годами.

    Приступим к делу? Задача реализовать переключение канала связи на резервный, при падении основного канала. Но при этом всем необходимо учесть возможность возврата к основному каналу (при его восстановлении).

    Как говорится, глаза бояться, руки делают.
    Читать дальше →
  • Solidity, интересная особенность при использовании библиотеки

    Добрый день.

    Разбираясь со смарт-контрактами Ethereum (Solidity) столкнулся с одной интересной особенностью использования библиотек (library), о которой вроде как прямо нигде не написано (по крайне мере я не нашел).
    подробности
  • Мои методы улучшения обучения в iT

    Подином 0.0


    Приветствую всех хабровчан, в этой публикации будут затронуты такие темы как: прокрастинация и осознанность.


    Q1. “Как это относиться к iT?”
    A1. Понимание того как обучаться поможет вам стать лучшим в своей области, будь это: machine learning, computer science или изучение различных языков.
    Q2. “Почему самая первая часть этой рубрики затрагивает прокрастинацию и осознанность, а не например: языки программирования или слепую печать?
    A2. Так как нету смысла учиться, если не уметь учиться.
    Q3. “Почему все так сжато?”
    A3. Я считаю, что текста должно быть минимум, информации максимум, если хотите узнать больше о тех или иных вещах, то всегда есть google.

    Читать дальше →
  • Как использовать сервисы мобильной аналитики с видеозаписью, чтобы никому не было обидно

    Инструменты аналитики — мощный инструмент, позволяющий гораздо лучше понять пользователей своего приложения. Сложно представить проект, в котором не используется хотя бы Firebase Analytics. Для людей, близких к сфере — это обычная практика и совершенно обыкновенные данные, которые нужны только для того, чтобы сделать проект лучше. Но для пользователя приложения — это его приватность, которая неожиданно нарушается без его согласия на это.
    Читать дальше →
  • Бесшумный компьютер дома. Мой опыт



    Системные блоки моих компьютеров. Они не шумят. По крайней мере я не могу отличить на слух включенный компьютер от выключенного. Только в жару при большой нагрузке может включиться вентилятор в блоке питания. Но это бывает редко
    Читать дальше →
  • Система распознавания и отправки уведомлений FreePBX

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

    За основу взят пост, но он не актуален в силу изменения работы самого API у Google.

    Документация Google
    Читать дальше →
  • Лучшие инструменты для веб-дизайнеров и веб-разработчиков

    Привет, хаброжители! Это статья больше пригодится подаванам, чем профессионалом, но возможно это статья станет уютным пристанищем для знатоков своего дела. Каждому, кто работает в сфере веба когда-то требуется что-то большое, чем текстовый редактор кода или Photoshop, Figma и т.п.И я решил составить список полезных сервисов, как для веб-разработчика, так и для веб-дизайнера.
    Читать дальше →
  • Сбор требований для чайников и технарей

    Вступление


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

    Опыт создания клиент-серверного приложения для автоматизации регистрации доменных имен на сайте хостинг провайдера.


    Часть первая: структура проекта.


    Один из клиентов попросил о помощи в проекте для автоматизации регистрации бесплатных доменных имен на сайте провайдера в автоматическом режиме.


    Я ознакомился с сайтом и обнаружил там много JavaScript и было принято решение использовать симуляцию пользовательской активности на сайте с помощью таких инструментов, как Сhromium и Lazarus-IDE на стороне сервера, с установленным там Linux Debian.


    Я приступил к тестированию своего решения.


    image

    Читать дальше →
  • Как почувствовать себя калькулятором. Создание своего первого мобильного приложения от идеи до публикации

    Всем привет. Меня зовут Дмитрий и я студент, который имел банальную мечту, создать свою мобильную игру.

    Начинал осуществлять свою мечту с простого. Как только увидел Construct Classic, я понял, что пора действовать, но как только я начал работать над своей мечтой, я начал понимать, на сколько сложно создавать мобильную игру. Время шло, менял идею за идеей.

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

    Увидев Unity, я понял, что вот он мой спаситель и именно вместе с ним я покорю вершины Play Market. И я начал взахлеб изучать материл связанный с Unity и языком C#, все больше убеждаясь, что я нашел своего спасителя.
    А время все шло, а я не решался полностью перейти на Unity. Я все никак не мог придумать, а, чтобы такого на нем сделать? Но вот наступил день, когда все закрутилось и завертелось.
    Читать дальше →
  • Головоломка под названием «0x712» (GIF-анимация с белыми точками на чёрном фоне)

    Около месяца назад я придумал и опубликовал на Reddit головоломку, которую, вероятнее всего, до сих пор никто не разгадал (иначе я, скорее всего, узнал бы об этом):


    0x712

    Чтобы сохранять интерес, просьба не давать подсказки к разгадыванию в комментариях. Если кто-то разгадает, я сообщу о самом факте разгадывания в комментариях, но не более того.
  • Почему веб-разработка на Go приятнее чем на PHP

    Для кого я пишу? Для тех кто пишет на php (возможно также python, ruby) и слышал про Go, но ещё не решился его изучить детальнее. Я приведу доводы почему стоит изучать этот язык программирования и почему за ним будущее в веб-разработке.
    Читать дальше →
  • Почему некоторые языки программирования живут, а другие умирают?

    Привет, Хабр! Представляю вашему вниманию перевод статьи «Why Do Some Programming Languages Live and Others Die?».

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

    Он собирается заменить языком под названием Go почтенные языки С и С++, обеспечив более быстрые средства для создания очень больших платформ программного обеспечения в центрах обработки данных. Также языком Dart он собирается заменить JavaScript, улучшив способ построения программного обеспечения, которое запускается в наших веб-браузерах.

    Но не имеет значения, насколько эти новые языки впечатляющи, вы удивитесь, как много времени им потребовалось, чтобы действительно завоевать популярность – если это вообще произошло. В конце концов, новые языки программирования появляются всё время. Но очень редко каким удаётся заполучить широкую публику.
    Читать дальше →
  • Как создать инди-игру на Android и IOS



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

    Читать дальше →
  • Логирование всех POST и GET запросов



    Простой способ вести логи средствами php. Статья рассчитана для новичков в программировании.
    Бывают ситуации, когда необходимо посмотреть входящие запросы ко всем файлам CMS, либо к файлам в отдельно взятой директории. При большом числе посетителей сайта, анализ файлов access.log становится затруднительным.

    Представленный ниже пример отлично справляется с этой задачей. Данный способ ведения логов рекомендуется использовать «здесь и сейчас», непосредственно на время отладки. В отличие от стандартного способа, предлагаемого любым нормальным хостинг-провайдером, в данном примере не предусмотрена очистка логов, а по сему его стоит использовать кратковременно, во избежание разрастания файлов post.log и get.log. Данный модуль позволяет записывать лог всех POST и GET запросов к php файлам в выбранной папке (включая вложенные папки).
    Читать дальше →