<?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>Der Informatikblog &#187; admin</title>
	<atom:link href="http://www.informatik-blog.net/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.informatik-blog.net</link>
	<description>Informatik &#38; Co.</description>
	<lastBuildDate>Mon, 19 Dec 2011 13:01:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Kinosaal Plätze prüfen</title>
		<link>http://www.informatik-blog.net/2010/12/13/kinosaal-platze-prufen/</link>
		<comments>http://www.informatik-blog.net/2010/12/13/kinosaal-platze-prufen/#comments</comments>
		<pubDate>Mon, 13 Dec 2010 15:30:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.informatik-blog.net/?p=636</guid>
		<description><![CDATA[import java.util.ArrayList; import java.util.Collections; public class Kino { ArrayList&#60;Integer&#62; platz = new ArrayList&#60;Integer&#62;(); static int platzReihe = 50; int startplatz, endplatz; public Kino(int Kategorie) { platz.add(0); //Fixt den Bug, da sonst -1 ausgabe bei BinarySearch switch (Kategorie) { case 1:    startplatz = 1;  break; // Reihe A case 2: startplatz = 100; break; // Reihe [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<pre class="brush: plain; title: ;">

import java.util.ArrayList;
import java.util.Collections;

public class Kino {

 ArrayList&lt;Integer&gt; platz = new ArrayList&lt;Integer&gt;();
 static int platzReihe = 50;
 int startplatz, endplatz;

 public Kino(int Kategorie) {
 platz.add(0); //Fixt den Bug, da sonst -1 ausgabe bei BinarySearch
 switch (Kategorie) {
 case 1:    startplatz = 1;  break; // Reihe A
 case 2: startplatz = 100; break; // Reihe B
 case 3:    startplatz = 200; break; // Reihe C
 case 4:    startplatz = 300; break; // Reihe D
 }
 endplatz = startplatz + platzReihe;
 }

 public boolean checkPlatz(int anzahlPlaetze) {
 int tempInt = 0;
 for (int i = startplatz; i &lt; endplatz; i++) {
 if (istFrei(i)) {
 tempInt++;
 } else {
 tempInt = 0;
 }

 if (tempInt == anzahlPlaetze) {
 return true;
 }

 }
 return false;
 }

 /**
 *
 * @param platznummer
 * @return true, wenn der Platz frei ist.
 */

 public boolean istFrei(int platznummer) {
 if (! (platznummer &lt; startplatz) || (platznummer &gt; endplatz) ) { // prüfe ob platznumer in Range
 Collections.sort(platz);
 return (Integer.valueOf(Collections.binarySearch(platz, platznummer)) &lt;= 0) ? true : false;
 }
 return false;
 }

 public boolean addPlatz(int Platznummer, int Kategorie) {
 if (istFrei(Platznummer)) {
 platz.add(Platznummer);
 return true;
 } else {
 return false;
 }
 }

 public boolean deletePlatz(int platznummer) {
 Collections.sort(platz);
 platz.remove( Collections.binarySearch(platz, platznummer) );
 return true;
 }

 public int hoechstePlatznummer(int Kategorie) {
 int z = 0;
 for (int i = endplatz; i &gt; startplatz; i--) {
 if (Collections.binarySearch(platz, i) &gt; 0);
 z = platz.get( Collections.binarySearch(platz, i) );
 System.out.println(&quot;Z!&quot; + z);

 }

 return z;
 }

 public static void main(String args[]) {
 Kino test = new Kino(2); // A = 1, B = 2, C = 3, D = 4

 test.addPlatz(104, 2);
 test.addPlatz(108, 2);
 test.addPlatz(144, 2);

 if (test.checkPlatz(44) == true) {
 System.out.println(&quot;Jep, frei.&quot;);
 } else {
 System.out.println(&quot;keiner frei&quot;);
 }

 test.hoechstePlatznummer(2);

 }
}
</pre>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.informatik-blog.net/2010/12/13/kinosaal-platze-prufen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generische Klassen in Java &#8211; Einsteigertutorial</title>
		<link>http://www.informatik-blog.net/2010/09/29/generische-klassen-in-java-einsteigertutorial/</link>
		<comments>http://www.informatik-blog.net/2010/09/29/generische-klassen-in-java-einsteigertutorial/#comments</comments>
		<pubDate>Wed, 29 Sep 2010 10:07:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Datentypen]]></category>
		<category><![CDATA[Generische Klassen]]></category>
		<category><![CDATA[Integer]]></category>
		<category><![CDATA[String]]></category>

		<guid isPermaLink="false">http://www.informatik-blog.net/?p=632</guid>
		<description><![CDATA[Nun, generische Klassen klingt auf Anhieb kompliziert, sind jedoch, mit ein bisschen Übung eine leichte und sehr sinnvolle Methode um Schablonen, bzw. Templates in Java zu erstellen. Sinn hierbei ist es, dass kein Code dupliziert werden muss, sofern es mehrere Datentypen gibt. Unten genanntes Beispiel zeigt, wie Simpel es gehen kann ein Template zu erstellen. [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Nun, generische Klassen klingt auf Anhieb kompliziert, sind jedoch, mit ein bisschen Übung eine leichte und sehr sinnvolle Methode um Schablonen, bzw. Templates in Java zu erstellen. Sinn hierbei ist es, dass kein Code dupliziert werden muss, sofern es mehrere Datentypen gibt. Unten genanntes Beispiel zeigt, wie Simpel es gehen kann ein Template zu erstellen.</p>
<pre class="brush: plain; title: ;">

public class Ausgabe &lt;T&gt; { // &lt;T&gt; deklariert eine Templatevariable mit dem Namen T ohne Datentyp.
 public Ausgabe() {}

 private T out;

 public void setOut(T val) // Weiterhin wird mit dem &quot;Leeren Datentyp&quot; gearbeitet.
 {
 out = val;
 }
 public T giveOut() { // Hier wird der Datentyp ausgegeben, der vorher in dem instanziernden Objekt erstellt wurde
 return out;
 }

public static void main(String[] args) {

 Ausgabe&lt;String&gt; f = new Ausgabe&lt;String&gt;(); // Legt ein Objekt mit Dem Datentyp String an
 f.setOut(&quot;test&quot;);
 System.out.println( f.giveOut() );

 Ausgabe&lt;Integer&gt; a = new Ausgabe&lt;Integer&gt;(); // Legt ein Objekt mit dem Datentyp Integer an
 a.setOut(5);
 System.out.println( a.giveOut() );
 }

}
</pre>
<p>Wie ihr seht ist das ganze kein Teufelswerk und kann super einfach umgesetzt werden. Natürlich kann man generische Klassen auf beschränken auf verschiedene Datentypen. Das jedoch zeige ich im nächsten Tutorial.</p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.informatik-blog.net/2010/09/29/generische-klassen-in-java-einsteigertutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UMTS</title>
		<link>http://www.informatik-blog.net/2010/06/28/627/</link>
		<comments>http://www.informatik-blog.net/2010/06/28/627/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 19:43:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Netzwerke]]></category>

		<guid isPermaLink="false">http://www.informatik-blog.net/?p=627</guid>
		<description><![CDATA[Besonders für den Einsatz von mobilen Internet-Technologien wie UMTS in den eigenen vier Wänden, ist ein UMTS Router eine gute Wahl. Ein solches Gerät stellt eine Internetverbindung via Mobilfunknetz bereit und ermöglicht es dem Nutzer dann das verbinden per WLAN. So können mehrere Notebooks oder Smartphones über einen UMTS-Zugang betrieben werden. Die Bandbreite beträgt optimal [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Besonders für den Einsatz von mobilen Internet-Technologien wie UMTS in den eigenen vier Wänden, ist ein UMTS Router eine gute Wahl. Ein solches Gerät stellt eine Internetverbindung via Mobilfunknetz bereit und ermöglicht es dem Nutzer dann das verbinden per WLAN. So können mehrere Notebooks oder Smartphones über einen UMTS-Zugang betrieben werden. Die Bandbreite beträgt optimal 7,2 MBit/s, diese wird dann selbstverständlich unter den verschiedenen Nutzern bzw. Notebooks aufgeteilt.</p>
<p>via <a href="http://www.mobiles-internet123.de/">mobiles-internet123.de</a></p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.informatik-blog.net/2010/06/28/627/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Berechnen der Dateigröße beim Scanner</title>
		<link>http://www.informatik-blog.net/2010/02/11/berechnen-der-dateigrose-beim-scanner/</link>
		<comments>http://www.informatik-blog.net/2010/02/11/berechnen-der-dateigrose-beim-scanner/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 14:05:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Umrechnungen]]></category>
		<category><![CDATA[DPI]]></category>
		<category><![CDATA[Farbtiefe]]></category>
		<category><![CDATA[Inch]]></category>
		<category><![CDATA[Umrechnung]]></category>

		<guid isPermaLink="false">http://www.informatik-blog.net/?p=624</guid>
		<description><![CDATA[Wie es leider oft der Fall ist, weiß man nicht sofort wie groß die Datei nach einem Scannvorgang sein wird. Um dies zu ermitteln benötigt man die Farbtiefe, die Breite und Höhes des Bildes sowie die DPI (Dots per Inch). Hierfür muss man auch wissen, dass ein Inch exakt 2,54 CM groß ist. Die Berechnung [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Wie es leider oft der Fall ist, weiß man nicht sofort wie groß die Datei nach einem Scannvorgang sein wird.<br />
Um dies zu ermitteln benötigt man die Farbtiefe, die Breite und Höhes des Bildes sowie die DPI (Dots per Inch).</p>
<p>Hierfür muss man auch wissen, dass ein Inch exakt 2,54 CM groß ist.</p>
<p>Die Berechnung der Dateigröße berechnet sich aus Grösse = (horizontale Punkte) * (vertikale Punkte) * Farbtiefe.</p>
<p>Die horizontale und verikale Punkte berechnen sich aus</p>
<p>horizontale Punkte = Breite * Auflösung in dpi / (2,54cm/inch)<br />
vertikale Auflösung = Höhe * Auflösung in dpi / (2,54cm/inch)</p>
<p>Somit ergibt sich wiederrum bei folgendem Beispiel diese Berechnung:</p>
<p><span id="more-624"></span></p>
<p><strong>Beispiel:</strong><br />
Auflösung: 300 dpi = 300 dot / inch = 300 dot / 2,54cm<br />
Breite: 10cm<br />
Höhe: 20cm<br />
Farbtiefe: 16 Bit</p>
<p>(10cm x 300dot / 2,54cm) x (20cm x 300dot / 2,54cm) * 16Bit / Pixel<br />
= (3.000dot / 2,54) x (6.000dot / 2,54) x 8 Byte / dot²<br />
= 1181,1 x 2362,2 * 8 Byte<br />
= 22320044,640 Byte<br />
= ca. 21,3 MB</p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.informatik-blog.net/2010/02/11/berechnen-der-dateigrose-beim-scanner/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mehrere IP-Adressen Bundles erstellen</title>
		<link>http://www.informatik-blog.net/2009/12/16/mehrere-ip-adressen-bundles-erstellen/</link>
		<comments>http://www.informatik-blog.net/2009/12/16/mehrere-ip-adressen-bundles-erstellen/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 14:53:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Arrays]]></category>
		<category><![CDATA[Bundle]]></category>
		<category><![CDATA[Sortieren]]></category>

		<guid isPermaLink="false">http://www.informatik-blog.net/?p=619</guid>
		<description><![CDATA[Nunja, zugegeben der Titel sagt nicht viel, jedoch habe ich mich gestern gefragt wie ich ein Array mit mehreren Einträgen bundlen kann. Zweck war, mehrere Domains inkl. IPs zu sortieren und bei gleichen IPs farbig auszugeben. Das Ergebniss ist eigentlich relativ einfach wie unten genanntes Beispiel zeigt: &#60;?php error_reporting(E_ALL); set_time_limit(0); echo ' &#60;form method=&#34;post&#34; action=&#34;&#34;&#62; [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Nunja, zugegeben der Titel sagt nicht viel, jedoch habe ich mich gestern gefragt wie ich ein Array mit mehreren Einträgen bundlen kann.</p>
<p>Zweck war, mehrere Domains inkl. IPs zu sortieren und bei gleichen IPs farbig auszugeben.</p>
<p>Das Ergebniss ist eigentlich relativ einfach wie unten genanntes Beispiel zeigt:</p>
<p><span id="more-619"></span></p>
<pre class="brush: php; title: ;">

&lt;?php
error_reporting(E_ALL);
set_time_limit(0);

echo '
&lt;form method=&quot;post&quot; action=&quot;&quot;&gt;
&lt;textarea name=&quot;urls&quot;&gt;&lt;/textarea&gt;&lt;br&gt;
&lt;input name=&quot;submit&quot; type=&quot;submit&quot; value=&quot;Abfragen&quot; /&gt;
&lt;/form&gt;
';

if (isset($_POST['submit'])) {
 $eingabe = explode(&quot;\n&quot;, $_POST['urls']);
}

$colorsArray = array(
'#ffebcd',
'#0000ff',
'#8a2be2',
'#a52a2a',
'#deb887',
'#5f9ea0',
'#7fff00',
'#d2691e',
'#ff7f50',
'#6495ed',
'#fff8dc',
'#dc143c',
'#00ffff',
'#ff8c00',
'#9932cc',
'#8b0000',
'#e9967a',
'#8fbc8f',
'#483d8b',
'#2f4f4f',
'#00ced1',
'#9400d3',
'#ff1493',
'#00bfff',
'#1e90ff',
'#b22222',
'#fffaf0',
'#228b22',
'#ff00ff',
'#f8f8ff',
'#ffd700',
'#daa520',
'#008000',
'#adff2f',
'#f0fff0',
'#ff69b4',
'#cd5c5c',
'#4b0082',
'#fffff0',
'#f0e68c',
'#e6e6fa',
'#fff0f5',
'#7cfc00',
'#fffacd',
'#add8e6',
'#f08080',
'#e0ffff',
'#fafad2',
'#90ee90',
'#ffb6c1',
'#ffa07a',
'#20b2aa',
'#87cefa',
'#778899',
'#b0c4de',
'#ffffe0',
'#00ff00',
'#32cd32',
'#faf0e6',
'#ff00ff',
'#800000',
'#66cdaa',
'#0000cd',
'#ba55d3',
'#9370db',
'#3cb371',
'#7b68ee',
'#00fa9a',
'#48d1cc',
'#c71585',
'#191970',
'#f5fffa',
'#ffe4e1',
'#ffe4b5',
'#ffdead',
'#000080',
'#fdf5e6',
'#808000',
'#6b8e23',
'#ffa500',
'#ff4500',
'#da70d6',
'#eee8aa',
'#98fb98',
'#afeeee',
'#db7093',
'#ffefd5',
'#ffdab9',
'#cd853f',
'#ffc0cb',
'#dda0dd',
'#b0e0e6',
'#800080',
'#ff0000',
'#bc8f8f',
'#4169e1',
'#8b4513',
'#fa8072',
'#f4a460',
'#2e8b57',
'#fff5ee',
'#a0522d',
'#87ceeb',
'#6a5acd',
'#708090',
'#fffafa',
'#00ff7f',
'#4682b4',
'#d2b48c',
'#008080',
'#d8bfd8',
'#ff6347',
'#40e0d0',
'#ee82ee',
'#f5deb3',
'#f5f5f5',
'#ffff00',
'#9acd32',
'#ffffff',
'#dcdcdc',
'#d3d3d3',
'#c0c0c0',
'#a9a9a9',
'#808080'
);

echo '&lt;script src=&quot;sorttable.js&quot;&gt;&lt;/script&gt;';

$startcolor = 0;

foreach ($eingabe as $out) {  $domains[] = array(gethostbyname(trim($out))   , $out  ); }

$colors = array();
foreach ($domains as $o) {
 if (!array_key_exists( $o[0] , $colors)) {
 $colors[$o[0]] = $colorsArray[ $startcolor ] ;
 $startcolor++;
 }
}

echo &quot;&lt;table class='sortable'&gt;&lt;tr&gt;&lt;td&gt;Domain&lt;/td&gt;&lt;td&gt;IP&lt;/td&gt;&lt;/tr&gt;&quot;;

$cnt = 0;
foreach ($domains as $ausgabe) {

 echo &quot;&lt;tr style='background-color:&quot;. $colors[ $ausgabe[0] ].&quot;;'&gt;
 &lt;td&gt;&quot;.$ausgabe[1].&quot;&lt;/td&gt;
 &lt;td&gt;&quot;.$ausgabe[0].&quot;&lt;/td&gt;
 &lt;/tr&gt;
 &quot;;
}
echo &quot;&lt;/table&gt;&quot;;

?&gt;
</pre>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.informatik-blog.net/2009/12/16/mehrere-ip-adressen-bundles-erstellen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Objekte einmalig instanzieren</title>
		<link>http://www.informatik-blog.net/2009/03/26/objekte-einmalig-instanzieren/</link>
		<comments>http://www.informatik-blog.net/2009/03/26/objekte-einmalig-instanzieren/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 23:41:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[getSingletonObject]]></category>
		<category><![CDATA[instanzierung]]></category>
		<category><![CDATA[Objekte]]></category>

		<guid isPermaLink="false">http://www.informatik-blog.net/?p=546</guid>
		<description><![CDATA[Um ein Objekt nur einmal zu instanzieren und von jeder Klasse auf das gleiche Objekt zuzugreifen, wird SingleTon genutzt. Die Problemlösung ist einfach und sauber. Um ein Objekt nur einmal zu instanzieren, wird geprüft ob das Objekt bereits instanziert wurde und falls es bereits instanziert wurde, wird das Objekt zurück gegeben. Falls das Projekt noch [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Um ein Objekt nur einmal zu instanzieren und von jeder Klasse auf das gleiche Objekt zuzugreifen, wird SingleTon genutzt.</p>
<p>Die Problemlösung ist einfach und sauber. Um ein Objekt nur einmal zu instanzieren, wird geprüft ob das Objekt bereits instanziert wurde und falls es bereits instanziert wurde, wird das Objekt zurück gegeben. Falls das Projekt noch nicht instanziert wurde, wird ein neues Objekt angelegt.</p>
<p>Folgendes Codebeispiel liefert in verschiedenen Klassen immer das gleiche Objekt zurück:</p>
<p><span id="more-546"></span></p>
<pre class="brush: java; title: ;">

public class LogModel {

/**
*
*/

private static LogModel logObj;

public static synchronized LogModel getSingletonObject() {
if (logObj == null) {
logObj = new LogModel();
}
return logObj;
}
}
</pre>
<p>Wichtig ist, dass für die instanzierung des Objekts die Methode getSingletonObject genutzt wird. Dies könnte z.b so aussehen:</p>
<pre class="brush: java; title: ;">

LogModel meinObjekt = LogModel.getSingletonObject();
</pre>
<p>Solange getSingletonObject in den Klassen aufgerufen wird, wird immer das gleiche Objekt genutzt.</p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.informatik-blog.net/2009/03/26/objekte-einmalig-instanzieren/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

