ilvar: (Default)

Originally published at [ilvar.ru]. You can comment here or there.

Иван Сагалаев рассказывает о разработке первого большого яндекс.сервиса на Django - свежего “Куда все идут”.

Во время разработки я все время настаивал на том, чтобы мы не занимались тонкой оптимизацией по производительности. И чем дальше, тем больше я думаю, что это правильный подход. Система сильно менялась, во многих тяжелых запросах необходимость просто отпала, а некоторые наоборот появились. Если бы мы каждый раз тратили время на оптимизацию, много бы потеряли. Занявшись же оптимизацией в самом конце, мы потратили на нее примерно неделю. Больше всего тормозов добавляла старая как мир проблема — слишком много запросов в базу из-за доставания дополнительных данных отдельными запросами на каждый объект. Лечилось обычно: кешированием в памяти, хранением в таблицах предрасчитанных количеств, использованием SQL-зарпосов с “group by”.

ilvar: (Default)

Originally published at [ilvar.ru]. You can comment here or there.

По совету Игоря Крамера прикрутил к Django отладочный WSGI-сервер Werkzeug (на официальном сайте в вики есть специальная статья про это дело).

werkzeug.png

Результат меня довольно-таки порадовал… кажется, Pylons таки в пролете :) Разве что дизайн мрачноват, но я думаю, это можно поправить.

Pylons

Jan. 18th, 2008 05:03 pm
ilvar: (Default)

Originally published at [ilvar.ru]. You can comment here or there.

Вчера вечером попробовал поднять Pylons у себя. Первое впечатление - слишком много наворочено, примерно как в Symfony для PHP. То есть, после 2 недель ковыряния я примерно понял структуру проекта на Symfony, и она вполне логичная - но все же сильно навороченная по сравнению, например, с Django.

Сила Pylons в том, что он объединяет в себе несколько отдельных проектов (SQLAlchemy, Mako и др.) - т.е. можно особо не заморачиваться на отладке каждого модуля, а сосредоточиться на их совместимости и общем дизайне системы. Но, как водится, в этом же и слабость: разным модулям нужны разные конфиги, к ним надо по-разному обращаться, и формат возвращаемых данных тоже разный. Django един и монолитен, как скала, Pylons же больше похож на механическое устройство, состоящее из отдельных деталей.

Что очень порадовало (собственно, эта фича и сподвигла меня на знакомство с Pylons) - это дебажная страница Ошибки 500. Во-первых, в ней traceback, данные шаблона и информация о http-запросе разнесены на разные tab’ы, в результате страница гораздо компактнее Django‘вской. Во-вторых, тут есть своя killer feature - возможность в каждой точке traceback’а открыть питоновскую консоль и поиграться с данными, причем в соответствующем окружении.

Pylons

Вот такие первые ощущения :)

ilvar: (Default)

Originally published at [ilvar.ru]. You can comment here or there.

  1. Визуальный редактор заставляет думать не о семантике, а о представлении. В результате либо результат на странице сайта выглядит не так, как в админке (потому что стили поверх наложились), либо стили жестко прописываются редактором и уже не могут меняться через CSS, “плавают” на разных страницах и заставляют контент-менеджера постоянно вручную выставлять шрифты, цвета и прочие отступы.
  2. Визуальный редактор позволяет копипастить текст из “Ворда”. Отлично! Некоторые продвинутые редакторы даже вычищают ненужные тэги. Но “мусора” все равно остается выше крыши даже в маленьких документах. А большие документы достаточно часто подвешивают браузер напрочь.
  3. Даже если текст с самого начала редактировался через админку, визуальные редакторы частенько добавляют лишний код, лишние стили и т.п. Например, если расстояние между абзацами у нас полстроки, а админка вместо абзацев иногда юзает <br/></br> - результат получается некрасивый.
  4. Визуальный редактор тянет за собой мегабайта полтора картинок и яваскрипта. Это добро, конечно, кэшируется браузером, но через GPRS, например, в админку уже не полезешь лишний раз.
  5. Яваскрипт визуального редактора заметно подтормаживает загрузку страницы, особенно если полей для редактирования на странице админки несколько.

Какой выход? Есть три варианта различной степени брутальности :)

  1. Почти визуальный. Использовать WYMeditor или его аналоги. Не избавляет от проблем с производительностью, но хотя бы позволяет разработчику сохранить контроль над внешним видом документа.
  2. Голый. Использовать html или bbCode, возможно, с дополнительными кнопочками-хелперами. Боюсь, что в этом случае контент-менеджер может выдавать грязный код (если как-то знает HTML) или постоянно дергать разработчка вопросами (если не знает HTML).
  3. Почти идеальный. Использовать wiki-разметку или Markdown. Да, потребуется какое-то время на обучение, но с другой стороны, все необходимые конструкции запросто помещаются на клочке бумаги (для повешения у монитора, естественно), а сама разметка является достаточно интуитивной. Не говоря уже о возможности простого автоматического diff-а изменений, в случае необходимости.

Я в своем блоге использую Markdown для семантических частей - таких, как параграфы, списки и т.п., а ссылки и картинки вставляю в HTML встроенными хелперами Wordpress - они достаточно удобно сделаны.

Pylons

Jan. 16th, 2008 06:20 pm
ilvar: (Default)

Originally published at [ilvar.ru]. You can comment here or there.

Django vs. Pylons

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

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

В общем, будем пробовать :)

ilvar: (Default)

Originally published at [ilvar.ru]. You can comment here or there.

  1. Пишем
  2. Копипастим
  3. Дописываем
  4. Рефакторим
  5. Лечим баги
  6. Оптимизируем

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

В результате функциональность не закончена, рефакторинг весь надо переделывать, а та оптимизация теперь привела к бОльшим косякам. Спасибо, заходите еще. Да, очень были рады вас видеть. Чмоки-чмоки. Тьфу…

ilvar: (Default)

Originally published at [ilvar.ru]. You can comment here or there.

Freelance Suite

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

  • Выводить сумму потраченного на проект времени (в т.ч. за месяц/неделю) — сделал разными способами, остановился на tooltip’е (см. скриншот). Пока считает не совсем удобно - тупо отсчитывает 7 суток от текущего момента, но это скоро поправлю.
  • Поменять текстовые ссылки на иконки (места они занимают меньше, а суть та же) — воспользовался опен-сурсным стилем Tango! (см. скриншот)
  • Добавить немного модного JavaScript’a — сделал сворачивание списков задач у проектов, а то когда они все развернуты — слишком уж много места это все занимает. Разнообразия ради использовал mootools.
  • Приучить себя тыркать кнопочку прежде, чем начать работу :) — вроде бы пока получается.
ilvar: (Default)

Originally published at [ilvar.ru]. You can comment here or there.

wehea! Появилась одна идейка насчет использования наработок wehea в слегка коммерческом проектике. Следите за рекламой!

UPD: Кажись, облом. Впрочем, я пока не сдаюсь, может, еще какая идейка придумается :)

ilvar: (Default)

Originally published at [ilvar.ru]. You can comment here or there.

ilvar.share

Чего, никому не нужен халявный файлообменник без рекламы?

Чуть поменял выдачу ссылок, добавил ссылку “logout”, мало ли, кому понадобится. 12Мб файл закачался без проблем, фича-лист все разрастается :)

  • Автоматическое удаление файла через Х времени после закачки или при малом количестве свободного места;
  • Сделать ограничение файла по размеру;
  • Сделать индикацию процесса закачки.
  • Сделать нормальные одноразовые ссылки;
  • Записывать юзера - чтобы в дальнейшем дать возможность удалять свои файлы вручную; Сделано
  • Сделать инвайты (привет, Музыкальный Сервис!), чтобы не добавлять юзеров вручную. Нафиг, мне чужой траф не нужен :)

P.S. Все больше в восторге от чудесной автомагической Джанго-админки! Django Admin

P.P.S. Чуть добавил сексуальности дванольности красоты стилям. Тащусь :)

ilvar: (Default)

Originally published at [ilvar.ru]. You can comment here or there.

ilvar.share

Приспичило тут устроить у себя файлообменник, сначала поискал готовые на PHP, но все не то - либо фич не хватает, либо наоборот, перебор, слишком сложно, либо вообще за деньги - и фиг знает, чего там внутри. В результате черт дернул написать свой, на Джанге. Часа за четыре, вместе с поднятием Джанги на DreamHost, дизайном и, как водится, тупняком по пустякам.

Read the rest of this entry » )
ilvar: (Default)

Originally published at [ilvar.ru]. You can comment here or there.

Чувствую себя слегка обманутым - минут пять формулировал две строчки кода :)

неPHP

Aug. 22nd, 2007 03:52 pm
ilvar: (Default)

Originally published at [ilvar.ru]. You can comment here or there.

Осознал окончательно и бесповоротно, что меня откровенно воротит от PHP. Примерно так же, как пару лет назад начало воротить от VB. Да, не спорю, бывает неплохо написанный код и под пыхпых, и под васик, но с моей вселенской ленью эти языки совершенно не гармонируют.

PHP-no-logo

Абсолютная неинтуитивность наименования функций и порядка аргументов заставляет лишний раз лезть в документацию. Не слишком лаконичный синтаксис заставляет постоянно писать много лишнего (лишние килобайты кода, лишняя возня с клавиатурой). И в результате “лень делать много лишней работы” таки-перевешивает “лень разбираться с чем-то новым”. Ну и опять же, Накиду спасибо за Python :)

Единственный плюс - это дефолтная настройка без проблем практически на любом хостинге - и никаких тебе заморочек с fastCGI, httpd.conf и прочих радостей жизни.

