Search
Write a publication
Pull to refresh
28
0
Антон Патрушев @apatrushev

Пользователь

Send message

Vanadium: семантическая валидация на клиенте

Reading time1 min
Views1.4K
Логотип Vanadium

Vanadium — новый валидатор для клиента, который позволяет вам определять логику семантической валидации через атрибут класса (class). На главной странице проекта есть такие примеры, как:
<input class=":required" type="text" />
<input class=":integer" type="text" />
<input class=":length;4" type="text" />
<input class=":min_length;4" type="text" />
<input class=":format;/^(vanadium)+$/i" type="text" />
<input id="pass" class=":ajax;/username_checker/check.json" type="text" />
<input id="pass" class=":email" type="text" />
<input id="pass" class=":required" type="password" /><input class=":same_as;pass" type="password" />


* This source code was highlighted with Source Code Highlighter.


Примечание от переводчика: Также поддерживается декларация правил валидации посредством JSON-определений и проверка на сервере (AJAX). Требуется jQuery.

Как я был опенсорсником…

Reading time4 min
Views998

Давным-давно, в одной далекой-предалекой Галактике…


Все началось довольно прозаично… было желание доработать программный продукт, но не было ни малейшего представления, как оно там все устроено… и это было давно, очень давно…

  Году наверное в 2003-м... к тому времени я уже довольно таки долгое время являлся пользователем дистрибутива Slackware, так что о том как собирать ПО я знал уже неплохо, но вот знания «си» мне сильно не хватало (забегая вперед признаюсь, я и сейчас его не очень то знаю :). Тем не менее сильно хотелось добавить одну полезную для меня фичу в Midnight Commander. А именно опцию сортировки файлов, когда первыми идут «исполняемые файлы», как это сделано например в far. С помощью аськи, глупых вопросов к приятелям-сишникам и упорства достойного лучшего применения, худо бедно удалось сделать то что хотел… хотя и криво… Но главное оно работало! (какой же кайф угробить 2 дня но сделать то что хотел)
Больше к mc я не притрагивался остановившись на достигнутом… Шли годы… :)
Читать дальше →

Большая Бета: новый Evernote для Windows

Reading time4 min
Views9.3K
image
Наконец-то мы закончили работу над новым клиентом Evernote для Windows.

Это важная платформа для Evernote. 46% наших пользователей, работающих с сервисом на компьютере, используют версию для Windows. Для Mac этот показатель составляет 38%. Веб-интерфейсом пользуются 16%. Но последние несколько месяцев наши Windows-пользователи чувствовали себя немного обделенными, особенно на фоне активной работы над другими платформами.

Однако параллельно мы без лишнего шума (хотя получилось не так уж и тихо, учитывая, сколько людей уже успело скачать альфа-версию) завершили работу по кардинальному переписыванию Evernote для Windows. Целью было сделать клиент быстрее, изящнее, мощнее и — что самое важное — с возможностью более простого усовершенствования в будущем. Теперь вы можете оценить результат в виде нового Evernote для Windows 3.5 Beta. Кажется, получилось очень прилично.

Загрузить бета-версию Evernote 3.5

Новости


image
Evernote для Windows 3.5 получил десятки как видимых невооруженным взглядом, так и скрытых улучшений. Если в нескольких словах, то вы получите возможность быстрее создавать заметки, легче их находить, создавать базы большего размера и иметь больше способов работы с заметками. Далее некоторые изменения:
Читать дальше →

Я.Субботник в Казахстане

Reading time1 min
Views1.6K

15 октября 2009 года Яндекс проведет свой первый Я.Субботник в Казахстане.

В Алматы приедут ведущие специалисты компании, чтобы рассказать о Поиске и об основных сервисах Яндекса.

 

Откроет Я.Субботник Илья Сегалович, директор Яндекса по технологиям и разработке. Затем свои сервисы представят ведущие специалисты компании:

 • Александр Садовский расскажет о поиске Яндекса в регионах, о качестве поиска, а также о том, что предлагает Поиск для вебмастеров.

 • Антон Забанных и Роман Иванов будут говорить о Яндекс.Почте, ее возможностях и преимуществах.

 • Александр Ларьяновский и Вера Лейзерович сделают доклад про виджеты для главной страницы Яндекса. Вы узнаете, как придумать и сделать виджет, а также о том, как использовать API виджетов.

 • Татьяна Исаева и Лев Гершензон расскажут о принципах работы Яндекс.Новостей, о том, что сервис дает СМИ и как стать его партнером.

 • Фёдор Голубев и Леонид Шныр поделятся информацией о возможностях Яндекс.Карт для пользователей и для разработчиков.

 • Антон Попов сделает обзор основных возможностей Яндекс.Метрики и расскажет, как с помощью этого сервиса оценить эффективность не только вашего сайта, но и рекламной кампании.

 

 

 Мы ждем всех по адресу: Казахстан, Алматы, Желтоксан, 181, Гостиница «Интерконтиненталь», зал «Астана»

