Search
Write a publication
Pull to refresh
0
0
Константин Биржаков @KonstRuctor

User

Send message

Как правильно сортировать контент на основе оценок пользователей

Reading time5 min
Views93K


В оригинале название звучит как «How Not To Sort By Average Rating». Я подумал, что дословный перевод «Как не сортировать по усреднённому рейтингу» будет малопонятен и хуже отражает содержание статьи.

Постановка проблемы


Вы занимаетесь веб программированием. У вас есть пользователи, которые оценивают контент на вашем сайте. Вы хотите разместить высоко оцененный контент наверху, а низко оцененный — внизу. Для этого на основе пользовательских оценок вам нужно вычислить некий «рейтинг».

Неправильное решение №1

Рейтинг= (Число положительных оценок) - (Число отрицательных оценок)

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

Введение в CSS3 Multicolumn. Работаем с колонками

Reading time8 min
Views68K
apples

Как расположить текст на странице в несколько колонок? И можно ли это делать автоматически? Наверняка, многие из тех из вас, кто занимается или занимался раньше веб-разработкой, сталкивались с такой задачей — и часто упирались в сложные решения, требующие хитрых стилей, либо применения дополнительных библиотек на JavaScript (см. например Columnizer-плагин для jQuery).

Многоколоночная верстка контента (не путать с задачей общей многоколоночной верстки страницы, которая скорее ближе к проблеме расположения блоков по сетке) долго пробивала себе дорогу в мире веб-стандартов и, наконец-то, не просто достигла статуса Candidate Recommendation в виде соответствующего модуля CSS3 Multi-column Layout, но и получила достаточно широкую поддержку в браузерах: где-то с префиксами (-moz- или -webkit-) и где-то в актуальных (Opera 11.1+) и планируемых версиях (IE10+), причем сразу без префиксов.
Читать дальше →

Фильтрация и проверка данных PHP. Частые ошибки

Reading time6 min
Views188K
Материал предназначен в основном для начинающих веб-программистов.

Введение.


Часто ко мне обращаются клиенты, у которых установлены самописные CMS или модули, написанные начинающими веб-программистами, которые не понимают, что нужно для защиты данных и зачастую копируют функции фильтрации, не задумываясь о том как они работают и что именно нужно с ними делать.

Здесь я постараюсь описать как можно подробнее частые ошибки при фильтрации данных в PHP скрипте и дать простые советы как правильно выполнить фильтрацию данных.

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

Циклическое слайд-шоу на чистом CSS3

Reading time11 min
Views99K
Благодаря CSS3 мы можем создавать эффекты анимации, не используя JavaScript, что упростит работу многих разработчиков.
Мы не должны злоупотреблять CSS3, потому что старые браузеры не поддерживают все его свойства. В любом случае, все мы видим потенциал CSS3, и в этой статье мы обсудим, как создать зацикленный слайдер изображений, используя только CSS3-анимацию.

Скриншот слайд-шоу на чистом CSS3
Читать дальше →

Внутренности jQuery. Поиск кода, выполняемого по событию

Reading time4 min
Views25K
Чем дальше в лес, тем толще партизаны. Нет, не так. Чем старше веб, тем больше джаваскрипта

Клиентского кода в веб-приложениях с каждым годом действительно становится все больше. Подчас это десятки файлов с сотнями функций. И что делать, когда нам нужно поменять код, выполняемый по событию (например, клик по ссылке). Как его найти? Задавшись решением этой задачи, я придумал несколько разных вариантов. Каждый из них имеет свои плюсы и минусы. И в конце статьи я предлагаю метод, который мне кажется оптимальным.
Читать дальше →

FortNotes — онлайн менеджер паролей

Reading time10 min
Views11K
День добрый.
Хочу поделиться проектом, который недавно закончил. Надеюсь кому-то пригодится.
Все, кто пользуется интернетом длительное время, наверняка накопили большое количество различных приватных данных, таких как логины и пароли от сайтов, почтовых ящиков, серверов и баз данных. У кого-то меньше, у кого-то больше, но такие данные есть у всех. Можно хранить это на клочках бумаги, стикерах на мониторе, в блокноте на тумбочке или в файле на рабочем столе. Многие догадываются что это не очень безопасно: кто-то может подсмотреть или банально можно потерять эти драгоценные данные, но обычно редко кто пытается что-то с этим сделать.
Интернет очень плотно вошел в нашу жизнь и было бы неплохо иметь возможность упорядочить и обезопасить свои данные. Даже если не хранить в банках миллионы и не переживать, что кто-то украдет пароль от банковского счета, — это не значит, что будет приятна утеря доступа к почте, wm-киперу или фейсбуку. Личная переписка, деловые контакты, фотографии, секретная информация разного вида — всё это не должно быть доступно никому, кроме владельца.
Читать дальше →

