Jump to content

xylex

Members
  • Posts

    292
  • Joined

  • Last visited

Posts posted by xylex

  1. Just graduating college and going into the software field?  If so, I'd go sleek and slim for your personal laptop.  You're likely to end up with a big bulky powerhouse from work, always nice to have something more portable too.

  2. Yeah, MongoDB would work for this. Reason I'm suggesting it is that you're basically trying to do that with the earlier suggestions - get everything that looks like it could be a match (Map) - and then filter out just the ones that you want (Reduce). Doing it with just MySQL and PHP means that this process in single threaded/single instance orientated and won't scale well to huge datasets - might not be an issue in this specific use case, but if it's a learning project, might as well go big.

     

    Mongo runs a single thread per instance in its map/reduce handling, hence the idea to shard it across multiple instances.

  3. There isn't a one size fits all solution to performance and scalability, and only dealing with bottlenecks as they arise (like #3) can quickly add significant amounts time and expense. The biggest factor here is going to be finding someone with the experience and knowledge to anticipate where the bottlenecks for your specific requirements are most likely to show up and pre-addressing them in their architecture. There are plenty of best practices and methods used to scale and be performant, experience is going to be the factor in knowing which ones apply and should be implemented.

  4. I think you're referring to the Internet Garbage Collection (IGC) algorithm run by the various countries governments to periodically free up space on their countries Internet to make room for new pages. Countries like the US have lots of Internet and tune their algorithm differently than a small country like New Zealand, which has less room for Internets.

     

    For websites that retain old content, you need to apply for an IGC Meta tag to each of the country's governments that you want to retain the information. If your content is accepted for retention, you then add that key to an "igc:nodelete" header in your server response, this way you are ensured old content is retained for that country's Internets.

  5. Little different direction than some of the above suggestions, but was just at this presentation that was one of the better explanations of how to properly setup a REST service and what to put where -

     

    Longer talk, but the general idea is maximize the use of what HTTP offers and architect your protocol give you long term maintainability and backwards compatibility.

  6. I'm not sure that the regex matching for the presence of the terms is going to be very valuable. For example, if the listing refers to a URL that ends in /contact.php, that would match as well as one that specifies "looking for a developer with a strong PHP background."

     

    Any thoughts of using the Solr extension and Lucene to analyze for relevancy & tagging? Seems like this would be an ideal use case for that.

  7. One of the include files connects to the database using the method above and then there are mutliple lines lines of mysqli_query, mysql_fetch_assoc (30 plus lines of this). But none of these are surrounded by any logic so it would appear that everytime the include is called all of these statements are executed and all result sets retrieved.

     

     

    This is going to be a far bigger performance issue than any mysql/mysqli/pconnect issue. Why are there so many calls executed every time? Is this something that should be joining across tables and combining results? Are there queries in there that don't really need to pull from the db with every page load and could be cached?

  8. Easiest (but not the cheapest) way to do this is to hand it off to someone else.  Companies like translations.com offer services that will run a proxy in front of your website and serve a human translated version of it.  They basically use a scraper to get all of your site content, build out a human translated translation memory from that, and then dynamically do a search/replace of your content as it's served from their proxies.

     

    And if you are going to build something in PHP to do this, look at the built in gettext() library.  That's based off an industry standard so it's easy to find 3rd parties and tools to manage your translation bundles.

  9. Your primary complaint right now seems to be around not having a copy of the live db to work against.  It's actually pretty standard practice in a lot of industries not to give devs access to live data.  Between privacy concerns and legal reasons, as well as practicality with the size of some databases, it's pretty common for devs to work with a small set of test data and develop off of that.  If there is a problem with scalability in live, it's typically handled primarily by ops with feedback from engineering, but only a handful of very senior engineers would ever have access to live data.  Are you one of these senior engineers at your new position, or are there other people who handle these types of issues?

     

    That being said, there really isn't any reason you shouldn't be working against a current schema, so have you approached your boss about figuring out a way to deal with just that aspect?  Have you offered any suggestions to addresses your boss's concerns around data privacy issues?  Replicating something like Oracle's Data Masking might be a good approach here if you need something close to live data.

     

    Even if this new job isn't the best fit long term for you, you're describing a fairly large system that has had a lot of people working on it, so there's a ton for you to learn there.  Over your career, knowing how to implement organizational improvements is far more important than implementing anything technical, so it sounds like you have a great opportunity here to grow.

  10. Since most IDE's let you make rules for the checks you're doing (and come prepackaged with way more), why wouldn't your company just make a formatting definition file that everyone uses and let the IDE handle this stuff as they code?

  11. Get good at reading code you didn't write.  You'll never escape having to deal with it, so the faster you can read it and understand it, the more effective of a programmer you'll become.  Plus, you'll pickup a few ideas from other people's code.

     

    And good PHP coder's don't look to become good PHP coders.  They look to become good coders, and PHP just becomes a tool that they know how to use.

×
×
  • 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.