• Основы React: всё, что нужно знать для начала работы

    • Перевод
    Хотите узнать о том, что такое React, но вам всё никак не выпадает шанс изучить его? Или, может быть, вы уже пробовали освоить React, но не смогли толком понять? А может, вы разобрались с основами, но хотите привести в порядок знания? Эта статья написана специально для тех, кто положительно ответил хотя бы на один из этих вопросов. Сегодня мы создадим простой музыкальный проигрыватель, раскрывая основные концепции React по мере продвижения к цели.

    image

    Разобравшись с этим материалом, вы освоите следующее:

    • Компоненты React.
    • Рендеринг ReactDOM.
    • Классы компонентов и функциональных компоненты.
    • JSX.
    • Состояние (state).
    • Обработка событий.
    • Асинхронный метод setState.
    • Свойства (props).
    • Ссылки (refs).

    Это — практически всё, что нужно знать для того, чтобы создавать и поддерживать React-приложения.
    Читать дальше →
  • Инструкция: что делать, если вы не успеваете к дедлайну

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


      Читать дальше →
      • +6
      • 10,1k
      • 8
    • Алгоритм выбора location в Nginx

        Алгоритм выбора location обязателен к знанию при настройке nginx. Тем не менее, на официальном сайте nginx (на 2018 год) не сказано ни слова про алгоритм выбора в случаях, когда какие-то location'ы вложены друг в друга, а в статьях в интернете приводятся в корне неверные алгоритмы. В статье также будет дан пример уязвимого конфига.
        Читать дальше →
      • Лабораторная работа: введение в Docker с нуля. Ваш первый микросервис

        • Tutorial
        Привет, хабрапользователь! Сегодня я попробую представить тебе очередную статью о докере. Зачем я это делаю, если таких статей уже множество? Ответов здесь несколько. Во-первых не все они описывают то, что мне самому бы очень пригодилось в самом начале моего пути изучения докера. Во-вторых хотелось бы дать людям к теории немного практики прямо по этой теории. Одна из немаловажных причин — уложить весь накопленный за этот недолгий период изучения докера опыт (я работаю с ним чуть более полугода) в какой-то сформированный формат, до конца разложив для себя все по-полочкам. Ну и в конце-концов излить душу, описывая некоторые грабли на которые я уже наступил (дать советы о них) и вилы, решение которых в докере просто не предусмотрено из коробки и о проблемах которых стоило бы задуматься на этапе когда вас распирает от острого желания перевести весь мир вокруг себя в контейнеры до осознавания что не для всех вещей эта технология годна.

        Что мы будем рассматривать в данной статье?

        В Части 0 (теоретической) я расскажу вам о контейнерах, что это и с чем едят
        В Частях 1-5 будет теория и практическое задание, где мы напишем микросервис на python, работающий с очередью rabbitmq.
        В Части 6 — послесловие
        Читать дальше →
      • Ищем имена с опечатками в PostgreSQL

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


          Читать дальше →
        • DockStation. Почему мы решили сделать этот проект

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

            Начало


            Я работаю разработчиком уже больше 8 лет, и для меня всегда была болью настройка dev окружения для разработки при переходе на другую OС или смене рабочей машины.
            Читать дальше →
          • Курс молодого бойца PostgreSQL

            • Tutorial


            Хочу поделиться полезными приемами работы с PostgreSQL (другие СУБД имеют схожий функционал, но могут иметь иной синтаксис).

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

            Данный материал будет полезен тем, кто полностью освоил базовые навыки SQL и желает учиться дальше. Советую выполнять и экспериментировать с примерами в pgAdmin'e, я сделал все SQL-запросы выполнимыми без разворачивания каких-либо дампов.

            Поехали!
            Читать дальше →
          • Свежий KDE от разработчиков плюс стабильность Ubuntu 16.04 -> KDE Neon


              Я думаю, что никто из Linux-адептов не будет отрицать большой вклад в развитие экосистемы, который внесла Ubuntu. Да, ресурсов на многое не хватает, проекты нередко забрасываются на половине пути. Но, как мне кажется, они сумели достичь прекрасного баланса между стабильностью и свежестью пакетной базы. Какая-то очень правильная грань между выдержанностью благородной плесени у Debian и непрерывным поиском того, что отломалось при обновлении в Arch Linux. Хочется просто работать? Сидим на LTS версиях дистрибутива с дефолтными репозиториями. Нужен какой-то специфический софт? Подключаем PPA от разработчика. Поставили свежее железо, нужна поддержка в ядре, но с LTS уходить не хочется — используем LTS Enablement Stacks (HWE).

              Не всем нравится дефолтная оболочка Unity, но тут к услугам пользователя все семейство Ubuntu Flavours. Я в своем выборе остановился на KDE и Kubuntu соответственно. Все было хорошо, но сидение на LTS релизах неизбежно вызывает тягу к приключениям и ломанию системы. И тогда я пошел на поиски чего-то нового.
              Читать дальше →
            • Анализ тарифов на виртуальные серверы

                Предлагаю обзор хостеров по версии Поиск VPS. Количество компаний в каталоге на момент написания обзора — 198, количество тарифов на виртуальные серверы — 1798. Практически все хостеры — русскоязычные.


                Читать дальше →
                • +17
                • 8,8k
                • 5
              • OpenResty: превращаем NGINX в полноценный сервер приложений

                  Мы вновь публикуем расшифровку доклада с конференции HighLoad++ 2016, которая проходила в подмосковном Сколково 7—8 ноября прошлого года. Владимир Протасов рассказывает, как расширить функциональность NGINX с помощью OpenResty и Lua.

                  Всем привет, меня зовут Владимир Протасов, я работаю в Parallels. Расскажу чуть-чуть о себе. Три четверти своей жизни я занимаюсь тем, что пишу код. Стал программистом до мозга костей в прямом смысле: я иногда во сне вижу код. Четверть жизни — промышленная разработка, написание кода, который идёт прямо в продакшн. Код, которым некоторые из вас пользуются, но не догадываются об этом.

                  Чтобы вы понимали насколько всё было плохо. Когда я был маленьким джуниором, я пришёл, и мне выдали такие двухтерабайтные базы. Это сейчас тут у всех highload. Я ходил на конференции, спрашивал: «Ребят, расскажите, у вас big data, всё круто? Сколько у вас там базы?» Мне отвечали: «У нас 100 гигабайт!» Я говорил: «Круто, 100 гигабайт!» А про себя думал, как бы аккуратненько сохранить покерфейс. Думаешь, да, ребята крутые, а потом возвращаешься и ковыряешься с этими многотерабайтными базами. И это — будучи джуниором. Представляете себе, какой это удар?

                  Я знаю больше 20 языков программирования. Это то, в чём мне пришлось разобраться в процессе работы. Тебе выдают код на Erlang, на C, на С++, на Lua, на Python, на Ruby, на чем-то еще, и тебе надо это всё пилить. В общем пришлось. Точное количество посчитать так и не удалось, но где-то на 20 число потерялось.
                  Читать дальше →