From 5d5e87dbe971b0f85d595a77e805e8a6400078fd Mon Sep 17 00:00:00 2001 From: rylon Date: Fri, 23 Jan 2015 13:11:44 +0100 Subject: [PATCH 1/3] java text proto --- neopolimatrix/files/java.md | 75 +++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 neopolimatrix/files/java.md diff --git a/neopolimatrix/files/java.md b/neopolimatrix/files/java.md new file mode 100644 index 0000000..b99fb67 --- /dev/null +++ b/neopolimatrix/files/java.md @@ -0,0 +1,75 @@ +Die Dümmste Programmiersprache der Welt - Java. +=============================================== + +Into +---- +Java lässt sich am besten an Minecraft erklären, um die Sprachfeatures zu +verstehen. Die elementaren Features von Minecraft sind: + + - es ist langsam(performace) + - es stürzt ab(fehler zur laufzeit) + - es lässt sich gar nicht erst starten + +Diese drei Freatures sind nicht Problem von Minecraft, sondern elementare +Sprachfeatures. Im folgenden soll das anhand von fundierteren Beispielen +erörtert und bestätigt werden. + +Performace +---------- +Wenn du mit einem Java-Jünger über die Performace sprichst, dann wird er dir +sagen: Java ist "prinzipiell" genauso schnell wie C - wenn nicht schneller. +Hier kannst du das Gespräch abbrechen, da dieser Satz dem Sprecher absolute +Ahnungslosigkeit nachweist. Prinziepiell gilt bezüglich der Performance: + + Assembler > C > C++ > Alle anderen Sinnvollen Sprachen > Java + +Dabei gilt allerdings nicht per se, dass Assembler schneller ist - es besteht +nur die Möglichkeit mit Assembler(lesbarer Maschinencode) die schnellsten +Programme zu schreiben. Die höheren Sprachen wie C und C++ erlauben für den +Menschen besser lesbaren Code zu schreiben. Dafür wird an möglicher Performance +eingebüßt. Assembler, C und C++ arbeiten dabei direkt auf unserer +Prozessorarchitektur und bilden diese ab. Das ist sinnvoll! + +Java geht da ein etwas anderen Weg. Um den zu verstehen muss erstmal ein wenig +ausgeholt werden: Unsere Prozessorarchitektur ist vereinheitlicht unter dem +Standart x86 (und die Zahl steht dabei für das Jahr - lol) bzw x64 (doppelt so +großer Speicher, selbe Architektur). Nun hat sich leider aus monetären Gründen +drei verschiedene Betriebsysteme entwickelt, die nicht kompatibel untereinander +sind, aber alle auf der selben Hardware laufen. Genau hier setzt Java an. +Java ist ein Programm, dass es für diese drei Betriebsysteme jeweils gibt. +Dieses Programm erstellt dann eine virtuelle Maschiene, die mit den +Java-Befehlen umgehen kann. Ziel des ganzen ist es wieder Kompatibilität +zwischen den Betriebsystemen herzustellen (ein Programm kann auf allen drei +ausgeführt werden) - die per se vorhanden ist, da die Hardware ja die gleiche +ist. Schon hier ist die Retardedness von Java zu erkennen. Und jedem sollte klar +sein, dass wenn ich auf einer Maschine eine virtuelle Maschine ausführe, dass +das auf keinen Fall schnell(er) von statten gehen kann, als wenn ich es direkt +auf der Maschine ausführe. + +OOP +--- +OOP (Objekt orientiertes Programmieren) wird in Java groß geschrieben. Dabei +haben die Entwickler vergessen, dass das nur ein Hilfsmittel ist, dass in den +seltesten Fällen sinnvoll einsetzbar ist. Alles in Java ist ein Objekt +- das lustige dabei - alles erbt vom selben Objekt (genannt "Object"). +Das führt aber zwangsläufig dazu, dass OOP in Java gar nicht mehr möglich ist - +betrachte folgendes Beispiel: + +a type Apfel erbt von Object +b type Banane erbt von Object + +Vergleiche a mit b -> Oh beides ist ein Object... lol +Mache a zu b -> Das geht - da beide Objects sind - und da haben wir den schönen +Äpfel = Bananen. + +Warum sollte man zwei absolut unterschiedliche Objekte von einem gemeinsammen +erben lassen? Das ist dumm! Und das schöne - in Java wird das erzwungen ;-) +(Jeder der schonmal eine clone() oder copy() Funktion für ein Objekt geschrieben +hat wird schnell festgestellt haben, dass das keine Sprache ist die ein +denkender Mensch freiwillig einsetzen würde) + +Neben den verirrungen innerhalb von OOP ist es generell nciht sonderlich +sinnvoll viele Objekte anzulegen - die kosten Speicherplatz - und wer Minecraft +gespielt hat kennt das Problem - Ram = Voll = Always. Selbiges für den Server; +warum sollte eine Klötzchenwelt 2-4gb ram auf dem Server verbrauchen? +Es gibt dafür nur einen Grund - Java ;-) \ No newline at end of file From 7497638beca68cea68d52fe6255a960fee269af4 Mon Sep 17 00:00:00 2001 From: rylon Date: Fri, 23 Jan 2015 15:55:18 +0100 Subject: [PATCH 2/3] statesystem implementation --- index.php | 2 +- neopolimatrix/page/autoload.inc | 4 +- .../page/default_article/default_article.php | 24 +++++++++++ .../tpl/default_article.tpl} | 0 .../tpl}/element.tpl | 0 .../page/default_element/default_element.php | 30 -------------- .../default_impressum/default_impressum.php | 8 ++++ .../tpl}/impressum.tpl | 0 .../page/default_list/default_list.php | 17 ++++---- .../page/default_list/js/default_list.js | 4 ++ .../default_list/{ => tpl}/default_list.tpl | 0 .../page/default_list/{ => tpl}/element.tpl | 0 .../page/default_page/default_page.php | 14 +++---- neopolimatrix/page/default_page/js/content.js | 41 ------------------- .../page/default_page/js/default_page.js | 39 ++++++++++++++++++ .../default_page/{ => tpl}/default_page.tpl | 10 ++--- .../page/default_page/{ => tpl}/element.tpl | 0 neopolimatrix/page/impressum/impressum.php | 17 -------- neopolimatrix/page/page_neopolimatrix.php | 8 ++-- system | 2 +- 20 files changed, 102 insertions(+), 118 deletions(-) create mode 100644 neopolimatrix/page/default_article/default_article.php rename neopolimatrix/page/{default_element/default_element.tpl => default_article/tpl/default_article.tpl} (100%) rename neopolimatrix/page/{default_element => default_article/tpl}/element.tpl (100%) delete mode 100644 neopolimatrix/page/default_element/default_element.php create mode 100644 neopolimatrix/page/default_impressum/default_impressum.php rename neopolimatrix/page/{impressum => default_impressum/tpl}/impressum.tpl (100%) create mode 100644 neopolimatrix/page/default_list/js/default_list.js rename neopolimatrix/page/default_list/{ => tpl}/default_list.tpl (100%) rename neopolimatrix/page/default_list/{ => tpl}/element.tpl (100%) delete mode 100644 neopolimatrix/page/default_page/js/content.js create mode 100644 neopolimatrix/page/default_page/js/default_page.js rename neopolimatrix/page/default_page/{ => tpl}/default_page.tpl (79%) rename neopolimatrix/page/default_page/{ => tpl}/element.tpl (100%) delete mode 100644 neopolimatrix/page/impressum/impressum.php diff --git a/index.php b/index.php index 093ea24..9d22170 100644 --- a/index.php +++ b/index.php @@ -9,5 +9,5 @@ require_once 'config.php'; \SYSTEM\system::register_errorhandler_dbwriter(); \SYSTEM\system::register_errorhandler_jsonoutput(); -echo \SYSTEM\API\api::run('\SYSTEM\API\verify', 'page_neopolimatrix', array_merge($_POST,$_GET), 1, false, true)->html(); +echo \SYSTEM\API\api::run('\SYSTEM\API\verify', 'page_neopolimatrix', array_merge($_POST,$_GET), 1, true, true)->html(); new \SYSTEM\LOG\COUNTER("Page was called sucessfully."); \ No newline at end of file diff --git a/neopolimatrix/page/autoload.inc b/neopolimatrix/page/autoload.inc index 4de4cde..b017c11 100644 --- a/neopolimatrix/page/autoload.inc +++ b/neopolimatrix/page/autoload.inc @@ -2,6 +2,6 @@ SYSTEM\autoload::registerFolder(dirname(__FILE__),''); SYSTEM\autoload::registerFolder(dirname(__FILE__).'/default_page',''); SYSTEM\autoload::registerFolder(dirname(__FILE__).'/default_list',''); -SYSTEM\autoload::registerFolder(dirname(__FILE__).'/default_element',''); -SYSTEM\autoload::registerFolder(dirname(__FILE__).'/impressum',''); +SYSTEM\autoload::registerFolder(dirname(__FILE__).'/default_article',''); +SYSTEM\autoload::registerFolder(dirname(__FILE__).'/default_impressum',''); diff --git a/neopolimatrix/page/default_article/default_article.php b/neopolimatrix/page/default_article/default_article.php new file mode 100644 index 0000000..6fa96a0 --- /dev/null +++ b/neopolimatrix/page/default_article/default_article.php @@ -0,0 +1,24 @@ +article_id = $id; + } + + + public function get_text(){ + $result = ''; + $element = elements::getText($this->article_id); + $element['title'] = $element['id']; + $result .= SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_article/tpl/element.tpl'), $element); + return $result; + } + + public function html(){ + $vars = array(); + $vars['text'] = $this->get_text(); + return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_article/tpl/default_article.tpl'), $vars); + } +} \ No newline at end of file diff --git a/neopolimatrix/page/default_element/default_element.tpl b/neopolimatrix/page/default_article/tpl/default_article.tpl similarity index 100% rename from neopolimatrix/page/default_element/default_element.tpl rename to neopolimatrix/page/default_article/tpl/default_article.tpl diff --git a/neopolimatrix/page/default_element/element.tpl b/neopolimatrix/page/default_article/tpl/element.tpl similarity index 100% rename from neopolimatrix/page/default_element/element.tpl rename to neopolimatrix/page/default_article/tpl/element.tpl diff --git a/neopolimatrix/page/default_element/default_element.php b/neopolimatrix/page/default_element/default_element.php deleted file mode 100644 index a9df8ac..0000000 --- a/neopolimatrix/page/default_element/default_element.php +++ /dev/null @@ -1,30 +0,0 @@ -text_id = $text_id; - } - - - public function get_text(){ - $result = ''; - $element = elements::getText($this->text_id); - $element['title'] = $element['id']; - $result .= SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_element/element.tpl'), $element); - return $result; - } - - public function html(){ - $vars = array(); - $vars['text'] = $this->get_text(); - return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_element/default_element.tpl'), $vars); - } -} -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ - diff --git a/neopolimatrix/page/default_impressum/default_impressum.php b/neopolimatrix/page/default_impressum/default_impressum.php new file mode 100644 index 0000000..d58696b --- /dev/null +++ b/neopolimatrix/page/default_impressum/default_impressum.php @@ -0,0 +1,8 @@ +filter = $filter; @@ -17,7 +20,7 @@ class default_list extends \SYSTEM\PAGE\Page { case 4: return '%korruption%'; default: - return 'filter fail';} + return '%';} } @@ -27,7 +30,7 @@ class default_list extends \SYSTEM\PAGE\Page { $elements = elements::getAllElementsOfTag($this->switch_filter($tag)); foreach($elements as $element){ $element['title'] = $element['id']; - $result .= SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_list/element.tpl'), $element); + $result .= SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_list/tpl/element.tpl'), $element); } return $result; } @@ -35,12 +38,6 @@ class default_list extends \SYSTEM\PAGE\Page { public function html(){ $vars = array(); $vars['list'] = $this->generate_list(); - return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_list/default_list.tpl'), $vars); + return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_list/tpl/default_list.tpl'), $vars); } -} -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ - +} \ No newline at end of file diff --git a/neopolimatrix/page/default_list/js/default_list.js b/neopolimatrix/page/default_list/js/default_list.js new file mode 100644 index 0000000..11f9adb --- /dev/null +++ b/neopolimatrix/page/default_list/js/default_list.js @@ -0,0 +1,4 @@ +function init_start(){ + $(".list_element").click(function(){ + system.load('article;article.'+$(this).attr('text_id'))}); +} \ No newline at end of file diff --git a/neopolimatrix/page/default_list/default_list.tpl b/neopolimatrix/page/default_list/tpl/default_list.tpl similarity index 100% rename from neopolimatrix/page/default_list/default_list.tpl rename to neopolimatrix/page/default_list/tpl/default_list.tpl diff --git a/neopolimatrix/page/default_list/element.tpl b/neopolimatrix/page/default_list/tpl/element.tpl similarity index 100% rename from neopolimatrix/page/default_list/element.tpl rename to neopolimatrix/page/default_list/tpl/element.tpl diff --git a/neopolimatrix/page/default_page/default_page.php b/neopolimatrix/page/default_page/default_page.php index b6d4cf9..bce8b1c 100644 --- a/neopolimatrix/page/default_page/default_page.php +++ b/neopolimatrix/page/default_page/default_page.php @@ -6,8 +6,8 @@ class default_page extends \SYSTEM\PAGE\Page { ''. ''. ''. - ''. - ''; + ''. + ''; } @@ -19,21 +19,21 @@ class default_page extends \SYSTEM\PAGE\Page { ''; } - public function generate_elementlist(){ + /*public function generate_elementlist(){ $result = ''; $elements = elements::getAllElementsOfTag('%'); foreach($elements as $element){ $element['title'] = $element['id']; - $result .= SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_page/element.tpl'), $element); + $result .= SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_page/tpl/element.tpl'), $element); } return $result; - } + }*/ public function html(){ $vars = array(); $vars['js'] = $this->js(); $vars['css'] = $this->css(); - $vars['content'] = $this->generate_elementlist(); - return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_page/default_page.tpl'), $vars); + //$vars['content'] = $this->generate_elementlist(); + return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_page/tpl/default_page.tpl'), $vars); } } diff --git a/neopolimatrix/page/default_page/js/content.js b/neopolimatrix/page/default_page/js/content.js deleted file mode 100644 index d01833d..0000000 --- a/neopolimatrix/page/default_page/js/content.js +++ /dev/null @@ -1,41 +0,0 @@ -$(document).ready(function() { - tabs(); - impressum(); - load_list(1); -}); - - -function btn_element(){ - $(".list_element").click(function(){ - load_element($(this).attr('text_id')); - }); -} - -function load_element(text_id){ - $('#contentframe').load('./?page=get_element&text_id=' + text_id, function(){ - }); -} - -function impressum(){ - $("#btn_impressum").click(function(){ - $('#contentframe').load('./?page=impressum', function(){ - - }); - $(this).tab('show'); - }); -} - -function tabs(){ - $("#tabs_user_list a").click(function(){ - load_list($(this).attr('filter')); - $(this).tab('show'); - btn_element(); - }); -} - - -function load_list(filter){ - $('#contentframe').load('./?page=get_list&filter=' + filter, function(){ - btn_element(); - }); -} \ No newline at end of file diff --git a/neopolimatrix/page/default_page/js/default_page.js b/neopolimatrix/page/default_page/js/default_page.js new file mode 100644 index 0000000..d0bbdbb --- /dev/null +++ b/neopolimatrix/page/default_page/js/default_page.js @@ -0,0 +1,39 @@ +$(document).ready(function() { + new SYSTEM('./api.php',1,'start;filter.1'); + tabs(); + impressum(); +}); + +function impressum(){ + $("#btn_impressum").click(function(){ + system.load('impressum');}); +} + +function tabs(){ + $("#tabs_user_list a").click(function(){ + $('#tabs_user_list li').each(function(){ + $(this).removeClass('active');}); + $(this).parent().addClass('active'); + system.load('start;filter.'+$(this).attr('filter')); + //btn_element(); + }); +} + +/*function btn_element(){ + $(".list_element").click(function(){ + system.load('article;article.'+$(this).attr('text_id')) + //load_element($(this).attr('text_id')); + }); +} + +function load_element(text_id){ + $('#contentframe').load('./?page=get_element&text_id=' + text_id, function(){ + }); +} + + +function load_list(filter){ + $('#contentframe').load('./?page=get_list&filter=' + filter, function(){ + btn_element(); + }); +}*/ \ No newline at end of file diff --git a/neopolimatrix/page/default_page/default_page.tpl b/neopolimatrix/page/default_page/tpl/default_page.tpl similarity index 79% rename from neopolimatrix/page/default_page/default_page.tpl rename to neopolimatrix/page/default_page/tpl/default_page.tpl index 9731c45..fd75146 100644 --- a/neopolimatrix/page/default_page/default_page.tpl +++ b/neopolimatrix/page/default_page/tpl/default_page.tpl @@ -12,7 +12,7 @@
Blog   - Impressum + Impressum
@@ -21,10 +21,10 @@

Nach Themen