Jump to content

ignace

Moderators
  • Posts

    6,457
  • Joined

  • Last visited

  • Days Won

    26

Everything posted by ignace

  1. The company I work for didn't hire me because I can close/align my brackets correctly but because I can translate business needs into computer code in an efficient way using Algorithms, Design Patterns, and thorough tool knowledge (in everyday use and those available on the market). In short: they hired me for what I know not because they ran out of 5-year olds.
  2. http://php.opensourcecms.com/
  3. *HORROR* Did you tell them? If you have ways to make your work/the company more efficient you shouldn't hold back. I've never seen a manger that would back away from a proposal that would save the company a lot of money plus it shows your concerns for the company leading maybe towards a promotion Don't spend your valuable time on work. When I head home on Friday I leave it all behind even bright ideas that may pop-up in my mind while on the road home (my mind will keep the better ones and they'll get implemented Monday).
  4. I have heard of Moodle and others, installed it even I think to get a good grasp in e-Learning before writing my own. The project is in my drawer with some other ideas of mine... for 2 or more years now. Probably to see daylight when I have some time off In all fairness though I really think you should do some research see what else their's on the market both commercial and open-source always ask yourself: buy, download and extend or build? A few months back the company I work for decided to use a ticketing system as support started to get out of control. I submitted a few inquiries and browsed some open-source project our final choice landed on osTicket which did almost everything we wanted, 2 weeks worth of development time converted it to the product we needed. If I had built it myself that would have been 2 months of development time or the same amount of money to buy what we needed.
  5. Create views from this database that holds the ideal design and let future applications use these views temporarily (that's if your applications only reads data). Try to migrate as many as possible. Once most are migrated you can start normalizing (or further de-normalizing) your tables and replace the tables with the views. If you are in luck and your application uses something like a database abstraction layer, object-relational mapper, table gateways, .. it becomes quite easy to shift the underlying structure without having to re-write your entire application.
  6. Which version of filePro are you using? I've seen that filePro Plus 5.6 has ODBC support which is quite handy as that would make it possible for filePro to communicate with MySQL when you install the MySQL ODBC binaries.
  7. How can you tell programmers what to do if you suck at programming in the first place? Creating a successful/flexible system design is based upon your experiences as a programmer. The analyst should make it easier for programmers to implement and maintain not come up with something that only makes sense in the mind of an analyst.
  8. Do you have control over where the process that writes it to a text file? When you retrieve the data for what is it then used? Is it displayed to customers, serving millions? How many times does the data change?
  9. IMO it would be best to parse these documents once insert them into something like SQLite then whenever you need any data query SQLite instead of parsing on each request.
  10. Unlimited Domain means you can add an infinite amount of domains as long as you can keep paying for each of them For your other question I refer you to Webhost List
  11. LOL, no my native language is Dutch and you would laugh if you would ever hear me speak English
  12. I can write English but my vocabulary isn't so extensive that it contains words like regurgitate
  13. I don't see the benefit of using a separate table to hold the titles. At the most you could add a column that shows the full version and maybe even add a column for the description. But in all honesty I doubt you need this kind of NF. How you should design your database depends on how you are going to use it, a database in 5th NF that should serve a few million users a day is not really the right solution and will be quite costly instead 1st or 2nd should suffice.
  14. I think no one would understand what REGURGIDATE() would do... until they pass it through Google: Did you mean: Regurgitation (vomiting) Sorry to spill your little fun there
  15. SELECT usuarioID, username, fechafin FROM usr_usuarios WHERE week(fechafin) = week(now()) + 1
  16. Here's a basket filled with goodness class BuddyTableGateway { private $table = 'buddy'; private $database = null; function __construct(MySQLi $mysql) { .. } function insert($data) { .. } function update($data, $where) { .. } function delete($where) { .. } } class Buddy { private $id = 0; .. private $table = null; function __construct($data, TableGateway $table) { //$this->_init($data); $this->table = $table; } .. function save() { if($this->id == 0) { $this->id = $this->table->insert( array( .. ) ); } else { $this->table->update( array( .. ), 'id = ' . $this->id ); } } function equals(Buddy $buddy) { return $this->id == $buddy->id; // *MAGIC* } } class BuddyList implements Countable, IteratorAggregate { private $list = array(); private $count = 0; function add(Buddy $b) { $this->list[] = $b; ++$this->count; } function remove(Buddy $b) { for($i = 0, $found = false; $i < $this->count() && !$found; ++$i) { if($this->list[$i]->equals($b)) { unset($this->list[$i]); --$this->count; $found = true; } } return $found; } function count() { return $this->count; } function getIterator() { return new ArrayIterator($this->list); } }
  17. function getDate($format = 'l, jS F, Y', $offset = null) { return date($format, $offset == null ? time() : $offset); } echo getDate(), "<br>\r\n", getDate('l, jS F, Y', $_GET['thetime']);
  18. If you want to call it like: User::GetFriends(1); Then you should add static to your function declaration: static function GetFriends(.. But IMO it doesn't make any sense because User is a representation of the actual user on your system and it would make more sense to write something like: $User->GetFriends(); Which would return a FriendList (or UserList)
  19. class CertifiedAds { function getAd($id = null) { $result = $id === null ? mysql_query('SELECT * FROM ads') : mysql_query('SELECT * FROM ads WHERE id = ..'); if($result && mysql_num_rows($result)) { while($row = mysql_fetch_assoc($result)) { //.. } } return .. } }
  20. Yes and that education would be: 1) use the popular browser supported incognito mode 2) or History > Browse History > Search: by domain name and delete all instances 3) or as a last resort remove all history That's the order you should follow, the last one is the only most noticeable.
  21. Instead of rolling your own you could take a look at Zend_Config which does what you need and is flexible enough to change to whatever your needs.
  22. Kohana, Yii, Symfony, Solar, Fuse, Akelos, .. (all PHP5) I have already used Zend framework, CakePHP, and CodeIgniter and I am currently digging into the above frameworks. 22 Open-Source PHP Frameworks
  23. I am all for intelligent classes (instead of just dumb objects littered with get and set) as these are easier to maintain and keep your design simple/focused. You can't unit-test private methods. Your unit-test is also completely obsolete if the meat of your class is within private methods. You find the same problem with IF-structures these - although basic structures - make for multiple execution paths and thus a lower code coverage, the lower your coverage the more useless is your unit-test. More on this in "What We Don't Need in OOP" by Giorgio Sironi (an extreme example with lots of answers) -- I also recommend you read his other articles.
  24. Not format the query result (although possible) merely: 1) maintaining a healthy client contract (and not violating the encapsulation part of OO, ie the client doesn't need to know you work with array's), 2) make your design understandable (UserList says more then array), 3) make your design easier to change (you can't add a method to array).
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.