• Учимся всегда и везде! Подкасты для разработчиков на английском языке



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

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

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

      Наша подборка русскоязычных подкастов: https://habr.com/ru/company/mailru/blog/437428/

      Читать дальше →
      • +39
      • 22.4k
      • 7
    • PWA — это просто

        image
        Понятие Progressive Web Applications (PWA) на слуху давно, с весны 2018 года приложения этого класса поддерживаются всеми основными браузерами, однако распространенность технологий PWA несмотря на очевидные их «плюсы» пока очень низка.

        Специалисты Google (в том числе и на Хабре) очень информативно и компетентно пишут о PWA, но их рекомендации полезны больше тем, кто уже знаком с предметом. Данная статья призвана показать, что Progressive Web Apps — это не сложно, и использовать эти технологии можно и нужно уже сейчас разработчикам любых сайтов.
        Читать дальше →
      • 4 библиотеки, упрощающие жизнь React-разработчика

        image

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

        1) Nanoid


        Ссылка на github
        Это маленькая библиотека, которая имеет всего одну функцию — генерация уникального id. Она может быть полезна в массе случаев, как любой другой генератор случайных последовательностей символов. Неоспоримые плюсы: простота и крошечный размер — 143 байта.
        Читать дальше →
      • О книге Varghese «Web Development with Go»



          Ниже привел свою версию краткого изложения содержания данной книги.

          Оглавление
          Chapter 1 — Getting Started with Go
          Chapter 2 — Go Fundamentals
          Chapter 3 — User-Defined Types and Concurrency
          Chapter 4 — Getting Started with Web Development
          Chapter 5 — Working with Go Templates
          Chapter 6 — HTTP Middleware
          Chapter 7 — Authentication to Web Apps
          Chapter 8 — Persistence with MongoDB
          Chapter 9 — Building RESTful Services
          Chapter 10 — Testing Go Applications
          Chapter 11 — Building Go Web Applications on Google Cloud
          Читать дальше →
        • Импорт и преобразование словаря LinguaLeo в флэш-карты Anki

          Постановка проблемы


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

          Другой популярный сервис, не нуждающийся в представлении — LinguaLeo позволяет при чтении оригинального текста сразу отправлять незнакомые слова на изучение, сохраняя их в собственном словаре вместе с произношением, изображением, транскрипцией слова и контекстом в котором оно употребляется. Пару лет назад LinguaLeo внедрили систему интервальных повторений, но в отличии от Anki система повторений не такая мощная и не содержит в себе возможностей настройки.

          Что если нам попытаться скрестить ужа с ежом использовать преимущества двух платформ? Взять сами слова из Лингва Лео вместе со всеми медиафайлами и информацией и использовать ресурсы Anki для их запоминания.
          Читать дальше →
          • +17
          • 7.9k
          • 1
        • НДС и фрилансеры, работающие с Upwork

          • Tutorial
          Статья изложенная ниже — рассматривает лишь один из аспектов касающихся уплаты налогов при работе с Upwork. В данный момент существует более полное руководство — Легальный вывод средств с Upwork в РФ.



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

          Прореагировав на шквал возмущений, на неопределенный срок Upwork вернулся к старому документообороту. Напряженное ожидание, когда же Upwork прекратит работу со старыми договорами закончилось неожиданно — 3 июля 2016 года были внесены изменения в Налоговый кодекс, вступившие в силу с 1 января 2017 года. Отныне закону до лампочки, какие договора используются — НДС теперь надо платить всем. Подробнее проблема описана в статье Налоговый cуслик — 2.

          Развернувшиеся на тостере дебаты о том, как ко всему этому относиться, еще продолжаются. Но выпущенное 3 дня назад Эльбой обновление, в том что платить НДС все-таки надо (хотя бы с точки зрения закона) убедило почти всех.

          image
          Читать дальше →
        • Специалисты Emsisoft обнаружили вымогатель на JavaScript

            Специалисты компании Emsisoft обнаружили вредоносную программу — вымогатель, которая написана на JavaScript. Она получила название Ransom32 и используется злоумышленниками для вредоносных кампаний, аналогичных распространению многих других семейств такого типа вредоносного ПО. Злоумышленники выбрали высокий уровень анонимности для работы с Ransom32, для связи со своим управляющим C&C-сервером вымогатель использует анонимную сеть Tor, а оплата выкупа осуществляется в биткоинах.



            Использование JavaScript делает вымогатель кроссплатформенным, он может использоваться как для Microsoft Windows, так и для Linux и Apple OS X. Ключевой особенностью Ransom32 является модель распространения этого вымогателя для киберпреступников. Она представляет из себя модель Software as a service (SaaS), при этом для получения доступа к административной панели управления вредоносной программой и ее генерации, им нужно всего лишь указать адрес своего кошелька Bitcoin.

            Читать дальше →
          • Я хочу, чтобы сайты открывались мгновенно

              Здравствуйте, меня зовут Александр Зеленин и я веб-разработчик. Я расскажу, как сделать так, чтобы ваш сайт открывался быстро. Очень быстро.


              Я хочу, чтобы мой сайт открывался быстро
            • Как спам-ловушки помогают бороться со спамом?

                imageНаверное, все согласятся, что спам — это отстой. Это то, что мы точно не хотим видеть в своих почтовых ящиках. Если вы шлете спам через Печкина — можете пойти и сделать себе сэппуку, прежде чем мы найдем и накажем вас.

                В целях борьбы со спамом некоторые организации (и наш сервис email-маркетинга в том числе) используют так называемые “спам-ловушки” (spam traps) для определения спамеров. Вокруг спам-ловушек уже сложилась целая сеть мифов и легенд о том, что это такое, как они создаются, как используются и как они попадают в ваши адресные базы.

                Спам-ловушка (spam trap) — это email-адрес, который создается, но не используется в работе, т.е. он не подписывался ни на одну из рассылок. Он мониторится на предмет получения сообщений, которые явно будут спамерскими. Также, эти адреса ищутся в ваших адресных базах. Массовое присутствие spam trap в ваших адресных базах приводит к немедленной блокировке вашего аккаунта. В этой статье мы расскажем о том как классифицируются спам-ловушки на основании их происхождения.

                О спам-ловушках поподробнее
              • Танцы с мьютексами в Go

                • Translation
                • Tutorial
                Перевод обучающей статьи разработчика из SendGrid о том, когда и зачем можно и нужно использовать «традиционные» методы синхронизации данных в Go.

                Уровень чтения: средний (intermediate) — эта статья подразумевает, что вы знакомы с основами Go и моделью concurrency, и, как минимум, знакомы с подходами к синхронизации данных методами блокировок и каналов.

                Заметка читателю: На этот пост меня вдохновил хороший друг. Когда я помог ему разобраться с некоторыми гонками в его коде и постарался научить его искусству синхронизации данных так хорошо, насколько только был способен, я понял, что эти советы могут быть полезны и другим. Так что, будь это унаследованная кодовая база, в которой определенные решения по дизайну уже были приняты до вас, или вы просто хотите лучше понимать традиционные примитивы синхронизации в Go — эта статья может быть для вас.
                Читать дальше →
              • Атака на архиваторы. Скрываемся в одном архиве от трех программ

                Статья показывает, как можно обхитрить внимательного пользователя, знакомого с азами социальной инженерии, следящего даже за расширениями файлов и ни в коей мере не призывает к использованию данной информации в незаконных целях. Цель – запустить исполняемый файл, выдав его за текстовый документ в zip-архиве, а если запустить вряд ли получится, то не дать распаковать или скрыть файл.
                Читать дальше →
              • Обзор и видео докладов по информационной безопасности с конференции SECR-2014

                  В прошлом году, на конференции SECR-2014 (Software Engineering Conference Russia) было 140 докладов по всем направлениям программной инженерии — от Computer Science до современного IT-менеджмента, от тонкостей верификации Linux-драйверов до бизнес-анализа и даже юридических вопросов. Была и секция докладов по информационной безопасности.

                  Я снимал и публиковал видео, а сейчас, в скучный летний сезон, предлагаю свой краткий обзор SECR-докладов именно по различным аспектам информационной безопасности — как от экспертов индустрии, так и от университетских исследователей. Буду рад, если замотивирую вас на просмотр и отзывы, или даже выступить на конференции в этом году.



                  Читать дальше →
                • 36 млн запросов в час, 10000+ постоянно работающих клиентов, на одном сервере, nginx+mysql

                  Сложилась ситуация, что участвую в проекте, который работает с достаточно большой нагрузкой. Как уже написал — 36 млн запросов в час. Я много чего прочитал и перепробовал за последний месяц, настраивая сервер; хотелось бы просто сжато и компактно выдать тезисно то, что работает хорошо в такой конфигурации.

                  Первое, что я заметил — множество советов как все настроить под большую нагрузку. Читайте их внимательно, обычно в тексте найдете, что речь про «высокую нагрузку» в 15-20 тысяч клиентов в сутки. У нас клиентов примерно миллион, активных, ежедневных.

                  У нас нет денег и мы все делаем за свой счет, поэтому экономим. Итог — весь миллион клиентов обслуживается на одном сервере, вот на таком — EX-60 на hetzner.
                  Читать дальше →
                • Как я повышал конверсию машинным обучением

                    В этой статье я попробую ответить на такие вопросы:
                    • может ли один доклад умного человека сделать другого человека одержимым?
                    • как окунуться в машинное обучение (почти) с нуля?
                    • почему не стоит недооценивать многоруких бандитов?
                    • существует ли серебряная пуля для a/b тестов?

                    Ответ на первый вопрос будет самым лаконичным — «да». Услышав это выступление bobuk на YaC/M, я восхитился элегантностью подхода и задумался о том, как бы внедрить похожее решение. Я тогда работал продуктовым менеджером в компании Wargaming и как раз занимался т.н. user acquisition services – технологическими решениями для привлечения пользователей, в число которых входила и система для A/B тестирования лендингов. Так что зерна легли на благодатную почву.

                    К сожалению, по всяким причинам я не мог плотно заняться этим проектом в обычном рабочем режиме. Зато когда я слегка перегорел на работе и решил устроить себе длинный творческий отпуск, одержимость превратилась в желание сделать такой сервис умной ротации лендингов самостоятельно.
                    Читать дальше →
                  • Разработка кроссплатформенного приложения с помощью Ionic Framework

                    • Tutorial
                    image

                    Всем привет! Не так давно в одном из комментариев я пообещал написать вводную статью для быстрого знакомства с возможностями Ionic Framework (далее IF). Стараюсь сдерживать свои обещания. Для начала мне хотелось бы выложить список ссылок, которыми часто пользуюсь при разработке с помощью IF:


                    Читать дальше →
                  • Конференции для разработчиков c видео презентациями

                      Для разработки надо идти в ногу со временем, и хорошее место узнать что-то новое и получить ценный опыт — концеренции и мастер классы. Я вот решил собрать некоторые значащие конференции и их видеоканалы с выступлениями. Старался не включать мелких конференций, слишком отдалённых от программирования (по PM и маркетингу), или не выкладывающих видео.

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

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

                      Читать дальше →
                    • Модели Django и решение проблем с конкурентным доступом к данным

                        Всем привет!

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

                        Стартовые данные


                        • 2 сервера с Django, запущенные под uWSGI
                        • 1-2k запросов в секунду
                        • Проект с движением денег внутри

                        Читать дальше →
                      • Опыт маскировки OpenVPN-туннеля с помощью obfsproxy

                        • Tutorial
                        Примечание: приведённая в статье информация во многом устарела, и предназначена скорее для общего ознакомления. Сейчас можно попробовать использовать утилиты вроде ptproxy для создания туннеля с помощью любого актуального pluggable transport для Tor.

                        Преамбула


                        В связи с наметившимися тенденциями решил я обфусцировать свой скромный OpenVPN-туннель, просто чтобы набить руку — мало ли пригодится…

                        Дано: дешевая VPS с белым IP, работающая под Ubuntu Trusty Server Edition и служащая OpenVPN сервером.
                        Требуется: по-возможности скрыть OpenVPN туннель, желательно без изобретения велосипедов.
                        Ну и что дальше?
                      • 3 лучших инструмента для описания RESTful API


                          Взаимодействие различных сервисов с использованием АPI, из новаторства превращается в обыденность. Количество бесплатных и платных API уже исчисляется тысячами, и с каждым днем их число активно растет. А почему бы и нет? Продажа удаленных запросов к своему новаторскому сервису может принести больше прибыли, чем распространение услуг через свою площадку. И пусть, в таком случае, уже ваши клиенты ломают голову и тратят деньги на привлечение аудитории. Используя свой опыт работы, я предлагаю краткий обзор лучших решений по реализации API на сегодняшний день.
                          Читать дальше →