Как стать автором
Обновить
17
0

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

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

Конечные автоматы в Ruby

Время на прочтение4 мин
Количество просмотров9.3K
Статья за авторством хабраюзера preprocessor, который не смог ее опубликовать по всем понятной причине. Так что все плюсики ему:)

Конечный автомат (Finite-state machine) — это такая штука, описывающая поведение объекта с конечным количеством состояний. Пути перехода из одного состояния в другое, условия этого перехода, действия выполняемые во время перехода или после. С теорией у меня всегда было плохо, поэтому больше вдаваться в нее не буду, вместо этого, для тех кто интересуется подробностями, могу порекомендовать посмотреть википедию (как же без нее) http://en.wikipedia.org/wiki/Finite-state_machine и http://ru.wikipedia.org/wiki/Конечный_автомат, а оттуда уже капать на сколько захочется. На практике это можно использовать много где, от парсинга строк (привет Ragel), до модели User в вашем веб-приложении.
Читать дальше →
Всего голосов 34: ↑27 и ↓7+20
Комментарии15

Qtiplot + Python дают огромные возможности для построения графиков и обработки данных

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

Сегодня я немного расскажу про программу QtiPlot и возможность скриптования её возможностей с помощью языка Python.

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

В настоящее время «стандартом де факто» для построения графиков в мире *nix систем является gnuplot, в мире Windows это Origin, видимо ломанный, если посмотреть на его стоимость (чуть менее $1000 за самую крутую версию). Так вот QtiPlot в месте с Питоном вполне могут потеснить эти продукты.

Читать дальше →
Всего голосов 45: ↑40 и ↓5+35
Комментарии32

GIT для пользователей subversion (и др scm)

Время на прочтение4 мин
Количество просмотров6.1K
Git это еще одна системы для управления исходным кодом, аналогичная subversion, cvs и другим. Почему аналогичная, а не «новая», «быстрая» и тп? SCM (source code management) прежде всего инструмент, который позволяет выполнять операции необходимые для одного разработчика и команды в целом. При каждый инструмент имеет свои достоинства и недостатки.

В этой статье мы сосредоточимся на основных функциях, без сравнительного анализа (чтобы не повторять миллионы заметок в web). И покажем пример, как применять git при работе с subversion.
Читать дальше →
Всего голосов 76: ↑71 и ↓5+66
Комментарии53

Обрезаем фото в стиле «ВКонтакте»

Время на прочтение3 мин
Количество просмотров17K
image
В этом HOWTO я раскажу вам как обрезать фотографию до нужного вам размера и залить её на сервер с помощью Ruby on Rails.
Читать дальше →
Всего голосов 69: ↑58 и ↓11+47
Комментарии25

jQuery Tools v1.0.1

Время на прочтение1 мин
Количество просмотров3.9K
jQuery Tools Logo
jQuery Tools v1.0.1 — это инструмент/библиотека представляет собой файл весом в 5,8 кб включающий в себя наиболее важные компоненты для вебдванольных сайтов, а именно: табы, всплывающие подсказки, плавные переходы, прокрутки, всплывающие окна и т.д.

Не буду тянуть резину, лучше, как говориться, один раз увидеть, чем сто раз услышать!
Переходим по ссылке и смотрим более 50 (!) демок:

Несколько понравившихся мне демонстраций. Очень рекомендую!
Маскируем фоновое изображение;
AJAX-табы с поддержкой истории переходов;
Неколько всплывающих окошек на одной странице.
Всего голосов 158: ↑152 и ↓6+146
Комментарии85

Основы репликации в MySQL

Время на прочтение10 мин
Количество просмотров329K
С репликацией серверов MySQL я познакомился относительно недавно, и по мере проведения разных опытов с настройкой, записывал, что у меня получалось. Когда материала набралось достаточно много, появилась идея написать эту статью. Я постарался собрать советы и решения по некоторым самым основным вопросам, с которыми я столкнулся. По ходу дела я буду давать ссылки на документацию и другие источники. Не могу претендовать на полноту описания, но надеюсь, что статья будет полезной.
Читать дальше →
Всего голосов 72: ↑70 и ↓2+68
Комментарии44

Тюнинг nginx

Время на прочтение8 мин
Количество просмотров96K
Статья написана по материалам моего доклада на CodeCamp 2009.

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

