Pull to refresh
-1
0
Дмитрий @kalyukdo

Frontend

Send message

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

Reading time13 min
Views128K

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

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

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

Читать далее
Total votes 6: ↑4 and ↓2+2
Comments26

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

Level of difficultyEasy
Reading time3 min
Views7.7K

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

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

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

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

https://github.com/paulbuzakov/tmuxconfig

Читать далее
Total votes 22: ↑17 and ↓5+15
Comments41

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

Level of difficultyMedium
Reading time10 min
Views9.6K

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

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

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments6

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

Level of difficultyMedium
Reading time8 min
Views5.8K

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

Читать далее
Total votes 8: ↑5 and ↓3+4
Comments23

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

Level of difficultyEasy
Reading time7 min
Views42K

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

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

Читать далее
Total votes 66: ↑64 and ↓2+67
Comments27

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

Level of difficultyMedium
Reading time31 min
Views15K

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

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

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

Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments13

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

Reading time9 min
Views3.3K

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

Приятного программирования!
Total votes 6: ↑6 and ↓0+6
Comments0

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

Reading time7 min
Views150K

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

Читать далее
Total votes 24: ↑23 and ↓1+26
Comments123

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

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


Приятного чтения!
Total votes 40: ↑35 and ↓5+45
Comments77

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

Reading time9 min
Views136K


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

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

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

Reading time3 min
Views37K

Совсем недавно я приобрёл себе 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

Читать дальше →
Total votes 60: ↑43 and ↓17+43
Comments240

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

Reading time3 min
Views19K


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

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

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

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

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

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


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

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

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


Читать дальше →
Total votes 8: ↑7 and ↓1+9
Comments3

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

Reading time5 min
Views28K

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


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

Читать дальше →
Total votes 51: ↑49 and ↓2+47
Comments22

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

Reading time11 min
Views47K
Продолжаем рассказывать о полезных инструментах для пентестера. В новой статье мы рассмотрим инструменты для анализа защищенности веб-приложений.

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

Читать дальше →
Total votes 46: ↑46 and ↓0+46
Comments8

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

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

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


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

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

Reading time6 min
Views53K


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

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

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

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

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

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

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



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

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

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity