Search
Write a publication
Pull to refresh
2
0
Александр @alexantr

Разработчик

Send message

Простая кастомизация Checkbox и Radio

Reading time4 min
Views261K

Вместо вступления


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

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

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

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

Поехали!


Итак, сразу поставим цель: оформить чекбоксы и радио-кнопки, чтобы внешне они были похожи на js-магию Uniform, но сделать это максимально простым, нативным по отношению в HTML и CSS способом, а также избежать применения лишних тегов, сохраняя семантику. Как-то так.
Читать дальше →

PHP 5.5 «API хэширования паролей»

Reading time6 min
Views15K
Вот и вышел финальный релиз PHP 5.5.0. Кратко о новых возможностях можно прочитать в посте на официальном сайте или «Переведенное на русский».

На хабре уже были статьи о некоторых новых возможностях PHP 5.5.0, такие как «Coroutines в PHP и работа с неблокирующими функциями» и «В PHP 5.5 возможно появится Finally»
В данной статье будет затронута одна из новых возможностей PHP 5.5.0 "API хэширования паролей".Предоставляющий застрахованные от ошибок разработчиков и более простые в использовании высокоуровневые функции для генерации и проверки валидности паролей по хэшам. Основное отличие нового API в том, что он берёт на себя генерацию надёжных хэшей, скрывая от разработчика операции ручного указания salt-а и выбора алгоритма хэширования (по умолчанию используется Bcrypt). Создание хэша сведено к выполнению "$hash = password_hash($password, PASSWORD_DEFAULT);", а проверка к вызову «password_verify($password, $hash)». В качестве причины внедрения нового API послужило безалаберное отношение многих разработчиков к генерации salt-ов и повсеместный выбор нестойких к перебору алгоритмов хэширования.

Будут рассмотрены константы, функции и код, использующий их.
Читать дальше →

7 причин провала вашего интернет-проекта

Reading time8 min
Views38K


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

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

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

15 малоизвестных команд Linux

Reading time3 min
Views318K
Каждому разработчику в определенной степени следует овладеть навыками работы в терминале. Физически находиться у компьютера не всегда возможно, поэтому приходится подключаться удаленно. И действительно, GUI-программы вполне могут с этим с правиться, но зачастую они работают медленнее, чем получение доступа через тот же терминал (в конце концов, это лишь обмен текстом).
Читать дальше →

Мультитест мультиварок: что купить IT-шнику, если хочется плова и борща

Reading time33 min
Views176K
Нам неоднократно поступали предложения о тестировании мультиварок, но до определенного времени мы от них отказывались — ну что такого можно рассказать о мультиварке. Однако, предложения продолжали поступать, и примерно после 5-6 письма редакция Box Overview задумалась, и решили сделать не просто тест одной мультиварки, а глобальное тест-сравнение 8 мультиварок нижнего ценового сегмента от разных брендов.

image

В нашем тесте участвуют 8 мультиварок от компаний Vitek (VT-4209), Kitfort (KT-201), Scarlett (SL-MC411S01), Polaris (PMC 0527D), Rolsen (RMC-5500D), Redmond (RMC-250), Philips (HD2173) и Panasonic (SR-MHS181).

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

Легальный Clickjacking ВКонтакте

Reading time1 min
Views117K
Поговорим о виджете для авторизации.

Нам говорят, что:
С помощью виджета для авторизации Вы можете максимально просто предоставить пользователям возможность авторизовываться на Вашем ресурсе.

Также, нам говорят, что:
В результате авторизации виджет возвращает следующие поля: uid, first_name, last_name, photo, photo_rec, hash.

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

Сканирование фотопленки при помощи DSLR

Reading time6 min
Views52K
Предисловие

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

Зачем нужно?

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

10 занимательных задач

Reading time5 min
Views101K
image
Иллюстрация к последней задаче.

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

Перейти к задачам

Подборка полезных CSS рецептов, или чем мы занимаемся на голых пятницах

Reading time2 min
Views93K


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

Итак, представляем вашему вниманию сборку интересных и (надеемся) малоизвестных HTML и CSS-рецептов. Будем рады, если каждый из вас узнает что-то новое!
Вперед!

«Человек на острие ножа» — Джон Кармак, вехи достижений и вклад в игровую индустрию

Reading time29 min
Views70K


Фигура Джона Кармака в индустрии компьютерных игр (далее по тексту КИ) неоднозначна. Существует большое количество слухов и скандалов, связанных с его именем. Многие считают его неприятным человеком, и многие также считают его гением. Эти два свойства, кстати, не взаимоисключающи. Можно быть не самым приятным в общении человеком, но при этом делать удивительные вещи. В этой публикации мы не рассматриваем все заслуги Джона перед КИ, не обсуждаем его прения с членами команды, и не стараемся раскопать наибольшее количество скандалов. Даже историю Id Software затрагиваем не полностью, лишь вскользь касаясь пройденных Джоном вех.

Любой разработчик со стажем и любой отдавший всю свою жизнь индустрии может быть предметом глубоких исследований, множества публикаций, и даже книг. Однако все понимают, надеюсь, как много нужно времени, чтобы собрать всю эту информацию воедино, проверить и сопоставить факты, связаться с фигурантами, выработать четкую стратегию изложения. Чем больше проходит времени, тем плотнее пелена истории покрывает удаляющиеся от нас годы, откуда можно было бы извлечь знание. Одно дело если ты был очевидцем его, если читатель (или писатель) представляет старый пласт игроков и пласт людей интересующихся. Совсем другое дело если с материалом знакомятся люди, которые вообще не знакомы с играми Wolf3D, Doom, Quake и кому наборы букв IDDQD и IDKFA ничего не говорят. Как рассказать все и не утомить читателя? Как сосредоточиться на главном? Как не потратить недели и месяцы на публикацию казалось бы ненужной статьи?

Ответ прост. Выбрать то главное, что нужно донести до читателя. Выбрать стержень. Первопричину. То, что побудило написать эти строки. И я точно знаю, чего хочу в данный момент. Рассказать о том, почему я считаю Джона — человеком на острие ножа. Человеком авангарда. Рисковым экспериментатором и первопроходцем.


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

30 полезных сервисов для веб-разработчика

Reading time2 min
Views163K
Решил собрать сервисы, которые могут быть полезны веб-разработчикам и дизайнерам. Буду рад, если кто-то найдет для себя полезный сервис. Осторожно, под катом куча картинок!
Читать дальше →

Метод самостоятельного определения времени отклика LCD экрана монитора или телевизора

Reading time15 min
Views117K
«Кто нам мешает, тот нам поможет»
к/ф «Кавказская пленница»


Преамбула


Время отклика LCD экрана является одной из важнейших характеристик монитора и телевизора. От него зависит, насколько хорошо данный монитор подходит, например, для компьютерных игр или просмотра видео. Если время отклика слишком большое, то на экране за движущимися высококонтрастными объектами будут оставаться видимые глазом артефакты, воспринимаемые как «призраки» или «тени», мешающие просмотру. Но, в отличие от большинства других технических характеристик, время отклика трудно измерить. А ведь это могло бы быть очень полезно, например при приобретении нового монитора или телевизора, а также при их настройке.

С другими техническими параметрами все более-менее понятно и очевидно. Например, размеры экрана при желании можно измерить рулеткой или линейкой. Разрешение экрана и размер пикселя тоже можно «пощупать», разглядывая экран с близкого расстояния. Многие параметры (например, яркость и контрастность экрана, глубина черного, равномерность засветки, отображение градиентов, резкость, углы обзора, гамма и так далее) можно проверить с помощью специальных тестовых программ начиная от простейших утилиток типа «Nokia Test», и до программ для комплексной настройки, проверки и сравнения, например «LCD Vs_mon».

Но, к сожалению, время отклика LCD экрана так просто посмотреть и «пощупать» не получается, и остается ориентироваться на значения, указываемые изготовителем в паспорте или рекламном буклете. Но тут тоже все довольно запутано. Существуют разные понятия времени отклика: GtG (grey to grey, от серого к серому), BtW (black to white, от черного к белому), BtB или BWB (black-white-black, с чёрного на белый и обратно). К тому же каждый изготовитель измеряет время отклика монитора по собственной методике, некоторые из них для уменьшения времени отклика используют технологию разгона Overdrive, и поэтому прямое сравнение мониторов или телевизоров разных марок друг с другом может быть некорректным.

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

Можно ли как-то это сделать?

В принципе конечно можно, но…
Читать дальше →

Никогда не проверяйте e-mail адреса по стандартам RFC

Reading time7 min
Views185K
Множество сайтов требуют от пользователя ввода адреса электронной почты, и мы, как крутые и щепетильные разработчики, всегда стремимся проверять формат введенных адресов строго по стандартам RFC. Благодаря этому наши приложения и сайты проверяют формат e-mail корректно и не имеют проблем с юзабилити, а мы сладко спим, потому что уверены, что все работает как надо.
Ага, как бы не так!

Опасный getimagesize() или Zip Bomb для PHP

Reading time6 min
Views44K
Рекурсия

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

«Отлично, — подумал я, — самое время поковырять какой-нибудь движок, пока оно не вернулось!»

Сказано — сделано. Под катом предлагаю небольшой обзор уязвимости в распространённом движке фото-галереи на PHP и о том, как можно положить любой сайт, использующий getimagesize(), с помощью бородатой zip-бомбы (или пета-бомбы).
А что там дальше, за рамкой-то?

Рендеринг WEB-страницы: что об этом должен знать front-end разработчик

Reading time6 min
Views239K
Приветствую вас, уважаемые хабравчане! Сегодня я бы хотел осветить вопрос рендеринга в веб-разработке. Конечно, на эту тему уже написано много статей, но, как мне показалась, вся информация довольно разрознена и отрывочна. По крайней мере, чтобы собрать всю картину в своей голове и осмыслить её, мне пришлось проанализировать немало информации (в основном — англоязычной). Именно поэтому я решил формализовать свои знания в статью, и поделиться результатом с сообществом Хабра. Думаю, информация будет полезна как начинающим веб-разработчикам, так и более опытным, чтобы освежить и структурировать свои знания.

Данное направление можно и нужно оптимизировать на этапе вёрстки/frontend-разработки, поскольку, очевидно, что разметка, стили и скрипты принимают в рендеринге непосредственное участие. Для этого соответствующие специалисты должны знать некоторые тонкости.
Читать дальше →

Гикпорн 4 — продолжаем вскрывать микросхемы: БК0010, MEMS гироскоп и немного Роснано

Reading time4 min
Views59K
С момента публикации предыдущего поста с вскрытыми микросхемами прошло пол года — пора рассказать, что удалось увидеть нового. Для тех кто пропустил первые 3 серии — вот раз, два, три.

Toshiba TCD1201D — линейный монохромный CCD светочувствительный сенсор из 2048 элементов. Датчики такого типа применяются в факсах, считывателях штрих-кодов и даже на спутниках, фотографирующих землю. Сами светочувствительные элементы — в линии в центре кристалла. Накопленный за время облучения светом заряд постепенно «сдвигается» к краю кристалла двухфазным тактовым сигналом, где он усиливается — и далее уже может быть оцифрован, получится 1 строчка изображения.

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

Composer — менеджер зависимостей для PHP

Reading time10 min
Views405K
Composer (getcomposer.org) — это относительно новый и уже достаточно популярный менеджер зависимостей для PHP. Вы можете описать от каких библиотек зависит ваш проект и Composer установит нужные библиотеки за вас! Причём Composer — это не менеджер пакетов в классическом понимании. Да, он оперирует с сущностями, которые мы будем называть «пакетами» или библиотеками, но устанавливаются они внутрь каждого проекта отдельно, а не глобально (это одно из основных отличий от старого-доброго PEAR).

Кратко, как это работает:
  1. У вас есть проект, который зависит от нескольких библиотек.
  2. Некоторые из этих библиотек зависят от других библиотек.
  3. Вы описываете в своём проекте те библиотеки, от которых непосредственно зависит ваш код.
  4. Composer находит нужные версии требуемых библиотек для всего проекта, скачивает их и устанавливает в папку вашего проекта.

При создании Composer авторы черпали идеи и вдохновение из аналогичных проектов: npm для Node.js и Bundler для Ruby.

Изначально он был спроектирован и разработан двумя людьми Nils Adermann и Jordi Boggiano, сейчас в проекте участвует более двадцати контрибьюторов, Проект написан на PHP 5.3, распространяется под лицензией MIT и доступен на github.

Первые коммиты были сделаны апреле 2011 года и на сегодняшний день Composer находится в стадии «alpha3». Однако, он уже достаточно стабилен и используется многими популярными PHP проектами (например, Symfony 2). Список проектов использующих Composer можно посмотреть на сайте packagist.org — это официальный репозиторий Composer пакетов. Кстати, на недавней конференции Devconf 2012 разработчик фреймворка Yii в своём докладе упомянул, что Yii2 скорее всего тоже будет использовать Composer.

В этой статье я кратко опишу основные возможности Composer и мы попробуем создать демонстрационный проект использующий Composer для загрузки необходимых библиотек. Все примеры будут доступны на github.com и bitbucket.org.

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

HTML5 Drag and Drop загрузка файлов

Reading time4 min
Views138K
image
Благодаря нововведениям HTML5 создавать Drag and Drop интерфейсы стало гораздо проще. К сожалению, эти нововведения еще не обладают обширной поддержкой браузеров, но надеюсь в скором времени это изменится (на данный момент работает в Firefox 4+, Chrome и Opera 11.10).

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

10 банковских маркетинговых уловок, хитростей и обманов

Reading time8 min
Views148K
Пока движется разработка совершенно новой версии нашего продукта, которая никого не оставит равнодушным — мы продолжаем серию постов про банковские обманы и хитрости. Наш предыдущий пост оказался довольно успешным, поэтому мы решили написать еще один.

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


Узнать где меня обманывают

Несколько интересностей и полезностей для веб-разработчика #16

Reading time5 min
Views31K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

PourOver


image
Библиотека для реально быстрой фильтрации и сортировки огромных коллекций, где речь идет о сотне тысяч элементов. PourOver построен на идеально простых запросах, которые могут произвольно формироваться друг с другом. Вы сможете объединять, скрещивать и разделять запросы. PourOver будет помнить как были построены ваши запросы и по-умному обновлять их, если появятся новые элементы или будут изменены старые. Работает на IE7+, Firefox 4+, Safari 5+, Opera 9+, Chrome 1+.

Стоит также заметить, что это проект от New York Times, на корпоративном Гитхабе которого есть еще популярный backbone.stickit плагин для датабиндинга и Tamper — serialization protocol for categorical data. В последнее время гики из западных СМИ прямо раскочегарились — вот недавно я писал про классные проекты от The Guardian и Financial Times.

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

Information

Rating
Does not participate
Location
Гродно, Гродненская обл., Беларусь
Date of birth
Registered
Activity