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

С выходом новой версии Intersystems Caché появилась возможность использовать технологию REST и строить приложения, с помощью различных Javascript UI библиотек, в то время как сервер Caché выступает в роли сервера данных. В данной статье будет рассмотрен очень простой пример доступа к хранимым классам Caché с помощью технологии REST.
Читать полностью »

jQuery.viewport или как я искал элементы на экране
Равно как у каждой девушки должно быть «маленькое черное платьице», у каждого front-end разработчика должен быть «маленький черный плагинчик»… как-то не очень звучит, пусть будет «маленький функциональный плагинчик», так о чем это я, я это о том, что хочу одним таким поделиться.

Представленный плагин позволяет определять положение какого-либо элемента/набора элементов, относительно области просмотра. Функционально, он расширяет набор псевдо-селекторов, а так же добавляет трекер элементов.

Так же, под катом, я расскажу о процессе написания плагина, с какими трудностями столкнулся и т.д., если я Вас заинтересовал — милости прошу под кат.
Читать полностью »

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

image

Весной нам в голову пришла идея сделать простой сервис для облачного бэкапа серверов. Поскольку в то время работа над проектом велась преимущественно по вечерам и по выходным, для ускорения процесса было решено использовать только те технологии, в которых у нас есть опыт. Для backend-части был выбран Django, а реализация клиентской части предполагалась в виде SPA на базе AngularJS. Задумка была в следующем: сделать продукт с минимальным функционалом, а затем постепенно добавлять новые возможности. Для этого необходимо было сделать достаточно гибкую и масштабируемую систему. Немного пораскинув мозгами, мы приступили.
Читать полностью »

Всем привет! По моему мнению, каждый программист должен стремиться к автоматизации и оптимизации всего, что движется и еще нет. В этой статье будет рассказано о том, как автоматизировать рабочий процесс Ruby on Rails разработчика с помощью Ruby гема под названием Guard. Эта статья в первую очередь полезна Ruby разработчикам, но может пригодиться и другим.

image

Что такое Guard?

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

Приглашаем на лекцию и семинар Виталия Фридмана

Приглашаем на лекцию и семинар Виталия ФридманаСегодня мы рады сообщить, что в наш московский офис Mail.Ru Group приезжает Виталий Фридман, шеф-редактор журнала Smashing Magazine, один из самых известных людей в мировом веб-дизайне. Он проведет два мероприятия. Первое — это открытая лекция. Тема выступления: «Responsive Web-дизайн: Трюки и уловки».

В своём выступлении Виталий затронет такие ключевые моменты:

  1. Как достичь отзывчивости веб-дизайна, не затрачивая слишком большие финансовые и профессиональные ресурсы.
  2. Как оптимизировать эффективность responsive веб-сайта. Опыт, основанный на реальных кейсах таких сайтов, как The Guardian, BBC и Smashing Magazine.
  3. Новые трюки для SVG.
  4. Новые шаблоны responsive дизайна.

Лекция состоится 14 ноября в 19.00. Для её посещения необходимо зарегистрироваться. Внимание, количество мест ограничено!
Читать полностью »

Возможное будущее для PHP
Изображение взято с wikimediafoundation.org

От переводчика: данный пост является вольным переводом статьи A possible future for PHP, написанной Frank Karlitschek, основателем компании ownCloud и разработчиком одноименного открытого продукта для создания облачных хранилищ .

Если посмотреть на последние статистические данные OwnCloud является одним из крупнейших проектов с открытым исходным кодом, написанным на PHP. Большинство из вас знает, что PHP используется для реализации серверной части OwnCloud. Мы используем и другие технологии, такие как C++ и Qt для настольных клиентов, Java для Android приложения и Objective-C для iOS, JavaScript для веб-интерфейса и многое другое. Но сердцем OwnCloud является серверный компонент, который базируется на PHP 5.3 или выше…

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

В этой статье мы создадим простой минимальный шаблон для WordPress. Для начала я хочу заметить, что есть два варианта написания шаблонов для WordPress. Если вы хотите внести изменения в уже существующий шаблон, дополнить его или изменить функциональность, то самым простым вариантом будет создание дочернего шаблона. Такой шаблон может состоять всего из одного файла css, объявляющего стили новой темы, а все остальные файлы будут взяты из родительской темы. Это самый лучший вариант для создания новых шаблонов для новичков, а так же в том случае, если тема является модификацией существующей, потому что таким образом можно избежать ошибок и создать действительно корректно работающий шаблон. Темы WordPress должны отвечать всем требованиям, заявленным в кодексе, и одно из этих требований звучит так: весь код в тему должен добавляться осмысленно.

Создание дочерней темы

Для этого в директории с темами создайте папку с названием новой темы, а внутри нее файл style.css. Для того, чтобы тема заработала, необходимо оформить комментарий в начале этого файла. Вот пример заголовка для темы, которая будет дочерней для стандартной темы Twenty Fourteen:

/*
 Theme Name:   Twenty Fourteen Child
 Theme URI:    http://example.com/twenty-fourteen-child/
 Description:  Twenty Fourteen Child Theme
 Author:       John Doe
 Author URI:   http://example.com
 Template:     twentyfourteen
 Version:      1.0.0
 Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain:  twenty-fourteen-child
*/

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

Создание темы с нуля

Мы создадим тему, состоящую всего из двух файлов:

  • style.css
  • index.php

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

Это произошло еще 29 сентября, но новость прошла незамеченной мимо Хабра.
Как написано в блоге компании, «еще вчера в интернете было 2 миллиона сайтов, поддерживающих SSL. Сегодня мы удвоим это число.»
Cloudflare включил бесплатный SSL для всех сайтов
Что предлагается вкратце: бесплатные wildcard-сертификаты, поддержка SPDY, возможность зашифровать трафик также между cloudflare и вашим сервером. Заинтересовавшихся прошу под кат.
Читать полностью »

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

Что было

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

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


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