• Firebase Summit 2018: коротко о главном



      В конце прошлого месяца в Праге прошла конференция Firebase Summit 2018, посвященная сервисам Firebase, многие из которых сейчас претендуют на звание стандарта в индустрии разработки мобильных приложений. Постараюсь хоть и с задержкой, но рассказать о том, что интересного удалось услышать и увидеть. В этой статье мы рассмотрим анонсы (перевод официального пресс-релиза) с моими правками и комментариями.
      Читать дальше →
      • +20
      • 4.1k
      • 2
    • Интервью с программистом из Тинькофф Банка Андреем Степановым о языке Python и ML

        Серию интервью с докладчиками PyCon Russia продолжает разговор с разработчиком-аналитиком из Тинькофф Банка Андреем Степановым. Мы поговорили с Андреем о месте Python в инфраструктуре банка, о машинном обучении и о технологии распознавания речи.


        Читать дальше →
        • +7
        • 22.1k
        • 8
      • Программируем в мире Minecraft

          Хабр, привет! Пока все обсуждают ИИ в мире Pacman, мы начнем делать свой ИИ в Minecraft с фреймворком Malmo от Microsoft Research. Pacman у нас тоже появится. Если вы любите кубический мир, или вам хотелось бы начать изучать искусственный интеллект, или у вас есть дети, с которыми вы не можете найти общие увлечения, или же вас просто заинтересовала тема – прошу под кат.


          Читать дальше →
        • Пишем платформер на Python, используя pygame

          image
          Сразу оговорюсь, что здесь написано для самых маленькихначинающих.

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

          Что такое платформер?


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

          Одними из моих любимых игр данного жанра являются «Super Mario Brothers» и «Super Meat Boy». Давайте попробуем создать нечто среднее между ними.
          Читать дальше →
        • Видеозаписи докладов конференции AI&BigDataLab за последние три года



            Через 2 недели, 13 мая в Одессе, команда FlyElephant будет проводить конференцию Data Science Lab. Это будет наша 4-я конференция, которая посвящена искусственному интеллекту, большим данным и науке о данных.

            Сегодня я хочу поделиться видеозаписями всех докладов с прошлых конференций. Смотрите, изучайте и делитесь:

          • Здоровый программист — счастливый программист

            • Translation


            Нам приходится работать очень напряженно: вредные начальники (не все), жесткие сроки, мозговые штурмы, решение самых разных проблем и, прежде всего, работа допоздна не лучшим образом отражаются на здоровье. Все вышеперечисленные обстоятельства приводят к депрессии, курению, «заеданию» стресса — словом, портят здоровье.

            А от здоровья в конечном итоге зависит наша жизнь — и это главная причина что-то с этим делать. Вторая по важности причина — от этого зависит карьера. Часто разработчики жалуются, что у них болит спина — иногда настолько сильно, что они не могут сидеть за столом. У многих из-за постоянного использования клавиатуры и мыши проблемы с запястьями. Все это может сделать работу неприятной, а в худшем случае и невозможной. И дело не только в мелких недугах: такая работа без заботы о собственном здоровье может укоротить жизнь. Возможно, это звучит слишком громко, но давайте вспомним, что главная причина смертности в мире — сердечно-сосудистые заболевания. Кроме того, все больше распространяются такие заболевания, как диабет 2-го типа и ожирение. Образ жизни программиста способствует появлению этих проблем, однако в большинстве случаев их можно предотвратить с помощью физических упражнений и правильного питания. Мы рассмотрим причины этих и других проблем со здоровьем, а затем поговорим о том, как эти причины устранить.

            Переведено в Alconost
            Читать дальше →
          • Как начать работать с GitHub: быстрый старт



              Распределенные системы контроля версий (DVCS) постепенно замещают собой централизованные. Если вы еще не используете одну из них — самое время попробовать.

              В статье я постараюсь показать, как можно быстро начать экспериментировать с git, используя сайт github.com.

              В статье не будут рассмотрены различия между разными DVCS. Также не будет детально рассматриваться работа с git, по этой теме есть множество хороших источников, которые я приведу в конце статьи.
              Читать дальше →
              • +148
              • 1015k
              • 50
            • Жизненный цикл задач в Redmine для небольшой группы разработки. Наш опыт и полезные советы



                Думаю, эта статья должна помочь людям, которые впервые решили автоматизировать процесс трекания задач на базе Redmine в группе разработки программного обеспечения. В статье я расскажу о том, как этот процесс устроен у нас, какие новые поля для задачи мы завели и какие проблемы решают эти поля. Думаю, статья будет полезна широкому кругу лиц, на мой взгляд, настройка жизненного цикла задач эта работа под лозунгом «Очевидное — не очевидно».

                Еще! Мы работаем в большой корпоративной среде, в основном, для внутренних клиентов (причем их несколько) и эта ситуация нашла отражение в нашем жизненном цикле.

                Начнем.
                Читать дальше →
              • Классические алгоритмы генерации лабиринтов. Часть 2: погружение в случайность

                • Tutorial


                Предисловие


                Первая часть

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

                В этой части мы поговорим о том, что же такое случайная и псевдослучайная генерации, какие алгоритмы могут дать нам равновероятно ничем не похожие друг на друга лабиринты и в чем их минусы. Героями нашего сегодняшнего приключения станут алгоритм Уилсона и алгоритм Олдоса-Бродера для создания случайного остовного дерева (Uniform Spanning Tree). ОСТОРОЖНО ТРАФИК.
                Читать дальше →
              • Классические алгоритмы генерации лабиринтов. Часть 1: вступление

                • Tutorial


                Предисловие


                На написание статьи меня сподвигло практически полное отсутствие материалов на русском языке про алгоритмы генерации лабиринтов. На Хабре, из того, что вообще есть по теме, можно отметить две статьи: раз и два. Ценность и пользу из которых несет лишь вторая. В первой – просто перевод формального алгоритма и небольшое его пояснение. Что, конечно, неплохо, но очень скудно и не вызывает желания изучать тему дальше.

                Если моя статья Вам понравится, я продолжу писать о различных алгоритмах. Мы рассмотрим два самых примитивных и простых случая – генерация двоичного дерева и Сайдвиндер, который, по своей сути, просто чуть измененная версия двоичного дерева с одним заметным плюсом. ОСТОРОЖНО ТРАФИК.
                Читать дальше →
              • Библиотека vk для работы с VK API на Python

                image
                Привет, Хабр! Данная статья предназначена для тех, кто хочет разобраться с основами VK API на Python, так как статей по этому поводу нет (на Хабре есть одна статья, но она уже не совсем актуальна, так как некоторые методы не работают), а на других ресурсах мне удалось найти только вопросы пользователей, но никаких гайдов и прочего.

                Для работы с VK API в Python есть две популярные библиотеки: vk и vk_api. Какая из библиотек лучше я судить не возьмусь, но скажу одно: у vk документация слишком мала (поэтому разбирался практически методом тыка) и на английском языке, а у vk_api документация более развернута (поэтому писать о данной библиотеке смысла не вижу) и на русском. Для меня не главное на каком языке документация, но для некоторых пользователей это играет большое значение при выборе.

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

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


                  Условия:


                  1. На нашем сервере установлен IPFS
                  2. У нас есть домен и доступно редактирование DNS записей

                  Напомню: InterPlanetary File System — это новая децентрализованная сеть обмена файлами (HTTP-сервер, Content Delivery Network). О ней я начал рассказ в статье "Межпланетная файловая система IPFS".

                  image

                  Читать дальше →
                • PyQt4 — Диалоговые окна

                  • Translation
                  В PyQt4 есть два вида диалогов: предопределенные и пользовательские.

                  Предопределенные диалоги


                  QInputDialog

                  QInputDialog представляет простой диалог для получения единственного значения от пользователя. Значение может быть строкой, числом или пунктом из списка.
                  Читать дальше →
                  • +26
                  • 22.9k
                  • 4
                • PyQt4 — Сигналы и события

                  • Translation
                  События
                  События это важная часть GUI программирования. События генерируются пользователями или же системой. Когда мы вызываем метод exec() приложение запускает основной цикл. Он получаем события и отправляет их объектам. Trolltech представляет уникальный механизм сигналов и слотов.
                  Читать дальше →
                  • +1
                  • 25.7k
                  • 8
                • PyQt4 — Управление расположением виджетов

                  • Translation
                  Важной частью программирования является управление расположением элементов. Управление расположением это то, как мы размещаем виджеты на форме. Тут есть два пути: использование абсолютного позиционирования (absolute positioning) или же использование классов расположения (layout classes).
                  Читать дальше →
                • PyQt4 — Меню и панели инструментов

                  • Translation
                  Главное окно
                  Класс QMainWindow представляет собой главное окно приложения. С его помощью можно создавать классический вид со строкой состояния, панелями инструментов и меню.

                  Строка состояния
                  Строка состояния это виджет, который используется для отображения статусной информации.
                  #!/usr/bin/python

                  import sys
                  from PyQt4 import QtGui

                  class MainWindow(QtGui.QMainWindow):
                      def __init__(self):
                          QtGui.QMainWindow.__init__(self)

                          self.resize(250, 150)
                          self.setWindowTitle('statusbar')

                          self.statusBar().showMessage('Ready')

                  app = QtGui.QApplication(sys.argv)
                  main = MainWindow()
                  main.show()
                  sys.exit(app.exec_())

                  Читать дальше →
                • PyQt4 — Введение

                  • Translation
                  Python
                  PyQt4 это тулкит для разработки GUI приложений. Он представляет из себя смесь языка программирование Пайтон (Питон) и библиотеки Qt. Qt – одна из наиболее мощных библиотек на этой планете. Если не самая мощная. Официальный сайт PyQt www.riverbankcomputing.co.uk разработан Филом Томпсоном.
                  PyQt4 представляет из себя набор модулей Пайтон. Она содержит более 300 классов и почти 6000 функций и методов. Это мультиплатформенный тулкит. Он работает на всех основных операционных системах, включая Unix, Windows и MacOS.
                  Начиная с версии PyQt4 GPL доступна для всех поддерживаемых платформ.
                  Читать дальше →
                • Лекции Техносферы. 1 семестр. Введение в анализ данных (весна 2016)

                    Слушайте и смотрите новую подборку лекций Техносферы Mail.Ru. На этот раз представляем в открытом доступе весенний курс «Введение в анализ данных», на котором слушателей знакомят со сферой анализа данных, основными инструментами, задачами и методами, с которыми сталкивается любой исследователь данных в работе. Курс преподают Евгений Завьялов (аналитик проекта Поиск Mail.Ru, занимающийся извлечением полезных бизнесу знаний из данных, генерируемых поисковым движком и десктопными приложениями), Михаил Гришин (программист-исследователь из отдела анализа данных) и Сергей Рыбалкин (старший программист из студии Allods Team).

                    Лекция 1. Введение в Python


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


                    Читать дальше →
                    • +60
                    • 38.5k
                    • 9
                  • Граф цитирования статей Хабрахабра

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



                      (это не просто картинка для привлечения внимания, а граф цитирования статей внутри Хабрахабра, где размер вершин определяется числом входящих рёбер, i.e., "количеством цитат внутри Хабра")


                      Началось всё с того, что в комментариях к статье про Хабра-граф и карму Tiberius и Loriowar озвучили идею, фактически витающую в воздухе: а почему бы не взглянуть на граф цитирования статьёй внутри самого Хабра?




                      Вы спрашивали? Мы отвечаем. Для того чтобы рассказ не был размахиванием рук, конкретизируем разбираемые вопросы:


                      • Q1: Как выглядит граф цитирования Хабрахабра и какие в нём хабы (hubs and authorities)?


                      • Q2: Насколько связным является сообщество (граф цитирования) и какие в нём кластеры?


                      • Q3: Как изменится граф, если из него убрать самоцитирование?

                      Под катом трафик. Все картинки кликабельны.

                      Читать дальше →
                    • GTD: написать диссертацию и остаться в живых

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

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

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