• Парсим мемы в питоне: как обойти серверную блокировку

    • Tutorial

    Новогодние праздники — прекрасный повод попрокрастинировать в уютной домашней обстановке и вспомнить дорогие сердцу мемы из 2k17, уходящие навсегда, как совесть Electronic Arts.



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

    Читать дальше →
  • GitHub Flow

    Увидев в очередной раз базворд GitFlow я психанул и решил перевести описание более простой и менее проблемной схемы работы с ветками под названием GitHub Flow. Именно её имеет смысл использовать по умолчанию, переходя к какой-то другой лишь в случае непреодолимых обстоятельств.


    Создайте ветвь



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

    Читать дальше →
  • Отлаживаем правила RewriteRule, или немного об интимной жизни mod_rewrite

      У меня RewriteEngine всегда был довольно стрессовой темой. Только вот недавно я вдруг обнаружил, что все как-то улеглось и стало более или менее понятно. Поскольку я совершенно обычный человек, я уверен, что ситуация ошибки конфигурации веб-сервера «доставала» не одного лишь меня, и я спешу поделиться своим опытом.

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

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

      Читать дальше →
    • Как я проходил собеседования на позицию Junior .Net Developer

        Приветствую всех. Сегодня расскажу вам как я проходил собеседования в Москве на позицию .Net Developer. Усиленно готовился к собеседованиям месяц, целыми днями сидел и смотрел вопросы и пытался отвечать на них, а также читал книжки по С#. В статье привожу интересные задачки и вопросы, которые мне задавали в разных компаниях в Москве. Заранее скажу, что я попал в ту компанию, в которой хотел. Я прошел 4 собеседования в этой компании и меня наконец то взяли! Много статей было прочитано в частности здесь и надеюсь, что эту статью тоже будут читать начинающие Net разработчики и спрашивать все в комментариях.

        Кому интересна тема прохождения собеседований, прошу под кат!
        Читать дальше →
      • Экономика токенов: почему так популярны ICO?

          Хайп-батюшка да безумие-матушка на Руси создали крипто-рост не праведный...



          Сегодня хотелось бы продолжить (см. внизу список) публикации про ICO. Причин на то три:
          Читать дальше →
        • Python для сетевых инженеров: начало пути

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



            Эта статья в основном для сетевых инженеров, которые пока не знакомы или очень слабо знакомы с Python. Мы рассмотрим пример скрипта для решения некоторых практических задач, который вы сразу сможете применять в своей работе.

            Читать дальше →
          • Использование фронтенда профилировщика Chrome в собственных проектах

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

            Я не открою здесь каких-то уникальных секретов, например, Colt McAnlis писал о подобном применении профилировщика Chrome в игровых проектах ещё в 2012 году. Всё, написанное там, всё ещё является правдой, а я напишу ещё один материал — просто для лучшего распространения знаний о столь полезном инструменте.

            Предыстория


            Для некоторой части нашей системы сборки кода мы когда-то написали простенький профилировщик (называется TinyProfiler). Он достаточно тривиален — замеряет время выполнения определенных блоков кода и создаёт набор HTML+SVG файлов, которые визуализируют эти данные в стиле flame-графов:

            image

            Это, в принципе, неплохо работало, но полученный HTML был не очень интерактивным. Можно было подвести мышку к определенному блоку и увидеть его название во всплывающей подсказке, но на этом все удобства и заканчивались. Не было ни зума, ни фильтрации, ни скрола, ни поиска — в общем ничего, чего хотелось бы получить от более-менее профессионального инструмента. Всё это можно было, конечно, сесть и написать, но… зачем же это делать, если можно этого не делать? Ведь уже есть кто-то (разработчики Chrome), кто всё это уже сделал.
            Читать дальше →
          • Лабораторная работа «Обучаемся настраивать сети в GNU/Linux»

            • Tutorial
            Никто не любит длинные вступления, поэтому сразу к сути.
            В данной импровизированной лаборатории я хотел бы осветить работу с сетями в GNU/Linux
            и рассмотреть следующие темы:

            1. Изучаем vlan. Строим сеть между vm1, vm2 в одном vlan. Пингуем, ловим пакеты, изучаем заголовки.
            2. Разбиваем vm1 vm2 на разные vlan. Настраиваем intervlan routing с помощью R1.
            3. Iptables. Настраиваем маскарад. Имитируем выход во внешние сети.
            4. Iptables. Настраиваем port forwarding для сервисов на vm1 и v2, которые находятся за NAT.
            5. Iptables. Настраиваем security zones. Изучаем tcp сессии.


            З.Ы. все люди ошибаются, я открыт для ваших комментариев, если я написал какую-то глупость, готов ее исправить!
            Читать дальше →
          • Партнерство Cisco и Apple для трансформации бизнеса через мобильность



              К 2020 году 50% всего Интернет трафика будет сгенерировано подключениями по Wi-Fi, согласно прогнозу Cisco VNI (Cisco VNI на русском языке), а проводными подключениями всего 22%. Остальные 28% придутся на подключения по мобильным сетям передачи данных. Очевидно, что значение надежного подключения по Wi-Fi для бизнеса продолжает расти, т.к. все больше и больше производственных процессов зависят от него.

              Чуть более года назад Apple и Cisco объявили о партнерстве с целью трансформации бизнеса через мобильность. Этот год Apple и Cisco активно работали над тем, чтобы обладатели устройств iOS 10 могли получать наилучший опыт работы с приложениями. Cisco и Apple внесли изменения в стандартное взаимодействие устройств и Wi-Fi инфраструктуры, сделав сложное простым и для пользователя, и для ИТ-администратора. В результате устройства с ОС iOS10 и сети Wi-Fi Cisco могут «узнавать» друг друга, что приводит к оптимизации подключения в сети Wi-Fi и приоритизации бизнес-приложений.
              Читать дальше →
            • Что такое свёрточная нейронная сеть

              • Перевод


              Введение


              Свёрточные нейронные сети (СНС). Звучит как странное сочетание биологии и математики с примесью информатики, но как бы оно не звучало, эти сети — одни из самых влиятельных инноваций в области компьютерного зрения. Впервые нейронные сети привлекли всеобщее внимание в 2012 году, когда Алекс Крижевски благодаря им выиграл конкурс ImageNet (грубо говоря, это ежегодная олимпиада по машинному зрению), снизив рекорд ошибок классификации с 26% до 15%, что тогда стало прорывом. Сегодня глубинное обучения лежит в основе услуг многих компаний: Facebook использует нейронные сети для алгоритмов автоматического проставления тегов, Google — для поиска среди фотографий пользователя, Amazon — для генерации рекомендаций товаров, Pinterest — для персонализации домашней страницы пользователя, а Instagram — для поисковой инфраструктуры.


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


              Задача


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


              Читать дальше →