Обновить
0
@Coddread⁠-⁠only

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

Отправить сообщение

Хороший дизайн интерфейсов. Часть 3

Время на прочтение5 мин
Охват и читатели76K
Это третья часть переведённых заметок «Good User Interface». Первые 16 частей уже ранее перевели наши коллеги из ADV на Хабре, а вторые 11 перевели мы.

Идея 28


Используйте варианты по-умолчанию, не заставляя людей выбирать


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

Остальные 10 заметок далее

Джаббер переходит на полное шифрование

Время на прочтение4 мин
Охват и читатели71K
19 мая 2014 года состоится полный переход сети Jabber на полное шифрование. Шифроваться будет как соединение от клиента к серверу (C2S), так и между серверами (S2S). Об этом договорились представители крупнейших джаббер-серверов и участники XSF – XMPP Standards Foundation. Теперь использование Jabber будет на 99% безопасным для конечного пользователя

Понимая современные проблемы безопасности и приватности, сеть Jabber переключается на полностью защищённый режим работы. Договорённость зафиксирована в Манифесте о безопасности XMPP-протокола, расположенном на Github:
«Мир меняется, интернет меняется. И с каждым месяцем, годом люди все больше и больше задумываются о приватности информации, передаваемой ими в сеть. Никто не хочет, чтобы его переписка с другом\любимым\коллегой\работодателем была прочтена кем-либо другим.
Протокол XMPP поддерживает шифрование by design, как на уровне большинства клиентов так и на уровне практически всех реализаций сервера, но далеко не все пользователи осведомлены об этом, и далеко не все администраторы корректно сконфигурировали программное обеспечение сервера. Данный манифест фактически призван формально укрепить шифрование в сети XMPP, объединив операторов серверов, которые хотят обеспечить приватность и безопасность для своих пользователей. Так же он подразумевает информирование пользователей о шифровании данных, о настройке их программного обеспечения».


Jabber Logo Сеть Jabber – это множество серверов в интернете, работающих по протоколу XMPP и поддерживающих межсерверное общение между собой. Любой пользователь одного сервера может написать пользователю на любом сервере.
XMPP Logo Протокол XMPP – открытый свободный протокол для передачи данных (сообщения, звук, видео и прочие), который может использоваться как в публичной сети (Jabber), так и в локальной сети (интранет, локальные чаты предприятий, провайдеров и т.д), а также в проприетарных сервисах (WhatsApp, Facebook, Одноклассники)

В субботу, 22 марта 2014 — пройдёт третий тестовый день. На один день многие сервера перейдут на полное шифрование, а связь с серверами, которые не поддерживают шифрование, будет отключена. В частности, будет потеряна связь с Gmail, который не поддерживает межсерверное шифрование. Это предпоследний шанс проверить готовность джаббер-серверов (перед окончательным переходом будет ещё один), а в русскоговорящей среде об этом никто и в ус не дует.
Сколько таких серверов? Как подготовиться к переходу на полное шифрование юзеру, а как — админу? Мне нужно многое вам рассказать. Под катом ответы на эти вопросы и следствия.
Читать дальше →

HTML по стандартам

Время на прочтение10 мин
Охват и читатели127K
Привет Хабр!

image Изначально хотел назвать статью «HTML по ГОСТ`у», но потом выяснилось что у большинства программистов не было предмета «Метрология и стандартизация» и о «стандартизации», «сертификации», «унификации» не все слышали.

В i-Free я много занимаюсь разработкой веб-приложений. А поскольку их много, они разные и работают в разных условиях, то само собой приходится задумываться о стандартизации. Есть такой проект «Пуленепробиваемый HTML5» (http://html5boilerplate.com/), в котором разработчики решили создать идеальный шаблон странички. Он мне очень нравился, и все свои проекты я начинал именно с него. Но, исправляя баг за багом, делая все новые и новые приложения, я пришел к выводу, что многого в нем не хватает. В этой статье я хотел бы рассказать о том, что обычно пропускают при написание страничек и веб-приложений и показать, чем и зачем я прокачал свой шаблон пустой странички.
Читать дальше →

Совершенство интернет-технологий или одна жизнь в офлайне — взгляд из прошлого

Время на прочтение5 мин
Охват и читатели18K
Читателю этого скромного исторического рассказа предлагается не как это обычно бывает — окунуться в прошлое, а лишь немного присмотреться к настоящему настоящему (игра слов).
Читать дальше →

Игра 2048

Время на прочтение1 мин
Охват и читатели407K
19-летний итальянский разработчик Габриэле Чирулли (Gabriele Cirulli) создал чрезвычайно захватывающую игру 2048, скрестив тетрис и «пятнашки».



На каждом раунде в игре появляется две плитки с цифрой «2». Нажимая стрелки, нужно сбросить их в сторону, при этом плитки одного «номинала» складываются. Выигрыш засчитывается при достижении результата 2048.
Читать дальше →

Шаблоны проектирования PHP. Часть 1. Порождающие

Время на прочтение13 мин
Охват и читатели246K
Тема заезженная до дыр, не спорю… Вероятно, для опытных разработчиков моя статья будет мало, чем полезна. Я бы рекомендовал её к прочтению тем, кто только начал осознавать, что его коду чего-то не хватает, и что он созрел для вникания в это далёкое понятие – «паттерны». По себе помню, что довольно долгое время я путался в шаблонах, иногда даже не понимая, чем один отличается от другого. Именно этот факт стал основой для моей статьи. Примеры в ней не будут реальными. Они будут абстрактными и максимально простыми. Однако я постараюсь все примеры держать в едином контексте, чтобы можно было наглядно видеть отличия их использования в одной и той же ситуации. Я не буду нагружать классы лишним функционалом, чтобы можно было понять, какая именно часть кода имеет непосредственное отношение к шаблону. Главными героями примеров станут Factory (фабрика) и Product (продукт, производимый этой фабрикой). Возьмём это отношение за отправную точку. Возможно, в некоторых примерах это будет не очень уместно, но зато очень наглядно…

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

В Стэнфордском университете разработали бумажный микроскоп стоимостью меньше доллара

Время на прочтение2 мин
Охват и читатели227K


Основным мотивом для создания микроскопа стала борьба с малярией — в развивающихся странах для диагностики малярии необходимо проводить около миллиарда микроскопических исследований образцов крови в год. Стандартный лабораторный микроскоп — дорогое и хрупкое устройство. Стэнфордским учёным удалось сконструировать микроскоп с увеличением до 2000х, стоимость всех компонентов которого при массовом производстве составляет 97 центов. Корпус микроскопа вырезается и складывается из листа плотной бумаги. Кроме неё используется батарейка-таблетка, светодиод, выключатель, кусочек токопроводящей медной ленты и сапфировая или стеклянная шариковая линза.
Читать дальше →

Мой инструмент для тайм-трекинга и выписывания инвойсов

Время на прочтение1 мин
Охват и читатели64K
Привет! В честь наступающего понедельника я хочу поделиться инструментом для трекинга рабочего времени, который я сам написал и которым сам пользуюсь. Как фрилансер, я работаю по почасовой оплате и для меня важно:
  • учитывать затраченное по задачам время
  • выписывать заказчикам инвойсы

Под влиянием симптома NIH я написал самый лучший в мире тайм-трекер :)

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

Приемы неявного вызова php кода, применяемые во вредоносных скриптах

Время на прочтение2 мин
Охват и читатели34K
В процессе лечения сайтов обнаруживается множество разновидностей хакерских шеллов и бэкдоров. Скрипты отличаются функционалом и способом обфускации исходного кода, но у всех есть общая черта — это неявное объявление переменных и функций, а также косвенный вызов функций.

Данный подход популярен среди разработчиков вредоносного кода, так как с одной стороны значительно усложняет анализ исходного кода, а с другой позволяет хранить код в текстовых данных. Например, часть вредоносного кода может загружаться со стороннего сайта, из базы данных, мета-данных jpeg/png/gif или передаваться в запросе к скрипту. Кроме того, часть кода, представленная в виде обычной текстовой строки, может быть легко зашифрована.

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

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

echo "Test"


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

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

Простым языком об HTTP

Время на прочтение9 мин
Охват и читатели1.7M
Вашему вниманию предлагается описание основных аспектов протокола HTTP — сетевого протокола, с начала 90-х и по сей день позволяющего вашему браузеру загружать веб-страницы. Данная статья написана для тех, кто только начинает работать с компьютерными сетями и заниматься разработкой сетевых приложений, и кому пока что сложно самостоятельно читать официальные спецификации.

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

Аббревиатура HTTP расшифровывается как HyperText Transfer Protocol, «протокол передачи гипертекста». В соответствии со спецификацией OSI, HTTP является протоколом прикладного (верхнего, 7-го) уровня. Актуальная на данный момент версия протокола, HTTP 1.1, описана в спецификации RFC 2616.

Протокол HTTP предполагает использование клиент-серверной структуры передачи данных. Клиентское приложение формирует запрос и отправляет его на сервер, после чего серверное программное обеспечение обрабатывает данный запрос, формирует ответ и передаёт его обратно клиенту. После этого клиентское приложение может продолжить отправлять другие запросы, которые будут обработаны аналогичным образом.

Задача, которая традиционно решается с помощью протокола HTTP — обмен данными между пользовательским приложением, осуществляющим доступ к веб-ресурсам (обычно это веб-браузер) и веб-сервером. На данный момент именно благодаря протоколу HTTP обеспечивается работа Всемирной паутины.
Читать дальше →

Серьезное проектирование серьезного магазина. Часть 2. Модули интернет-магазина

Время на прочтение15 мин
Охват и читатели81K
В прошлый раз мы написали довольно популярную статью: «Серьезное проектирование серьезного магазина. Часть 1. Исследования», эта статья её логическое продолжение. В этой статье и в последующих мы опишем почти 60 функциональных модулей топовых интернет-магазинов мира, а также подробно разберем интерфейс многих страниц.

Главная страница интрнет-магазина в axure
Читать дальше →

Как я перехватывал трафик покер рума или «Пишем свой MitM SSL прокси на C#»

Время на прочтение5 мин
Охват и читатели78K
Однажды у меня появилась навязчивая идея: посмотреть, а что же там такого покерный клиент отправляет на сервер. Как Вы понимаете, крупные покерные румы используют SSL для передачи данных. Протоколы, основанные на асимметричном шифровании, подвержены только одному известному мне виду атак — MitM (Man in the middle — человек посередине).

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

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

Реакция разных компаний на уязвимости их ресурсов

Время на прочтение5 мин
Охват и читатели55K
В данном посте я решил немного рассказать о своих исследованиях в области IT безопасности.
Некоторые компании не будут названы в статье, чтобы не портить «имидж».

Ресурсы в которых были найдены уязвимости: aa.mail.ru, nag.ru, graph.document.kremlin.ru, sencha.com, parallels.com, volgogsm.ru, next-one.ru, а также туроператор X, и одна из дочерних организаций Газпрома.

Достаточно давно уже увлекаюсь проведением исследований безопасности разных ресурсов. Большинство из них мне приходилось использовать самому и было интересно узнать в сохранности ли мои данные.
Читать дальше →

Самая большая проблема в веб-разработке

Время на прочтение2 мин
Охват и читатели76K

Привет, Хабр мы — команда TrackDuck, сервиса, который позволяет визуально комментировать «живые» веб-сайты и изображения. Идея продукта появилась на свет 9 месяцев назад. Мы встретились втроем на хакатоне Garage48 в Минске и объединила нас общая проблема — отсутствие качественной коммуникация с клиентами и заказчиками в веб-разработке. Казалось бы, все просто, сделал проект, выложил его на dev сервер или отправил дизайн заказчику, заказчик посмотрел, прислал в ответ комментарии разработчику, который исправил их и получил деньги за свою работу. Но все знают — в жизни все сложнее и в разы печальнее.
Читать дальше →

CMS будущего

Время на прочтение14 мин
Охват и читатели76K

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


На протяжении всей истории интернета мы работали с контентом двумя способами:
  1. Создавали «один шаблон на все случаи жизни»
  2. Создавали для каждого случая свой уникальный шаблон

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

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

Этот наш мир

Время на прочтение12 мин
Охват и читатели43K
Иногда я проверяю свою рабочую почту и вижу там сообщение «Анонс доклада: Вершиннная эллиптическая криптография в N-сторонних Бананотряховых[1] пространствах». Я смотрю аннотацию и там говорится что-нибудь типа «Хорошо известно, что 5-сторонний обмен секретами нелегален со времён Протестантской Реформации [Лютер1517]. Однако, используя новые результаты в области исполняющихся за полиномиальное время Бананотряховых проекций, мы показываем, как множество корреспондентов, притворяющихся друзьями (но являющихся противниками)[2], могут послать друг другу вплоть до 5 ехидных язвительных замечаний, устойчивых к атакам с использованием выбранным по Бананотряху открытого текста сообщения». Такое чувство, что началась середина трагичной, но вряд ли интересной оперы. По какой именно причине нас только что засунули в эллиптический мир? Кто именно такой этот Бананотрях, и почему нам не пофигу, какой он там открытый текст выберет? Если потому, что он похитил наши семьи, можно мне хотя бы обменяться сообщениями с похищенной роднёй, и если да, обязательно ли сообщения должны быть ехидными и язвительными?
Читать дальше про Бананотряха, устойчивые пароли, невест по почте, Моссад и всякое другое

Как надо хешировать пароли и как не надо

Время на прочтение4 мин
Охват и читатели281K
image

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

Постараюсь очень лаконично и быстро обрисовать ситуацию с хэшами.

Сразу определю какую задачу применения хешей буду рассматривать — аутентификация пользователей. Не токены восстановления паролей, не аутентификация запросов, не что-то еще. Это также не статья про защиту канала передачи данных, так что комментарии по challenge-response и SSL неуместны!

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

Объясняем бизнесу, почему у нас такие «фиговые» оценки

Время на прочтение3 мин
Охват и читатели36K
Далеко не все владельцы бизнеса, менеджеры продуктов и менеджеры по продажам, связанные с разработкой ПО, пришли на свою позицию из программистов. Этот пост в основном для них. Но, возможно, он будет полезен и разработчикам ПО, которым постоянно приходится отвечать им на два стандартных вопроса:

Почему ты не можешь дать точную оценку трудоемкости разработки?
Почему ты не можешь завершить все работы в два раза быстрее?

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

Подборка трюков при анализе защищенности веб приложений

Время на прочтение5 мин
Охват и читатели35K
Всем привет! Этот топик посвящен разным трюкам при анализе защищенности (пентесте) веб приложений. Периодически сталкиваешься с ситуацией, когда надо обойти какую-нибудь защиту, выкрутиться в данных ограничениях или просто протестировать какое-то неочевидное место. И этот пост как раз об этом! Добро пожаловать под кат.
Читать дальше →

Делаем вебсокеты на PHP с нуля

Время на прочтение18 мин
Охват и читатели323K
Некоторое время назад я выбирал библиотеку для работы с вебсокетами. На просторах интернета я натыкался на статьи по интеграции node.js с yii, а почти все статьи о вебсокетах на хабре ограничивались инструкциями к тому, как использовать phpdaemon.

Я изучал библиотеки phpdaemon и ratchet, они достаточно монструозны (причём используя ratchet для отправки сообщения конкретному пользователю рекомендовано дополнительно использовать wamp). Мне не совсем было понятно для чего использовать таких монстров, которые требуют установку других монстров. Почитав исходники этих, а также других библиотек, я разобрался как всё устроено и мне захотелось написать простой вебсокет-сервер на php самостоятельно. Это помогло мне закрепить изученный материал и наткнуться на некоторые подводные камни, о которых я не имел представления.

Так я решил написать необходимый для меня функционал с нуля.

Получившийся код и ссылка на демонстрационный чат в конце статьи.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность