Как стать автором
Обновить
60
0
Кирилл Улитин @ulitin

UX & Research Lead

Отправить сообщение

Быстрый ликбез по JavaFX

Время на прочтение2 мин
Количество просмотров4K
В этот пост хотелось бы написать простой ликбез по JavaFX и ответить на некоторые базовые вопросы тех людей, которые вообще не в курсе, что такое JavaFX и зачем это может пригодиться + кое какие базовые технические вопросы общего характера.

Читать дальше →
Всего голосов 15: ↑10 и ↓5+5
Комментарии8

Ditto Modx для чайников Новости, статьи

Время на прочтение1 мин
Количество просмотров1.3K
Я сам чайник и во всем интернете не нашла ни одной внятной статьи на эту тему, где пошагово все объясняется и в итоге работет. Долго промучившись я составил себе и другим таким же четкое руководство.
Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии4

Скрипты в Google spreadsheets

Время на прочтение4 мин
Количество просмотров39K
image

Не так давно стал доступен сервис скриптов в таблицах Google для персональных аккаунтов (gmail).
googledocs.blogspot.com/2010/03/apps-script-gallery-for-google.html
Краткое описание
www.google.com/google-d-s/scripts/scripts.html
Кроме этого, непосредственно из таблиц стал доступен сервис публикации скриптов в галерею.

Теперь мы можем создавать скрипты для Google Spreadsheets, загружать готовые, публиковать, обмениваться с другими пользователями.
Скрипты имеют богатый набор возможностей. Мы можем использовать всё управление, доступное в сервисах Google.
www.google.com/google-d-s/scripts/overview.html

Результатом работы скрипта, например, могут быть:
  • новая функция, отсутствующая в стандартном наборе;
  • значение, возвращаемое веб сервисом, в том числе, SOAP, WSDL и другие;
  • управление другими сервисами, например, сайтом, календарем, почтовой рассылкой;
  • автоматическое заполнение таблиц (непосредственное управление нашими spreadsheets);
  • создание пользовательских интерфейсов (custom spreadsheets UI).

Примеры созданных скриптов для применения в неогеографии
Читать дальше →
Всего голосов 52: ↑48 и ↓4+44
Комментарии11

Прагматический Процесс Разработки в «не-книжных» условиях

Время на прочтение4 мин
Количество просмотров1.8K
Доброго времени суток.

Хочу поделиться некоторыми идеями которые помогают мне в Святой Войне с Хаосом в процессе разработки ПО. Для определенности картины добавлю несколько деталей: я — менеджер проектов, фирма средних размеров (~40 мозгов) занимается оффшорным программированием, команда смешанная (15% сеньоры, 35% девелоперы, 35 джуниоры, 15% стажеры, причем есть еще деление по специализации — разработка, качество, инфраструктура).

Процесс


Источников создания хаоса более чем достаточно — длинная цепь связи с заказчиком, неоднородная и в общем, молодая команда, «славянский менталитет» ( эксцентричное творчество и частые медитации ;) ), проблемы коммуникаций, политические игры сейлс-людей (Sales — те кто нас «продают») и т.д.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии14

Javascript. Отделяем мух от котлет

Время на прочтение3 мин
Количество просмотров720
Правя часто за кем-нибудь javascript-код (да и не только его) часто сталкиваешься с
ситуацией, когда программист Вася 'не отделяет мух от котлет'. Это значит мешает глобальные переменные
вместе с функциями, даже, если эти переменные и функции как-то соотносятся друг с другом.
Читать дальше →
Всего голосов 19: ↑12 и ↓7+5
Комментарии16

BinaryHTTPService или как помочь HTTPService-у принимать ByteArray данные

Время на прочтение4 мин
Количество просмотров514
В процессе разработки у меня стояла задача найти способ получать бинарные данные от сервера через HTTPService. Сам по себе HTTPService в mx пакете не позволяет получать результат в ByteArray. Это можно увидеть в классе mx.messaging.channels.DirectHTTPChannel в функции internalSend.
Читать дальше →
Всего голосов 13: ↑8 и ↓5+3
Комментарии5

Применение Теории вероятностей в IT

Время на прочтение1 мин
Количество просмотров6.7K
Так сложилось, что я преподаю студентам IT-шных специальностей в Сибирском Федеральном Университете (СФУ) такой предмет, как «Теория вероятностей и математическая статистика». Из года в год я сталкиваюсь с таким явлением, что студенты не понимают, зачем и почему им учить эту дисциплину. Конечно, можно сказать, что математика тренирует мозг и развивает абстрактное мышление (которое весьма необходимо программистам). Но я считаю, что если подкрепить преподавание ТВ и МС яркими примерами (особенно применительно к IT), это даст необходимую мотивацию для изучения этого предмета.
Читать дальше →
Всего голосов 27: ↑20 и ↓7+13
Комментарии25

Getting Started IronRuby из .net

Время на прочтение4 мин
Количество просмотров726
Понадобилось мне недавно приделать к .net проекту поддержку скриптов на Ruby, и внезапно обнаружилось что маленький helloworld пример этого в интернетах найти не так уж и просто.
Итак, вот он
Всего голосов 8: ↑6 и ↓2+4
Комментарии0

Еще один взгляд на Flash, Mono и Apple

Время на прочтение2 мин
Количество просмотров574
Дискуссии по поводу того, что Apple не будет пускать приложения, написанные не на Obj-C, C++, JavaScript разгораются не на шутку. Почему-то все наехали на Flash вместо того, чтобы посмотреть на проблему в комплексе.

Мне понравилось высказывание из статьи «Why Apple Changed Section 3.3.1», где говорится:

So what Apple does not want is for some other company to establish a de facto standard software platform on top of Cocoa Touch. Not Adobe’s Flash. Not .NET (through MonoTouch). If that were to happen, there’s no lock-in advantage.
Свободный перевод:

Что действительно не хочет Apple — так это то, чтобы любая другая компания установила свою платформу поверх Cocoa Touch. Не Flash, не .NET (c помощью MonoTouch). Если это случится, то у Appple не будет конкурентных преимуществ.
Читать дальше →
Всего голосов 24: ↑11 и ↓13-2
Комментарии26

Кто покупает платный контент в интернете? Часть 1

Время на прочтение4 мин
Количество просмотров2.2K
imageНаша Компания ENAZA вот уже 3 года занимается продажей цифрового контента (игры, музыка, видео, софт, Антивирусы) в Интернете. Работаем с крупными Интернет провайдерами, уже более 1 млн пользователей Интернет каждый месяц покупают игры, видео, софт, антивирусы на наших порталах turbodom.ru, shop.hitv.ru.

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


Опрос проводился среди тех, кто совершил хотя бы одну покупку на наших порталах, то есть мы исследовали мнение именно тех, кто готов покупать платный контент и не склонен искать пиратку на файлообменниках.

Читать далее
Всего голосов 26: ↑16 и ↓10+6
Комментарии29

Отправка сообщения с вложением по e-mail из модуля в Drupal

Время на прочтение8 мин
Количество просмотров1.8K
Понадобилось мне недавно сделать казалось бы простейшую вещь, а именно с помощью некоторой формы на сайте отправить письмо с вложением. И сделать это надо на сайте, построенном на Друпале… Как оказалось, этот пост очень правильный — действительно нужные рецепты не найдешь даже погуглив. В рунете вообще плохо с информацией, на диком западе получше, однако по теме ничего путного найти не удалось, кроме одного способа, который требует установки двух довольно навороченных модулей — ну это просто, по-моему, ни в какие ворота… Как и в случае с джумлой, пришлось копать сорсы различных модулей, api.drupal.org ну и, разумеется, додумывать. Результаты размышлений предлагаю Вашему вниманию. На примере простейшего модуля я покажу один из способов отправки сообщения с вложением по e-mail.

Хочу посмотреть на результаты
Всего голосов 14: ↑13 и ↓1+12
Комментарии7

Вышел Ext Designer

Время на прочтение1 мин
Количество просмотров654
ext designer
Вышла финальная сборка WYSIWYG редактора интерфейса для популярного JavaScript фреймворка ExtJS.

Редактор платный и стоит $229
Напомню, что ExtJs — фреймворк предназначенный для создания RIA (rich internet application), что подразумевает использование различных, достаточно сложных элементов пользовательского интерфейса. И таких элементов в ExtJS предостаточно. Настройка всех параметров дело хлопотное.
Вот для визуальной настройки и предназначен Ext Designer. Он также позволяет настроить хранилища данных (DataStore) и привязать их к элементам интерфейса

Скачать триальную версию можно здесь

Подробный обзор возможностей обещаю позже
Всего голосов 18: ↑14 и ↓4+10
Комментарии13

Интеллектуальный кирпич с навигацией

Время на прочтение4 мин
Количество просмотров951
Вот этот черный кирпичик и будет сегодняшним гостем моей статьи.
Это современный навигатор MW-500 от фирмы с простым названием PocketNavigator.

image

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

UPD: Обновил фото и добавил важную инфо о цене.

хочу знать больше
Всего голосов 40: ↑31 и ↓9+22
Комментарии31

Организация времени на примере работы простого гейм-дизайнера

Время на прочтение6 мин
Количество просмотров991
 Тут уже много было сказано о том, как лучше управлять своим временем. «Чем я хуже?» — подумалось мне вдруг и как результат этой мысли – вот, пожалуйста, эта небольшая статейка. Не буду говорить, что все мысли тут оригинальны, авторского производства и штучной выделки. Скорее – это что-то вроде творческого переосмысления по мотивам. Первоисточник этой системы – это книга Яны Франк «Муза и чудовище или Как организовать творческий труд».
Так как я имею наглость причислять себя к работникам творческой сферы то с интересом ознакомился с этой книгой, подумал на досуге и теперь мой рабочий процесс выглядит примерно следующим образом.
Каким именно?
Всего голосов 8: ↑4 и ↓40
Комментарии8

дерево категорий по-своему (webasyst shop-script)

Время на прочтение3 мин
Количество просмотров2.4K
Помагал кому-то на форуме и решил увековечить здесь.
Несколько вариантов вывода дерева категорий в вашем магазине или редактирование файла category_tree.html
Читать дальше →
Всего голосов 10: ↑3 и ↓7-4
Комментарии5

Пусть твой зад увидят

Время на прочтение1 мин
Количество просмотров872

Ogilvy разработали компанию «Get Your Butt Seen»


Рекламаная кампания включает в себя онлайн, телевизионную и наружную рекламу по борьбе с раком кишечника. Аудитории предлагается поделиться с широкой общественностью фотокопией своей задницы, старинная забава клерков. Затем фото предлагают загрузить на сайт компании. После того, как фотография будет отправлена, участнику кампании будет предложена информация о раке, его профилактике, ранней диагностике и пр. А к 31 марта ССАС обратится ко всем поддержавшим призыв показать задницу с просьбой разместить ксерокопии своих поп в качестве главных фотографий в профиле на Facebook и тем самым выразить солидарность в борьбе против рака кишечника.
image
Читать дальше →
Всего голосов 96: ↑60 и ↓36+24
Комментарии41

Коллекция описаний алгоритмов

Время на прочтение1 мин
Количество просмотров886
Искал способ быстрого поиска строки по нескольким подстрочкам. Наткнулся на сайт с подборкой описаний алгоритмов. Спешу поделиться — думаю многим может пригодиться. Сам завис там на пару часов.

Заодно вопрос к уважаемым Хабражителям: какой бы алгоритм Вы посоветовали бы для быстрого поиска записи (название) по нескольким фрагментам (отрывки слов в названии) расположенным в случайном порядке не так как в искомой записи.
Массив информации — около 1.5 миллионов записей, требуемая скорость — 300-1000 одновременных запросов в секунду на простом железе (не-супер-пупер-многопроцессорный вычислительный комплекс).

Мне пока приходит в голову только мысль о том, чтобы сделать индекс поиска на базе какого-то хеш-алгоритма, но пока не придумал как совместить хеш с неполными словами в различных комбинациях и непредскауемым порядком их появления в запросе.
Всего голосов 32: ↑21 и ↓11+10
Комментарии20

Две цены в webAsyst Shop-script

Время на прочтение2 мин
Количество просмотров2.4K
Плагин показывает еще одну или еще много цен для каждого продукта в Webasyst Shop-Script

Показывает столько цен, сколько id валют вы ему укажете.
Выводит цены согласно шаблону и форматированию вашей валюты из админ-панели и каждая цена имеет свой класс стиля (.cena1, .cena2…… )
Установка плагина:
Читать дальше →
Всего голосов 12: ↑2 и ↓10-8
Комментарии5

Нетривиальная задача для Node Reference поля Drupal

Время на прочтение2 мин
Количество просмотров975
Одно из самых полезных полей, которое предоставляет CCK модуль — это Node Reference. Задача его тривиальна и понятна — связать контент сайта отношениями, что легко понять на примерах:
  • Компания, у которой в контенте должны быть ссылки на Рабочих
  • Футбольный игрок, со связью на ноду его Статистики

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

  • Реценты, которые состоят из различных ингридиентов(1 курица, 2 апельсина, 50гр специй)

CCK по умолчанию сам оформляет множественный или одиночный выбор node reference, как список или просто ссылку на соответствующий нод. Задача вывода рецепта предполагает, что рецепт и ингридиент являются нодами.

Соответственно, при рендеринге контента Views`ами мы получим:

Курица по болгарски(Рецепт)

  1. Курица(Ингридиент)
  2. Апельсин(Ингридиент)
  3. Специи(Ингридиент)

Вместо:

Курица по болгарски(Рецепт)

  1. 1 курица(Ингридиент)
  2. 2 апельсин(Ингридиент)
  3. 50гр специй(Ингридиент)

Решение данной задачи к сожалению на Google и Drupal.org я не нашел, а потому пришлось выкручиваться, и получилось это довольно просто и красиво.

Для ноды Продукта добавляем еще одно мультиполе Текст, которое в Fields вьюхи ставим после Node Reference.

А в темплейте views-view-fields.tpl.php (или конкретной вьюхи как Вам нужно) пишем магию:

<?php
$nids = array();
?>
<?php foreach ($fields as $id => $field): ?>
<?php
if($id == 'field_product_nid') {
$nids = array_shift($field->handler->field_values);
continue;
}

if($id == 'field_product_title_value') {
$items = array();
$index = 0;
$titles = array_shift($field->handler->field_values);
foreach($titles as $title) {
$items[] = l($title['value'], 'node/' . $nids[$index++]['nid']);
}
// TODO: theming here
$field->content = theme('item_list', $items);
}
?>
<?php if (!empty($field->separator)): ?>
<?php print $field->separator; ?>
<?php endif; ?>

<<?php print $field->inline_html;?> class="views-field-<?php print $field->class; ?>">
<?php if ($field->label): ?>
<?php print $field->label; ?>:

<?php endif; ?>
<?php
// $field->element_type is either SPAN or DIV depending upon whether or not
// the field is a 'block' element type or 'inline' element type.
?>
<<?php print $field->element_type; ?> class="field-content"><?php print $field->content; ?></<?php print $field->element_type; ?>>
</<?php print $field->inline_html;?>>
<?php endforeach; ?>


Это позволит отрендерить вьюху подменяя титл поля Node Reference. Есть ли у Вас решение для данной задачи?
Всего голосов 20: ↑2 и ↓18-16
Комментарии12

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург и область, Россия
Работает в
Дата рождения
Зарегистрирован
Активность