Участие в Я.Субботнике бесплатное и по предварительной записи . Количество мест — ограничено.

 

Юлия Симутенко, обучаем и развиваем.

 

Чудо селекции — Traktor + Ableton

Reading time5 min
Views20K
Пора выполнять обещания :)

Итак, что мы имеем? Имеем две софтины, обе признанные лидеры индустрии, но каждой чего-нибудь не хватает для счастья. У Ableton не совсем удобная транспортная часть, зато почти полная свобода действия с маршрутизацией аудио и подключаемыми VST-эффектами. У Traktor же наоборот: очень удобная и интуитивно понятная панель управления транспортом, а вот с эффектами напряг. Встроенные, конечно, довольно неплохи по-своему, но их хватает далеко не для всех нужд. Еще для Аблтона треки надо особым образом готовить, а это не всяким по душе, к тому же, иные считают что сводить в Аблтоне слишком просто и не труъ. :)
Напрашивается мысль — надо их как-то скрестить. Поднапряжем мозги — Трактор позволяет раскидать вывод аудио на разные каналы, а Аблтон позволяет собрать аудио с разных входов. Уже что-то.
Читать дальше →

Видео урок по пайке и демонтажу. Продолжение

Reading time1 min
Views35K
Начало тут

Теперь покажу как можно орудовать паяльным феном:

В роли фена у меня Актаком АТР-4501:
image
Это просто фен, является полной копией фена QUICK (о чем и не скрывает). Стоит дороговато — раза в два дороже супер популярных в народе Lukey 852D, но качество зато на уровне и не скачет от изделия к изделию.

В прошлом топике меня спросили как запаивать память SSOP корпусах (например как в роутерах) — спрашивали, отвечаем. Это, правда, не память, это конвертер USB-UART, но корпус у него с аналогичным шагом, разве что ножек поменьше.
Читать дальше →

Студента ЭФ СПбГУ осудили за взлом факультетского сайта

Reading time2 min
Views4.1K
Гордость Экономического факультета СПбГУ — спустя 3 года был вынесен приговор взломщику сайта.

Вот цитата с официального сайта факультета:

По информации Центра информационных технологий экономического факультета 15 сентября в Суде Московского района г. Санкт-Петербурга был оглашен приговор по уголовному делу о взломе сайта экономического факультета весной 2006 года.

Обвиняемый признан виновным в совершении преступлений, предусмотренных ст. 273 ч.1 УК РФ «Создание, использование и распространение вредоносных программ для ЭВМ».

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

По гуманной 73-ей статье УК РФ «Условное осуждение» наказание смягчено до условного срока (2 года).

Штраф и конфискация оставлены.

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

Пруфлинк.

Если быть точным, взлом был сделан 30 марта 2006 года. На студенческом сайте факультета тогда тут же началось обсуждение. Объявился на форуме и сам «хакер», объяснив мотивы своих поступков. Взломщик не скрывался.

К сожалению, скриншотов взлома не сохранилось — все они были удалены. Однако, суть взлома состояла в deface. В данном случае, администраторам сайта было явно указано на уязвимость. Единственным решением со стороны администраторов сайта был откат базы. Дыры закрыты не были. Затем, на следующий день, был произведен точно такой же дефейс.

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

А какой точки зрения придерживаетесь вы?
Грубо говоря, на одной стороне весов «дефейс», а на другой — два года условно и штраф.

UPD: Хабраэффект в действии. www.econ.pu.ru/wps/wcm/connect/econ — лежит с 500 ошибкой [ссылка на первого заметившего].

UPD2: econ.pu.ru/wps/wcm/connect/econ — без WWW сайт вообще никогда не работал, с момента создания.

UPD3: Ссылка на новость на сайте факультета была удалена с главной страницы и блока новостей.

Знакомство с NDepend

Reading time4 min
Views9.3K
Проблема связанности в архитектуре приложений в последнее время получила очень много огласки, и породила большое количество фреймворков DI-характера и приложений для статического разбора и «умного рефакторинга». Об одном таком приложении под названием NDepend я и хочу рассказать.

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

MVC на iPhone: «The Model» (Часть 1)

Reading time8 min
Views2.9K
CocoaTouch с самого начала создавалась с прицелом на парадигму MVC. Практически все шаблоны, представления и их контроллеры для пользователя уже готовы. Ключевые классы — "UIView" и "UIViewController". Во многих случаях метод "UIView" применим сам по себе — с добавлением элементов пользовательского интерфейса в общий "UIView" в редакторе IB. Для создания собственных функций добавляем подклассы к "UIViewController". Спецификаторы "IBOutlet" позволяют связывать элементы пользовательского интерфейса с представлением, обеспечивая к ним доступ.

А как быть с понятием «Model»? О нем информации я практически не нашел. В уроках по программированию с моделью предпочитают не работать, набирая код непосредственно в контроллерах.

Добившись, как мне показалось, неплохих результатов с реализацией, я предлагаю их здесь для обсуждения и оценки. Изложу вкратце. Я создаю класс "Singleton", расширяющий "NSObject" для моей модели. Потом посредством наблюдения за ключами/переменными узнаю об обновлениях. Это во многом напоминает "ModelLocator" из "Cairngorm", если кому-то приходилось работать с ним во "Flex".

Для начала создадим проект с парой представлений.
Читать дальше →

Эмуляция старых (и не только) консолей в GNU/Linux

Reading time3 min
Views26K
image
Еще в детстве у меня была мечта иметь кучу катриджей к своим Sega и Dendy, чтобы переиграть во все игры. Теперь возможно не только это. К сожалению, многие консоли так и не попали на территорию России. Под катом находятся описания эмуляторов Dendy, Sega, SNes, Mame и ссылки на эмуляторы остальных более-менее известных консолей.

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

Пути саморазвития студента — взгляд после выпуска

Reading time4 min
Views6.9K
Мой комментарий к вот этому посту разросся до отдельной записи.

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

Студенчество — отличная пора, когда есть достаточно времени, чтобы стать отличным специалистом. Это становление всегда занимает определенное время. Скажем, 3-5 лет. Чем раньше начнешь — тем раньше станешь. Очень важно, на мой взгляд, не потерять время.

В программисте важны не технологии, которыми он владеет, а его мышление и опыт. Чем больше технологий «пощупает» программист — тем шире его кругозор, тем больше подходов он знает, тем легче освоит что-то новое.

Мой подход может помочь стать или очень востребованным в организациях специалистом или же наоборот — освободиться от организаций — стать фрилансером или предпринимателем.

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

Итак, мои советы студенту-айтишнику.
Предполагается, что студент пошел на 1й курс после школы и практических навыков не имеет (а вот за то, что он еще не имеет практических навыков — он должен получить ложкой в лоб за раздолбайство!).
Также предполагается, что аспирантура и научная деятельность студента не интересует, а терять время на академы студент не собирается.
Читать дальше →

ProkatVsego — каталог проката и аренды всего, что угодно

Reading time2 min
Views1.7K
Привет хабрасообщество! Хотим представить на ваш суд наш (vano, vbykanov) первый полноценный стартап, посвященный прокату и аренде всего, что угодно в Украине, а вскоре и в других странах.

ProkatVsego.com.ua

ProkatVsego.com.ua – это тематическая бесплатная доска объявлений, нацеленная на сегмент предложений и запросов проката и аренды буквально всего, что угодно. Во всем мире тема проката достаточно популярна и немало компаний занимается этим, предоставляя в аренду и напрокат очень большой спектр товаров и вещей – начиная от велосипедов и заканчивая вертолетами и роскошными яхтами.
Читать дальше →

Opera как интерфейс

Reading time4 min
Views10K
image
На самом деле сначала я хотел написать совсем о другом, но в процессе подготовки материала обнаружилась, на мой взгляд, более интересная вещь и я решил заострить внимание как раз на ней. А именно — захотел рассказать о том, как можно использовать Opera в качестве интерфейса. Но обо всём по порядку.
Читать дальше →

Работа с базовой анимацией на iPhone

Reading time5 min
Views2.1K
Одна из привлекательных особенностей интерфейса Cocoa Touch — упрощенная работа с анимацией. В этом уроке я покажу пару простых примеров создания анимации для iPhone. Наша анимация будет выполнять две задачи: перемещать объект на экране и менять его размеры в зависимости от точки касания его пользователем.

Тем, кому еще не приходилось заниматься программированием на iPhone, полезно будет ознакомится с азами здесь, здесь и здесь. В качестве примера приведу также урок из серии Stanford iPhone Development (английский язык), где рассматривались основы анимации движения.

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



Что ж, приступим…
Читать дальше →

Интернет магазин на Google App Engine (UPD: 20.01.2010)

Reading time2 min
Views4K
Магазин работает уже почти пол года — добро пожаловать :)
http://www.digital-mode.ru

Как это все работает.

Фронт-офис — генерирует страницы с группами и товарами, а также позволяет добавить товар в корзину и оформить заказ.
Хранилище картинок — отдает фотографии товаров в нужном размере. Все остальные картинки статические, загружаются с сервера GAE.
Бэк-офис — административная часть, позволяет редактировать товары и группы, просматривать заказы, загружать фотографии для товаров, а также загружать обновления цен, наличия и новые позиции.

Для генерации почти всех страниц используется Django templates.

В целом ничего сложного :)

Проблемы с которыми пришлось столкнутся при разработке.

На текущий момент есть проблемы с загрузкой/выгрузкой большого количества данных. На данный момент использую CSV для загрузки обновлений (цены, товары, наличие). При большом объеме данных превышается тайм-аут 30 сек на выполнение. Кроме этого в GAE ограничение на 30 запросов на запись (put). Соответственно обновлять больше 30 товаров за один проход не получается. Этот момент можно оптимизировать и обновлять данные не поштучно, а сразу пачками т.к. в GAE запись в хранилище может производится целыми массивами.

Выгрузка данных для Яндекс.Маркета занимает почти 10 секунд (200 товаров), 90% времени это генерация HTML.

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

Преимущества GAE

Отсутствие необходимости покупки/настройки/поддержки собственного сервера.
Автоматическое масштабирование.
Одинаковое время доступа к приложению при разных нагрузках.
Удобство разработки.

Итого

Скорость работы магазина не зависит от количества посетителей.
На данный момент при 500-600 хитов в сутки используется 0,3-0,4 часа процессорного времени из 6,5 бесплатного.

После публикации в комментариях к топику: "Стоит ли вам использовать Google AppEngine?" ссылки на магазин было использовано ресурсов:
— 0,44 часов CPU из 6,5
— 28000 запросов из 1,3 млн
— 210 Мб из 1 Гб исходящего траффика
— 5,59 Гб из 116 Гб получено из API
— 0,22 часа из 62,11 использовано хранилищем
Всего за 12 часов — 700 хитов (180 хостов).

Это микрохаброэффект:
image
Читать дальше →

Google Chrome Frame — HTML5 для пользователей IE

Reading time1 min
Views7K
Если вам надоело разрабатывать специальные хитрые решения для пользователей IE6, попробуйте этот таг:

<meta http-equiv="X-UA-Compatible" content="chrome=1">

Он позволит пользователям IE, у которых установлен плагин Google Chrome Frame, использовать рендерер WebKit и JS-движок V8.

Подробный блогпост на английском здесь.

Пост от разработчиков Google Wave, показывает пример, как предложить пользователям IE установить этот плагин.

Официальное видео

Google Chrome Frame ориентирован в первую очередь на веб-разработчиков, которые смогут благодаря ему создавать более сложные и современные веб-сервисы. А пользователи, предпочитающие интерфейс IE, смогут наслаждаться скоростными приложениями, как Google Wave.

Voxelart project

Reading time1 min
Views1.1K
Не так давно мы запустили новый сайт своей студии. На главную страницу которого придумали «фичу», которая должна была стать интерактивным промо-элементом пользователя.

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

image

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

image

Ждем ваших работ в галерее проекта.

Технический писатель: о языках и странах

Reading time5 min
Views8.8K
Итак, какими же языками пользуется технический писатель в сфере IT?

Английский. THIS IS A MUST, как говорят. Так уж сложилось, что это стандарт в мире информационных технологий. Техписатель в этой сфере просто обязан владеть им вне зависимости от того, какой у него основной рабочий язык. Иначе… увы.
Кстати, что радует, читать документацию на английском легко и приятно ( как и научные статьи, между прочим ). Пишется она обычно простым и доступным для понимания языком.
Часто даже на русском документация сложнее.
Читать дальше →

Тестирование Spring приложений. Транзакции в тестировании

Reading time6 min
Views23K
spring-overview

Про полезность подхода TDD (разработка через тестирование, test driven development) не слышал только ленивый или глухой. Но сегодня мы не будем обсуждать всю его полезность и красоту, а также проблемы и недостатки. Сегодня мы попробуем посмотреть, как разрабатывать unit-тесты для spring приложений. Также мы немного тронем ручное управление транзакциями в unit-тестах.
Читать дальше →

Information

Rating
Does not participate
Location
Bonn, Nordrhein-Westfalen, Германия
Date of birth
Registered
Activity