Search
Write a publication
Pull to refresh
0
0
Евгений @pewpew

Бэкенд разработчик

Send message

Конкурсные работы на конкурсе нового дизайна LiveStreet CMS

Reading time1 min
Views2.2K
Не так давно мы анонсировали «Конкурс на новый дефолтный дизайн LiveStreet CMS». Вчера закончился прием заявок на участие и мы хотим представить хабрапользователям все варианты дизайнов, участвующие в конкурсе. Нам интересно ваше мнение.

Всего было подано 34 заявки.
Все картинки кликабельны на оригиналы.

Вариант 1 (grombzz, Static):



Вариант 2 (deniart, Yeti):



Под катом все 34 варианта

10 интересных jquery плагинов

Reading time1 min
Views3.1K

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

AI Challenge: Ants AI Challenge: оживляем «муравьев»

Reading time11 min
Views4.3K
В этой заметке я расскажу как написать довольно неплохого бота для Google AI Challenge. Примечательно, что сложные технологии связанные с ИИ не понадобятся, а базовая реализация умещается в тысячу строчек кода на языке C++. Сами методы в совокупности могут быть рассмотрены как некоторый Generic алгоритм, и на базе них можно построить бота, учитывающего некоторые стратегические особенности, который возможно будет играть еще лучше. В любом случае — хороший «быстрый старт» для тех, у кого пока ничего не получилось.
Читать дальше →

ООП в JavaScript

Reading time4 min
Views40K
Хочу представить вам функцию-конструктор классов createClass.
Чем хорош этот конструктор:
1. Сам код выглядит более читабельным и понятным
2. Поддержка множественного наследования
3. Поддержка абстрактных методов
4. Наследование статических методов и свойств класса
5. Умный метод instanceOf (проверяет по всей цепочке классов)
Читать дальше →

Алгоритмы LZW, LZ77 и LZ78

Reading time8 min
Views160K

Хочется продолжить свою предыдущую тему об алгоритмах сжатия. В этот раз я расскажу об алгоритме LZW и немного об его родственниках алгоритмах LZ77 и LZ78.

Алгоритм LZW


Алгоритм Лемпеля — Зива — Велча (Lempel-Ziv-Welch, LZW) — это универсальный алгоритм сжатия данных без потерь.
Читать дальше →

InstaCSS: удобный поиск по справочнику CSS

Reading time1 min
Views989
Для изучающих CSS есть несколько хороших сайтов с документацией и примерами использования, в том числе W3schools и MDN (Mozilla Developer Network). Разработчик Рафаэль Гарсиа сделал InstaCSS — очень удобный поиск по CSS-справочнику MDN. Это полнотекстовый поиск в стиле Google, с подсветкой кода и другими фичами, результаты обновляются по мере набора символов. Вся информация по запросу — на одной странице, так что не надо искать её по разделам документации.



Автор сделал проект за 24 часа, так что осталось ещё много багов. Он говорит, что на бэкенде используется MongoDB, откуда backbone.js вытягивает по JSON данные для клиентской стороны.

Код на github: github.com/rgarcia/instacss

Интеграция сервиса шаринга AddThis с Google Analytics

Reading time2 min
Views5.1K
В этом году в Google Analytics появился новый отчет Посетители > Соцфункции. Он, как можно догадаться, должен показывать взаимодействие с сайтом посредством социальных кнопок (like, share и т.п.)
Но для отслеживания каждой социальной кнопки необходимо было создавать функцию обратного вызова, которая бы посредством вызова метода _trackSocial и должна отслеживать нажатие на кнопку.
Об этом можно почитать в справке Google Analytics: http://code.google.com/intl/ru-RU/apis/analytics/docs/tracking/gaTrackingSocial.html
И это было не очень удобное решение, т.к. социальных кнопок на сайте может быть много и для каждой придется писать функцию.

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

интеграции AddThis с Google Analytics...

Фоновое выполнение скрипта на PHP без crontab

Reading time4 min
Views84K
Озадачили меня тут написать демона на PHP. Т.е. скрипт, который будет заданное количество раз в заданное количество часов в случайное время (всегда случайное) выполнять определенные действия, и все это без использования cron'a.

До этого никогда не заморачивался, а тут после постановки задачи, начал было думать что так нельзя, что php скрипт надо вызывать браузером…ну задача то поставлена, надо выполнять.

Первая мысль — отключить ограничение времени выполнения скрипта. Запрещено хостером.

Вторая мысль — яваскриптом повторять аякс-запрос периодически (да хоть раз в секунду). — нельзя (требование заказчика).

Выяснилось, собственно, что и браузер открыт не должен быть, и крон нельзя использовать, и работать скрипт должен независимо от пользователя, бесконечно долго. Естественно, он должен минимум грузить систему.
Читать дальше →

Решение задачи «Яндекс интернет математика — 2011». Определение визуальной схожести изображений

Reading time12 min
Views21K
В апреле-мае 2011 года компания Яндекс проводила очередной тур конкурса Яндекс интернет математика. Тема тура: «Определение визуальной схожести изображений».
Я публиковал новость про объявление победителей и обещал в скором времени описать решение поставленной задачи нашей командой — LookLikeIt, которая заняла 12-е место в финальном рейтинге.

И вот, не совсем скорое время наступило!
Читать дальше →

Игры, выжавшие из NES максимум (часть 1)

Reading time5 min
Views64K
Вспомишь игры, в которые заигрывался на NES (в народе известной как «Dendy»), и диву даешься, насколько, в сравнении с современностью, проста и даже примитивна была игротека тех времен. Однако, если хорошо покопаться в архивах картриджей, там можно найти на удивление много игр, обладающих отличной графикой и выдающимся звуком, которые никак не ожидаешь встретить на такой слабой консоли.

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

Это первая часть перевода, продолжение здесь, окончание здесь.

Тряхнуть стариной

Инструменты прототипирования и создания wireframes

Reading time2 min
Views91K
Навеяно долгими поисками различных систем прототипирования и желанием поделиться этим опытом. В данном посте отсутсвуют сложные системы типа iRise или IBM Rational Rose, ввиду того что они являются не столько и далеко не только системами простого прототипирования, да и стоимость этих решений подходит предприятиям немалого маштаба. Этот пост о чем-то более земном.

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

LAMP +Nginx на VPS стабильно и без лишней головной боли

Reading time14 min
Views42K
Задача — на минимальных ресурсах VPS развернуть хостинг нескольких не нагруженных сайтов. Сделать это быстро и удобно с минимальными проблемами в будущем и не падать на пиковых нагрузках.

Основные принципы:

1. ОС — Centos-6 86_x64 потому что стабильно, удобно и легко обновляемо.
2. Никакого самосборного софта. А то как говорится «командой make && make install любой дистрибутив превращается в Slackware.»
Читать дальше →

Валидация HTML-форм и расширение функциональности

Reading time4 min
Views15K
Валидации HTML-форм уделяют очень мало внимания. Например, даже на habrahabr.ru пока я регистрировался и входил на сайт несколько раз мне выдавалось сообщение об ошибке: то код протекции ввел неправильно, то в логине указал email вместо логина. А еще бывает пользователи ошибаются с количеством цифр в номере телефона или реквизитах организации, путают русскую букву «с» с английской, при копировании и вставке в Windows лишнии пробелы добавляются к данным.

Конечно, все это не смертельно. Но было бы крайне удобно, чтобы данные проверялись еще до отправки на сервере. Особенно CAPTCHA, ибо ее часто вводишь с ошибкой.

Для решения данной проблемы были несколько способов: HTML5, jQuery Validate, zForms.ru и еще ряд менее известных библиотек. Но все эти способы имели свои недостатки: HTML5 поддерживается не всеми браузерами и не имеет опции не отправлять незаполненные поля, задать сообщение о несоответствии регулярному выражению, ограничить список допустимых символов для ввода в поле, возможности склеивать поля, посылать значения чекбоксов в формате csv или суммы значений.
Читать дальше →

Тултипы на CSS3 и HTML5

Reading time2 min
Views73K
В связи с тем, что на Хабрахабре не нашёл я описания данного простого и в то же время удобного способа создания простых «тултипов» — всплывающих подсказок, я решил о нём написать.
В данном методе не будет использоваться JS, мы довольствуемся лишь CSS3 и HTML5.



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

Создаем анимированные кнопки при помощи CSS3

Reading time11 min
Views57K


В данной статье я хочу поделиться с вами некоторыми экспериментами по созданию анимированных кнопок при помощи CSS3. Идея заключается в создании анимированных ссылок с разными стилями, hover-эффектами и пр.

В данных примерах используются иконки с webiconset.com, а также шрифт от Just Be Nice.

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

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

Чтобы не захламлять код в уроке я не буду использовать префиксы для различных браузеров. Их вы сможете увидеть в архиве с примерами.
Читать дальше →

Пишем модуль uLogin для Kohana 3.2

Reading time6 min
Views8.8K
Не так давно на Хабре была статья про виджет авторизации uLogin.
Что мне в нём очень понравилось, это возможность указать обязательные поля, при этом, в случае их неполучения от провайдера, пользователю предлагается врчуную их заполнить. Так возникло желания написать модуль в Kohana, который позволял бы легко осуществлять регистрацию пользователя с помощью виджета uLogin.

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

Руководство по мелочам в Ext JS

Reading time5 min
Views39K
Добрый день, хабрапользователи! Сегодня я бы хотел поделиться с проблемами, которые обычно отталкивают добропорядочных программистов от использования фреймворка — Ext JS. Опишу конкретную ситуацию: в один прекрасный день после некоторого времени потраченного на просмотр возможностей, которые предлагает Ext JS, возникает непреодолимое желание попробовать его «в деле». Качается дистрибутив, ставится на локальный сервер и запускаются красивые примеры гридов, форм и, даже, готового рабочего стола! Разработчик меняет пару «фишечек», все вроде легко и просто. Резонно в голове бой-скаута возникает идея сделать некий коммерческий проект на Ext JS (чаще всего это бывают различного рода CMS, админки, CRM). И тут начинается самое интересное…
Читать дальше →

PHP и Аспектно-ориентированное программирование

Reading time4 min
Views8.4K
Довольно популярная в мире Java парадигма аспектно-ориентированного программирования (АОП) почему-то слабо освещена в разработке на PHP. В данной статье я хочу представить свой подход к написанию АОП приложений с использованием небольшого фреймворка и модуля.
Читать дальше →

Information

Rating
4,070-th
Location
Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Game Developer
Senior
PHP
Git
SQL
REST
Godot Engine
GDScript
Lua
Redis
Yii framework