Всё о технологиях Ajax, PHP, ASP.NET, XML, XSLT, и даже больше !
[http://hit.ua/?x=578] Всё о технологиях Ajax, PHP, ASP.NET, XML, XSLT, и даже больше ! Статьи, документация, спецификации. Технологии Ajax, PHP, XML, ASP.NET Домой Вступительные Тематические ссылки Проекты Вакансии Команда Jun 08 Мысли и образы. Код и UI… By admin No Comments Програмування , Теорія , Технології Вероятно всё те же случайности, которые привели Томаша из Праги в захолустье Чешской провинции, дабы он встретил свою судьбу в лице Терезы*, привели меня к тому, что исконно изменило все мои взгляды на процесс, который в целом не представляет особой технической сложности в плане реализации, но в то же время является основной сложностью в иделогическом и эргномическом плане, поскольку непосредственно от правильности применимой к нему политики зависит не только частота приступов мигрени у программистов, и испоконвечных утяготителей и усложнителей их жизни - дизайнеров, - но и успешность в плане дальнейшего сопровождения и возможного усовершеноствования проекта в целом. Безусловно, я сейчас говорил о методиках разделения информационной системы на реализацию и представление (пользовательский интерфейс, и, собственно, ядро ( kernel ) системы). Если говорить об используемых мной технологиях эдак, скажем, год назад, то это, в лучшем случае, были системы шаблонирования Smarty и тому подобное, что в каком-то плане довольно удобно и полезно, однако всё равно представляет собой ряд ограничений, так низкий уровень возможной спецификации данных дизайнерами и в целом не имеющими квалификации в программировании людьми представляло собой большую ограниченность. Другими словами, за поставку данных в формате user-friendly чаще всего целиком и полностью отвечает программист, при этом дизайнер, либо разработчик интерфейсов, выступают лишь потребителями данных, без каких-либо дополнительных возможностей, конечно, если они не владеют специальными знаниями и технологиями, такими как средства server-side (python, php, ruby, т.д.) либо client-side (js, ммм... ) разработки. Всё это довольно замедляло работы над проектами, в ситуации, когда необходимо было разработать довольно простой модуль, функционал которого чаще всего ограничивался визуализацией некоторых данных БД либо результатов работы некоторого интегрированного в систему пакета, с чем мог бы справится и разбирающийся в базовых понятиях структуры системы (не кода, а скорее логики функционирования) обыватель, но что было невозможным из-за обязательного участия программиста в этом процессе. И вот недавно (да, время - это конечно большая утрата) открытая мной для меня же ( ) технология XSL преобразований кардинально повлияло на форму и вектор направления моих мыслей, и на подход в реализации дружественности для не-программистов так же. Я, в целом, давно знал о существовании данной технологии, и даже что-то писал на досуге, но всю несомненную полезность и flexibility оной, осознал лишь после того, как начал в корне пересматривать принцип работы разработанной в контексте одного проекта, а на сегодняшний день перешедшей в статус OpenSource , CMS платформы, которая на тот момент была довольно логично и правильно сделана в плане расширяемости, дружественности для сторонних разработчиков и, собственнно, конечных пользователей ( users ), поскольку в основе лежала идеология XML -обмена данными - как внутри системы, так и за её пределами - в контексте общения с внешними серверами, но это уже другая история. Однако было в ней одно громадное " НО! ", о котором мне громко в форме едкого сарказма (как умеют OpenSource разработчики, словно в поговорке: "в чужом глазу...") напомнили ребята с форума PHPClub . " НО " же это заключалось именно в том, что в системе почти не было явного разделения на " код " -> " представление ", и это стало настоящей проблемой, степень важности которой не была оценена на начальных этапах проектирование, и которая в следствии стала значительным образом тормозить дальнейшее развитие системы как в плане реализации/безопасности/красивости, так и интереса к ней среди других решений в среде OpenSource-сообщества. Однако, как я уже говорил, плюсом системы было то, что изначально все настройки, рычажки и прочие элементы не относящиеся к прямой реализации были представленны ввиде сторого структурированных и специфицированных XML-данных, что и послужило палочкой, которая выручалочка. Поскольку основной задачей стало сделать так, чтобы дизайнеры не догадывались о существовании чего-то кроме XML/XSL (если конечно им этого не захочется), однако могли бы при этом спокойной получать данные в удобном для них формате, создавая пользовательские интерфейсы; при этом так же имея возможность более advanced'ного общения с системой, к примеру: Возможность посредством XML-структур, входящих в файл конфигурации модуля, производить запрос данных из БД. Возможность доступа к определённого рода функциям PHP, запрошенным в файле конфигурации модуля Возможность быть в некоторых ситуациях полностью независимым от программииста И вот с банкой кофе (" Nescafe Classic "), чайником и изрядным уровнем энтузиазма я закрылся на балконе-веранде, и пришёл к совершенно новому для меня подходу к разделению кода и данных. Если возвращатся к системе CMS , упомянутой выше, то нужно (для большей степени понимания) ввести три понятия: " блок ", " пакет ", " модуль ". Эти базисный единины в её контексте представляли фундамент движка. Так "пакет" испключительно поставляет функционал, не принимая участия в формировании UI -представления данных, в свою очеред " модуль " наоборот является базовой единицей реализации функционала " пакета " и визуализации данных, разделяясь в свою очередь на подразделы, относительно их функций и семантики. И не относящаяся к " пакетам ", но в то же время не совсем " модуль " сущность " блок " так же представляет собой элемент пользовательского интерфейса, при этом не имея всех возможностей модулей, как в структуре так и в функционале, что очевидно. В окончательном варианте, файловая структура поставк модуля имеет следующий вид: -- module -- parts -- main-part -- actions -- action.inc ; сервер-логика для обработки событий форм -- xsl -- main.xsl ; файл подключаемый в качестве XSL(T) по-умолчанию -- ... ; список таблиц XSL, поставляемых с этим разделом -- main.xml ; основной XML-файл реализации -- others -- client-logic -- css -- images -- info.xml Во время запроса пользователем некоторого модуля системы, происходит проверка текущего активного раздела , при условии отсутствия которого будет обработан ` main-part `. Процесс обработки заключается в следующих этапах: Обработка XML-файла с данными для обработки на серверной стороне (запросы к БД, импорт методов, прочее). Включение в результирующий массив данных результатов проводки по всем, привязанным к данному разделу некоторого модуля либо модуля в целом, обработчикам ( wrappers ) которые были назначены программистами. Процессинг связанной с исходным XML файлом таблицей преобразований XSL . Добавление данных в массив временных данных, с последующим возвратом их пользователю на последней стадии формирования контента. Исходный информационный файл XML для настройки и определения запрашиваемых и поставляемых данных для каждого раздела модуля имеет следующую структуру: ; Inline-объявление либо перечисление узлов ; Inline-объявление либо перечисление узлов value1 ; "join" - опциональный атрибут ; variable - опциональный атрибут ; опциональный атрибут ;Optional tag ; Optional tag ; Optional tag ;... Данная структура полностью описывает формат возможных данных для процессинга XSLT -процессором, применяя таблицы трансформации. Стоит отдельно упомянуть такие элементы как , и . В теле элемента перечисляются те функции среды PHP , которые должны быть импортированы в среду XSL , и соответственно вложенными тегами описывает переменные среды PHP , которые будут доступны для обращения в среде XSL . То есть это как-бы расширения стандарта XSL , подобно аналогичному - EXSLT , которое служит для увеличения уровня автономности и самобытности дизайнера (что, конечно, в любом случае не является желательным по ряду обстоятельств ). Расширение стандарта поддерживается подключением в качестве пре-процессоров XSL внешних wrapper -методов, которые обспечивают предварительную подготовку и замену всех " самодельных " конструкций, на необходимые аналоги (обращение к импортированным функциям, переменным). Очевидно, что число wrapper 'ов не ограничено ни чем, что, собственно, не ограничивает расширение стандарта. При этом учтён тот факт, что некоторые такие методы следует применять в условиях последовательности, а посему введён такой параметр как ` step `, которые говорит обработчику в какой последовательности применять wrapper -методы. Однако это решает лишь проблему с модулями, при этом остаются открытыми проблемы обработки различной степени приоритетности ошибок системы, организация основного пользовательского интерфейса - страницы, применение XSL -преобразований в контексте блоков, и привязка блока к некоторой зоне страницы. В целом ничего принципиально отличного, в сравнении с подходом реализации пользовательского интерфейса модулей не производится (если говорить блоках). Однако прежде чем говорить о блоках, следует обсудить структуру страницы. Я всегда был приверженцем проработки всех возможных ситуаций и вариантов, и конечно же все считал, что пользователю в определённый момент наскучит базовое оформление страницы, да и даже если не базовое - наскучит, посему всегда считал невозможным применение термина CMS к продуктам, в основе которых лежат идеи не только того, что пользователь потом " всё равно будут платить за дизайн ", или " все должны будут выучить эту технологию ", " ..мы делаем систему для "нормальных людей", а они эту технологию почти все знаю ...", не говоря уже об интернационализации и прочем. Посему, как мне кажется, одной из главных деталей архитектурной реализации системы является правильное построение механизма универсализации структуры пользовательского интерфейса, и максимального абстрагирования от конкретной темы/структуры/методологии. В целом это конечно поле для разгула фантазии, и конкретная реализация будет зависеть лишь от вкусов и стиля разработчика. Однако и тут есть некоторые моменты, которые должны быть в любой реализации, так как составляют основу логической структуры темы оформления, а именно: Декларирование в настройках темы её структуры, в смысле активных областей для добавления блоков. Специальные контейнеры для отображения стека системных сообщений некоторого типа, с применением ( опционально ) к ним стилевого оформления, характерного данной теме. Абстрагирование от количества доступных модулей/пакетов в системе. Абстрагирование от текущих интернациональных настроек системы. Предоставление пользователю возможность собственноручно настраивать некоторые детали оформления, путём правки значений в файле настроек. Так, в контексте не один раз упомянутой выше технологии XSL , системой в тему оформления портируются следующие структуры данных и методы: Структуры : 1) ; 'errors' | 'messages' | 'attempts' Short system error description 2) Методы: get_panel_content(< %идентификатор_панели%>) - получение блоков, которые относятся к данной панели, некоторой темы. get_css_nodes() - отрисовка и возврат всех относящихся к данному документу таблиц стилей get_scripts_nodes() - отрисовка и возврат всех относящихся документу скриптов flush_error_handler(< %handler%>) ; handler='errors'|'messages'|'attempts' Что ж, это было что-то вроде небольшого обзора, представления своих взглядов на решение проблемы, которые я использую в настощиее время. В целом многие идеологические моменты в реализации подсказаны Drupal , но исключительно идеологические, поскольку структура друпала совершенно обратна данной, и ориэнтирована скорее на разработчиков, нежели на нечто среднее с уклоном в сторону дизайнера и UI -интерфейс builder'а . Jan 16 ECMAScript v.4 By admin No Comments Новини , Програмування , Теорія , Технології , Переклади В этой версии стандарта используемого для стандартизации синтаксических и семантических механизмов технологии JavaScript наконец-то были включены, не побоюсь сказать, революционные для данной платформы нововведения. Многие из них неявно присутствовали всегда, их, опять же, неявно использовали очень давно, но они не были явно прописаны и оформленны на том уровне, на котором их утвердили сейчас. Это будто бы переходить с позиции просто проживающего в стране к полноправному гражданину. Собственно, меньше слов, вот список наиболее значимых нововведений версии EcmaScript 4 : 1. Более полная реализация ООП-подхода : явное присутствие сущности "класс", и "реализуемый интерфейс", инкапсуляция (установление уровня доступности элементов класса посредством операторов " public " и " private "), наследование, полиморфизм. 2. Присутствует понятие "динамичного класса", поля и методы которого, в момент инициализация не были объявлены 3. Реализация виртуальных instant no fax payday loan bank loan no payday statement no fax payday advance loan 1 hour payday loan cash advance payday loan fax payday loan,payday loan without fax,fax less payday loan advance cash net payday usa loan online payday quick payday loan in 1 hour,1 hour loan payday,1 hour payday loan ameriloan loan payday aafes payday loan online payday loan service payday loan application,application loan payday cash fast loan online payday instant approval payday loan,approval instant loan payday 100 loan online payday consolidate debt loan payday,consolidate payday loan debt fast fax loan no payday loan payday toronto,payday loan toronto,payday loan in toronto cash fast loan payday cash central loan payday default loan payday free payday advance loan,free loan payday,interest free payday loan internet payday loan law,internet loan payday,business internet loan payday start payday loan in georgia faxing loan no payday,faxing loan military no payday,500 faxing loan no payday approval guaranteed loan payday emergency payday loan no faxing instant payday loan canadian loan online payday,canadian payday loan day loan payday same,day loan no payday same teletrack low fee payday loan fast loan payday,cash fast loan online payday search,approval fast loan payday cash until payday loan america cash loan payday advance loan payday software? ?cash loan till payday military payday loan advance america payday loan aafes loan payday advance cash loan payday software loan money payday tree faxless payday loan no fax payday cash advance cheap loan payday till completely instant loan online payday,instant online payday loan georgia in loan online payday,georgia loan payday advance cash loan? payday ? online payday cash loan day loan payday quick same,same day payday loan,day faxless loan payday same функций и " мета "-методов для чтения и записи значений полей класса (методы " get(value) " и " set(name,value) ") 4. Возможность задания атрибута " final " относительно класса, для явного указания невозможности его расширения и перезаписи методов после создания его экземпляра. 5. Понятие Meta-класса 6. Введение понятия прототип ( Prototype ) Il poker texas hold Dec 21 Создание многоязычных веб-приложений с помощью JSTemplater 0.5 Alfa By admin No Comments Проекти , Програмування , Теорія , Технології Автор: Кирилл Карпенко < LoRd1990@gmail.com > URL: http://e-code.tnt43.com Доброго времени суток уважаемые читатели ! В этой статье я бы хотел поговорить о многоязычных приложениях, а именно создание оных в контексте технологии JavaScript и XHTML , без использования при этом произвольных серверных технологий. Каждый из нас, кто когда-то непосредственно сталкивался с разработкой многоязычных приложений, знает всю их многогранность и в некоторых случаях неоднозначность создания. Так например, иногда клиенту необходимо отправить, предположим, опросник, в котором бы клиент указал, что именно он хочет, как он этого хочет, и что может за это отдать. Вот тут и появляется вопрос: « А если клиент иностранец ? », то есть уже из этого вопроса, появляется ещё один вопрос: « Как же рациональнее всего реализовать многоязычность ? ». Конечно, можно изначально перевести документ на несколько языков, после же отправлять заказчику один из них. Да, это безусловно допустимо, и наиболее используемо в контексте современных веб-студий и прочих компаний так или иначе ведущих диалог с заказчиками. Я же выбрал иной подход, который считаю немного более гибкий и практичный, при чём ничем не уступающий « ручному » разбиению на языки. Суть его заключается в введении системы шаблонирования, и преобразовании языковых единиц в переменные шаблона, которые в последствии будут заменены в теже языковые единицы, однако относящиеся к другому языку. Пример схожего механизма можно наблюдать повсеместно в системах, так или иначе использующих шаблонирование в интерфейсе или в целом во внутренней реализации системы. Так ярким примеров систем-шаблонизаторов могут служить такие системы как PatTemplaters, Smarty и прочее. В них результирующие данные формируются на основании некоторых входящих данных ( переменных шаблона ) которые «подставляются» в шаблон, после чего выполняются в контексте заданного набора алгоритмической логики шаблона, и возвращаются ввиде обработанного текста. В нашем случае всё аналогично, однако парсер JSTemplater 0.5Afla создан в расчете на функционирование на стороне клиента, и в качестве входящих данных принимает не текст шаблона, а весь текущий HTML-документ, начиная тегом , и закачивая местом вызова метода для рендеринга служебных конструкций, которые были обнаружены в HTML-документе. Но говорим мы сейчас не о предмете парсера JSTemplater 0.5 Alfa , а о том как его использовать на практике. Но ведь для этого вам необходимо как минимум скачать его, для этого перейдите по следующему адресу: http://e-code.tnt43.com/sources/jsTemplater.zip ( ZIP -packed archive). Read more Dec 21 OpenSource Flash ! Освободимся от диктата ! By admin No Comments Програмування , Теорія , Технології Если вам нравится технология Flash и Open Source разработка, то вы счастливчик, ибо добрые люди из Flash сообщества разрабатывают по-настоящему хорошие инструменты, которые можно интегрировать в уже существующие Open Source программы. Результат : Среда разработки для Flash , о которой можно мечтать. Теперь больше не нужно платить за лицензии, и у вас есть возможность модифицировать исходный код любой программы. На протяжении данной статьи я хочу собрать все «кусочки» которые нам нужны. Другими словами, я хочу рассмотреть вместе с вами мощную связку состоящую из MTASC компилятора и Eclipse IDE (а также встраиваемые модули (plug-ins) для ActionScript редактирования и просмотра SWF ). Лучше всего то, что, в некоторых случаях вы даже можете разрабатывать целые приложения не вылезая из предложенной среды. Позвольте мне показать вам, как легко и быстро создать SWF файлы с самого начала с помощью этих трех «игрушек»: Read more Aug 26 Linux не для правосудия. By admin No Comments Новини Бывший администратор одного из трекеров EliteTorrents BitTorrent Скотт МакКосланд [Scott McCausland] попал в неприятную историю: в 2006 году он выложил на сервер нелицензионную копию последней серии фильма "Звёздные войны", в связи с чем был "опознан" и осуждён на полгода тюремного заключения плюс такой же срок домашнего ареста. В данный момент Скотт уже вернулся домой, но, похоже, проблемы его не кончаются: дело в том, что надзорные органы, ответственные за постоянную проверку деятельности осуждённого на домашний арест, обязаны установить на компьютер специализированное ПО, отслеживающее его интернет-активность. Проблема же в том, что спец-шпион работает исключительно в среде Windows, а Скотт - постоянный пользователь Ubuntu. Решение нашлось быстро: надзорные органы предложили Скотту... удалить Ubuntu и установить Windows. Тем самым, считает осуждённый и его адвокат, государственные чиновники уже превышают свои полномочия, вмешиваясь в личную жизнь гражданина США, а не осуществляя пассивное наблюдение. Это, собственно, и станет основным аргументом жалобы, которую Скотт собирается подавать в суд. Его требование простое: пусть надзорные органы предоставят шпионское ПО, пригодное для установки в ту операционную систему, которой постоянно пользуется проверяемый. Подробности здесь. Aug 09 Абстрактные классы - для чего? By admin No Comments Програмування , Теорія , Технології Понимание ООП , приходит не тогда когда читаешь в книге про автомобили и цветочки, неизвестно кому пришло в голову использовать подобное объяснение в каждой книге, а в тот момент когда понимаешь как это приложить на практике. Постараюсь показать, как на самом деле действуют абстрактные классы и для чего они. Предположим что на сайте есть форма, в которую пользователь должен ввести свои логин и пароль. Далее при нажатие на кнопку submit введенные им данные попадают в наш класс , скажем, class UserLogin { } . Казалось бы, чего сложного, проверить в базе и дальше авторизировать или нет. Для штучных, единичных и маленьких проектах, которые никогда и не будут развиватся, подобный подход самый быстрый и удобный, но когда надо написать нечно большое и развивающееся, здесь не обойтись без ООП . Пароли могут хранится не только в базе SQL на хосте, но и скажем в базе другого хоста или в LDAP . Способов может быть множество и модули, под каждый из этих способов, не обязательно должен быть написан вами и не обязательно во время создание сайта. Это могут делать совершенно другие люди. Вернемся к нашему классу и предположим что другая группа программистов пишет класс который будет проверять данные пользователя в своей базе. Вы конечно можете потратить время на то что бы договорится с ними что вам нужно получить от них, но можно сократит его, начав говорить на универсальном языке, язык кода, а именно абстрактный класс . И вот он abstract class loginModule{ public $info=false; abstract protected function ifMember($login, $pass); final function getInfo(){ return $this->info; } } Абстрактный класс указывает своему наследнику какие методы там должны быть, вернее обязаны быть. Например метод ifMember который получит пароль и логин, и метод getInfo() который должен вернуть данные пользователя которого нашли или false . Теперь, ваши партнеры могут написать нечто похожее на вот это. class checkldap extends loginmodule{ function ifMember($login, $pass){ // некий код проверки $this->info=true; } } И таких модулей может быть много главное чтоб они был extends loginmodule . После этого в нашем классе мы делаем следующее class UserLogin{ $checkldap=new checkldap(); $checkldap->ifMember("login","pass"); If ($checkldap->getInfo()){ // похоже это их пользователь }else{ // а возможно нет так что проверим у других } } Вот так с помощью абстрактного класс можно заложить основу расширяемости проекта. И напоследок: » Абстрактные классы также могут содержать обычные (не абстрактные) элементы. » Нельзя объявлять абстрактными свойства класса. » Нельзя напрямую создавать экземпляр абстрактного класса. Aug 09 Doxygen vs phpDocumentor, часть 2. INPUT_FILTER By admin No Comments Програмування , Теорія , Технології Источник: http://skn.livejournal.com/ Недавно опять вернувшись к проблеме выбора между doxygen'ом и phpDocumentor'ом (Doxygen vs phpDocumentor) решил написать для доксигена свой INPUT_FILTER . В прошлый раз как-то не стал изучать детально этот вопрос, просто порывшись в инете и не найдя ни одного фильтра для PHP забил на это. Написал... классно получилось:) По сути фильтр решает все проблемы использования доксигена для php , которые я описывал ранее. Фильтр делает следующие преобразования: Заменяет self и parent на имена классов, т.к. доксиген их не понимает. По тэгу @var прописывает типы у свойств и констант классов. < ? /** * foo * @var array */ public $foo; //-----------------------------------------------------------> /** * foo */ public array $foo; ?> По описанию функции прописывает возвращаемый тип (тэг @return) и типы параметров ( @param ). Если не задан return, то прописывает void. < ? /** * Foo. * @param string[] $bar1 Desciption... * @param array $bar2 Desciption... * @return array Desciption... */ public function foo($bar1, $bar2) //-----------------------------------------------------------> /** * Foo. * @param $bar1 Desciption... * @param $bar2 Desciption... * @return Desciption... */ public function array foo(string[] $bar1, array $bar2) ?> Заменяет ZendStudio -описание класса объекта на строку кода: "Type Object;" - определение переменной в Си. В результате чего доксиген начинает прослеживать обращение к методам объектов заданных не явно (как альтернатива рефлексии:)). < ? /* @var $oMyVar My_Class */ //-----------------------------------------------------------> My_Class $MyVar; ?> Убивает у всех переменных бакс (если DoxyphpConfig::$baks true ). Доксиген начинает понимать ссылки на св-ва класса (а с баксом обламывается). Плюс документация получается красивше, т.к. $ в заточенном под Си доксигене выделяется отдельно от переменной. Заменяет определение глобальных констант в стиле PHP (define) на стиль Си: "const CONST = VALUE;" Т.к. define доксиген не понимает и соответственно не видит объявленные константы. Проставляет у всех переменных при присваивание значения префикс ( "LN::" ). Чтоб доксиген не воспринимал их как глобальные и не делал перекрестные ссылки. Заменяет тэг package на addtogroup . Чтоб при обработке кода заточенного под phpDocumentor доксиген не делал namespace из пакета (эт я для тестов натравливал фильтр на пакеты пира:)). Заменяет " abstract class " на " class ", т.к. доксиген абстрактные классы обзывает протоколом и не прослеживает наследование для них. Пример: Имеем код док phpDocumentor 1.3.1 док doxygen 1.5.2+graphviz док doxygen 1.5.2+graphviz+doxyphp В конфиге доксигена следует указать: INPUT_FILTER = "/usr/bin/php doxyphp.php" FILTER_SOURCE_FILES = YES Тестировалось всё на php5 . Aug 09 Объект Local SharedObject By admin No Comments Програмування , Теорія , Технології Источник: http://flash-ripper.com/ Local SharedObject (LSO) подойдет для хранения данных клиента на его машине; сервер разгружается и освобождается от хранения избыточной информации [ 1 ] . Сохранение информации происходит мгновенно. LSO поддерживается Flash Player c версии 6.0.40.0; не описан в стандартной документации по Flash. Компания Macromedia дала своим поклонникам действительно мощный инструмент, но не рассказала об этом в документации. Read more Aug 09 Adobe Flash термины с объяснением By admin No Comments Програмування , Теорія , Технології Абсолютная адресация (absolute addressing) это такой способ задания области видимости (адресации) переменной, при котором путь к переменной указывается относительно фиксированной области ( _root,_levelN ) и зависит от изменения положения этой фиксированной области в иерархии объектов. Использование абсолютной адресации не рекомендуется, так как это снижает мобильность кода (при изменении положения фиксированной области в иерархии объектов все абсолютные адреса могут стать неработоспособными). Рекомендуется использовать относительную адресацию . Аргументы (arguments) Функция при вызове может принимать параметры, называемые аргументами. При этом говорят " функции были переданы аргументы", или "функция получила аргументы". Аргументы часто используются при создании новых объектов из классов (в этом случае функция в качестве аргументов получает параметры создаваемого объекта). Read more Aug 07 Создание темы из 3-х колонок на DIV слоях By admin No Comments Програмування , Теорія , Технології Источник: http Перевод Лебедев Сергей В этом учебнике рассматривается создание трехколоночной темы для вебсайта на Joomla. Такими является большинство Joomla сайтов и это уже считается в некотором роде стандартом. Кроме того, позже можно будет скрыть неиспользуемые колонки. Вообще-то, создать тему для Joomla сайта с помощью таблиц проще, так поступает большинство. Использование CSS требует большего профессионализма - научиться этому сложнее, кроме того, есть проблемы с интерпретацией CSS некоторыми браузерами. Поэтому, этот учебник предназначен для людей, имеющих опыт работы с CSS. Read more Previous Entries Категории потому что хочу ! Вакансії Веб-программирование Документи Дружественные блоги Команда Новини Переклади Події Проекти Ссылки Теорія Технології Технологии Архив я не "тупица" June 2008 January 2008 December 2007 August 2007 July 2007 June 2007 May 2007 April 2007 Лента обновлений Самые популярные EcmaScript.org.ua Free counter Recent Posts Мысли и образы. Код и UI… Вероятно всё те же случайности, которые привели Томаша из Праги в захолустье Чешской провинции, дабы он встретил свою судьбу в лице Терезы*, привели меня к тому, что исконно изменило все мои взгляды на процесс, который в целом не представляет особой технической сложности в плане реализации, но в то же время... ECMAScript v.4 В этой версии стандарта используемого для стандартизации синтаксических и семантических механизмов технологии JavaScript наконец-то были включены, не побоюсь сказать, революционные для данной платформы нововведения. Многие из них неявно присутствовали всегда, их, опять же, неявно использовали очень давно, но они не были явно прописаны и оформленны на том уровне, на котором их... Создание многоязычных веб-приложений с помощью JSTemplater 0.5 Alfa Автор: Кирилл Карпенко URL: http://e-code.tnt43.com Доброго времени суток уважаемые читатели ! В этой статье я бы хотел поговорить о многоязычных приложениях, а именно создание оных в контексте технологии JavaScript и XHTML, без использования при этом произвольных серверных технологий. Каждый из нас, кто когда-то непосредственно сталкивался с разработкой многоязычных приложений, знает всю... OpenSource Flash ! Освободимся от диктата ! Если вам нравится технология Flash и Open Source разработка, то вы счастливчик, ибо добрые люди из Flash сообщества разрабатывают по-настоящему хорошие инструменты, которые можно интегрировать в уже существующие Open Source программы. Результат: Среда разработки для Flash, о которой можно мечтать. Теперь больше не нужно платить за лицензии, и у вас... Linux не для правосудия. Бывший администратор одного из трекеров EliteTorrents BitTorrent Скотт МакКосланд [Scott McCausland] попал в неприятную историю: в 2006 году он выложил на сервер нелицензионную копию последней серии фильма "Звёздные войны", в связи с чем был "опознан" и осуждён на полгода тюремного заключения плюс такой же срок домашнего ареста. В данный момент... Recent Comments admin : You can see the rank of our site on these pages: 1. http://... Top WP Design Theme designed by Swapnil . Design adapted from Sodelicious theme by web2themes . .