Обновить

Кассы Эвотор: переход на ФФД 1.2

Уровень сложностиПростой

ФФД 1.2 представляет собой унифицированный формат фискальных данных, используемый для документирования и передачи сведений о проведенных финансовых операциях. Его целью является повышение эффективности использования контрольно-кассовой техники (ККТ).

Читать далее

Мой путь программиста: от начала до будущего

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

Читать далее

Gitlab Oauth Roundcube Webmail в стеке Postfix+dovecot+sieve+mysql+spamassasin+nginx (Linux)

Уровень сложностиПростой

Небольшой минигайд как привязать oauth от поставщика Gitlab к Roundcube и dovecot. Данная статья родилась потому, что не в русском ни в английском сегменте этой информации нет и хочется поделится своей работой :)

Для начала, мы должны иметь минимально рабочую конфигурацию Roundcube+Postfix+dovecot+mysql, статей на эту тему на просторах интернета полно.

Итак, для начала займемся Gitlab

Поставщик Oauth - саморазмещаемый экземпляр Gitlab CE.Под учетной записью администратора нужно подключить приложение и создать секреты.
Admin area => Applications

Redirect URI: https://mail.EXAMPLE.ru/index.php/login/oauth

Выбрать:
- "openid"
- "The application will be used where the client secret can be kept confidential. Native mobile apps and Single Page Apps are considered non-confidential."
На выходе получим Application ID и Secret которе нужно записать, они нам пригодятся.

Второй шаг это настройка конфигурации Roundcube

Требуется перейти в файл конфигурации и внести параметры в конец config.inc.php

$config['oauth_provider'] = "generic";
$config['oauth_provider_name'] = 'Gitlab';
$config['oauth_client_id'] = "УКАЗАТЬ Application ID ПОЛУЧЕННЫЙ НА ШАГЕ 1";
$config['oauth_client_secret'] = "УКАЗАТЬ Secret ПОЛУЧЕННЫЙ НА ШАГЕ 1";
$config['oauth_auth_uri'] = "https://gitlab.EXAMPLE.ru/oauth/authorize/";
$config['oauth_token_uri'] = "https://gitlab.EXAMPLE.ru/oauth/token/";
$config['oauth_identity_uri'] = "https://gitlab.EXAMPLE.ru/oauth/userinfo";
$config['oauth_verify_peer'] = true;
$config['oauth_scope'] = "openid";
$config['oauth_auth_parameters'] = [];
$config['oauth_identity_fields'] = ['email'];
$config['oauth_login_redirect'] = false;

Читать далее

Почему плагины Minecraft Pocket Edition от СНГ-разработчиков часто содержат много «гкода»?

Уровень сложностиСредний

В последнее время наблюдается тенденция, что плагины для Minecraft Pocket Edition (MCPE), разработанные СНГ-программистами, часто содержат множество проблемного кода, который в игровом сообществе называют "гкодом". Причины, почему это происходит, могут быть многогранными и сложными. Рассмотрим ключевые факторы, способствующие возникновению таких проблем написания качественного кода.

Читать далее

Аутентификация в minio через keycloak

Уровень сложностиПростой

Когда команда занимается разработкой, рано или поздно возникает необходимость в использовании хранилища типа Amazon S3 (Simple Storage Service), которое предоставляет возможность сохранения и доступа к большим объемам данных. Один из примеров такого хранилища - MinIO, который является надежным и производительным решением, особенно если он находится в High Availability.

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

Читать далее

Правда или миф, что iPhone появился из-за необычной болезни Стива Джобса?

История iPhone началась задолго до его официального представления в 2007 году. В начале 2000-х компания Apple, под руководством Стива Джобса, искала новые направления развития. Успех iPod показал, что потребители жаждут инновационных портативных устройств. Именно в этот период в Apple начали экспериментировать с идеей создания планшетного компьютера.

Проект, получивший кодовое название Q79, изначально был нацелен на разработку устройства с большим сенсорным экраном. Однако в процессе работы Джобс и его команда осознали, что технологии, разрабатываемые для планшета, могут быть использованы для создания революционного мобильного телефона. Так родилась идея iPhone.

Читать далее

Nmap — руководство для начинающих

Уровень сложностиПростой

Nmap — мощный инструмент для исследования и обеспечения безопасности сетей. Он популярен среди системных администраторов и специалистов по информационной безопасности. Даже в культовом фильме "Матрица" этот инструмент использовался для взлома.

Читать далее

Про реакт обзорно

Уровень сложностиПростой

Дисклеймер: данная статья ставит задачу познакомить читателя с библиотекой React, ее отличиях от ванильной верстки статических страниц, а так же с основными концепциями, на которых основана работа данной библиотеки. Автор статьи будет рассматривать данную технологию в абстракции и, возможно, в отрыве от реальных процессов, происходящих внутри React-приложения: в статье не будет рассматриваться Fiber, классовый подход и остальные технические вещи, которые лишь послужат отвлечением от основной сути. Статья представляет собой милкшейк из моего личного практического опыта, личных наблюдений, теории из официальной документации React.dev, а также информации, взятой со статей на Reddit и прочих ресурсах.

Читать далее

Сравнительный анализ API-сервисов для перевода: цены, качество и опыт использования

Уровень сложностиПростой

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

Сегодня я хотел бы рассказать про мой опыт использования API продуктов от разных сервисов в разработке. Точнее использовал я эти api в проекте, который был связанн с недвижимостью: нужно было переводить описания недвижимости и статьи для разных версий сайта (с английского на русский и наоборот). Рассмотрим плюсы и минусы каждого из популярных сервисов.

Читать далее

Проверяем файл на вирусы и чистим систему от активного заражения

Уровень сложностиСредний

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

Основные моменты статьи:

Пошаговая проверка файла на вирусы с помощью сервисов VirusTotal и AnyRun.
Использование инструментов DnSpy и dotPeek для анализа кода подозрительных файлов.
Выявление и исследование вредоносного ПО, в том числе стиллеров и майнеров.
Практические советы по защите от подобных угроз.

Содержание:

Знакомство с подозрительным файлом и первичная проверка
Анализ exe-файла и библиотеки lib
Использование инструментов для декомпиляции и анализа кода
Обнаружение Redline Stealer и майнера XMR
Проверка файлов на виртуальных машинах и анализ поведения

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

Читать далее

API HH.ru Быстрый старт для работы с аккаунтом соискателя

Уровень сложностиСредний

Быстрый старт API HH.ru новая версия (для соискателей).

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

Читать далее

Оптимизация структуры React/React-Native проекта: Подход с использованием модульной архитектуры

Уровень сложностиСредний

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

Погнали дальше

Что же есть такое цифровая трансформация?

Уровень сложностиПростой

Уважаемые коллеги! Предлагаю подискутировать на тему – что же такое «Цифровая трансформация». И с чем ее едят.

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

P.S.: Я не разработчик, если что, и за технологические стеки разработки поспорить не смогу. Больше мою работу можно описать как менеджерскую.

 Итак, приступим.

Читать далее

Геометрия без аксиом. Информационная энтропия и точка

Уровень сложностиСредний

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

Читать далее

Сетевая защита филиала компании

Уровень сложностиПростой

В данной заметке речь пойдёт исключительно про базовые меры защиты сети от сетевых атак.

Рассматривая филиал или дополнительный офис, допускаем, что основной трафик будет направлен либо на выход в интернет, либо на обеспечение взаимодействия с центральным офисом (через защищённый удаленный доступ). Причём в обоих случаях это не публичный трафик.

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

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

Читать далее

Как вернуть iMac к заводским настройкам и подготовить его к продаже

Уровень сложностиПростой

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

Читать далее

Проверяем, какой ИИ бот лучше решает математические задачи. Сравниваем ChatGPT и Gemini на задачах уровня ЕГЭ

Уровень сложностиПростой

Так как у меня есть платный доступ и к ChatGPT и Gemini, то я решил сравнить их, так сказать, на уровень интеллекта. А именно: насколько сложные математические задачи они способны решать. Сравнивать будем ChatGPT 3.5, ChatGPT 4o, Gemini 1.0, Gemini 1.5, Gemma 2.

Читать далее

Не корпоративная критика корпоративных блогов от металлургии

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

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

Как обычно в таких ситуациях нужно решать производственные вопросы здесь и сейчас. Я на том момент окончил университет, довольно неплохо знал технологию металлургии, свою специализацию и понемногу строил модели работы оборудования на данных собранных мною и сравнивал с книжными. Мне это было нужно для того, что бы понимать, что неправильно работает - оборудование или персонал? Сравнил и внёс коррективу, или сам или через руководство. Только это всё было очень незначительных масштабов и за 10, максимум 25 минут. Успешно, но мало, что бы об этом рассказывать.

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

Читать далее

Создание темы Next.js Typescript emotion

Уровень сложностиСредний

Данная статья содержит ответы на вопросы:

1) Как внедрить emotion в проект на next.js?
2) Как сделать кастомную тему для каждого пользователя?
3) Как сохранить стили в localStorage.

Читать далее