Обновить
22
0
Степанов Игорь @stepio

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

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

Что такое анти-паттерны?

Время на прочтение9 мин
Количество просмотров150K
Анти-паттерны — полная противоположность паттернам. Если паттерны проектирования —
это примеры практик хорошего программирования, то есть шаблоны решения определённых задач. То анти-паттерны — их полная противоположность, это — шаблоны ошибок, которые совершаются при решении различных задач. Частью практик хорошего программирования является именно избежание анти-паттернов. Не надо думать, что это такая непонятная теоретическая фигня — это конкретные проблемы, с которыми сталкивался практически каждый разработчик. Кто осведомлен, тот и вооружён! Рассмотрим же несколько расрпотранённых анти-паттернов в программировании.
Да, рассмотрим!

10 самых привлекательных категорий ПО для начинающего стартапа

Время на прочтение3 мин
Количество просмотров839
Мы в Бизнес-инкубаторе «Ингрия» довольно много общаемся с различными проектами, по большей части IT-шными, которые хотят принять участие в одной из наших программ или просто заходят пообщаться на различные мероприятия. Многие из них уникальны и действительно инновационные, некоторые чем-то похожи на западные стартапы по первоначальной идее или даже иногда и по реализации. И еще обрабатывая заявки на конкурс Web Ready, заметили некоторые закономерности в Интернет-проектах. И недавно наткнулись на статью, в которой Dharmesh Shah, выделил неизменные типы приложений, которые разрабатывают стартаперы. Каждый раз они прибегают к одному из этих типов. «Не то чтобы это плохо, я лишь нашел это любопытным», — говорит он. Ну да, далее перевод (оригинал) этой небольшой заметки.

image

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

О нагрузочном тестировании

Время на прочтение3 мин
Количество просмотров17K
imageВесной этого года наша команда получила заказ на нагрузочное тестирование и оптимизацию нескольких версий CMS 1C-Битрикс. Прекрасная задача, но как ее делать? В этой статье мы поговорим о том, как правильно тестировать и что вообще означает “нагрузочное тестирование”? А в следующих — как мы тестировали Битрикс и что у нас получилось.

Цели


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

Портал EmForge — платформа коллективной разработки

Время на прочтение3 мин
Количество просмотров918
Так получилось, что последние несколько лет мне приходится принимать участие исключительно в распределенных проектах. Руководство проекта в США, business owner во Франции, разработка в России и Бразилии, а тестирование в Китае — это нормальная ситуация. В таких проектах — очень важна грамотная организация коммуникаций. В разных проектах использовались разные системы. Идеала найдено не было, потому то и был написан собственный «неидеал»: EmForge Portal, который я и хочу сегодня представить, надеясь что кому-то он может оказаться полезным
EmForge
Читать дальше →

64 бита

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

Статья раскрывает смысл термина «64 бита». В статье кратко рассмотрена история развития 64-битных систем, описаны наиболее распространенные на данный момент 64-битные процессоры архитектуры Intel 64 и 64-битная операционная система Windows.
Читать дальше →

10 хитростей Google Analytics

Время на прочтение4 мин
Количество просмотров37K
Казалось бы, установка и настройка счетчика Google Analytics — задачи простые. На деле, эта «простота» скрывает за собой множество подводных камней. Мы постоянно сталкиваемся с тонкостями, неочевидными особенностями подсчета и глубоко спрятавшимися ошибками (конечно, обычно виноваты мы сами:).

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

Проверка регулярных выражений при установке целей

Достаточно часто при указании адреса цели приходится использовать регулярные выражения: например, если искомый фрагмент адреса окружен другими частями. Регулярные выражения – тонкая материя, а ждать обновления данных для проверки правильности написания не хочется. Проверить правильность выражения можно мгновенно, перейдя в раздел «Содержание – Самое популярное содержание» и введя в поле фильтра выражение. Содержимое сразу же отфильтруется, а вы сможете убедиться в корректности кода.
Читать дальше →

Фильтруем с помощью jQuery большое количество данных

Время на прочтение5 мин
Количество просмотров2.7K
image У меня на хабре очень крупное приданное избранное. Там что-то найти было очень сложно, а если ещё не помнишь как и что, то чрез чур. По сему решил написать на jQuery фильтр всего этого добра по тэгам. Для того бы сграбить закладки, прошлой весной ukko сделал простой граббер. В итоге у нас получался огромный htm в формате NETSCAPE Bookmarks и xml.

Принцип работы прост, устанавливаем себе грабер, получаем заветный habrabookmarks.htm, и просто запускаем мой файл сортировки рядом.
Читать дальше →

Библия стартапера от Гая Кавасаки (The Art of the Start)

