Ga naar inhoud
Log in om dit te volgen  
nielsba

Wat heb jij vandaag geprogrammeerd? 2.0

Aanbevolen berichten

Shahiem (link):
Bezig om in mijn vrije tijd een MMOCC game te maken en java te leren.

Ik probeerde tiles naast elkaar te zetten maar gaat niet echt lekker. Maar ik ben blij dat ik iets op mijn window heb gekregen.

Afbeelding


Waarom gebruik je geen library die isometric rendered?

Deel dit bericht


Link naar bericht
Delen op andere sites
Alemaalte (link):
Shahiem (link):
Bezig om in mijn vrije tijd een MMOCC game te maken en java te leren.

Ik probeerde tiles naast elkaar te zetten maar gaat niet echt lekker. Maar ik ben blij dat ik iets op mijn window heb gekregen.

Afbeelding


Waarom gebruik je geen library die isometric rendered?


Ik gebruik op het moment LWJGL 3. Geen idee of die optie er gewoon in zit.

Deel dit bericht


Link naar bericht
Delen op andere sites
Plaatje

Nog niet helemaal goed, maar transparantie is weg. Ik heb nu wel het probleem, dat als ik de windows sluit mijn computer heel langzaam gaat doen. Ik heb nog geen idee waar dat aan ligt.

Deel dit bericht


Link naar bericht
Delen op andere sites
Shahiem (link):
Afbeelding

Nog niet helemaal goed, maar transparantie is weg. Ik heb nu wel het probleem, dat als ik de windows sluit mijn computer heel langzaam gaat doen. Ik heb nog geen idee waar dat aan ligt.


Kijk (eventueel met process hacker) naar het geheugen- en cpuverbruik van je programma.

Deel dit bericht


Link naar bericht
Delen op andere sites
Kitnkiller (link):
Shahiem (link):
Afbeelding

Nog niet helemaal goed, maar transparantie is weg. Ik heb nu wel het probleem, dat als ik de windows sluit mijn computer heel langzaam gaat doen. Ik heb nog geen idee waar dat aan ligt.


Kijk (eventueel met process hacker) naar het geheugen- en cpuverbruik van je programma.


Thanks, ik zal even kijken smiley

Deel dit bericht


Link naar bericht
Delen op andere sites
Codeblok (voorbeeld.php):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
/*
  PageViewer
  - Dylan
*/

namespace ExcellentCode;

final class PageViewer {
  protected $_path, $_config;
  public function __construct($path = "404", $config) {
    if(count($config["pages"]) == 0) throw new Exception("No pages defined");
    $this->_path = $path;
    $this->_config = $config;
    $this->_lookUp();
  }


  protected function _lookUp() {
    if(isset($this->_config["pages"][$this->_path])) {
      if(is_array($this->_config["pages"][$this->_path]) &&
         isset($this->_config["pages"][$this->_path]["controller"]) &&
         isset($this->_config["pages"][$this->_path]["url"])) {
        if(file_exists(ABS_PATH . "/controllers/{$this->_config["pages"][$this->_path]["controller"]}.php") &&
           is_readable(ABS_PATH . "/controllers/{$this->_config["pages"][$this->_path]["controller"]}.php")) {
             require_once(ABS_PATH . "/controllers/{$this->_config["pages"][$this->_path]["controller"]}.php");
              $controller = "ExcellentCodeControllers" . $this->_config["pages"][$this->_path]["controller"];
              $controller = new $controller();
              $controller->renderTemplate($this->_config["pages"][$this->_path]["url"]);
             return;
           }

           include_once(ABS_PATH . "/pages/404.html");
           return;
        return;
      }
else {
        $page = (isset($this->_config["pages"][$this->_path]["url"]) ?
                  $this->_config["pages"][$this->_path]["url"] :
                  $this->_config["pages"][$this->_path]
                );

        if(file_exists(ABS_PATH . "/pages/{$page}") &&
           is_readable(ABS_PATH . "/pages/{$page}")
        ) {

          include_once(ABS_PATH . "/pages/{$page}");
          return;
        }
      }
    }

    include_once(ABS_PATH . "/pages/404.html");
    return;
  }
}


Codeblok (voorbeeld.php):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
/*
- controller class
dylan
*/


namespace ExcellentCode;

interface ControllerInterface {
  public function setModels();
}


abstract class Controller {
  public $models;

  final public function __construct() {
    if(method_exists($this, "__begin")) $this->__begin();
    $this->setModels();
  }


  final protected function set($key, $val) {
    $this->models[$key] = $val;
  }


  final public function renderTemplate($templateFile) {
      if(file_exists(ABS_PATH . "/pages/{$templateFile}") &&
         is_readable(ABS_PATH . "/pages/{$templateFile}")) {
        $content = file_get_contents(ABS_PATH . "/pages/{$templateFile}");
        foreach ($this->models as $key => $value) {
          $content = str_replace("{{".$key."}}", $value, $content);
        }


        echo $content;
      }
  }
}

Deel dit bericht


Link naar bericht
Delen op andere sites
Dylan (link):
Codeblok (voorbeeld.php):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
/*
  PageViewer
  - Dylan
*/

namespace ExcellentCode;

final class PageViewer {
  protected $_path, $_config;
  public function __construct($path = "404", $config) {
    if(count($config["pages"]) == 0) throw new Exception("No pages defined");
    $this->_path = $path;
    $this->_config = $config;
    $this->_lookUp();
  }


  protected function _lookUp() {
    if(isset($this->_config["pages"][$this->_path])) {
      if(is_array($this->_config["pages"][$this->_path]) &&
         isset($this->_config["pages"][$this->_path]["controller"]) &&
         isset($this->_config["pages"][$this->_path]["url"])) {
        if(file_exists(ABS_PATH . "/controllers/{$this->_config["pages"][$this->_path]["controller"]}.php") &&
           is_readable(ABS_PATH . "/controllers/{$this->_config["pages"][$this->_path]["controller"]}.php")) {
             require_once(ABS_PATH . "/controllers/{$this->_config["pages"][$this->_path]["controller"]}.php");
              $controller = "ExcellentCodeControllers" . $this->_config["pages"][$this->_path]["controller"];
              $controller = new $controller();
              $controller->renderTemplate($this->_config["pages"][$this->_path]["url"]);
             return;
           }

           include_once(ABS_PATH . "/pages/404.html");
           return;
        return;
      }
else {
        $page = (isset($this->_config["pages"][$this->_path]["url"]) ?
                  $this->_config["pages"][$this->_path]["url"] :
                  $this->_config["pages"][$this->_path]
                );

        if(file_exists(ABS_PATH . "/pages/{$page}") &&
           is_readable(ABS_PATH . "/pages/{$page}")
        ) {

          include_once(ABS_PATH . "/pages/{$page}");
          return;
        }
      }
    }

    include_once(ABS_PATH . "/pages/404.html");
    return;
  }
}


Codeblok (voorbeeld.php):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
/*
- controller class
dylan
*/


namespace ExcellentCode;

interface ControllerInterface {
  public function setModels();
}


abstract class Controller {
  public $models;

  final public function __construct() {
    if(method_exists($this, "__begin")) $this->__begin();
    $this->setModels();
  }


  final protected function set($key, $val) {
    $this->models[$key] = $val;
  }


  final public function renderTemplate($templateFile) {
      if(file_exists(ABS_PATH . "/pages/{$templateFile}") &&
         is_readable(ABS_PATH . "/pages/{$templateFile}")) {
        $content = file_get_contents(ABS_PATH . "/pages/{$templateFile}");
        foreach ($this->models as $key => $value) {
          $content = str_replace("{{".$key."}}", $value, $content);
        }


        echo $content;
      }
  }
}


smileysmileysmiley

Deel dit bericht


Link naar bericht
Delen op andere sites
Dylan (link):
Klik om de spoiler te openen


[c]namespace ExcellentCode;[/c] smiley

Deel dit bericht


Link naar bericht
Delen op andere sites
Wat bugfixes voor de nieuwe update voor Treinenweb die net online staat. Nu ook met live gegevens van rijdende treinen smiley

Deel dit bericht


Link naar bericht
Delen op andere sites
Gast
@Dylan

Config arrays in je class injecteren is een anti-pattern.

Deel dit bericht


Link naar bericht
Delen op andere sites
Gast
Dylan (link):
Raoul (link):
@Dylan

Config arrays in je class injecteren is een anti-pattern.


$GLOBAS dan?


Dat is nog slechter smiley Doe zoiets:
Codeblok:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php

interface PageRepository {
  public function getPage($name);
}


class FilePageRepository implements PageRepository {
  public function getPage($name) {
    return file_get_contents($name); // simplified
  }
}


class PageViewer {
  private $repo;

  public function __construct(PageRepository $repo) {
    $this->repo = $repo;
  }


  public function renderPage($page) {
    echo $this->repo->getPage($name);
  }
}


Je pageviewer support nu in één klap files, pages van een DB, ...!

Dit heet het repository pattern. En als je serieus OO gaat gebruiken, bekijk een aantal patterns.

Deel dit bericht


Link naar bericht
Delen op andere sites
Een Licensed hosting provider Teamspeak 3

Moet aleen nog kleine bug fixen maken en die testen :-)

- opgelost moest server query uithebben en ook slot edit log edit en file transfere.

Aangezien op vps dingen alle poorten openstaan. < beter ook voor die poorten ?

Deel dit bericht


Link naar bericht
Delen op andere sites
Ik heb de server structuur van mijn webapp http://anondraw.com helemaal aangepast zodat het nu op meerdere servers runt en dus kan scalen als er heel veel mensen op komen.

Dat zorgt ook voor een betere seperation of concerns (player server, realtime socket.io server en de loadbalancer zijn nu mooi apart).

Code staat op github: https://github.com/Squarific/drawtogether2/ voor de mensen die eens willen kijken hoe ik het doe.

Deel dit bericht


Link naar bericht
Delen op andere sites
Zitten stoeien met nginx, in plaats van dat ik dacht dat hij met sites-enabled en sites-available werkte, bleek dus volgens nginx.conf dat het gewoon een sub.domain.com.conf is smiley

Voortaan de configuratie checken ipv aannames doen... smiley

Deel dit bericht


Link naar bericht
Delen op andere sites
Jordyt (link):
Dylan (link):
om 15, 10 en 5 min:
Afbeelding

om 15, 10 en 5 min:
Afbeelding

mijn eerste c# project.. DONE



Dat is fijn, maar je hebt een klok toch? smiley


Ja maar zo hoef ik niet te onthouden waar ik les heb en wat de tijden ook alweer waren.

Deel dit bericht


Link naar bericht
Delen op andere sites
Dylan (link):
om 15, 10 en 5 min:
Afbeelding

om 15, 10 en 5 min:
Afbeelding

mijn eerste c# project.. DONE


Zoiets heb ik voor een VSA voor school ook gemaakt voor @Lennard voor het ticketsysteem. Maar dan wel geschreven in Java.
Was een leuk projectje. smiley
Geen idee of ik er screenshots van mag showen.

Deel dit bericht


Link naar bericht
Delen op andere sites
Rik (link):
Dylan (link):
om 15, 10 en 5 min:
Afbeelding

om 15, 10 en 5 min:
Afbeelding

mijn eerste c# project.. DONE


Zoiets heb ik voor een VSA voor school ook gemaakt voor @Lennard voor het ticketsysteem. Maar dan wel geschreven in Java.
Was een leuk projectje. smiley
Geen idee of ik er screenshots van mag showen.


Volgens mij heeft hij er zelf al eens screens van gepost.

Deel dit bericht


Link naar bericht
Delen op andere sites
Alemaalte (link):
Rik (link):
Dylan (link):
om 15, 10 en 5 min:
Afbeelding

om 15, 10 en 5 min:
Afbeelding

mijn eerste c# project.. DONE


Zoiets heb ik voor een VSA voor school ook gemaakt voor @Lennard voor het ticketsysteem. Maar dan wel geschreven in Java.
Was een leuk projectje. smiley
Geen idee of ik er screenshots van mag showen.


Volgens mij heeft hij er zelf al eens screens van gepost.


Lennard (link):
Je hebt van die windows-balonnetjes (ja geen ubuntu smiley), ik wil dat eigenlijk gaan inbouwen, dus dat je daar een melding krijgt als je een PM ofzo hebt.

Ik heb dat al voor tickets draaien, en dat is echt bere-handig:

Plaatje

Deel dit bericht


Link naar bericht
Delen op andere sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reageer op dit topic...

×   Geplakt als RTF formaat tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

Log in om dit te volgen  

×
×
  • Nieuwe aanmaken...