Обновить
20
0
Ermak@Ermak

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

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

51 Веб Приложение для Дизайнеров и Разработчиков

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

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

Данная статья представляет 51 веб приложений для дизайнеров и разработчиков.
Идем дальше...

Создаём правильный «мокрый пол» c перспективой изображения на Javascript

Время на прочтение1 мин
Охват и читатели1.9K
В контексте одного из моих текущих проектов была поставлена задача сделать «мокрый пол». Картинок на пол планировалось класть огромное количество (но всего по паре на страницу, с заменой). В перспективе. В перспективе, кстати, временной и пространственной.

Не найдя ничего стоящего, я взялся написать свой велосипед. И, по-сидев два с лишним вечера, сочинилась небольшая js-библиотека с generic-названием iWet.

UPD: Версия 0.2
  • Добавил белую маску. См. Демо.
  • Выложил исходик маски в .psd
  • Вылечил баг с мельканием картинки при загрузке страницы
  • Добавил readme.txt и licence.txt
  • Минимальные косметические изменения кода

Плюсы, минусы и примеры следуют

Map/Reduce: решение реальных задач — TF-IDF — 2

Время на прочтение3 мин
Охват и читатели14K
Продолжая статью “Использование Hadoop для решения реальных задач”, хочу напомнить, что в прошлой статье мы остановились на том, что посчитали такую характеристику как tf(t,d), и сказали, что в следующем посте мы будем считать idf(t) и завершим процесс вычисления значения TF-IDF для данного документа и термина. Поэтому предлагаю долго не откладывать и переходить к этой задаче.

Важно заметить, что idf(t) не зависит от документа, потому как считается на всем корпусе. Это нетрудно увидеть, посмотрев на формулу:



Вероятно, она нуждается в некоторых пояснениях. Итак, |D| это мощность корпуса документов — иными словами, просто количество документов. Мы знаем его, поэтому считать ничего не надо. Знаменатель же логарифма — это количество таких документов d которые содержат интересующий нас токен t_i.

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

Map/Reduce: решение реальных задач — TF-IDF

Время на прочтение6 мин
Охват и читатели22K
Вчера я задал вопрос в своем ХабраБлоге — интересно ли людям узнать, что такое Hadoop с точки зрения его реального применения? Оказалось, интересно. Дело недолгое — статью я написал довольно быстро (по крайней мере, ее первую часть) — как минимум, потому, что уже давно знал, о чем собираюсь написать (потому как еще неплохо помню как я сам тыкался в поиске информации, когда начинал пользоваться Hadoop). В первой статье речь пойдет об основах — но совсем не о тех, про которые обычно рассказывают :-)

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

Что такое Hadoop?




Ну скажите, какой смысл об этом писать? Уже не раз это проговаривалось, неоднократно начинали писаться посты на тему Hadoop, HDFS и прочая. К сожалению, обычно все заканчивалось на довольно пространном введении и фразе “Продолжение следует”. Так вот: это — продолжение. Кому-то тема, затрагиваемая в этой статье может показаться совершенно тривиальной и неинтересной, однако же лиха беда начало — любые сложные задачи надо решать по частям. Это утверждение, в частности, мы и реализуем в ходе статьи. Сразу замечу, что я постараюсь избежать написания кода в рамках этой конкретной статьи — это может подождать, а понять принципы построения программ, работающих с Map/Reduce можно и “на кошках” (к тому же с текущей частотой кардинального изменения API Hadoop любой код становится obsolete примерно через месяц).

Когда я начинал разбираться с Хадупом, очень большой сложностью лично для меня стало первоначальное понимание идеологии Map/Reduce (я предпочитаю писать это словосочетание именно так, чтобы подчеркнуть, что речь идет не о продукте, а о принципе). Суть и ценность метода станет понятна в самом конце — после того, как мы решим несложную задачу.
Читать дальше →

Кто есть кто в облаках, часть 2

Время на прочтение6 мин
Охват и читатели1K
Вторая, заключительная часть опроса разработчиков, который провела Evans Data Corp.
Рейтинги поставщиков по масштабируемости, надежности, времени отклика, независимости от вендора и соотношению цена/качество.
подробности

Распределенная файловая система GFS (Google File System)