Время на прочтение2 мин
Количество просмотров2.8K
imageПоискал на Хабре, не нашел рецензии на русское издание знаменитой книги Гая Кавасаки The Art of the Start (2004) (на англоязычную было), поэтому решил «закрыть брешь» и поделиться ее кратким содержанием и своими мыслями.

Итак, в русской версии книга получила название «Стартап. 11 мастер-классов от экс-евангелиста Apple и самого дерзкого капиталиста Кремниевой долины».

Если вы производите прорывной софт для разведения креветок, то эта книга точно для вас.
Что должен знать стартапер...

Hegel4j — диалектические переменные на Java

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

Что такое диалектическая переменная?


Кто-то возможно скажет: «Что общего у философии и программирования?». Человек недалекий скажет: «Ничего!», а мы с вами задумаемся.

Есть такой раздел философии — диалектика. Было сформулировано три закона диалектики:

1. Закон перехода количественных изменений в качественные
2. Закон единства и борьбы противоположностей
3. Закон отрицания отрицания

Из определения первого закона и родилось понятие диалектической переменной.
Диалектическая переменная — некоторое свойство объекта, от значения которого зависит внутреннее состояние объекта, принадлежность объекта к некоторому классу и, как следствие, его поведение. Так, например, температура является диалектической переменной для классов Water и Ice, а возраст для Child и Mature и т.д.

В данной статье я хочу описать библиотеку для работы с диалектическими переменными hegel4j и показать пример работы с данной библиотекой.
Читать дальше →

Выполнение SQL-подобных запросов над данными — как в браузере, так и на сервере

Время на прочтение1 мин
Количество просмотров2K
Marak Squires выпустил в свет JSLINQ — реализацию LINQ для JavaScript, работающую как на стороне браузера, так и на стороне сервера (к примеру, node.js). Поддерживаются такие конструкции, как JOIN, UNION, RANGE, DISTINCT, COUNT etc.

Смотрите:
Читать дальше →

Простая кастомизация Ubuntu LiveCD

Время на прочтение4 мин
Количество просмотров18K
Данный топик описывает простую и быструю кастомизацицию Ubuntu LiveCD.
Включает в себя:
— установку дополнительных пакетов
— настройку прокси сервера и TimeZone

Несколько раз мне уже приходилось собирать свой LiveCD. Один для загрузки по сети с набором необходимых инструментов, другой для записи на DVD с полной поддержкой японского языка и дополнительного ПО. При сборке я руководствовался вот этой ссылкой https://help.ubuntu.com/community/LiveCDCustomization. Всё выходило замечательно за исключением затраченного времени. Такая ручная сборка иногда может занять несколько часов, особенно если предыдущая делалась достаточно давно.

В последний раз я решил не собирать руками а воспользоваться описанной на Хабре Ubuntu Customization Kit (http://habrahabr.ru/blogs/ubuntu/77331). К сожалению на тот момент, а это было несколько дней назад, версия 2.0.12 не заработала (ругается на отмонтирование .gvfs) на Ubuntu 10.04. Версия из trunk-а, на которую я возлагал надежды, так же не заработала, но уже с другой ошибкой.

В результате я решил больше не возиться с Ubuntu Customization Kit, а написать свой скрипт на основе WIKI статьи с help.ubuntu.com, который покрывает мои потребности и следует принципу KISS. Рабочая версия скрипта и описание под катом.
Читать дальше →

Получение id добавленной записи в PostgeSQL

Время на прочтение1 мин
Количество просмотров63K
Каким бы супер-пупер спецом вы не были — в процессе разработки эпизодически попадаются интересные и удобные вещи о которых, казалось бы, давно бы пора знать, но все никак не складывалось. Этакий ништячок, найдя который хочется воскликнуть: «Эврика!». Вот таким ништячком для меня стал элемент синтаксиса INSERT в PostgreSQL, которым я и хочу поделиться с вами.

Ситуация: После добавления записи в базу нужно получить id этой самой свеже-вставленной записи.
Решение на PostgreSQL: INSERT… RETURNING id где id — это PRIMARY_KEY в таблице.

Просто и элегантно, не правда ли?
Читать дальше →

Приложения iPhone с открытым кодом

Время на прочтение4 мин
Количество просмотров31K
В данной статье речь пойдет о приложениях с открытым кодом, которые размещены в App Store. Мы будем рассматривать только приложения которые одобрены компанией Apple и опубликованы. Начинающие разработчики могут изучать их код для повышения своих навыков.

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

6 дискет

Время на прочтение1 мин
Количество просмотров14K
%Username%, ты уже собрал несколько корованов чемоданов, но дискеты не кончаются, а может на чемодан дискет ну никак не хватает?

Хорошая новость, всего из 6-ти дискет можно собрать стильный бокс для мелочей. Ура!

image

Еще пару фотографий, пожалуйста.

UPD: + Замечательная сумка из 16 дискет бонусом от Vadaboom.

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

IPv6 в новом TCP/IP стеке Windows

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

Вступление


В этой, по большей части, чисто технической, статье я расскажу о реализации IPv6 в новом TCP/IP стеке Microsoft. Новый стек включен в ОС Windows начиная с Vista и Server 2003. Короткое введение рассказывает о том, что такое IPv6, а следующие три раздела — об отличиях нового стека от старого (особенно подробно — об отличиях, связанных с IPv6). Надеюсь, вас не напугает слишком строгое изложение.


1. Введение: коротко о IPv6


IPv4

Протокол IP Version 4 (IPv4) не претерпевал сколь-либо серьезных изменений со времен опубликованного в 1981 году RFC 791. Благодаря удачному исходному дизайну, IPv4 выдержал сопутствовавшее росту обслуживаемому им сетей испытание на масштабируемость. IPv4 устойчив, прост в имплементации и взаимодействии.

Однако, к началу 90-х годов основанный на TCP/IP интернет начал расти колоссальными темпами. Уменьшение количества свободных IP-адресов происходило угрожающе быстро даже с учетом введения бесклассовой адресации. Стало очевидно, что требуется разработать способ избежать их дефицита в будущем. В 1992 году IETF опубликовала в виде RFC (RFC 1550) призыв к разработке и публикации прототипов протокола, названного «IP The Next Generation» (IPng).
Читать дальше →

Корпус для домашнего медиасервера из старого принтера своими руками

Время на прочтение2 мин
Количество просмотров11K
После приобщения к быстрым интернетам и торрентам назрела необходимость иметь компьютер включенный 24/7.
Собрать самому мне показалось намного интересней, чем просто купить, и я решил этим заняться на досуге.


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

Javascript Pseudo-3d Game

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

Здравствуйте, Хабрасообщество.
Я очень люблю JavaScript за его изящество, красоту и много других преимуществ. А еще я очень люблю на нём писать. Более того, я люблю писать не только стандартные вещи, но и то, что обычно на этом языке мало кто пишет. В этой серии статтей я хочу подробно рассказать о создании кроссбраузерной (IE6+, Chrome, O9+, Fx2+, Konq) псевдо-3д игры на JavaScript+DOM (без использования Canvas) в несколько этапов. Игра будет подобна к первым Might and Magic. В планах сделать передвижение по лабиринту с видом сверху, потом с видом от первого лица, затем населить лабиринт монстрами, ловушками, дверями, а в конце добавить сетевую игру с серверной частью на PHP и, естественно, не забыть про многофункциональный редактор карт. Уверен, со временем и предложениями появятся и другие идеи.

Итак, презентую готовый первый этап игры.
Читать дальше →

Правильная загрузка ядра linux с EFI на Macbook

Время на прочтение2 мин
Количество просмотров11K
Предлагаю несколько вольный перевод программиста Gentoo о правильном способе загрузке на ноутах с EFI вместо BIOC-а на борту.
Мне недавно купили Macbook Pro 13.3 дюйм и я решил поставить на нём Gentoo Linux.

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

Единственное, что немного меня напрягало, это эмуляция BIOS-а. Маки используют для загрузки интеловский EFI, а для остальных ОС Apple добавило уровень эмуляции BIOS-а. Именно так Ubuntu и грузится на Маках.

Мне же это показалось неверным в техническом плане и в принципе. Я немного поднапрягся и мне удалось запустить ядро Linux из под EFI без всяких эмуляций. Документации достаточно мало, поэтому хочу поделиться своим способом.
Читать дальше →

Вынужденный моддинг DSL модема D-Link 2600U

Время на прочтение3 мин
Количество просмотров41K
Привет тебе, хабрачеловек!

Если ты знаком не по наслышке с полным гавн.. девайсом D-Link 2600U, то понимаешь зачем был сделан этот моддинг. Если нет, то признаюсь, что по мимо кучи проблем с настройкой и поднятием работоспособности этого девайса есть еще один не маловажный сюрприз — температура работы!

image

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

ASN GateWay — шлюз доступа WiMAX

Время на прочтение3 мин
Количество просмотров6.6K
Этим небольшим топиком я завершаю цикл статей (раз, два) о технологии WiMAX.
Статья будет посвящена по большей части центральному устройству сети: ASN-GW (что в переводе на общечеловеческий Access Service Network GateWay)

Что к чему

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Зарегистрирован
Активность