Tag Info

Hot answers tagged

56

I used to develop on the production server. It can work fine, but it is inadvisable for at least two reasons: Development code can cause infinite loops, memory leaks, or other problems that lock up the CPU, eat up all the memory, or otherwise affect the server in a way that will impact your production code. If you need to make changes to components of the ...


29

How about making a cronjob, assuming you have shell access? The cron daemon exists on virtually any UNIX-like system and schedules commands to run based on a description in a file called the crontab. Each line of the file contains a set of fields to indicate the timepoints when a command shall be executed. Your task could be either a standalone program ...


29

As others have stated, coding on the PROD environment exposes your users to your bugs. Even if you've started a different instance, you've still got shared hardware resources and can still access production files and databases. And as some of the comments point out, if your Dev instance gets hacked (for example, because you forget to wipe it and someone then ...


23

In general, the Apache HTTP server is just a plain old web server designed to serve static web pages. There are plenty of modules which can be installed to enhance Apache's abilities so that it can serve dynamic webpages using various technologies such as PHP, CGI or whatever, but the core of Apache is just a plain old HTTP server. Tomcat, on the other ...


22

From the GPL FAQ (but the advice is applicable to all licenses): Why does the GPL require including a copy of the GPL with every copy of the program? Including a copy of the license with the work is vital so that everyone who gets a copy of the program can know what his rights are. It might be tempting to include a URL that refers to the ...


18

It's a lot more complex because: it's older, it's got a larger of feature-set (Feature Set Comparison), it's modular, it's got a wider platform support (OS Support Comparison), it's got multiple modes of operation (multi-process, multi-thread, etc...). But also: It's more actively developed (Status Comparison. As of today 2011-05-28, Apache httpd has ...


18

With Django on AWS, I'd look into Celery. Celery adds asynchronous tasks and includes a scheduler, and on AWS you can configure Celery to use the Amazon Simple Queue Service as the broker (see Celery with Amazon SQS on Stack Overflow and this blog post on the subject). You set up a Celery periodic task schedule and it'll run a configured task according to ...


15

The calm approach that you suggest would be best. Pointing out that when this data gets exposed, most of your users will be vulnerable to identity theft due to password reuse. This would be a pretty good time to point out that this is the same issue that affected Target (assuming that the company isn't Target). And your manager should be pretty receptive ...


12

Optimization - general term meaning any of the following: Compression - fewer bytes through algorithmic means Minification - fewer bytes by using shorter syntax with the same meaning Tidying - removing code that doesn't do anything and removing redundant code Concatenation - delivering all the data in one request rather than multiple requests


11

Short Answer: You would definitely have less headaches with a single database. Otherwise, you may end-up with record synchronization issues, as well as with record duplicates, in all local databases that you might use. What would you need is just to create a DAL (data access layer) and make your client applications (desktop, wen, mobile, etc) access your ...


11

I did try to set up an development environment locally, but I could never get it running. After trying for a while, I gave up and decided to develop on the production server. I DO support the statements to AVOID development on a production server. You may only be justified to do under the GUN, if it is a typo correction in config file and insisted by ...


10

This is really a protocol issue. Generally, this is not something that you would want to be doing. You want to leave production machines alone. They may contain sensitive data, and you don't want to compromise the performance or stability of production sites with non-production ready code. That said, there are times where this is commonly done. If you ...


9

The code moderator cannot retroactively force a new license on you for the original code that was written under the original license.


8

Another important reason not to develop directly in production is that a development instance will usually produce and show verbose errors and stack traces. You never want to expose that to the user. Yes, you can log them instead of showing them to the client, but that makes debugging that much less amusing than it already is. Added Addressing your ...


8

I always try and ask other developers what the procedures are for the particular company. In general yes, you should always: Build locally. Push it to some type of box that mimics production as much as possible to see if it plays nice there. Possibly push it to a QA or certification instance to pass to the client/QA team to review the changes. Push to ...


8

I'm quite astonished no one mentioned the most important reason yet, why it's absolutely forbidden to develop on production servers: Don't mess with production data, which can happen oh so easily! A tiny error in one place leads to gigantic troubles in other calculations and then, on the next day, all the data is garbage and the customer is pissed. This is ...


7

First of all: You shouldn't lie your "costumers". If only donators can use all features, its not a donation, its a regular payment. LGPL stricly allows to be used in non-free applications, Apache License I don't know. At least you should clear the API license. Just to say "Its open source" doesn't tell you, what you are allowed to do with it. Mail the ...


7

Short answer: Yes. The Apache Software License was based in large part on BSD and MIT style licenses. The common understanding while I was working on Apache code a while back was that you could incorporate BSD, MIT, and similar licensed libraries but you could not do the same for GPL based licenses. If you have further questions, I highly recommend going ...


6

The short answer is that if you use open source software in your project, you must satisfy all the requirements laid out in that license. Neither BSD nor Apache 2.0 is a "viral" license, meaning AFAIK it makes no demands on the other source code you include it with. That also means that unlike GPL, you aren't releasing a "product" under a BSD or Apache ...


6

You've indidcated this is your dev environment, so beyond Daenyth's suggestion of using source control (which you should definitely do) I'd suggest doing a little indirection. In other words, simply use a symbolic link from /var/www to a working directory that you have permission to work in. Then you can mess around in your working directory as needed ...


6

Since your AWS instance runs Linux, you can probably accomplish this as a cron job. You could take what I would term Drupal's cron approach which, in the case of Django, involves creating a controller to respond to a URL and then perform the action you want. You then configure a cron task to curl the controller's URL, triggering your script. This has the ...


5

You should start by reading the following documents: RFC 2616 (HTTP/1.1), RFC 793 (TCP), RFC 791 (IP), and RFC 826 (ARP). All of the above RFCs are available via the w3.org web site. Douglas Comer's book is also a good reference.


5

But today, we're living in the cloud age. Why can't I, for instance, simply host the full license at my website, and include the title + URL of that license in the header of my source files? There do exist licenses that permit that. Apache 2.0, for example. Apache 2.0 requires only that each source file contain a small header that points to the Apache ...


4

Harmony is Apache's clean room version of J2SE without the patent liability issues and a friendly open source license. The truth of the matter is that a significant percentage of the current J2SE stack is Apache code. This includes the XML parser (Apache Xerces) and XSLT engine (Apache Xalan), just put in a different package. However, there are a number ...


4

They are XML files that describe how to build and package software (usually Java software). Ant files are used by the Ant tool, which provides more flexible, free-form builds. An Ant build file is much like a program in its own right (only encoded as verbose XML). POM files are used by Maven, which has a different philosophy and imposes more structure. ...


4

As far as I'm concerned, versioning can be used for anything. I'm comfortable with SVN. It's preferable to work in separated environments (development / production). There's a wide range of tools for software management. You could check some bug trackers (BlueBug, VersionOne, Trac, etc.), todo-lists (ToDoList, todo.ly, etc.), you name it.


4

As far as why LAMP has a bigger mindshare (if not market share) than WAMP: probably because the LAMP components don't have licensing costs. That makes getting started cheaper. Cheap Linux hosting has to be cheaper than cheap Windows hosting just for that reason alone. The free/libre nature of LAMP makes it possible to just try it out for free. From there, ...


4

Yes it is possible. And may I also add that it should be for easier maintenance and modifications. As I read you specs, it is very likely to develop using a single database, since you are using MySQL and light and easy to start. No you can not claim that MySQL is for only web application. Many applications are there of product and tool domain which are ...


4

It really depends on the audience in which you are trying to approach with this. I have worked in companies with severe security issues like you are stating yet they refused to hear it until I showed it to them. One approach, if feasible, is to put together basically what you are intending to do as will as itemizing what has already possibly happened in ...


3

I see that the full text of the O'Reilley book Web Client Programming in Perl is online, now that the book is out of print. Chapter 3 of that book is what really taught me, in as simple language as possible, what's going on under the covers of an HTTP request. Not a word of perl on that page, so don't worry about that, and it starts high-level and drills ...



Only top voted, non community-wiki answers of a minimum length are eligible