Custom Tree View

Reading time3 min
Views20K
Здравствуйте Хабралюди!

Сейчас буду рассказывать об одном «дереве».

Зачем и почему нужны «деревья» – Вы знаете лучше меня.

Понадобилось для одного проекта «дерево» (tree view).
Известные реализации в порядке важности\значимости для лично меня:

Т.е., можно сказать, что я на них «засматривался».

UPD:
Во-первых хочу отметить, что очень сильно уважаю приведенные примеры.
Во-вторых, данный компонент по очень многим параметрам сильно проигрывает.
В третьих — чтобы получить хотя бы что-то схожее с jsTree, например, нужно будет много своего кода написать.

Но, тем не менее решил запилить свой компонент.

Для самых нетерпеливых: ссылка на пример в работе.

Мало-мало описания под катом

10 лучших инструментов для разработки и администрирования MySQL

Reading time6 min
Views745K
Многие компании создают различные многофункциональные приложения для облегчения управления, разработки и администрирования баз данных.

Большинство реляционных баз данных, за исключением MS Access, состоят из двух отдельных компонентов: «back-end», где хранятся данные и «front-end» — пользовательский интерфейс для взаимодействия с данными. Этот тип конструкции достаточно умный, так как он распараллеливает двухуровневую модель программирования, которая отделяет слой данных от пользовательского интерфейса и позволяет сконцентрировать рынок ПО непосредственно на улучшении своих продуктов. Эта модель открывает двери для третьих сторон, которые создают свои приложения для взаимодействия с различными базами данных.

В Интернете каждый может найти много продуктов для разработки и администрирования баз данных MySQL. Мы решили собрать 10 самых популярных инструментов в одной статье, чтобы вы смогли сэкономить свое время.
Читать дальше →

Рисуем карту изображения мышкой

Reading time4 min
Views40K
Привет. Давеча мне довелось иметь дело с такой специфической фичей html как карта изображения. Скажу честно, что мне не часто доводилось использовать её, и то, обычно, всё обходилось зонами в форме прямоугольника. Но это был не тот самый случай. Задачей было повесить ссылки на отдельные регионы изображения, которым выступала карта страны, и, к сожалению, ни о каких канвасах или svg не могло быть и речи. Только html только хардкор! Итак, задача поставлена, гугл активизирован, можно и начинать.
Читать дальше →

Встречайте бесплатный и свободный шрифт Russo

Reading time1 min
Views21K
Даровитый и плодовитый дизайнер-шрифтовик Иван Гладких, более известный как Джованни Лемонад (Jovanny Lemonad), в очередной раз показал миру свою плодовитость: позавчера он порадовал нас переработанною и дополненною версией шрифта Cuprum в четырёх начертаниях, а сегодня — шрифтом Russo.
[показ Russo]

Шрифт доступен для бесплатного скачивания по свободной лицензии SIL OFL 1.1; на сайте Google Web Fonts он также присутствует под именем «Russo One».

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

Свободный и бесплатный шрифт Cuprum теперь доступен в четырёх начертаниях (обычное, курсивное, полужирное, полужирный курсив)

Reading time1 min
Views67K
Любителям шрифта Cuprum настала пора сугубо возрадоваться: его автор, даровитый и плодовитый дизайнер-шрифтовик Иван Гладких, более известный как Джованни Лемонад (Jovanny Lemonad), сегодня выпустил переработанную и существенно дополненную версию своего детища. Вместо одного прежнего начертания Cuprum теперь наделён четырьмя!

[показ Cuprum]

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

Модуль корзины интернет-магазина на jQuery

Reading time6 min
Views65K
При разработке интернет-магазинов мне часто приходилось посредством javascript (а конкретнее его фреймворком — jQuery) проделывать некоторые повторяющиеся от проекта к проекту вещи. Например, добавление товаров в корзину, обновление информации о количестве товаров и общей сумме на странице, удаление товаров из корзины по одному, изменение их количества и полная очистка всех товаров из корзины. И все это, разумеется, без перезагрузки страницы.
И я пришел к выводу, что нужно писать код так, что бы потом его с легкостью можно было использовать в следующих проектах.
Читать дальше →

fc.tape — js-библиотека для простой анимации спрайтов

Reading time2 min
Views2.5K
Хочу поделиться с хабросообществом javascript-библиотекой fc.tape. Её назначение — управление анимацией спрайта, представляющего собой склеенные кадры.
Демо
Читать дальше →

Пишем свой php framework за вечер

Reading time3 min
Views3.1K
Периодически встает задача написать какой-либо небольшой функционал, использовать для этого большие framework типа Zend/Yii/CI/Kohana и прочее либо не хочется, либо нет возможности.

Какое-то время назад, передо мной встала задача написать небольшое web-приложение, установить выше перечисленные framework не было возможности. Решил написать свой, работающий по принципу MVC, на основу ушел 1 вечер, докручивание и оптимизация шли по ходу разработки.

Начинающим web разработчикам может показаться что это сложно, постараюсь в этой статье дать понять что это не так.
Читать дальше →

Очистка заражённых файлов сайта от вредоносного кода

Reading time8 min
Views32K
Добрый день, уважаемые Хабраюзеры!

Некоторое время назад, около месяца, на сервере нашей компании появился вирус. На одном из крупных проектов были поражены все *.js файлы. Ситуация обычная — в конец файлов был дописан вредоносный код. Яндекс выдавал предупреждение о заражении сайта и в техотдел пришло задание очистить его. Ситуация разрешилась достаточно быстро, проект был выгружен с чистого репозитория в продакшн, пароли сменили.

Однако вскоре со всех отделов компании в техотдел стали поступать жалобы о заражённых сайтах. Менеджерам жаловались клиенты, сеошники трубили что сайты теряют позиции. Началась настоящая эпидемия.
Читать дальше →

Мой вариант .htaccess

Reading time4 min
Views171K
В одном из предыдущих тематических постов о .htaccess для нубов я хотел предложить свой вариант с разными обработками и запретами, ну и определённой логикой структурирования, но так как карма была в минусе, то выкладываю сейчас.

Вашему вниманию мой вгляд на правила обработки URL с объяснениями и коментариями «почему так?».

Сперва логика


Объясню сперва логику:
1) все страницы имеют .html окончания.
2) все языки для страниц имеют вид pagename.en.html или pagename.html для языка по умолчанию. Никто, конечно, не запрещает иметь ссылки, где язык идёт вначале как /en/
3) «входной» скрипт только один в docroot.
4) Разрешены запросы на другие скрипты только в docroot
5) Соглашение по определению окончаний в url:
# site.com/
# site.com/index -> site.com/
# site.com -> site.com/
# site.com/file/ -> site.com/file.html
# site.com/file -> site.com/file.html
# site.com/dir/file ->site.com/dir/file.html
# site.com/dir/file/ -> site.com/dir/file.html
Но это можно менять.

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

Ещё раз про скринкасты в линуксе

Reading time4 min
Views31K
Совсем недавно была статья pomeo на эту тему. Не то чтобы у меня какой-то альтернативный взгляд на это или существенно мой вариант отличается. Просто я знаю, что некоторые проблемы в Linux не решаются только одним мануалом. Поэтому, несколько повторяясь, я опишу, как это делаю я.

Некоторое время назад я решил заняться циклом статей “Сети для самых маленьких” и серьёзно озадачился вопросом записи скринкастов. Читатели очень просили сопровождать статьи видеоматериалами.
Сложностей при работе в линуксе представлялось две:
1) Программа для записи видео с экрана,
2) Программа для обработки видео.
Первое, что пришло на ум — не искать себе приключений на голову и делать это в виндоус. Но, во-первых, это целая череда не очень приятных действий, а, во-вторых, взыграла ИТшная кровь — надо разобраться.

В Линуксе есть прекрасное приложение recordMyDesktop — простое и притом универсальное. Это первое, которое я попробовал и оно меня вполне удовлетворило.
В Ubuntu ставится одной командой:
#apt-get install recordmydesktop

Есть для него и графическая оболочка gtk-recordMyDesktop, но я предпочёл иной путь. Я создал две кнопки на панели быстрого запуска:


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

Jquery Slideshow своими руками

Reading time5 min
Views21K

Введение


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

Как это работает


Принцип работы прост: в блок, совпадающий с размерами слайда засовываю блок «подлиннее», в который буду упаковывать изображения, выровненные по левой стороне(float:left), и у которого будет плавно меняться левый отступ(margin-left) благодаря jquery функции animate.

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

Grocery CRUD, или как я облегчил себе жизнь на неделю

Reading time2 min
Views16K
Добрый день, ХабраСообщество!
Уже почти месяц веду разработку проекта на CodeIgniter 2.0 и к середине написания столкнулся с проблемой при написании администраторской части. Так сложилось что с «CI» знаком уже более 2-х лет, и еще не разу CodeIgniter меня не подвел в своих возможностях.
Сам проект у меня исчисляется 35 таблицами и писать администраторскую панель мне необходимо для «хомячков». Подсчитав приблизительные человеко-часы необходимые на разработку интерфейса + программной части, я пришел в дикий ужас. Энтузиазм немного поутих (проект мой личный). Вспоминая добрым словом хоть какой-то CRUD в старых версиях, я рискнул «спросить Гугл», авось повезет… И повезло!
Читать дальше →

Information

Rating
Does not participate
Location
Санкт-Петербург и область, Россия
Date of birth
Registered
Activity