Как стать автором
Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Мы добрались до ядра, или новые возможности AmneziaWG

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

Добрый день! 

На связи команда разработчиков Amnezia. 

Обычно наши статьи посвящены оригинальному клиенту Amnezia, но сегодня мы будем упоминать AmneziaVPN весьма косвенно, так как речь пойдет в первую очередь о протоколе AmneziaWG и о связанных с ним проектах. Мы расскажем про нативный клиент AmneziaWG. Как из конфигурации с протоколом WireGuard сделать AmneziaWG, и как развернуть свой VPN с AmneziaWG  на сервере без приложения.   

Честно говоря, мы не ожидали столь высокой заинтересованности протоколом. Нам известно, что некоторые коммерческие VPN уже продают конфигурации с готовым VPN решением, где в качестве протокола, используют AmneziaWG вместе с приложением Amnezia. AmneziaVPN - это open source проект, который могут использовать для VPN, в том числе и для коммерческих VPN решений все желающие,  мы надеемся, что эта тенденция будет продолжаться. 

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

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

На пути к 1-разрядным моделям машинного обучения

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

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

Эта статья написана в схожем ключе, но нас наиболее интересует, возможно ли напрямую квантовать предобученные модели при экстремальных настройках, в том числе, при двоичных весах (0 и 1). Уже имеющиеся работы нацелены на обучение моделей с нуля. Но в открытом доступе сейчас достаточно много отличных предобученных моделей, таких как Llama2. Более того, обучение с нуля — это ресурсозатратная задача в пересчёте как на вычисления, так и на данные, поэтому такие подходы не слишком доступны в свободном сообществе.

В этой статье мы подробно разберём крайне малоразрядное (2 и 1-разрядное) квантование предобученных моделей с применением HQQ+. HQQ+ — это адаптация HQQ (полуквадратичного квантования), в которой для повышения производительности используется адаптер с низкой размерностью. Наши результаты показывают, что при обучении лишь небольшой части весов в верхней части HQQ-квантованной модели (даже одноразрядной) качество вывода значительно возрастает, такая модель может даже превосходить небольшие модели полной точности.

Модели находятся на Hugging Face: 1-разрядная2-разрядная.

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

Настраиваем Windows WSL для локальной разработки Laravel

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

В этой небольшой статье я очень сжато расскажу, как правильно настроить WSL в Windows 11 для локальной разработки Laravel-приложения. Мы собираемся установить php, mysql, nginx и composer, а также отредактировать файл hosts в самом Windows. Заранее прошу не гневаться на меня поклонников Docker, здесь я рассказываю именно про WSL.

Итак, без лишних промедлений, приступим. И начнем с того, что, как мы предполагаем, у нас есть Windows и всё. Если WSL уже установлен, львиную часть статьи можно пропустить.

Убедитесь в том, что ваша версия Windows совместима с WSL.

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

Неужели это очередной «конец» сферы разработки ПО?

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

Привет, Хабр! Поговорим о роли ИИ в жизни разработчика — мы в блоге beeline cloud часто обсуждаем темы, которые волнуют ИТ-сообщество. 

Увольнения, увольнения, увольнения, кажется, они никогда не закончатся. На сайте layoffs.fyi есть даже трекер увольнений в технологической сфере. Финансирование стартапов опускается на минимальный за последние 5 лет уровень, пишет Crunchbase. Помимо общих экономических проблем, на горизонте маячит страх, что ИИ и вовсе вытеснит программистов. 

Техноновости напоминают репортажи о конце света. Так ли это?

Как человек, который начал свою карьеру программиста сразу после того, как лопнул пузырь доткомов, я могу с уверенностью утверждать, что все не так уж плохо. Когда я только начинал свою профессиональную деятельность, люди говорили мне, что «Интернет мертв» и мне стоит поискать настоящую работу. А проблемы, с которыми боролись доткомовские стартапы, никуда не делись. Причём многие из найденных в начале 2000-х решений были зарыты в землю, лишь для того, чтобы вновь объявиться несколько лет спустя.

Читать далее
Всего голосов 20: ↑17 и ↓3+14
Комментарии26

Истории

Строим lineage моделей машинного обучения и признаков с помощью OpenMetadata

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

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

Мы в билайне любим машинное обучение. В какой-то момент моделей машинного обучения стало так много, что это вынудило нас решать определенные задачи. Я Дмитрий Ермилов, руковожу ML в дирекции по искусственному интеллекту и цифровым продуктам. О решении одной такой задачи и будет этот рассказ.

Давайте представим, что у вас в компании большое количество моделей машинного обучения, каждая из которой может зависеть от нескольких десятков до нескольких тысяч признаков (фич). Причем разные модели могут зависеть от одних и тех же фич. Неожиданно случается несчастье, и одна из популярных фич ломается. Может произойти поломка на уровне подготовки данных, могут измениться внешние источники, отвалиться интеграции и прочее. Что делать с этим знанием? Конечно, бежать в продуктовые команды и кричать, что модели, которые зависят от этой фичи, могут деградировать, то есть их метрики качества могут снизиться. Вопрос только в том, какие модели могут деградировать и в какие команды бежать?

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

Читать далее
Всего голосов 12: ↑13.5 и ↓-1.5+15
Комментарии2

Тестируем AI на создании прикладного приложения

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

Всем привет, я Григорий Тумаков, CTO в Моризо Диджитал.

Недавно рассказал на Хабре, как мы в компании “потрогали” нейросети для прикладных задач разработки. Но там никаких серьезных выводов сделать не удалось.

Поэтому решил на этом не останавливаться. Если есть инструменты — их надо протестировать на какой-то реальной задаче.

Далее в статье наш опыт сравнения для прикладной задачи трех AI-инструментов: Phind, ChatGPT, Machinet.

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

Реализация Multiple sources Argo CD + ChartMuseum для 10 однотипных микросервисов

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

Приветствую! Меня зовут Ксения, и я — DevOps инженер компании Smartex. 

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

Если ваша повседневная рутина связана с множеством однотипных микросервисов и разнообразными средами, данная информация может быть для вас полезна. Материал рассчитан на Junior+ и Middle DevOps специалистов.

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

Краткая история подогрева дорог. Часть вторая

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

Мы продолжаем рассказывать про историю подогрева дорог. Если в предыдущей части речь шла о химическом пути, то в этой речь пойдет о физическом пути. 

Данный способ перешел из разряда фантазирования в разряд разрешаемых инженерно-изобретательских задач с появлением сетей центрального отопления. Речь идет о сетях районного (district) центрального отопления, а не отдельных зданий, для которых центральное отопление работало в тех или иных вариациях с античных времен, если не раньше. А вот проталины в снегу по ходу теплотрасс от районной котельной, которые в 1880-90-е годы появились в городах Старого и Нового Света и в 1902 году в Санкт-Петербурге, сами подсказывали, что делать дальше. 

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

Облачное логирование, Телеграм-бот для планирования путешествий с ИИ – эти и другие российские стартапы

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

10 новых российских проектов для управления заметками и задачами, рекламы у блогеров, просмотра превью ссылок, быстрого обмена контактами на выставках и многого другого. Битва за «Продукт недели» началась!

Product Radar — здесь каждую неделю публикуются лучшие онлайн-сервисы и железки от русскоязычных команд.

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

Безопасность памяти меня не волнует

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров8.4K
Фото с сайта платформы CHERIoT, проекта Microsoft по решению проблем с доступом к памяти IoT-устройств на аппаратном уровне

Такое заявление может показаться странным для тех, кто более десяти лет работает над обеспечением безопасности памяти на аппаратном уровне, так что я его поясню. Безопасность памяти меня волнует в той же степени, в какой и сложение. Если оно работает, я могу строить на его основе что-нибудь интересное. По факту большинство интересующих меня вещей опираются на него как на фундамент. Если же сложение не работает, я не могу уверенно рассуждать о чём-либо, происходящем в программе.

То же касается и безопасности памяти. Для меня тот факт, что 70% уязвимостей возникают в результате её отсутствия, не говорит о важности этого аспекта. Важность безопасности памяти в том, что один связанный с ней баг может полностью подорвать все гарантии, на которые я опираюсь.
Читать дальше →
Всего голосов 30: ↑32 и ↓-2+34
Комментарии7

HashiCorp обвинила сообщество OpenTofu в краже кода Terraform, но что-то пошло не так

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

3 апреля на сайте InfoWorld вышла статья известного публициста на тему Open Source и юриста Matt Asay под названием «OpenTofu, возможно, демонстрирует нам, как не надо делать форк». Лидер-абзац в статье довольно жёсткий: 

Не согласны с лицензией? Просто сделайте форк проекта, но не выкидывайте его код — говорите, что он всегда был доступен публично. Сравните код и лицензию HashiCorp с версией OpenTofu.

Разберемся в этой истории последовательно — кто прав, кто виноват и чем всё закончилось.

Читать далее
Всего голосов 71: ↑74.5 и ↓-3.5+78
Комментарии33

Любовь в каждой атаке: как группировка TA558 заражает жертв вредоносами с помощью стеганографии

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

Приветствую! И снова в эфир врывается Александр Бадаев из отдела исследования киберугроз PT Expert Security Center. Но на этот раз мы работали в паре с Ксенией Наумовой, специалистом отдела обнаружения вредоносного ПО, недавно рассказывавшей читателям Хабра о трояне SafeRAT. Пришли к вам с новым исследованием о… не самой новой хакерской группировке, но зато использующей уникальнейший метод сокрытия вредоноса да к тому же еще романтически❤️настроенной. Но обо всем по порядку!

