• Полное визуальное руководство-шпаргалка по Flexbox и Grid + туториал



      Доброго времени суток, друзья!

      Представляю вашему вниманию полное визуальное руководство-шпаргалку по всем свойствам CSS-модулей Flexbox и Grid.

      Основные источники: A Complete Guide to Flexbox, A Complete Guide to Grid.

      В конце статьи вас ждет небольшой туториал по созданию тренажера по Flexbox.

      Без дальнейших предисловий.


      Читать дальше →
      • +6
      • 35,3k
      • 7
    • Улучшаем профиль в LinkedIn перед поиском работы

        На момент написания статьи, в социальной сети LinkedIn размещено порядка 30 миллионов вакансий от 20 миллионов компаний по всему миру. Не удивительно, что 90% рекрутеров используют LinkedIn как один из основных ресурсов поиска кандидатов.

        Правильно оформленный LinkedIn профиль поможет привлечь внимание рекрутеров к вашей кандидатуре. Совместно с командой экспертов по поиску работы за рубежом Relocate.me, мы подготовили короткий гайд по оптимизации профиля LinkedIn перед поиском работы.


        Читать дальше →
      • Sampler. Консольная утилита для визуализации результата любых shell команд

          В общем случае с помощью shell команды можно получить любую метрику, без написания кода и интеграций. А значит в консоли должен быть простой и удобный инструмент для визуализации.


          Sampler


          Наблюдение за изменением состояния в базе данных, мониторинг размера очередей, телеметрия с удаленных серверов, запуск деплой скриптов и получение нотификации по завершению — конфигурируется за минуту простым YAML файлом.


          Код доступен на гитхабе. Инструкции по установке — для Linux, macOS и (экспериментально) Windows.

          Читать дальше →
        • Заводим Spring StateMachine

            Вступление


            В проектах я встречался с тремя примерами, так или иначе связанными с теорией конечных автоматов

            • Пример 1. Занимательный говнокод код. Занимает уйму времени, на то чтоб понять что происходит. Характерной особенностью воплощения обозначенной теории в коде является довольно лютая свалка, которая местами дико напоминает процедурный код. О том что этот вариант кода лучше не трогать на проекте знает каждый технолог, методолог и продуктолог. Заходят в этот код что-то поправить в случае крайней нужды(когда совсем сломалось), о доработке каких либо фичей речи не идет. Ибо сломать страшно. Второй яркой особенностью, обосабливающий данный тип является наличие могучих таких switch, на весь экран.
              На этот счет даже есть шутеечка:
            Читать дальше →
          • Топ-65 вопросов по SQL с собеседований, к которым вы должны подготовиться в 2019 году. Часть I

            • Перевод


            Перевод статьи подготовлен для студентов курса «MS SQL Server разработчик»




            Реляционные базы данных являются одними из наиболее часто используемых баз данных по сей день, и поэтому навыки работы с SQL для большинства должностей являются обязательными. В этой статье с вопросами по SQL с собеседований я познакомлю вас с наиболее часто задаваемыми вопросами по SQL (Structured Query Language — язык структурированных запросов). Эта статья является идеальным руководством для изучения всех концепций, связанных с SQL, Oracle, MS SQL Server и базой данных MySQL.

            Читать дальше →
          • Использование Liquibase для управления структурой БД в Spring Boot приложении. Часть 2

            • Tutorial
            В предыдущей части мы разобрались с основными возможностями Liquibase и написали базовый пример Spring boot приложения, который использует Liquibase для инициализации БД. Полный код базового приложения можно увидеть тут на GitHub. В этой статье мы поговорим про liquibase-maven-plugin и те дополнительные возможности, которые он нам дает для версионирования структуры БД. Начнем с того, как автоматически создавать скрипты при помощи функции сравнения.

            Предположим, что нам понадобилось внести какие-либо изменения в структуру нашей БД. Например, мы хотим, чтобы email не мог быть null. Безусловно, для такого маленького изменения можно было бы подкорректировать код и скрипты вручную, но как быть если изменений будет больше? В этом случае к нам на помощь придет встроенная в Liquibase возможность сравнения БД. Интересной её особенностью является то, что сравнивать можно не только две базы данных, но и базу данных с набором JPA сущностей в нашем приложении. Именно так мы сейчас и поступим!
            Читать дальше →
          • Использование Liquibase для управления структурой БД в Spring Boot приложении. Часть 1

            • Tutorial
            В этой статье я разберу использование утилиты Liquibase в Spring Boot приложениях для версионирования структуры реляционной БД и миграции этой структуры с одной версии на другую. В первой части разберем базовый пример, а во второй поговорим об использовании liquibase-mave-plugin для отката изменений и автоматической генерации скриптов через сравнение структур БД.

            Начнем с того, что создадим простейшее приложение на Spring Boot + JPA (Hibernate). В этом нам поможет Spring Initializr. Из зависимостей выбираем JPA, MySQL и Web. Liquibase тоже можно подключить на этом шаге, но для лучшего понимания мы это сделаем далее вручную.
            Читать дальше →
          • Автомасштабирование и управление ресурсами в Kubernetes (обзор и видео доклада)

              27 апреля на конференции Стачка-2019, в рамках секции «DevOps», прозвучал доклад «Автомасштабирование и управление ресурсами в Kubernetes». В нём рассказывается о том, как с помощью K8s обеспечить высокую доступность приложений и гарантировать их максимальную производительность.



              По традиции рады представить видео с докладом (44 минуты, гораздо информативнее статьи) и основную выжимку в текстовом виде. Поехали!
              Читать дальше →
            • Еще один способ оптимизации docker-образов для Java приложений

                История по оптимизации образов для java приложений началась с выхода статьи в блоге спринга — Spring Boot in a Container. В ней обсуждались различные аспекты по созданию docker образов для spring boot приложений, в том числе и такой интересный вопрос, как уменьшение размеров образов. Для наших команд это было актуально в силу ряда причин, поэтому мы решили применить это решение к нашим приложениям.


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


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


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

                Читать дальше →
                • +18
                • 7,3k
                • 5
              • Redis Stream — надёжность и масштабируемость ваших систем сообщений

                • Перевод
                • Tutorial
                image

                Redis Stream — новый абстрактный тип данных, представленный в Redis с выходом версии 5.0
                Концептуально Redis Stream — это List, в который вы можете добавлять записи. Каждая запись имеет уникальный идентификатор. По умолчанию идентификатор генерируется автоматически и включает в себя временную метку. Поэтому вы можете запрашивать диапазоны записей по времени или получать новые данные по мере их поступления в поток, как Unix команда «tail -f» читает лог-файл и замирает в ожидании новых данных. Обратите внимание, что поток могут слушать одновременно несколько клиентов, как многие «tail -f» процессы могут одновременно читать файл, не конфликтуя друг с другом.

                Чтобы понять все преимущества нового типа данных, давайте бегло вспомним давно существующие структуры Redis, которые частично повторяют функциональность Redis Stream.
                Читать дальше →
                • +21
                • 14,2k
                • 4
              • Практическое знакомство с пакетным менеджером для Kubernetes — Helm



                  Статья является логическим продолжение нашей недавней публикации об истории пакетного менеджера для Kubernetes — Helm. В этот раз мы снова затронем вопросы устройства и функционирования нынешнего Helm (версия 2.x), а также управляемых им чартов и репозиториев, после чего перейдём к практике: установке Helm в кластер Kubernetes и использованию чартов.
                  Читать дальше →
                  • +28
                  • 50k
                  • 9
                • Figma — как единая точка правды в дизайне

                  Как мы построили все процессы разработки и внедрения дизайна вокруг одного инструмента.


                  Привет! Я — Ваня Соловьёв, дизайн-директор в DocDoc (входит в группу Сбербанк). Сегодня рубрика Тим-тим, в которой я расскажу, как мы уживаемся с другими командами.


                  В 2017 году наши интерфейсы создавались в Sketch, прототипы собирались в Marvel, а в разработку передавались через Zeplin. Всё было стандартно для того времени, пока не появилась Figma.


                  Эта статья не про сравнение инструментов, таких статей уже написано в избытке. Она про то, как в нашей компании Figma помогла:


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

                  Для дизайнера


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


                  Создал макет → собрал интерактивный прототип → передал в разработку — и всё это по одной ссылке.
                  Читать дальше →
                • Делаем таблицу с бесконечной прокруткой без event listener

                  • Перевод

                  Что ж оно так лагает-то?



                  Если при рендеринге огромной таблицы с какой-нибудь transition анимацией не делать ничего дополнительно, то приложение будет лагать, а пользователь страдать.


                  И что же делать?
                • Восемь малоизвестных опций Bash

                  • Перевод
                  • Tutorial
                  Некоторые опции Bash хорошо известны и часто используются. Например, многие в начале скрипта пишут

                  set -o xtrace

                  для отладки,

                  set -o errexit

                  для выхода по ошибке или

                  set -o errunset

                  для выхода, если вызванная переменная не установлена.

                  Но есть много других опций. Иногда они слишком путано описаны в манах, поэтому я собрал здесь некоторые из наиболее полезных, с объяснением.
                  Читать дальше →
                • Изба-читальня или подборка проф.литературы



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

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

                    Наведение порядка заняло не один мой человеко час, и с мыслью «Чего добру пропадать» решила поделиться им с читателями Хабра. Надеюсь, он принесет пользу и сэкономит время на поиски литературы.

                    Список разбивала на четыре категории:

                    1. Книги про бизнес;
                    2. Книги по проектированию — не вносила в список классику, а дополняла чем-то новым (на мой взгляд);
                    3. Книги о психологии поведения;
                    4. Книги про тексты.

                    Для некоторых книг нашла саммари, ссылки прилагаются.

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

                    Очень хочется этой статьей нанести максимальную пользу не только себе, но и коллегам.
                    Читать дальше →
                    • +13
                    • 8,5k
                    • 1
                  • Не позволяйте 3D-принтеру лениться

                      Наверное, у каждого из нас есть гаджет или устройство, которые мы не используем: тренажёр, плеер, кухонный инвентарь, всякие странные штуки для автомобиля, шнуры, хабы и проч. Лежат они, новенькие, с гарантийниками и годами ждут своего часа, которому чаще всего уже не дано случиться — слишком быстро движется научно-технический прогресс. Так и формируется на полках и в шкафах наш личный музей современной техники. Который в последнее время пополнился ещё одним экспонатом — 3D-принтером. Или нет?

                      Кто-то 3D-принтер использует и так
                      Читать дальше →
                    • Зачем изучать непопулярные языки. Пример сообщества F#



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

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

                        Я попытался узнать, в чем причина. И вообще — кто те люди, которые на нем пишут, и зачем они это делают, если язык не нужен бизнесу? Для этого я постучался поговорить в русскоязычное сообщество F# в «Телеграме». Здесь — наш круглый стол.
                        Читать дальше →
                      • Dracula Theme — универсальная тема оформления практически для всего

                        Dracula Theme

                        Введение


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

                        Читать дальше →
                      • GraphQL будущее микросервисов?

                        • Перевод
                        • Tutorial
                        GraphQL часто представляют как революционный путь дизайна веб API по сравнению с REST. Однако, если вы ближе посмотрите на эти технологии, то вы увидите, что между ними очень много различий. GraphQL относительно новое решение, исходники которого были открыты сообществу Фейсбуком в 2015 году. Сегодня REST все еще самая популярная парадигма, используемая для предоставления API и взаимодействия между микросервисами. Сможет ли GraphQL обогнать REST в будущем? Давайте посмотрим, как происходит микросервисное взаимодействие через GraphQL API с ипользованием Spring Boot и библиотеки GQL.
                        Читать дальше →