Search
Write a publication
Pull to refresh
12
0
Алексей @neiroman2k

User

Send message

Стрелочные функции JS, быстро, просто и без проблем

Level of difficultyMedium
Reading time5 min
Views3.9K

Содержание:

- Стрелочные функции: argumentshoisting

- Работа с контекстом

- Методы присваивания контекста

- Обработчик событий

Читать далее

О Product Data Management, или как хранить конструкторскую документацию

Level of difficultyMedium
Reading time7 min
Views7.2K

Меня зовут Сергей Чугунов. Я более 10 лет занимаюсь конструированием медицинских рентгенодиагностических комплексов. Одна из моих зон ответственности — внедрение лучших практик работы с системой автоматизированного проектирования (CAD — системой). После общения с коллегами из других компаний у меня сложилось впечатление, что многие компании испытывают проблемы с хранением и поддержкой актуальности 3D моделей и чертежей. А системный подход к работе с CAD развит лишь у малой части небольших и средних фирм-разработчиков.

Читать далее

Почему твой await fetch тормозит — и как это исправить

Level of difficultyEasy
Reading time5 min
Views15K

Привет, Хабр!

В этой статье рассмотрим, почему безобидная строчка await fetch() неожиданно превращается в тормоз, где именно она зарывает драгоценные миллисекунды — и что можно сделать с этим.

Читать далее

Топ систем управления проектами в 2025 году: выбираю подходящий инструмент

Level of difficultyEasy
Reading time10 min
Views14K

Очередной пост по личным впечатлениям, написанный в минуты отдыха (читай: прокрастинации). И, конечно, снова о работе! (irony mode:on) На этот раз — про рабочие инструменты. (irony mode:off) Основано на реальном опыте: когда-то я выстраивал систему работы с контентом в стартапе с нуля.

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

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

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

Но какие из них действительно стоят внимания? И причём тут вообще кофе?

Давайте разбираться

Локализация Qt-приложений

Reading time9 min
Views10K

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

Читать далее

Регулярные выражения простыми словами. Часть 1

Level of difficultyEasy
Reading time7 min
Views57K

Разработчики делятся на два типа: тех, кто уже понимает регулярные выражения и порой решает сложные задачи одной строкой, и тех, кто все еще боится и всячески их избегает. Эта статья специально для вторых, чтобы им было проще стать первыми. Она либо поможет преодолеть «регекспофобию», либо усугубит ее. В любом случае, добро пожаловать под кат.
Читать дальше →

RabbitMQ Simulator. Песочница брокера сообщений

Level of difficultyEasy
Reading time6 min
Views7.9K

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

RabbitMQ и Apache Kafka — это термины, которые, возможно, на слуху у каждого, кто так или иначе работает в ИТ-сфере.

И сегодня я хотел бы познакомить вас с одним из, на мой взгляд, интереснейших инструментов для симуляции брокера RabbitMQ - сайтом RabbitMQ Simulator https://tryrabbitmq.com.

Для начала пару слов теории о брокере сообщений RabbitMQ.

RabbitMQ — это популярная система обмена сообщениями с открытым исходным кодом, которая используется для передачи данных между различными приложениями и сервисами. Она основана на протоколе AMQP (Advanced Message Queuing Protocol) и позволяет создавать надежные и масштабируемые системы обмена сообщениями.

RabbitMQ представляет собой брокер сообщений, который принимает сообщения от отправителей (publishers), хранит их в очереди и передает получателям (consumers). Он поддерживает различные модели взаимодействия, такие как точка-точка (point-to-point) и публикация-подписка (publish-subscribe).

Теперь перейдём к самому RabbitMQ Simulator-у.

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

Читать далее

Лицензия ФСТЭК: трудно получить, легко потерять, невозможно забыть

Level of difficultyEasy
Reading time5 min
Views7K

Если вы хотите заниматься безопасностью конфиденциальной информации и разработкой соответствующих средств защиты, то вам придется получить лицензию ФСТЭК. Многие, кто прошел этот мучительно долгий процесс, хотят забыть его как страшный сон.

А что наяву? Лицензия получена, а значит ее требованиям придется соответствовать. Что именно делать потом и чем опасно бездействие, пишут редко. Что ж, давайте это исправим.

Читать далее

React useReducer, зачем нужен и как использовать

Level of difficultyMedium
Reading time7 min
Views27K

useReducer - это хук для работы с состоянием компонента. Он используется под капотом у хука useState. В этой статье разберемся с api useReducer, когда лучше использовать useReducer вместо useState и поговорим про нестандартный случай использования useReducer.

Читать далее

Насколько Быстрой Можно Сделать Систему STT?

Reading time8 min
Views4.2K


Нам приходилось слышать абсолютно разные оценки скорости (ну или наоборот — оценки потребности в железе) систем распознавания речи, отличающиеся даже на порядок. Особенно радует, когда указаны системные требования из которых следует, что метрики сильно лучше, чем лучшие state-of-the-art системы из bleeding edge статей, а на практике иногда оказывается, что метрики рассчитаны в надежде, что "покупают для галочки и никто пользоваться не будет и так сойдет". Также не помогает то, что некоторые системы работают на GPU, а некоторые нет, равно как и то, что ядра процессоров могут отличаться в разы по производительности (например старые серверные процессора с тактовой частотой 2 — 2.5 GHz против современных решений от AMD с 4+ GHz на ядро имеющие до 64 ядер). Давайте в этом вместе разберемся, на самом деле, все не так уж и сложно!


Как правило люди начинают задумываться о скорости в 3 случаях:


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

В этой статье мы постараемся ответить на несколько вопросов:


  • Что вообще значит скорость?
  • Какой скорости можно добиться в теории?
  • Какой скорости можно добиться на практике и желательно без потери качества?
Читать дальше →

Блокировка Docker Hub для России. Без паники разбираемся как работать дальше

Level of difficultyMedium
Reading time9 min
Views84K

Главной новостью этой недели стала блокировка пользователей из России ресурсом Docker Hub. Она осуществляется по Geo IP.

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

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

Читать далее

10 самых распространенных проблем при линтинге Dockerfile'ов

Level of difficultyEasy
Reading time8 min
Views13K

Весной 2023 года разработчики Depot добавили в свой сервис возможность проверять Dockerfile'ы при каждой сборке.

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

Читать далее

Затыкаем рот Windows 10

Level of difficultyHard
Reading time33 min
Views129K


Windows 10 очень любит Интернет. Обновления, синхронизации, телеметрия и ещё куча разной другой очень нужной ЕЙ информации постоянно гуляет через наши сетевые соединения. В «стандартном» сценарии использования, когда Windows 10 управляет домашним или рабочим компьютером, это, в общем-то, терпимо, хотя и не очень приятно.

Однако жизнь сложная штука и не ограничивается только стандартными вариантами. Существуют ситуации, когда подобная сетевая активность операционной системы (ОС) нежелательна и даже вредна. За примерами далеко ходить не надо. Попробуйте подключить к Интернету давно не используемый резервный компьютер, собранный на старом железе. Пока софт на нём не обновится, использовать его будет практически невозможно, всё будет дико тормозить и еле шевелиться. А если вам в этот момент нужно срочно что-то сделать?

Для того чтобы подобного не происходило, необходимо «заткнуть рот Windows», то есть сделать так, чтобы она самостоятельно перестала «стучаться» в Интернет, устанавливать обновления и заниматься прочими непотребствами. Вот именно этим мы с вами и займёмся.
Читать дальше →

Docker Compose: от разработки до продакшена

Reading time5 min
Views24K

Перевод транскрипции подкаста подготовлен в преддверии старта курса «Администратор Linux»





Docker Compose — это удивительный инструмент для создания рабочего
окружения для стека, используемого в вашем приложении. Он позволяет вам определять
каждый компонент вашего приложения, следуя четкому и простому синтаксису в YAML-
файлах
.

Читать дальше →

Компонентный подход к Ansible или как навести порядок в инфраструктурном коде

Level of difficultyHard
Reading time10 min
Views9.7K

Привет, Хабр! Меня зовут Игорь Гербылев, я технический директор в компании Just AI. В этой статье я расскажу о методологии структурирования ansible-плейбуков, которую мы называем «Компонентный ансибл». Этот подход позволил нам упростить разработку и поддержку большого объёма ансибл-кода, который мы используем для настройки инфраструктуры и развёртывания наших SaaS продуктов.

Читать далее

Рекомендации по Ansible

Reading time6 min
Views13K

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

Читать далее

Google Workspace и Office 365 постепенно закрывают для РФ. Ставим офисный софт на своём сервере

Level of difficultyEasy
Reading time6 min
Views19K

Nextсloud Office

В последнее время появляется всё больше новостей про блокировку офисных сервисов Google Workspace и Office 365 для российских клиентов. По слухам, отключают некоторые компании, попавшие в санкционные списки. Но скоро блокировка может распространиться на остальных, всё к этому идёт.

К счастью, есть много опенсорсных альтернатив на замену Google Workspace и Office 365. Это бесплатные открытые решения, которые можно установить на своём сервере.
Читать дальше →

Alpine собирает Docker билды под Python в 50 раз медленней, а образы в 2 раза тяжелей

Reading time4 min
Views71K


Alpine Linux — часто рекомендованный как базовый образ для Docker`а. Вам говорят, что использование Alpine сделает ваши билды меньше, а процесс сборки быстрей.

Но если вы используете Alpine Linux для Python приложений, то он:

  • Делает ваши билды намного медленней
  • Делает ваши образы больше
  • Тратит ваше время
  • И в итоге может стать причиной ошибок в рантайме
Читать дальше →

Создаем свой Managed K8S за 5 минут на старом железе

Level of difficultyEasy
Reading time6 min
Views14K
image

Привет! Все больше облачных провайдеров по всему миру предлагают свои услуги по управляемому Kubernetes кластеру в их облаках. Стоимость таких сервисов практически всегда является ключевым фактором при выборе вендора, а молодые компании с отрицательной прибылью но очень большими амбициями вовсе вынуждены отдавать последние деньги за кластер, который мог бы заменить обычный Shared-хостинг за 150 рублей в месяц. Давайте разберемся.
Читать дальше →

Управление Docker проектом со множеством git репозиториев

Reading time4 min
Views38K

Команда, в которой я работаю, использует микросервисную организацию в проектах.
У каждого микросервиса свой репозиторий. Каждый микросервис это docker контейнер.
Для среды разработки, чтобы запустить все вместе, мы используем docker-compose.


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


Мы столкнулись с двумя проблемами:


  1. При первоначальном разворачивании среды разработки, приходится обьяснять программисту, либо писать скрипт инициализации, который склонирует и создаст необходимую иерархию папок из нескольких репозиториев.
  2. docker-compose не может собрать приложение, а потом упаковать в идижд. он умеет только запускать docker build.

Для решения этих проблем мы сделали управляющий скрипт docker-project, который оказался очень удобным в работе.
Чем мы и хотим поделиться с open-source сообществом.

Далее
1
23 ...

Information

Rating
10,276-th
Location
Петрозаводск, Карелия, Россия
Date of birth
Registered
Activity