У любого проекта всегда есть что оптимизировать: можно почитать советы по оптимизации на webo.in, установить eaccelerator, memcache, проиндексировать поисковые поля в базе данных. Я предполагаю, что все это уже проделано, а сайт по прежнему тормозит.

Пришло время оптимизировать nginx...

Читать дальше →
Всего голосов 102: ↑100 и ↓2+98
Комментарии69

Марш против RDBMS или проекты распределенных хранилищ (key-value stores)

Время на прочтение5 мин
Количество просмотров15K
candybar2Вот вы часто создаете проекты? И, наверное, везде применяете базу данных, в частности, MySQL (а кто-то и PostgreSQL). Но вот что интересно, по опыту да и просто после чтения описания различных архитектур видно, что далеко не везде в проекте нужны ключевые особенности баз данных, во многих случаях базу используют просто как некоторое хранилище обычных данных. Например, в системах кеширования базы обычно не применяются, более того, кеширование как раз используют для того, чтобы избежать лишних запросов. А что используют для кеширования наиболее часто? Memcached. А что это такое? Это распределенная система хранения данных на основе хеш-таблицы. В общих чертах, это просто хранилище пар ключ-значение, над которыми можно производить только основные операции — запись, чтение, удаление и проверку на присутствие. Да-да, нет никаких фильтров, выборок, сортировки, самый максимум — система тегов для выборки одним запросом всех связанных записей. И во многих случаях такого функционала вполне достаточно.
Читать дальше →
Всего голосов 50: ↑48 и ↓2+46
Комментарии31

Расчет периодов стажа в MySQL

Время на прочтение3 мин
Количество просмотров7.3K
На одном форуме задали вопрос о том, как правильно посчитать разность дат в MySQL для учета стажа сотрудника. На первый взгляд вопрос оказался простым, но при детальном рассмотрении все оказалось куда интереснее.
Читать дальше →
Всего голосов 41: ↑33 и ↓8+25
Комментарии10

Выборка произвольных записей в MySQL

Время на прочтение4 мин
Количество просмотров108K
Есть вроде бы обычные задачи, которые можно решить сразу и не задумываясь, но при интенсивном использовании таких решений возникают проблемы, причем не маленькие. Об одной из таких задач я и хочу рассказать.
Почитать интересную статью
Всего голосов 44: ↑28 и ↓16+12
Комментарии142

Хранимые процедуры в MySQL

Время на прочтение2 мин
Количество просмотров27K
По долгу службы приходится глубоко разбираться с сабжем.
К сожалению, это не самое лучшее изобретение человечества, поэтому иногда приходится вбивать костыли, чтобы хоть как-то пользоваться этой штукой.
О костылях
Всего голосов 37: ↑35 и ↓2+33
Комментарии36

Краткий обзор развития фреймворка Ruby on Rails за последние 14 месяцев

Время на прочтение12 мин
Количество просмотров1.2K
За временем не успеть. Все вокруг развивается очень стремительно. В какой-то момент я заметил, что хоть и работаю с последней версией Ruby on Rails, но многих «фич», которые в ней реализованы я не использую, более того о многих я даже не слышал.
Я попробую сделать ретроспективу, что было введено в Rails за последние 14 месяцев. Каждое нововведение буду сопрождать небольшим примером, который буду копировать as is из источника, на котором основана статья, так как подобные пояснения для каждой это тема для кучи отдельных статей или ссылкой.
поехали
Всего голосов 57: ↑54 и ↓3+51
Комментарии22

20 «НЕ» для веб-дизайнеров

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

У каждого дизайнера есть ряд правил, которыми он руководствуется в своей работе. И нередко памятки, составленные из таких правил от опытных дизайнеров служат хорошим подспорьем для начинающих. Некоторое количество таких правил у меня есть тоже. Правда, они касаются того, чего НЕ следует делать при изготовлении макета. Некоторые могут показаться банальными и очевидными, другие даже вызовут у кого-то недоумение. Но мне они очень помогают и, я надеюсь, какие-то из них так же будут полезны тем, кто занимается веб-дизайном или желает приобщиться к этой области разработки сайтов.
Читать дальше →
Всего голосов 196: ↑152 и ↓44+108
Комментарии178

Советы для работы в Linux с флешки

