Jump to content

xylex

Members
  • Posts

    292
  • Joined

  • Last visited

Everything posted by xylex

  1. You're looking for setting up "Geo DNS" - Google that and it will have the info you're looking for. My preference is to use AWS's Route53 for this, good tutorial at http://www.cyberciti.biz/cloud-computing/aws/route-53-geodns-tutorial/
  2. 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.
  3. Earthenware- that error is related to too many local sockets being opened up in the same port range. If this is something you're seeing normally under your traffic patterns, you might want to consider using persistent connections so that you're not constantly spinning up new sockets. http://www.php.net/manual/en/mysqli.persistconns.php
  4. 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.
  5. This sounds like a problem for map-reduce across a few shards. Any reason you're picking MySQL?
  6. Barracuda's e-mail security service might be what you're looking for. Depending on your size you can buy it from them or buy a fractional license from a reseller.
  7. PHP requires you to be explicit. That's not necessarily a bad thing. For example, if you can import wildcard namespaces: namespace A{ class Foo{ public function bar(){ echo "A"; } } } namespace B{ class Foo{ public function bar(){ echo "B"; } } } namespace C{ use \A; use \B; $a = new Foo(); $a->bar(); } What's echoed?
  8. One of the nice things with how Twig integrates with Symfony is that it makes it really easy to do edge side includes (ESI). If you can leverage that for performance, getting stuff cached before your server will obviously blow away any benchmark.
  9. 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.
  10. Have you read Fowler's Refactoring book? That provides a bit of a framework for tackling these types of issues in a safe and iterative manner.
  11. 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.
  12. 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.
  13. Premiso- Just noticed the beer. You from the NW?
  14. 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.
  15. I've always thought the beer@work thing was to try to keep everyone coding at the Ballmer Peak.
  16. 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?
  17. Home: I'm a bit of a minimalist at work, so my office has my laptop & monitor on the desk, a mostly empty file cabinet, and like 4 books on the bookshelf. And I'm a big fan of good seating, so Mirra at home and Aeron at the office.
  18. wrong topic
  19. Who said that desktops aren't mobile? http://zedomax.com/blog/2010/12/23/the-scooterputer-transportable-pc/
  20. Weird, I heard that almost that same response when I asked my interview candidate "What motivates you?"
  21. 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.
  22. 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.
  23. 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?
  24. 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.
  25. Inclued is a good one to use for getting started in a project like that. Beyond that, it's just digging in with the IDE of your choice.
×
×
  • 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.