Время на прочтение14 мин
Охват и читатели29K
В настоящее время, в условиях роста информации, возникают задачи хранения и обработки данных очень большого объема. Поэтому эти данные обрабатывается сразу на нескольких серверах одновременно, которые образуют кластеры. Для упрощения работы с данными на кластерах и разрабатывают распределенные файловые системы. Мы подробно рассмотрим пример распределенной файловой системы Google File System, используемую компанией Google. (Статья является, фактически, вольным и урезанным переводом оригинальной статьи ).
Читать дальше →

Вечеринки знакомств

Время на прочтение2 мин
Охват и читатели2.5K
Всем доброго пятничного вечера!

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

image

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

Видеоверсия лекции Андрея Могина об инвестировании в стартапы

Время на прочтение1 мин
Охват и читатели843
imageВ Минске в рамках курса «IT-предпринимательство», который устраивает бизнесинкубатор БГУИР, прошла лекция Андрея Могина, соавтора книги IPO от I до O, известного специалиста по инвестициям и оценке стоимости компаний.
Андрей Могин — управляющий партнер фонда Genesys Asset Management, один из ведущих экспертов в СНГ по управлению стоимостью компании. Автор обучающего курса для компании Intel по финансированию инноваций, автор курсов по венчурному финансированию и инновационному менеджменту.

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

Первую лекцию читал Юрий Зиссер, однако она была посвящена в большей степени истории TUT.by как стартапу. Среди прочего Ю.А. сказал, что потратил на тут бай 62 тысячи долларов.
(видеоверсия лекции Ю.А. Зиссера)

Использование 7zip для бэкапа данных

Время на прочтение2 мин
Охват и читатели202K
Для наступления полного и тотального счастья в плане бэкапов информации на рабочем сервере решил отказаться от Acronis True Image в пользу обычной архивации данных с помощью 7-Zip.

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

Вычисляем плохих ботов

Время на прочтение1 мин
Охват и читатели2.9K
image
Это ничуть не руководство к действию, а только лишь некоторые мои умозаключения, которые не являются истиной в последней инстанции.
Итак, давайте рассмотрим ситуацию, когда по сайту лазят боты и занимаются там разными неприглядными делами: сканируют, спамят через формы, грабят контент и так далее. Но по сайту могут пройтись и хорошие роботы — с поисковых систем, которых обижать нельзя. Необходимо определить плохих ботов и заблокировать их.

Итак, ряд простых, но полезных советов

Вышли Java/Python SDKs 1.2.6

Время на прочтение2 мин
Охват и читатели652


Поддержка входящей почты — на данный момент поддерживаются лишь почтовые адреса вида: whatever@yourappid.appspotmail.com. Возможно через 1-2 релиза появится поддержка собственных доменов, как и в случае с XMPP; так, по крайней мере, было обещано разработчиками в чате с ними.
Подробнее: java, python.

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

Статистика по хранилищу — супер функция, вернее целое API, которое позволяет посмотеть общее количество обьектов, размер хранилища, количество обьектов модели и т.д. и т.п. Причем возможно посмотреть стату в админке с картинками, а можно получить в приложении через запрос к хранилищу.
Подробнее: java, python.

Далее мой анализ неанонсированных фич в коде PythonSDK

Ненормальное программирование. Разработка IF игр

Время на прочтение6 мин
Охват и читатели21K

Разработка игр



Кто не мечтал попробывать разработать собственную игру. Мы будем создавать игру в стиле interactive fiction Сюжет я взял на сайте одной из систем программирования RTADS. Система локализована на русский язык и содержит полный набор средств и руководств для программирования. Но… Программировать мы будем в другой системе Inform7 Она мне больше нравится, т.к. я люблю английский. Итак сюжет.

Сюжет


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

Создание расширения FireFox для начинающих

Время на прочтение8 мин
Охват и читатели51K
В данной статье представлена пошаговая инструкция по разработке простейшего расширения для FireFox.
Это частичный перевод оригинальной статьи.

Это не моя статья, а моего друга (его мыльце: templar8@gmail.com). Он очень хочет попасть на Хабр. У меня самого не хватает кармы для инвайта.
Текст статьи

Полная визуализация интернет-аналитики

