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

Все потоки

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Недельный геймдев: #20 — 30 мая, 2021

Разработка игр

На этой неделе: вышла альфа-версия Unreal Engine 5, а AMD обновили драйвер для работы с UE5, Chaos релизнули V-Ray glTF Viewer, Unity выпустили ArtEngine 2021.5, вышла первая публичная бетка OctaneRender 2021.1, Epic Games новый конкурс организовали: Twinmotion Community Challenge #6.

Из интересностей: Episode 1 : Salad Mug — DYNAMO DREAM (видео делалось 3 года), как создать объёмные облака в Unreal Engine 4.26, чуть подробнее про Sua, кратко про VFX в Shadow and Bone, полезная статья о том, как создавать доступные игры для людей с ограниченными возможностями и несколько интересных туториалов по работе с шейдерами в Unity.

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

Безопасность терминалов Qiwi…

Информационная безопасность

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

Начало

Пока на фоне идет скучный дистанционный урок, я, лазя по документам Вконтакте (через уязвимость, которая уже ни для кого уже не секрет), наткнулся на интересный файл 'пароли от teamviewer 14' (сейчас файл уже удален). В нем располагалась таблица с трема колонками, а именно адрес, ID и пароль от TewmViewer... Зайдя по указанным данным, я был неприятно удивлен... Передо мной предстал интерфейс платежного терминала Qiwi... «М-да уж», — подумал я, — «А люди-то там свои персональные данные вводят».

Шарим по терминалу

Начать следует, пожалуй, с характеристик терминала, которые, кстати, очень даже скромны. Средненький процессор AMD Sempron и 2 гигабайта ОЗУ, что по меркам 2021 года очень даже мало (но для терминала сойдет). Установлена на терминале Windows 7 Домашняя базовая (я думал они до сих пор на Windows XP сидят, хе-хе)). Вот скриншот:

Читать далее
Всего голосов 6: ↑2 и ↓4 -2
Просмотры1.5K
Комментарии 2

Wild Horizon. Обзор наших первых изменений

Разработка мобильных приложенийРазработка игрДизайн игр

Очередной выпуск "игровой газеты". Изменения на первой полосе. Ответы на вопросы.

Спрячь ствол, присаживайся и читай...
Всего голосов 2: ↑1 и ↓1 0
Просмотры307
Комментарии 1

Реклама Creative Commons творчества русской группы Complex Numbers, что с 1996 года создает хорошую научную фантастику

Научная фантастика

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

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

На Хабре не нашел ни одной статьи об этой группе, подумал что они достойны рекламы. Тем более что творчество их мало того что бесплатно, так еще и Creative Commons. 25 лет, создавая после работы, такие особенные филосовские произведения. Какбы андерграунд, но стало удивлением что в Дальневосточном федеральном университете на кафедре «Основы биологии человека и биоэтики» в программе обучения от 2017 года содержится задание по написанию эссе после прослушивания Русалочки (одна из опер группировки). Вопросы студентам предлагаются следующие:

Read more
Всего голосов 24: ↑22 и ↓2 +20
Просмотры1.2K
Комментарии 4

Осторожно! Развод и фишинг одновременно по нескольким каналам

ХостингИнформационная безопасностьЗаконодательство в IT


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

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

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

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

И тот факт, что при атаках начинают применяться приемы социальной инженерии с использованием сразу несколько независимых каналов одновременно, значительно повышает их достоверность и вероятность срабатывания!
Читать дальше →
Всего голосов 25: ↑22 и ↓3 +19
Просмотры5.5K
Комментарии 17

Применение интерфейса Collector для работы с потоками в реальных Java-проектах

RUVDS.comПрограммированиеJava
Перевод
Автор статьи, перевод которой мы публикуем сегодня, хочет рассказать о том, как интерфейс Collector и сопутствующие механизмы используются в реальных проектах.

В Java-программировании при работе с потоками широкое применение находят методы класса Collectors. Эти методы позволяют возвращать либо объекты, в основе которых лежит базовый класс Collection, либо — скалярные значения. В первом случае, то есть — для возврата коллекций, применяют один из методов, имя которого выглядит как toXXX(), а во втором случае используется, например, метод reducing().

Представим себе интернет-магазин, в котором есть корзина. Модель корзины выглядит так, как показано ниже.


Модель корзины

Если перевести эту диаграмму классов в код, опустив некоторые детали, то получится следующее.
Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Просмотры832
Комментарии 1

Как выбрать 1 млн. записей из бд, записать в Excel и не упасть с OutOfMemoryError

JavaSQL
Из песочницы

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

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Просмотры2.7K
Комментарии 13

Простое ускорение Java с помощью Quarkus и JHipster

SkillFactoryВысокая производительностьПрограммированиеJavaKubernetes
Перевод
Tutorial

К старту курса о разработке на Java делимся переводом вводной статьи о Quarkus — "родной" для Kubernetes Java-платформе для создания высокопроизводительных веб-, бессерверных (serverless) и нативных приложений (оптимизированных для используемых микропроцессоров). В ней используются предварительная компиляция AOT и агрессивная оптимизация, например сканирование путей к классам, перезагрузка конфигурации и предварительная конфигурация самозагрузки приложения в процессе сборки. Результатом становится впечатляющая скорость загрузки. Другими словами, приложения, созданные с Quarkus, запускаются не просто быстро, а очень быстро!

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Просмотры683
Комментарии 0

Архитектура микросервисов: Разрушение монолита

OTUSМикросервисы
Перевод

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

Эта статья подводит итог вебинара "Разрушение монолита", представленного Даниэлем Гутьерресом Сааведрой, старшим инженером-программистом компании Zartis. Вы можете посмотреть полный текст вебинара, который также включает сессию вопросов и ответов, ниже!

Читать далее
Всего голосов 5: ↑3 и ↓2 +1
Просмотры1.3K
Комментарии 2

Microsoft представила собственный бесплатный дистрибутив OpenJDK, пообещав длительную поддержку

SelectelOpen sourceJavaСофтIT-компании

Корпорация Microsoft на днях начала распространять свой дистрибутив Java на основе OpenJDK. Проект бесплатный, он распространяется под лицензией GPLv2. В его состав входят исполняемые файлы для Java 11 и Java 16, базирующиеся на OpenJDK 11.0.11 и OpenJDK 16.0.1. Новый релиз Java 16 уже используется миллионами геймеров, играющих в Minecraft, вместе с Minecraft Java Edition Snapshot version 21W19A.

Компания подготовила сборки для всех популярных операционных систем, включая Linux, Windows и macOS — для архитектуры x86_64. Есть еще и OpenJDK 16.0.1 для систем ARM, работающий под Linux и Windows. Загрузить и использовать новинку может любой пользователь, на полностью бесплатной основе.
Читать дальше →
Всего голосов 22: ↑22 и ↓0 +22
Просмотры3.2K
Комментарии 4

Я 8 лет работал сисадмином в провинции — но ушел в Devops, когда меня снова попросили чинить клавиатуры

РебреинСистемное администрированиеУчебный процесс в ITКарьера в IT-индустрииDevOps

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

На втором курсе после практики в одной из двух IT-компаний моего города я напросился к ним на работу. Меня взяли на зарплату в 15 тысяч рублей. Шел 2012 год, понятие девопс только зарождалось, а я начал работать помощником системного администратора. Задачи в течение дня сводились к обслуживанию Windows серверов, установке поставок, написанию инструкций и проверке того, что сделали программисты. Я крутился между серверной и институтом во вред учебе, в приоритете было удержаться на полученном месте.

Читать далее
Всего голосов 60: ↑37 и ↓23 +14
Просмотры9.9K
Комментарии 30

Передаём файл между изолированными виртуальными машинами без регистрации и СМС

Информационная безопасностьНенормальное программированиеВиртуализацияКомпьютерное железоНастольные компьютеры

Не далее пяти дней назад на хабре появилась новость под заголовком "В Apple M1 нашли уязвимость M1RACLES — возможна быстрая скрытая передача данных между приложениями". В одном предложении суть формулируется так: в Apple M1 нашли регистр, который кто угодно может читать и писать из непривилегированного режима. Значит, это можно использовать для обмена данными в обход механизмов межпроцессного взаимодействия, предоставленных ОС.

В комментариях к этой публикации развязалась умеренно оживлённая дискуссия о статусе находки: всё-таки серьёзная уязвимость или пустяк? Наряду с @SergeyMaxи @wataru я обратил внимание, что каналов скрытого обмена и так существует предостаточно просто потому, что исполняющая клиентский софт или виртуальные машины аппаратура является разделяемой средой, грамотная модуляция состояний которой делает возможным произвольный обмен данными вне зависимости от инвариантов нижележащей ОС или гипервизора. Противоположной точки зрения придерживаются почтенные господа @creker и @adjachenko, утверждая, что доселе известные побочные каналы качественно уступают возможностям M1RACLES.

Эта заметка является наглядной иллюстрацией к моему утверждению о легкодоступности скрытых каналов обмена. Я собрал простой PoC из ~500 строк на C++, при помощи которого был успешно отправлен файл из одной виртуальной машины в другую на том же физическом хосте. Далее я кратко описываю его устройство, пределы применимости, и привожу выводы и мнение самого автора M1RACLES в конце.

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Просмотры1.9K
Комментарии 4

Википедия купается в деньгах? — Взгляд из России

Управление продуктомБизнес-моделиКопирайтНаучно-популярноеКраудсорсинг

Сегодня мы прочли статью «Википедия купается в деньгах» и были очарованы. Там рассказано, как фонд Wikimedia собирает пожертвования по всему миру, и как развивается его целевой капитал. Да, всё в статье правда: в США и фонд есть, и активы есть, и доход есть. Однако в нашей-то стране дело обстоит по-другому. Поистине «тревожит» российских редакторов-добровольцев Википедии совсем иное.

И что теперь делать-то?
Всего голосов 29: ↑22 и ↓7 +15
Просмотры4.6K
Комментарии 24

Вы точно не запомните все значения этих английских слов

EnglishDomИзучение языков

Самое многозначное слово в русском языке — «идти». У него 26 основных значений и еще больше десятка фразеологических. 

Вот только по многозначности английский язык сильно перегнал русский. В нем есть слова и с сотней значений, а рекордсмен в этом смысле имеет целых 645 дефиниций. 

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

Читать далее
Всего голосов 7: ↑5 и ↓2 +3
Просмотры4.7K
Комментарии 1

Всё о PendingIntents

OTUSРазработка под Android
Перевод

PendingIntent являются важной частью фреймворка Android, но большинство доступных ресурсов для разработчиков сосредоточены на деталях их имплементации — «ссылка на токен, поддерживаемый системой» — а не на их использовании.

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

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

Миллиардер поневоле

Управление проектамиБизнес-модели
image

Введение


Даже в самом страшном сне мне не могло присниться, что любимое Отечество однажды меня так неожиданно сделает рублёвым миллиардером. Причём не в «керенках» Временного правительства сто лет назад, а в наше современное время, в аккурат на 101-ю годовщину Великого октября в 2018 г. Да ещё как-то стыдливо, задним числом предъявит через ИФНС налог на имущество в 2021 г. согласно методике, разработанной и засекреченной где-то в недрах Федеральной службы государственной регистрации, кадастра и картографии (далее РОСРЕЕСТР).

И всё было бы ничего, и конечно воспринято по-человечески, ведь органы власти, армию и чиновников на наши с вами налоги необходимо содержать, лечить, мосты строить, ракеты запускать, периодически кредитовать соседа Батьку, но вот беда, налог на актив скаканул аж до небес. Хотя нет, всё-таки, до космических орбит, а если конкретно, то почти в 15 раз. При этом, стоимость моего актива с землёй приблизилась к 1 млрд. российских рублей! И я понимаю, если бы мы занимались каким-нибудь сверхдоходным бизнесом, например, продажей свежего воздуха с улицы или дневного света от солнца для наивных горожан, или на худой конец майнили крипту на халявном электричестве, но у нас всего лишь рутинный складской бизнес – сдача склада и офисов в долгосрочную аренду.
Читать дальше →
Всего голосов 24: ↑9 и ↓15 -6
Просмотры2.7K
Комментарии 9

Symfony Messenger: объединение сообщений в пакеты

OTUSПрограммированиеSymfony
Перевод

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

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

Покажем, как мы это сделали.

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Просмотры387
Комментарии 1

Проверки в Navisworks по матрице коллизий с помощью Dynamo

Визуальное программирование
Из песочницы

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

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Просмотры154
Комментарии 0

Разработка стековой виртуальной машины и компилятора под неё (часть I)

C++ВиртуализацияКомпиляторыC

Так сложилось, что за последние 18 лет, не приходилось писать на C/C++. На работе использовалась Java, да и ввиду должностей деятельность больше была связана с предпринимательством - переговоры, корпоративные продажи, выстраивание производственных операций и структурирование инвестиционных сделок. Захотелось в свободное от работы время восстановить навыки, размять часть мозга которую не напрягал все 18 лет и, естественно, начать с самых основ. Осталось придумать себе задачу.

В универе преподаватели, молодость которых приходилась на 70-80е годы, до объектно-ориентированного программирования убивались по теме разработке собственных языков (интерпретаторов, компиляторов) под предметные области. Всё это казалось мне невостребованным "старьём", но появление новых языков за последнее десятилетие (Go, Kotlin и множества других) повысили мой интерес к этой теме.

Решил в качестве хобби написать 32-bit стековую виртуальную машину и компилятор C подобного языка под неё, чтобы восстановить базовые навыки. Такая классическая Computer Science задачка для заполнения вечеров с пивом. Как предприниматель, я четко понимаю, что она никому не нужна, но такая практика нужна мне для эстетического инженерного удовольствия. Плюс когда об этом рассказываешь сам понимаешь глубже. С целью и мотивами определился. Начнём.

Так как это виртуальная машина, мне нужно определиться с её характеристиками:

CPU: 32-bitный набор команд, так как машина стековая, в основном операнды команд храним в стеке, из регистров только IP (Instruction Pointer) и SP (Stack Pointer), пока работаем с целыми числами со знаком (__int32), позже добавим остальные типы данных.

RAM: пусть памяти пока будет 65536 ячеек по 32-bit`а. Которую организуем просто. С нижних адресов в верх будут идти код (code/text) и данные (data, heap), а с верхних адресов вниз будет расти стек (stack). Дёшево и сердито.

Читать далее
Всего голосов 12: ↑11 и ↓1 +10
Просмотры1.3K
Комментарии 0