Как стать автором
Обновить
@tmnhy read-only

Пользователь

Делаем бесконечную рабочую область без Canvas

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 3.4K
Веб-дизайн *JavaScript *Программирование *ReactJS *
Кейс

Рабочее пространство в нашем приложении представляет собой бесконечную доску, по которой могут перемещаться ноды. Необходимо реализовать масштабирование этого пространства и перемещение по нему. Все это мы делаем без использования Canvas, так как приложение построено на React, в дизайн-системе используется antd, а ноды могут быть огромными формами. Согласитесь, реализовывать такие интерфейсы было бы гораздо сложнее, не будь у нас доступа к нативным средствам HTML-5.

Читать далее
Всего голосов 13: ↑13 и ↓0 +13
Комментарии 3

8 вещей, о которых забывают разработчики при переносе приложения в Kubernetes

Время на прочтение 11 мин
Количество просмотров 11K
Блог компании Selectel Разработка мобильных приложений *DevOps *Микросервисы *Kubernetes *

Kubernetes становится стандартом разработки, при этом порог входа в него остается довольно высоким. Вместе с архитектором отдела администрирования сервисов Selectel Михаилом Вишняковым собрали список рекомендаций для разработчиков приложений, которые мигрируют их в оркестратор. Знание перечисленных пунктов позволит избежать потенциальных проблем и не создавать ограничений на месте преимуществ k8s.

Наш субъективный список — под катом. Пополните его своими рекомендациями в комментариях!
Читать дальше →
Всего голосов 76: ↑74 и ↓2 +72
Комментарии 2

Хуки в React — как надо, когда не надо и нужны ли свои?

Уровень сложности Средний
Время на прочтение 14 мин
Количество просмотров 2.1K
Блог компании Учи.ру ReactJS *
Из песочницы

В 16.8 версии библиотеки React впервые появились хуки (hooks) — функции, которые упрощают работу с компонентами React и переиспользованием какой-либо логики. В экосистеме React уже есть много дефолтных хуков, но также можно создавать и свои. Я Михаил Карямин, фронтенд-разработчик в Учи.ру, расскажу, как и в каких случаях хуки в React облегчают жизнь разработчику и как с ними работать.

Читать далее
Всего голосов 9: ↑5 и ↓4 +1
Комментарии 2

RabbitMQ: терминология и базовые сущности

Время на прочтение 8 мин
Количество просмотров 26K
Блог компании Southbridge Высокая производительность *Системное администрирование *Программирование *IT-инфраструктура *

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

Алексей Барабанов, IT-директор «Хлебница» и спикер курса «RabbitMQ для админов и разработчиков», подготовил конспект, который поможет понять терминологию и базовые сущности RabbitMQ.

Читать далее
Всего голосов 41: ↑39 и ↓2 +37
Комментарии 5

К каким вопросам готовиться перед собеседованием на Python-разработчика

Время на прочтение 4 мин
Количество просмотров 13K
Python *Программирование *Карьера в IT-индустрии

Безусловно, от программирования нужно получать свой кайф. Если вам не интересно заниматься тем, что вы делаете, наверное, это дело лучше бросить. Однако, было бы неплохо конвертировать ваш кайф в какую-нибудь валюту. Даже желательно бы не в православный рубль, а басурманский доллар. Поэтому сегодня обсудим вопросы, которые задают на собеседованиях Python-разработчику и как в целом подготовиться к любому такому собеседованию. Текст написал автор YouTube-канала PyLounge Макс. Поехали!

Читать далее
Всего голосов 7: ↑5 и ↓2 +3
Комментарии 8

58 байтов CSS, которые выглядят красиво почти где угодно

Время на прочтение 2 мин
Количество просмотров 26K
Веб-дизайн *CSS *HTML *
Перевод

При создании своего веб-сайта я хотел найти простой и разумный способ сделать его красивым на большинстве дисплеев. Для моих задач подошли следующие 58 байтов:

main {
  max-width: 38rem;
  padding: 2rem;
  margin: auto;
}

Давайте их разберём.
Читать дальше →
Всего голосов 55: ↑46 и ↓9 +37
Комментарии 11

Нейросети и глубокое обучение, глава 1: использование нейросетей для распознавания рукописных цифр

Время на прочтение 56 мин
Количество просмотров 111K
Python *Программирование *Машинное обучение *Искусственный интеллект
Перевод

Примечание


Michael NielsenПеред вами – перевод свободной онлайн-книги Майкла Нильсена «Neural Networks and Deep Learning», распространяемой под лицензией Creative Commons Attribution-NonCommercial 3.0 Unported License. Мотивацией к его созданию послужил успешный опыт перевода учебника по программированию, "Выразительный JavaScript". Книга по нейросетям тоже достаточно популярна, на неё активно ссылаются авторы англоязычных статей. Её переводов я не нашёл, за исключением перевода начала первой главы с сокращениями.

Желающие отблагодарить автора книги могут сделать это на её официальной странице, переводом через PayPal или биткоин. Для поддержки переводчика на Хабре есть форма «поддержать автора».


Введение


Этот учебник подробно расскажет вам о таких понятиях, как:

  • Нейросети — прекрасная программная парадигма, созданная под влиянием биологии, и позволяющая компьютеру учиться на основе наблюдений.
  • Глубокое обучение – мощный набор техник обучения нейросетей.

Нейросети (НС) и глубокое обучение (ГО) на сегодня дают наилучшее решение многих задач из областей распознавания изображений, голоса и обработки естественного языка. Этот учебник научит вас многим ключевым концепциям, лежащим в основе НС и ГО.
Читать дальше →
Всего голосов 40: ↑38 и ↓2 +36
Комментарии 4

Готовим нагруженный Postgres в Yandex.Cloud

Время на прочтение 13 мин
Количество просмотров 5.4K
PostgreSQL *
Recovery mode

Перед тем как приступать к основной части статьи, наверное стоит начать с вопросов «зачем». В контексте данной статьи их три:

 1)      Почему Postgres

2)      Зачем Public Cloud

3)      Почему Yandex.Cloud (в контексте постгреса)

 

Почему Postgres

              Ну да, казалось бы если речь пошла о cloud инфраструктуре то наверняка о быстром расширении и новом проекте. Postgres появился достаточно давно, может нужно рассмотреть альтернативные решения? Когда я выбираю СУБД для проекта я обычно заглядываю на https://db-engines.com/

Читать далее
Всего голосов 13: ↑10 и ↓3 +7
Комментарии 3

Проброс видеокарты в виртуальную машину

Время на прочтение 5 мин
Количество просмотров 27K
*nix *Виртуализация *Видеокарты
Из песочницы

Две разные системы (win + linux) на одной аппаратной базе - реальность. В этом нет ничего нового или инновационного (на данный момент времени), но если требуется максимальная производительность гостевой системы, то не обойтись без проброса реальных устройств в виртуальную машину. Проброс сетевых карт, usb-контроллеров (etc) экстраординарных особенностей не несёт, а вот попытка "шаринга" ресурсов видеокарты и процессора вполне может принести некоторое количество проблем.

Итак, а для чего, собственного говоря, городить системы с полнофункциональным использованием ресурсов GPU и CPU? Самый простой и очевидный ответ - игры (широко известный факт - если не большинство, то очень многие, написаны под ОС Windows). Другой вариант - полноценное рабочее место с возможностью запуска требовательных приложений (например, CAD-софта), быстрым бэкапом (скопировать файл ВМ куда проще, чем создавать полную копию HDD/SSD) и опцией полного контроля сетевого трафика гостевой системы.

Читать далее
Всего голосов 25: ↑23 и ↓2 +21
Комментарии 20

React hooks, как не выстрелить себе в ноги. Часть 2: useEffect и useLayoutEffect

Время на прочтение 10 мин
Количество просмотров 21K
Блог компании OTUS ReactJS *

В этой статье разберем как с помощью useEffect воспроизвести методы жизненного цикла в функциональных компонентах. Поговорим как и когда использовать useEffect и useLayoutEffect. Обсудим особенности отправки запросов из useEffect. Также узнаем почему массив зависимостей необязателен и когда это может пригодиться.

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

Читать далее
Всего голосов 12: ↑9 и ↓3 +6
Комментарии 9

Создание telegram web apps и взаимодействие с ними в телеграм ботах

Время на прочтение 8 мин
Количество просмотров 99K
CSS *Python *JavaScript *Программирование *HTML *
Из песочницы

В обновлении Bot API 6.0 телеграм-боты получили много новых функций. Из них для разработчиков самая примечательная - Telegram Web Apps (Веб-приложения внутри телеграм). С этим нововведением разработчики могут подключать к своим ботам web-приложения, которые открываются в дополнительном окне, что сильно расширяет инструментарий, а, следовательно и функционал ботов в телеграм.

Читать далее
Всего голосов 32: ↑32 и ↓0 +32
Комментарии 42

Все хуки и концепты React в одной статье

Время на прочтение 10 мин
Количество просмотров 18K
JavaScript *ReactJS *
Перевод

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

Читать далее
Всего голосов 13: ↑12 и ↓1 +11
Комментарии 38

Введение в k3s: познакомимся с младшим братом k8s

Время на прочтение 12 мин
Количество просмотров 28K
Блог компании Nixys Системное администрирование **nix *DevOps *


Вводная часть


Kubernetes, также известный как k8s — это портативная расширяемая платформа с открытым исходным кодом для управления контейнеризованными рабочими нагрузками и сервисами, которая облегчает как декларативную настройку, так и автоматизацию. Kubernetes можно настроить как в локальной, так и в облачной инфраструктуре. Однако, кластер Kubernetes немного сложен в настройке и требует значительных ресурсов, что затрудняет развертывание на локальной машине для обучения или разработки. Это приводит к тому, что не для каждого бизнеса перейти на полноценный k8s представляется возможным. К счастью, на этот случай есть более легкое решение в виде k3s.

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

Безопасный CSS, или как писать универсальные стили

Время на прочтение 11 мин
Количество просмотров 29K
CSS *HTML *
Из песочницы
Перевод

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

Читать статью
Всего голосов 30: ↑28 и ↓2 +26
Комментарии 12

Bare-metal kubernetes-кластер на своём локальном компьютере

Время на прочтение 8 мин
Количество просмотров 18K
Блог компании X5 Tech Системное администрирование *IT-инфраструктура *DevOps *

Привет, я Кирилл Шаталаев, инженер инфраструктуры и автоматизации в X5 Tech.

Я в курсе, что статей на эту тему достаточно, в том числе и на Habr. И когда у меня возникла задача поднять кластер, я их все перечитал. Где-то очень подробно рассказывается, как ставить виртуалки с убунтой на Windows под virtualbox, и очень скудно про сам кубер. Где-то досконально описано, как это всё круто можно провернуть с terraform в Яндекс.Облаке. Где-то про сам kubespray скупо пару слов, зато куча скриншотов прометея с кибаной.

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

Читать далее
Всего голосов 16: ↑14 и ↓2 +12
Комментарии 22

HSLuv — удобное цветовое пространство для разработчиков

Время на прочтение 5 мин
Количество просмотров 5.9K
Блог компании Timeweb Cloud Графический дизайн *Дизайн
Перевод
Меня, как разработчика, работа с цветами порой утомляет, но существуют проекты, упрощающие эту деятельность. HSLuv — это один из таких проектов, и в рамках этой статьи я постараюсь объяснить, что это и как это может помочь разработчикам.

Проблема традиционных цветовых пространств


Традиционно в IT используются RGB или HSL.

Основная проблема этих цветовых моделей заключается в том, что они нелинейны с точки зрения человеческого восприятия.

RGB


Для примера возьмем равномерные ступенчатые градиенты RGB цветов.

  • градиент красного — это цвета #000, #100, #200, #FEE, #FFFи т.д.;
  • градиент зеленого — это цвета #000, #010, #020и т.д.;
  • градиент синего — это цвета #000, #001, #002и т.д.;
  • градиент желтого — это цвета #000, #110, #220и т.д.;
  • градиент голубого — это цвета #000, #011, #022и т.д.;
  • градиент пурпурного — это цвета #000, #101, #202и т.д.


Мы можем увидеть несколько вещей:

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

Хорошо, RGB — это способ визуализации пикселей, да и разрабатывалась эта модель не для удобного «управления» значениями.
Читать дальше →
Всего голосов 32: ↑32 и ↓0 +32
Комментарии 6

Закон о рекламе – что дышло: с какой ноги ФАС встал – туда и вышло

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

Закон о рекламе запрещает распространение рекламы по сетям электросвязи без предварительного согласия абонента или адресата на получение оной (п.1 ст.18 Федерального закона от 13.03.2006 № 38-ФЗ «О рекламе»), иначе придет Федеральная антимонопольная служба (ФАС) и впаяет штраф от 100 до 500 тысяч вечнодеревянных (ст.14.3 КоАП РФ). Или не придет, смотря с какой ноги встанет…
Читать дальше →
Всего голосов 18: ↑13 и ↓5 +8
Комментарии 34

Обновление данных в ClickHouse

Время на прочтение 5 мин
Количество просмотров 11K
Блог компании Just AI SQL *Big Data *
Туториал

Всем привет! Эта статья продолжает первую часть, где я рассказывал о том, как мы в Just AI переводили пользовательскую аналитику на новую СУБД ClickHouse. В ней я на примерах показывал, как менялась схема данных и sql запросы, какие возникали сложности и удалось ли добиться прироста производительности.

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

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

Читать далее
Всего голосов 10: ↑8 и ↓2 +6
Комментарии 5

Создание API на основе протокола MTProto

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

В уже  далеком 2019 Telegram объявил конкурс на создание веб-версии своего мессенджера, в котором мне удалось поучаствовать. По итогу у меня осталась библиотека, которая может работать с API Telegram по протоколу MTProto. Полученный опыт вдохновил меня реализовать протокол MTProto для бэкенда. Разработку вел на python, так как я этот язык хорошо знаю и был уверен, что смогу на нем реализовать свою идею. Для удобства использовал библиотеку aiohttp для соединения по web-socket’у, а для описания структур использовал typings и dataclass.

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

Regex for lazy developers

Время на прочтение 9 мин
Количество просмотров 18K
PHP *Python *JavaScript *.NET *Регулярные выражения *
Туториал

Регулярные выражения для ленивых людей?!

Regex – это модуль вашего языка программирования который позволяет работать со сложными и большими строками просто! Давайте разбираться в них вместе. Приятного прочтения ;)

Читать далее
Всего голосов 24: ↑17 и ↓7 +10
Комментарии 32

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность