Рубрика «Веб-разработка» - 60

    В один прекрасный день я обнаружил, что narod.ru, наше все в области истории рунета и неисчерпаемый кладезь вырвиглазных сайтов, продался! Ucoz купил его. Невелика беда, подумал я, после того как перерегистрировал все свои старые сайты под ucoz и на время забыл о проблеме. Но вот недавно узнав о существовании изобилия генераторов статических сайтов я принял решение сделать еще один сайт ни о чем. Какого же было мое удивление, когда выяснилось, что Ucoz.ru более не поддерживает загрузку файлов html, обрекая вас использовать его конструктор сайтов помимо воли.

    Конечно, можно купить хостинг за пару долларов в месяц, можно найти бесплатный хостинг с perl, php и mysql. Можно даже идти в ногу с достижениями времени и воспользоваться heroku или google app engine, получив в нагрузку еще и поддержку передовых языков программирования. Но все это не то. Нет души. Разве может сравниться ламповая закачка обновлений по FTP с бездушной публикацией нажатием одной кнопки в WordPress? Не может. Именно поэтому давайте посмотрим где и как сегодня можно сделать статический сайт.Читать полностью »

В этой статье мы опишем основные принципы построения слайд-шоу на JavaScript, то, из чего они строятся (HTML, CSS, JavaScript) и техники, которые используются при их создании.

JS-код будет представлен в двух видах – ванильном и jQuery. Это сделано специально, чтобы подчеркнуть: в современных браузерах даже простой JS можно прекрасно использовать, особенно комбинируя его с анимациями и переходами CSS. jQuery хорош, если нам не хочется волноваться насчёт несовместимостей браузеров или использовать более простой API. Предоставленный код преследует лишь в демонстрационные цели.

В примерах с ванильным JS я использую простейший метод инициализации объектов, init(). Этот метод занимается вызовом нужного кода для создания экземпляра объекта через new. В этой ветке на Stack Overflow всё объясняется подробнее. Почему объекты, а не функции? Для ответа на этот вопрос понадобилась бы отдельная статья – но, в общем, просто чтобы код был более организованным и простым для повторного использования.
Читать полностью »

Привет! Смартфон есть у каждого? Часто ищете на нём что-нибудь? Натыкались на ужасные мобильные версии сайтов? С этого дня всё должно измениться.

Улучшаем результаты поиска на мобильных устройствах - 1

Поиск на мобильных устройствах отличается от десктопного: актуальные и свежие результаты пользователям нужны вне зависимости от того, где они расположены и насколько качественное подключение используется. Мобильное приложение? Замечательно. “Классический” сайт? Хорошо. Мобильная версия? Превосходно. Но что делать, если разработчик не позаботился о грамотной обработке переадрессаций с десктопной версии на мобильную? Пользователи из-за этого теряют время, иногда — ещё и деньги, нервы, билеты на самолёт и много чего ещё.

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

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

Разговорный бот для Вконтакте на PHP - 1

Интро. Лирика.

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

Читать полностью »

Введение

Как недавно было сказано в публикации в «Честные приватные свойства в прототипе», существует два лагеря JavaScript-разработчиков:

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

Я отношу себя ко второму лагерю и решаю проблему объявлением всего класса в его конструкторе, что позволяет использовать private/public в любой комбинации с static.
Читать полностью »

Долгое время я изучал паттерн MVC. Больше полутора лет прошло с тех пор, как я впервые с ним познакомился и в течение всего этого времени я никак не мог упорядочить в своей голове зоны ответственности трех составляющих паттерн компонентов.

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

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

Я решил собрать всю недостающую информацию в одном месте. Это и стало причиной для написания статьи.

tl;dr: читаем итог. Остальных прошу устроиться поудобнее.
Читать полностью »

Здравствуй, мой дорогой любитель поработать с Composer'ом, создавая свой очередной крутой проект на одном из модных фреймворков. Или, быть может, ты — фронтэнд-мастер, пишущий сложные штуки на JS и CSS, компилируя их из jsx- и less-файлов, устанавливая библиотеки через Bower, а проект собирая в каком-нибудь Grunt, попутно прогоняя код юнит-тестами и, конечно же, заливая потом всё это на github… Если всё это — часть твоей повседневной жизни, то хвала Всевышнему, поздравляю: ты прошел все эти испытания и даже не сломал себе мозг. Отныне, ты — из числа тех счастливых, потративших не одну неделю, разбираясь в том, как корректно настроить всю эту кучу инструментов, а также, ты — один из тех, кто может доминировать, властвовать и унижать блистать своими знаниями в комментариях Хабра к статьям других, менее проворных и смышлёных коллег по цеху…

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

Привет!

За последние 10 лет(С днем рождения, prototype.js!) было написано очень много библиотек для эмуляции полноценного ООП в javascript.
Все они, так или иначе, решали задачу реализации приватных членов класса.

Копьев сломано много и в итоге разработчики разделились на 2 части:
Первая прячет приватные свойства в scope конструктора и отказывается от использования прототипов(создает методы для каждого экземпляра объекта заново), вторая просто использует соглашение в именах вроде "_privateProperty" и по сути никак не инкапсулирует данные.

Читать полностью »

Наша компания занимается созданием Интернет-магазинов запчастей на собственной SaaS-платформе (ABCP.RU), а также у нас есть несколько связанных проектов, например, сервис поиска запчастей 4MyCar.ru.
Как и многие другие веб-проекты, мы в своё время пришли к пониманию необходимости геолокации по IP-адресу. Например, сейчас она используется на 4MyCar.ru для определения региона (при первом входе на сайт регион автоматически устанавливается именно так).

Сага о геолокации и как сделать гео-вебсервис без движка базы данных и без программирования - 1

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

Читать полностью »

На прошлой неделе BBC рассказала, что для новой версии главной страницы использовала методологию БЭМ, разработанную в Яндексе. По такому случаю мы решили поднять материалы мастер-класса «Разрабатываем сайт с нуля на полном стеке БЭМ-технологий» и рассказать вам, как начать использовать полный стек БЭМ-технологий в своих проектах.

Сайт с нуля на полном стеке БЭМ-технологий. Методология Яндекса - 1

БЭМ упрощает разработку сайтов, которые нужно быстро создавать и долго поддерживать. Эту технологию используют во фронтенде почти всех сервисов Яндекса, и она уже успела обрасти множеством библиотек и инструментов, которыми мы хотим с вами поделиться. С обширным арсеналом БЭМ, со всей его модульностью и мощью, вам останется «всего-то» придумать идею и реализовать её.

В статье мы расскажем, в чём преимущество вёрстки независимыми блоками и что такое уровни переопределения, познакомимся с готовыми библиотеками блоков и инструментами для автоматизации сборки. Покажем, как разные инструменты — например, autoprefixer, css-препроцессор Stylus или модульная система YModules — упрощают жизнь разработчика и создают по-настоящему удобную платформу, если встроить их в процесс разработки по БЭМ.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js