<?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>Eteration &#187; English</title>
	<atom:link href="http://www.eteration.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.eteration.com</link>
	<description>We provide enterprise software solutions and infrastructures built on Open Source and Standards. Our IT services specialized in open standards, Java, Java EE, Enterprise Middleware and SOA is our core business.</description>
	<lastBuildDate>Fri, 19 Apr 2013 06:55:04 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Infamous Java bugs and pitfalls</title>
		<link>http://www.eteration.com/infamous-java-bugs-and-pitfalls/</link>
		<comments>http://www.eteration.com/infamous-java-bugs-and-pitfalls/#comments</comments>
		<pubDate>Fri, 19 Apr 2013 06:55:04 +0000</pubDate>
		<dc:creator>Murat Yener</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.eteration.com/?p=1878</guid>
		<description><![CDATA[In year 2000, I was in university and was on the verge of picking a language to build my career on. Java was not yet the mainstream but highly popular and on the spots. Applets were (not yet broken) fancy,<span class="ellipsis">&#8230;</span> <a href="http://www.eteration.com/infamous-java-bugs-and-pitfalls/"><div class="read-more">Read more &#8250;</div><!-- end of .read-more --></a>]]></description>
				<content:encoded><![CDATA[<p>In year 2000, I was in university and was on the verge of picking a language to build my career on. Java was not yet the mainstream but highly popular and on the spots. Applets were (not yet broken) fancy, shiny when compared to static html pages. Swing was not a bad choice to build desktop apps. J2EE was rising and getting attention.</p>
<p>It has been 13 years since then and Java went mainstream although applets failed miserably, not really considered for desktop apps and J2EE was too complicated to even build simple stuff but still nothing stopped Java from being the most popular programming language.</p>
<p>It was no surprise, Java is beatiful, type safe and easy to learn language. There were many very good implemantation details in Java such the garbage collector, strings (finalized class), collections which offer great implemantations of merge and quicksort, built in hashcode methods and many more. However, still Java is far from being perfect and may introduce some unexpected behaviour.</p>
<p>The abs bug:<br />
Well this is a very minor flaw but there is a probability that Math.abs() function may return negative value. Weird? actually simple, Java integers can get a value between -2,147,483,648 to 2,147,483,647 which clearly shows -2,147,483,648 can not be represented in positive.<br />
So is this a bug? Well the expected value is positive so yes definitely but in the end this is actually an overflow. So how to fix it? One way would be checking Integer.MIN_VALUE before using abs function or using bit operators to manipulate negative sign instead.</p>
<p>Autoboxing the primitives pitfalls:<br />
Autoboxing makes it easy to work with primitive types and their object counterpart. However moving between them may introduce some unexpected behavior. For example Integer i1=6 can not be compared to Integer i2=6 with == operator where int i3=6 can be compared to those with ==. However using equals may not work as expected too. For example Long x=0L; returns true when x.equals(0L) but returns false when x.equals(0). Weird? Not really since x is long where 0 (without L) is int. So those are not even same object types. Also using primitive types with collections may result unexpected behavior. Finally Autoboxing may result problems in overloading. Lets say we have Integer i=6 and call method sum(i); and we have two sum methods like; sum(long val) and sum(Long val). Which one do you think will be called? Again reasonable but not expected to see at first look and may lead problems in your app.</p>
<p>BigDecimal constructor bug:<br />
If you haven&#8217;t already check <a href="http://strangeloop2010.com/system/talks/presentations/000/014/450/BlochLee-JavaPuzzlers.pdf">Java Puzzlers from Joshua Bloch</a>. If you create two Big decimals using double constructor (x1=new BigDecimal(2.00) and x2=new BigDecimal (1.10)) and use subtract (x1.subtract(x2)) you will end up with 0.8999999999. The double constructor of BigDecimal doesn&#8217;t work as expected and string constructor needs to be used instead (new BigDecimal(&#8220;2.00&#8243;)). This might be a serious problem since BigDecimal is widely used for money calculations!</p>
<p>System.out.println pitfall:<br />
println() is one of the first functions that is tought to cs students. It is easy and used often. Usually quite ok to use when you are trying some logic or debugging some values. However System.out is synchronized so acquires a lock when accessed. So using println can cause your app to run in synchronized context which actually means threads will be blocked when accessing println. Imagine a webserver and&nbsp;an app&nbsp;logging with println and you will end up with thread locks and each request waiting for other. So println is ok and useful but not for real apps and logging!</p>
<p>Map bug:<br />
Again take a look at&nbsp;<a href="http://strangeloop2010.com/system/talks/presentations/000/014/450/BlochLee-JavaPuzzlers.pdf">Java Puzzlers from Joshua Bloch</a>, the fifth puzzle(size matters) introduces a strange behavior between an HashMap and an EnumMap where with same values, one map has a size of 2 where the other is 1. Several Map implementations such as IdentityHashMap, EnumMap may introduce this behavior.<br />
Is this a bug? Well certainly we expect same principles from map implementations but Bloch describes that as the spec was not clear at the time.</p>
<p>Cpu Number bug:<br />
This may not be a huge problem unless you really rely on hardware. To get available processor count Java offers Runtime.getRuntime().availableProcessors() method which returns an int number as the number of the processors available. However you may end up getting unexpected numbers if you give a try. For example on my quad-core i7, I get 8. So this method does not return the number of hardware cpus nor the number of cores but the number of execution engines (virtual cores). In my case because quad-core i7s support hyper treading it actually acts like it has eight cores.<br />
So is this a bug? Definitely not since the hardware and the OS acts as if they have that number of physical cpus but still be careful counting if you rely on solid hardware.</p>
<p>Generic arrays<br />
In Java arrays are created as follows, int[] arr=new int[5]; so if you have a generic type of T, you would expect to create a generic array this way: T[]=new T[5]; but simply you can&#8217;t. Java does not allow generic array creation and this is actually because generics are implemented in Java using <a href="http://docs.oracle.com/javase/tutorial/java/generics/erasure.html">Erasure</a>. Generics are implemented purely in compiler level and actually only one class file is generated for each class. So to create the array we need an ugly cast as follows, T[]=(T[]) new Object[5]; and when you try to compile, the compiler will issue a warning that you are doing an unsafe cast!<br />
Of course this is not bug, it is just an implementation problem given for the sake of simplicity and compability when generics were implemented. But raising a compiler warning on a design issue may confuse someone who faced it for the first time.</p>
<p>So this is definitely not the end of the list but still Java offers a beatiful syntax, type safety and a realiable easy to learn language. And finally no language or implementation is perfect!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.eteration.com/infamous-java-bugs-and-pitfalls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eteration&#8217;s Mobile Development Team is sponsoring GDGIstanbul March Event</title>
		<link>http://www.eteration.com/eteration-mobile-development-team-is-sponsoring-gdgistanbul-march-event/</link>
		<comments>http://www.eteration.com/eteration-mobile-development-team-is-sponsoring-gdgistanbul-march-event/#comments</comments>
		<pubDate>Wed, 20 Mar 2013 13:29:30 +0000</pubDate>
		<dc:creator>Nilay Coşkun</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Dart]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[neo4j]]></category>

		<guid isPermaLink="false">http://www.eteration.com/?p=1856</guid>
		<description><![CDATA[We are proudly announcing that Eteration&#8217;s mobile development team is sponsoring GDG Istanbul&#8217;s March Event. Date : March,23 &#8211; 13.00 Location: Itu Teknokent . Ari3 Conference Hall Program:  A Mystery Walking in the DART Side, Ali Parmaksız Advanced Rich Push<span class="ellipsis">&#8230;</span> <a href="http://www.eteration.com/eteration-mobile-development-team-is-sponsoring-gdgistanbul-march-event/"><div class="read-more">Read more &#8250;</div><!-- end of .read-more --></a>]]></description>
				<content:encoded><![CDATA[<p>We are proudly announcing that Eteration&#8217;s mobile development team is sponsoring GDG Istanbul&#8217;s March Event.</p>
<p><strong>Date :</strong> March,23 &#8211; 13.00</p>
<p><strong>Location:</strong> Itu Teknokent . Ari3 Conference Hall</p>
<p><strong>Program: </strong></p>
<ul>
<li><strong>A Mystery Walking in the DART Side</strong>, Ali Parmaksız</li>
<li><strong>Advanced Rich Push Notifications</strong>, Erdem Yilmaz</li>
<li><strong>Node.js PassportJS ExpressJS MiniLab</strong>, Salim Kayabaşı</li>
<li><strong>Neo4J nedir?</strong>, Hasan Keklik</li>
<li><strong>JavaEE6 revisits Design Patterns</strong>, Murat Yener</li>
</ul>
<p>Register at <a href="http://gdgistanbul032013-efbnend.eventbrite.com/"><span style="color: #0000ff">http://gdgistanbul032013-efbnend.eventbrite.com/</span></a></p>
<p><a href="www.gdgistanbul.com"><span style="color: #0000ff">www.gdgistanbul.com</span></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.eteration.com/eteration-mobile-development-team-is-sponsoring-gdgistanbul-march-event/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Another GDG Event Hosted by Eteration</title>
		<link>http://www.eteration.com/eteration-is-hosting-another-gdg-event/</link>
		<comments>http://www.eteration.com/eteration-is-hosting-another-gdg-event/#comments</comments>
		<pubDate>Sat, 16 Feb 2013 13:19:00 +0000</pubDate>
		<dc:creator>Nilay Coşkun</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://www.eteration.com/?p=1811</guid>
		<description><![CDATA[GDG İstanbul is organizing the second event of the year hosted by Eteration. The event reached 50% occupancy rate in 2 hours will have great presentations and suprises. Event Date : 23.02.2013 &#8211; 13.00 Event Place : Arı3 Teknokent. İtü<span class="ellipsis">&#8230;</span> <a href="http://www.eteration.com/eteration-is-hosting-another-gdg-event/"><div class="read-more">Read more &#8250;</div><!-- end of .read-more --></a>]]></description>
				<content:encoded><![CDATA[<p>GDG İstanbul is organizing the second event of the year hosted by Eteration.</p>
<p>The event reached 50% occupancy rate in 2 hours will have great presentations and suprises.</p>
<p>Event Date : 23.02.2013 &#8211; 13.00</p>
<p>Event Place : Arı3 Teknokent. İtü</p>
<p><strong>Android ve Elektronik</strong>, Muharrem Taç<br />
<strong>Guava: Meyve toplamanın incelikleri</strong>, Naci Dai<br />
<strong>Sihirbaz Programcı</strong>, Murat Yener<br />
<strong>OpenFrameWorks ve Android</strong>, Yağız Hatay<br />
<strong>Youtube API</strong>, Said Tahsin Dane<br />
<strong>Web Crawling, Scraping</strong>, Cüneyt Yeşilkaya<br />
<strong>NodeJS Herkese Karşı</strong>, Salim Kayabaşı</p>
<p>Click <a href="http://www.gdgistanbul.com/">here</a> for more information .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.eteration.com/eteration-is-hosting-another-gdg-event/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GDG Istanbul &#8211; The first event of the year is hosted by Eteration</title>
		<link>http://www.eteration.com/gdg-istanbul-the-first-event-of-the-year-is-hosted-by-eteration/</link>
		<comments>http://www.eteration.com/gdg-istanbul-the-first-event-of-the-year-is-hosted-by-eteration/#comments</comments>
		<pubDate>Thu, 17 Jan 2013 14:35:52 +0000</pubDate>
		<dc:creator>Nilay Coşkun</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.eteration.com/?p=1717</guid>
		<description><![CDATA[GDG Istanbul organizes the first event of the 2013 hosted by Eteration. Date: 19th January Time : 13.00 Place : ITU &#8211; Arı 3 Teknokent Agenda : MongoDB, Ertuğrul Taş MongoDB Giriş, IFUR (CRUD), Neden MongoDB Merhaba NodeJS, Salim Kayabaşı<span class="ellipsis">&#8230;</span> <a href="http://www.eteration.com/gdg-istanbul-the-first-event-of-the-year-is-hosted-by-eteration/"><div class="read-more">Read more &#8250;</div><!-- end of .read-more --></a>]]></description>
				<content:encoded><![CDATA[<p>GDG Istanbul organizes the first event of the 2013 hosted by <a href="http://www.eteration.com" target="_blank">Eteration</a>.</p>
<div></div>
<div>Date: 19th January</div>
<div>Time : 13.00</div>
<div>Place : ITU &#8211; Arı 3 Teknokent</div>
<div></div>
<div>Agenda :</div>
<p><strong>MongoDB, Ertuğrul Taş</strong></p>
<ul>
<li>MongoDB Giriş, IFUR (CRUD), Neden MongoDB</li>
</ul>
<p><strong>Merhaba NodeJS, Salim Kayabaşı</strong></p>
<ul>
<li>NodeJS Nedir, Neden NodeJS, Google V8, Cloud ve NodeJS</li>
</ul>
<p><strong>Android, Hasan Keklik</strong></p>
<ul>
<li>Rest Api, Maps</li>
</ul>
<p><strong>mGWT ile Mobil Web, Murat Yener</strong></p>
<ul>
<li>HTML5 ve JS yazmadan mobil web!</li>
</ul>
<p><strong>GWT Application Using Spring Roo to CloudFoundry, Ali Parmaksiz</strong></p>
<ul>
<li>GWT MVP, Spring Roo, CloudFoundry</li>
</ul>
<p><strong>Authentication using New Google Play Services, Said Tahsin Dane</strong></p>
<div><a href="http://www.gdgistanbul.com/2013/01/merhaba-2013.html" target="_blank">Click</a> for more detail.</div>
]]></content:encoded>
			<wfw:commentRss>http://www.eteration.com/gdg-istanbul-the-first-event-of-the-year-is-hosted-by-eteration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developing Web Applications and Services with JavaEE</title>
		<link>http://www.eteration.com/developing-web-applications-and-services-with-javaee/</link>
		<comments>http://www.eteration.com/developing-web-applications-and-services-with-javaee/#comments</comments>
		<pubDate>Tue, 15 Jan 2013 08:00:25 +0000</pubDate>
		<dc:creator>Esma Meral</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.eteration.com/?p=1709</guid>
		<description><![CDATA[This course is designed for Java™ developers who need to learn how to develop Web based applications based on the Java™ Enterprise Edition (JavaEE). This is a best-practices course that will guide the students through building a complete end-to-end web<span class="ellipsis">&#8230;</span> <a href="http://www.eteration.com/developing-web-applications-and-services-with-javaee/"><div class="read-more">Read more &#8250;</div><!-- end of .read-more --></a>]]></description>
				<content:encoded><![CDATA[<p>This course is designed for Java™ developers who need to learn how to develop Web based applications based on the Java™ Enterprise Edition (JavaEE). This is a best-practices course that will guide the students through building a complete end-to-end web application.</p>
<p>At the end of this course you will understand the best practices in building Internet Applications using JavaEE as well as the core JavaEE Technologies including Servlets, JSP, JNDI, JDBC, and XML. You will understand distributed Web-based JavaEE architectures.</p>
<p>This course teaches students how to build Web Services and Web Service clients using Java technologies. The class includes a high-speed introduction to XML syntax, namespaces, XML Schema, SOAP, and WSDL before exploring Web Service client or server-side development in Java APIs and tools. Specifically, this class focuses on JAX-WS and JAX-RS web service and client development.</p>
<p>Dates:<br />
29 Jan-1 Feb 2013</p>
<p>For more information : <a href="http://www.facebook.com/l.php?u=http%3A%2F%2Facademy.eteration.com%2Feducation%2Fcatalog%2FD-JEE-401-003&amp;h=PAQEl5eMT&amp;s=1" rel="nofollow nofollow" target="_blank">http://academy.eteration.com/education/catalog/D-JEE-401-003</a></p>
<p>For registration:<br />
Zeynep Akgüzel<br />
akademi@eteration.com<br />
+90(212) 328 08 25</p>
]]></content:encoded>
			<wfw:commentRss>http://www.eteration.com/developing-web-applications-and-services-with-javaee/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Effective Agile Java Development</title>
		<link>http://www.eteration.com/effective-agile-java-development-2/</link>
		<comments>http://www.eteration.com/effective-agile-java-development-2/#comments</comments>
		<pubDate>Tue, 15 Jan 2013 07:59:27 +0000</pubDate>
		<dc:creator>Esma Meral</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.eteration.com/?p=1706</guid>
		<description><![CDATA[This course is an advanced pragmatic workshop that teaches latest agile development practices and tools. It provides practical experience across the full scope of agile development activities, including requirements gathering, acceptance test driven development (ATDD), behavior driven development (BDD), test<span class="ellipsis">&#8230;</span> <a href="http://www.eteration.com/effective-agile-java-development-2/"><div class="read-more">Read more &#8250;</div><!-- end of .read-more --></a>]]></description>
				<content:encoded><![CDATA[<p>This course is an advanced pragmatic workshop that teaches latest agile development practices and tools. It provides practical experience across the full scope of agile development activities, including requirements gathering, acceptance test driven development (ATDD), behavior driven development (BDD), test driven development (TDD), agile architecture and design, clean coding practices, continuous integration and agile development teamwork and collaboration. Students will build a small application from the ground up using ATDD and TDD practices and getting exposure to innovative tools such as Maven, Jenkins/Hudson, Subversion, JUnit, Mock Testing, Selenium, Spock, JBehave.</p>
<p>Automated testing techniques are covered in detail in this workshop. Indeed, learning how to write more effective tests is an excellent way to write better designed, more maintainable and more reliable code. The course covers fundamental TDD and BDD practices for Java Developers. Continuous Integration, or CI, is a cornerstone of modern software development best practices.</p>
<p>Dates:<br />
18-19 Feb 2013</p>
<p>For more information : <a href="http://academy.eteration.com/education/catalog/D-E504" rel="nofollow nofollow" target="_blank">http://academy.eteration.com/education/catalog/D-E504</a></p>
<p>For registration:<br />
Zeynep Akgüzel<br />
akademi@eteration.com<br />
+90(212) 328 08 25</p>
]]></content:encoded>
			<wfw:commentRss>http://www.eteration.com/effective-agile-java-development-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automated Black Box Testing of New Age Web Projects</title>
		<link>http://www.eteration.com/automated-black-box-testing-of-new-age-web-projects/</link>
		<comments>http://www.eteration.com/automated-black-box-testing-of-new-age-web-projects/#comments</comments>
		<pubDate>Sat, 05 Jan 2013 21:00:26 +0000</pubDate>
		<dc:creator>Nilay Coşkun</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[automates testing]]></category>
		<category><![CDATA[black box testing]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[web driver]]></category>

		<guid isPermaLink="false">http://www.eteration.com/?p=1699</guid>
		<description><![CDATA[Test automation is a process that executes generated test cases with automated testing tools and compares the predicted output with actual output. Although many defects can be found with manual testing, it is a time consuming process. Automated tests generate<span class="ellipsis">&#8230;</span> <a href="http://www.eteration.com/automated-black-box-testing-of-new-age-web-projects/"><div class="read-more">Read more &#8250;</div><!-- end of .read-more --></a>]]></description>
				<content:encoded><![CDATA[<p>Test automation is a process that executes generated test cases with automated testing tools and compares the predicted output with actual output. Although many defects can be found with manual testing, it is a time consuming process. Automated tests generate test cases automatically and execute all test cases in the same way each time. This reduces human biases and costs since automated tests can be run repeatedly and quickly.</p>
<p>There are various automated test tools used in software test life cycle. In this paper we aim to demonstrate our automated dynamic black box testing approach with Selenium IDE and Webdriver. Selenium is a browser automation framework and Selenium IDE is the integrated development environment that allows recording, editing and debugging tests. It is implemented as a Firefox extension. Once you record a test case using Selenium IDE, the recorded test case can be exported in most programming languages such as Java, .net, Perl, Ruby and HTML.</p>
<p>Webdriver is another automated testing tool for testing web applications. It provides Java API for ease of use and understanding. Simply, it is the process of writing a JUnit or Test NG test case in a Java Project and executing the test case in a &#8220;main&#8221; method. Any condition in the test case can be controlled using if-else conditions. It provides creating dynamic test cases which means ability of the testing dynamic web pages whose data can be different at any time so that test case can fail.</p>
<p>Blackbox testing is the process of examining functionality of an application without taking into consideration the internal progress. If we think the application is a black box, black box testing approach is about whether the black box gives the same output with the same input. It does not consider what happened in the black box internally. We use Selenium IDE and Webdriver together for automated black box testing.</p>
<p>Let&#8217;s assume we will generate a automated test case for booking flight from New York to San Francisco for today. While recording a test case with Selenium IDE, steps are simply:</p>
<p>- Open the web page with a given url.</p>
<p>- Select From</p>
<p>- Select To</p>
<p>- Select today&#8217;s date</p>
<p>- Submit</p>
<p>The expected result would be the list of flights. The next step is selecting a flight and making a reservation. With Selenium IDE, we can select a flight and submit the form. But if the selected flight is not available or there is no available flight at all for this date, what will happen? We should control such a case dynamically for execution the test case successfully at any time. In this case, if the flight result list is empty, our test case will fail. Webdriver allows making controls in the test case for any situation.</p>
<p>Why we use Selenium IDE and Webdriver together is because we record a test case using Selenium IDE and edit exported Java code to put any control and execute the test case using Webdriver API. It provides editing exported test case instead of writing all the case from the beginning. There are various cases which exported Java code can&#8217;t be executed by Webdriver since some codes are not compatible with Java, but this approach provide generating effective automated test cases for most of the cases.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.eteration.com/automated-black-box-testing-of-new-age-web-projects/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>After IIBA Business Analyst Training &#8211; The Requirement Cycle</title>
		<link>http://www.eteration.com/after-iiba-business-analyst-training-the-requirement-cycle/</link>
		<comments>http://www.eteration.com/after-iiba-business-analyst-training-the-requirement-cycle/#comments</comments>
		<pubDate>Tue, 18 Dec 2012 14:33:26 +0000</pubDate>
		<dc:creator>Nilay Coşkun</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.eteration.com/?p=1689</guid>
		<description><![CDATA[I had mentioned BABOK and IIBA Business Analyst Certification in my previous blog.  I attended the 3-day IIBA Business Analyst Training last week. It was more than a certification training. We focused on end-to-end business analysis methodology explained in BABOK. <span class="ellipsis">&#8230;</span> <a href="http://www.eteration.com/after-iiba-business-analyst-training-the-requirement-cycle/"><div class="read-more">Read more &#8250;</div><!-- end of .read-more --></a>]]></description>
				<content:encoded><![CDATA[<p>I had mentioned BABOK and IIBA Business Analyst Certification <a title="blos" href="http://www.eteration.com/is-analisleti-icin-babok-ve-sertifikasyon/" target="_blank">in my previous blog</a>.  I attended the 3-day IIBA Business Analyst Training last week. It was more than a certification training. We focused on end-to-end business analysis methodology explained in BABOK.  And this training was about more than what is use-case and how to write use-case.</p>
<p>Business analysis is not only about meeting and writing documents, it has a methodology. This methodology aims to do better work choosing right tools on the right times. Business analysis has a jargon to speak the same language all across the world. This training also highlighted the importance of conflict management and creating a good communication with business, development and test teams.</p>
<p>The main role of a business analyst is to gather requirements from different parties of the project and define Must to Have&#8217;s and Nice to Have&#8217;s clearly. So, what is a requirement? There are various definitions of the requirement  in BABOK but IIBA classifies requirements like in the following schema:</p>
<p>1. Business Requirements: These requirements define the scope and answer of the question &#8220;<strong>WHY</strong>&#8220;.</p>
<p>2. Solution Requirements: This requirements are the answer of the &#8220;<strong>WHAT</strong>&#8221; and &#8220;<strong>HOW</strong>&#8220;.</p>
<p>- Functional requirement : Functional requirements define &#8220;WHAT&#8221; the user would do with the system.</p>
<p>- Non- Functional Requirements : These are about usability, performance, security, capacity, speed.</p>
<p>- Business Rules : These are rules of the system defined by business and shows usually parametric informations such as limits etc.</p>
<p>- Assumptions :  It is important to define conditions which are out of the system&#8217;s control. Assumptions shouldn&#8217;t  be the requirements which are not clear because of conflicts of different parties.</p>
<p>3. System Requirements : These are the answer of &#8220;<strong>TECHNICALLY HOW&#8221;</strong> question and usually defined by system analysts.</p>
<p>I strongly recommend all business analysts to read BABOK to do better work with standards in the book. The responsible of the unsuccesfull projects is not the people, it is process followed in the projects.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.eteration.com/after-iiba-business-analyst-training-the-requirement-cycle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testing Websites For Mobile Compatibility-2</title>
		<link>http://www.eteration.com/testing-websites-for-mobile-compatibility-2/</link>
		<comments>http://www.eteration.com/testing-websites-for-mobile-compatibility-2/#comments</comments>
		<pubDate>Tue, 27 Nov 2012 09:12:48 +0000</pubDate>
		<dc:creator>Mustafa Öztürk</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.eteration.com/?p=1654</guid>
		<description><![CDATA[In this article we will continue to “Testing Websites for Mobile Compatibility-1”. We will examine three of test tools for mobile testing below. These tools are GOMO,Ripple and Browser Stack. GOMO Gomo is a mobile testing tool that is developed<span class="ellipsis">&#8230;</span> <a href="http://www.eteration.com/testing-websites-for-mobile-compatibility-2/"><div class="read-more">Read more &#8250;</div><!-- end of .read-more --></a>]]></description>
				<content:encoded><![CDATA[<p>In this article we will continue to “Testing Websites for Mobile Compatibility-1”.</p>
<p>We will examine three of test tools for mobile testing below.</p>
<p>These tools are GOMO,Ripple and Browser Stack.</p>
<p><strong>GOMO</strong></p>
<p>Gomo is a mobile testing tool that is developed by Google.We can use Gomo when we want to UI testing for websites for mobile devices.We can access Gomo’s interface with <a href="http://www.howtogomo.com/">http://www.howtogomo.com</a>  on the browser.We doesn’t need to install any programs.Other avantage of Gomo that has a good  and  detailed rapor format.If we want to have report,we get it as pdf format.Also Gomo has simple and useful interface.</p>
<p>We will test a sample website with Gomo below.So that we will examine Gomo in detail.</p>
<p>Let’s examine <a href="http://academy.eteration.com/">http://academy.eteration.com</a> with Gomo.</p>
<p>First we open Gomo’s homepage.(Image 1)</p>
<p><a href="http://www.eteration.com/wp-content/uploads/2012/11/11.png"><img class="size-medium wp-image-1656 aligncenter" src="http://www.eteration.com/wp-content/uploads/2012/11/11-300x194.png" alt="" width="300" height="194" /></a></p>
<p style="text-align: center">Image 1</p>
<p>There are three options in here.The first option is is that why the mobile site is necessary.The second option is for testing websites by mobile devices.And the third option is for make a sample site and its sources.</p>
<p>We choose the second option for testing.Next page is opened.(Image 2)</p>
<p><a href="http://www.eteration.com/wp-content/uploads/2012/11/23.png"><img class="size-medium wp-image-1657 aligncenter" src="http://www.eteration.com/wp-content/uploads/2012/11/23-300x154.png" alt="" width="300" height="154" /></a></p>
<p style="text-align: center"><span style="text-align: center"> Image 2</span></p>
<p>We click at link in the page.Next page is opened.(Image 3)</p>
<p><a href="http://www.eteration.com/wp-content/uploads/2012/11/31.png"><img class="size-medium wp-image-1658 aligncenter" src="http://www.eteration.com/wp-content/uploads/2012/11/31-300x190.png" alt="" width="300" height="190" /></a></p>
<p style="text-align: center">Image 3</p>
<p>We enter the websites URL in the textbox and click “TEST YOUR SİTE”.Five options are listed in the page.We choose one of them for our site.When we choose an option, system ask a few questions to us see how your site is working.We answer these questions and click  “GET RESULTS”.Next page is opened.(Image 4)</p>
<p><a href="http://www.eteration.com/wp-content/uploads/2012/11/4.png"><img class="size-medium wp-image-1659 aligncenter" src="http://www.eteration.com/wp-content/uploads/2012/11/4-300x204.png" alt="" width="300" height="204" /></a></p>
<p><a href="http://www.eteration.com/wp-content/uploads/2012/11/5.png"><img class="size-medium wp-image-1660 aligncenter" src="http://www.eteration.com/wp-content/uploads/2012/11/5-300x50.png" alt="" width="300" height="50" /></a></p>
<p style="text-align: center">Image 4</p>
<p>We will see test results in the page as main categories.Also there are a few links in the page.The links are “view full report”,”email full report”,”build your site”,”test another site”.</p>
<p>If  we want to see full report,we click “view full report” link.In this way we get full report as pdf format.</p>
<p>When we click ”email full report” link,the report is sending our email adress.</p>
<p>When we click ”build your site” link,we go to the build site page.(Image5)</p>
<p><a href="http://www.eteration.com/wp-content/uploads/2012/11/6.png"><img class="size-medium wp-image-1661 aligncenter" src="http://www.eteration.com/wp-content/uploads/2012/11/6-300x168.png" alt="" width="300" height="168" /></a></p>
<p style="text-align: center">Image 5</p>
<p>If we click ”test another site” link,we came back Image 3.</p>
<p><strong>Ripple</strong></p>
<p>Ripple is another mobile testing tool.Ripple is a chrome extension and has specific interface.If  we want to use Ripple for testing,we go to the Chrome web store and add extension to browser.Link is below.</p>
<p><a href="https://chrome.google.com/webstore/search-extensions/ripple">https://chrome.google.com/webstore/search-extensions/ripple</a></p>
<p>We will test a sample website with Ripple below.So that we will examine Ripple in detail.</p>
<p>Let’s examine <a href="http://academy.eteration.com/">http://academy.eteration.com</a> with Ripple.</p>
<p>First we go to the <a href="http://academy.eteration.com/">http://academy.eteration.com</a>.</p>
<p>When The site is opened,we click Ripple icon in the browser page. (Image 6)</p>
<p><a href="http://www.eteration.com/wp-content/uploads/2012/11/7.png"><img class="size-medium wp-image-1662 aligncenter" src="http://www.eteration.com/wp-content/uploads/2012/11/7-300x135.png" alt="" width="300" height="135" /></a></p>
<p style="text-align: center">Image 6</p>
<p>We click “Enable” in the pop up window.Next page is opened. (Image 7)</p>
<p><a href="http://www.eteration.com/wp-content/uploads/2012/11/8.png"><img class="size-medium wp-image-1663 aligncenter" src="http://www.eteration.com/wp-content/uploads/2012/11/8-300x178.png" alt="" width="300" height="178" /></a></p>
<p style="text-align: center">Image 7</p>
<p>We choose a device options which we want to see our web site.Next page is opened. (Image 8)</p>
<p><a href="http://www.eteration.com/wp-content/uploads/2012/11/9.png"><img class="size-medium wp-image-1664 aligncenter" src="http://www.eteration.com/wp-content/uploads/2012/11/9-300x140.png" alt="" width="300" height="140" /></a></p>
<p style="text-align: center">Image 8</p>
<p>We can see web site in the virtual device in this page.And a lot of links are listed right and left parts in the page.For example when we want to see horizontal and vertical mode of virtual devices,we select devices option. (Image 9)</p>
<p><a href="http://www.eteration.com/wp-content/uploads/2012/11/10.png"><img class="size-medium wp-image-1665 aligncenter" src="http://www.eteration.com/wp-content/uploads/2012/11/10-300x139.png" alt="" width="300" height="139" /></a></p>
<p style="text-align: center">Image 9</p>
<p>Also if we want to view website with another platform,we click Platforms link.When we click Information link,selected device informations are displayed.</p>
<p><strong>Browser Stack</strong></p>
<p>Browser Stack is another tool for mobil testing.We can test our sites in a lot of platforms and devices with Browser Stack.Also Browser Stack has functional and useful interface.We can reach Browser Stack with a URL on the browser.We don’t install any programs.Link is below.</p>
<p><a href="http://www.browserstack.com/">http://www.browserstack.com</a></p>
<p>We will test a sample website with Browser Stack below.So that we will examine Browser Stack in detail.</p>
<p>Let’s examine <a href="http://academy.eteration.com/">http://academy.eteration.com</a> with Browser Stack.</p>
<p>First we go to the Browser Stack’s homepage. (Image 10)</p>
<p><a href="http://www.eteration.com/wp-content/uploads/2012/11/111.png"><img class="size-medium wp-image-1666 aligncenter" src="http://www.eteration.com/wp-content/uploads/2012/11/111-300x129.png" alt="" width="300" height="129" /></a></p>
<p style="text-align: center">Image 10</p>
<p>We see Browser Stack’s interface in here.We can select one of the platform and devices from all of the selections which we want to test our website.And we click “Start Testing” button.When we click button,our website view in the selected virtual device in the page. (Image 11)</p>
<p><a href="http://www.eteration.com/wp-content/uploads/2012/11/12.png"><img class="size-medium wp-image-1667 aligncenter" src="http://www.eteration.com/wp-content/uploads/2012/11/12-300x147.png" alt="" width="300" height="147" /></a></p>
<p style="text-align: center">Image 11</p>
<p>I think,the different side of this tool from other tools is that has a lot of platforms and devices.So that we can test with a lot of different platforms and devices.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.eteration.com/testing-websites-for-mobile-compatibility-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Effective Patterns for JAVA Programming</title>
		<link>http://www.eteration.com/effective-patterns-for-java-programming/</link>
		<comments>http://www.eteration.com/effective-patterns-for-java-programming/#comments</comments>
		<pubDate>Mon, 19 Nov 2012 08:43:07 +0000</pubDate>
		<dc:creator>Esma Meral</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.eteration.com/?p=1647</guid>
		<description><![CDATA[Effective Patterns for JAVA Programming 06-07 Dec 2012 03-04 Jan 2013&#160; Your partner that shares the knowledge. The right address for your education needs. &#160; This is an advanced Java™ Programming training course that teaches Java developers how to use<span class="ellipsis">&#8230;</span> <a href="http://www.eteration.com/effective-patterns-for-java-programming/"><div class="read-more">Read more &#8250;</div><!-- end of .read-more --></a>]]></description>
				<content:encoded><![CDATA[<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td></td>
</tr>
<tr>
<td>
<table style="border-style: solid;border-width: 1px" width="800" border="0" cellspacing="0" cellpadding="20" align="center">
<tbody>
<tr>
<td width="295"><span style="font-size: 18pt;color: #000000;font-family: Arial"> Effective Patterns for JAVA<br />
Programming </span></td>
<td align="right" width="170"><span style="font-size: 11pt;color: #000000;font-family: Arial"><span style="font-size: 11pt;color: #000000;font-family: Arial"> 06-07 Dec 2012</p>
<p>03-04 Jan 2013</span></span>&nbsp;</td>
<td align="center" width="215"><img src="http://www.eteration.com/wp-content/themes/responsive/images/default-logo-black.png" alt="" border="0" /></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table style="border-style: solid;border-width: 0 1px 0 1px" width="800" border="0" cellspacing="0" cellpadding="20" align="center" bgcolor="#badd43">
<tbody>
<tr>
<td><span style="font-size: 11pt;color: #000000;font-family: Arial"> Your partner that shares the<br />
knowledge. The right address for your education needs. </span></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table style="border-style: solid;border-width: 1px 1px 0 1px" width="800" border="0" cellspacing="0" cellpadding="20" align="center">
<tbody>
<tr>
<td valign="top" width="535">&nbsp;</p>
<p>This is an advanced Java™ Programming training course<br />
that teaches Java developers how to use design patterns and the<br />
latest advanced Java language skills effectively.</p>
<p>With the advent of Java 6 and 7, the language has seen<br />
profound improvements of which not all developers are aware.<br />
This course highlights those improvements, as well as delving<br />
into a range of topics that an experienced Java developer<br />
needs, such as design patterns, performance (JVM, Garbage<br />
collection, memory leak, profiling etc), concurrency and<br />
refactoring issues: skills that underpin best Java development<br />
project practice worldwide).</p>
<p><span style="font-size: 10pt;color: #000000;font-family: Arial"><strong>Topics<br />
Include:</strong></span></p>
<ul>
<li>Study of best Java development project practice worldwide</li>
<li>Effective use of advanced Java language constructs</li>
<li>Study and applications of over 20 Design Patterns</li>
<li>Performance, concurrency and refactoring</li>
</ul>
<p><a href="http://academy.eteration.com/home/catalog/D-E501" target="_blank"> <span style="font-size: 10pt;color: #ff6600;font-family: Arial"><strong>For<br />
detail information please click here.</strong></span><br />
</a></p>
<p>&nbsp;</p>
<hr />
<p>&nbsp;</p>
<p><strong> D-E501<br />
<span style="font-size: 18pt;color: #000000;font-family: Arial"> Effective Patterns for JAVA<br />
Programming</span><br />
</strong></p>
<p>Dates:<br />
06-07 Dec 2012<br />
03-04 Jan 2013</p>
<p>&nbsp;</p>
<hr />
<p>&nbsp;</p>
<p><strong>For registration:</strong><br />
Zeynep Akgüzel<br />
<a href="mailto:akademi@eteration.com" target="_blank"> <span style="font-size: 11pt;color: #ff6600;font-family: Arial">akademi@eteration.com</span><br />
</a><br />
+90(212) 328 08 25</p>
<p>&nbsp;</td>
<td valign="top" bgcolor="#f0f0f0" width="225">&nbsp;</p>
<p><span style="font-size: 18pt;color: #000000;font-family: Arial"><br />
Effective Patterns for JAVA Programming</span></p>
<p>&nbsp;</p>
<p>06-07 Dec 2012<br />
03-04 Jan 2013<br />
İstanbul</p>
<p>&nbsp;</p>
<p>Register now!</p>
<p>&nbsp;</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table style="border-style: solid;border-width: 0 1px 1px 1px" width="800" border="0" cellspacing="0" cellpadding="20" align="center" bgcolor="#e0e0e0">
<tbody>
<tr>
<td align="left" valign="bottom" width="505"><span style="font-size: 10pt;color: #000000;font-family: Arial"><span style="font-size: 10pt;color: #000000;font-family: Arial"><br />
Eteration A.Ş., İTÜ ARI-3 Teknokent B202 Maslak<br />
İstanbul<br />
34469, Phone: +90(212) 328 08 25</span></span><a href="mailto:akademi@eteration.com" target="_blank"> <span style="font-size: 10pt;color: #000000;font-family: Arial">akademi@eteration.com</span><br />
</a></td>
<td align="right" valign="bottom" width="255"><span style="font-size: 10pt;color: #000000;font-family: Arial"><span style="font-size: 10pt;color: #000000;font-family: Arial"> <a href="http://www.eteration.com" target="_blank"> <span style="font-size: 10pt;color: #000000;font-family: Arial">www.eteration.com</span><br />
</a></span></span>Copyright © 2012,  Eteration A.Ş.</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p align="center"><span style="font-size: 8pt;color: #555555;font-family: Arial"> You<br />
may <a href="mailto:unsubscribe@eteration.com?subject=UNSUBSCRIBE&amp;body=Lutfen, listeden silinmesini istediginiz email adres(ler)ini buraya yazin."><span style="font-size: 8pt;color: #555555;font-family: Arial">unsubscribe</span></a>.if<br />
you no longer wish to receive our emails.<br />
</span></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.eteration.com/effective-patterns-for-java-programming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
