Как стать автором
Обновить
-1
0
smartking @abiruba

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

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

Обзор платформ для построения облаков

Время на прочтение7 мин
Количество просмотров54K

Наверное всем уже надоели эти самые облака, но вкратце остановимся на том какие они бывают если кто-то не знает. В зависимости от модели развертывания они бывают:
  • private cloud
  • public cloud
  • hybrid cloud

Более подробно можно прочитать тут.
В зависимости от модели обслуживания:

Так вот мы с вами сегодня будем говорить о платформах для построения именно IaaS облаков. Поехали!
Читать дальше →
Всего голосов 55: ↑50 и ↓5+45
Комментарии32

Опубликован перевод документации по Selenium

Время на прочтение1 мин
Количество просмотров13K
Наконец-то мы завершили и опубликовали перевод на русский язык документации по инструменту Selenium, пожалуй, наиболее популярному в последнее время инструменту автоматизации тестов для веб-приложений.

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

Мы надеемся, что теперь, благодаря преодолению языкового барьера, число поклонников Selenium будет расти ещё быстрее, и мы будем рады видеть Вас в наших рядах!

(Под катом — благодарности спонсорам и участникам проекта по переводу)
Читать дальше →
Всего голосов 46: ↑45 и ↓1+44
Комментарии12

Как Agile и Google календарь изменили мою жизнь

Время на прочтение3 мин
Количество просмотров58K
Как менеджер проектов в своё время я попытался интегрировать различные Agile/SCRUM методики в свою повседневную жизнь. Ведь она тоже в каком то смысле является долгосрочным и довольно динамичным проектом.

Неоднократно пробовал использовать популярные GTD инструменты, но в итоге именно Google календарь ввиду своей наглядности и привязке ко времени — оказался наиболее эффективным. Получается такой вот Self SCRUM Board с итерациями и планерками :)

image
Читать дальше →
Всего голосов 55: ↑50 и ↓5+45
Комментарии72

jQuery File Upload

Время на прочтение2 мин
Количество просмотров182K
Ура! Еще один, свеженький… чем он лучше других?



а) Новенький! Всегда, кто берется что-то делать, то обычно смотрит: есть ли в этом смысл, и если есть — делает это.
б) Красивенький! Можно не точить, а ставить из коробки. Основан на Bootstrap'е и иконках Glyphicons
в) Само собой мультиселект файлов, Drag&drop, прогрессбар и превьюшки фотографий.
г) Поддержка кросдоменного соединения, докачка и ресайз фоток на стороне клиента.
д) Готов для любой платформы сервера (PHP, Python, Ruby on Rails, Java, Node.js, и тому подобное.)

blueimp.github.com/jQuery-File-Upload

Поддержка браузеров:

github.com/blueimp/jQuery-File-Upload/wiki/Browser-support

Читать дальше →
Всего голосов 215: ↑206 и ↓9+197
Комментарии118

Индексация AJAX-сайтов

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


Вместе с разработкой Joosy, AJAX внезапно – но ожидаемо, – заполонил все проекты, за которые мы беремся. Парадигма оказалась крайне удачной во всех аспектах, кроме одного. Того самого классического: «AJAX? Индексация? Пфф...». Пока мы делаем интернет-банки, это нас вполне устраивает. Но как не отказывать себе в этом изысканном удовольствии для открытых Web-ресурсов?

