Как стать автором
Обновить
7
0

java developer

Отправить сообщение

Поиск кропнутых дубликатов изображений с помощью перцептуальных хешей

Время на прочтение 6 мин
Количество просмотров 70K
В этой статье пойдет речь о том, как решалась небольшая задачка поиска дубликатов по фрагменту или кропу картинки.



Читать дальше →
Всего голосов 129: ↑118 и ↓11 +107
Комментарии 39

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

Время на прочтение 31 мин
Количество просмотров 144K


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

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

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

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

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


Всего голосов 14: ↑10 и ↓4 +6
Комментарии 7

Улучшаем профиль в LinkedIn перед поиском работы

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

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


Читать дальше →
Всего голосов 19: ↑15 и ↓4 +11
Комментарии 31

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

Время на прочтение 5 мин
Количество просмотров 84K

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


Sampler


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


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

Читать дальше →
Всего голосов 298: ↑297 и ↓1 +296
Комментарии 54

Заводим Spring StateMachine

Время на прочтение 16 мин
Количество просмотров 51K

Вступление


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

  • Пример 1. Занимательный говнокод код. Занимает уйму времени, на то чтоб понять что происходит. Характерной особенностью воплощения обозначенной теории в коде является довольно лютая свалка, которая местами дико напоминает процедурный код. О том что этот вариант кода лучше не трогать на проекте знает каждый технолог, методолог и продуктолог. Заходят в этот код что-то поправить в случае крайней нужды(когда совсем сломалось), о доработке каких либо фичей речи не идет. Ибо сломать страшно. Второй яркой особенностью, обосабливающий данный тип является наличие могучих таких switch, на весь экран.
    На этот счет даже есть шутеечка:
Читать дальше →
Всего голосов 23: ↑22 и ↓1 +21
Комментарии 25

Топ-65 вопросов по SQL с собеседований, к которым вы должны подготовиться в 2019 году. Часть I

Время на прочтение 9 мин
Количество просмотров 394K


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




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

Читать дальше →
Всего голосов 62: ↑33 и ↓29 +4
Комментарии 88

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

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

Предположим, что нам понадобилось внести какие-либо изменения в структуру нашей БД. Например, мы хотим, чтобы email не мог быть null. Безусловно, для такого маленького изменения можно было бы подкорректировать код и скрипты вручную, но как быть если изменений будет больше? В этом случае к нам на помощь придет встроенная в Liquibase возможность сравнения БД. Интересной её особенностью является то, что сравнивать можно не только две базы данных, но и базу данных с набором JPA сущностей в нашем приложении. Именно так мы сейчас и поступим!
Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 12

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

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

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

Автомасштабирование и управление ресурсами в Kubernetes (обзор и видео доклада)

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



По традиции рады представить видео с докладом (44 минуты, гораздо информативнее статьи) и основную выжимку в текстовом виде. Поехали!
Читать дальше →
Всего голосов 46: ↑44 и ↓2 +42
Комментарии 21

Еще один способ оптимизации docker-образов для Java приложений

Время на прочтение 7 мин
Количество просмотров 9.4K

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


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


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


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

Читать дальше →
Всего голосов 18: ↑18 и ↓0 +18
Комментарии 5

Redis Stream — надёжность и масштабируемость ваших систем сообщений

Время на прочтение 16 мин
Количество просмотров 31K
image

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

Чтобы понять все преимущества нового типа данных, давайте бегло вспомним давно существующие структуры Redis, которые частично повторяют функциональность Redis Stream.
Читать дальше →
Всего голосов 21: ↑21 и ↓0 +21
Комментарии 4

Практическое знакомство с пакетным менеджером для Kubernetes — Helm

Время на прочтение 11 мин
Количество просмотров 74K


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

Figma — как единая точка правды в дизайне

Время на прочтение 4 мин
Количество просмотров 10K

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


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


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


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


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

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


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


Создал макет → собрал интерактивный прототип → передал в разработку — и всё это по одной ссылке.
Читать дальше →
Всего голосов 31: ↑27 и ↓4 +23
Комментарии 12

Делаем таблицу с бесконечной прокруткой без event listener

Время на прочтение 2 мин
Количество просмотров 8.5K

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



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


И что же делать?
Всего голосов 18: ↑17 и ↓1 +16
Комментарии 16

Восемь малоизвестных опций Bash

Время на прочтение 3 мин
Количество просмотров 41K
Некоторые опции Bash хорошо известны и часто используются. Например, многие в начале скрипта пишут

set -o xtrace

для отладки,

set -o errexit

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

set -o errunset

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

Но есть много других опций. Иногда они слишком путано описаны в манах, поэтому я собрал здесь некоторые из наиболее полезных, с объяснением.
Читать дальше →
Всего голосов 82: ↑79 и ↓3 +76
Комментарии 13

Изба-читальня или подборка проф.литературы

Время на прочтение 14 мин
Количество просмотров 9.5K


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

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

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

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

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

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

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

Очень хочется этой статьей нанести максимальную пользу не только себе, но и коллегам.
Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Комментарии 1

Не позволяйте 3D-принтеру лениться

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

Кто-то 3D-принтер использует и так
Читать дальше →
Всего голосов 39: ↑32 и ↓7 +25
Комментарии 78

Зачем изучать непопулярные языки. Пример сообщества F#

Время на прочтение 8 мин
Количество просмотров 30K


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

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

Я попытался узнать, в чем причина. И вообще — кто те люди, которые на нем пишут, и зачем они это делают, если язык не нужен бизнесу? Для этого я постучался поговорить в русскоязычное сообщество F# в «Телеграме». Здесь — наш круглый стол.
Читать дальше →
Всего голосов 40: ↑37 и ↓3 +34
Комментарии 164

Dracula Theme — универсальная тема оформления практически для всего

Время на прочтение 2 мин
Количество просмотров 48K

Dracula Theme

Введение


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

Читать дальше →
Всего голосов 65: ↑42 и ↓23 +19
Комментарии 52
1

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность