Как стать автором
Обновить
-1
0.1
Дмитрий @kalyukdo

Frontend

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

Docker Swarm для самых маленьких

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

Данная статья посвящена настройке и работе с Docker Swarm.

Swarm это стандартный оркестратор для docker контейнеров, доступный из «коробки», если у вас установлен сам docker.

Что нам потребуется для освоения:

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

Минимализм / Минималист / TMUX.config

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров7K

Заметили, что мир становится намного красочнее, пестрее, ярче и контрастнее?

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

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

В ИТ мире тоже происходит такой сдвиг, программы для разработки (IDE) походят больше на елку с гирляндой или какие-то детские квесты из 2000-х. Странность заключается в том, что центр внимания программиста смещается со знаний, на все что угодно, но только не на написание качественного кода, изучения алгоритмов или разобраться как же все таки работает Garbage Collector (.Net мем). Становятся популярны какие-то странные супер фичи будущего, выбор красивой подсветки ошибок, умные помощники и т.д. Но самое странное все начинают называть себя экспертами всех этих ценностей.

https://github.com/paulbuzakov/tmuxconfig

Читать далее
Всего голосов 25: ↑20 и ↓5+15
Комментарии41

Использование Redis почти как SQL БД: Реализация чата с кешированием сообщений

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров8.5K

Допустим, мы хотим создать чат и хранить сообщения для него. Вполне возможно, мы можем добавить для этого простую базу данных (БД), такую как MySQL или даже NoSQL БД.

Обычно многие используют Redis как key‑value (dictionary) хранилище. Тем не менее, Redis — это несколько большее, чем key‑value, как многие привыкли думать.

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

Настройка iredmail на debian 10 (buster)

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров4.5K

mail server - это программа, которая передаёт сообщение от одного компьютера к другому.

iredmail - это многофункциональный почтовый сервер с открытым исходным кодом, который предназначен для дистрибутивов Linux. В инструкции рассмотрим, как установить iRedMail вручную и выполнить необходимые настройки.

1. Первоначальная настройка

И так, данная инструкция написана под систему Debian. Предварительно, выполним следующие действия:

Делаем все под root.

Приступим к установке, обновим пакеты:

sudo apt update && apt upgrade

Ждем обновления, если они обновлены идем дальше:

Задаем правильное имя серверу — это важный шаг, так как большинство антиспам систем выполняют проверки, обращаясь к серверу по имени в ожидании ответа:

sudo hostnamectl set-hostname mail.example.com

Гдеexample.comваш домен:

Устанавливаем пакет времени:

sudo apt install chrony

Устанавливаем время на сервере:

sudo timedatectl set-timezone Europe/Moscow

Чтобы получить список всех возможных зон, вводим timedatectl list-timezones:

sudo systemctl enable chrony

заранее открываем порты на брандмауэре с помощью iptables:

Брандмауэр — это приложение, на котором происходит фильтрация сетевого трафика на основе заданных администратором правил:

sudo iptables -I INPUT 1 -p tcp --match multiport --dports 25,110,143,465,587,993,995 -j ACCEPT

sudo iptables -I INPUT 1 -p tcp --match multiport --dports 80,443 -j ACCEPT

* где мы откроем следующие порты:

25 — стандартный SMTP через STARTTLS;

110 — стандартный POP3 через STARTTLS;

143 — стандартный IMAP через STARTTLS;

465 — защищенный SMTP через SSL/TLS;

587 — защищенный SMTP через STARTTLS;

993 — защищенный IMAP через SSL/TLS;

995 — защищенный POP3 через SSL/TLS

80 — HTTP для порталов iredadmin и Roundcube;

443 — защищенный HTTPS для порталов iredadmin и Roundcube;

Если он не установлен то ставим:

sudo apt install iptables iptables-persistent

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

Дизайн-система Gravity UI: как легко построить свой интерфейс

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров39K

Всем привет, я Алексей Сизиков, руководитель отдела User Experience в Yandex Cloud. В этой статье я хочу поделиться новостью: мы выпустили нашу дизайн-систему и библиотеку компонентов Gravity UI в опенсорс. 

Под катом — рассказ, зачем мы сделали Gravity UI, как его используем, в чём особенности и преимущества нашего подхода и как мы планируем развивать его дальше. А ещё — как настроить разные цветовые схемы в своих проектах и почему у нас четыре темы вместо двух стандартных.

Читать далее
Всего голосов 71: ↑69 и ↓2+67
Комментарии27

React + Three.js. Создаём собственный 3D шутер. Часть 1

Уровень сложностиСредний
Время на прочтение31 мин
Количество просмотров13K

Привет, дорогие пользователи мира IT!

В эпоху активного развития веб-технологий и интерактивных приложений, 3D-графика становится всё более актуальной и востребованной. Но как создать 3D-приложение, не теряя преимуществ веб-разработки? В этой статье мы рассмотрим, как сочетать мощь Three.js с гибкостью React, чтобы создать собственную игру прямо в браузере.

В статье вы познакомитесь с библиотекой React Three Fiber и научитесь создавать интерактивные 3D-игры.

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

Отслеживание лиц в реальном времени в браузере с использованием TensorFlow.js. Часть 4

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

В 4 части (вы же прочли первую, вторую и третью, да?) мы возвращаемся к нашей цели – создание фильтра для лица в стиле Snapchat, используя то, что мы уже узнали об отслеживании лиц и добавлении 3D-визуализации посредством ThreeJS. В этой статье мы собираемся использовать ключевые точки лица для виртуальной визуализации 3D-модели поверх видео с веб-камеры, чтобы немного развлечься с дополненной реальностью.

Приятного программирования!
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Настройка собственного почтового сервера

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

Зачем нужен собственный почтовый сервер можно почитать в оригинальной статье. А поскольку на "habr" обретает надежду всяк сюда входящий, то далее пошаговая инструкция как сделать все настройки, чтобы почтовый сервер функционировал правильно: мог достучаться до любого адресата и сообщения не помечались как спам.

Читать далее
Всего голосов 28: ↑27 и ↓1+26
Комментарии123

Как я готовился к собеседованию в Google

Время на прочтение9 мин
Количество просмотров48K
Каждый инженер-программист стремится впечатлить людей своим техническим мастерством. Технологические гиганты этого мира — прекрасное место для работы технарей, которые могут предоставить услуги миллиардам пользователей. На моём недавнем собеседовании было несколько раундов, я получил предложения от Google и Amazon. В последние несколько лет онлайн-сообщество очень помогло мне в подготовке к собеседованиям. В этом посте я поделюсь всем о моём пути к собеседованию и верну вклад общества в моё обучение.


Приятного чтения!
Всего голосов 55: ↑50 и ↓5+45
Комментарии77

Service Workers. Инструкция по применению

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


Количество выходов в интернет с мобильных устройств ежегодно растёт на 2-4% в год. Качество связи не успевает за такими темпами. Как итог, даже самое лучшее веб-приложение обеспечит ужасный опыт, если пользователь не сможет его загрузить.

Проблема в том, что до сих пор нет хорошего механизма управления кэшем ресурсов и результатов сетевых запросов. В своей статье я хочу рассказать как Service Worker (SW) может помочь в решении этой задачи. Объясню в формате рецептов — какие элементы и в какой пропорции смешать, чтобы получить нужный результат, исходя из задачи и требований.
Поехали!
Всего голосов 57: ↑57 и ↓0+57
Комментарии40

Как за долгое время я вернулся на Windows (WSL)

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

Совсем недавно я приобрёл себе Huawei Matebook d13 с предустановленной windows 10 home


WINDOWS #День первый


После моего старенького MSI, Huiwei показал себя с лучшей стороны.


  1. FingerPrint
  2. Тачпад с полной поддержкой жестов
  3. 2к экран
  4. Продолжительное время работы
  5. Зарядка от Type-c. Теперь заряжаю все свои устройства одной зарядкой

Я радовался, как маленький ребенок, но ноутбук был куплен для работы, а работать я привык на linux


KDE NEON, KUbuntu, Ubuntu


Я давно хотел попробовать кеды, но никак не решался, и вот с новым устройством у меня был карт-бланш на любые эксперименты. Я поставил себе KDE NEON и сразу столкнулся с отсутствием жестов и неработающим fingerPrint. С помощью танцев с бубном я завел некоторые жесты (отпечаток пальца не получилось). В браузерах жесты отказывались работать совсем.


Я снес всё, что было, и поставил Ubuntu. Ничего не поменялось, но тут все жесты не работали, как бы я ни старался.


Я снес всё, что было, еще раз и поставил KUbuntu. Ничего не поменялось!


И тут я вспомнил про WSL(Windows Subsystem for Linux)


Я снес linux и вернул windows

Читать дальше →
Всего голосов 77: ↑60 и ↓17+43
Комментарии240

Как сделать nginx безопасным

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


TL;DR: абсолютно устойчивых систем не существует, поэтому ответ — никак. Но можно значительно упростить себе жизнь с помощью Docker-контейнера bunkerized-nginx. О том, чем он отличается от стандартного образа nginx и что интересного умеет, поговорим под катом.
Читать дальше →
Всего голосов 44: ↑39 и ↓5+34
Комментарии22

Как запустить стартап с минимальными потерями: 23 правила

Время на прочтение13 мин
Количество просмотров6.9K
За 5 лет бутстрэппинга я попробовал много всего и обнаружил, что существует много способов создать себе сложности, которые отнимают время и энергию. В результате ты вынужден разбираться с ними вместо того, чтобы заниматься делом и наращивать ценность своего продукта.

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

Если вы хотите полностью минимизировать сложности при запуске софтверного бизнеса, то следуйте каждому из приведенных ниже правил.

Правило #1: Организуйте стабильный доход


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

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

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


Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии3

Несколько малоизвестных возможностей docker-compose

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

Во многих инструкциях с просторов интернета описывают некий минимум действий, и как следствие минимум команд и возможностей.


Я решил сделать некую подборку мало освещенных возможностей, особенностей. Статья не претендует на уникальность, это и мне, как памятка, и возможно некоторым падаванам поможет, начинающим свой путь с docker-compose.

Читать дальше →
Всего голосов 51: ↑49 и ↓2+47
Комментарии22

Web tools, или с чего начать пентестеру?

Время на прочтение11 мин
Количество просмотров45K
Продолжаем рассказывать о полезных инструментах для пентестера. В новой статье мы рассмотрим инструменты для анализа защищенности веб-приложений.

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

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

Лучшее из мира Angular за неделю — Дайджест №2 (26 января — 7 марта)

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


Свежая подборка со ссылками на новости и материалы.


Приятного чтения!

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

20 игр, чтобы научить ребёнка программированию

Время на прочтение5 мин
Количество просмотров301K
Привет Хабр! Меня зовут Оксана Селендеева. Я считаю, что лучше начинать программировать с юного возраста — 4-5 лет, потому что кодинг активно развивает у детей когнитивные функции мозга, и это впоследствии помогает им отлично усваивать точные науки. А попробовать себя в программированию можно через обучающие игры. Мы с преподавателями школы программирования для детей CODDY составили такую подборку.

Для дошкольников


Box Island — мобильная 3D-игра, которая обучает основам кодирования через увлекательное приключение. Игроки путешествуют по острову Box и помогают персонажу собирать звезды, разбросанные по пустыне. Через игровой квест дети изучают основы алгоритмов, последовательностей, циклов и условных выражений, а ещё игра развивает алгоритмическое мышление и распознавание образов.
Всего голосов 59: ↑53 и ↓6+47
Комментарии91

Личный опыт: Пять сложностей при запуске бизнеса в США

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


Вот уже пару лет я живу в США, развиваю два собственных проекта и сегодня решил поделиться опытом. Мне на глаза часто попадаются статьи с рассказами о том, как классно делать бизнес в США, авторы которых не рассказывают о возможных сложностях на этом пути. В итоге у многих может сложиться чересчур идеализированное представление о том, как они приедут в Кремниевую Долину со своим стартапом менять мир.

Так было и со мной, что неоднократно приводило к фрустрациям при столкновении с реальности. Поэтому сегодня я расскажу о сложностях в ведении бизнеса в Америке, к которым следует морально подготовиться еще до переезда.
Читать дальше →
Всего голосов 84: ↑81 и ↓3+78
Комментарии150

Нейронные сети для чайников. Сеть Кохонена

Время на прочтение3 мин
Количество просмотров346K
В статье Нейросети для чайников. Начало автор Paul_Smith доступно показал насколько просто создать нейронную сеть для распознования картинок. Но есть одно но — то что он описал нейронной сетью не является. Перед его следующей статьей хочу рассказать вам как решить ту же задачу, но с использованием нейронной сети Кохонена.

Итак, распознавать мы будем цифры, написанные белым по черному, такие как эти:
image image image image image image
Читать дальше →
Всего голосов 107: ↑101 и ↓6+95
Комментарии61

Тёмная сторона поискового маркетинга: как и зачем Google собирает нашу личную информацию

Время на прочтение5 мин
Количество просмотров17K
Когда какого-нибудь ленивого журналиста осаждают мрачные предчувствия по поводу Алексы от Amazon или Google Home, он пишет что-то в духе: «Даже Оруэлл не мог предвидеть, что мы сами пригласим Большого Брата к себе домой». При этом он упускает один важный момент: виртуальные ассистенты — это не первый случай, когда мы оказались готовы променять приватность на удобство. Началось все еще в начале 2000-х, когда люди в обмен на доступ к продуктам Google и более таргетированную рекламу выложили компании всю информацию о себе.



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

На текущий момент каждую секунду в Google поступает 40 000 поисковых запросов, то есть 3.5 миллиарда в день и 1.2 триллиона в год. Когда вы вбиваете что-то в Google, ваш запрос отправляется в центр данных, где тысяча компьютеров производят отбор результатов и отсылают вам обратно итоговую выдачу. Вся процедура обычно занимает меньше чем пятую долю секунды. Но вот о чем не подозревает большинство людей: параллельно с этим «за кулисами» происходит другой, еще более молниеносный и загадочный процесс — там разворачивается аукцион.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии9

Информация

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