• «Читальный зал»: статьи о радио, стриминге и подкастах

      Вчера мы сделали для вас подборку из 12 каналов на YouTube про устройство акустики. Сегодня вас ждут пятнадцать материалов из нашего «Мира Hi-Fi», в которых мы говорим, о радиоспектаклях советской эпохи, настоящем и будущем стриминговых сервисов и трендах рынка подкастов.

      Читать дальше →
      • +16
      • 3,7k
      • 2
    • Как из PostgreSQL и ClickHouse в Python много, быстро и сразу в numpy

      Разбил много кружек в поисках решения для быстрого получения длинных историй цен для большого количества активов в Python. Ещё имел смелость желать работать с ценами в numpy-массивах, а лучше сразу в pandas.

      Стандартные подходы в лоб работали разочаровывающе, что приводило к выполнению запроса к БД в течение 30 секунд и более. Не желая мириться, я нашёл несколько решений, которые полностью меня удовлетворили.
      Читать дальше →
    • Вывод Telegram-канала на свой вебсайт

      • Tutorial
      Забьем еще один гвоздь в крышку гроба Роскомнадзора.

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

      Странно, что на Хабре еще не упоминался этот замечательный бот — Journalist (@JournalistBot). На сайте указано, что beta, но работает более чем стабильно.
      Читать дальше →
    • Linux-контейнеры дома: зачем и как




        Рассуждения


        При упоминании словосочетания «контейнерная виртуализация», многим на ум сразу же приходят Virtuozzo и OpenVZ, а также Docker. Ассоциируется же это все, в первую очередь, с хостингом, VPS и другими подобными вещами.

        Дома, на личных компьютерах многие используют виртуальные машины: в основном, пожалуй, Virtualbox. Как правило, для того, чтобы работая под Linux, иметь под рукой Windows или наоборот. Однако, при наличии множества родственных Linux-операционок, я стал замечать, что использование виртуальных машин — это, мягко говоря, нерационально.
        Читать дальше →
      • Принудительное введение в системы управления конфигурациями

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


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


          Введение для отшельников, которые не слышали что такое configuration management systems


          Уже многие годы (по айтишным меркам — три поколения как) существуют программы, которые позволяют автоматизировать процесс конфигурации серверов. Все эти программы сложные, они вторгаются в святую святых администраторов и заставляют их делать "всё не так, как раньше". Их изучение и интернализация (признание, что "так надо и так правильно") — абсолютный must have в карьере любого системного администратора.


          Главная боль любой системы управления конфигурациями


          Главная боль состоит в том, что система управления конфигурациями ломает привычную автоматику пальцев. Раньше вы могли поднять веб-сервер за 2 минуты почти не глядя на экран. Теперь вам предлагают потратить на абсолютно те же самые действия минут 15-20 (если вы хорошо знаете систему управления конфигурациями) или даже несколько дней (!!!!!), если вы её изучаете.


          Это преступление против личной эффективности. Уменьшить её в десять (0xA) раз — и это они называют прогрессом?

          Читать дальше →
        • Настраиваем интернет шлюз с прозрачным обходом блокировок (а рекламу таки будем блокировать)

          • Tutorial


          У вас есть старенький (или не очень) компьютер с двумя сетевыми картами? Вам надоела реклама и лишние телодвижения для обхода блокировок? Вы не хотите с этим мириться? Тогда добро пожаловать под кат.
          Читать дальше →
        • Охота на работу мечты

          Хотите попасть на работу в компанию мечты? Работать с конкретными технологиями? Нужна более высокая зарплата и различные бонусы? Рынок по вашей специализации высококонкурентен, и вы чувствуете, что у вас мало шансов?

          Множество людей, узнав о подходящей вакансии, подают резюме и сопроводительное письмо в компанию, тягостно ждут ответного звонка или e-mail’а, и получают в ответ тишину, или вежливый отказ. Кому-то везёт больше, они проходят на собеседование, после которого также могут получить отказ.
          Читать дальше →
        • Как работает Git

          • Перевод
          В этом эссе описана схема работы Git. Предполагается, что вы знакомы с Git достаточно, чтобы использовать его для контроля версий своих проектов.

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

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

          После прочтения для ещё более глубокого погружения можно обратиться к обильно комментируемому исходному коду моей реализации Git на JavaScript.
          Читать дальше →
        • Как перестать ходить на конференции участником и начать выступать? Советы от Андрея Акиньшина

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

            Андрей Акиньшин (@DreamWalker) — разработчик Rider в JetBrains, мейнтейнер проекта BenchmarkDotNet (библиотека для написания .NET-бенчмарков, поддержанная .NET Foundation), .NET MVP, кандидат физико-математических наук, серебряный призёр ACM ICPC.

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

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

              UPD от 2017-03-04: кто-то выполнил английский перевод. Обсуждение на Hacker News.

              В первой части статьи перечислю кучу костылей UNIX, и вообще разных недостатков. Во второй — про «философию UNIX». Статья написана наскоро, «полировать» дальше не хочу, скажите спасибо, что написал. Поэтому многие факты привожу без ссылок.

              Костыли в UNIX начали возникать ещё с момента появления UNIX, а это было ещё раньше появления не только Windows, но даже вроде бы Microsoft DOS (вроде бы, мне лень проверять, проверяйте сами). Если лень читать, хотя бы просмотрите все пункты, что-нибудь интересное найдёте. Это далеко не полный список, это просто те косяки, который я захотел упомянуть.
              Читать дальше →
            • Экосистема разработчиков в Telegram

                Лого

                Многим уже известно, что в мессенджере Telegram помимо прямого общения между двумя людьми также реализованы другие полезные инструменты:

                • Каналы — некий симбиоз сообщений и списков рассылки, где автор или коллектив авторов обращаются к своей аудитории, но аудитория не может влиять на содержимое канала.
                • Группы — своеобразные чаты между большим количеством пользователей, где каждый участник является полноправным представителем сообщества и может влиять на повестку дня.
                • Боты — специальные аккаунты в Telegram, созданные для того, чтобы автоматически обрабатывать и отправлять сообщения, часто используются для интеграции c сервисами.

                На днях на просторах Github, наткнулся на список каналов, групп, ботов в Telegram, который пополняется непосредственно разработчиками, использующими этот проект совместной разработки. Под катом можно увидеть саму IT-подборку, из которой каждый сможет выбрать что-то интересное для себя.
                Читать дальше →
              • Тяжелое расставание с Net-Tools

                • Tutorial

                Не секрет, что Net-Tools пора на почетную отставку. Да, многим админам и мне в том числе, до условного рефлекса Павлова знакомы команды ifconfig, route, netstat. На первый взгляд нет причин что-то менять, а лучшее как всегда враг хорошего.




                Давайте узнаем почему Net-Tools уже не тот и как безболезненно с него перейти на iproute2 .

                Читать дальше →
              • Поднимаем Owncloud с нуля с динамическим IP и Let's Encrypt. Тысяча слонов!*

                • Tutorial


                Давно хотел написать целостный туториал по поднятию Owncloud в условиях домашнего сервера или небольшой компании до 500 пользователей. Owncloud — это прекрасный open-source проект, который позволяет на собственной инфраструктуре поднять свой вариант сервера синхронизации. По возможностям очень похож на Dropbox, а в чем-то его и превосходит. Огромный плюс — отсутствие ограничений по объемам хранения, полный контроль над сервером. Минусы тоже очевидны: вам самим придется следить за всем этим безобразием и беспокоиться о надежности сервера, валяющегося на антресолях или в шкафу.

                Совсем недавно мне подвернулась задача по развертыванию Owncloud в домашне-боевых условиях. Я честно отработал свои два литра кошерного русского имперского стаута и решил поделиться своим опытом, собрав все воедино. Итак, сегодня мы рассмотрим:

                1. Развертывание актуального LEMP-stack
                2. HTTPS. Let's Encrypt для Nginx с автоматическим обновлением сертификата
                3. Конфигурирование Nginx для Owncloud
                4. Кэширование php-apcu
                5. Подключение внешнего основного хранилища по NFS
                Читать дальше →
              • Python для математических вычислений

                • Tutorial

                image Экосистема языка python стремительно развивается. Это уже не просто язык общего назначения. С его помощью можно успешно разрабатывать веб-приложения, системные утилиты и много другое. В этой заметке мы сконцентрируемся все же на другом приложении, а именно на научных вычислениях.


                Мы попытаемся найти в языке функции, которые обычно требуем от математических пакетов. Рассмотрим сильные и слабые стороны идеи использования python вместо MATLAB, Maple, Mathcad, Mathematica.

                Читать дальше →
              • Мега-Учебник Flask, Часть 14: I18n и L10n

                • Перевод
                • Tutorial
                Это четырнадцатая статья в серии, где я описываю свой опыт написания веб-приложения на Python с использованием микрофреймворка Flask.

                Цель данного руководства — разработать довольно функциональное приложение-микроблог, которое я за полным отсутствием оригинальности решил назвать microblog.


                Читать дальше →
              • Опыт перехода с Sublime на Vim



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

                Я достаточно долгое время использовал sublime (около 4 лет) в качестве основной среды разработки, но в последнее время кое-что изменилось: я освоил слепой 9-ти пальцевый метод печати. В тот момент я начал понимать людей, которым неудобно тянуться к мышке или стрелочкам. Убирать пальцы с «домашних» позиций стало неестественно и непродуктивно. Тогда я включил vintage. Проблема, вроде бы, стала неактуальна, но чего-то не хватало. Не помню, что заставило меня пересесть за vim, но мне всегда нравилось, как в нем выделяются фигурные скобки (MatchParen) и как выглядит курсор :). Vim я пробовал и до этого, когда правил конфиги на сервере, правда, вся «магия» ограничивалась переходом в режим вставки и успешным сохранением/выходом из редактора.
                Читать дальше →
              • Базовые различия при работе с базами данными MySQL и PostgreSQL Дилетантский обзор

                  Продолжая свое знакомство с БД PostgreSQL, с уже имеющимися навыками работы в БД MySQL, обнаружил ряд интересных полезных особенностей которые на практике часто не хватало в MySQL. Цель этого обзора не в создании бесконечного спора, что лучше, а дать легкое сравнение, которое обычно обсуждается программистами на обеденном перерыве в ближайшей кафешке. В сравнении обретаются новые знания и опыт, поэтому оно того стоит.
                  Читать дальше →
                  • +10
                  • 13,7k
                  • 8
                • Полезные трюки PostgreSQL



                    В мануале есть всё. Но чтобы его целиком прочитать и осознать, можно потратить годы. Поэтому один из самых эффективных методов обучения новым возможностям Postgres — это посмотреть, как делают коллеги. На конкретных примерах. Эта статья может быть интересна тем, кто хочет глубже использовать возможности postgres или рассматривает переход на эту СУБД.
                    Читать дальше →
                  • Как работать с метками времени (timestamp) в PostgreSQL?

                    • Перевод
                    Тема работы с временными метками в PostgreSQL плохо раскрыта в русскоязычных профильных публикациях в Интернете и служит частым источником проблем в работе программистов. Предлагаю вашему вниманию перевод материала от Hubert Lubaczewski, автора популярного зарубежного блога depesz.com. Надеюсь, статья будет для вас полезна!

                    image

                    Время от времени в IRC или в почтовых рассылках кто-нибудь задает вопросы, которые показывают глубокое непонимание (или недостаток понимания) меток времени, особенно тех, которые учитывают часовые пояса. Так как я уже сталкивался с этим ранее, позвольте мне рассказать, что такое timestamps, как с ними работать и с какими наиболее распространенными загвоздками вы можете столкнуться.
                    Читать дальше →
                  • Жизнь верстальщика в Linux

                    Большинство fronted-разработчиков, используют ОС Windows или OS X в связи с отсутствием полноценного Photoshop. Но как быть тем, кто неравнодушен к Nix системам? Сейчас и попробуем выяснить, интересующихся прошу под кат.
                    Читать дальше →