А вот как: Google AJAX Crawling – это стандарт Google, который позволяет при формировании AJAX-адресов специальным образом (#!) заставить Google магически запрашивать вместо него другой магический адрес. С которого Google будет ждать HTML-дамп этой страницы, который он весело прожует. Добрые люди уже написали статью про то как это работает. Ну а нам остается научиться эффективно этот дамп формировать. Да так, чтоб без вмешательства в код самого приложения.

Hashbang сделает это весело и непринужденно.
Всего голосов 45: ↑37 и ↓8+29
Комментарии53

Советы себе в прошлом

Время на прочтение4 мин
Количество просмотров23K
У меня очень мало опыта (суммарно программистом я проработал 16 месяцев), тем не менее, я хотел бы дать несколько советов себе-в-прошлом, ну, или иными словами всем тем, кто сейчас учится в университете и планирует стать разработчиком ПО. Ни в коей мере не претендую на мудрость или опытность. Немного подумав, я понял, что все эти советы как никогда актуальны для меня и сегодня тоже. Первую заметку я опубликовал в своем блоге в прошлом году, а сейчас публикую здесь список, расширенный советами читателей блога.

Все советы автономны и их порядок не имеет значения.
Читать дальше →
Всего голосов 219: ↑193 и ↓26+167
Комментарии311

FON — бесплатный Wi-Fi по всему миру

Время на прочтение2 мин
Количество просмотров44K
Вслед за публикацией поста о том, как МТС впихивает пресловутый FON в свои роутеры, у меня появился интерес к этой технологии и я решил рассказать о ней всему Хабру.
image
Технология принадлежит испанской компании FON Wireless Ltd. На самом деле технология дошла до России ещё в 2008 году, и ввела её как раз таки МТС, и на данный момент по Москве насчитывается около 65 тыс. точек доступа.
Подробнее под катом
Всего голосов 61: ↑49 и ↓12+37
Комментарии125

Если Вы все еще думаете, делать бизнес в интернете или нет

Время на прочтение2 мин
Количество просмотров10K
Для тех кто только собирается начать работать в среде электронной коммерции есть стразу несколько хороших новостей.

Во-первых, численность интернет-пользователей у нас в России на начало 2011 года превысила 46 млн. человек, что составляет более 52% от общего взрослого населения страны (+18). Если взять аналогичный период 2010 года, то прирост пользователей составил порядка 9%. Это данные организации «Мир Интернета».

Во-вторых, это данные агентства Data Insight, в 2010 году 12,5 миллиона покупателей потратили на онлайн-покупки в России 240 миллиардов рублей (7 млрд.$). По другим данным цифра чуть скромнее, потому что не брался в расчет рынок B2B, но все равно цифры заставляют задуматься. Стоит так же отметить, что по данным Яндекс.Маркет за 2011 год рынок интернет-торговли вырос по сравнению с 2010 годом примерно на 25%. К примеру, интернет магазин Озон за первое полугодие этого года вырос на 36%.

image
Подробности...
Всего голосов 70: ↑48 и ↓22+26
Комментарии35

PHP Unit. Опыт тестирования классов, работающих с Базой Данных

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

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

К сожалению в этом списке отсутствует одна очень нужная нам фича — восстановление данных в состояние, в котором они находились до тестов. Я хочу предложить 2 варианта решения этой проблемы. Так же попутно остановлюсь на проблеме внешних ключей, которая часто возникает при накатывании не полных тестовых данных на «рабочую» базу.

Итак, я предлагаю 2 варианта решения проблемы: как после проведения юнит теста вернуть базу данных в исходное состояние:
Первый путь — «Транзакционный». Суть которого сводится к выполнению всего теста в рамках одной транзакции, и последующему rollback'у транзакции.
Второй — Перед выполнением теста скопировать структуру «рабочей» базы и проводить тестирование на ней.
Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии28

Домашний сервер. Часть 2. FTP, Samba и rTorrent

Время на прочтение7 мин
Количество просмотров80K
Пришло время организовывать файловое хранилище, как внутри сети так и снаружи. Данная статья является продолжением первой части, посвященной настройки WiFi роутера на Вашем домашнем сервере. Все жесткие диски с Вашего домашнего компьютера(кроме системного) можно перенести на сервер, поскольку скорость передачи данный колеблется в районе 10-20 мегабайт в секунду [данный параметр еще и очень сильно зависит от модели Вашего жесткого диска], да и кстати, давно уже пора для системного диска покупать SSD накопители.
Читать дальше →
Всего голосов 66: ↑46 и ↓20+26
Комментарии79

Документация по Grab — библиотеке для парсинга сайтов

Время на прочтение2 мин
Количество просмотров34K
Я ранее уже рассказывал на хабре о Grab — библиотеке для парсинга сайтов и о Spider — асинхронном модуле для парсинга. Рад сообщить, что я наконец-то дописал документацию по Grab. Я решил писать всё на русском языке т.к. на английском языке мне труднее выражать мысли. На деле писанины получилось гораздо больше, чем представлялось в начале, но я таки описал практически все функции библиотеки. Я решил просто вставить сюда, оглавление, кликайте на интересный раздел и читайте о возможностях Grab:
Читать дальше →
Всего голосов 77: ↑72 и ↓5+67
Комментарии57

Использование putty и ssh ключей в Windows

Время на прочтение2 мин
Количество просмотров295K
Так как приходиться уже не первый раз объяснять как это делается, решил оформить в виде How-To в картинках
Скачиваем архив putty отсюда putty.zip
1. Распаковываем и запускаем ssh-keygen

Выбираем ключ ssh-rsa и длину 2048 бит. Жмем «Generate».
Читать дальше →
Всего голосов 25: ↑15 и ↓10+5
Комментарии14

Техническое задание на сайт

Время на прочтение11 мин
Количество просмотров698K
UPD: Продолжение статьи с примером техзадания

Не так давно на хабре были две статьи (Согласно техническому заданию и А зачем мне ТЗ? Я и так знаю!) посвященные техническим заданиям. У меня обе статьи вызвали, мягко говоря, недоумение, в особенности статья «Согласно техническому заданию». На мой взгляд, это вообще вредная статья, которая приводит к неверному понимаю сути ТЗ. В связи с этим хочу выразить свой взгляд на этот вопрос. Не буду говорить обо всех тех. заданиях, слишком широка тема, но думаю смогу рассказать о ТЗ на сайт.

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

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

1. Обоснование необходимости ТЗ


А зачем вообще нужно ТЗ на сайт? Заказчик говорит: «Нужен следующий сайт: каталог товаров, корзина, форма заказа, доставка, мы на карте, о нас, обратная связь». Что не ясно? Ничего необычного, всё обыденно и рутинно.

Разработчик отчетливо представляет, что нужно сделать, а сделать, в его понимании нужно вот так:



Далее много букв
Всего голосов 212: ↑209 и ↓3+206
Комментарии141

Собираем данные с помощью Scrapy

Время на прочтение4 мин
Количество просмотров116K
Здесь уже проскакивали вскользь упоминания об этом фреймворке для сбора данных. Инструмент действительно мощный и заслуживает большего внимания. В этом обзоре я расскажу, как

scrapy

  • создать паука, выполняющего GET запросы,
  • извлекать данные из HTML документа,
  • обрабатывать и экспортировать данные.





Читать дальше →
Всего голосов 87: ↑85 и ↓2+83
Комментарии49

Почему Git

Время на прочтение8 мин
Количество просмотров68K
Было время, когда я ничего не знал про VCS, ни что это такое, ни тем более зачем это мне. И верхом своих достижений считал папочку с архивами версий. К моменту осознания необходимости системы контроля версий я уже набил шишек и прочувствовал необходимость такого инструмента. Но борландовский аналог CVS меня не впечатлил. У каждого файла свой номер версии. Как мне получить срез определенного релиза я так и не разобрался. А в это время SVN победоносно шла сквозь умы разработчиков. Черт, это было то, чего мне так не хватало. Прочитав доку и начав работать я просто влюбился в нее. Да, были трудности и определенные неудобства, но куда без них.
Так я и работал бы в SVN, но ничего не стоит на месте. В интернете уже потекли тонкие ручейки новостей про Git. Я не кидаюсь за каждой новой технологией, и прошло уже достаточно много времени, пока мне не прожужжали этим Git’ом все мозги. Мне стало любопытно, я вначале присматривался, примерялся, а потом плюнул и начал новый проект на Git. Мучался с ребятами 2 недели, накачал литературы, написал шпаргалку… ничего, привыкли, … а потом меня поперло.

Теперь меня регулярно просят рассказать про Git и что в нем такого. Уже надоело, поэтому этот пост для тех, кто еще сомневается.
Читать дальше →
Всего голосов 207: ↑195 и ↓12+183
Комментарии265

Методы мониторинга веб-сайтов и сервисов

Время на прочтение4 мин
Количество просмотров34K
WEBO PulsarБизнес в интернете сейчас очень сильно завязан не только на качество самого сайта, но и на его доступность и работоспособность в режиме 24/7/365. И хотя хостинг-провайдеры заявляют о достаточно большом аптайме площадок и серверов, не всегда этого бывает достаточно, чтобы быть уверенным в надежности сайта. Одним из помощников в этом является мониторинг как доступности, так и работоспособности основных подсистем сайта. Давайте посмотрим, как это можно делать сейчас.

Регулярная проверка


Один из наиболее распространенных методов — регулярная проверка работоспособности сайта. Можно делать самому — открыть с утра сайт любимой компании или интернет-магазин (имея его в стартовой странице браузера), радоваться, что работает. И закрывать. Не очень удобно и совсем не эффективно. Проблемы с доступностью обычно начинаются непредсказуемо. Обнаруживать их лучше сразу же, как только они возникли. Также часто помогают сами пользователи — начинают звонить и писать, что сайт не работает (если телефон и почта указаны где-то за пределами сайта). Самый же частый сигнал нерабочего сайта — прекращают приходить клиенты. Тут уже бьют тревогу и начинают выяснять, что же там случилось. рвут волосы, отрывают колокольчики, посыпают пеплом и солью. Хотя всего этого можно было избежать.
Читать дальше →
Всего голосов 35: ↑22 и ↓13+9
Комментарии18

Золотые правила успешной кнопки

Время на прочтение3 мин
Количество просмотров71K
Здравствуй, дорогой хабрадруг! Сегодня существуют более тысячи способов создать кнопку; чтобы понять их сущность, вам нужно лишь потратить немного времени, просмотрев работы на сайте dribbble.com. Большинство из этих примеров очень похожи друг на друга, однако время от времени попадаются и такие кнопки, на создание которых потратили чуть больше внимания, времени и сил.



Воспользовавшись замечательными параметрами CSS3, мы можем создать элегантые и стильные кнопки без особых усилий (учитывая старые браузеры, конечно). Создаете ли вы кнопку непосредственно в CSS или пользуетесь специальными инструментами для их создания, всегда нужно тщательно подумать о том, как ваша кнопка будет выглядеть в контексте веб-сайта.
Читать дальше →
Всего голосов 224: ↑215 и ↓9+206
Комментарии55

Page Object — путь к совершенным автотестам

Время на прочтение3 мин
Количество просмотров80K


Всем, доброго времени суток!
Этот топик о том как мы тестируем веб-интерфейс нашего продукта Plus1 WapStart. Мы используем Page Object, т.к. этот паттерн имеет много общего с реальными задачами и позволяет писать автотесты простыми для чтения и понимания.

Что такое Page Object


Page Object — это паттерн для реализации умных автоматических проверок. Gem page-object является имплементацией этого паттерна, который помогает в создании гибких страниц с объектами для тестирования браузерных приложений. Суть в том, чтобы создавать уровни абстракции для отделения тестов от предметов тестирования, и обеспечить простой интерфейс для элементов на странице. Gem работает с watir-webdriver и selenium-webdriver.
Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии8

Популярно об Amazon Web Services

Время на прочтение9 мин
Количество просмотров187K

Вступление


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

Управление AWS осуществляется как с помощью веб интерфейса (AWS console), так и с помощью Command Line Tools. В консоли собраны все сервисы AWS, но функциональность настройки несколько обрезана. В командной строке же можно более гибко настроить тот или иной сервис, так же доступны закрытые в консоли функции.

Amazon Elastic Compute Cloud (EC2)


Описание

EC2 — это облачный сервис, предоставляющий виртуальные сервера (Amazon EC2 Instance), 2 вида хранилищ данных, а так же балансировщик нагрузки (Load Balancer).
Читать дальше →
Всего голосов 71: ↑66 и ↓5+61
Комментарии69

Yandex Translate API: PHP и небольшое исследование сервиса

Время на прочтение4 мин
Количество просмотров56K
После закрытия Гуглом своих API для перевода проблема поиска онлайн-сервис для машинного перевода стала особенно актуальной.
В Интернете много сервисов перевода с громкими именами: Промт, Прагма и пр. Нет никакой проблемы в PHP смоделировать обращения к страницам сервисов и получить результаты перевода. Но есть проблема: почти все сервисы в ответ на простой GET или POST запрос отдают не результат перевода, а целиком страницу во всей красе, начиная с DTD. Как говорят у нас на Украине, “дурных нэма”.
После анализа было выяснено, что есть только два сервиса, которые отдают в ответ на запрос только результат перевода: Яндекс и Bing от Microsoft.
Читать дальше →
Всего голосов 34: ↑30 и ↓4+26
Комментарии20

Информация

В рейтинге
Не участвует
Откуда
Беларусь
Дата рождения
Зарегистрирован
Активность