Время на прочтение4 мин
Количество просмотров18K
После покупки Asus eeePC и установки туда линукса я задумался о продлении срока службы встроенных ssd-дисков. В поисках по интернету я нашел интересную статью, в которой описано как это можно сделать. Статья мне очень понравилась и я решил сделать ее перевод.
Читать дальше →
Всего голосов 49: ↑46 и ↓3+43
Комментарии35

Расширения для Firebug

Время на прочтение2 мин
Количество просмотров4.1K
Последнее время появляется все больше и больше различных дополнений для Firebug'a. Решил сделать краткое описание для этих плагинов.
Здесь были описаны только 4 плагина.
Постараюсь описать все известные плагины для Firebug'a
Статья на украинском языке
Читать дальше →
Всего голосов 117: ↑109 и ↓8+101
Комментарии38

Памятка дизайнеру сайтов

Время на прочтение10 мин
Количество просмотров244K
Вторая версия статьи, расширенная и дополненая.

Большая часть готовилась для моего выступления на «РИТ: Клиентские технологии», куда я, к сожалению, не доехал.

 

Памятка дизайнеру сайтов

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

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

Читать дальше →
Всего голосов 453: ↑444 и ↓9+435
Комментарии231

Умный экспорт из SVN с помощью консоли

Время на прочтение2 мин
Количество просмотров4.9K
Использовать svn я начал, работая в windows и соответственно в качестве клиента использовал TortoiseSVN.
В то время я был очень рад новой возможности, описанной в статье Умный экспорт из SVN при помощи TortoiseSVN.
Совсем недавно сделал то, что давно не находилось времени сделать — поставил на свой рабочий компьютер linux.
И вот незадача, ни в одном из графических клиентов, опробованных мной, не обнаружил схожей функциональности.
Мало того. Почитав svn --help не нашёл опции, дающий такой результат.
Обидно. Учитывая, что приучил уже отдел делать такие экспорты для плавного обновления проектов.
В-общем, не буду тянуть: написал на bash скрипт, реализующий сравнение и экспорт отличий между двумя ревизиями.

Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии34

14 бесплатных Web-приложений для совместной работы

Время на прочтение4 мин
Количество просмотров77K
«Люди не являются островами в открытом океане». Это высказывание успешно можно использовать особенно в том случае, если вы — дизайнер или разработчик. Несмотря на существование платных средств, как Basecamp и Zimbra, вы можете использовать ещё и бесплатные, которые, пожалуй, не уступают платным (а порой и обгоняют их).

В этой статье мы рассмотрим 14 бесплатных Web-приложений для совместной работы в сети Интернет. Нужен вам простой редактор с самыми основными возможностями или полнофункциональное приложение для управления проектами, вы сможете обнаружить здесь по крайней мере одно приложение, удовлетворяющее вашим требованиям.

Читать дальше →
Всего голосов 129: ↑123 и ↓6+117
Комментарии59

Выкатываем в бой

Время на прочтение6 мин
Количество просмотров3.6K
К бою! Внедрение конечного веб-продукта является не самой приятной процедурой для создателя и часто сопровождается жутким стрессом. Нелюбовь разработчика к релизам связана не только с чувствами ответственности и страха перед эксплуатацией новой версии, но и с ощущениями неопределенности: а что будет после того, как внедримся?

Приложения могут разрабатываться большим коллективом программистов, инженеров по качеству, графическим интерфейсам, но в конце проектного пути ответственность на себя берет последний из могикан. Недостаток теоретических знаний заставляет нервничать нашего героя, ведь опыта, приобретенного вследствие проб и ошибок, под час не достаточно для систематически успешного внедрения. Чтобы разобраться, как правильно выкатывать веб-проекты в бой, начнем, пожалуй, с основ.
С процесса разработки
Всего голосов 84: ↑77 и ↓7+70
Комментарии43

Кластеризация memcached и выбор ключа кэширования

Время на прочтение4 мин
Количество просмотров23K
Серия постов под общим заглавием “Web, кэширование и memcached” продолжается. В первом мы поговорили о memcached, его архитектуре и возможном применении.

Сегодня речь пойдет о:
  • выборе ключа кэширования;
  • кластеризации memcached и алгоритмах распределения ключей.

Следующий пост будет посвящен атомарности операций и счетчикам в memcached.

Итак, поехали!
Всего голосов 61: ↑61 и ↓0+61
Комментарии42

Информация

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