<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
	<title>Хабрахабр:  Метки / namespace</title>
	<link>http://habrahabr.ru/rss/tag/namespace/</link>
	<description><![CDATA[]]></description>
	<language>ru</language>
	<managingEditor>editor@habrahabr.ru</managingEditor>
	<generator>habrahabr.ru</generator>
	<pubDate>Sat, 11 Feb 2012 06:57:52 GMT</pubDate>
	<lastBuildDate></lastBuildDate>
	<image>
		<link>http://habrahabr.ru/</link>
		<url>http://habrahabr.ru/i/logo.gif</url>
		<title>Хабрахабр</title>
	</image>
	
			
		<item>		
			<title><![CDATA[PHP / Внедряем namespace в существующий php-код]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/php/132777/</guid>
			<link>http://habrahabr.ru/blogs/php/132777/</link>			
			<description><![CDATA[Увидел статью о namespace и решил поделиться опытом перевода существующих проектов на namespace.<br/>
 В основном статья будет полезна тем, кто еще не использует namespace, но задумывается над переписыванием существующего кода. <br/>
<br/>
Я переводил на namespace несколько своих проектов, которые были взаимосвязаны между собой. Проекты не слишком большие и весь переход я сделал за выходные.<br/>
<br/>
Сам по себе переход не представляет особых проблем, ниже я описал последовательность необходимых действий, которые в большинстве своем представляют собой рутину и имеется возможность автоматизации большей части работ… но как говорится дъявол кроется в деталях.<br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/php/132777/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Wed, 16 Nov 2011 19:57:52 GMT</pubDate>
			<author>ewgRa</author>
			<category>php</category><category>namespace</category><category>миграция</category><category>рефакторинг</category>
		</item>
		
		
		
		
		
		
		
		
	
		
			
		<item>		
			<title><![CDATA[PHP / [Из песочницы] PHP Namespace]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/php/132736/</guid>
			<link>http://habrahabr.ru/blogs/php/132736/</link>			
			<description><![CDATA[Недавно инкапсулировал свой проект в namespace и столкнулся с проблемой отсутствия нормальной документации. Все, что удалось найти датируется примерно 2009 годом, а на дворе почти 2012… В найденном материале куча нерабочих мест, использующих то, что в нынешней версии php нет. В связи с этим хочу немного осветить этот вопрос.<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/php/132736/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Wed, 16 Nov 2011 11:17:29 GMT</pubDate>
			<author>Slavenin999</author>
			<category>php</category><category>namespace</category><category>php уроки</category>
		</item>
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Python / Python-пакеты и их использование]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/python/127441/</guid>
			<link>http://habrahabr.ru/blogs/python/127441/</link>			
			<description><![CDATA[<img src="http://habrastorage.org/storage1/9cfbb25a/a4724bf0/93f5ffca/1811a8e8.png" align="left"/><br/>
Всем добрый день!<br/>
<br/>
На Хабре уже поднималась <a href="http://habrahabr.ru/blogs/Git/75964/">тема</a> организации работы с внешними пакетами с использованием подмодулей или деревьев в Git. Это показалось хорошим решением, но на деле вылилось в неудобства и запутанность. Тогда я решил перенести всё на python-пакеты. Чем и поделюсь сейчас на примере Django приложения.<br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/python/127441/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Thu, 01 Sep 2011 11:47:38 GMT</pubDate>
			<author>NElias</author>
			<category>python</category><category>pip</category><category>setuptools</category><category>namespace</category><category>dependency</category><category>django framework</category><category>gitosis</category><category>git</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Google App Engine / Вышли Java/Python SDKs 1.3.6]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/gae/102012/</guid>
			<link>http://habrahabr.ru/blogs/gae/102012/</link>			
			<description><![CDATA[<ul>
<li><b>Отмена 1000-лимита</b> на запрос в хранилище для count и offset. Такие безлимитные запросы будут теперь исполняться до получения результата, или выкидывать ошибку по таймауту хранилища. Я сам слегка потестировал — есть небольшие тормоза на средней базе в пару миллионов записей при смещении в миллион (порядка пары-тройки секунд задержка), однако вполне годно. Хотя, судя по коду SDK, максимальный лимит все же есть, равный 2^31 — 1.</li>
<li>Новое <b>Namespaces API</b> для <a href="http://code.google.com/intl/en/appengine/docs/java/multitenancy/">Java</a> и <a href="http://code.google.com/intl/en/appengine/docs/python/multitenancy/">Python</a>, которое позволяет создавать «коммунальные» (multi-tenancy) приложения без особых модификаций уже существующего кода.</li>
<li>Замена сервиса картинок на высокопроизводительное решение, основанное на picasa, что позволит делать превьюшки картинок (crop и/или resize), фактически без использования ваших ресурсов (только трафик) в добавлении к предыдущим умениям Image API.</li>
<li>Пользовательские страницы для системных ошибок — <i>over quota, DoS, timeout</i> и прочих.</li>
<li>В Java добавлено <a href="http://code.google.com/intl/en/appengine/docs/java/javadoc/">Capabilities API</a>, по аналогии с Питоном, а также java-приложения научились понимать конфиги в yaml-формате.</li>
<li>Многие фиксированные квоты бесплатных приложений увеличились до уровня платных, <a href="http://code.google.com/intl/en/appengine/docs/quotas.html">подробнее</a>.</li>
<li>Blobstore API теперь поддерживает Content-Range заголовок.</li>
</ul>Полные списки изменений:<br/>
 — <a href="http://code.google.com/p/googleappengine/wiki/SdkReleaseNotes">Release Notes: Python</a><br/>
 — <a href="http://code.google.com/p/googleappengine/wiki/SdkForJavaReleaseNotes">Release Notes: Java</a><br/>
 — <a href="http://code.google.com/intl/en/appengine/docs/revision_history.html">Revision History</a>]]></description>
			
			<pubDate>Tue, 17 Aug 2010 23:14:01 GMT</pubDate>
			<author>mrskam</author>
			<category>google</category><category>google app engine</category><category>namespace</category><category>1000</category>
		</item>
		
		
		
		
		
		
		
		
	
		
		
		
			
		<item>		
			<title><![CDATA[PHP / [Перевод] Как использовать пространства имён в PHP, Часть 3: Ключевые слова и автозагрузка]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/php/72150/</guid>
			<link>http://habrahabr.ru/blogs/php/72150/</link>
			<description><![CDATA[<img src="http://s39.radikal.ru/i084/0910/d7/f2ba194b1a98.png" alt="image"/><br/>
В части 1 и 2 нашей серии статей мы рассмотрели <a href="http://habrahabr.ru/blogs/php/72033/">основы пространства имён</a>, а также <a href="http://habrahabr.ru/blogs/php/72097/">импортирование, псевдонимы и правила разбора имён</a>. В данной, заключительной, статье мы обговорим некоторые более продвинутые опции пространства имён.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/php/72150/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Mon, 12 Oct 2009 04:23:22 GMT</pubDate>
			<author>KeJSaR</author>
			<category>php</category><category>php5</category><category>php 5</category><category>namespace</category><category>namespaces</category><category>php 5.3</category><category>php5.3</category><category>пространство имен</category><category>пространства имен</category><category>ооп</category>
		</item>
		
		
		
		
		
	
		
		
		
			
		<item>		
			<title><![CDATA[PHP / [Перевод] Как использовать пространства имён в PHP, Часть 2: импортирование, псевдонимы и правила разбора имён]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/php/72097/</guid>
			<link>http://habrahabr.ru/blogs/php/72097/</link>
			<description><![CDATA[<img src="http://s39.radikal.ru/i084/0910/d7/f2ba194b1a98.png" alt="image"/><br/>
В <a href="http://habrahabr.ru/blogs/php/72033/">части 1</a>, мы обсуждали для чего нужны пространства имён (namespaces) в PHP, и что обозначает зарезервированное слово namespace. В этой статье мы исследуем оператор use и способ, которым PHP разрешает имена пространств имён.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/php/72097/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Sun, 11 Oct 2009 06:16:58 GMT</pubDate>
			<author>KeJSaR</author>
			<category>php</category><category>php5</category><category>php 5</category><category>namespace</category><category>namespaces</category><category>php 5.3</category><category>php5.3</category><category>пространство имен</category><category>пространства имен</category><category>ооп</category>
		</item>
		
		
		
		
		
	
		
		
		
			
		<item>		
			<title><![CDATA[PHP / [Перевод] Как использовать пространства имен в PHP, Часть 1: Основы]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/php/72033/</guid>
			<link>http://habrahabr.ru/blogs/php/72033/</link>
			<description><![CDATA[<img src="http://s39.radikal.ru/i084/0910/d7/f2ba194b1a98.png" alt="image"/><br/>
<br/>
<i>Предисловие: На Хабре уже публиковались несколько статей, посвященных пространству имен в PHP (все ссылки на них я привожу в приложении). Однако, этот интересный и полезный вопрос был раскрыт не полностью. Поэтому я привожу перевод первой из трех статей по данной теме (остальные переведу в ближайшее время). P.S. Статья для начинающих</i><br/>
<br/>
Пространства имен (namespaces) — это одно из самых значительных изменений в PHP 5.3. Они будут хорошо знакомы С# и Java разработчикам, и, вероятно, они изменят к лучшему структуру PHP-приложений.<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/php/72033/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Sat, 10 Oct 2009 05:47:26 GMT</pubDate>
			<author>KeJSaR</author>
			<category>php</category><category>php5</category><category>php 5</category><category>namespace</category><category>namespaces</category><category>php 5.3</category><category>php5.3</category><category>пространство имен</category><category>пространства имен</category><category>ооп</category>
		</item>
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[PHP / Разделитель в пространствах имен в PHP]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/php/43231/</guid>
			<link>http://habrahabr.ru/blogs/php/43231/</link>			
			<description><![CDATA[Рекомендую ознакомиться с <a href="http://news.php.net/php.internals/41374">php internals: endnamespacediscussion</a><br/>
<br/>
После очередной дискуссии в IRC принято решение использовать символ \ в качестве разделителя в пространствах имен в PHP. Патч готовится, и неизвестно войдет ли он в PHP 5.3 или нет.<br/>
<br/>
С аргументацией можно ознакомиться <a href="http://wiki.php.net/rfc/backslashnamespaces">здесь</a> или <a href="http://wiki.php.net/rfc/namespaceseparator">здесь</a><br/>
<br/>
Основная проблема при использовании :: в качестве разделителя по мнению разработчиков заключается в том, что понять что происходит в строке кода <br/>
<code>Foo::bar();</code><br/>
<br/>
станет трудно (это вызов статического метода bar() из класса Foo или вызов функции bar() из пространства имен Foo?). Дополнительным ограничением также является сам интепретатор PHP, который не сможет отличить разрешение имени от вызова статического метода. Избавиться от такой неоднозначности предполагается при помощи символа \.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/php/43231/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Sun, 26 Oct 2008 04:05:58 GMT</pubDate>
			<author>jtraub</author>
			<category>php</category><category>namespace</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[PHP / О пользе namespace'ов]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/php/38097/</guid>
			<link>http://habrahabr.ru/blogs/php/38097/</link>			
			<description><![CDATA[В последних версиях PHP появились <i>namespace</i>'ы — пространства имен.<br/>
<br/>
У них есть очевидные преимущества:<br/>
 — помогают сократить названия классов;<br/>
 — позволяют избежать конфликтов имен;<br/>
 — помогают лучше структурировать классы.<br/>
<br/>
Но, помимо этого, есть еще преимущество, на которое не так часто обращают внимание: <i>namespace</i>'ы помогают разработчику видеть зависимости того или иного класс, причем это не приводит к какому-либо оверхеду. Поясню.<br/>
<br/>
Помните, как в PHP4 мы писали перед объявлением класса: <br/>
<code>require_once «MyClassParent.php»;<br/>
require_once «MyClassDependency.php»;</code><br/>
<br/>
Потом пришел PHP5, появился <i>__autoload()</i> и <i>spl_autoload_register()</i> — мы убрали безусловные подключения файлов и вместе с ними оверхед. Все хорошо, да вот только теперь не так очевидно стало, какие же другие классы/файлы нужны для нашего класса, чтобы он нормально функционировал.<br/>
<br/>
И тут — появляется <s>батут</s> php-5.3. Теперь, без лишнего оверхеда мы можем, и даже не только можем, но и в определенных случаях должны — указывать зависимости нашего класса:<br/>
<code>use myns:: MyClassParent;<br/>
use anotherns:: MyClassDependency;</code><br/>
<br/>
Отметим, что при использовании <b>use</b> не происходит подключения файлов с классами.<br/>
Теперь, как говорится, и <s>программисты</s> волки сыты, и <s>харды</s> овцы целы.]]></description>
			
			<pubDate>Tue, 26 Aug 2008 08:31:28 GMT</pubDate>
			<author>crocodile2u</author>
			<category>php 5.3</category><category>namespace</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[PHP / Пространство имён в php 5.3 и php 6]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/php/27791/</guid>
			<link>http://habrahabr.ru/blogs/php/27791/</link>			
			<description><![CDATA[Пространство имён (namespace/package) знакомо java и c# программистам, теперь доступно и в php. Нужно оно для того, что-бы не писать длинные перефиксы к названиям классов, как сейчас делается в Zend, PEAR и других библиотеках и платформах для совместимости.<br/>
Вместо этого классы, функции, интерфейсы (абстрактные классы) и константы могут быть объединены в одно пространство имён. Глобальные переменные в это пространство не входят.<br/>
<h3>Простой пример</h3><br/>
Определяется пространство ключевым словом namespace<br/>
<code>//определяем класс в пространстве<br/>
namespace MyCMS::Core;<br/>
class System{}</code><br/>
Использование этого класса в третьих библиотеках осуществляется ключевым словом use<br/>
<code>require_once('mycms/core.php');<br/>
 use MyCMS::Core::System; //импортируем только заданный класс<br/>
$objSystem=new System;</code><br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/php/27791/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Sun, 22 Jun 2008 15:37:53 GMT</pubDate>
			<author>tot_ra</author>
			<category>php</category><category>namespace</category><category>OOP</category><category>frameworks</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Веб-разработка / Пространство имён в Javascript-коде 2]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/26763/</guid>
			<link>http://habrahabr.ru/blogs/webdev/26763/</link>			
			<description><![CDATA[Прочитав <a href="http://habrahabr.ru/blog/webdev/43781.html">заметку об использовании пространств имён в Javascript коде</a> мне захотелось поделиться подходом, который использую я. Он изобретён не мной, конечно, но, возможно кто-то о нём не знает. Этот подход отличается от предложенных в той статье тем, что позволяет кроме функций и данных видимых снаружи, также определять данные и функции локальные для пространства имен и невидимые снаружи.<br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/webdev/26763/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Tue, 03 Jun 2008 20:29:30 GMT</pubDate>
			<author>gribunin</author>
			<category>javascript</category><category>namespace</category><category>паттерны</category><category>код</category>
		</item>
		
		
		
		
		
		
		
		
	
		
		
		
			
		<item>		
			<title><![CDATA[Веб-разработка / [Перевод] Использование пространств имен для организации JavaScript-кода]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/31596/</guid>
			<link>http://habrahabr.ru/blogs/webdev/31596/</link>
			<description><![CDATA[На текущий момент большинство web-приложений состоят из большого числа библиотек, виджетов и сниппетов из многих и многих источников. Следует помнить, что код других разработчиков может взаимодействовать с вашим кодом в случае, если происходит подключение обоих их на одной странице. А если вы оперируете глобальными переменными, то это и вовсе небезопасно.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/webdev/31596/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Tue, 03 Jun 2008 16:07:48 GMT</pubDate>
			<author>Kupyc</author>
			<category>JavaScript</category><category>JS</category><category>Ext JS</category><category>namespace</category><category>пространство имен</category>
		</item>
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[OS Inferno / Архитектура OS Inferno — 2.]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/os_inferno/8964/</guid>
			<link>http://habrahabr.ru/blogs/os_inferno/8964/</link>			
			<description><![CDATA[Один из краеугольных камней архитектуры Inferno — юниксовая идея с<br/>
файлами-устройствами доведена до предела: в Inferno файлами представлено<br/>
абсолютно всё. Например, в Inferno нет понятия «сокет».<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/os_inferno/8964/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Sun, 27 May 2007 12:51:56 GMT</pubDate>
			<author>powerman</author>
			<category>os</category><category>inferno</category><category>file</category><category>namespace</category>
		</item>
		
		
		
		
		
		
		
		
	
	
	
	
	
	
	
	

	
</channel>
</rss>

