Habr.com

Ленты новостей Хабр
Все публикации подряд на Хабре
Обновлено: 16 мин. 40 сек. назад

Расширение Функциональных Интерфейсов Java

пн, 05/06/2024 - 03:07

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

Читать далее

M100 — Зеркальная галактика

пн, 05/06/2024 - 02:22

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

Читать далее

Apple Pro Weekly News (29.04 – 05.05.24)

пн, 05/06/2024 - 00:22

Презентация Apple близко, 7 мая ждём новые iPad, а пока изучаем бета-версии, новинки от Beats, отчёты о финансовых результатах и слухи о будущем. Какова судьба CarPlay на Mercedes, какие новшества ждать в iPadOS 18 для европейских пользователей, а что случится с Календарём? Эти и другие события, а также интересные новости из App Store – в этом выпуске, погнали к новостям!

Перейти к новостям

4 стихии программной документации: The Grand Unified Theory of Documentation

вс, 05/05/2024 - 23:10

В статье я хочу рассказать об одной очень интересной теории разработки документации на системы и программы. Её авторы утверждают, что создали ни много ни мало «Великую Единую Теорию Документации» (The Grand Unified Theory of Documentation). Мы привыкли с опаской относиться к заявлениям о том, что кто-то обнаружил сокровенную истину и раскрыл её профессиональному сообществу. В теории изложены идеи и правила, которые мы встречаем в разных методиках разработки документации и сами применяем на практике.

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

Читать далее

Скрытый потенциал функции inject в Angular

вс, 05/05/2024 - 22:22

Привет! В этой заметке покажу, как можно использовать функцию inject на сто процентов.

Обычно ведь как: если функцией inject и пользуются, то только для того, чтобы заменить инжект через конструктор. Удобно, конечно. Но что, если я скажу, что это не всё, на что способна функция inject? Давайте посмотрим на паре примеров, как ещё её можно использовать.

Читать далее

AITU Military CTF 2024:Digital Fortress: Как мы инфраструктуру для полигона поднимали. Часть 2

вс, 05/05/2024 - 22:12

Перед прочтением данной статьи настоятельно рекомендую ознакомиться с 1 частью

Введение

Данная статья является продолжением статьи про поднятие киберполигона AITU Military CTF, в этой части мы рассмотрим глобальные изменения касающиеся инфраструктуры, такие как настройка сети ESXI, создание централизованного Firewall и мониторинг.

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

Читать далее

Выявление закладных устройств с помощью радиомониторинга

вс, 05/05/2024 - 21:10

В рамках данной статьи обратим внимание на проблему внедрения закладных устройств для несанкционированного доступа к информации. Целью данного данной статьи ставится «Изучение радиомониторинга для выявления закладных устройств». Для достижения поставленной цели необходимо решить задачи:

1) Изучить современные методы радиомониторинга для выявления закладных устройств.

2) Провести практическое тестирование радиомониторинга на реальном объекте.

Читать далее

Реализация циклической генерации подземелий «изнутри»: да что тут сложного?

вс, 05/05/2024 - 20:58

Вам нравятся старые Legend of Zelda времён SNES и GBA? Может быть, вам пришлась по вкусу Dark Souls? А, возможно, вы ещё и фанат Quake? Но что объединяет все эти игры? Для меня это в первую очередь дизайн уровней. Головоломки, удобные шорткаты и нелинейность исследования - вот то, что делает карту игры частью общего игрового процесса и вдыхает жизнь в процесс исследования мира.

В наше время расцвета жанра rogue-lite вопрос генерации игровых уровней актуален как никогда. Однако по-настоящему интересные уровни в жанре - большая редкость, я бы даже сказал, феноменальная. Чаще всего уровни представляют собой просто наборы заранее заготовленных комнат-коробок, случайным образом приставленных друг к другу, без какой-либо логичной высокоуровневой картины. Но, всё же, я знаю одну игру, которая взяла принципиально другой подход: Unexplored. На мой взгляд, она пересмотрела устоявшийся стереотип об ограничениях левелдизайна в рогаликах. Всё, что для этого понадобилось - циклическая генерация подземелий (Cyclic dungeon generation).

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

Каких же?

Реверс и анализ Keyzetsu Clipper

вс, 05/05/2024 - 20:26

Недавно я увидел новость о появлении на GitHub фальшивых репозиториев, которые обманом заставляют жертв скачивать вредонос, угрожающий безопасности их криптоактивов. Вредонос называется Keyzetsu Clipper, и в тот момент мне очень захотелось узнать, как работают настоящие вирусы. До этого у меня только был опыт учатсия в разных CTF. И тут я понял, что пришло время испытать свои силы на реальном примере.

В данной статье я провел полный анализ и реверс Keyzetsu Clipper, начиная от распаковки и расшифровки до анализа функций персистенца, коммуникации и замены кошельков.

Читать далее

«В чем сила?» — ищем ответ среди афоризмов. Сравнение 6 моделей для векторного поиска и так ли хорош OpenAi Large

вс, 05/05/2024 - 20:08

Сравниваем между собой качество 6 различных токенайзеров, включая новейший OpenAi Large|Small и E5 от Microsoft на задаче векторного поиска:

Ищем ответ на вопрос: В чем сила? в сборнике афоризмов и цитат.

Рассматриваются модели

text-embedding-ada-002
text-embedding-3-large
text-embedding-3-small
intfloat/multilingual-e5-large
ai-forever/ruBert-large
ai-forever/sbert_large_mt_nlu_ru

P.S. Бонусом сравнение как влияет токенайзер на качество задачи по классификации текста (30 классов).

Читать далее

Очень краткий словарь числового программного управления. Часть 1

вс, 05/05/2024 - 19:41

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

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

 Проходит время, и всё становится ясно. Мы приобрели новые знания? Нет, скорее, освоили терминологию. Любой круг специалистов создаёт собственный язык. Не для изоляции от непосвящённых, не из щегольства – так проще и удобнее. Специалист пользуется массой стандартных решений, верность которых когда-то была раз и навсегда ему доказана, не задумываясь об их неочевидности для других. Цель данного словаря – облегчить освоение терминологии, связанной с числовым программным управлением станками (ЧПУ).

Читать далее

Век поиска кратчайшего решения задачи о кратчайшем пути

вс, 05/05/2024 - 19:32

Люди пытались найти более быстрые способы передвижения на протяжении всей своей истории. Появление качественной дорожной системы в римской империи в своё время привело к её расцвету, но со временем выяснилось, что и в продуманных дорожных системах бывают забавные изъяны, как например в небезызвестной задаче о кёнигсбергских мостах, считающейся отправной точкой возникновения теории графов. Неудивительно и то, что с развитием вычислительной техники логистические задачи стали одними из первых, над которыми трудились первопроходцы компьютерных наук. Задача о кратчайшем пути -- одна из них, звучит достаточно просто: есть несколько городов и дорог, соединяющих пару городов между собой, мы хотим попасть из города А в город Б пройдя при этом минимальное расстояние. Первый системный подход к этой задаче был описан в работе Эгервари в 1931г., спустя 25 лет Эдсгер Дейкстра придумал алгоритм, который сейчас является частью любого уважающего себя базового курса алгоритмов на графах. На нём же, будем честны, заканчиваются знания о кратчайших путях у большинства профессиональных разработчиков, ибо сценариев, где реализации с википедии/stackoverflow будет не хватать, крайне мало.

Может показаться, что на самом деле просто не было существенного прогресса с 60х годов, так как Дейкстра предоставил почти асимптотически оптимальный алгоритм решения задачи. На самом деле нет, прогресс был и придумали много чего интересного, хоть и действительно с того времени фокус сместился на другие задачи. Приглашаю под кат если интересно узнать что такого напридумывали, что используется в современных логистических системах, почему меня огорчает отсутствие учёта флага единства в HOMM3 при расчёте пути, ну и наконец, что за мужики на картинке выше рядом с Дейкстрой?

Читать далее

Face Cooler

вс, 05/05/2024 - 18:29

Твои глаза болят и чешутся чаще, чем тебе хотелось бы брать больничные перед релизами? Тогда это устройство для тебя. Помимо этого, ты на время станешь киберпанком (почти).

Применять после консультации с вашим рипером (врачом).

Face Cooler

Странное поведение нетривиальных нулей Зета функции Римана

вс, 05/05/2024 - 18:05

Я люблю проводить численные эксперименты. Процессор должен думать, а не простаивать. Напомню, что нетривиальные нули Зета функции Римана, расположенные симметрично относительно оси X, имеют вещественную часть равную -1/2 (что не доказано, может быть, у вас получится?), а мнимая часть у первых нулей равна (+/-, так как они расположены симметрично): 14.13, 21.02, 25.01, 30.42, 32.93...

Поиграем с этим.

Читать далее

[recovery mode] Кто входит в команду разработки игр?

вс, 05/05/2024 - 18:00

В этой статье я расскажу про тех людей или те профессии, которые участвуют в предпродакшене, продакшене и постпродакшене. Понятно, что все зависит от целей и возможностей. Для хакатона будет достаточно программиста, дизайнера и чувака, который делает всё. Для создания GTA 6 потребуются десятки тысяч сотрудников - от уборщиц до инвесторов. Да, уборщицы тоже влияют на процесс разработки и вообще на процесс работы. Вы даже можете почувствовать это на себе. Когда вы приходите в чистый, свежий кабинет, вам намного комфортнее (я молчу, если вы работаете на не любой работе, это другое). Так вот. Я расскажу, какие есть роли и обязанности у каждого участника разработки игр. А выбирать, кто будет входить в вашу команду, решать только вам.

Читать далее

Restricted IO в Haskell

вс, 05/05/2024 - 16:25

В статье описывается механизм создания собственного модифицированного варианта монады IO в Haskell, с ограничениями операций ввода-вывода.

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

Чтобы добавить в программу интерактивность, но при этом максимально сохранить математическую целостность функций, применяется примерно такой подход:

Читать далее

[Перевод] Забытая война с пейджерами

вс, 05/05/2024 - 15:00

До появления смартфонов под пристальным вниманием наших родителей, школ и законодателей были пейджеры.

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

В течение 1980-х эти устройства активно набирали популярность среди подростков, а также… драг-дилеров. В те годы США переживали общественную панику, связанную с активным употреблением наркотиков молодёжью, и этот факт значительно её усилил, поскольку пейджеры начали считать одним из главных подспорьев наркобизнеса. Читать дальше →

[Перевод] ADAS глазами Mobileye

вс, 05/05/2024 - 14:51

Вольный пересказ выступления главы компании Mobileye профессора Amnon Shashua на пресс конференции в 2023 году.

Читать далее

Какой ПК выбрать SEO-специалисту? Тестируем на «лягушках» и делаем выводы

вс, 05/05/2024 - 14:33

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

Но с другими специалистами все не так однозначно. Какой компьютер и конфигурация идеально подойдут SEO-специалисту? На какие характеристики обратить внимание, а какие проигнорировать? Можно ли полноценно работать на компьютере с ARM-процессором?

Меня зовут Миша Смирнов, я специалист по продвижению сайтов в Selectel. В этой статье постараюсь ответить на эти вопросы, а также сравнить работу узконаправленного софта на популярном корпоративном Windows-ноутбуке Lenovo® Thinkpad® c MacBook Air® на M1 и Mac mini® на M2. Читать дальше →

Полная история игровой вселенной «Гарри Поттера»: часть 2 — «Поколение экспериментов»

вс, 05/05/2024 - 13:01
В прошлой части ретроспективы игровой вселенной «Гарри Поттера» я рассказывал про «золотое поколение» — про классическую трилогию игр, которую сейчас вспоминают с трепетом и ностальгией. Однако все последующие релизы не смогли завоевать столь же большую любовь среди игроков. С годами даже укрепилось мнение, что после «Азкабана» выходил «один неиграбельный мусор». Да, некоторые игры заслужили все разгромные рецензии, но часть из них несправедливо раскритиковали и забыли.

В этой главе я разобрал все версии «Кубка Огня», «Ордена Феникса» и «Принца-полукровки», а также вспомнил про малоизвестные DVD-PG игры.

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

Сейчас на сайте

Сейчас на сайте 0 пользователей и 1 гость.