Итак, мы выявили сотни атак по всему миру с использованием широко известного ПО, среди которого: Agent Tesla, FormBook, Remcos, Lokibot, Guloader, SnakeKeylogger, XWorm, NjRAT, EkipaRAT. Хакеры строили длинные цепочки кибернападений и использовали взломанные легитимные FTP-серверы в качестве С2-серверов, а также SMTP-серверы как С2 и сервисы для фишинга.

Злоумышленники активно применяли технику стеганографии: зашивали в картинки и текстовые материалы файлы полезной нагрузки в виде RTF-документов, VBS и PowerShell-скриптов со встроенным эксплойтом. Интересно, что большинство RTF-документов и VBS в изученных атаках имеют, например, такие названия: greatloverstory.vbs, easytolove.vbs, iaminlovewithsomeoneshecuteandtrulyyoungunluckyshenotundersatnd_howmuchiloveherbutitsallgreatwithtrueloveriamgivingyou.doc. Все наименования связаны со словом «любовь», поэтому мы и назвали эту операцию SteganoAmor.

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

🤔Кстати, помните, как один знаменитый вирус наделал в свое время много шуму? Он немного связан с темой нашей статьи. Тому, кто первый ответит, что это за вирус и какие записи в реестре Windows он создавал, традиционный респект от команды PT ESC и подарок.

Читать историю любви
Всего голосов 7: ↑7.5 и ↓-0.5+8
Комментарии6

Как написать требования к IT-продукту и их протестировать, чтобы результат соответствовал ожиданиям

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

Всем привет! Меня зовут Вадим, и я QA-инженер в IT-компании Intelsy. С техническим заданием, и в частности с требованиями, лично я имею дело постоянно, поэтому собрал полезную для начинающих и продолжающих специалистов информацию по требованиям к IT-продукту,  их видам, техникам и метрикам тестирования требований. На эту инфу стоит ориентироваться не только аналитикам и тестировщикам, но и остальным членам команды.

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

Ближайшие события

One day offer от ВСК
Дата16 – 17 мая
Время09:00 – 18:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область

Chaos engineering: проверяем устойчивость Vault с помощью Gremlin

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

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

Перевели статью, о том, как применить этот подход к HashiCorp Vault — системе по управлению секретами.

Читать далее
Всего голосов 4: ↑4.5 и ↓-0.5+5
Комментарии0

«ReadStreakBot» — как я начал «кодить» с чатгпт, не умея программировать

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

Давно не заходил на хабр, а тут решил зайти и с удивлением обнаружил у себя аж целых 60 подписчиков. Спасибо вам большое, что вы подписались, теперь мне даже как-то неловко, что я так долго ничего не писал про Обсидиан. Видимо теперь придётся всё же написать (мой сетап за это время перетерпел многих изменений и мне есть о чём рассказать).

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

Читать далее
Всего голосов 18: ↑17 и ↓1+16
Комментарии33

Неразрешимые проблемы программирования

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

Неразрешимые задачи в программировании определены очень строго. Фактически, для каждой такой задачи существует доказательство, что её нельзя решить на машине Тьюринга.

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

Читать далее
Всего голосов 37: ↑37.5 и ↓-0.5+38
Комментарии28

Бесшовность 2.0: как работает шардирование в Сбере

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

Если у вас не просто большая компания, а целая экосистема с разными сервисами, IT-инфраструктура должна обеспечивать бесшовность. Клиенты и сотрудники могут входить в систему с разных устройств, но изменение информации в одном канале должно отображаться в других, а целостность данных сохраняться, даже если вход совершен в двух каналах параллельно. И в идеале — так, чтобы клиент не видел «внутренней кухни».

Меня зовут Владимир Паршин, я ведущий ИТ-инженер в СберТехе. Расскажу, как выстроена работа с бесшовностью в Сбере.

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

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

Don't Repeat Yourself: Как правильно использовать принцип DRY в разработке ПО

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

Принцип “Не повторяйся” (Don't Repeat Yourself, или DRY), то есть избегай дублирования кода, часто относят к обязательным практикам в программировании. Однако в реальности часто можно увидеть, как в общем коде оказываются концептуально разные блоки, которые похожи только по внешним параметрам. Это неминуемо приводит к ухудшению кода и появлению "костылей", без которых он не работает. Именно поэтому слепое следование принципу DRY не всегда целесообразно! В этой статьей я расскажу про типичные ошибки при использовании этого правила и способы их избежать.

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

Архитектура telegram-бота. На горутинах и каналах

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

Это мой первый telegram-бот и моя первая разработка на go. ...

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

Предлагаю вниманию свою идею.

Посмотреть на велосипед
Всего голосов 6: ↑1 и ↓5-4
Комментарии2

Потенциальные проблемы с автоинкрементным ключом. MySQL <8.0, PostgreSQL

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

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

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