Илья Кригоузов Привет, меня зовут Илья Кригоузов и я занимаюсь информационными технологиями с 2005 года. Под такими технологиями я понимаю довольно широкий круг вещей: сайты любой сложности, базы данных и клиент-серверные приложения.
Закончил МИРЭА по специальности «инженер-математик», практику проходил на концерне радиостроения ОАО «Вега».Работаю в Информационных системах для бизнеса, так же сотрудничал с АйТи-агенством.
В свободное время увлекаюсь фотографией. Найти меня вы можете:
Показаны сообщения с ярлыком интернет. Показать все сообщения
Показаны сообщения с ярлыком интернет. Показать все сообщения

7 мая 2013 г.

9 марта 2012 г.

Сайт ростбанка

Ростбанк — активно-развивающийся аккредитованный банк с представительствами в почти тридцати городах России. Сегодня этот банк имет экспертный рейтинг «А» и учавствует в государственной системе страхования вкладов. Сайт необходим для удобства клиентов и привлечения новых вкладчиков.

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


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

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

Филиал банка в Санкт-Петербурге с указанием курса валют
Круглосуточные банкоматы в Москве


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

Посмотреть. Сайт банка Рост — www.rostbank.ru

P. S. Дизайн сатйа предоставлен заказчиком, а верстка — Ай-Ти агенством.

16 сентября 2011 г.

Разрешения друпала

Все время хочу использовать стандартные права доступа друпала в хуке hook_menu() и все время забываю. Поэтому сделаю запись сюда. Данные права необходимо указывать в качестве элемента массива аргумента access arguments:

  • access content — допуск к контенту будет у тех групп пользователей, у которых есть доступ ко всему контенту сайта;
  • access administration pages — доступ будет у тех пользователей, у которых есть доступ в раздел администрирования.

Пример реализации хука меню:

function analadvanced_menu()
{  
    $item['analadvanced'] = array(
        'title'   => 'Продвинутая аналитика',
        'page callback' => 'analadvanced_cookie_value',
        'access arguments' => array('access content'),
    );
    return $item;
}

8 августа 2011 г.

Сайт инжиниринговой компании РВС

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

Задача. Создать сайт для инжиниринговой компании, который наглядно представит оказываемые услуги.


Реализация. Для удобной подачи информации каждый раздел представляет собой мини-сайт, который помимо полноценного представления информации в своей области тесно связан с соседними страницами сайта компании.
На сайте предусмотрен раздел «Люди», в котором нашлось место ведущим специалистам компании, а так же руководящему персоналу.

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

Готовые проекты компании выделены по географическим, технологическим и временным категориям.




Технические детали. Несмотря на сложную иерархическую систему в рамках сайта, практически все функциональные возможности реализованы стандартными средствами системы Друпал.

Посмотреть. Сайт инжиниринговой компании РВС — www.rvsco.ru

P. S. Дизайн и верстка сайта выполнены в АйТи-агенстве. Управлением сайтом занимается компания-заказчик.

1 мая 2011 г.

Умное обрезание строк в php

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

function smart_cut($text, $words = 3, $separator = ' ')
{
    $current_pos = 0;
    for($i = 0; $i < $words; $i++)
    {
        $current_pos = strpos($text, $separator, ($current_pos + 1));
    }
    return substr($text, 0, $current_pos);
}
Принимает три параметра, обязательный только первый:
  1. Текст, над которым будет производиться манипуляция;
  2. Количество слов, после которого строка будет обрезана;
  3. Разделитель слов в исходном тексте.
Вернет функция строку. Кому интересны подробности и сравнения, прошу под кат.

30 апреля 2011 г.

Как узнать ip пользователя

В php глобальная переменная $_SERVER хранит реальный ip-адрес пользователя. Чтобы попытаться справиться с подменой использую такое решение:
function get_ip()
{
     $ip = $_SERVER["REMOTE_ADDR"];
     if(isset($_SERVER["HTTP_X_FORWARDED_FOR"]))
     {
          if(isset($_SERVER["HTTP_X_REAL_IP"]))
               $ip = $_SERVER["HTTP_X_REAL_IP"];
          else
               $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
     }

     return $ip;
}

29 апреля 2011 г.

Очистить в Drupal кэш для одной ноды

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

Например у наст есть тип материала «профиль» (не важно, сами мы его сделали с помощью CCK или использовали модуль Content profile) и в профиле есть какое-то поле, которое мы изменяем программно, с помощью модуля. Результат нашего изменения мы не увидим, пока не очистим кэш. Согласитесь, не очень удобно.

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

7 марта 2011 г.

Drupal латинские буквы и цифры в имени пользователя

Для однозначной авторизации через программу-клиент в одном проекте, реализуемом на друпале, потребовалось установить ограничение на вводимое имя пользователя, указываемое при регистрации.
Для решения задачи отлично подошел модуль Custom username validation. Единственной его функцией является проверка введенного пользователем имени на соответствие регулярному выражению, заданному в настройках модуля.
В настройках нужно указать регулярное выражение, подпись под полем логина, которая заменит стандартную, выведенную друпалом. Так же можно задать сообщение об ошибке и проверить  работу заданного выражения.

Для того, чтобы в друпале в качестве имени пользователя можно было использовать только латинские буквы, цифры и дефис воспользуйтесь вот этим регулярным выражением: /^[-a-zA-Z0-9]+$/

27 января 2011 г.

Рунет и его социальные тенеденции

Тенденции развития рунета можно описать как локализацию зарубежных сервисов, таких как, например, фэйсбук, твиттер, анонимные опросники и так далее. За клоном фэйсбука, социальной сетью вконтакте, вообще наблюдается поразительная особенность: после появления какой-нибудь вкусной функции в зарубежной социальной сети эта же функция через месяц-другой реализуется как нововведение и в отечественном аналоге.
Так было с кнопками «Мне нравится», с введением микроблога на стене и сейчас после перехода фэйсбука на новый профиль, вконтакте тоже стал проводить схожие изменения со страницами пользователя:

Месяцем ранее такое же фото-превью появилось в профиле фэйсбука:

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

27 августа 2010 г.

Покупать гектары стало проще

После проведения аналитики по запросам клиентов федеральная управляющая компания «Юпитер Капитал» приняла решения внести некоторые изменения в поисковую систему по каталогу земельных участков.

Задача. Сделать поиск актуальным и учесть специальные предложения.

Главная страница сайта Jupiter Capital
Реализация. Для актуализации фильтров поиска по базе земельных участков заказчик предложил убрать некоторые невостребованные и добавить следующие поля поиска для участков:

  • Направление — шоссе, по направлению которого находится участок;
  • Категория земли — назначение использования участка, например для разведения сельскохозяйственной деятельности или промышленной;
  • Целесообразное использование — построить ли на участке ферму? Или может все же лучше коттеджный поселок? 
  • Природные условия — красивый вид, проходящая рядом железная дорога или неподалеку расположен природный водоем? А может быть все и сразу?
Детали. Помимо расширения возможностей поиска подходящего земельного участка введены специальные предложения:
  • Скидка;
  • Акция;
  • Новый лот.
Те участки, на которые действуют спецпредложения, обозначаются соответствующим бейджиком и выводятся первыми в списке поиска и в каталоге, что позволяет клиенту выбрать наиболее выгодное предложение.

Каталог
Каталог со списком участков
Страница участка
Страница описания земельного участка

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

Посмотреть. На сайте более ста объектов и посмотреть их можно по адресу www.jcapital.ru.

P.S. Проект выполнен по заказу АйТи-агенства. Дизайн и верстку выполняли они.

25 августа 2010 г.

Музыка в Ubuntu — интернет-радио

Сложно поспорить с тем, что работать под мелодичный звуковой фон намного приятнее, чем в полной тишине. Для создания такого фона раньше я использовал свой простаивающий нетбук Asus eee pc 1005 hag с Ubuntu 10 на борту и графической оболочкой  Gnome. Открывал какую-нибудь одну из ста одной радиостанций с сайта 101.ru и подключал к усилителю. Поскольку музыка нужна только для фона, не хотелось заморачиваться с настройкой, а просто включил звук на усилителе — появилась музыка, отключил — исчезла. Однако так просто не получалось: то флэш-плеер отвалится, то вафлю потеряет, то еще какую-нибудь неприятность выдаст; да и использовать нетбук в качестве исключительно радио не слишком рационально.

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

28 июня 2010 г.

htaccess: изменить адрес вебмастера

Иногда на сайте возникают ошибки, которые передаются серверу для выдачи пользователю описание происшествия. Чтобы пользователь мог сообщить о происшедшем хорошо бы заменить адрес вебмастера, который устанавливается по умолчанию, на действительный.
Взять к примеру ошибку 500 или Internal Server Error. Вот стандартный ответ Апача:
«The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, webmaster@oniksfly.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.»
Поменять адрес вебмастера, не изменяя конфигурацию сервера (из-за отсутствия доступа), можно прописав в файле .htaccess следующее:
SetEnv SERVER_ADMIN yourname@example.com

16 марта 2010 г.

Конвертер валют

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

Задача. Сделать удобный конвертер валют для Drupal с расширенными возможностями.

Модуль для drupal конвертер валют

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

Архив курсов валют
Текущий курс валют

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

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


Архив курсов валют
Валюты всех стран мира

Так же конвертер содержит информацию по всем мировым валютам (в том числе, уже не использующимся): название, территория распространения, цифровой и буквенный код.
Если денежная единица еще используется, то можно посмотреть ее курс по отношению к рублю и кросс-курсы к другим валютам на сегодняшний день. 

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

Технические детали. Вся информация запрашивается с сервера Центрального Банка РФ и всегда актуальна. При этом количество запросов к серверу ЦБ минимально и при его недоступности модуль не перестанет работать.

19 декабря 2009 г.

Бесплатно слушать Last.fm

Есть еще одно более элегантное решение, нежели предыдущее.
1. Скачиваете скробблер себе на компьютер.
2. А далее технологически все так же — используете зарубежный прокси.
В настройках скробблера:
Инструменты → Опции… → Подключение
Устанавливаем «Вручную» и указываем сервер, порт и реквизиты доступа к нему.
3. «Применить» кнопку нажимаем и спокойно бесплатно слушаем любимое радио без рекламы.

К вопросу о прокси-серверах — я отправил заявку на Last.FM Proxy и мне прислали реквизиты для доступа к немецкому прокси. Кстати, есть парочка инвайтов.

Last.fm — экономим 3 €

Любимый сайт Last.fm стал платным для пользователей большинства стран мира.
К странам-счастливчикам, которые могут не платить оброк точно относятся США и Германия.

Нашел элегантное решение для браузера FireFox:
1. Загружаем дополнение FoxyProxy.
2. Ищем работающий прокси-сервер из США или Германии. Я нашел рабочий тут.
3. Включаем FoxyProxy и настраиваем работу для сайтов с маской *lastfm.ru* по найденному прокси.

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

P.S. Вот еще одно более элегантное решение.

15 декабря 2009 г.

Сайт про аську

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

Задача. Создать сайт про icq-клиенты для всех типов устройств и под все операционные системы.

Главная страница

Реализация. Создана очень удобная структура представления информации.
На сайте есть все, что нужно любому асе4каведу, асе4ка-любителю и асе4ка-новичку: статьи, новости, самые свежие версии клиентов.
В качестве вкусности для заинтересовавшихся — форум, где помогут, покажут и расскажут.

Детали. С самого начала делался упор на структуру сайта — она должна быть простой, понятной, очевидной и удобной.
Нужна вам аська для смартфона с Windows Mobile: пожалуйста, пару кликов и все существующие на сегодняшний день клиенты появятся перед вами. И не просто появятся, а со всякими скриншотами и описаниями. Что заинтересовало, кликнули по нужному клиенту и все достоинства, недостатки, баги и фичи предстанут перед вами.


Мобильные клиенты
Форум на сайте ase4ka



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

Технические детали. В угоду структуре сайта сделали ЧПУ, которые соответствуют разделам сайта. Например ссылка на раздел «Новости→ICQ» выглядит как
www.ase4ka.su/news/icq_news
Еще много всяких приятных мелочей, обо всем не вспомнить.

Посмотреть. Походить по ссылочкам на www.ase4ka.su милости прошу.

P.S. Дизайн предоставлен заказчиком, верстка — Hammer.

10 ноября 2009 г.

Информационный портал МИР

Задача. Сделать современный молодежный портал, и перенести всю информацию со старого.



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

Детали. Помимо этого было перенесено более 1000 статей со старой версии сайта, а так же пользователи не ощутили никаких неудобств — все их пароли остались в силе, как и контактная информация, взаимоотношения (дружба), фотоальбомы.

Технические детали. Особую сложность в этом проекте, как ни странно, составил импорт данных со старой системы управления сайтом (ABO.CMS).
Никому не рекомендую использовать (не дай Бог переносить на нее) данную систему в качестве площадки для сайта.
Ребята вообще не в курсе, что такое нормализация баз данных. Мол, работает и хорошо.
Но это тема для отдельной статьи.

Посмотреть. Портал доступен по адресу www.mir4you.ru. Можно даже регистрироваться.

5 октября 2009 г.

Официальный сайт городского округа Котельники

Задача. Довести до ума официальный сайт округа.

Реализация. Доделаны сообщения форума по требованию заказчика — первыми идут новые сообщения, затем более старые, т.е. самое последнее сообщение форума фактически является самым первым по времени, оставленным в этой теме.
Выполнена система учета муниципальных заказов: аукционы, конкурсы, запросы котировок.
Детали. В системе учета муниципальных заказов осуществляется сортировка по дате. Так же ведется архив за предыдущие года. Учтен экспорт файлов и документов из старых таблиц. Ни что ни упущено, ничто не забыто.

Технические детали. Все технические решения выполнены с использованием api системы управления содержимым Drupal.

Посмотреть. Сайт доступен по адресу www.kotelniki.ru.

6 сентября 2009 г.

Сайт «АнтекСтрой»

Задача. Создать мультиязычный сайт для строительной компании, используя только HTML. Оживить сайт за счет анимации.


Реализация. С помощью валидного HTML и CSS создан универсальный макет для мультязычного сайта.
В качестве динамических элементов использованы скрывающиеся блоки и слайд-галерея, созданные при использовании специально оптимизированного фреймворка jQuery.
В создании макета было решено не использовать Flash. Во-первых, чтобы увеличить скорость загрузки страницы и уменьшить количество оперативной памяти, потребляемой браузером при загрузке страницы, а во-вторых, сделано с заботой о пользователях мобильных устройств.

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

Технические детали. Помимо того, что сайт одинаково грамотно отображается во всех популярных браузерах: Internet Explorer 6.x и выше, Mozilla Firefox 2.3 и выше, Opera 9.6 и выше, Apple Safari 3 и выше, сайт так же верно отображается в браузерах мобильных устройств.

Посмотреть. Сайт доступен по адресу www.antekstroy.ru.

12 июня 2009 г.

Web-интерфейс: переключение между элементами

Во время работы с приложениями, если есть такая возможность, практически не использую мышку. Т.е. для переключения между элементами форм (полями, кнопками) использую клавишу Tab. В Web’е это практически не удается, потому что как правило, по нажатию клавиши табуляции выделение улетает черт знает куда.

Как Web-разработчикам быть? Очень просто — использовать свойство tabindex для следующих html-тегов: input, select, button, textarea.

<form>
<input type="text" name="login" tabindex="1">
<a href="#">восстановить пароль</a>
<input type="password" name="pswd" tabindex="2">
<input type="submit">
</form>