• Еще одна статья про индексацию ajax-сайтов поисковиками

      image

      Стильно, модно, молодежно сегодня делать сайт на AJAX, с точки зрения пользователя — это быстро и удобно, а у поисковых роботов с такими сайтами могут быть проблемы.
      Читать дальше →
    • Архитектура REST

        Введение


        В русскоязычной части Интернета присутствует большое количество статей, посвященных веб-службам на основе SOAP и XML-RPC, но почему-то почти ничего нет про вполне заслуживающую внимания (но менее распространенную) архитектуру RESТ.

        В данной статье описываются основы этой архитектуры, возможности и примеры её использования.

        Читать дальше →
      • Улучшение опыта взаимодействия за счет использования карточек в дизайне

        • Translation
        image

        Талантливый Ник Бабич разработчик, UX/UI специалист поделился своим опытом в блоге UX Planet про Улучшение опыта взаимодействия за счет использования карточек в дизайне. Наша команда выполнила перевод данной статьи.

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

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

        Что такое карточки?


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

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

        Ускорение набора текста с помощью добавления спецсимволов


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

        Читать дальше →
      • Функциональная анимация в UX дизайне. Что делает ее эффективной?

        • Translation
        Предлагаю читателям «Хабрахабра» перевод статьи «Functional Animation In UX Design: What Makes a Good Transition?» за авторством Nick Babich.



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

        Движение может вдохнуть жизнь в рабочее пространство, умножая и деля его, меняя его форму и размер. Вы должны использовать функциональную анимацию для плавных переходов пользователя между различными функциями приложения, объяснения изменения расположения элементов и усиления иерархии объектов.
        Читать дальше →
      • Тернистый путь к продажам на Themeforest.net — Часть 1

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



          Информации в сети о заветном маркетплейсе Envato.com достаточно много, но детально расписанный процесс подготовки проектов попадается очень редко. Я сам не раз обращался к успешным авторам, продающим на Themeforest.net, за советом и помощью. Благо есть люди готовые помочь безвозмездно. Я надеюсь, моя статья также будет полезна начинающим авторам или тем, кто собирается стать автором. Ну или, по крайней мере, прольет немного света на темопроизводство.




          Как все начиналось


          Как я рассказывал в своих предыдущих публикациях, уже несколько лет моя небольшая студия занимается диджитал продакшеном: разработкой web сайтов и мобильных приложений. А разработкой шаблонов мы занялись по рекомендации моего товарища. Однажды он сказал, что это отличный дополнительный заработок для небольшой студии, и, мол, усилий требуется совсем немного для этого. Идея иметь дополнительный заработок, используя ресурс студии, который не загружен по текущим проектам, мне понравилась. Но тогда я еще даже не представлял какое количество времени мы потратим до того момента, как в продаже на Themeforest.net появится наш первый шаблон. Нам для старта продаж понадобилось более полутора лет. Однако, это случай частный и не стоит на него ориентироваться. Я знаю примеры и более стремительного успеха. Но хочу более детально рассказать, почему мы так долго к этому шли и с какими трудностями столкнулись в процессе.

          Читать дальше
        • Как правильно внести свою лепту в Open Source проект: простые подсказки

            Open Source проекты с каждым днём набирают всё большие обороты, появляются новые, активно развиваются популярные.
            Такие проекты как Bootstrap, Angular.js, Elasticsearch, Symfony Framework, Swift и многие другие привлекают новых разработчиков, их сообщество растёт. Всё это даёт огромный рост проектам, а самим разработчикам интересно поучаствовать в разработке чего-то, чем пользуется весь мир.

            Я, как и многие другие программисты, не устоял и также время от времени участвую в разработке Open Source проектов, в основном на PHP. Но когда я начинал, я столкнулся с проблемой — я не знал, как правильно организовать процесс «контрибьютинга», с чего начать, как сделать так, чтобы мой Pull Request рассмотрели и т.д.

            Всем начинающим «контрибьютерам», которые столкнулись с похожим проблемами, добро пожаловать под кат.


            Читать дальше →
          • Делаем веб-формы удобнее для заполнения

            • Translation
            Привет, Хабр! Сегодня для работы в Интернете все чаще используются мобильные устройства, а не компьютеры. При этом, на многих сайтах есть формы для ввода данных, позволяющие совершить покупку или подписаться на рассылку. Как результат, пользователям приходится много раз вводить на разных сайтах такие сведения о себе, как имя, номер телефона и адрес. Удобство веб-форм имеет огромное значение, потому что при работе с ними всегда вероятны ошибки, в результате чего многие пользователи вовсе отказываются от заполнения. Три года назад мы представили функцию автозаполнения в браузере Chrome, которая упрощает ввод данных в формы. Теперь Chrome полностью поддерживает в формах атрибут autocomplete в соответствии с современным стандартом WHATWG HTML. Благодаря этому веб-мастера и разработчики могут помечать поля атрибутами, например name и street-address (имя и адрес), не изменяя интерфейс или другой код сайта. Те, кто реализовал эти возможности, отмечают, что их формы стали заполняться чаще.

            автозаполнение форм на смартфоне

            Например, если пометить поле для ввода электронного адреса, то код будет выглядеть так:

            <input type="text" name="customerEmail" autocomplete="email"/>
            

            Больше кода под катом!
          • Почему палитра современных фильмов оранжево-синяя

            • Translation
            image
            Jupiter Rising (2015)

            Может быть, вы не заметили, но за последние 20 лет в Голливуде развился устойчивый курс на оранжево-синюю палитру картинки. Также эта цветовая схема известна под именами «оранжевый и зеленовато-голубой» или «янтарный и зеленовато-голубой». Не верите? Давайте проверим. Предупреждаю сразу – после увиденного развидеть его уже не удастся, вы будете замечать эту палитру везде.
            Я предупредил
          • Топ10 ошибок, совершаемых при разработке на AngularJS

            • Translation
            На настоящий момент AngularJS — один из самых популярных javascript фреймворков. Его использование упрощает процесс разработки, делая AngularJS великолепным инструментом для создания небольших веб-приложений, но возможности фреймворка не ограничиваются этим и позволяют разрабатывать большие, наполненные разнообразным функционалом приложения. Комбинация легкости в разработке и большое количество возможностей привели к широкому распространению, а вместе с распространением появились типичные, часто встречающиеся ошибки. В этом топике описаны наиболее распространенные ошибки, встречающиеся при разработке на AngularJS больших проектов.
            Читать дальше →
          • 22 photoshop-плагина для фронтенд-разработчика

            Предлагаю читателям «Хабрахабра» подборку 22 дополнений (скриптов) помощников, необходимых фронтенд-разработчику.

            Hexy


            Hexy

            Печально выбирать слои в макете и каждый раз запускать палитру цветов только для того, чтобы получить шестнадцатиричное значение того или иного цвета. Hexy позволяет использовать инструмент «Пипетка»: нажмите на цвет объекта и скопируйте его непосредственно в буфер обмена.
            Читать дальше →
            • +22
            • 70.6k
            • 9
          • 58 признаков хорошего интерфейса

            • Translation
            У хорошего интерфейса пользователя высокая конверсия и его просто использовать. То есть, он хорош и для бизнеса, и для использующих его людей. Вот список опробованных нами идей.

            1 Один столбец вместо нескольких


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

            image
            Читать дальше →
          • Как не стать спамером со своей уютной рассылочкой

              image
              Пользователь когда-то подписался на рассылку, но уже забыл когда, и главное зачем. Теперь ежедневно к нему падает спам, а по собственному опыту он знает, для того чтобы отписаться нужно зайти по ссылке свой профиль, найти и снять там какую-то галку а главное, помнить свой логин и пароль на давно забытом им сайте.
              Его действия? «В спам!»

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

              И вот, с десяток таких «отписок» и гугл будет удобно отсортировывать ваши рассылки в папочку Спам (584), у ВСЕХ ваших подписчиков.

              Однако многие из нас уже успели заметить: некоторые письма в Gmail при попытке отметить их «В спам!» САМИ предлагают отписаться от рассылки в один клик.

              Эта фича была введена google более года назад, но лишь единицы рассылок научились ей пользоваться. И не удивительно. В рекомендациях по осуществлению массовых рассылок, лишь косвенно упоминается о том, что Вам нужно сделать.
              А сделать нужно не многое.
              Читать дальше →
            • О том, как я впустую потратил пару штук баксов

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

                Сначала я расскажу, как я облажался и что в итоге получил, а потом, что я из этого извлек.

                Первый старт магазина, а точнее первый движок, был Shopcms (в то время avalonshop). Не расписывая все прелести данного движка, скажу, что он тяжел для модификаций. Еще в те далекие годы, даже сделать нормальный дизайн для двига, а потом натянуть его стоило бы нам, по нашим тогдашним меркам, немалых денег. А за три месяц мы поняли, что надо менять дизайн. Да и кроме дизайна, хотелось сделать красивый, удобный сайт.

                Вот тут-то и начались повальные ошибки.
                Читать дальше →
              • Наш чеклист для фильтров на сайтах

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

                  Эти требования разумны. Часть из них трудно реализуема. Часть — очевидна. Часть — зависит от контекста. Но в целом они довольно универсальны. Если будут какие-то вопросы по конкретным пунктам — велкам в комментарии.


                  Читать дальше →
                • Единая авторизация пользователей с поддержкой нескольких сервисов

                    Yii EAuth extension При реализации одного из проектов на Yii framework у меня возникла задача сделать регистрацию и авторизацию пользователей через сторонние сервисы (Google, Facebook, Twitter, etc).

                    У данной задачи есть два пути решения:
                    • Использовать сервис авторизации, например Loginza;
                    • Реализовывать функции авторизации самостоятельно для каждого сервиса.
                    UPDATE: Актуальная версия и инструкция по настройке доступны на github.com. Инструкция в данной статье подходит для EAuth версии <= 1.1.3.
                    Я выбрал второй вариант...
                  • Kiev Ciklum Dynamics Education Course

                      Ciklum is glad to introduce “Ciklum Dynamics Education Course” for the students of the 5th course and University graduates.
                      We offer a great opportunity:
                      • To get familiar with ERP systems;
                      • To get trained in Microsoft Dynamics AX;
                      • To work in international environment with highly professional developers;
                      • To gain the unique skills needed to help businesses automate and streamline financial, customer-relationship, and supply-chain processes;
                      • To sign a contract and join Ciklum Dynamics Division after the course attendance and successful final exam.
                      image
                      Читать дальше →
                    • Несколько интересностей и полезностей для веб-разработчика (выпуск 6)

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

                        Zephir — Ze(nd Engine) Ph(p) I(nt)r(mediate). Зефир — это компилируемый высокоуровневый язык программирования, предназначенный для написания PHP расширений без использования C. Проект от создателей Phalcon (скомпилированный PHP MVC Framework). О Zephir на Sitepoint
                           

                        JSDB.IO — большая и качественная база нужных скриптов/библиотек/фреймворков на JavaScript. Все распределено по категориям: Animation, Application, Audio, Video, Games и др. Дабы собрать все популярные .js воедино добавлю еще три ссылки: Microjs (множество маленьких полезностей до 5кб), а еще jsdelivr и cdnjs, которые позволяют добавлять собственные скрипты.

                        Snap.svg — продукт от Adobe Webplatform. Недавно я рассказывал про "достойного конкурента Raphaël" и в комментариях оспоривали эту фразу из за отсутствия поддержки такого же множества браузеров. В разработке Snap участвует автор Raphaël — Дмитрий Барановский, а причина создания новой библиотеки для работы с SVG — невозможность поддерживать все возможности SVG в старых браузерах.

                        At.js — очень юзабельный скрипт для автозаполнения (в демо используется Emojify). А еще есть более функциональная библиотека для автозаполнения — Typehead от Twitter.
                        $('.atwho-inputor').atwho({
                          at: "@", data: ["one", "two", "three"],
                        });
                        

                        Читать дальше →
                        • +40
                        • 28.3k
                        • 9
                      • Хитрости и трюки при использовании Wine

                        image

                        Всем привет!
                        Прочел статью про «Все тонкости настройки Wine», оказалось, что там далеко не все тонкости. Поэтому написал этот пост как дополнение тому.

                        В данном посте в основном вольный перевод оф. документации, а так же несколько своих и чужих хитростей при работе с вайн.
                        Скорее всего данный пост будет интересен новичкам и обычным пользователям GNU\Linux. Тем не менее добротные советы от специалистов не будут лишними.
                        Читать дальше →
                      • Руководство по проектированию реляционных баз данных (7-9 часть из 15) [перевод]

                        • Translation
                        Продолжение.
                        Предыдущие части: 1-3, 4-6

                        7. Связь один-ко-многим.


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

                        Другой пример связи один-ко-многим – это связь, которая существует между матерью и ее детьми. Мать может иметь множество детей, но каждый ребенок может иметь только одну мать.

                        (Технически лучше говорить о женщине и ее детях вместо матери и ее детях потому, что, в контексте связи один-ко-многим, мать может иметь 0, 1 или множество потомков, но мать с 0 детей не может считаться матерью. Но давайте закроем на это глаза, хорошо?)

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

                        image
                        Схематическое представление связи один-ко-многим. Запись в таблице А имеет 0, 1 или множество ассоциированных ей записей в таблице B.
                        Читать дальше →