Обновить

Ужасный Блокчейн. Взгляд UX дизайнера

image

Вы тоже заметили, что блокчейн продукты, не связанные с торгами криптой, не нашли широкого применения? Обидно, правда? Но, я думаю, эта проблема решаема!

Финансовые спекуляции — основной рынок для блокчейна. А сообщество крипто-энтузиастов мало. Однако, потенциал технологии гораздо больше, чем используется сейчас!

Да широкое использование крипты для оплаты за товары развивается в Африканских странах, но — это связано с неустойчивостью банковской инфраструктуры и слабости государства. При наличии сильного государства и банковского сектора криптовалютная активность будет подавляться. Живой пример — TON Павла Дурова.

Нам пророчили революцию в игровой индустрии. Форбс оценивал рынок игр для блокчейна в 200 миллиардов. Но, революция, о которой говорили “крипто-большевики” не свершилась. Крипто Котики — это хорошо, но очень мало.

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

В чем загвоздка? Я думаю, профессор Преображенский (из Булгаковского “Собачьего Сердца”) дает ответ: “разруха в головах”.
Читать дальше →

Проблема Eloquent фреймворка Laravel

Работая над очередным проектом на фреймворке Laravel мы обнаружили его уязвимое место. Это модель Eloquent, о которой написано немало, и примеров её использования тоже достаточно. Вот что мы разглядели. Возьмём простую модель (не Eloquent) на рисунке 1.


image


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

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

Пишем простую систему регистрации и входа в аккаунт

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


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

Адаптивный canvas для видео игр на JavaScript

Тег canvas


Я думаю, что все из вас давно осознали, что писать видео игры на DOM это не очень хороший вариант, поскольку взаимодействие с DOM очень сильно нагружает компьютер. Тем более, что html 5 предлагает нам замечательную альтернативу — тег canvas.

Но, наверное, когда вы начинали на нём что-то писать, вы задавались вопросом: как сделать его адаптивным? Ведь canvas при изменении ширины и высоты не растягивает свою матрицу, а значит, ваш рисунок будет занимать только его часть. Я тоже задался этим вопросом и нашёл два варианта как это сделать.
Читать дальше →

Реализация подрузки информации о клиенте через API

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

Вариант нашелся сам…

Так как у нас звёздочка в мир не смотрит, то очевидно что все выполняется на сервере с астериском.

Итак, нашел библиотеку PHP Tail, спасибо автору Тошио Такигучи.

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

Java создает круговую диаграмму / кольцевую диаграмму в Excel

1. Фон спроса

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

Безопасное и автоматическое обновление ReadMe

Привет, Хабр. Сегодня я расскажу о своей попытке сделать автоматическое обновление версии библиотеки в ReadMe. Это моя первая статья. (Старался писать коротко и не делать просто перевод ReadMe). Все что я описываю в данной статье обсудили в подкасте Android Story выпуск 7.


Проблема


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


Как правило, это что-то из следующего:


  • Добавить нашу чудо библиотеку в gradle / maven / ant dependencies
  • … (Другой способ подключить что-то с какого центрального хранилища)
Читать дальше →

Специфика настоящего исторического момента для выживания человечества и Искусственный Интеллект (ИИ)

Последние десятки тысяч лет биологический вид современного человека окончательно утвердился как господствующий на планете Земля. Эволюция нашего вида продолжалась, в основном, на путях внутривидовой конкуренции между отдельными группами людей и между личностями, преимущественно в социокультурной (в.т.ч. в технологической) области. При этом конфликты могли быть и очень жестокими, вплоть до полного вымирания отдельных групп людей и их субкультур. Но до середины 20 века это не могло привести к полному вымиранию человечества, как биологического вида. Однако со 2-й половины 20 века появилась реальная возможность вымирания всего человечества в результате его собственной деятельности: «ядерная зима», глобальная эпидемия в результате генной инженерии, полное отравление окружающей среды и т.п.
Читать дальше →

DIY «винтовка» на углекислотном лазере

Всем привет!

Очень хочу поделиться своим экспериментом, который я провел еще в прошлом году, но до Хабра добрался только сейчас — опытом создания «лазерной винтовки», в основе которой — CO2 трубка китайского производства мощностью 30W.
Читать дальше →

Неправильная интерпритация парадокса близнецов

Неправильная интерпретация парадокса близнецов.

Рассматривая понятие «Время» на основании информации высокоразвитой цивилизации, мы уже установили, что времени, как физического понятия, не существует и время есть просто счётчик, придуманный человеком, для своего удобства.

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

Как я RFID клонер делал

Здравствуйте, уважаемые хабро-жители. Я решил написать небольшую статью о том, как я RFID воевал. История в том, что я хотел написать себе небольшой клонер для RFID ключей и карт. Так же я думал сделать себе простой универсальный ключ для домофона/работы.

Кого заинтересовала данная тема – добро пожаловать под кат.
Читать дальше →

Как я случайно обнаружил бэкдор в роутерах ZTE для Ростелекома

Доброго всем дня, друзья.

Наверное, у каждого из вас бывали такие истории, когда вы теряли связь со всемирной паутиной по той причине, что ваш горячо любимый интернет-провайдер не справился с выполнением своих обязательств по предоставлению услуг связи. Если говорить максимально легко и просто — у вас просто внезапно исчезало интернет-соединение, а Ethernet-кабель, бережно (или не очень) проведённый в ваш дом, не показывал никаких признаков жизни.

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

image

И вот в один из апрельских вечеров (когда бОльшую часть страны закрыли на небезызвестную самоизоляцию) я спокойно работал над одним фриланс-проектом, как внезапно связь с внешним миром у меня полностью пропала, тем самым прервав разработку проекта на неопределённое время.
Читать дальше →

Опасность пользовательского ввода в src и url

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

Всё в больших размерах, взаимодействие с веб-сервисами становится более гибким и расширенным. На некоторых проектах доступно редактирование/добавление html элементов на страницу. Такие элементы, как:
<img> <script> <audio> <video>
и другие, могут наследовать аттрибут src, который указывает на адрес файла. Так же и css стили могут наследовать url.

Проблема кроется в том, что пользователи могут добавить невалидный src, либо «обрушить» https:// протокол сайта, указав http:// в аттрибуте src. Так же пользователи могут указать ссылку вовсе не на ожидаемое аудио или картинку, а на свой сервер, который будет логировать ip адреса клиентов сайта. «Анонимность?», — До свидания.
Читать дальше →

Разработка утилиты по модификации изображений с использованием искусственной нейросети

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

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

Распределение данных БД между процессами

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

Задача — распределить данные между процессами. Цель — увеличить производительность системы без значительного повышения сложности логики.
Читать дальше →

Чему я научился за 4 года в университете

Еще где-то в 11-12 лет я насмотрелся передач о том, как Марк Цукерберг, Павел Дуров, Билл Гейтс и многие другие разбогатели, создав свои программные продукты. И я тогда решил тоже стать программистом. В школе я всегда был отличником, участвовал и иногда побеждал в различных олимпиадах. У меня ярко выраженный технический склад ума. Моими любимыми предметами были физика, математика и информатика.
Читать дальше →

Острожно, OAuth2

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

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

Однако, не всё так просто, как кажется на первый взгляд.
Давайте разберёмся.

TheDude мониторинг удаленных подключений через RDGW

Доброго времени суток!

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

Архитектура у нас была стандартная, Шлюз удаленных рабочих столов (далее RDGW) Брокер (далее RDCB) и несколько терминальных серверов (далее RDSH).

Для начала был написан на ps простенький скрипт, выводивший необходимые значения
c:\ps\rdclients.ps1

Get-WmiObject -class "Win32_TSGatewayConnection" -namespace "root\cimv2\TerminalServices" -ComputerName localhost -Authentication 6 | Select UserName,ConnectedResource

Начало вроде положено, осталось выдать эти значения на отдельный монитор в СБ.
Читать дальше →

Вы решили стать разработчиком. Почему нужно учить javascript, а не java?

Привет, уважаемая редакциия! Здравствуйте, коллеги.

Через пару-тройку месяцев мне, как разрабочику frontend, исполнится четыре года. А до пятидесяти в паспорте останется немногим меньше двух лет. За эти четыре года жизнь менялась стремительно, и теперь, спустя время, можно проанализировать, какие решения оказались удачными, а какие — не очень.

Начать я хочу с выбора тех. стека, и, как следствие — специализации. Думаю, мой выбор (frontend, javascript) оказался удачным, и я хочу теперь проанализировать, почему.
Читать дальше →

Мой опыт взаимодействия с мошенниками и модераторами Авито

Недавно на Хабре выходила статья компании Авито о расплодившихся на их сайте мошенниках и мошеннических схемах. Однако, практически ничего не было сказано о способах препятствования появлению мошенников на сайте в принципе и методов оперативной их блокировки. Так как я очень много сижу в Авито (такое уж у меня хобби — листать авитовскую ленту), хочу поделиться своим опытом вычисления «разводил», и результатами обращения к модераторам, а так же предложениями, как можно было бы уменьшить число обманщиков на страницах сайта.

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

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

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

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