Pull to refresh
2
0
Андрей Лукьянов @loveorigami

User

Send message

11 видов кэширования для современного сайта

Reading time7 min
Views93K


Автор данной статьи не встречал структурированной обзорной информации о важных этапах кэширования, поэтому ему хотелось бы поделиться наработанным опытом в этой области, соединить воедино всю основную информацию по данному вопросу, а также рассмотреть плюсы и минусы каждого вида кэширования.
Читать дальше →
Total votes 30: ↑19 and ↓11+8
Comments18

Продолжаем настраивать практически бесплатную рекламу на пользователей Хабра. На этот раз с помощью виджета авторизации

Reading time3 min
Views22K
В позапрошлом посте я указал на не очевидную уязвимость Хабра, которая позволяла вставлять пиксель ретаргетинга ВК в нужные статьи для сбора максимально целевой аудитории и дальнейшей рекламы на неё через соц сети.

Благодаря стараниям разработчиков, эта проблема была успешно пофикшена в течение нескольких дней, но на этом наша сага не закончена. Напомню, что согласно официальному прайс-листу Хабра стоимость 1000 показов банера для пользователей ресурса колеблется от 400 до 550 рублей. За гео-таргетинг по Москве и Питеру придется доплатить 20 и 15 процентов соответственно.

Но всё еще существует способ рекламироваться на эту же аудиторию платя 30-150 рублей за тысячу показов. Давайте думать, как исправить и эту фичу:

image
Читать дальше →
Total votes 65: ↑60 and ↓5+55
Comments12

Визуальный генератор регулярных выражений

Reading time6 min
Views232K
Все разработчики рано или поздно сталкиваются с регулярными выражениями. Практически в 100% случаев нам совершенно не нравится их составлять, считая это побочной работой, не связанной с программированием.

Большинство из нас, впервые столкнувшись с данной проблемой, начинают забивать в поисковых системах что-то типа: «regexp online generator» и к своему великому сожалению осознают что гугл сломался все результаты в поиске являются сервисами для проверки корректности уже составленного регулярного выражения (или я плохо гуглил).

А как же составить это самое регулярное выражение?


image

До недавнего времени существовало 2 ответа на этот вопрос:

  1. Изучить документацию по регулярным выражениям и составить регулярку самому
  2. Попросить кого-то более опытного сделать это за вас

Теперь, после нескольких месяцев разработки, рад представить и 3-й ответ:

» Генератор регулярных выражений

История


Давным давно, в одном проекте пришел довольно интересный и сложный запрос от внутренних пользователей. Персоналу технической поддержки нужно было самим задавать правила валидации для определенных полей, разным пользователям. Правила должны были часто и очень оперативно изменяться.
Читать дальше →
Total votes 70: ↑63 and ↓7+56
Comments66

50 оттенков Go: ловушки, подводные камни и распространённые ошибки новичков

Reading time44 min
Views214K


Go — простой и забавный язык. Но в нём, как и в любых других языках, есть свои подводные камни. И во многих из них сам Go не виноват. Одни — это естественное следствие прихода программистов из других языков, другие возникают из-за ложных представлений и нехватки подробностей. Если вы найдёте время и почитаете официальные спецификации, вики, почтовые рассылки, публикации в блогах и исходный код, то многие из подводных камней станут для вас очевидны. Но далеко не каждый так начинает, и это нормально. Если вы новичок в Go, статья поможет сэкономить немало часов, которые вы бы потратили на отладку кода. Мы будем рассматривать версии Go 1.5 и ниже.
Читать дальше →
Total votes 80: ↑76 and ↓4+72
Comments270

Интересное в закладках UX/UI-дизайнера

Reading time3 min
Views29K
Какие мысли вас посещают, когда вы видите выдающиеся работы других людей? Наверняка, вы восхищаетесь ими, как и мы. Но что более важно, возможно, вам интересно, как люди этого добились, как пришли к успеху. Откуда они черпали свое вдохновение? Что они искали и просматривали в интернете? Давайте посмотрим, что интересного может быть в закладках у UI/UX-дизайнера.
Читать дальше →
Total votes 19: ↑13 and ↓6+7
Comments4

Настройка окружения для PHP разработчиков

Reading time9 min
Views45K
В данной статье мы рассмотрим настройку окружения для PHP разработчиков с использованием Vagrant, Docker, Xdebug, PHPUnit, и интеграцию с IDE PHPStorm.

+

Требования


  • Окружение должно развертываться на Windows, MacOS, Linux
  • Установка должна быть максимально простой
  • Быстрая работа с файловой системой
  • Интеграция с IDE PHPStorm
  • Несколько версии PHP интерпретаторов (5.6, 7.0)

Читать дальше →
Total votes 38: ↑33 and ↓5+28
Comments62

Yii2: Кастомизация Bootstrap с помощью Less

Reading time4 min
Views11K
image

В Yii2 и множестве его сторонних расширений используется Bootstrap. Обычно Bootstrap не заменяют чем-то другим, ведь с ним достаточно удобно работать, и на вид он вполне эстетичен. Если захотелось освежить интерфейс приложения, то может быть не очень отрадно переопределять кучи css-свойств. Обиходные «шкурки» из bootswatch предлагать не буду, приятней взять препроцессор и переопределить несколько переменных. Преобразить облик сайта таким способом можно основательно. Покажу на примере с Less, так как актуальный бутстрап написан на нем. При желании можно подменить дефолтный пакет на Sass-овский или Stylus-овский и изменить приведенный далее код соответственно препроцессору.
Читать дальше →
Total votes 24: ↑15 and ↓9+6
Comments5

PHP 7.1: Обзор новых возможностей

Reading time7 min
Views69K
image На Хабре уже был перевод с обзором несколько месяцев назад, но недавно вышел первый релиз-кандидат PHP 7.1, а значит никаких существенных изменений больше не будет и можно сказать, какие точно изменения будут в релизе. Я решил немного оживить сухой “changelog” своим вольным переводом изменений, которые принесет нам новая минорная версия 7.х ветки.
Хочу узнать
Total votes 46: ↑46 and ↓0+46
Comments58

Symfony2 двухфакторная авторизация с помощью сертификата

Reading time3 min
Views8K
Речь пойдет о Symfony2-CertAuthBundle — бандле для популярного фрейморка Symfony2, который позволяет легко внедрить двухфакторную аутентификацию на основе x509 сертификатов клиентов.

Иногда стандартной аутентификации в виде формы логина недостаточно чтобы надежно защитить проект.

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

Для тех, кто считает, что его проекту нужен более надежный метод защиты добро пожаловать под кат.
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments3

Системные скрипты на php для linux, пишем скриншотер

Reading time6 min
Views13K
Многие люди считают что php подходит только для разработки сайтиков, и никак не может быть использован, в других областях применения языков программирования, для создания программ… В этой статье я бы хотел осветить, применение php скриптов «не целевым» образом, а именно мы напишем скрипт который будет делать скрин, выгружать его на yandex диск и выводить адрес скриншота в консоль…
Поехали
Total votes 32: ↑17 and ↓15+2
Comments21

Верстка: отображаем пользовательский контент

Reading time8 min
Views33K
Под пользовательским контентом в этой статье мы понимаем любой текст на странице, автором которого является пользователь. Чаще всего это комментарии, пользовательские записи «на стене» в микроблоге, информация «о себе» в профиле и все в таком роде. Задача не то чтобы очень сложная, но требует внимательности и хорошего понимания основ верстки. В этой статье сделана попытка собрать воедино то наиболее важное, что нужно знать о верстке, включающей пользовательский текст.


Читать дальше →
Total votes 57: ↑53 and ↓4+49
Comments18

Не поставил favicon на сайте — получи двойной трафик от Chrome

Reading time3 min
Views18K
Впервые за пять лет разработки интернет-сайтов я столкнулся с весьма неожиданной проблемой, стоившей мне многих часов поиска, нервов и волос на голове. Внезапно я обнаружил, что на новом сайте, который у меня сейчас в разработке на локалхосте, дублируются INSERT запросы к БД. Отправляю один комментарий через форму, а в базу вставляются два. Если вы не знаете, как связана эта проблема с Chrome, favicon.ico и ModRewrite, то добро пожаловать под кат.
Читать дальше →
Total votes 91: ↑32 and ↓59-27
Comments60

Будущее сайтов: автоматическая сборка на базе ИИ и не только

Reading time7 min
Views27K
Наш технический директор* верит, что искусственный интеллект будет создан ориентировочно к середине этого века, и лет через пятьдесят с большой вероятностью будет достигнута около-сингулярность с виртуализацией, ИИ и вот этим всем.



Но чтобы светлое завтра наступило, уже сегодня нужно решать связанные с ним практические задачи. Так что мы занялись технологией, которая будет делать сайты за людей. Нет, не за специалистов, создающих сложные и высоконагруженные системы. А за ребят с “сайтом-визиткой за 3000” — потому что ИИ, как минимум, не пропадет на месяц после предоплаты.

Прелесть вот в чем: запуск конструктора сайтов с нейросетью и алгоритмическим дизайном** — дело не пятидесяти, а всего пары лет. Это будущее, которое можно пощупать уже сегодня.
Ведь не все хотят делать себе сайты сами
Total votes 40: ↑34 and ↓6+28
Comments43

«Й» вам не «и» краткое! О важности нормализации Unicode

Reading time3 min
Views54K
й

За последние полгода интернет просто наводнила «буква» «й». Я встречал ее на новостных сайтах, в мессенджерах, на хабрахабре и geektimes. «О чем вообще речь?» — спросите вы — «Я вижу обычную букву й!». Вам повезло. Я вижу ее так:
image
image
image
image
image
Если вы из тех счастливчиков, у кого буква «й» выглядит так же, как и «настоящая» «й», вот вам фокус: скопируйте ее (букву «й») в блокнот, поставьте курсор в конец буквы и нажмите backspace. Магия, отвал башки просто!
Как же так получается?

Графемы, глифы, code points, компоновка и байты

Очень краткое введение:
Графема — то, что мы привыкли называть буквой в смысле единицы текста. Глиф является единицей графики, и может графически представлять саму графему или же ее часть (например, различные диакритические знаки: ударения, умляуты, надстрочное двоеточие у буквы ё и т.д.).
Code Point — то, как записывается текст в представлении Unicode. Одна графема может записываться разными code points.
Code Points кодируются различным байтовым представлением в зависимости от стандарта: UTF-8, UTF-16, UTF-32, BE, LE…
Языки программирования, как правило, работают с code points; для нас, людей, привычно мыслить глифами.

Давайте же наконец разберемся с нашей буквой й. Что же в ней такого особенного?
Эта буква представляет из себя одну графему («и» краткое), но записана она двумя code points:
U+000438 CYRILLIC SMALL LETTER I
U+000306 COMBINING BREVE

Если вы проделали фокус с нажатием backspace, вы как раз и стерли COMBINING BREVE, или, говоря полиграфическим языком, значок краткости над гласной.

Обычная буква «и» краткое, которую мы все с вами привыкли набирать клавиатурой, представляет из себя композитный символ, который записывается одним code point:
U+000439 CYRILLIC SMALL LETTER SHORT I
Читать дальше →
Total votes 100: ↑97 and ↓3+94
Comments125

Как мы учили Facebook делать сайты или План “Конверт”

Reading time4 min
Views11K
В конце прошлого года нам поставили задачу — сделать инструмент, который автоматически создавал бы адаптивный сайт на основе информации со страницы бизнеса в соцсети. На этом пути мы:

  • Познакомились с правнуком Льва Термена и выполнили его просьбу.



  • Похоже, первыми реализовали автоматический перенос отзывов с Facebook на другие платформы.
  • И изобрели еще один способ ускорить работу над недорогим сайтом для фрилансера и заказчика.
А начиналось все с чистого листа
Total votes 37: ↑32 and ↓5+27
Comments21

12 инструментов и сайтов для UI/UX дизайнеров

Reading time2 min
Views62K
Инструменты для разработки постоянно совершенствуются как с точки зрения удобства использования, так и с точки зрения пользовательского опыта. Это очень удобно и для дизайнеров, и для пользователей. Не удивительно, что опытные веб-дизайнеры стараются идти в ногу со временем и изучают новые инструменты. Авторы сотен блогов и сайтов, посвященных дизайну, регулярно публикуют новые статьи, делятся своими знаниями и дают свои рекомендации по использованию новых инструментов. Для дизайнера все это является очень полезным источником информации. Мы тоже подобрали самые последние инструменты и веб-сайты для дизайнеров.

image

Читать дальше →
Total votes 34: ↑25 and ↓9+16
Comments1

Что такое шаблоны проектирования?

Reading time11 min
Views79K
Вы когда-либо задавались вопросом, что такое шаблоны проектирования? В этой статье будет разъяснено, почему шаблоны проектирования имеют существенное значение, и будет приведено несколько примеров на PHP, поясняющих, когда и где их следует использовать.

Шаблоны проектирования — это допускающие многократное использование оптимизированные решения проблем программирования, с которыми мы сталкиваемся каждый день. Шаблон проектирования — это не класс или библиотека, которые мы можем просто вставить в нашу систему. Он — много больше. Это — некоторый шаблон, который должен быть реализован в надлежащей ситуации. Он не зависит от языка. Хороший шаблон проектирования должен быть таким, чтобы его можно было использовать с большинством языков (если не со всеми) в зависимости от характеристик языка. Чрезвычайно важно то, что любой шаблон проектирования необходимо использовать очень осторожно — если он применён в ненадлежащем месте, то его действие может быть разрушительным и породить много проблем для вас. Однако применённый в нужном месте в нужное время он может стать вашим спасителем.
Читать дальше →
Total votes 35: ↑22 and ↓13+9
Comments75

Жадная загрузка в Yii2, для тех кто хочет понять что это такое

Reading time2 min
Views30K
Пост рассказывает для чего необходимо использовать «жадную загрузку», вместо «ленивой загрузки», не претендует на идеал. И вряд ли заинтересует профессионалов, больше подходит для начинающих в изучении YII2.

Используем жадную загрузку в своем приложении. Допустим у нас имеется две таблицы с постами и категориями. У каждого поста возможна одна категория, у категорий 1 или более постов.

bd - mediarise.ru
Читать дальше →
Total votes 16: ↑8 and ↓80
Comments23

PHP-Дайджест № 88 – интересные новости, материалы и инструменты (13 июня – 17 июля 2016)

Reading time4 min
Views21K


После небольшого перерыва PHP-Дайджест снова в деле! Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.

Приятного чтения!
Читать дальше →
Total votes 46: ↑43 and ↓3+40
Comments6

400 потрясающих бесплатных сервисов

Reading time16 min
Views718K

Рад представить дополнение оригинального списка из 300 потрясающих бесплатных сервисов. Автор оригинальной статьи Ali Mese добавил ещё +100 новых сервисов, которые помогут найти все — от источников вдохновения и редакторов фотографий до создания опросов и бесплатных иконок.

И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные веб-сайты

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly: Конструктор веб-сайтов.
  • Layers: Создание сайтов на WordPress (new).
  • Bootstrap Zero: Самая большая коллекция бесплатных шаблонов Bootstrap (new).
  • Landing Harbor:  Продвижение мобильного приложения c помощью бесплатного лендинга (new).
Читать дальше →
Total votes 108: ↑89 and ↓19+70
Comments38

Information

Rating
Does not participate
Works in
Registered
Activity