• Хаки при работе с большим числом мелких файлов

      Идея статьи родилась спонтанно из дискуссии в комментариях к статье «Кое-что об inode».



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

      Поэтому делюсь нашим опытом, может кому и пригодится.
      Читать дальше →
    • Как прийти в небо и стать пилотом


        Привет! Сегодня я расскажу о том, как можно прийти в небо, что нужно для этого сделать, сколько оно все стоит. Также поделюсь своим опытом обучения на частного пилота в Великобритании и развею некоторые мифы, связанные с авиацией. Под катом много текста и фоточек :)

        Читать дальше →
      • ООП в языке R (часть 1): S3 классы

        • Tutorial

        R — это объектно ориентированный язык. В нём абсолютно всё является объектом, начиная от функций и заканчивая таблицами.


        В свою очередь, каждый объект в R относится к какому-либо классу. На самом деле, в окружающем нас мире ситуация примерно такая же. Мы окружены объектами, и каждый объект можно отнести к классу. От класса зависит набор свойств и действий, которые с этим объектом можно произвести.


        image

        Читать дальше →
      • Переезд веб-портала: от монолита к микросервисной архитектуре

          Делимся опытом модернизации архитектуры веб-портала, позволившей сделать продукт удобным, стабильным и отказоустойчивым: посещаемость выросла с 350 тысяч до 7 миллионов пользователей! История будет полезна тем, кто планирует расширение своего продукта. Для начала разберемся, какие факторы могут помешать работе и развитию веб-портала:
          Читать дальше →
        • Видишь данные? Нет. Вот и я не вижу, а они есть. Уничтожаем данные на SSD-накопителях, да ещё и скорость восстанавливаем

            Любой из нас сталкивался с ситуацией, когда требовалось восстановить данные, будь то что-либо не особо важное или же, наоборот, критически необходимое для достижения определённых целей. Но немногие пользователи задавали себе вопрос: «А что, если кто-то восстановит мои личные данные на моём накопителе?», — а ведь правильный вопрос! Сегодня мы поговорим о методе удаления данных Secure Erase, а также узнаем о его достоинствах и недостатках.


            Читать дальше →
          • Простой вариант реализации многопоточности на PHP

            Многопоточность в PHP отсутствует «из коробки», поэтому вариантов её реализации было придумано великое множество, включая расширения pthreads, AzaThread (CThread), и даже несколько собственных наработок PHP программистов.

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

            • Translation


            Когда я начал изучать JavaScript, то первым делом составил список приемов, которые помогали мне экономить время. Я подсмотрел их у других программистов, на разных сайтах и в мануалах.

            В этой статье я покажу 12 отличных способов улучшить и ускорить свой JavaScript-код. В большинстве случаев они универсальны.
            Читать дальше →
          • Своя временная почта: телеграм бот

            Часто с новыми инструментами и возможностями появляется желание поэкспериментировать и реализовать что-то не совсем обычное, чего раньше ещё никогда не делал. Идея создать свой сервис временной почты в виде телеграм бота показалась мне достаточно интересной.
            Читать дальше →
          • Учет трафика Cisco ASA с помощью NetFlow, nfdump и MySQL на FreeBSD или Linux (Часть 2)

            Введение


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

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

            Первое, с чего пришлось начать, это с изучения данной статьи — http://habrahabr.ru/post/127613/ (автору gag_fenix большущий респект). Это единственная нормальная и полная статья о том, как можно получить и учитывать трафик на сетевом оборудование Cisco ASA с использованием nfdump. В этой статье отлично описана только реализация о том, как можно настроить оборудование на передачу пакетов NetFlow на хост, а также каким образом можно использовать полученные данные для последующего анализа. Сам же анализ трафика и его учет не рассматривается в статье.

            Перед тем, как читать дальше, настоятельно рекомендую хорошо изучить вышеуказанную статью, так как некоторые особенности настройки будут опускаться. В статье рассмотрим такие вопросы о том, как вести учет по NetFlow (используя MySQL на коллекторе), как посчитать VPN трафик, какой тип пакетов учитывать, как избежать «удвоения» и «дублирования» трафика, и как использовать мое приложение.
            Читать дальше →
            • +6
            • 26.8k
            • 4
          • Бытовой мультиметр, которого я так и не нашел на рынке

              Выкинув очередной сдохший DT-838, я крепко задумался. На рынке полно мультиметров на любую цену и точность измерений. Но когда тебе нужен простой бытовой мультиметр, который нужен в хозяйстве: для простого ремонта бытовой техники, машины, работ по электрике, то на рынке кроме DT-838 по сути ничего и нет. Не может же быть все настолько грустно, рассуждал я, наверняка в чистилище между индикаторной отверткой, лампочкой-пробником и DT-838 должны обитать какие-то другие приборы. Которые бы гармонично смотрелись в ящике с инструментами, извлекаемые оттуда раз в полгода для редких работ, или бы жили в машине круглый год. Таких не нашлось, и поэтому все что будет написано ниже — попытка описать желаемый мультиметр, отталкиваясь от требований предъявляемыми бытом обычного человека, далекого от электроники, но с прямыми руками.



              Читать дальше →
            • Аналоговый индикатор загруженности компьютера

              Встретил я как-то пост от ClusterM где он сделал виджет в виде старых индикаторов. Мне эта идея безумно понравилась так как есть приятное чувство винтажа в этом проекте. Но вот незадача — я никогда не работал с самим микроконтроллером и программирую я так себе, поэтому идею долго откладывал. Но недавно я натолкнулся на видео где Алекс доработал с помощью знакомых Open source программу и разработал алгоритм обработки данных со стороны Ардуино. В этой статье я хочу показать как я реализовал эту задачу.

              Читать дальше →
            • 11 JavaScript-библиотек для визуализации данных, о которых стоит знать в 2018 году

              • Translation
              Мы живём во времена взрывного роста объёмов данных, генерируемых и потребляемых человечеством. Практически в каждом из разрабатываемых сегодня приложений данные либо используются где-то внутри них, либо визуализируются. Программисты, используя данные, стремятся сделать работу с их программами максимально комфортной.

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

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

              image

              Сегодня мы представляем вашему вниманию перевод материала, в котором рассмотрены опенсорсные JavaScript-библиотеки для визуализации данных.
              Читать дальше →
            • Мне не страшен ваш NDA

                Это громкая и страшная аббревиатура из трёх неприличных букв. Хотите поучаствовать в тендере, устраиваетесь на работу, нужно получить данные — вам подсовывают эту бумажку, мол, подпиши сначала, а то нашли дураков без NDA тебе что-нибудь рассказывать. При этом в большинстве случаев вы ничего сверхсекретного или коммерчески важного не узнаете, но процедура подписания NDA стала неким таинством посвящения, которое стороны выполняют не особо задумываясь над смыслом.

                Это так же как вы неизбежно получите требование вместе с учредительными документами предоставить выписку из ЕГРЮЛ не старше 30 дней. Хотя всё доступно в онлайне, все распечатывают эту выписку из интернета, заверяют её и передают контрагенту, который даже не смотрит её, потому что всё есть в интернете. Ну, вы поняли, короче, отечественную любовь к таинствам.

                image
                Читать дальше →
              • Учим CSS Grid за 5 минут

                • Translation
                Быстро познакомимся с будущим макетов веб-сайтов.

                image

                Grid макеты имеют основополагающее значение для дизайна веб-сайтов, а модуль CSS Grid — это самый мощный и простой инструмент для его создания.

                В этом году модуль также получил нативную поддержку основных браузеров (Safari, Chrome, Firefox), поэтому я считаю, что всем фронтенд разработчикам придется изучать эту технологию в недалеком будущем.

                В этой статье я быстренько расскажу вам об основах CSS Grid.
                Читать дальше →
              • Роуминг за границей: как отличаются цены на мобильный интернет в Европе?

                  Привет, Geektimes!
                   
                  В этой публикации мы решили сравнить тарифные планы на мобильный интернет в странах ЕС и Великобритании, как раз перед сезоном отпусков. Мы решили коснуться этой темы не просто так: используя особую магию (о которой – далее), трекер для собак Mishiko работает в 170 странах мира без доплаты за роуминг. Так что кому, как не нам разбираться в ценовой политике европейских операторов (и российских в роуминге!).
                   
                  Мы сравнили цены на мобильный интернет при покупке местной симки, специальной глобальной симки и при оплате услуг российских операторов в роуминге. Скриншот для привлечения внимания: стоимость 1 Мб мобильного интернета в Словакии при роуминге с Yota составляет… 790 рублей:
                   

                  Но обо всем по порядку.
                  Читать дальше →
                • Прокачка TinyMCE 4

                  Здравствуйте, меня зовут Константин, я работаю front-end-разработчиком на информационно-развлекательном портале, основную долю контента которого составляют новости и статьи. И, конечно же, нам было крайне важно организовать удобную работу с порталом для наших редакторов. О том, каких успехов мы добились на данном поприще, и будет эта статья.
                  Читать дальше →
                  • +31
                  • 45.1k
                  • 5
                • Инструкция: Как создавать ботов в Telegram

                  24 июня разработчики Telegram открыли платформу для создания ботов. Новость кого-то обошла стороной Хабр, однако многие уже начали разрабатывать викторины. При этом мало где указаны хоть какие-то примеры работающих ботов.
                  Попробую это исправить
                • Push-уведомления через Telegram



                    25 июня Telegram открыл платформу для ботов. Первая моя мысль была — ведь можно слать через него уведомления! При помощи уведомлений через телеграм можно решить сразу несколько проблем, хотя бы частично:
                    • Поддержка iOS
                    • Поддержка Windows Phone
                    • Получение уведомлений без установки лишних приложений

                    Таким образом, PushAll теперь может отправлять уведомления на устройства Android, Chrome и в Telegram через бота.



                    Под катом небольшая инструкция по настройке и детали разработки. (небольшая инструкция для тех, кто собрался делать такого же бота)
                    Читать дальше →
                  • Видео с камеры наблюдения на сайте бесплатно и без смс

                    • Tutorial
                    Появилась необходимость показывать видео с камеры на сайте в режиме онлайн. Виделось несколько вариантов (дополню вариантами из комментов, если будут):

                    • Дать доступ к камере. Просто доступ к камере давать не стоит по соображениям безопасности. Камера ляжет уже при очень небольшой нагрузке.
                    • Коммерческая услуга. Мы им доступ к камере и деньги, они нам ссылку для размещения на сайте. Они же решают проблему совместимости камеры и браузеров пользователей, производительности канала и доступности
                    • На своих мощностях. Между пользователем и камерой ставится нечто, что отвечает за совместимость с браузерами, производительность и доступность. Проблемы решаем сами.

                    Этот вариант рассмотрим ниже. Т.к. "flash умер" или "flash вот-вот умрет", вариант с размещением flash плейера на сайте не рассматривался. Тернистый путь поисков решений в интернетах не привел к готовому решению. Пришлось изобрести велосипед.

                    Подробнее изобретения под катом.
                    Читать дальше →