• Видео докладов с DevConf 2016

      17-го июня в инновационном центре “Сколково” прошла очередная ежегодная конференция DevConf, а Badoo в очередной раз снимали видео выступлений. Программа была богата на именитых спикеров и интересные доклады, поэтому сделать подборку из самых «вкусных» выступлений было крайне сложно. Но мы, как минимум, постарались…

      Познавательного вам просмотра!

      «Развитие ветки PHP-7», Дмитрий Стогов, Zend Technologies




      Читать дальше →
    • Rust в деталях, часть 2

      • Перевод
      • Tutorial

      Часть 2: Отправка и получение сообщений


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

      Вторая часть является прямым продолжением первой, поэтому если вы ее пропустили (или забыли контекст), то рекомендую сначала ознакомиться с ней. В этой части мы продолжаем реализацию протокола WebSocket.
      Читать дальше →
    • Список Full-Mesh VPN решений

        Введение


        Многие интересуются Full-Mesh (или P2P) VPN, хотят использовать их для игр с друзьями, для связи удаленных офисов, серверов, да для чего угодно. Обычные VPN, вроде OpenVPN или PPTP, пропускают весь трафик через центральный сервер, а Full-Mesh соединяются непосредственно с нодами, зачастую пробивая NAT.
        Читать дальше →
      • Платформер под Android на Unity3D

        image

        Пожалуй, даже после выхода нового UI, создание интерфейса для Android’а осталось больной темой для многих.
        Новая система “UI”, которая появилась в Unity 4.6 сильно упростила жизнь разработчикам, но все же, хотелось бы прояснить некоторые моменты, которые относятся к Android’у.

        Из плюсов:
        -Мощный набор инструментов
        -Корректное масштабирование на разных разрешениях, что в свою очередь устраняет кучу лишней работы
        -Поддержка сенсорного управления без дополнительных настроек
        -Гибкость и простота в использовании
        Читать дальше →
      • Загрузка ОС Linux без загрузчика

        Введение


        Здесь по возможности я постараюсь как можно проще и детальнее ответить на вопрос:
        «Как можно загрузить Linux (на примере ubuntu) без использования загрузчика такого как GRUB 2, iELILO»
        Здесь не будет разбираться как запустить/установить Ubuntu в режиме [UEFI only]. Для этого обратитесь сюда help.ubuntu.ru/wiki/установка_дистрибутива_на_компьютер_с_efi
        и сюда help.ubuntu.ru/wiki/lubuntu-osinstallation
        Все действия будут производиться на уже работающей системе.
        Читать дальше →
      • Material Design: на Луну и обратно

        • Tutorial
        “Это унылое диалоговое окно действительно нужно?”



        В этой статье я изложил главные принципы Material Design и дал советы по их воплощению. Текст написан по следам мастер-класса для разработчиков, который мы, Роботы, устраивали совместно с российским офисом Google (Think Mobile).


        Когда-то все продукты Google выглядели по-разному плохо. Даже один продукт на разных платформах выглядел неконсистентно.

        Все стало меняться в 2011 году, когда в Google начали усиленно работать над унификацией визуальной части экосистемы своих продуктов и назвали все это Project Kennedy.

        При чем тут Кеннеди?
        Легенда такова: президент Кеннеди инициировал программу полёта человека на Луну (если верить, что этот полёт когда-либо был). А большой начальник в Google Ларри Пейдж исповедует принцип, что продукты нет смысла улучшать на 10% — они должны быть в 10 раз лучше, чем у конкурентов. Если уж запускать продукт, то сразу на Луну. Вот и здесь было решено круто всё переделать.

        Читать дальше →
      • Сайт с нуля на полном стеке БЭМ-технологий. Методология Яндекса

        • Tutorial
        На прошлой неделе BBC рассказала, что для новой версии главной страницы использовала методологию БЭМ, созданную в Яндексе. По такому случаю мы решили поднять материалы мастер-класса «Разрабатываем сайт с нуля на полном стеке БЭМ-технологий» и рассказать вам, как начать использовать полный стек БЭМ-технологий в своих проектах.

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



        В статье мы расскажем, в чём преимущество вёрстки независимыми блоками и что такое уровни переопределения, познакомимся с готовыми библиотеками блоков и инструментами для автоматизации сборки. Покажем, как разные инструменты — например, autoprefixer, css-препроцессор Stylus или модульная система YModules — упрощают жизнь разработчика и создают по-настоящему удобную платформу, если встроить их в процесс разработки по БЭМ.

        На живом примере мы объясним, в чём польза декларативного подхода, когда одни и те же идеи можно использовать как для CSS, так и для JavaScript. Отдельно остановимся на декларативных шаблонах BEMHTML и BEMTREE, которые позволяют преобразовывать данные в БЭМ-дерево, описанное в формате BEMJSON и, затем в HTML. Рассмотрим в деталях, как написать серверную часть приложения по БЭМ-методологии.
        Читать дальше →
      • Загрузочный сервер — как загрузочная флешка, только сервер и по сети

          Загрузочная флешка с набором нужного софта — замечательный инструмент системного администратора. Казалось бы, что может быть лучше? А лучше может быть загрузочный сервер!

          Представьте, вы выбрали в BIOS загрузку по сети и можете установить ОС/вылечить компьютер от вирусов/реанимировать диски/протестировать ОЗУ/etc с PXE Boot сервера, ведь это куда удобнее, нежели бегать с флешкой от машины к машине.
          А в случае большого компьютерного парка, такой инструмент и вовсе незаменим.

          Вот такое меню встречает нашу команду инженеров при загрузке с PXE



          Под катом вас ждет описание всех настроек, а так же небольшой сюрприз.
          Поехали!
        • Программа курса и материалы по Scala

          • Tutorial
          Добрый день.

          Меня зовут Головач Иван, я практикующий Java Tech Lead с опытом в программировании 10+ лет (Java EE, J2ME, C, C++, M-language, Delphi), который перешел на Scala.

          Я подготовил и прочитал как обычные курсы по программированию (Java Core + Junior Java Developer), так и спецкурсы (Multicore Programming for JVM (раз и два)).

          В данный момент я стартую спецкурс по Scala и в этом топике хочу поделиться материалами, которые я нашел наиболее интересными/информативными (курс готовился более года).
          Читать дальше →
        • Собственная реализация https с использованием crypto++ для начальной загрузки I2P

            Каждый новый узел I2P при первом запуске должен откуда то получить начальный список узлов. Для этого существуют специальные сервера (reseed), адреса которых жестко прописаны в коде. Раньше загрузка осуществлялась по http, однако с недавних пор reseed-ы стали переходить на https. Для успешной работы «пурпурного» I2P также потребовалось внести соответствующие изменения. Используемая там криптографическая библиотека crypto++ не поддерживает ssl. Вместо использования дополнительной библиотеки типа openssl, фактически дублирующей криптографию, был выбран рассмотренный ниже вариант.
            Начальная загрузка это единственное место в I2P, где используется https.
            С другой стороны, статья будет интересно тем кому интересно понять, как работает ssl и попробовать самому.

            Читать дальше →
          • Технический отчет о деятельности преступной группы, занимающейся целевыми атаками — Anunak

              Во второй половине 2014 года мы уже неоднократно упоминали про целевые атаки на крупные финансовые учреждения как новую ступень мошенничества. Ведь теперь денежные средства похищают не у «мелких юрлиц», а у крупных финансовых компаний, в которых, казалось бы безопасность должна быть на высшем уровне и сложность совершения преступления приближается к «Hell». Однако, учитывая не стихающий поток подобных преступлений, а также особую актуальность на фоне текущего финансового состояния страны, мы решили обновить пост и добавить новых подробностей касательно группы Anunak, которая использует одноименного трояна, также известного как Carbanak. Название Carbanak происходит от склейки двух слов Anunak+Carberp.

              Краткий экскурс


              После задержаний членов группы Carberp в России, некоторые участники остались без работы, однако, полученный за долгие годы работы опыт позволил им занять новую нишу. Один из участников быстро понял, что можно украсть тысячу раз по $2 000 и заработать 2 миллиона долларов, а можно украсть всего лишь один раз и сразу всю сумму.

              С 2013г. активизировалась организованная преступная группа, нацеленная на банки и электронные платежные системы России и пост советского пространства. Особенностью является то, что мошенничество происходит внутри корпоративной сети, с использованием внутренних платежных шлюзов и банковских систем. Таким образом денежные средства похищаются не у клиентов, а у самих банков и платежных систем. Если доступ был получен злоумышленниками в сеть государственного предприятия, то целью злоумышленников является промышленный шпионаж.

              Основной костяк преступной группы составляют граждане России и Украины, однако есть лица, оказывающие им поддержку из Белоруссии.
              Читать дальше →
            • Rust 1.0: текущее состояние и окончательное расписание выхода версий

              • Перевод
              Rust logo
              Прошло пять недель с тех пор как вышла альфа версия Rust 1.0! До того как выйдет следующая предварительная версия Rust, мы хотели бы рассказать о текущем состоянии языка и о том, что мы еще намерены сделать по пути к стабильной версии 1.0.

              TL;DR: Rust 1.0 выйдет 15 мая 2015 года
              Читать дальше →
              • +56
              • 18,1k
              • 7
            • 300 потрясающих бесплатных сервисов

              • Перевод


              Автор оригинальной статьи Ali Mese добавил ещё 100 новых бесплатных сервисов. Все 400 потрясающих сервисов доступны здесь. И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



              A. Бесплатные Веб-Сайты + Логотипы + Хостинг + Выставление Счета

              • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
              • Bootswatch: Бесплатные темы для Bootstrap.
              • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
              • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
              • Strikingly.com Domain: Конструктор веб-сайтов.
              • Logaster: Онлайн генератор логотипов и элементов фирменного стиля (new).
              • Withoomph: Мгновенное создание логотипов (англ.).
              • Hipster Logo Generator: Генератор хипстерских логотипов.
              • Squarespace Free Logo: Можно скачать бесплатную версию в маленьком разрешении.
              • Invoice to me: Бесплатный генератор счета.
              • Free Invoice Generator: Альтернативный бесплатный генератор счета.
              • Slimvoice: Невероятно простой счет.

              Читать дальше →
            • Избавляемся от JavaScript в социальных кнопках (Facebook, VK, Twitter и др.)

              • Tutorial
              Как мы избавились от JavaScript-библиотек социальных сетей, ускорили скорость загрузки страниц и использовали RESTful API для “шаринга” и “лайков”.


              Читать дальше →
            • Git game или в поисках Линуса Торвальдса



                Наткнулся сегодня на этот замечательный проект. Из файла README.md репозитория проекта:

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

                Поехали!


                Склонируйте репозиторий с помощью команды:
                $ git clone https://github.com/hgarc014/git-game.git
                

                Читать дальше →
              • Обзор наиболее интересных материалов по анализу данных и машинному обучению №32 (19 — 25 января 2015)


                  Представляю вашему вниманию очередной выпуск обзора наиболее интересных материалов, посвященных теме анализа данных и машинного обучения.
                  Читать дальше →
                • Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 1 из 6

                  Содержание курса



                  Улучшение кода






                  Official translation (with a bit of polishing) is available here.




                  Постановка задачи


                  Цель этого цикла статей — показать, как работает OpenGL, написав его (сильно упрощённый!) клон самостоятельно. На удивление часто сталкиваюсь с людьми, которые не могут преодолеть первоначальный барьер обучения OpenGL/DirectX. Таким образом, я подготовил краткий цикл из шести лекций, после которого мои студенты выдают неплохие рендеры.

                  Итак, задача ставится следующим образом: не используя никаких сторонних библиотек (особенно графических) получить примерно такие картинки:



                  Внимание, это обучающий материал, который в целом повторит структуру библиотеки OpenGL. Это будет софтверный рендер, я не ставлю целью показать, как писать приложения под OpenGL. Я ставлю целью показать, как сам OpenGL устроен. По моему глубокому убеждению, без понимания этого написание эффективных приложений с использованием 3D библиотек невозможно.
                  Читать дальше →
                • 58 признаков хорошего интерфейса

                  • Перевод
                  У хорошего интерфейса пользователя высокая конверсия и его просто использовать. То есть, он хорош и для бизнеса, и для использующих его людей. Вот список опробованных нами идей.

                  1 Один столбец вместо нескольких


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

                  image
                  Читать дальше →
                • Договор на абонентское обслуживание сайта

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

                    image

                    Читать дальше →
                  • Как самостоятельно зарегистрировать ООО

                      Всем привет! Сегодня мы расскажем о том, как самостоятельно зарегистрировать ООО.

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

                      Мы расскажем о каждом этапе самостоятельной регистрации ООО, поделимся советами и ссылками, которые помогут вам справиться с ней максимально просто и быстро.



                      Инструкция по самостоятельной регистрации ООО от «Я люблю ИП»

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