P.S. Единственное, что перевариваю на PHP - это по-быстрому сваять сайтег на Wordpress, прикрутить темку да пару плагинов, и покликать чуть мышкой.

ilvar: (Default)

Originally published at [ilvar.ru]. You can comment here or there.

Книгософт

Разродился первой пре-пре-пре-альфа-версией книгочитательного софта для реализации идей нашего Генерального. Все оказалось довольно просто, XML+XSL - великая вещь. Осталось сделать серверную часть этого всего… впрочем, это мы еще обсудим, что лучше показывать потенциальным клиентам - недоделанный клиент, но с сервером, или более прилизанный клиент, но сугубо offline. А вообще - опять оказалось, что главное начать, а там уж все оказывается не так сложно.

Read the rest of this entry » )
ilvar: (Default)

Originally published at [ilvar.ru]. You can comment here or there.

Онлайн

Wordpress as CMS

Настроил для подруги Wordpress, поставил туда статистику и подправил админский интерфейс и frontend, убрав довольно много лишнего. Спрятал половину пунктов в админке и всякие blog-style отметки в файлах темы блога. Причем админку ковырял не руками, как раньше, а просто поставил несколько плагинов:

Read the rest of this entry » )
ilvar: (Default)

Originally published at [ilvar.ru]. You can comment here or there.

Jimdo - сервис создания веб-страниц. Своего рода CMS с закрытым кодом, похожая на некогда существовавший (не знаю, как сейчас) конструктор сайтов а Народе и тому подобных бесплатносайтохостингах. Ерунда ерундой, и в продакшн-проектах такую штуку использовать точно не будешь - но очень уж приятно у них сделано редактирование и добавление контента.

Если админ залогинен на сайт, то при наведении курсора на блоки сайта (меню, тексты, вставки картинок и видео, и т.п.) появляется небольшая менюшка с простыми иконками-действиями вроде “подвинуть блок вверх-вниз”, “удалить блок” и “добавить блок”, а при клике на контент появляется окошко редактирования этого самого контента.

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

на TechCrunch пишут о варианте полного копирования чужого дизайна в эту штуку. Тоже вариант сайта для бедных в стиле “хочу как у Темы Лебедева, но не знаю, как это сделать”. Впрочем, наш первый сайт был содран с Лебедева совершенно вручную! :)

Как бы то ни было, будущее за inline-редакторами контента!

ilvar: (Default)

Originally published at [ilvar.ru]. You can comment here or there.

И callstack при ошибках там сделан за-ме-ча-тель-но!

ilvar: (Default)

Originally published at [ilvar.ru]. You can comment here or there.

Не, ребят, в следующий раз варианты вроде “а вот тут у клиента уже есть хостинг…” не прокатят, делать будем так, как надо. Три дня уже имеюсь с админкой для проектика на Jaws, фронтенда вообще не касался. В то время как на Django какая-никакая, а все же админка есть СРАЗУ после создания структуры данных. Да, она довольно дубовая, но за такие деньги больше и не нужно/можно.

Осознание того, что код Jaws еще более-менее структурирован, и вообще неплох, просто-таки вгоняет меня в депрессию и приводит в уныние. И я уже сейчас осознаю мощь и силу принципа DRY (Don’t Repeat Yourself), он же СУХО (Соблюдать Уникальность - ХОрошо), на котором вообще построена вся структура кода Django и дополнительных модулей.

P.S. И заметьте, в посте - ни слова ни про крушение Невского экспресса, ни про звездопад Персеиды, ни про Медовый спас!

ilvar: (Default)

Originally published at [ilvar.ru]. You can comment here or there.

Поставил на сайт карту кликов (ссылка на сайте в сайдбаре, но продублирую для жж - login и пароль “guest”). Забавная штука, особенно, должно быть, при приличной посещаемости.

Read the rest of this entry » )
ilvar: (Default)

Originally published at [ilvar.ru]. You can comment here or there.

Я - эмо-программер. Шутка :)

Мне определенно нужна команда. Команда людей, которым можно довериться, как самому себе. Которые смогут фигачить за идею (да-да, я все понимаю, но я-то фигачу иногда!). Которым не придется объяснять по две недели, что я называю качественным продуктом. Которым банально не все равно, что получится в результате.

Которые умеют то, чего не умею я. Рисовать. Писать тексты. Тестировать, блин… впрочем, в тестерах вроде недостатка нет (спасибо, кстати) :)

Все же есть много вещей, которые не осознаешь до конца, пока не почувствуешь на собственной шкуре.

ilvar: (Default)

Originally published at [ilvar.ru]. You can comment here or there.

Попробуем-с добыть инвайт и посмотреть на это чудо изнутри :)

May 2016

S M T W T F S
1234567
891011121314
15 161718192021
22232425262728
293031    

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 24th, 2017 04:46 am
Powered by Dreamwidth Studios