Pull to refresh
-1
0
Лекс Белй @Warrangie

Пользователь

Send message

Пишем безопасное браузерное расширение

Reading time25 min
Views19K


В отличие от распространенной "клиент-серверной" архитектуры, для децентрализованных приложений характерно:


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

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


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


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

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

Слепая простота

Reading time4 min
Views24K
image

В этой статье я расскажу о blind XSS — это довольно простая, но зачастую очень эффективная атака на веб-приложения. Эксплуатация таких векторов атак приводит к захвату админ-панелей различных сервисов, в том числе софтверных гигантов.

UPD: часть пейлоадов из статьи сработало на агрегаторах/парсерах Хабра, такие дела :)

Яндекс присоединился к защите Linux и IT-индустрии от патентного троллинга

Reading time4 min
Views17K
Мы верим, что жизни миллионов пользователей меняются к лучшему только тогда, когда идея превращается в готовый продукт, а не используется для шантажа и ограничений. Поэтому Яндекс вступил в альянсы Open Invention Network и LOT Network, объединяющие тысячи разработчиков для совместной защиты от злоупотреблений патентным правом.

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



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

Как сделать простое «главное меню» для игры в Unreal Engine 4. Часть 1

Reading time8 min
Views61K
Этот туториал – моя первая «статья» по Unreal Engine 4. Сам я относительно недавно начал осваивать данный движок и разработку игр в общем и сейчас работаю над созданием более-менее простой игры. Недавно закончил базовую версию меню для своего проекта и решил описать свой опыт в этой статье.

Данная статья не требует каких-либо специальных навыков и вам нужно лишь установить сам движок. Я буду использовать последнюю на сей день стабильную версию: 4.16.2.

Что мы будем делать?



Это меню я сделал для игры над которой сейчас работаю. В результате туториала мы сделаем нечто похожее. (Сама игра не включена в туториал).

  1. Главное меню – первый экран игры (данная статья).
  2. Меню «паузы» – то же самое меню, но с дополнительной кнопкой «Продолжить».
  3. Анимации и плавные переходы при открытии/закрытии меню.

Так как статья получилась длинной из-за скриншотов, части 2 и 3 пойдут отдельными статьями (надеюсь, в течение этой недели).
Осторожно, трафик!

7 мобильных приложений из России, появившихся благодаря краудфандингу

Reading time3 min
Views9.4K
«Где взять деньги?» — большинство бизнесов, в том числе в мобильной разработке, закрылись так и не начавшись из-за проблем с финансированием. Конечно, есть вполне успешные товарищи, которые вкладывают в разработку и маркетинг собственные средства, но таких меньшинство. Молодые разработчики вынуждены обходиться минимальным бюджетом или занимать деньги на стороне. Правда, не все. За последние 5 лет в России вышло несколько десятков приложений, которые получили финансирование через краудфандинг. Вот 7 самых интересных примеров, которые, возможно, вдохновят кого-то начать свою разработку и покажут, что даже не имея больших средств можно сделать что-то крутое.

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

101 бесплатный сервис для дизайнера

Reading time10 min
Views207K
Представляем вам подборку бесплатных сервисов для дизайнера. Это первый вариант, в дальнейшем планируем расширять, добавляя новые разделы и инструменты.


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

OpenSSL, ssl_ciphers и nginx: прокачиваем на 100%

Reading time11 min
Views92K


Много где написано о том, как получить 100% и A+ по тесту от Qualys. При всём при том практически везде директивы ssl_ciphers и подобные даются как эдакие магические строки, которые нужно просто вставить, и надеяться, что автор не подводит вас под монастырь. Эта статья призвана исправить это недоразумение. По прочтению этой статьи директива ssl_ciphers потеряет для вас всякую магию, а ECDHE и AES будут как друзья да братья.


Также вы узнаете почему 100% по тестам — не всегда хорошо в реальности.

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

Становимся профессиональными PHP разработчиками. Часть 1: Недостающее звено

Reading time7 min
Views28K
Предлагаю вашему вниманию перевод статьи «Becoming PHP professional. Missing link».

Введение


Когда я читаю различные блоги, связанные с PHP, вопросы на Quora (англоязычный сервис вопрос-ответ, прим. переводчика), сообщества в Google+, газеты и журналы, я часто замечаю крайнюю поляризацию навыков программирования. Вопросы бывают или уровня «А как же мне подключиться к базе данных MySQL», или что-то из области «Как мне лучше распределить ресурсы моей почтовой системы для того, чтобы отправлять более одного миллиона писем в час без использования нового сервера?»

Лично я выделяю 4 четких уровня «славы» в PHP (применимо так же и для любого другого языка или профессии): новичок, среднячок, профессионал и элита.
Читать дальше →

YACTL: Ещё одна ёлочная гирлянда

Reading time4 min
Views88K

Почему?


Перед новым годом многие наряжают и украшают ёлки всевозможными игрушками-побрякушками и, конечно, световой гирляндой.
На Хабре уже недавно было несколько вариаций на тему самодельных гирлянд, но их меньше 100500 и поэтому я подумал, что этого явно мало. Дабы не прогневать дух Нового Года я приношу свой вариант ёлочной гирлянды в подарок этому великому духу.

Так же этот проект задумывался как часть начального обучения для своего сына в стиле «я делаю и рассказываю что, как и почему, а сын смотрит и задаёт каверзные вопросы по теме и не очень». По этой причине я старался сделать всё как можно проще и доступнее.



Ёлочка, гори

Бравый справочник css-свойств для новичка

Reading time1 min
Views28K
Как новички изучают css-свойства? Они читают про все свойства, которые только есть, что-то запоминают, в основном только width, height и background, а потом постоянно рыщут по своим конспектам и гуглу, пытаются вспомнить какое свойство за что отвечает, как оно пишется и какие у него есть значения.

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

Таким образом, за два вечера создался вот такой css-помощник: lesson-web.ru/modules/css_helper
Читать дальше →

Квантовая телепортация

Reading time8 min
Views52K


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

Заменяем бут-анимацию Android устройства на мелькающие логи Linux ядра

Reading time3 min
Views35K
После разработки кастомного загрузчика для своего телефона мне захотелось реализовать вывод ядерных логов на дисплей, как это умеют делать десктопные дистрибутивы Linux. А всё потому, что лично мне при загрузке телефона намного интереснее наблюдать мелькающие kmsg логи, нежели наблюдать сначала логотип загрузчика, а затем ещё и бут-анимацию Android системы. За два года «скучные обоины» уже приелись.

Сейчас попытаюсь вкратце рассказать о модуле LLCON для Android ядра, который реализует низкоуровневый вывод kmsg логов на дисплей.

Построчный разбор лицензии MIT

Reading time15 min
Views106K

171 слово, которое должен понимать любой программист


Лицензия MIT – самая популярная лицензия для программ с открытым кодом. Здесь приводится одно из её прочтений, с построчным разбором.

Читаем лицензию


Если вы разрабатываете программы с открытым кодом, и не читали эту лицензию подробно – а она состоит всего из 171 слова – вам нужно этим заняться. Особенно, если вы не занимаетесь лицензиями на ежедневной основе. Отметьте всё, что вам непонятно. А я повторю все эти слова, по порядку и по кусочкам, вместе с контекстом и комментариями. При этом важно представлять себе её целиком.
Читать дальше →

Учим английский дешево и эффективно

Reading time9 min
Views161K
Английский можно выучить дешево, иногда даже бесплатно. В этой статье я расскажу про личный опыт: какой софт и ресурсы в Интернет оказались максимально эффективными для меня, и как ими правильно пользоваться.

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

Управляем компьютером через браузер

Reading time3 min
Views25K
Компьютер давно многим заменил телевизор, а что не хватает компьютеру для комфортного просмотра кино, сериалов и прочего? Мне, лично, не хватало пульта дистанционного управления.

image

Я немного увлекаюсь веб-программированием в свободное время. Было решено написать свой велосипед, и, заодно совместить приятное с полезным. Была изучена возможность с помощью консоли управлять компьютером, в первую очередь меня интересовал следующий минимальный объем задач (который немного увеличился в последствии):

  • Возможность отправить ПК в режим сна
  • Возможность выключить громкость

С помощью известного поисковика нашел консольную программу, NirCmd, программа позволяет осуществлять достаточно много действий кроме указанных выше. С основной частью мы определились. Как я говорил, немного изучаю php, веб-сервер у меня как правило запущен постоянно, поэтому ничего специфичного в плане сервера я придумывать не стал. Сервер написан на php и состоит из двух классов: Control, который представляет собой методы, которые исполняют консольные команды и Route, который делает валидацию приходящих запросов и исполняет методы класса Control.

Control выгладит вот так (код однотипный, поэтому я сократил):
Читать дальше →

Sandy/Ivy Bridge — антикризисный ноутбук на примере Lenovo ThinkPad T420

Reading time24 min
Views51K


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

Но потребность в мобильном компьютере никто не отменял. Причин может быть много — это и образ жизни и изменение взглядов на жизнь или же увлечений. Многим хочется достаточно быструю машину, чтобы и в ворде попечатать и по сайтам посёрфить без тормозов и чтобы аська со скайпом подмигивали своими сообщениями да и музычка приятная в фоне слух услаждала. Ну ничего ведь сверхъестественного, но как раз под такой минимальный набор потребностей отвечает ноутбук с ценником от 35 000-40 000 рублей…

И тут на сцену выходят они — старые железки 4-5 летней давности. Производительность которых в ряде сценариев даже превосходит новые ноутбуки. Да, у такого железа очень много недостатков и покупать такое это своего рода рулетка, может не повезти и все деньги выкинешь на ветер. Но если повезёт, то можно вполне реально сэкономить десятки тысяч! Ведь цена их начинается на момент написания статьи с отметки в 13 тысяч рублей.

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

Рассказ о хакерах «Жизнь кардера Блэка», 1 глава

Reading time9 min
Views31K
imageДоброго времени суток!

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

«Блэк не был хакером из фильмов. Он не взламывал Пентагон, не сливал базы данных ФБР и не состоял на службе у секретного общества, правящего миром. Максим, так звали парня в реальной жизни, работал на кардеров.
Ему нравилось.»


Список глав:
1. Работа онлайн
2. Добавить в друзья?
3. Деньги




Глава 1. Работа онлайн.


Через открытое окно доносились крики молодежи, отмечающей 60летие со Дня Победы. Пьяные подростки громко ругались, отвлекая от работы.
Это безумно раздражало Блэка, который изо всех сил пытался сосредоточиться.
«Тоже мне элитный район для вашего спокойствия, — со злостью произнес парень, надевая наушники. — Идиоты».
Срочно взять себя в руки.
На экране — американский онлайн магазин, каких полно в Интернете. Единственное его преимущество заключалось в количестве пользователей. Тысячи долларов проходили через этот сайт ежедневно. Хакеру необходимо слить базу с номерами кредитных карт, чтобы потом продать ее кардерам.
Напряжение росло. Сигареты.
Блэк потянулся к пачке, затерявшейся среди кучи книг, лежавших на столе.
Парень нервничал, ведь ему пришлось потрудиться, чтобы найти зацепку. Защита была организована на высоком уровне. Несмотря на то, что сайт у них был самописным, внушительные масштабы проекта, огромное количество кода, и как следствие большую возможность допустить ошибку, найти уязвимость долго не удавалось.
Читать дальше

Как думать на SQL?

Reading time8 min
Views617K
Надо “SELECT * WHERE a=b FROM c” или “SELECT WHERE a=b FROM c ON *” ?

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


А потом начинаются джойны, агрегирование, подзапросы, и получается совсем белиберда. Вроде такой:


SELECT members.firstname || ' ' || members.lastname
AS "Full Name"
FROM borrowings
INNER JOIN members
ON members.memberid=borrowings.memberid
INNER JOIN books
ON books.bookid=borrowings.bookid
WHERE borrowings.bookid IN (SELECT bookid
  FROM books
  WHERE stock>(SELECT avg(stock)
    FROM books))
GROUP BY members.firstname, members.lastname;

Буэ! Такое спугнет любого новичка, или даже разработчика среднего уровня, если он видит SQL впервые. Но не все так плохо.


Легко запомнить то, что интуитивно понятно, и с помощью этого руководства я надеюсь снизить порог входа в SQL для новичков, а уже опытным предложить по-новому взглянуть на SQL.

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

9 способов раздробить свою работу так, чтобы сохранить концентрацию и продуктивность

Reading time7 min
Views34K
image

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

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

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

10 полезных сайтов с 2D ресурсами для игр

Reading time3 min
Views467K


С развитием HTML5 и мобильных платформ 2D-игры возвращаются в моду. Заниматься такими проектами, будь то браузерные игры, игры на телефон или для ПК, стало легче благодаря таким инструментам, как Unity, и онлайн-ресурсам с игровыми ассетами. Ниже представлен список из 10 лучших сайтов с 2D-ресурсами для игр – как платными, так и бесплатными.

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

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Registered
Activity