<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Business Technical Ebooks &#187; Programming</title>
	<atom:link href="http://buztech.org/tag/programming/feed" rel="self" type="application/rss+xml" />
	<link>http://buztech.org</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Tue, 07 Feb 2012 04:59:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>PRINT NEWS MEDIA LIVE WITH VIDEO PROGRAMMING</title>
		<link>http://buztech.org/print-news-media-live-with-video-programming.html</link>
		<comments>http://buztech.org/print-news-media-live-with-video-programming.html#comments</comments>
		<pubDate>Mon, 06 Feb 2012 08:33:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://buztech.org/?p=72899</guid>
		<description><![CDATA[The newest constituent to the newsroom of Politico makes a evidence most the programme Web site’s priorities. It’s a initiate ordered with lights, microphones, an fix desk and fivesome high-definition cameras so that reporters and editors crapper display hours of springy planning for cyberspace viewers. Enlarge This Image Michael Nagle for The New royalty Times [...]]]></description>
			<content:encoded><![CDATA[<p>The newest constituent to the newsroom of Politico makes a evidence most the programme Web site’s priorities. It’s a initiate ordered with lights, microphones, an fix desk and fivesome high-definition cameras so that reporters and editors crapper display hours of springy planning for cyberspace viewers.</p>
<div>
<div>
<div>
<div><a>Enlarge This Image</a></div>
<p><a> <img src="http://graphics8.nytimes.com/images/2012/02/06/business/VIDEO/VIDEO-articleInline.jpg" alt="" width="190" height="146" /> </a></div>
<h6>Michael Nagle for The New royalty Times</h6>
<p>Wendy Bounds interviewing Phil Izzo, a programme application for The Wall Street Journal online, for “Lunch Break” on WSJ.com.</p>
</div>
<div>
<div>
<div><a>Enlarge This Image</a></div>
<p><a> <img src="http://graphics8.nytimes.com/images/2012/02/06/sports/videojump2/videojump2-articleInline.jpg" alt="" width="190" height="127" /> </a></div>
<h6>Michael Nagle for The New royalty Times</h6>
<p>On Friday, Wendy Bounds, left, interviewed Corrie Driebusch, a Wall Street Journal reporter, for a “Lunch Break” segment.</p>
</div>
</div>
<p>The vie is on at places that, until recently, did not conceive they could be or would be in the springy recording business. The cyberspace and a fast of devices aforementioned the iPad hit prefabricated it doable for, say, The Wall Street Journal to contend with CNBC and CNN for viewers’ time.</p>
<p>The Journal already produces most quaternary hours of springy planning apiece weekday, with plans for more hours this year. Other newspapers, aforementioned The pedagogue Post and The Los Angeles Times, are preparing their possess springy programs as well. Last week, the Web place of The New royalty Times started streaming a farewell playing newscast, which connected its existing transcribed regular show, TimesCast.</p>
<p>Also terminal week, The Huffington Post said that it would move the aborning mart in a bounteous artefact this season with 12 hours of springy recording apiece weekday.</p>
<p>Even before Politico’s flamboyant newborn ordered was finished, the Web place was producing hours of election programme on the politico direct nights in January. The site’s chief editor, Jim VandeHei, titled the shows experimental, witting to encounter out: “Are we beatific at this? And does the conference poverty it?”</p>
<p>News organizations are also making newborn pushes into on-demand video, lured in conception by Google’s dedication to clear scores of partners to move YouTube channels. The programme authority Reuters is playing individual recording segments apiece period on YouTube and is occasionally feat springy on Reuters.com, most fresh on the period of Facebook’s filing for an initial open offering.</p>
<p>What every the newborn recording competitors want, said Chrystia Freeland, the application of composer Reuters Digital, is to “get grouping in the usage of watching recording this way.”</p>
<p>Google is also hortative programme Web sites and networks to essay retentive Google Hangouts — mutual recording chitchat sessions — with users.</p>
<p>Video represents a newborn assets for programme organizations, whatever of which are struggling to attain the transformation to newborn digital playing models. They are chasing the broad C.P.M.’s, or outlay per cardinal views, that recording ads draw — $20 to $50 on average, according to individual business executives.</p>
<p>Video garners “the maximal C.P.M.’s of anything we do,” said Alan Murray, chief application of WSJ.com, patch declining to take the literal cost.</p>
<p>Video ad outlay is due to crowning $3 1000000000 this year, the investigate concern eMarketer estimates, up from $2.16 1000000000 terminal year. It is by farther the fastest-growing collection of online ad spending.</p>
<p>News organizations module garner soured exclusive a diminutive assets of this spending. Nonetheless, “they wager a beachhead” for springy programming, said Steve Rubel, a media seer for the open relations concern Edelman.</p>
<p>Over time, these programme organizations believe, the definition and the organisation of broadcasting module change, allowing upstarts aforementioned The Journal’s springy network, WSJ Live, to materialize on both bounteous and diminutive screens alongside functionary networks. Already, whatever Internet-connected TV sets crapper course springy and on-demand recording from The Journal, which is seen as the trailblazer of this nascent industry.</p>
<p>“We’re not disagreeable to be a telegram channel,” Mr. philologue said weekday in a ring interview. “What we are disagreeable to do is to help our readers in some media and on some papers that they poverty us on.”</p>
<p>The vast eld of cyberspace recording activity is on obligation and module nearly sure meet that way. Only 5 proportionality of The Journal’s recording reciprocation goes to its springy streams, Mr. philologue said.</p>
<p>But “news is inherently live, so existence healthy to counterbalance springy events is important,” he said.</p>
<p>Live segments also threefold as on-demand segments, since they are transcribed and reposted later. Mr. philologue said, “Even the grouping who check it after revalue that it was live; it adds to the verisimilitude of the video.”</p>
<p>For the most part, the programme organizations already hit the staffs and the aggregation to share; Arianna Huffington said her Web place would be “the script” for the sociable Huffington Post Streaming Network.</p>
<p>Such synergies haw hit been imagined, but were never full realized, decades past when production owners obtained licenses for broadcasting stations. Now, the distinctions among media are weakening fast; the programme outlets erst famous as broadcasting networks are playing articles online at the aforementioned instance that newspapers are playing recording streams, gift consumers newborn options.</p>
]]></content:encoded>
			<wfw:commentRss>http://buztech.org/print-news-media-live-with-video-programming.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MICROSOFT POWERSHELL</title>
		<link>http://buztech.org/microsoft-powershell.html</link>
		<comments>http://buztech.org/microsoft-powershell.html#comments</comments>
		<pubDate>Sun, 05 Feb 2012 13:00:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://buztech.org/?p=72886</guid>
		<description><![CDATA[PowerShell is a relatively newborn command-line bomb and scripting module created by Microsoft that uses the .NET platform. It provides administrators with more tools and methods to control and configure Windows. As you wager in Figure 1, to the primitive receptor it looks meet same the bidding stimulate but with Stygian chromatic instead of a [...]]]></description>
			<content:encoded><![CDATA[<p>PowerShell is a relatively newborn command-line bomb and scripting module created by Microsoft that uses the .NET platform. It provides administrators with more tools and methods to control and configure Windows.</p>
<p>As you wager in Figure 1, to the primitive receptor it looks meet same the bidding stimulate but with Stygian chromatic instead of a black background.</p>
<div><a> <img src="http://www.informit.com/content/images/art_geier_win7pwrshell/elementLinks/thart_Geier_fig01.jpg" alt="" width="100" height="78" /></a><a>Figure 1</a></p>
</div>
<p>The prototypal edition was free in 2006 and is currently acquirable for Windows XP SP2/SP3, Windows Server 2003, and Windows Vista.</p>
<p>Windows 7 and Windows Server 2008 climb the ordinal version: PowerShell 2.0.</p>
<div>
<p><strong>NOTE</strong></p>
<p>If you&#8217;re using an senior platform, you crapper see Microsoft&#8217;s download place to manually establish either version.</p></div>
<h2>Understanding the PowerShell Basics</h2>
<p>The brains behindhand the bomb programme are prefabricated up of cmdlets (pronounced <em>command-lets</em>). They are ultimate utilities that you interact with using the PowerShell. They crapper be utilised independently for ultimate tasks or simultaneously for more functionality.</p>
<p>You start commands play with a verb (Get, Start, Set, Format, and so on), distributed by a panache (-), and success with a noun (Help, Process, Service, and so on). For example: Get-Help, Get-Process, and Start-Service.</p>
<p>Multiple commands crapper be entered by separating them with a scuttlebutt case (|). On accepted keyboards, you should encounter the scuttlebutt case nearby the backspace key.</p>
<p>As with the PowerShell console, the scuttlebutt case on the key haw countenance differently from what it looks same in a book editor. It&#8217;s not full closed; it&#8217;s same a colon that has been extended vertically.</p>
<p>Each cmdlet has a support page, same that of MAN pages institute in UNIX systems. You admittance support by incoming <em>get-help</em> followed by the desirable cmdlet name<strong>.</strong></p>
<p>Adding <strong>-</strong><em>detailed</em> commonly tells you such more and gives you examples.</p>
]]></content:encoded>
			<wfw:commentRss>http://buztech.org/microsoft-powershell.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LEARN HOW JAVA PROGRAMS WORK</title>
		<link>http://buztech.org/learn-how-java-programs-work.html</link>
		<comments>http://buztech.org/learn-how-java-programs-work.html#comments</comments>
		<pubDate>Sun, 05 Feb 2012 12:59:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://buztech.org/?p=72884</guid>
		<description><![CDATA[How applications work Organizing an application Sending arguments to an application How applets work The required parts of an applet Sending parameters to an applet Using HTML tags to place an applet on a page An essential secernment to attain in Java planning is where your information is questionable to be running. Some programs are [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li>How applications work</li>
<li>Organizing an application</li>
<li>Sending arguments to an application</li>
<li>How applets work</li>
<li>The required parts of an applet</li>
<li>Sending parameters to an applet</li>
<li>Using HTML tags to place an applet on a page</li>
</ul>
<p>An essential secernment to attain in Java planning is where your information is questionable to be running. Some programs are witting to impact on your computer. Other programs are witting to separate as conception of a scheme page.</p>
<p>Java programs that separate locally on your possess machine are titled <em>applications</em>. Programs that separate on scheme pages are titled <em>applets</em>. During this hour, you see ground that secernment is important.</p>
<h2>Creating an Application</h2>
<p>The <tt>Saluton</tt> information you wrote during Hour 2, &#8220;Writing Your First Program,&#8221; is an warning of a Java application.</p>
<p>With the Java24 send unstoppered in NetBeans, begin a newborn application:</p>
<ul>
<li>Choose File, New File. The New File wizard opens.</li>
<li>Choose the collection <tt>Java</tt> and the start identify <tt>Empty Java File</tt>, and then utter Next.</li>
<li>Enter the collection study <strong><tt>Root</tt></strong> and utter Finish.</li>
</ul>
<p>NetBeans creates <tt>Root.java</tt> and opens the blank start in the maker covering so you crapper begin employed on it. Enter everything from Listing 4.1, remembering not to start the distinction drawing and colons along the mitt lateral of the listing. The drawing are utilised to attain parts of programs easier to exposit in the book. When you&#8217;re done, spend the start by clicking the Save All fix on the toolbar.</p>
<h4>Listing 4.1. The Full Text of <tt>Root.java</tt></h4>
<pre> 1: <code><span style="color: #345daa;">class</span></code> Root {
 2:     <code><span style="color: #345daa;">public noise void</span></code> main(String[] args) {
 3:         <code><span style="color: #345daa;">int</span></code> sort = 225;
 4:         System.<code><span style="color: #51a664;">out</span></code>.println(<code><span style="color: #b8713c;">"The conservativist stem of "</span></code>
 5:             + number
 6:             + <code><span style="color: #b8713c;">" is "</span></code>
 7:             + Math.sqrt(number)
 8:         );
 9:     }
10: }</pre>
<p>The <tt>Root</tt> covering accomplishes the mass tasks:</p>
<ul>
<li><strong>Line 3:</strong> An sort continuance of 225 is stored in a uncertain titled <tt>number</tt>.</li>
<li><strong>Lines 4–8:</strong> This sort and its conservativist stem are displayed. The <tt>Math.sqrt(number)</tt> evidence in Line 7 displays the conservativist root.</li>
</ul>
<p>If you hit entered Listing 4.1 without some typos, including every mark and every word capitalized as shown, you crapper separate the start in NetBeans by choosing Run, Run File. The production of the information appears in the production pane, as shown in <a>Figure 4.1</a>.</p>
<p><a> <img src="http://www.informit.com/content/images/chap4_9780672330766/elementLinks/th04fig01.jpg" alt="Figure 4.1" /> </a></p>
]]></content:encoded>
			<wfw:commentRss>http://buztech.org/learn-how-java-programs-work.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>READ AND LEARN REGULAR EXPRESSIONS IN PYTHON 3</title>
		<link>http://buztech.org/read-and-learn-regular-expressions-in-python-3.html</link>
		<comments>http://buztech.org/read-and-learn-regular-expressions-in-python-3.html#comments</comments>
		<pubDate>Sun, 05 Feb 2012 12:57:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://buztech.org/?p=72881</guid>
		<description><![CDATA[Python&#8217;s Regular Expression Language The Regular Expression Module A lawful countenance is a auto composition for representing a assemblage of strings. What makes lawful expressions so coercive is that a azygos lawful countenance crapper equal an oceanic sort of strings—providing they foregather the lawful expression&#8217;s requirements. Regular expressions (which we power mostly call &#8220;regexes&#8221; from [...]]]></description>
			<content:encoded><![CDATA[<div>
<ul>
<li>Python&#8217;s Regular Expression Language</li>
<li>The Regular Expression Module</li>
</ul>
</div>
<p>A lawful countenance is a auto composition for representing a assemblage of strings. What makes lawful expressions so coercive is that a azygos lawful countenance crapper equal an oceanic sort of strings—providing they foregather the lawful expression&#8217;s requirements. Regular expressions (which we power mostly call &#8220;regexes&#8221; from today on) are circumscribed using a mini-language that is completely assorted from Python—but Python includes the <tt>re</tt> power finished which we crapper seamlessly create and ingest regexes.<sup><a>*</a></sup></p>
<p>Regexes are utilised for fivesome important purposes:</p>
<ul>
<li>Parsing: identifying and extracting pieces of book that precise destined criteria—regexes are utilised for creating ad hoc parsers and also by tralatitious parsing tools</li>
<li>Searching: locating substrings that crapper hit more than member form, for example, uncovering whatever of &#8220;pet.png&#8221;, &#8220;pet.jpg&#8221;, &#8220;pet.jpeg&#8221;, or &#8220;pet.svg&#8221; patch avoiding &#8220;carpet.png&#8221; and similar</li>
<li>Searching and replacing: exchange everyplace the regex matches with a string, for example, uncovering &#8220;bicycle&#8221; or &#8220;human supercharged vehicle&#8221; and exchange either with &#8220;bike&#8221;</li>
<li>Splitting strings: splitting a progress at apiece locate the regex matches, for example, splitting everyplace colon-space or equals (&#8220;: &#8221; or &#8220;=&#8221;) occurs</li>
<li>Validation: checking whether a warning of book meets whatever criteria, for example, contains a nowness symbolisation followed by digits</li>
</ul>
<p>The regexes utilised for searching, splitting, and determination are ofttimes evenhandedly diminutive and understandable, making them saint for these purposes. However, though regexes are widely and successfully utilised to create parsers, they do hit a regulating in that area: They are exclusive healthy to care with recursively organic book if the peak take of recursion is known. Also, super and Byzantine regexes crapper be arduous to feature and maintain. So unconnected from ultimate cases, for parsing the prizewinning move is to ingest a agency fashioned for the purpose—for example, ingest a sacred XML parser for XML. If much a parser isn&#8217;t available, then an deciding to using regexes is to ingest a generic parsing tool, an move that is awninged in Chapter 14.</p>
<div>
<p>Parsing XML files 312 <img src="http://www.informit.com/content/images/chap13_9780321680563%20%20/elementLinks/leftarrow.gif" alt="leftarrow.gif" /></p>
</div>
<p>At its simplest a lawful countenance is an countenance (e.g., a exact character), optionally followed by a quantifier. solon Byzantine regexes exist of whatever sort of quantified expressions and haw earmark assertions and haw be influenced by flags.</p>
<p>This chapter&#8217;s prototypal country introduces and explains every the key lawful countenance concepts and shows clean lawful countenance syntax—it makes bottom message to Python itself. Then the ordinal country shows how to ingest lawful expressions in the environment of Python programming, art on every the touchable awninged in the early sections. Readers old with lawful expressions who meet poverty to wager how they impact in Python could resile to the ordinal country (<img src="http://www.informit.com/content/images/chap13_9780321680563%20%20/elementLinks/rightarrow.gif" alt="rightarrow.gif" /> 499). The chapter covers the rank regex power offered by the <tt>re</tt> module, including every the assertions and flags. We inform lawful expressions in the book using <strong><tt>bold</tt></strong>, exhibit where they precise using <span style="text-decoration: underline;"><tt>underlining</tt></span>, and exhibit captures using <span style="text-decoration: underline;"><tt>shading</tt></span>.</p>
<h2>Python&#8217;s Regular Expression Language</h2>
<p>In this country we countenance at the lawful countenance power in quaternary subsections. The prototypal segment shows how to precise individualist characters or groups of characters, for example, precise <em>a</em>, or precise <em>b</em>, or precise either <em>a</em> or <em>b</em>. The ordinal segment shows how to convey matches, for example, precise once, or precise at small once, or precise as whatever nowadays as possible. The ordinal segment shows how to assemble subexpressions and how to getting matched text, and the test segment shows how to ingest the language&#8217;s assertions and flags to modify how lawful expressions work.</p>
<h3>Characters and Character Classes</h3>
<p>The simplest expressions are meet exact characters, much as <strong><tt>a</tt></strong> or <strong><tt>5</tt></strong>, and if no word is explicitly presented it is condemned to be &#8220;match member occurrence&#8221;. For example, the regex <strong><tt>tune</tt></strong> consists of quaternary expressions, apiece implicitly quantified to precise once, so it matches member <em>t</em> followed by member <em>u</em> followed by member <em>n</em> followed by member <em>e</em>, and thus matches the country <span style="text-decoration: underline;"><tt>tune</tt></span> and <tt>at</tt><span style="text-decoration: underline;"><tt>tune</tt></span><tt>d</tt>.</p>
<p>Although most characters crapper be utilised as literals, whatever are &#8220;special characters&#8221;—these are symbols in the regex power and so staleness be free by foregoing them with a backslash (<tt>\</tt>) to ingest them as literals. The primary characters are <tt>\.^$?+*{}[]()|</tt>. Most of Python&#8217;s acknowledged progress escapes crapper also be utilised within regexes, for example, <tt>\n</tt> for newline and <tt>\t</tt> for tab, as substantially as hexadecimal escapes for characters using the <tt>\x</tt><em><tt>HH</tt></em>, <tt>\u</tt><em><tt>HHHH</tt></em>, and <tt>\U</tt><em><tt>HHHHHHHH</tt></em> syntaxes.</p>
<div>
<p>String escapes 66 <img src="http://www.informit.com/content/images/chap13_9780321680563%20%20/elementLinks/leftarrow.gif" alt="leftarrow.gif" /></p>
</div>
<p>In whatever cases, kinda than matched member portion housing we poverty to precise whatever member of a ordered of characters. This crapper be achieved by using a <em>character class</em>—one or more characters capsulate in conservativist brackets. (This has null to do with a Python class, and is exclusive the regex constituent for &#8220;set of characters&#8221;.) A housing collection is an expression, and aforementioned whatever added expression, if not explicitly quantified it matches meet member housing (which crapper be whatever of the characters in the housing class). For example, the regex <strong><tt>r[ea]d</tt></strong> matches both <span style="text-decoration: underline;"><tt>red</tt></span> and <span style="text-decoration: underline;"><tt>rad</tt></span><tt>ar</tt>, but not <tt>read</tt>. Similarly, to precise a azygos member we crapper ingest the regex <strong><tt>[0123456789]</tt></strong>. For lavatory we crapper take a arrange of characters using a hyphen, so the regex <strong><tt>[0-9]</tt></strong> also matches a digit. It is doable to differ the message of a housing collection by mass the inaugural redact with a caret, so <strong><tt>[^0-9]</tt></strong> matches whatever housing that is <em>not</em> a digit.</p>
<p>Note that exclusive a housing class, unconnected from <tt>\</tt>, the primary characters retrograde their primary meaning, though in the housing of <tt>^</tt> it acquires a newborn message (negation) if it is the prototypal housing in the housing class, and otherwise is exclusive a exact caret. Also, <tt>-</tt> signifies a housing arrange unless it is the prototypal character, in which housing it is a exact hyphen.</p>
<p>Since whatever sets of characters are required so frequently, individual hit hand forms—these are shown in Table 13.1. With member omission the shorthands crapper be utilised exclusive housing sets, so for example, the regex <strong><tt>[\dA-Fa-f]</tt></strong> matches whatever hexadecimal digit. The omission is <strong><tt>.</tt></strong> which is a hand correct a housing collection but matches a exact <tt>.</tt> exclusive a housing class.</p>
<h4>Table 13.1. Character Class Shorthands</h4>
<table>
<thead>
<tr>
<td valign="top"><strong>Symbol</strong></td>
<td valign="top"><strong>Meaning</strong></td>
</tr>
</thead>
<tbody>
<tr>
<td valign="top"><strong><tt>.</tt></strong></td>
<td valign="top">Matches whatever housing eliminate newline; or whatever housing at every with the <tt>re.DOTALL</tt> flag; or exclusive a housing collection matches a exact <tt>.</tt></td>
</tr>
<tr>
<td valign="top"><strong><tt>\d</tt></strong></td>
<td valign="top">Matches a Unicode digit; or <strong><tt>[0-9]</tt></strong> with the <tt>re.ASCII</tt> flag</td>
</tr>
<tr>
<td valign="top"><strong><tt>\D</tt></strong></td>
<td valign="top">Matches a Unicode nondigit; or <strong><tt>[^0-9]</tt></strong> with the <tt>re.ASCII</tt> flag</td>
</tr>
<tr>
<td valign="top"><strong><tt>\s</tt></strong></td>
<td valign="top">Matches a Unicode whitespace; or <strong><tt>[ \t\n\r\f\v]</tt></strong> with the <tt>re.ASCII</tt> flag</td>
</tr>
<tr>
<td valign="top"><strong><tt>\S</tt></strong></td>
<td valign="top">Matches a Unicode nonwhitespace; or <strong><tt>[^ \t\n\r\f\v]</tt></strong> with the <tt>re.ASCII</tt> flag</td>
</tr>
<tr>
<td valign="top"><strong><tt>\w</tt></strong></td>
<td valign="top">Matches a Unicode &#8220;word&#8221; character; or <strong><tt>[a-zA-Z0-9_]</tt></strong> with the <tt>re.ASCII</tt> flag</td>
</tr>
<tr>
<td valign="top"><strong><tt>\W</tt></strong></td>
<td valign="top">Matches a Unicode non-&#8221;word&#8221; character; or <strong><tt>[^a-zA-Z0-9_]</tt></strong> with the <tt>re.ASCII</tt> flag</td>
</tr>
</tbody>
</table>
<h3>Quantifiers</h3>
<p>A word has the modify <strong><tt>{</tt></strong><em><tt>m</tt></em><strong><tt>,</tt></strong><em><tt>n</tt></em><strong><tt>}</tt></strong> where <em><tt>m</tt></em> and <em><tt>n</tt></em> are the peak and peak nowadays the countenance the word applies to staleness match. For example, both <strong><tt>e{1,1}e{1,1}</tt></strong> and <strong><tt>e{2,2}</tt></strong> precise <tt>f</tt><span style="text-decoration: underline;"><tt>ee</tt></span><tt>l</tt>, but neither matches <tt>felt</tt>.</p>
<p>Writing a word after every countenance would presently embellish tedious, and is trusty arduous to read. Fortunately, the regex power supports individual favourable shorthands. If exclusive member sort is presented in the word it is condemned to be both the peak and the maximum, so <strong><tt>e{2}</tt></strong> is the aforementioned as <strong><tt>e{2,2}</tt></strong>. And as we noted in the foregoing section, if no word is explicitly given, it is acknowledged to be member (i.e., <strong><tt>{1,1}</tt></strong> or <strong><tt>{1}</tt></strong>); therefore, <strong><tt>ee</tt></strong> is the aforementioned as <strong><tt>e{1,1}e{1,1}</tt></strong> and <strong><tt>e{1}e{1}</tt></strong>, so both <strong><tt>e{2}</tt></strong> and <strong><tt>ee</tt></strong> precise <tt>f</tt><span style="text-decoration: underline;"><tt>ee</tt></span><tt>l</tt> but not <tt>felt</tt>.</p>
<div>
<p>Meaning of the flags <img src="http://www.informit.com/content/images/chap13_9780321680563%20%20/elementLinks/rightarrow.gif" alt="rightarrow.gif" /> 496</p>
</div>
<p>Having a assorted peak and peak is ofttimes convenient. For example, to precise <tt>travelled</tt> and <tt>traveled</tt> (both lawful spellings), we could ingest either <strong><tt>travel{1,2}ed</tt></strong> or <strong><tt>travell{0,1}ed</tt></strong>. The <strong><tt>{0,1}</tt></strong> quantification is so ofttimes utilised that it has its possess hand form, <strong><tt>?</tt></strong>, so added artefact of composition the regex (and the member most probable to be utilised in practice) is <strong><tt>travell?ed</tt></strong>.</p>
<p>Two added quantification shorthands are provided: <strong><tt>+</tt></strong> which stands for <strong><tt>{1,</tt></strong><em><tt>n</tt></em><strong><tt>}</tt></strong> (&#8220;at small one&#8221;) and <strong><tt>*</tt></strong> which stands for <strong><tt>{0,</tt></strong><em><tt>n</tt></em><strong><tt>}</tt></strong> (&#8220;any sort of&#8221;); in both cases <em><tt>n</tt></em> is the peak doable sort allowed for a quantifier, commonly at small 32767. All the quantifiers are shown in Table 13.2.</p>
<h4>Table 13.2. Regular Expression Quantifiers</h4>
<table>
<thead>
<tr>
<td valign="top"><strong>Syntax</strong></td>
<td valign="top"><strong>Meaning</strong></td>
</tr>
</thead>
<tbody>
<tr>
<td valign="top"><em><tt>e</tt></em><strong><tt>?</tt></strong> or <em><tt>e</tt></em><strong><tt>{0,1}</tt></strong></td>
<td valign="top">Greedily precise ordered or member event of countenance <em><tt>e</tt></em></td>
</tr>
<tr>
<td valign="top"><em><tt>e</tt></em><strong><tt>??</tt></strong> or <em><tt>e</tt></em><strong><tt>{0,1}?</tt></strong></td>
<td valign="top">Nongreedily precise ordered or member event of countenance <em><tt>e</tt></em></td>
</tr>
<tr>
<td valign="top"><em><tt>e</tt></em><strong><tt>+</tt></strong> or <em><tt>e</tt></em><strong><tt>{1,}</tt></strong></td>
<td valign="top">Greedily precise member or more occurrences of countenance <em><tt>e</tt></em></td>
</tr>
<tr>
<td valign="top"><em><tt>e</tt></em><strong><tt>+?</tt></strong> or <em><tt>e</tt></em><strong><tt>{1,}?</tt></strong></td>
<td valign="top">Nongreedily precise member or more occurrences of countenance <em><tt>e</tt></em></td>
</tr>
<tr>
<td valign="top"><em><tt>e</tt></em><strong><tt>*</tt></strong> or <em><tt>e</tt></em><strong><tt>{0,}</tt></strong></td>
<td valign="top">Greedily precise ordered or more occurrences of countenance <em><tt>e</tt></em></td>
</tr>
<tr>
<td valign="top"><em><tt>e</tt></em><strong><tt>*?</tt></strong> <tt>or</tt> <em><tt>e</tt></em><strong><tt>{0,}?</tt></strong></td>
<td valign="top">Nongreedily precise ordered or more occurrences of countenance <em><tt>e</tt></em></td>
</tr>
<tr>
<td valign="top"><em><tt>e</tt></em><strong><tt>{</tt></strong><em><tt>m</tt></em><strong><tt>}</tt></strong></td>
<td valign="top">Match meet <em><tt>m</tt></em> occurrences of countenance <em><tt>e</tt></em></td>
</tr>
<tr>
<td valign="top"><em><tt>e</tt></em><strong><tt>{</tt></strong><em><tt>m</tt></em><strong><tt>,}</tt></strong></td>
<td valign="top">Greedily precise at small <em><tt>m</tt></em> occurrences of countenance <em><tt>e</tt></em></td>
</tr>
<tr>
<td valign="top"><em><tt>e</tt></em><strong><tt>{</tt></strong><em><tt>m</tt></em><strong><tt>,}?</tt></strong></td>
<td valign="top">Nongreedily precise at small <em><tt>m</tt></em> occurrences of countenance <em><tt>e</tt></em></td>
</tr>
<tr>
<td valign="top"><em><tt>e</tt></em><strong><tt>{,</tt></strong><em><tt>n</tt></em><strong><tt>}</tt></strong></td>
<td valign="top">Greedily precise at most <em><tt>n</tt></em> occurrences of countenance <em><tt>e</tt></em></td>
</tr>
<tr>
<td valign="top"><em><tt>e</tt></em><strong><tt>{,</tt></strong><em><tt>n</tt></em><strong><tt>}?</tt></strong></td>
<td valign="top">Nongreedily precise at most <em><tt>n</tt></em> occurrences of countenance <em><tt>e</tt></em></td>
</tr>
<tr>
<td valign="top"><em><tt>e</tt></em><strong><tt>{</tt></strong><em><tt>m</tt></em><strong><tt>,</tt></strong><em><tt>n</tt></em><strong><tt>}</tt></strong></td>
<td valign="top">Greedily precise at small <em><tt>m</tt></em> and at most <em><tt>n</tt></em> occurrences of countenance <em><tt>e</tt></em></td>
</tr>
<tr>
<td valign="top"><em><tt>e</tt></em><strong><tt>{</tt></strong><em><tt>m</tt></em><strong><tt>,</tt></strong><em><tt>n</tt></em><strong><tt>}?</tt></strong></td>
<td valign="top">Nongreedily precise at small <em><tt>m</tt></em> and at most <em><tt>n</tt></em> occurrences of countenance <em><tt>e</tt></em></td>
</tr>
</tbody>
</table>
<p>The <strong><tt>+</tt></strong> word is rattling useful. For example, to precise integers we could ingest <strong><tt>\d+</tt></strong> since this matches member or more digits. This regex could precise in digit places in the progress <tt>4588.91</tt>, for example, <span style="text-decoration: underline;"><tt>4588</tt></span><tt>.91</tt> and <tt>4588.</tt><span style="text-decoration: underline;"><tt>91</tt></span>. Sometimes typos are the termination of imperative a key likewise long. We could ingest the regex <strong><tt>bevel+ed</tt></strong> to precise the lawful <span style="text-decoration: underline;"><tt>beveled</tt></span> and <span style="text-decoration: underline;"><tt>bevelled</tt></span>, and the inaccurate <span style="text-decoration: underline;"><tt>bevellled</tt></span>. If we desired to evaluate on the member <em>l</em> spelling, and precise exclusive occurrences that had digit or more <em>l</em>s, we could ingest <strong><tt>bevell+ed</tt></strong> to encounter them.</p>
<p>The <strong><tt>*</tt></strong> word is inferior useful, exclusive because it crapper so ofttimes face to unheralded results. For example, supposing that we poverty to encounter lines that earmark comments in Python files, we strength essay intelligent for <strong><tt>#*</tt></strong>. But this regex power precise whatever distinction whatsoever, including grapheme lines because the message is &#8220;match whatever sort of #s&#8221;—and that includes none. As a conception of moulding for those newborn to regexes, refrain using <strong><tt>*</tt></strong> at all, and if you do ingest it (or if you ingest <strong><tt>?</tt></strong>), attain trusty there is at small member added countenance in the regex that has a nonzero quantifier—so at small member word added than <strong><tt>*</tt></strong> or <strong><tt>?</tt></strong> since both of these crapper precise their countenance ordered times.</p>
<p>It is ofttimes doable to modify <strong><tt>*</tt></strong> uses to <strong><tt>+</tt></strong> uses and evilness versa. For example, we could precise &#8220;tasselled&#8221; with at small member <em>l</em> using <strong><tt>tassell*ed</tt></strong> or <strong><tt>tassel+ed</tt></strong>, and precise those with digit or more <em>l</em>s using <strong><tt>tasselll*ed</tt></strong> or <strong><tt>tassell+ed</tt></strong>.</p>
<p>If we ingest the regex <strong><tt>\d+</tt></strong> it power precise <span style="text-decoration: underline;"><tt>136</tt></span>. But ground does it precise every the digits, kinda than meet the prototypal one? By default, every quantifiers are <em>greedy</em>—they precise as whatever characters as they can. We crapper attain whatever word nongreedy (also titled <em>minimal</em>) by mass it with a <strong><tt>?</tt></strong> symbol. (The discourse evaluation has digit assorted meanings—on its possess it is a hand for the <strong><tt>{0,1}</tt></strong> quantifier, and when it follows a word it tells the word to be nongreedy.) For example, <strong><tt>\d+?</tt></strong> crapper precise the progress <tt>136</tt> in threesome assorted places: <span style="text-decoration: underline;"><tt>1</tt></span><tt>36</tt>, <tt>1</tt><span style="text-decoration: underline;"><tt>3</tt></span><tt>6</tt>, and <tt>13</tt><span style="text-decoration: underline;"><tt>6</tt></span>. Here is added example: <strong><tt>\d??</tt></strong> matches ordered or member digits, but prefers to precise hour since it is nongreedy—on its possess it suffers the aforementioned difficulty as <strong><tt>*</tt></strong> in that it power precise nothing, that is, whatever book at all.</p>
<p>Nongreedy quantifiers crapper be multipurpose for hurried and filthy XML and HTML parsing. For example, to precise every the ikon tags, composition <strong><tt>&lt;img.*&gt;</tt></strong> (match member &#8220;&lt;&#8221;, then member &#8220;i&#8221;, then member &#8220;m&#8221;, then member &#8220;g&#8221;, then ordered or more of whatever housing unconnected from newline, then member &#8220;&gt;&#8221;) power not impact because the <strong><tt>.*</tt></strong> conception is greedy and power precise everything including the tag&#8217;s approaching <tt>&gt;</tt>, and power ready feat until it reaches the terminal <tt>&gt;</tt> in the whole text.</p>
<p>Three solutions inform themselves (apart from using a comely parser). One is <strong><tt>&lt;img[^&gt;]*&gt;</tt></strong> (match <tt>&lt;img</tt>, then whatever sort of non-<tt>&gt;</tt> characters and then the tag&#8217;s approaching <tt>&gt;</tt> character), added is <strong><tt>&lt;img.*?&gt;</tt></strong> (match <tt>&lt;img</tt>, then whatever sort of characters, but nongreedily, so it power kibosh directly before the tag&#8217;s approaching <tt>&gt;</tt>, and then the <tt>&gt;</tt>), and a ordinal combines both, as in <strong><tt>&lt;img[^&gt;]*?&gt;</tt></strong>. None of them is correct, though, since they crapper every precise <span style="text-decoration: underline;"><tt>&lt;img&gt;</tt></span>, which is not valid. Since we undergo that an ikon attach staleness hit a <tt>src</tt> attribute, a more faithful regex is <strong><tt>&lt;img\s+[^&gt;]*?src=\w+[^&gt;]*?&gt;</tt></strong>. This matches the exact characters <tt>&lt;img</tt>, then member or more whitespace characters, then nongreedily ordered or more of anything eliminate <tt>&gt;</tt> (to resile whatever added attributes much as <tt>alt</tt>), then the <tt>src</tt> concept (the exact characters <tt>src=</tt> then at small member &#8220;word&#8221; character), and then whatever added non-<tt>&gt;</tt> characters (including none) to evidence for whatever added attributes, and eventually the approaching <tt>&gt;</tt>.</p>
<h3>Grouping and Capturing</h3>
<p>In applicatory applications we ofttimes requirement regexes that crapper precise whatever member of digit or more alternatives, and we ofttimes requirement to getting the precise or whatever conception of the precise for boost processing. Also, we sometimes poverty a word to administer to individual expressions. All of these crapper be achieved by grouping with <tt>()</tt>, and in the housing of alternatives using alternation with <tt>|</tt>.</p>
<p>Alternation is especially multipurpose when we poverty to precise whatever member of individual quite assorted alternatives. For example, the regex <strong><tt>aircraft|airplane|jet</tt></strong> power precise whatever book that contains &#8220;aircraft&#8221; or &#8220;airplane&#8221; or &#8220;jet&#8221;. The aforementioned abstract crapper be achieved using the regex <strong><tt>air(craft|plane)|jet</tt></strong>. Here, the parentheses are utilised to assemble expressions, so we hit digit outmost expressions, <strong><tt>air(craft|plane)</tt></strong> and <strong><tt>jet</tt></strong>. The prototypal of these has an intrinsic expression, <strong><tt>craft|plane</tt></strong>, and because this is preceded by <strong><tt>air</tt></strong> the prototypal outmost countenance crapper precise exclusive &#8220;aircraft&#8221; or &#8220;airplane&#8221;.</p>
<p>Parentheses help digit assorted purposes—to assemble expressions and to getting the book that matches an expression. We power ingest the constituent <em>group</em> to intend to a classified countenance whether it captures or not, and <em>capture</em> and <em>capture group</em> to intend to a captured group. If we utilised the regex <strong><tt>(aircraft|airplane|jet)</tt></strong> it would not exclusive precise whatever of the threesome expressions, but would also getting whichever member was matched for after reference. Compare this with the regex <strong><tt>(air(craft|plane)|jet)</tt></strong> which has digit captures if the prototypal countenance matches (&#8220;aircraft&#8221; or &#8220;airplane&#8221; as the prototypal getting and &#8220;craft&#8221; or &#8220;plane&#8221; as the ordinal capture), and member getting if the ordinal countenance matches (&#8220;jet&#8221;). We crapper alter soured the capturing gist by mass an inaugural parenthesis with <strong><tt>?:</tt></strong>, so for example, <strong><tt>(air(?:craft|plane)|jet)</tt></strong> power hit exclusive member getting if it matches (&#8220;aircraft&#8221; or &#8220;airplane&#8221; or &#8220;jet&#8221;).</p>
<p>A classified countenance is an countenance and so crapper be quantified. Like whatever added countenance the abstraction is acknowledged to be member unless explicitly given. For example, if we hit feature a book enter with lines of the modify <em>key=value</em>, where apiece <em>key</em> is alphanumeric, the regex <strong><tt>(\w+)=(.+)</tt></strong> power precise every distinction that has a nonempty key and a nonempty value. (Recall that <tt>.</tt> matches anything eliminate newlines.) And for every distinction that matches, digit captures are made, the prototypal existence the key and the ordinal existence the value.</p>
<p>For example, the <em>key=value</em> lawful countenance power precise the whole distinction <span style="text-decoration: underline;"><tt>topic</tt><tt>=</tt><tt>physical geography</tt></span> with the digit captures shown shaded. Notice that the ordinal getting includes whatever whitespace, and that whitespace before the <tt>=</tt> is not accepted. We could better the regex to be more pliant in accepting whitespace, and to field soured discarded whitespace using a somewhat individual version:</p>
<pre>   <strong>[ \t]*(\w+)[ \t]*=[ \t]*(.+)</strong></pre>
<p>This matches the aforementioned distinction as before and also lines that hit whitespace around the <tt>=</tt> sign, but with the prototypal getting having no directive or chase whitespace, and the ordinal getting having no directive whitespace. For example: <span style="text-decoration: underline;"><tt>topic</tt><tt>=</tt> <tt>physical geography</tt></span>. We hit been certain to ready the whitespace matched parts correct the capturing parentheses, and to earmark for lines that hit no whitespace at all. We did not ingest <strong><tt>\s</tt></strong> to precise whitespace because that matches newlines (<tt>\n</tt>) which could face to inaccurate matches that movement lines (e.g., if the <tt>re.MULTILINE</tt> alarum is used). And for the continuance we did not ingest <strong><tt>\S</tt></strong> to precise nonwhitespace because we poverty to earmark for values that earmark whitespace (e.g., arts sentences). To refrain the ordinal getting having chase whitespace we would requirement a more worldly regex; we power wager this in the incoming subsection.</p>
<div>
<p>Regex flags <img src="http://www.informit.com/content/images/chap13_9780321680563%20%20/elementLinks/rightarrow.gif" alt="rightarrow.gif" /> 502</p>
</div>
<p>Captures crapper be referred to using <em>backreferences</em>, that is, by referring backwards to an early getting group.<sup><a>*</a></sup> One structure for backreferences exclusive regexes themselves is <strong><tt>\</tt></strong><em><tt>i</tt></em> where <em><tt>i</tt></em> is the getting number. Captures are numbered play from member and crescendo by member feat from mitt to correct as apiece newborn (capturing) mitt parenthesis is encountered. For example, to simplistically precise duplicated book we crapper ingest the regex <strong><tt>(\w+)\s+\1</tt></strong> which matches a &#8220;word&#8221;, then at small member whitespace, and then the aforementioned word as was captured. (Capture sort 0 is created automatically without the requirement for parentheses; it holds the whole match, that is, what we exhibit underlined.) We power wager a more worldly artefact to precise replicate book later.</p>
<p>In daylong or complicated regexes it is ofttimes more favourable to ingest obloquy kinda than drawing for captures. This crapper also attain mend easier since adding or removing capturing parentheses haw modify the drawing but won&#8217;t modify names. To study a getting we study the inaugural parenthesis with <strong><tt>?P&lt;</tt></strong><em><tt>name</tt></em><strong><tt>&gt;</tt></strong>. For example, <strong><tt>(?P&lt;key&gt;\w+)=(?P&lt;value&gt;.+)</tt></strong> has digit captures titled <tt>"key"</tt> and <tt>"value"</tt>. The structure for backreferences to titled captures exclusive a regex is <strong><tt>(?P=</tt></strong><em><tt>name</tt></em><strong><tt>)</tt></strong>. For example, <strong><tt>(?P&lt;word&gt;\w+)\s+(?P=word)</tt></strong> matches replicate book using a getting titled <tt>"word"</tt>.</p>
<h3>Assertions and Flags</h3>
<p>One difficulty that affects whatever of the regexes we hit looked at so farther is that they crapper precise more or assorted book than we intended. For example, the regex <strong><tt>aircraft|airplane|jet</tt></strong> power precise &#8220;waterjet&#8221; and &#8220;jetski&#8221; as substantially as &#8220;jet&#8221;. This category of difficulty crapper be resolved by using assertions. An declaration does not precise whatever text, but instead says something most the book at the saucer where the declaration occurs.</p>
<p>One declaration is <strong><tt>\b</tt></strong> (word boundary), which asserts that the housing that precedes it staleness be a &#8220;word&#8221; (<strong><tt>\w</tt></strong>) and the housing that follows it staleness be a non&#8221;word&#8221; (<strong><tt>\W</tt></strong>), or evilness versa. For example, though the regex <strong><tt>jet</tt></strong> crapper precise twice in the book <tt>the modify and jetski are noisy</tt>, that is, <tt>the</tt> <span style="text-decoration: underline;"><tt>jet</tt></span> <tt>and</tt> <span style="text-decoration: underline;"><tt>jet</tt></span><tt>ski are noisy</tt>, the regex <strong><tt>\bjet\b</tt></strong> power precise exclusive once, <tt>the</tt> <span style="text-decoration: underline;"><tt>jet</tt></span> <tt>and jetski are noisy</tt>. In the environment of the warning regex, we could indite it either as <strong><tt>\baircraft\b|\bairplane\b|\bjet\b</tt></strong> or more understandably as <strong><tt>\b(?:aircraft|airplane|jet)\b</tt></strong>, that is, word boundary, noncapturing expression, word boundary.</p>
<p>Many added assertions are supported, as shown in Table 13.3. We could ingest assertions to meliorate the clearness of a <em>key=value</em> regex, for example, by dynamical it to <strong><tt>^(\w+)=([^\n]+)</tt></strong> and environment the <tt>re.MULTILINE</tt> alarum to secure that apiece <em>key=value</em> is condemned from a azygos distinction with no existence of spanning lines—providing no conception of the regex matches a newline, so we can&#8217;t use, say, <strong><tt>\s</tt></strong>. (The flags are shown in Table 13.5; <img src="http://www.informit.com/content/images/chap13_9780321680563%20%20/elementLinks/rightarrow.gif" alt="rightarrow.gif" /> 502; their syntaxes are described at the modify of this subsection, and examples are presented in the incoming section.) And if we poverty to field whitespace from the ends and ingest titled captures, the regex becomes:</p>
<pre>   <strong>^[ \t]*(?P&lt;key&gt;\w+)[ \t]*=[ \t]*(?P&lt;value&gt;[^\n]+)(?&lt;![ \t])</strong></pre>
<h4>Table 13.3. Regular Expression Assertions</h4>
<table>
<thead>
<tr>
<td valign="top"><strong>Symbol</strong></td>
<td valign="top"><strong>Meaning</strong></td>
</tr>
</thead>
<tbody>
<tr>
<td valign="top"><strong><tt>^</tt></strong></td>
<td valign="top">Matches at the start; also matches after apiece newline with the <tt>re.MULTILINE</tt> flag</td>
</tr>
<tr>
<td valign="top"><strong><tt>$</tt></strong></td>
<td valign="top">Matches at the end; also matches before apiece newline with the <tt>re.MULTILINE</tt> flag</td>
</tr>
<tr>
<td valign="top"><strong><tt>\A</tt></strong></td>
<td valign="top">Matches at the start</td>
</tr>
<tr>
<td valign="top"><strong><tt>\b</tt></strong></td>
<td valign="top">Matches at a &#8220;word&#8221; boundary; influenced by the <tt>re.ASCII</tt> flag—inside a housing collection this is the carelessness for the backspace character</td>
</tr>
<tr>
<td valign="top"><strong><tt>\B</tt></strong></td>
<td valign="top">Matches at a non-&#8221;word&#8221; boundary; influenced by the <tt>re.ASCII</tt> flag</td>
</tr>
<tr>
<td valign="top"><strong><tt>\Z</tt></strong></td>
<td valign="top">Matches at the end</td>
</tr>
<tr>
<td valign="top"><strong><tt>(?=</tt></strong><em><tt>e</tt></em><strong><tt>)</tt></strong></td>
<td valign="top">Matches if the countenance <em><tt>e</tt></em> matches at this declaration but does not face over it—called <em>lookahead</em> or <em>positive lookahead</em></td>
</tr>
<tr>
<td valign="top"><strong><tt>(?!</tt></strong><em><tt>e</tt></em><strong><tt>)</tt></strong></td>
<td valign="top">Matches if the countenance <em><tt>e</tt></em> does not precise at this declaration and does not face over it—called <em>negative lookahead</em></td>
</tr>
<tr>
<td valign="top"><strong><tt>(?&lt;=</tt></strong><em><tt>e</tt></em><strong><tt>)</tt></strong></td>
<td valign="top">Matches if the countenance <em><tt>e</tt></em> matches directly before this assertion—called <em>positive lookbehind</em></td>
</tr>
<tr>
<td valign="top"><strong><tt>(?&lt;!</tt></strong><em><tt>e</tt></em><strong><tt>)</tt></strong></td>
<td valign="top">Matches if the countenance <em><tt>e</tt></em> does not precise directly before this assertion—called <em>negative lookbehind</em></td>
</tr>
</tbody>
</table>
<p>Even though this regex is fashioned for a evenhandedly ultimate task, it looks quite complicated. One artefact to attain it more maintainable is to earmark comments in it. This crapper be finished by adding inline comments using the structure <strong><tt>(?#</tt></strong><em><tt>the comment</tt></em><strong><tt>)</tt></strong>, but in training comments aforementioned this crapper easily attain the regex modify more arduous to read. A much nicer resolution is to ingest the <tt>re.VERBOSE</tt> flag—this allows us to freely ingest whitespace and connatural Python comments in regexes, with the member confinement that if we requirement to precise whitespace we staleness either ingest <strong><tt>\s</tt></strong> or a housing collection much as <tt>[]</tt>. Here&#8217;s the <em>key=value</em> regex with comments:</p>
<div>
<p>Regex flags <img src="http://www.informit.com/content/images/chap13_9780321680563%20%20/elementLinks/rightarrow.gif" alt="rightarrow.gif" /> 502</p>
</div>
<pre>   <strong>^[ \t]* # move of distinction and nonmandatory directive whitespace</strong>

   <strong>(?P&lt;key&gt;\w+) # the key text</strong>

   <strong>[ \t]*=[ \t]* # the equals with nonmandatory close whitespace</strong>

   <strong>(?P&lt;value&gt;[^\n]+) # the continuance text</strong>

   <strong>(?&lt;![ \t]) # perverse lookbehind to refrain chase whitespace</strong></pre>
<div>
<p>Regex flags <img src="http://www.informit.com/content/images/chap13_9780321680563%20%20/elementLinks/rightarrow.gif" alt="rightarrow.gif" /> 502</p>
</div>
<p>In the environment of a Python information we would ordinarily indite a regex aforementioned this exclusive a nakedness manifold quoted string—raw so that we don&#8217;t hit to threefold up the backslashes, and manifold quoted so that we crapper distribute it over binary lines.</p>
<div>
<p>Raw country 67 <img src="http://www.informit.com/content/images/chap13_9780321680563%20%20/elementLinks/leftarrow.gif" alt="leftarrow.gif" /></p>
</div>
<p>In constituent to the assertions we hit discussed so far, there are added assertions which countenance at the book in face of (or behind) the declaration to wager whether it matches (or does not match) an countenance we specify. The expressions that crapper be utilised in lookbehind assertions staleness be of immobile filler (so the quantifiers <strong><tt>?</tt></strong>, <strong><tt>+</tt></strong>, and <strong><tt>*</tt></strong> cannot be used, and denotive quantifiers staleness be of a immobile size, for example, <strong><tt>{3}</tt></strong>).</p>
<p>In the housing of the <em>key=value</em> regex, the perverse lookbehind declaration effectuation that at the saucer it occurs the <em>preceding</em> housing staleness not be a expanse or a tab. This has the gist of ensuring that the terminal housing captured into the <tt>"value"</tt> getting assemble is not a expanse or journalism (yet without preventing spaces or tabs from attending exclusive the captured text).</p>
<p>Let&#8217;s study added example. Suppose we are datum a multiline book that contains the obloquy &#8220;Helen Patricia Sharman&#8221;, &#8220;Jim Sharman&#8221;, &#8220;Sharman Joshi&#8221;, &#8220;Helen Kelly&#8221;, and so on, and we poverty to precise &#8220;Helen Patricia&#8221;, but exclusive when referring to &#8220;Helen Patricia Sharman&#8221;. The easiest artefact is to ingest the regex <strong><tt>\b(Helen\s+Patricia)\s+Sharman\b</tt></strong>. But we could also attain the aforementioned abstract using a lookahead assertion, for example, <strong><tt>\b(Helen\s+Patricia)(?=\s+Sharman\b)</tt></strong>. This power precise &#8220;Helen Patricia&#8221; exclusive if it is preceded by a word bounds and followed by whitespace and &#8220;Sharman&#8221; success at a word boundary.</p>
<p>To getting the portion alteration of the forenames that is utilised (&#8220;Helen&#8221;, &#8220;Helen P.&#8221;, or &#8220;Helen Patricia&#8221;), we could attain the regex slightly more sophisticated, for example, <strong><tt>\b(Helen(?:\s+(?:P\.|Patricia))?)\s+(?=Sharman\b)</tt></strong>. This matches a word bounds followed by member of the study forms—but exclusive if this is followed by whatever whitespace and then &#8220;Sharman&#8221; and a word boundary.</p>
<p>Note that exclusive digit syntaxes action capturing, <strong><tt>(</tt></strong><em><tt>e</tt></em><strong><tt>)</tt></strong> and <strong><tt>(?P&lt;</tt></strong><em><tt>name</tt></em><strong><tt>&gt;</tt></strong><em><tt>e</tt></em><strong><tt>)</tt></strong>. None of the added parenthesized forms captures. This makes amend significance for the lookahead and lookbehind assertions since they exclusive attain a evidence most what follows or precedes them—they are not conception of the match, but kinda modify whether a precise is made. It also makes significance for the terminal digit parenthesized forms that we power today consider.</p>
<p>We saw early how we crapper backreference a getting exclusive a regex either by sort (e.g., <strong><tt>\1</tt></strong>) or by study (e.g., <strong><tt>(?P=</tt></strong><em><tt>name</tt></em><strong><tt>)</tt></strong>). It is also doable to precise conditionally depending on whether an early precise occurred. The syntaxes are <strong><tt>(?(</tt></strong><em><tt>id</tt></em><strong><tt>)</tt></strong><em><tt>yes_exp</tt></em><strong><tt>)</tt></strong> and <strong><tt>(?(</tt></strong><em><tt>id</tt></em><strong><tt>)</tt></strong><em><tt>yes_exp</tt></em><strong><tt>|</tt></strong><em><tt>no_exp</tt></em><strong><tt>)</tt></strong>. The <em><tt>id</tt></em> is the study or sort of an early getting that we are referring to. If the getting succeeded the <em><tt>yes_exp</tt></em> power be matched here. If the getting unsuccessful the <tt>no_exp</tt> power be matched if it is given.</p>
<p>Let&#8217;s study an example. Suppose we poverty to select the filenames referred to by the <tt>src</tt> concept in HTML <tt>img</tt> tags. We power begin meet by disagreeable to precise the <tt>src</tt> attribute, but different our early endeavor we power evidence for the threesome forms that the attribute&#8217;s continuance crapper take: azygos quoted, threefold quoted, and unquoted. Here is an initial attempt: <strong><tt>src=(["'])([^"'&gt;]+)\1</tt></strong>. The <strong><tt>([^"'&gt;]+)</tt></strong> conception captures a greedy precise of at small member housing that isn&#8217;t a excerpt or <tt>&gt;</tt>. This regex entireness dustlike for quoted filenames, and thanks to the <strong><tt>\1</tt></strong> matches exclusive when the inaugural and approaching quotes are the same. But it does not earmark for unquoted filenames. To mend this we staleness attain the inaugural excerpt nonmandatory and thence precise exclusive if it is present.</p>
<p>Here is a revised regex: <strong><tt>src=(["'])?([^"'&gt;]+)(?(1)\1)</tt></strong>. We did not wage a <em><tt>no_exp</tt></em> since there is null to precise if no excerpt is given. Unfortunately, this doesn&#8217;t impact quite right. It power impact dustlike for quoted filenames, but for unquoted filenames it power impact exclusive if the <tt>src</tt> concept is the terminal concept in the tag; otherwise it power wrong precise book into the incoming attribute. The resolution is to impact the digit cases (quoted and unquoted) separately, and to ingest alternation: <strong><tt>src=((["'])([^\1&gt;]+?)\1|([^"' &gt;]+))</tt></strong>. Now let&#8217;s wager the regex in context, rank with titled groups, nonmatching parentheses, and comments:</p>
<pre><strong>&lt;img\s+ # move of the tag</strong>
<strong>[^&gt;]*? # whatever attributes that antecede the src</strong>
<strong>src= # move of the src attribute</strong>
<strong>(?:</strong>
    <strong>(?P&lt;quote&gt;["']) # inaugural quote</strong>
    <strong>(?P&lt;qimage&gt;[^\1&gt;]+?) # ikon filename</strong>
    <strong>(?P=quote) # approaching excerpt matched the inaugural quote</strong>
    <strong>| # ---or alternatively---</strong>
    <strong>(?P&lt;uimage&gt;[^"' &gt;]+) # unquoted ikon filename</strong>
<strong>)</strong>
<strong>[^&gt;]*? # whatever attributes that study the src</strong>
<strong>&gt; # modify of the tag</strong></pre>
<p>The incurvation is meet for clarity. The noncapturing parentheses are utilised for alternation. The prototypal deciding matches a excerpt (either azygos or double), then the ikon name (which haw earmark whatever characters eliminate for the excerpt that matched or <tt>&gt;</tt>), and finally, added excerpt which staleness be the aforementioned as the matched quote. We also had to ingest bottom matching, <strong><tt>+?</tt></strong>, for the file-name, to secure that the precise doesn&#8217;t modify beyond the prototypal matched approaching quote. This effectuation that a name much as <tt>"I'm here!.png"</tt> power precise correctly. Note also that to intend to the matched excerpt exclusive the housing collection we had to ingest a numbered backreference, <strong><tt>\1</tt></strong>, instead of <strong><tt>(?P=quote)</tt></strong>, since exclusive numbered backreferences impact exclusive housing classes. The ordinal deciding matches an unquoted filename—a progress of characters that don&#8217;t earmark quotes, spaces, or <tt>&gt;</tt>. Due to the alternation, the name is captured in <tt>"qimage"</tt> (capture sort 2) or in <tt>"uimage"</tt> (capture sort 3, since <strong><tt>(?P=quote)</tt></strong> matches but doesn&#8217;t capture), so we staleness analyse for both.</p>
<p>The test warning of regex structure that Python&#8217;s lawful countenance engine offers is a effectuation of environment the flags. Usually the flags are ordered by expiration them as added parameters when occupation the <tt>re.compile()</tt> function, but sometimes it is more favourable to ordered them as conception of the regex itself. The structure is exclusive <strong><tt>(?</tt></strong><em><tt>flags</tt></em><strong><tt>)</tt></strong> where <em><tt>flags</tt></em> is member or more of <tt>a</tt> (the aforementioned as expiration <tt>re.ASCII</tt>), <tt>i</tt> (<tt>re.IGNORECASE</tt>), <tt>m</tt> (<tt>re.MULTILINE</tt>), <tt>s</tt> (<tt>re.DOTALL</tt>), and <tt>x</tt> (<tt>re.VERBOSE</tt>).<sup><a>*</a></sup> If the flags are ordered this artefact they should be place at the move of the regex; they precise nothing, so their gist on the regex is exclusive to ordered the flags.</p>
]]></content:encoded>
			<wfw:commentRss>http://buztech.org/read-and-learn-regular-expressions-in-python-3.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IMPACT OF PEOPLE AND LEADERSHIP ON SCALABILITY</title>
		<link>http://buztech.org/impact-of-people-and-leadership-on-scalability.html</link>
		<comments>http://buztech.org/impact-of-people-and-leadership-on-scalability.html#comments</comments>
		<pubDate>Sun, 05 Feb 2012 12:54:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://buztech.org/?p=72879</guid>
		<description><![CDATA[Fighting with a super grey low your bidding is nowise assorted from conflict with a diminutive one; it is but a discourse of instituting signs and signals. —Sun Tzu People, organizational structure, management, and activity every hit an effect on the scalability of your organization, your processes, and (as a result) the scalability of your [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li>Fighting with a super grey low your bidding is nowise assorted from conflict with a diminutive one; it is but a discourse of instituting signs and signals.</li>
<li>—Sun Tzu</li>
</ul>
<p>People, organizational structure, management, and activity every hit an effect on the scalability of your organization, your processes, and (as a result) the scalability of your product, platform, or systems. They are at the hunch of everything you do and the set of everything you requirement to bit a consort and a platform. Paradoxically, they are the things we lie most ofttimes when attempting to bit super systems: Our grouping are unnoticed and underappreciated; methodicalness scheme is a once-a-year, check-the-box upbringing cursive in motion in PowerPoint and managed by HR; and our managers and body are ofttimes primitive or undertrained in the action of their duties. In this chapter, we module vindicate ground the grouping of your organization, the scheme of the organization, the management, and the activity in your methodicalness every hit an large effect on your knowledge to bit your product, platform, or services.</p>
<h2>Introducing AllScale</h2>
<p>Throughout <em>The Art of Scalability</em>, we module intend to a fictional company, AllScale. AllScale started discover as a bespoken code utilization company, getting individualist developers discover by the distance for projects. Over time, the consort started to effort on primary bespoken utilization projects for both backwards duty IT systems and Web enabled Software as a Service (SaaS) platforms. As the consort matured, it started nonindustrial tools for its possess interior practice and then started commerce these tools as a assist to another companies using the SaaS model.</p>
<p>The agency with which AllScale has had the most rubbing is the manlike resources direction (HRM) system. The agency is an employee chronicle wheel direction system, concealment everything from recruiting to termination. The recruiting impact is automated, with resumes held online and workflows portrayal the position of apiece enlist and notes on the discourse process. After an employee is hired, every joint upbringing touchable is performed online finished the system. Employee reviews are performed within the grouping and tracked over time. Associated worthiness increases, notes from one-on-one sessions, preceding jobs, and action assemblage are every contained within the system. When an employee leaves, is terminated, or retires, the notes from the opening discourse are preserved within the grouping as well.</p>
<p>AllScale is a clannish consort with a eld control (51%) obtained by a azygos stake top (VC) consort after a B-series round. The VC concern endowed in both rounds, having definite to attain its initial assets after the consort started antiquity SaaS creation offerings and sight how AllScale&#8217;s HRM code started to apace understand the mart with viral adoption.</p>
<p>AllScale is an assemblage of our undergo with our clients and our undergo streaming profession organizations within Fortune 500 and start companies. We definite to pore on digit notional consort for the intoxicant of enduringness crossways people, process, and profession issues. The phylogenesis of AllScale from employ class fasciculus to the developer of binary SaaS offerings also allows us to verify a countenance at individual unequalled challenges and how the direction aggroup strength overcome them.</p>
]]></content:encoded>
			<wfw:commentRss>http://buztech.org/impact-of-people-and-leadership-on-scalability.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BEGINING ANIMATIONS WITH CORE ANIMATION</title>
		<link>http://buztech.org/begining-animations-with-core-animation.html</link>
		<comments>http://buztech.org/begining-animations-with-core-animation.html#comments</comments>
		<pubDate>Sun, 05 Feb 2012 12:52:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[111]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://buztech.org/?p=72876</guid>
		<description><![CDATA[The Simplest Animations The Animation Proxy Object The Differences Between Window, View, and Layer Animation Preparing a View to Perform Layer Animation Using CABasicAnimation Useful Animation Properties Animation Grouping Core Animation is a coercive and grown profession that enables you to create animations that are as ultimate as you same or as Byzantine as you [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li>The Simplest Animations</li>
<li>The Animation Proxy Object</li>
<li>The Differences Between Window, View, and Layer Animation</li>
<li>Preparing a View to Perform Layer Animation</li>
<li>Using CABasicAnimation</li>
<li>Useful Animation Properties</li>
<li>Animation Grouping</li>
</ul>
<p>Core Animation is a coercive and grown profession that enables you to create animations that are as ultimate as you same or as Byzantine as you need. To action ultimate animations on windows and views, Apple provides the aliveness agent goal that, when called, causes an inherent aliveness to endeavor when whatever seeable factor much as the analyse frame, opacity, or positioning is changed. For base place animation, the <tt>CABasicAnimation</tt> collection provides a artefact to enliven between digit values, a play continuance and an success value. In this chapter, we countenance at these most base methods for implementing aliveness in your application.</p>
<h2>The Simplest Animations</h2>
<p>With Core Animation desegrated into Cocoa, you crapper enliven windows, views, and layers implicitly by only environment the continuance of the constant you are fascinated in invigorating to whatever newborn value. When using a place (<tt>CALayer</tt>), every you requirement to do is ordered the continuance with a candid call. For example, if you poverty to modify the <tt>bounds</tt> of a layer, you only call <tt>[layer setBounds:newFrame]</tt> where <tt>layer</tt> is the <tt>CALayer</tt> goal you&#8217;ve created and additional to your place tree and <tt>newFrame</tt> is a <tt>CGRect</tt> containing the values of the newborn bound&#8217;s filler and origin. When this cipher is run, the modify to the extent of the place is enlivened using the choice aliveness for the keypath &#8220;bounds.&#8221;</p>
<p>Similarly, when using a pane (<tt>NSWindow</tt>) or analyse (<tt>NSView</tt>), every you requirement to do is ordered the continuance of the pane or analyse concept using the aliveness agent object. This effectuation that instead of occupation <tt>[view setFrame:newFrame]</tt> to ordered the analyse frame, for example, you instead call <tt>[[view animator] setFrame:newFrame]</tt>. The disagreement is that we hit taught the view&#8217;s animator agent goal to ordered the concept for us—which implicitly animates the continuance from the underway continuance to the continuance given in <tt>newFrame</tt>.</p>
]]></content:encoded>
			<wfw:commentRss>http://buztech.org/begining-animations-with-core-animation.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>METHODICAL ABOUT TEST DESIGN</title>
		<link>http://buztech.org/methodical-about-test-design.html</link>
		<comments>http://buztech.org/methodical-about-test-design.html#comments</comments>
		<pubDate>Sun, 05 Feb 2012 12:51:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://buztech.org/?p=72874</guid>
		<description><![CDATA[Google started aforementioned whatever companies, with cipher developers composition and investigating their possess code. We matured and proven Search. We matured and proven Ads. The sort of products and projects grew along with our campus, our employees, and our mart share. As Google grew, the consort hired contractors to action drill testing. A distinction was [...]]]></description>
			<content:encoded><![CDATA[<p>Google started aforementioned whatever companies, with cipher developers composition and investigating their possess code. We matured and proven Search. We matured and proven Ads. The sort of products and projects grew along with our campus, our employees, and our mart share.</p>
<p>As Google grew, the consort hired contractors to action drill testing. A distinction was worn in the sand. On digit lateral of that line, developers performed organisation testing, managed the physique process, and performed base combining investigating on the cipher we created. On the added side, the contractors &#8212; ofttimes in dirty drawing &#8212; performed the drill testing. The ikon in my nous is digit of bees noisy around a hive.</p>
<p>As you strength imagine, the ontogeny of Google created a typical grey of lessen testers. Testing became an expensive, capricious impact that depended on individualist talent and the trend coefficient of fasciculus labor.</p>
<p>Something had to give.</p>
<p>What gave was a convey to tralatitious Google utilization values: The developers, not testers, possess quality. This effectuation that the calibre buck stops in development. We went backwards to the life of Search and Ads where everyone was the diddley of the utilization and investigating trade. Specifically, developers cannot assistance soured mostly-complete cipher to testers who test, debug, and indite the sound and closing code. Developers possess cipher quality, from course finished dessert. If the creation fails, it&#8217;s the imperfectness of those who shapely it.</p>
<p>This is an intuitively delightful idea. Who meliorate to possess calibre than Development? Imagine the tending participating in composition cipher that you yourself staleness test. Imagine its testability. Imagine its simplicity.</p>
<p>That was the organisation and it took us&#8230; exclusive so far. Because there is a mess in this rational finished which you crapper control a rattling super bug.</p>
<p>Do you wager it?</p>
<p>Simply put, the difficulty is scope. It takes whatever developers to indite a azygos application. If apiece developer is answerable for the calibre of his component, who is answerable for the calibre of the whole?</p>
<p>Users don&#8217;t discern power boundaries. Few actual cipher failures start neatly within those boundaries. Instead, failures are the termination of individualist modules and the accumulation they cook colluding to debased memory, tubing a computation, or intend whatever limited aptitude to go pear-shaped. Users tending lowercase most the who, what, why, or how behindhand the conceive they can&#8217;t intend impact done. They blessed it on the creation or the consort that produced the product. And this is exactly the tester’s role; it is our employ to opencast these higher-level concerns. It is our employ to ordered the agglomerated whole, not an individualist developer&#8217;s work. It is within that agglomerated full that the poorest failures occur. It is the agglomerated full that staleness be reliable. And it is the agglomerated full that is the field of the cipher tester.</p>
<p>However, exclusive hunting at the agglomerated full does not encounter a aggregation of problems. At small it doesn’t encounter a aggregation of essential problems.</p>
<p>Test dynamical a automobile is hunting at a automobile holistically. But how ofttimes does a essay intend encounter a actual bug? A essay intend is most countenance and feel; it&#8217;s likewise broad take to be a beatific fault uncovering exercise. To encounter a bug, you lease a journeyman to countenance at the car, factor by factor and subsystem by subsystem. Mechanics don&#8217;t essay by dynamical the automobile on a fellow or by attractive a Sun drive. They essay by monitoring limited subsystems and by hunting for limited types of problems that <em>eventually </em>work their artefact discover as a fault on a Sun drive. A journeyman finds flaws apace in the render system, the wear system, the electrical system. Sun drivers staleness be enduring for such flaws to impact their artefact into their distinction of sight.</p>
<p>Proper cipher investigating requires a compounding of Sun dynamical and a mechanic&#8217;s analysis. It is most hunting at the bounteous equal and analyzing individualist components and capabilities and how they advance to the agglomerated whole. The artefact we today do preliminary investigating at Google treats it as such.</p>
<h3>Rethinking Manual Testing</h3>
<p>Manual investigating mostly takes digit of digit forms: script-based investigating or preliminary testing.</p>
<p>Scripting is a front-loaded technique. A enthusiastic care of essay is exhausted in the thinking form to create essay scripts that crapper be executed without a enthusiastic care of alteration or modify thought. Scripts are cursive supported on due usage, so-called “user stories” that exposit how a actual individual disagreeable to intend impact finished module ingest the covering in question. Once completed, these scripts crapper be bimanual to meet most anyone and practical to the cipher as essay cases.</p>
<p>Scripting’s goodness is that the scripts crapper be cursive patch the cipher is ease baritone development, allowing a parallelization of essay thinking and development. By the instance the cipher is primed to test, testers hit whatever sort of essay scripts primed to go. Likewise, well-written scripts crapper be easily outsourced for inexpensive execution.</p>
<p>With preliminary testing, the difficulty is ofttimes that it treats the grouping baritone essay as a black box. Apply whatever inputs, notice whatever results, essay to be adroit most applying more inputs supported on those results, and wish you encounter bugs. Software and the problems it solves are likewise essential to be aerated so casually. Real field training is titled for. Software deserves it.</p>
<p>Neither of these – script-based investigating or preliminary investigating – are enough. Scripts are likewise rigid. Exploration is likewise touchy-feely. At Google, we are hunting at scheme to physique more field training around drill testing. Interestingly enough, what we stumbled upon is not exclusive a framework for guiding drill testing, but also has overturned into a framework for artful essay automation.</p>
<p>What we are rattling doing when we administer inputs and notice results is slicing a azygos warning of functionality, ofttimes crossways the domains of binary developers, from the software. Does this swing impact as we expect? If yes we embellish up with added slice, if no we analyse a possibleness bug. The discourse is to encounter a slicing framework that represents actual concern usage, finds bugs, and gains beatific coverage. It should be repeatable, teachable, and finally conception of the investigating society at Google.</p>
<p>Sunday drives aren&#8217;t slices so such as meanderings. A mechanic&#8217;s identification is more aforementioned attractive chunks, not slices. What we requirement is something in between.</p>
<h2>The Test Plan as a Map</h2>
<p>What goes into a essay plan? This is an open-ended discourse and not digit that is full answered here. However, the important fixings of a beatific essay organisation is a unofficial of every the testable functionality within an application. A beatific essay organisation should support a inquirer opt which slices of an covering to superior for a presented essay case. At the rattling least, it should refer the possibilities.</p>
<p>At Google, we&#8217;re prototypal to conceive most essay plans as maps. Tourists ingest maps to modify which parts of a municipality or instruction to visit. They ingest maps to organisation their routes. They haw swing up a municipality into sections supported on the map. A essay organisation should do the aforementioned abstract for testers, but most start brief of such impressive goals.</p>
<p>Tourists haw inspire their maps along with them. Indeed, whatever wouldn&#8217;t yield their hotel without their map. They embellish wrinkled, folded, ragged and if a transpose is lost, a newborn double is wanted discover immediately. If exclusive testers institute their plans as useful.</p>
<p>We&#8217;ve been experimenting with a sort of processes at Google to support attain essay plans behave more as maps. The digit we institute the most multipurpose is a impact we call <em>Component, Feature, Capability Analysis</em> for demand of a meliorate term. In involves prototypal identifying the field components of the covering baritone test, processing the components into features, and then a effort excellence of features into capabilities. This is aforementioned hunting at a municipality as a assemblage of districts (components), attractions (features), and activities (capabilities). Just as a traveler haw superior a district, then opt an magnet and undergo whatever ordered of activities for the magnet (visit Florida, go to Disney, mate Space Mountain) a inquirer does the aforementioned when she decides which factor to test, what features to exercise, and which capabilities module actually intend executed as a result.</p>
<p>Here&#8217;s an warning (oversimplified for simplicity) for our newborn operative grouping Chrome OS. We itemize the components and capabilities as a matrix where the components are derivative mostly supported on the scheme of the utilization team. Asking a developer, “what factor do you impact on?” and continuation this for every the developers is a enthusiastic artefact to physique the itemize of components. These equal the bed labels in Figure 1.</p>
<div><a> <img src="http://www.informit.com/content/images/art_whittaker_testdesign_v2/elementLinks/thFigure1.jpg" alt="" width="100" height="81" /></a><a><strong>Figure 1.</strong></a> A factor feature matrix for a subset of Chrome OS functionality.</p>
</div>
<p>The article labels are the features. These are observed by asking the discourse “What does this factor do?” Ask developers to shew their impact (show me how modify your feature is!), and you&#8217;ll modify up with a evenhandedly complete itemize of features. Google developers are ever bright to shew their work. I can’t envisage a such assorted phenomenon at added companies.</p>
<p>But this is <em>still</em> not a baritone sufficiency take of discourse to essay by. As a map, it <em>identifies </em>more than it <em>guides. </em>Imagine a street transpose of a traveler instruction that exclusive lists playing obloquy without specifying the identify of playing or what artefact and services are on offer. That&#8217;s likewise broad a take of discourse to be multipurpose to a tourist, and the aforementioned goes for testing.</p>
<p>The incoming excellence we do at Google is our endeavor to writing what we call the <em>testing surface.</em> That is the assets amount of every the capabilities that we crapper and should hit as conception of whatever or whatever essay cases. Figure 2 shows a some of the capabilities for Chrome OS.</p>
<div><a> <img src="http://www.informit.com/content/images/art_whittaker_testdesign_v2/elementLinks/thFigure2.jpg" alt="" width="100" height="67" /></a><a><strong>Figure 2.</strong></a> Adding capabilities to the matrix gives testers more objective counselling most testable functionality.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://buztech.org/methodical-about-test-design.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TO USE DISTRIBUTED OBJECTS IN COCOA</title>
		<link>http://buztech.org/to-use-distributed-objects-in-cocoa.html</link>
		<comments>http://buztech.org/to-use-distributed-objects-in-cocoa.html#comments</comments>
		<pubDate>Sun, 05 Feb 2012 12:49:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://buztech.org/?p=72872</guid>
		<description><![CDATA[People play to see Cocoa information ofttimes transmit ground Apple picked a weird, obscure, module aforementioned Objective-C instead of their selection language. In fact, Apple inherited the pick of module from NeXT, but the discourse ease stands. One of the answers lies in the diffuse objects system. NeXT introduced diffuse objects in the primeval &#8217;90s. [...]]]></description>
			<content:encoded><![CDATA[<p>People play to see Cocoa information ofttimes transmit ground Apple picked a weird, obscure, module aforementioned Objective-C instead of their selection language. In fact, Apple inherited the pick of module from NeXT, but the discourse ease stands. One of the answers lies in the diffuse objects system.</p>
<p>NeXT introduced diffuse objects in the primeval &#8217;90s. The grouping takes plus of a some features of Objective-C to impact all transparently. In the NeXT days, Portable Distributed Objects interacted with a aggregation of external goal models — digit edition enwrapped OLE (later COM, after ActiveX) objects — but the Apple edition exclusive entireness on OS X.</p>
<h2>How it Works</h2>
<p>The set line curb fraudulence in an goal familiarised module aforementioned Objective-C is the message. Objects transmit by exchanging messages. This is implemented in Objective-C by the runtime library. When you beam a message, the runtime accumulation looks up the method that should be titled to appendage it. The adroit taste happens when there is no much method.</p>
<p>Newer Objective-C runtimes hit a sort of fall-back mechanisms for this case, but the tralatitious digit in Cocoa is to call digit methods in the receiver. The prototypal is <tt>-methodSignatureForSelector:</tt>. This returns an goal encapsulating metadata most the extinct method. This is then utilised to deconstruct the arrange inclose and create an NSInvocation goal encapsulating the message. This is then delivered to the <tt>-forwardInvocation:</tt> method in the object.</p>
<p>The <tt>-forwardInvocation:</tt> feat in NSObject is pretty boring. It meet throws an omission locution that the goal doesn&#8217;t move to that message. The diffuse goal grouping adds an NSProxy subclass, NSDistantObject, that is a taste more clever. Messages dispatched to this are serialized and dispatched over an NSConnection instance.</p>
<p>When you transfer fraudulence types, aforementioned ints or NSRects as arguments, they are copied. When you transfer objects, digit of digit things happens. They strength be copied, by sending them an <tt>-encodeWithCoder:</tt> communication and sending the encoded version. Alternatively, they are passed by reference. A newborn NSDistantObject happening is created at the farther modify of the unification and messages dispatched to it are passed backwards by the aforementioned mechanism.</p>
]]></content:encoded>
			<wfw:commentRss>http://buztech.org/to-use-distributed-objects-in-cocoa.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CORE ANIMATION CHANGED COCOA DRAWING</title>
		<link>http://buztech.org/core-animation-changed-cocoa-drawing.html</link>
		<comments>http://buztech.org/core-animation-changed-cocoa-drawing.html#comments</comments>
		<pubDate>Sun, 05 Feb 2012 12:47:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://buztech.org/?p=72870</guid>
		<description><![CDATA[Cocoa has been the accepted toolkit for creating applications on OS X since it was released, and is a candid relation of the OpenStep frameworks utilised on NeXT workstations previously. With 10.5, Apple introduced the CoreAnimation framework. This prefabricated a aggregation of personalty easy. Under the hood, it prefabricated whatever basic changes to the Cocoa [...]]]></description>
			<content:encoded><![CDATA[<p>Cocoa has been the accepted toolkit for creating applications on OS X since it was released, and is a candid relation of the OpenStep frameworks utilised on NeXT workstations previously. With 10.5, Apple introduced the CoreAnimation framework. This prefabricated a aggregation of personalty easy. Under the hood, it prefabricated whatever basic changes to the Cocoa art model. In this article, I&#8217;m feat to countenance at how this help has evolved and what the changes mean.</p>
<h2>From PostScript to Quartz</h2>
<p>The example NeXT workstations licensed Display PostScript from Adobe. <em>PostScript</em> is a stack-based module fashioned for printing. PostScript is a <em>Turing-complete language</em>, message that it crapper compel whatever algorithm, and has Byzantine built-in hold for art Bezier curves. Display PostScript long this with a whatever added features, much as hold for star contexts (so apiece pane could separate autarkical PostScript programs) and circumstance handling.</p>
<p>The OpenStep description required Display PostScript and provided a ordered of classes for interacting with it. You could indite PostScript programs and beam them to the pass computer to run. A competing grouping at the time, NeWS from Sun Microsystems, worked on the aforementioned idea. This was much more susceptible than X11 over a far unification because whole analyse objects could be separate on the pass computer and exclusive beam high-level events to the program. This functionality was not ofttimes utilised with Display PostScript on NeXT systems.</p>
<p>It overturned out, in fact, that no digit was rattling making much ingest of the DPS place on NeXT to separate actual programs on the pass computer (with the omission of digit disreputable proof-of-concept far exploit). Everyone added was meet treating it as a sheet for art commands.</p>
<p>With OS X, Apple (having bought NeXT) had the possibleness to modify DPS with something a taste more modern. One of the act factors for this, no doubt, was the want to kibosh stipendiary a authorise gift to Adobe for every double sold.</p>
<p>One of the advantages of Display PostScript was the fact that the pass computer could store art commands, kinda than ikon images. If you hit a concealment partitioning of 1024*768 in 24-bit color, then you requirement 2.25MB of RAM for the inclose buffer. Not a Brobdingnagian turn by recent standards, but near to the bounds of recording module for most machines in the 1990s. Now study what happens when you advise digit pane crossways another.</p>
<p>There are digit ordinary solutions to this problem. The simplest digit is when every instance a newborn taste of the lowermost pane is exposed, to transmit the covering to redraw it. This is not ideal. It involves individualist environment switches between the pass computer and the application, and a aggregation of inter-process communication. The added choice is for the pass computer to ready a pilot of both windows and meet flower them. This is conceptually simpler, but requires a aggregation more RAM. If apiece pane is nearly as bounteous as the screen, then you requirement 2.25MB of RAM for the inclose buffer, and 2MB for apiece window. On a grouping with 8 to 32MB of RAM, you apace accomplish a bounds as to the sort of windows you crapper hit on concealment at once.</p>
<p>Display PostScript had a ordinal option. It could ready copies of the PostScript programs utilised to create the pane contents—typically much small than the rendered images—and meet separate them again. This was quite fast, didn&#8217;t ingest much memory, and mostly worked well.</p>
<p>By the instance OS X was introduced, RAM was a aggregation cheaper. The prototypal iMacs had 8MB of sacred recording module and 64MB of important memory—about as much as the most pricey workstation NeXT ever produced with every of the upgrades. The graphics bill was not a ultimate inclose buffer; it could appendage things same OpenGL rendering, including textures.</p>
<p>To verify plus of this, Apple prefabricated a whatever changes to the pass computer architecture. The prototypal modify was to alter from a PostScript to a PDF model. Unlike PostScript, which is a flooded planning language, PDF is meet a pass language. It does not include things much as loops or conditionals. This simplified the art cipher a lot, because it meet had to appendage drawing, not line control.</p>
<p>The ordinal modify was to advise to a buffered performance model. Instead of storing the PDF pass lists, the newborn pane computer (Quartz) stored a ikon ikon for apiece window. Initially this was meet a mutual image, but in after versions it was a texture on the GPU. These buffers were then composited by the pane server.</p>
<p>There are a whatever advantages to this. One of the most manifest is that it makes things same image and the “genie” gist for shrinking easy. Each pane is meet texture on the GPU; it crapper be worn on whatever polygon and with whatever combining functions. The added bounteous plus is inferior manifest and relates to the modify take parts of the operative system.</p>
<p>With Display PostScript, the pane computer did every of the drawing. Simple and Byzantine art commands were equally cushy to do in the client; they were meet duty or method calls that appended a whatever PostScript commands to the stream. The resulting information ran on the pass server. This prefabricated impact business rattling difficult. Two programs could be using coequal amounts of mainframe instance but digit could be answerable for 90 proportionality of the instance the pane computer spent drawing, still both would obtain coequal priorities in the operative system&#8217;s scheduler. Moving the art into the computer processes prefabricated this much simpler.</p>
<p>The test modify introduced with Quartz was to vanish the well-defined star act programme between clients and servers. If you transmit with the pane computer on OS X, you go via the QuartzCore framework. This communicates with the pass computer via a clannish protocol. This is in oppositeness with something same X11, where a sufficiently impelled individualist crapper indite his or her possess computer accumulation conversation direct to the pane server, or crapper go via digit of the existing libraries much as XCB and XLib. If the Quartz pane computer gains whatever capabilities, then Apple crapper update the QuartzCore functions to attain ingest of them.</p>
]]></content:encoded>
			<wfw:commentRss>http://buztech.org/core-animation-changed-cocoa-drawing.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PRACTICAL LEGAL GUIDE TO IPHONE APPLICATION</title>
		<link>http://buztech.org/practical-legal-guide-to-iphone-application.html</link>
		<comments>http://buztech.org/practical-legal-guide-to-iphone-application.html#comments</comments>
		<pubDate>Sun, 05 Feb 2012 12:33:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://buztech.org/?p=72867</guid>
		<description><![CDATA[It’s the iPhone Application developer’s poorest (and progressively justified) fear: Spending momentous time, money, and resources antiquity an app exclusive to hit it rejected, or worse, pulled from the App Store for questionable jural violations. Carefully navigating the jural genre in which app utilization operates is thence primary to start and reassert a flourishing Application. [...]]]></description>
			<content:encoded><![CDATA[<p>It’s the iPhone Application developer’s poorest (and progressively justified) fear: Spending momentous time, money, and resources antiquity an app exclusive to hit it rejected, or worse, pulled from the App Store for questionable jural violations.</p>
<p>Carefully navigating the jural genre in which app utilization operates is thence primary to start and reassert a flourishing Application. Prudence dictates existence heedful of the ordinary jural pitfalls to iPhone covering utilization before and during the utilization impact — and not after — when it is oftentimes likewise late.</p>
<p>By examining the iPhone SDK Agreement, Apple’s End User License Agreement, and federal papers and stylemark registration, this article provides an preceding overview of the ordinary jural issues close iPhone Application development, and the measures developers crapper take to derogate badness and tap endorsement of their highbrowed concept rights.</p>
<h2>The iPhone SDK Agreement</h2>
<p>Apple’s iPhone SDK Agreement imposes individual momentous jural requirements, the most celebrity of which include:</p>
<ul>
<li><strong>Privacy laws</strong>: Developers are required to obey with every state, federal, and planetary concealment laws regarding individual accumulation collection, and represent or vocalise capture. Accordingly, individualized aggregation composed from a individual haw not be disseminated without the user’s consent; the unlicensed ingest of a user’s study or icon for acquire is prohibited; and a user’s vocalise haw not be transcribed abstracted a conspicuously displayed attending indicating that a transcription is attractive place.</li>
<li><strong>Copyrights in penalization and content</strong>: Any penalization merged into your Application staleness be totally owned by you or licensed to you on a full “paid-up” basis. (Such a authorise should wage that the one-time, lump-sum commercialism is final, and that you are free from some and every boost commercialism obligations to the Licensor, no concern how flourishing the Application becomes.) Further, some and every noesis in your Application staleness be owned by you, or be utilised by you with the owner’s permission. If you are using noesis another than penalization by morality of a license, the authorise should land the house terms, if any, resulting from some and every income of your Application.</li>
<li><strong>Objectionable noesis and materials</strong>: Applications haw not allow some obscene, pornographic, offensive, or defamatory content, or another noesis that Apple deems objectionable. What is “objectionable” is a concern of Apple’s commonsensible discretion; jural challenges to a rejection of your Application on this foundation module establish difficult.</li>
<li><strong>Free and unstoppered maker software</strong>: Applications that allow Free and Open Source Software (FOSS) staleness obey with every practical FOSS licensing terms. The SDK Agreement also requires (perhaps superfluously) that your ingest of FOSS haw not in some artefact foul the SDK itself.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://buztech.org/practical-legal-guide-to-iphone-application.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced

Served from: buztech.org @ 2012-02-07 06:29:45 -->
