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

User

Send message

Ошибки PHP: классификация, примеры, обработка

Reading time6 min
Views71K
В статье представлена очередная попытка разобраться с ошибками, которые могут встретиться на вашем пути php-разработчика, их возможная классификация, примеры их возникновения, влияние ошибок на ответ клиенту, а также инструкции по написанию своего обработчика ошибок.
Читать дальше →

Автоматический прием Яндекс.Денег на сайте на php

Reading time4 min
Views75K
Документация по приему Яндекс.Денег не содержит конкретного примера на PHP, чтобы можно было максимально быстро все прикрутить, не разбираясь во всех деталях того, как работает прием Яндекс.Денег на PHP. Сделав автоматический прием Яндекс.Денег для нашего дата-центра, я хотел бы дать пошаговую инструкцию с примерами кода на PHP, чтобы значительно сэкономить время другим разработчикам.

Изначально автоматический прием Яндекс.Денег мне казался очень сложным. Но как выяснилось там все проще чем у WebMoney.

Шаг 1: Создаем HTML-форму для приема платежей


Сам код формы можно сгенерировать тут money.yandex.ru/embed/quickpay/shop.xml Но поскольку наша цель принимать платежи автоматически, то в HTML-форму нужно добавить id счета, который клиент нам оплачивает. И скорее всего, мы хотим получать полную сумму счета, т.е. хотим комиссию Яндекса 0.05% возложить на клиента, поэтому в результате HTML-форма
в нашем php-скрипте будет генериться так:
Читать дальше →

Базовые стили и полезные CSS-сниппеты

Reading time6 min
Views151K


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

ExtJS: легкий способ мультизагрузки и валидации файлов (используем HTML5 File API)

Reading time4 min
Views18K
Если вам нужно валидировать загружаемые пользователем файлы не только на сервере, но и на клиенте, или вы хотите позволить пользователю выбрать сразу несколько файлов для загрузки (multiple=”multiple”) то, скорее всего, вы столкнетесь с некоторыми трудностями при использовании Ext.form.field.File.

Суть проблемы


Проверить расширение загружаемого файла, если пользователь выбрал только один файл, не составит труда — просто объявляем vtype и смотрим value input-а:

Ext.apply(Ext.form.field.VTypes, {
    file: function(val, field) {
        var types = ['rtf', 'pdf', 'doc'],
            ext = val.substring(val.lastIndexOf('.') + 1);
        if(Ext.Array.indexOf(types, ext) === -1) {
            return false;
        }
        return true;
    }
    ,fileText: 'Invalid file'
});

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

Мой велосипед для сниппетов

Reading time1 min
Views23K
Сниппет — это небольшой кусок кода, который программист многократно использует в своей практике.
Сам я сниппетами пользуюсь не так давно, но на практике оценил их пользу. Бывали ситуации, когда нужен был фрагмент кода который я писал недавно, но вспомнить где он находится я не мог. Выручал Интернет, но у меня же должны быть собственные наработки. Да и не зря же я так долго их собирал. После недолгих поисков нашлось несколько интересных специализированных сервисов как раз для сниппетов. И так эти сайты мне понравились, что я решил сделать что-то похожее или даже лучше :)
Читать дальше →

Изучаем jQuery. 2-е изд

Reading time3 min
Views17K
image
Автор: Э. Каслдайн, К. Шарки
Перевод книги: Вадим Черник
Автор рецензии: Алеся Серада (журналист, редактор www.dev.by).
Дата выхода: 23/07/2012


Вот еще одна книга нашего издательства, мимо которой сложно пройти. Если раньше у JavaScript была не очень хорошая репутация, то сейчас наступила новая эра во Всемирной сети для этого языка. Первые ниндзи «Изучаем jQuery» вышли в начале прошлого года и зарекомендовали себя очень положительно (отзывы на ozone.ru). Поэтому мы с радостью летом выпустили обновленное издание «Изучаем jQuery. 2-е изд.». Книгу можно приобрести как в печатном, так и в электронном виде.

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

Удобный сервис для замены изображений

Reading time3 min
Views8.6K

Помощник для Демо-контента


Многие веб студии, занимающиеся разработкой сайтов испытывают трудности во время демонстрационного показа продукта, а именно, когда необходимо показать готовый сайт содержащий демо-контент. Тут приходится всячески крутится и выискивать множество изображений, подгонять их под нужные размеры, а в некоторых случаях и придерживаться одной цветовой гаммой.
Тут на помощь выходит online сервис Cambelt (в переводе на русский — ремень ГРМ), который для Вашего проекта на лету сгененрирует необходимые вам картинки.

image

Нужно лишь указать в качестве источника изоюражения адрес URL (например, cambelt.co/468x60) с указанием нужного размера. Также можно использовать текст для формирования надписи и разные цвета.
Читать дальше →

MySQL. Выбор случайных строк в один запрос

Reading time3 min
Views19K

Что имеем?


Есть слабенький ноутбук, таблица на несколько миллионов строк и нужно выбирать разное количество случайных строк в одном запросе. Дальнейшие выборки нас не интересуют.

Таблица(test) имеет следующую структуру:
  • — pk_id ( первичный ключ )
  • — id ( поле заполненное разными числами )
  • — value ( поле заполненной с помощью rand() )

Первичный ключ не имеет дыр и начинается с 1.
Читать дальше →

Загрузка файлов через FileReader

Reading time5 min
Views9.9K
Зачем я сделал ещё один велосипед?


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

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

На Хабре нашлись...

CSS3 поддержка в браузерах

Reading time1 min
Views36K
imageХотя CSS3 ещё не является стандартом W3C, последние версии браузеров имеют его частичную поддержку. Можно встретить примеры реализующие те или иные свойства CSS3. Но вместе с восторгом многих не покидает также чувство опасения. Связано это в первую очередь с тем, что нет чёткого понимания в поведении браузера при обработке этих свойств. Под катом собрана таблица в которой сравниваются поддерживаемые CSS3 свойства во всех основных браузерах. Кроме этого указывается версия браузера и префикс для кодирования. Шпаргалка в форме изображения, поэтому её удобно скачать к себе на компьютер или мобильное устройство для дальнейшего использования.

Показать таблицу

Art & Fear, или как выжить творческому человеку в современном мире

Reading time4 min
Views10K
«Эта тоненькая книжечка буквально перевернула мою жизнь»
Дмитрий Рудаков, фотограф, писатель, основатель ozon.ru


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

Об одной из таких издательских историй — книге Art & Fear — сейчас и пойдет речь.

image

Это не новая книга — в «Питере» она вышла в начале 2011 года, а первое американское издание датируется аж 1993 годом. Написали ее два известных американских фотографа — Дэвид Бейлс и Тэд Орланд. С момента выхода книга постоянно переиздается, общее число ее читателей в мире уже можно исчислять миллионами, несмотря на довольно узкую специфику, и в творческих кругах Запада она уже давно приобрела статус культовой.

О чем же эта книга?
Читать дальше →

CSScomb: сортировка CSS-свойств с базовой поддержкой препроцессоров и пряниками

Reading time6 min
Views49K
Буквально вчера на Smashing Magazine был опубликован мой текст про CSScomb. Так как узначально я писал его на русском языке, а затем переводил на английский, то я решил опубликовать оригинальный вариант на Хабре.

На момент написания этой статьи браузеры поддерживают около 200 CSS-свойств. Почти все из них вы используете в своих проектах. Самое время задуматься о консистентности не только форматирования кода, но и порядка свойств в рамках каждого селектора. Если вы следите за вашим code style, то эта статья для вас. Представляю вашему вниманию простой способ автоматической сортировки свойств в CSS-коде ваших проектов.

CSScomb.ru

CSScomb — утилита для сортировки CSS-свойств в рамках каждого селектора по заданному порядку. Алгоритм CSScomb максимально повторяет действия веб-технолога при работе с CSS-кодом. Для пересортировки обычно нужно перемещать строки относительно друг друга, учитывая комментарии в коде, многострочные записи значений свойств, хаки и всё, что может встретиться в файле любого серьезного проекта. Это довольно скучное занятие. Но CSScomb без проблем сделает это вместо вас.

Алгоритм CSScomb по своей природе «думает» как человек редактирующий текст, а не как слепой робот, разбирающий CSS по косточкам. Это позволяет утилите оставаться простой.

А теперь немного подробностей для тех зануд и перфекционистов, кому это по душе.
Покажите подробности!

SugarJS — Синтаксический сахар для JavaScript

Reading time4 min
Views22K


Что такое SugarJS?


SugarJS — это open source (лицензия — MIT) библиотека Javascript, который расширяет нативные объекты полезными методами. Она разработана, чтобы быть интуитивным, ненавязчивым инструментом, повышающим выразительность кода, который позволял бы делать больше с меньшим количеством кода и меньше задумываясь над рутиной.

На самом деле у них очень информативный и простой сайт — где все уже хорошо написано.
Я просто постараюсь обозначить основные моменты.

Кратко...

  • Расширяет нативные элементы Javascript полезными, интуитивными методами.
  • Прост для понимания и в использовании.
  • Метод SugarJS не используется при наличии метода в родной реализации браузера.
  • Имеет систему тестирования, имеющую огромный набор тестов.
  • Расширяет возможности работы с датой и временем, обеспечивает их форматирование на нескольких языках (русский есть).
  • Отлично ладит с другими фреймворками и сторонним кодом.
  • Модульность, вы можете включать только нужные пакеты.
  • Полностью совместимый ECMAScript.
  • Заявлена поддержка всех основных браузеров, включая мобильные.
  • Поддерживает Node.js.
  • Имеет хорошую и удобную документацию.


Заинтересовало? Добро пожаловать под кат.
Читать дальше →

Как делать видео-отзывы об ИТ-курсах

Reading time5 min
Views11K


У нас есть наш учебный центр. И вот однажды появилось желание снять один семинар. А потом решили, что если есть люди – почему бы их не снять?! Ведь они могут сказать на камеру те отзывы, что они, обычно пишут на бумаге. Сняли видео-отзывы, а потом подумали: что же со всем этим делать? Ниже изложен первый опыт в этом деле и небольшие наработки о том, как это делать.

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

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

Reading time1 min
Views22K
Дизайнер-шрифтовик Иван Гладких, более известный как Джованни Лемонад (Jovanny Lemonad), сегодня объявил о выходе нового шрифта «Yeseva», отличающегося существенным контрастом между тонкими и толстыми элементами букв.

[скриншот Yeseva]
Читать дальше →

Креативная мастерская: 80 творческих задач дизайнера

Reading time3 min
Views9.7K
Хочу представить вам нашу новую замечательную книгу. Цветную, с картинками, что не удивительно, т.к. она предназначена дизайнерам. Может быть вам приходится заниматься пользовательскими интерфейсами, может быть у вас есть знакомые дизайнеры, которым вы бы хотели подарить что-то хорошее и полезное. В любом случае, обратите на нее внимание. Итак:

Креативная мастерская: 80 творческих задач дизайнера



Обложка Креативная мастерская

Вот, что пишет автор книги Дэвид Шервин во введении:
Читать дальше →

JavaScript — полезные материалы

Reading time2 min
Views79K
Хочу поделиться набором ссылок на нексолько полезных, интересных и, возможно, не самых известных материалов по JavaScript. Из них вы узнаете немного больше об истории появления языка, о его настоящем, тонкостях реализации в различных браузерах, и о будущем развития стандарта ECMAScript. О различных способах наследования в том числе об эмуляции «классического» ООП, множественном наследовании и миксинах. О функциональном стиле программирования в JavaScript: чистые функции, map, reduce, частичное применение и композиции функций. И, наконец, что если бы Хемингуэй писал на JavaScript?
Читать дальше →

Прибитый к низу футер своими руками

Reading time10 min
Views223K
Все, кто привык к полноценно оформленным страницам сайтов, предпочитает вид «прибитого» (прилипающего, sticky) к низу футера страницы. Но есть в интернете две беды: нерастущие вниз поля ввода и неприбитые (к низу окна) футеры. Например, когда открываем короткие по высоте страницы типа habrahabr.ru/settings/social — сразу бросается в глаза, что информация, призванная быть в нижней части окна просмотра, прилипает к содержанию и находится где-то посередине, а то и в верхней части окна, когда внизу — пусто.

Так, вместо того, чтобы .
Данное пособие для начинающих верстальщиков покажет, как за 45 минут сделать «прибитый» футер, исправив недоработки даже такого уважаемого издания, как Хабр, потягаться с ним в качестве исполнения своего перспективного проекта.
как сделать, чтобы трава была зелёная, а футеры - прибитыми

jQuery plugin для форм с динамической структурой

Reading time5 min
Views33K
Хочу поделиться с обществом собственным плагином, который упрощает работу с динамическими формами и называется jqDynaForm. Под динамическими формами я подразумеваю формы, в которые при заполнении пользователь может добавлять по необходимости дополнительные поля или блоки полей. Разумеется, в каждом месте разрешено добавлять только заранее разрешенные виды блоков. Вот примеры подобных простейших форм:

1. Контактная форма, в которой есть поле «телефон». Пользователь может добавить еще несколько дополнительных полей для телефонов, если возникнет желание.

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

Давайте рассмотрим работу с jqDynaForm на примере такого счета. Вот пример такой формы:



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

Information

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