All streams
Search
Write a publication
Pull to refresh
50
0
Дмитрий @StraNNikk

Python / PHP / JavaScript developer

Send message
Да в питоне и правда есть такая фишка, хотя помоему и не особо используемая.
Посмотрел код — вы парсите код каждого тестируемого скрипта? Как-то не очень хорошо. Почему бы не использовать Reflections для извлечения комментариев?
>Изначально подумал что где то сидит кэш
Да, я тоже когда первый раз столкнулся с подобной трабблой грешил на кэш. Особенно странно все это кажется после перехода с других языков, где для доступа к MySQL используются драйверы с AUTOCOMMIT=1, и все транзакции управляются вручную по мере необходимости.
Согласен, но на самом деле в Django ORM любая операция изменения данных (create / update / delete) завершается принудительным COMMIT-ом, поэтому если программист использует в коде метод get_or_create(), то он должен быть готовым к тому, что в любом случае может быть произведен COMMIT для фиксации новосозданной записи, и все произведенные до этого незакоммиченные манипуляции будут тоже закоммичены. Поэтому в данном случае COMMIT перед SELECT-ом оправдан.
Но соглашусь, что перед использованием подобного рода методов, стоит осознавать что происходит в системе, и действовать НЕ наобум.
Для Zend Framework помнится был аналогичный тулбар: habrahabr.ru/blogs/zend_framework/62023/
Правда по моему начиная с какой-то версии его развитие приостановилось
Иногда писать свои фреймворки — и правда полезное занятие. Большинство существующих решений перегружены избыточным функционалом. Так, например, взять Zend Framework — отличный продукт, про процесс маршрутизации внутри фреймворка просто перегружен излишествами, которые зачастую-то и не используются. И хотя при реализации различных проектов с этим фактом можно мириться, но иногда возникают задачи написать свой каркас приложения, в духе «ничего лишнего, только основное».
Вставлю свои 5ть копеек — было дело, писал по работе php-фреймворк, с достаточно минималистичным функционалом (реализация конфигов, роутинг, диспетчеризация, MVC, шаблоны и управление js/css). Но в качестве реализации ORM и для работы с формами всё равно брал Zend_Db и Zend_Form соответственно. И если прикрутить к проекту Zend_Db — как нефиг делать, то с Zend_Form пришлось повозиться. В Zend Framework-е Zend_Form сильно связан с другими компонентами фреймворка (например Zend_View) и вместе с необходимыми классами форм приходится тянуть вереницу других зависимостей. Удалось решить это лишь через написание специального Адаптера.
«Writing a blog engine is the new Hello World» воистину! :)
По сабжу:

$id = F3::get('PARAMS[«id»]');
// создаём объект Axon и ищем в нём наш id
$article=new Axon('article');
$article->load(«id='$id'»);

Приведение к типу int делается автоматом?
SQL-инъекции случаем не будет? Используется prepared statements или что?

Шаблоны со smarty-подобным синтаксисом… хм… это как-то не очень хорошо. php сам по себе отличный шаблонизатор, зачем мутить что-то ещё?
«Пишем свой блог с фреймворком»

Может не совсем в тему, но напомнило мне один тред со stackoverflow: Why does every man and his dog want to code a blogging engine?
Unity как десктоп-менеджер может и ничего, вот лично я не захотел переходить на Unity по большей части из-за того, что половина приложений, которые я использую ежедневно (такие как qutIM или Eclipse), глючат просто нещадно. Не знаю, может эти баги пофиксили в 11.10, но например в 11.04 половина пунктов меню Zend Studio просто тупо не отображалась в Global Menu. И таких вот мелких багов просто море. А переходить на новый DE ради сомнительных преимуществ (красивостей), и иметь при этом столько гемора как-то не очень хочется.
А вообще жалко, что Ubuntu решили полностью отказаться от поддержки Gnome. Можно было бы поступить как с KDE — создать отдельный дистриб (аля Kubuntu) с gnome на борту и назвать его Gubuntu :) А на основной системе использовать Unity как основной менеджер
эту бы гугловую консоль, да к разработке Фабриса Беллара…
да без проблем!
без напильника и шкурки — точно не совместим :)
да, точняк — с наивысшим приоритетом я перегнул палку. Значение HTTP-заголовка превалирует над значением META-тегов только в случае, когда заголовок не понятен или же при ненормальном статус коде (!=200) и не у всех заголовков.
ммм… нет. а почему браузеры должны были на него забивать? как раз этот тег позволяет «рулить» кодировками независимо от того, что ответил сервер в заголовках. А если говорить точнее, то значения данного тега имеют наивысший приоритет при выборе заголовков ответа от сервера.
всегда пожалуйста! ;-) а про плюсики… никакие плюсики не заменят ощущение того, что статья принесла кому-то реальную пользую! ;-)
странная ситуация :) быть может в SP2 идут какие-то неофициальные фиксы 6ого ишака?
Ненене… кажется, вы неправильно понимаете. Конфиг компиляции — это одно, а конфиг виртуального хоста — это другое. После того как веб-сервер скомпилялся, надо же настроить на какую директорию он будет смотреть, какой хост (домен) цеплять и т.п. И именно за это и отвечает конфиг виртуального хоста. А кодировка по-умолчанию, насколько мне известно, вообще не прописывается даже в тестовых виртуальных хостах.
Про header(Content-Type) согласен, но в контексте данной статьи это имелось ввиду в качестве примера, в том плане, что кодировку можно выставлять не через web-сервер а посредством самого интерпритатора.
Про MySQL опять же согласшусь, и надо сказать это вносит ещё большую путанницу o_O
эм… вот только что проверил на своей виртуалке в IE6 (который ставится по дефолту в WinXP). Бага воспроизводится: bit.ly/r6nWRe. Ну и вот тут можно проверить: ipinfo.info/netrenderer/ через online-эмуляцию IE.

Information

Rating
Does not participate
Location
Нижний Новгород, Нижегородская обл., Россия
Date of birth
Registered
Activity