Александр Шульман@developer
Развиваю ИТ
Information
- Rating
- 170-th
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Date of birth
- Registered
- Activity
Specialization
Генеральный директор
Ведущий
From 3,000,000 ₽
Управление проектами
Ведение переговоров
Разработка ТЗ
Agile
Управление разработкой
Оптимизация бизнес-процессов
Организация бизнес-процессов
Построение команды
Стратегическое планирование
Развитие бизнеса
чтобы использовать такую библиотеку в серьезном проекте ей нужно полностью доверять, чтобы ей доверять ее надо изучить и обкатать на каком-либо «не важном» проекте, таких обычно нет.
нужно полностью понимать область применения, условия работы Фреймворка, методологию решения проблем, которую он предлагает. если этого нет, то вы рано или поздно встанете в ситуацию когда Фреймворк не удовлетворяет ваших требований и нужно писать «костыль» тут то вы и попадете в ловушку когда нужно ставить еще и еще костыли. поставить костыль корректно (под нужным углом) и не нарушить логической целостности работы приложения основанной на FW вы все равно можете только в случае если понимаете идеологию решения задачи, которая заложена в Фреймворк.
Таким образом что б начать пользовать Фреймворк вам нужно:
вот, только теперь можно использовать данный Фреймворк в своих проектах…
все что я тут написал — это мое мнение, моя позиция, но она основана на опыте человека, который написал системы на PHP (ну и не только php), работающие на свыше 5-ти машинах как с функциональным распределением вычислений, так и с распределением вычислений по данным и прекрасно масштабируемы.
доверие к С++, С и Java обусловлено вовсе не одним фактом бренда, который за ними стоит, хотя и им тоже, но еще и старостью технологии Java`е тока не давно сан сделал полную среду свою, а до этого так же были склады решений и все рылись в них, достаточно вспомнить эпопею с аспектным программированием.
почему я использую свои разработки и предпочитаю изучать патерны, а не Фреймворки?
это только общие замечания, есть частные, например, вы знаете, что в вашем случае контекст задачи подразумевает упрощение какого — либо механизма, в рамках фрайм ворка это упрощение (логики, абстракций, производительности) обычно сложно сделать, но на вашей кухне вы можете себе позволить это.
я выделяю такие плюсы/минусы:
свои велосипеды
минусы:
Плюсы:
в итоге вы рискуете, но вы гарантированы от того чтоб зайти в тупик, а с Фреймворком (особенно большим вы не гарантированны)
для тех кто не считает использование логических операторов для управления потоком управления дурным тоном напомню, что этот пример является класическим и вторая запись общепризнана (не вами, а классиками-фундаменталистами) более читаемой.
$res = mysql_connect(…);
if (!$res) die();
Аналогично:
$res = mysql_connect(…) or die();
выбор как и что использовать, конечно, остается на совести программиста
Замыкание - это технология и инструмент, как и ооп. Те кто могут жить на этом уровне абстракций и успешно живут, те им пользуются, кто не могут, те не пользуются. Но говорить о том что это нововведение есть фигня некорректно как минимум потому, что другие уверены что оно им нужно.
лично я пока не представляю как использовать замыкания буду, потому что до этого использовал их в событийных языках только широко (пример JavaScript).
1. сложность наследования сервисов таких, разделение прав и прочего. не представляю как осуществлять наследуемость в таких структурах
2. как было сказано выше прохая инкапсулируемость.
$functions=json_decode($_REQUEST['method'],TRUE);
$UImethod->run($functions);
echo json_encode($UImethod->result);
мне кажется в этих строках сложно сделать прозрачным ограничение на разрешенные и запрешенные методы класса..
а в целом для маленьких задачь с маленьким кол-вом функций очень даже удобно. коротко и вызовы прозрачные впринципе
Может стоит просто сделать нечно вроде
вот я, например, пришел другу страничку править хочу там какой-то эффект MooTools так я ж не должен теперь качать,ставить я просто могу ему написать эффект и показать "вот мол смотри, нравится или нет".
конечно для продакшион проджектов такое использовать не рекоменуется.
вот у меня сразу вопрос.. они конечно сосут статистику, можно даже посмотреть какую, а вот влияет ли это как-то на TRUST сайта, задержку перед началом индексирования нового сайта, продвижение его в песочнице? думаю что нужно поставить эксперимент. вопросов много.. насколько этот сервис интегрирован с другими. наверняка обратная связь есть, только как она работает?
Что делает PHP интерпретатор когда встречает include?
ответ:
1. парсит код
2. строит дерево связей сущностей (мапинг адресов переменных и констант, деклараций классов и функций)
3. изменяет дерево исполнения.
4. исполняет.
что происходит при повторном подключении?
PHP смотрит на адреса при смене контекста и исполняет байт код собранный ранее. (если файл не меняли)
что происходит при повторном исполнении инклюда?
дерево связий есть, таблица адресов тоже, байт код даже есть, так что копируется кусок байт кода, подготовленного ранее и все (кстати в PHP4 глюки на этой почве народ ловил ^_^).
Теперь что произойдет при eval ??
тоже самое что и в случае с инклюдом, тока откроется внутренний поток ошибок.
что же происходит при повторном вызове eval ??
интерпритатор не может строить предполодений на природу кода который передан в eval поэтому проводит ВСЕ шаги заново.
Как меняет ситуацию акселератор?
в случае если у вас в подключаемом файле есть например такая конструкция echo "this"." my "." file" акселератор может заменить это на константу, убрать операции контененации, т.е. все стандартные фишки акселерации. В случае с eval код через акселератор не пропускается.
теперь по поводу эксперимента привыкайте писать условия: какая машинка, какая ось, а то странный и не воспроизводимый результат. и число измерений повысить ИМХО стоит ибо тысячные секунды могут встять из-за таких факторов как процессорная оптимизация, влезло или нет в кеш проца и прочие.
Есть люди, которые просто не могут писать код на ООП, ну не могут некоторые говорить в терминах "объект", "сделал", "умеет", "обладает". И в то же время это высококлалифицированные проффесионалы, которые хорошо решают поставленные задачи. Заставлять таких людей работать в принципах ООП не оправданно. Нужно понимать, что иногда заставляя программиста писать на ооп вы можете заставить писать его хуже или разойтись с ним.
ООП - это уровень абстракций комуто близкий кому-то нет.
3 демона на PHP 5.1 работают уже больше неделе на публичном хостинге. Используют событийную модель для взаимодействий между собой.
в случае смерти демона, он автоматически поднимается (за неделю ни одного случая)
Плюс в сравнении с Java, например:
нет утечек памяти и сложно накасячить так чтоб были
проще писать многие задачи WEB
Минусы:
много доп работы для обеспечения стабильности.
Хотел сказать что PHP уже вырос и решает далеко не только "ссесионные" задачи
на примере ноута: VGN-FE890 (http://esupport.sony.com/US/perl/swu-list.pl?mdl=VGNFE890)
драйверы с офф.сайта не работают под ХР, но есть места, где они лежат:
ftp://ftp.vaio-link.com/pub/Vaio/Original/
для рассматриваемой модели VGN-FE890 серии VAIO скачать FE3.ZIP (95м) и FE3_UTILITIES.ZIP (75м) файлы. ставим все по разумному (тоесть сначала драва из FE3.ZIP, потом утилиты, притом сначала библиотеки VAIO потом тока сами утилиты)
значит на примере этого ноута возникла проблемма о том как ставить камеру.
драйвер отдельно найден (ставим виставский после всего и работает): http://esupport.sony.com/US/perl/swu-download.pl?mdl=VGNFE890&upd_id=2410&os_id=28
Да, возможно гемор, но решение. Надеюсь кому-то помог, если у кого-то такой ноут и он хочет ХР. До высты толи я не созрел, то ли она еще до меня.
эх.. карма..карма..
первое дрова нашел и все установил.
второе есть такая услуга даунграйд - звоним в майкрософт и просим ключик на ХР, дают тока в случае если у вас бизнес или профешеонал лицензия на Висту.
Все ноуты IBM можно даунгрейдить (но туда линух встает и генту и что угодно)