Время на прочтение4 мин
Охват и читатели6.3K
Приступая к этим заметкам, пересмотрел хрестоматийный ролик «1984», которым компания Apple в свое время ярко противопоставила себя миру серости и занудства, под которым тогда подразумевались персональные компьютеры IBM.
Именно такие ассоциации порождает стартап Webvisor (Вебвизор). Он предлагает не просто принципиально новый подход к интернет-аналитике. Среди всех подобных систем он выделяется яркостью и наглядностью, противопоставляющими себя определенному занудству отчетов интернет-счетчиков, хотя бы и не похожих на Большого Брата. Подход WebVisor основан на детальном визуальном анализе поведения каждого посетителя.

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

OCR online

Время на прочтение3 мин
Охват и читатели5.9K
С технологией оптического распознавания текста я познакомился где-то в 1997 года, когда купил свой первый, тогде ещё ручной, чёрно-белый сканер Genius ScanMate 256 (кстати, всё ещё рабочий). К сканеру прилагалась программа Direct OCR на 3х дюймовой дискете (блин, откуда-то из подсознания все эти названия всплывают), которая всеми своими силами пыталась доказать, что можно быстро и почти без ошибок текст из книги ввести в компьютер. Ну, доказательства были не очень. FineReader, с которым я познакомился позже, делал это качественнее. Тема распознавания меня заинтересовала, я потратил довольно много времени на научно-популярные статьи о технологиях OCR.

В 2001 году я готовил дипломную работу по web-технологиям. Долго думал о том, куда приложить знания. Поскольку меня интересовала технология OCR, я задумал совместить WEB и распознавание текстов. За само распознавание у меня должен был отвечать FineReader. С друзьями мы «разобрали» FineReader на отдельные DLL и выяснили, как вызывать отдельные функции этих библиотек, передавая двоичные данные изображений, и как получать обратно распознанный вариант текста. Над этим всем был построен простейший веб-интерфейс, чтобы загружать картинки, запускать распознавание и получать результат.
Читать дальше →

Как заработать деньги на торговых автоматах

Время на прочтение4 мин
Охват и читатели6K
imageЗнаете ли вы, что общего у терминала по приёму платежей в подземном переходе, гандономата в Лавке Студии Лебедева, и кран-машины, вокруг которой толпятся ребятишки, в надежде вытянуть мягкую игрушку? Всё это — вендинговые автоматы.

Вендинг — это продажа товаров и услуг с помощью автоматизированных систем (торговых автоматов). Вендинг получил широкое распространение в мире, как удобный и не очень требовательный способ вести торговлю или оказывать услуги. В 2001 объём вендинга в США составил $24,34 млрд. В Японии — около $60 млрд (самый большой в мире). (Wikipedia)

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

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

Линус Торвальдс о GIT на Google Talks [видеоперевод 8 частей]

Время на прочтение1 мин
Охват и читатели4.3K
Два года назад Линус Торвальдс рассказал представителям Google об использовании GIT (распределённой системы контроля версий) для ядра Linux. Посчитав, что многие могут пропустить эту интересную лекцию по причине незнания языка, я осмелился озвучить её по-русски.



а так же плейлист целиком.
пояснения...

Java: Socks 4 Proxy работа с неблокирующими сокетами

Время на прочтение21 мин
Охват и читатели24K
Начиная с версии 1.4 в j2se появился package java.nio, который позволяет работать с сокетами в неблокирующем режиме, что зачастую повышает производительность, упрощает код и даёт дополнительные возможности и функционал. А начиная с версии j2se 1.6 на серверах под упралением ОС линукс(kernel 2.6) реализация класса Selector выполнена с использованием epoll, что обеспечивает максимально возможную производительность.

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

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

Время на прочтение2 мин
Охват и читатели4K
Магазин работает уже почти пол года — добро пожаловать :)
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 AppEngine?

Время на прочтение5 мин
Охват и читатели4.4K
Disclaimer: Эта статья не о том, «какой я умный и какой Гугл тупой». Эта статья о некоторых неочевидных проблемах и особенностях Google AppEngine (GAE), о которых было бы неплохо знать тем, кто хочет начать работать с «империей зла» :-)


Гугл сделал много отличных вещей – поиск, почта без спама… Гугл получает кучу наших приватных данных, но мы продолжаем пользоваться им, потому что оно так классно работает…
Некоторое время в IT-шных кругах поднялось достаточно шума об AppEngine, и я решил попробовать поработать с ним в моём новом проекте.

Я выбрал Python с гугловским framework-ом чтобы получить наилучшую совместимость и скорость. Начал я с тестов производительности, и результаты были…
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Герцлия, Тель-Авив, Израиль
Зарегистрирован
Активность